File Carving—Grundlagen und neue Techniken. - DFN-CERT · PDF...
Transcript of File Carving—Grundlagen und neue Techniken. - DFN-CERT · PDF...
15. DFN-CERT Workshop
Sicherheit in vernetzten Systemen
File Carving — Grundlagen und neue Techniken.
Andreas Schuster
Deutsche Telekom AG
Carving – Grundlagen und neue TechnikenAndreas Schuster
13. Februar 2007, Seite 2
15. DFN-CERT Workshop
Sicherheit in vernetzten Systemen
File Carving — Grundlagen und neue Techniken.Agenda.
1. Einleitung
2. Probleme2.1 Eingebettete Dateien2.2 Fragmentierung2.3 Ressourcenverbrauch
3. Neue Techniken3.1 Zero Space Carving3.2 Gleitende Entropie3.3 Stützstellen in Dateiformaten
4. Zusammenfassung und Empfehlungen
5. Fragen & Antworten
Carving – Grundlagen und neue TechnikenAndreas Schuster
13. Februar 2007, Seite 3
15. DFN-CERT Workshop
Sicherheit in vernetzten Systemen
Einleitung.Einsatzszenarien.
� Alltag: Opas 70.Geburtstag. Nach Entnahme der Speicherkarte aus
der Digitalkamera ist diese leer.
� Digitale Forensik: Rekonstruktion gelöschter Dateien ist fester
Verarbeitungsschritt zwischen Datensicherung und Auswertung.
Carving – Grundlagen und neue TechnikenAndreas Schuster
13. Februar 2007, Seite 4
15. DFN-CERT Workshop
Sicherheit in vernetzten Systemen
Einleitung.Wie wird eine Datei gelöscht?
� Datei := Nutzdaten + Metadaten
� NTFS: 8 Schritte, u.a.
� Eintrag im Verzeichnis löschen
� Eintrag in Master File Table als „unbenutzt“
markieren
� Cluster der Datei als „nicht zugeordnet“
markieren
� Details bei Brian Carrier „File System Forensic
Analysis“
Carving – Grundlagen und neue TechnikenAndreas Schuster
13. Februar 2007, Seite 5
15. DFN-CERT Workshop
Sicherheit in vernetzten Systemen
Einleitung.Rekonstruktion bei vorhandenen Metadaten.
� für eine gewisse, jedoch unbestimmte Zeit gilt:
� (fast) alle Metadaten sind verfügbar
� Nutzdaten sind verfügbar
� Rekonstruktion:
� Metadaten nennen Beginn und Länge der Datei
� Verkettung der Zuordnungseinheiten beachten
� Daten auf anderes auf anderes auf anderes auf anderes VolumeVolumeVolumeVolume übertragen
� ggf. Dateinamen ergänzen
Carving – Grundlagen und neue TechnikenAndreas Schuster
13. Februar 2007, Seite 6
15. DFN-CERT Workshop
Sicherheit in vernetzten Systemen
Einleitung.Rekonstruktion in Abwesenheit der Metadaten.
Erkennung des Dateianfangs
� über Signatur
� meist genügt es, den Beginn einer Zuordnungseinheit zu betrachten!
� Quelle für Signaturen: magic(5) für file(1)
Carving – Grundlagen und neue TechnikenAndreas Schuster
13. Februar 2007, Seite 7
15. DFN-CERT Workshop
Sicherheit in vernetzten Systemen
Einleitung.Rekonstruktion in Abwesenheit der Metadaten.
Erkennung des Dateiendes
� über Signatur des Dateiendes
� über Länge aus dem Dateikopf
� über Signatur eines neuen Dateianfangs
� benutzerdefinierte Maximallänge ist erreicht
� Ende des Datenstroms ist erreicht
Carving – Grundlagen und neue TechnikenAndreas Schuster
13. Februar 2007, Seite 8
15. DFN-CERT Workshop
Sicherheit in vernetzten Systemen
Offset in Zieldatei
Offset in Datenstrom
Dateilänge
Einleitung.Abbildung zwischen Datenstrom und rekonstruierter Datei.
m = 1
Michael Cohen (2007):
Mapping Function bildet
Zieldatei auf Datenstrom ab.
Das Problem des Carvings
besteht in der Bestimmung der
Funktion.
Carving – Grundlagen und neue TechnikenAndreas Schuster
13. Februar 2007, Seite 10
15. DFN-CERT Workshop
Sicherheit in vernetzten Systemen
Probleme.Eingebettete Dateien.
Carving – Grundlagen und neue TechnikenAndreas Schuster
13. Februar 2007, Seite 11
15. DFN-CERT Workshop
Sicherheit in vernetzten Systemen
Offset in Zieldatei
Offset in Datenstrom
Probleme.Eingebettete Dateien.
In ein Microsoft Word-Dokument
ist ein Foto (JPEG) eingebettet.
MS WordMS WordMS WordMS Word----DokumentDokumentDokumentDokument
Foto (JPEG)Foto (JPEG)Foto (JPEG)Foto (JPEG)
Carving – Grundlagen und neue TechnikenAndreas Schuster
13. Februar 2007, Seite 12
15. DFN-CERT Workshop
Sicherheit in vernetzten Systemen
Offset in Zieldatei
Offset in Datenstrom
Probleme.Eingebettete Dateien.
Der erste Teil des Word-
Dokuments wird rekonstruiert, ist
aber nicht verarbeitbar.
Der Carver rekonstruiert nur das
eingebettete Foto.
Der zweite Teil wird gar nicht
erkannt.
Carving – Grundlagen und neue TechnikenAndreas Schuster
13. Februar 2007, Seite 13
15. DFN-CERT Workshop
Sicherheit in vernetzten Systemen
Offset in Zieldatei
Offset in Datenstrom
Probleme.Fragmentierte Dateien.
Bei Fragmentierung der Zieldatei
ist die Mapping Function
unstetig.
Resultat:
� Einschluss
unerwünschter Daten
� Auslassung
erwünschter Daten
1111
2222
3333
Carving – Grundlagen und neue TechnikenAndreas Schuster
13. Februar 2007, Seite 14
15. DFN-CERT Workshop
Sicherheit in vernetzten Systemen
Probleme.Ressourcenbedarf.
Fragmentierung und eingebettete Dateien führen zu:
� fälschlich erkannten Dateien
� unvollständigen Dateien
Daten werden unnötig aus dem Datenstrom in Zieldateien kopiert, mitunter
mehrfach. Folgen:
� unnötig hoher Speicherbedarf!
� unnötig hoher Zeitbedarf. Schreibzugriffe sind langsam!
� … und noch mehr Zeit für Sichtung und Aussonderung der
unbrauchbaren Dateien.
Carving – Grundlagen und neue TechnikenAndreas Schuster
13. Februar 2007, Seite 16
15. DFN-CERT Workshop
Sicherheit in vernetzten Systemen
Neue Techniken.Zero Space Carving : Idee.
auch bekannt als In-line carving, in-place carving.
Idee: unnötige Schreiboperationen vermeiden
� Carver liefert nur die Koordinaten im Datenstrom,
kopiert aber nicht mehr die Daten in die Zieldatei
� ein virtuelles Dateisystem (VFS) macht die rekonstruierte Datei bei
Bedarf sichtbar
nur Lesezugriff + Overhead für Positionsberechnungen des VFS
� Validierung
� Kopie (Schreibzugriff) erst im Erfolgsfall
Carving – Grundlagen und neue TechnikenAndreas Schuster
13. Februar 2007, Seite 17
15. DFN-CERT Workshop
Sicherheit in vernetzten Systemen
Neue Techniken.Zero Space Carving: Voraussetzungen.
Benötigt werden:
� Linux
� FUSE (Filesystem im Userland)
http://fuse.sourceforge.net/
� libCarvPath und CarvFS
http://ocfa.sourceforge.net/
� Scalpel
http://www.digitalforensicssolutions.com/Scalpel/
Carving – Grundlagen und neue TechnikenAndreas Schuster
13. Februar 2007, Seite 18
15. DFN-CERT Workshop
Sicherheit in vernetzten Systemen
Neue Techniken.Zero Space Carving: Beispiel (1).
Verkürzte Darstellung von http://chirashi.zensay.com/?p=7
Forensische Kopie mounten:
# carvfs /mnt/carvfs/ ewf usbdisk.E01/mnt/carvfs//f183a8e2b50834552f9302b08251d4db
Carving – Grundlagen und neue TechnikenAndreas Schuster
13. Februar 2007, Seite 19
15. DFN-CERT Workshop
Sicherheit in vernetzten Systemen
Neue Techniken.Zero Space Carving: Beispiel (2).
Inhalt des Dateisystems:
cd /mnt/carvfs/f183a8e2b50834552f9302b08251d4db/
# ls -alrt
total 63616
-rw-rw-rw- 1 root root 2545 1970-01-01 04:00 README
-rw------- 1 root root 85 1970-01-01 04:00 ocfa.missin g
-r--r--r-- 1 root root 65135616 1970-01-01 04:00 CarvF S.crv
d--x--x--x 3 root root 0 1970-01-01 04:00 CarvFS
drwxr-xr-x 3 root root 0 1970-01-01 04:00 .
drwxr-xr-x 3 root root 4096 2007-06-19 13:28 ..
Carving – Grundlagen und neue TechnikenAndreas Schuster
13. Februar 2007, Seite 20
15. DFN-CERT Workshop
Sicherheit in vernetzten Systemen
Neue Techniken.Zero Space Carving: Beispiel (3).
# scalpel -p -c ./scalpel.conf \/mnt/carvfs/f183a8e2b50834552f9302b08251d4db/CarvFS .crv
Image file pass 1/2.
Work queues allocation complete. Building carve lis ts...
Carve lists built. Workload:
gif with header "\x47\x49\x46\x38\x39\x61" and foot er "\x00\x3b" --> 146 files
jpg with header "\xff\xd8\xff\xe0\x00\x10" and foot er "\xff\xd9" --> 22 files
** PREVIEW MODE: GENERATING AUDIT LOG ONLY **
** NO CARVED FILES WILL BE WRITTEN **
Carving files from image.
Image file pass 2/2.
Scalpel is done, files carved = 168, elapsed = 3 se conds.
Carving – Grundlagen und neue TechnikenAndreas Schuster
13. Februar 2007, Seite 21
15. DFN-CERT Workshop
Sicherheit in vernetzten Systemen
Neue Techniken.Zero Space Carving: Beispiel (4).
Gefundene Dateien zugänglich machen:
# scalpelcp ./scalpel-output/ \
/mnt/carvfs/f183a8e2b50834552f9302b08251d4db/CarvFS /
Target=/mnt/carvfs/f183a8e2b50834552f9302b08251d4db /CarvFS
symlinked 168 filenames to zero-storage carvpaths
Carving – Grundlagen und neue TechnikenAndreas Schuster
13. Februar 2007, Seite 22
15. DFN-CERT Workshop
Sicherheit in vernetzten Systemen
Neue Techniken.Zero Space Carving: Beispiel (5).
Die Dateien sind nur Symlinks in das CarvFS:
# ls -alrt 00000003.gif
lrwxrwxrwx 1 root root 67 2007-06-19 13:44 00000003.gi f -> /mnt/carvfs/f183a8e2b50834552f9302b08251d4db/CarvFS /1206784:269.crv
Carving – Grundlagen und neue TechnikenAndreas Schuster
13. Februar 2007, Seite 23
15. DFN-CERT Workshop
Sicherheit in vernetzten Systemen
Neue Techniken.Gleitende Entropie: Idee.
Jayson Smith, Klayton Monroe und Andy Bair,
1. Preis in der DFRWS File Carving Challenge 2006.
Idee:
� Fragmentierung führt zu Einschlüssen in rekonstruierter Datei
� Erwünschte und unerwünschte Daten haben per Annahme
unterschiedliche Informationsdichte
� Gleitende Berechnung der Entropie verrät den Einschluss
Carving – Grundlagen und neue TechnikenAndreas Schuster
13. Februar 2007, Seite 24
15. DFN-CERT Workshop
Sicherheit in vernetzten Systemen
Neue Techniken.Gleitende Entropie: Beispiel (1).
Carving – Grundlagen und neue TechnikenAndreas Schuster
13. Februar 2007, Seite 25
15. DFN-CERT Workshop
Sicherheit in vernetzten Systemen
Neue Techniken.Gleitende Entropie: Beispiel (2).
Entropie
Carving – Grundlagen und neue TechnikenAndreas Schuster
13. Februar 2007, Seite 26
15. DFN-CERT Workshop
Sicherheit in vernetzten Systemen
Neue Techniken.Gleitende Entropie: Beispiel (3).
Entropie
�
Carving – Grundlagen und neue TechnikenAndreas Schuster
13. Februar 2007, Seite 27
15. DFN-CERT Workshop
Sicherheit in vernetzten Systemen
Neue Techniken.Gleitende Entropie: Beispiel (4).
Carving – Grundlagen und neue TechnikenAndreas Schuster
13. Februar 2007, Seite 28
15. DFN-CERT Workshop
Sicherheit in vernetzten Systemen
Neue Techniken.Stützstellen in Dateiformaten (1).
Michael Cohen
1. Preis in der DFRWS File Carving Challenge 2007.
Idee:
� Ableitung zusätzlicher Stützstellen der Mapping Function aus dem
Dateiformat
� auf Dateisystem abgestimmtes Fragmentierungsmodell
Carving – Grundlagen und neue TechnikenAndreas Schuster
13. Februar 2007, Seite 29
15. DFN-CERT Workshop
Sicherheit in vernetzten Systemen
Offset in Zieldatei
Offset in Datenstrom
Neue Techniken.Stützstellen in Dateiformaten (2).
Ausgangslage: Schaar möglicher
Mapping Functions
Gewinnung von
Randbedingungen aus dem
rekonstruierten Teil und ggf.
weiteren Fragmenten.
++++
Carving – Grundlagen und neue TechnikenAndreas Schuster
13. Februar 2007, Seite 30
15. DFN-CERT Workshop
Sicherheit in vernetzten Systemen
Offset in Zieldatei
Offset in Datenstrom
Neue Techniken.Stützstellen in Dateiformaten (3).
Aus den Randbedingungen
ergibt sich eine eindeutige
Lösung.
++++
Carving – Grundlagen und neue TechnikenAndreas Schuster
13. Februar 2007, Seite 31
15. DFN-CERT Workshop
Sicherheit in vernetzten Systemen
Neue Techniken.Stützstellen in Dateiformaten (4).
Beispiel: Adobe Portable Document Format (PDF)
Datei besteht aus Objekten:
objectnumber generation obj
Die Datei enthält Verweise, die den Offset der Objekte angeben:xref0 2260000000000 65535 f 0001038669 00000 n 0000000019 00000 n
Carving – Grundlagen und neue TechnikenAndreas Schuster
13. Februar 2007, Seite 32
15. DFN-CERT Workshop
Sicherheit in vernetzten Systemen
Neue Techniken.Stützstellen in Dateiformaten (5).
Fragmentierungsmodell:
� Datei beginnt mit Zuordnungseinheit
� Dateisystem komprimiert nicht
� Größe der Zuordnungseinheit sei 4096 Bytes
Randbedingung:
� an Offset 1038669 muss sich Objekt Nr. 1 befinden, also die Zeichenfolge 1 … obj
Suche nach allen als frei markierten Zuordnungseinheiten,
die an Offset 2381 (1038669 modulo 4096) diese Zeichenfolge enthalten.
Carving – Grundlagen und neue TechnikenAndreas Schuster
13. Februar 2007, Seite 33
15. DFN-CERT Workshop
Sicherheit in vernetzten Systemen
Neue Techniken.Stützstellen in Dateiformaten (6).
Carving – Grundlagen und neue TechnikenAndreas Schuster
13. Februar 2007, Seite 35
15. DFN-CERT Workshop
Sicherheit in vernetzten Systemen
Zusammenfassung.Ausblick.
� Carver der nächsten Generation werden:
� weniger Speicherplatz benötigen
� weniger IO-Zeit benötigen
� sich auf Dateiformate spezialisieren
� Aber: zunächst werden nur populäre Dateiformate unterstützt werden!
Carving – Grundlagen und neue TechnikenAndreas Schuster
13. Februar 2007, Seite 36
15. DFN-CERT Workshop
Sicherheit in vernetzten Systemen
Zusammenfassung.Empfehlungen.
� Prävention:
� Speicherkarten vor neuer Verwendung vollständig löschen
bzw. formatieren
� Festplatten bedarfsweise defragmentieren
� Carver (-module) für den Individuellen Bedarf schreiben?
� Spezifikation eigener Datenformate:
� Blockgröße an typischen Clustergrößen ausrichten
� Blockheader mit Ordnungsummer, Timecode etc.
Carving – Grundlagen und neue TechnikenAndreas Schuster
13. Februar 2007, Seite 37
15. DFN-CERT Workshop
Sicherheit in vernetzten Systemen
Zusammenfassung.Empfehlungen.
� solide Carver mit einigen innovativen Ansätzen:
� scalpel
http://www.digitalforensicssolutions.com/Scalpel/
� foremost
http://foremost.sourceforge.net/
� eher innovative Verfahren: Einsendungen zum DFRWS:
� http://www.dfrws.org/2006/challenge/
� http://www.dfrws.org/2007/challenge/
� weitere Informationen: http://computer.forensikblog.de/
15. DFN-CERT Workshop
Sicherheit in vernetzten Systemen
Vielen Dank für Ihre Aufmerksamkeit!
Andreas Schuster
Deutsche Telekom AG