Computerforensik Wintersemester 2010/2011 Harald Baier Kapitel 4: Dateisystemanalyse
Inhalt Allgemeines zu Dateisystemen Das Referenzmodell von Carrier Datenkategorien Analyse dieser Datenkategorien Harald Baier Computerforensik h_da WS 2010/2011 2
Inhalt Allgemeines zu Dateisystemen Das Referenzmodell von Carrier Datenkategorien Analyse dieser Datenkategorien Harald Baier Computerforensik h_da WS 2010/2011 3
Grundlagen von Dateisystemen (1/2) Generelles Ziel: Organisation der Daten in Hierarchie aus Verzeichnissen und Dateien Unterteilung der Daten in Benutzerdaten (Payload) Strukturdaten (Verwaltung der Benutzerdaten) Dateisysteme sind oft unabhängig von Hardware oder Betriebssystem Windows auf FAT oder NTFS Linux auf FAT, ext2/ext3/ext4, ReiserFS Harald Baier Computerforensik h_da WS 2010/2011 4
Grundlagen von Dateisystemen (2/2) Kenntnisse über Dateisysteme ermöglichen Zugriff auf Daten (Struktur- und Nutzerdaten) Rekonstruktion von Vorgängen auf dem Dateisystem Ohne Hilfe des eigentlichen Betriebssystems Interpretation der Inhalte von Nutzerdaten liegt Abstraktionsstufe höher Muss mit speziellen Anwendungstools untersucht werden Nicht Gegenstand der Dateisystemanalyse Harald Baier Computerforensik h_da WS 2010/2011 5
Zur Mehrdeutigkeit des Begriffs 'Block' Datenträgerblock: Kleinste adressierbare Einheit auf Datenträger Angelegt bei Low-Level-Formatierung Typische Größe: 512 Byte Viele Autoren / Programme sprechen von Sektor Dateisystemblock: Kleinste adressierbare Einheit über das Dateisystem Angelegt bei Dateisystem-Formatierung Typische Größen: 1024 Byte, 2048 Byte, 4096 Byte In dieser Vorlesung: FS-Block Windows-Notation: Cluster Harald Baier Computerforensik h_da WS 2010/2011 6
Mehrdeutigkeit des Begriffs 'Adresse' Logische Partitionsadresse / Laufwerksadresse: Adresse (LBA) des Datenträgerblocks relativ zum Anfang der Partition Einheit: Datenträgerblock / Sektor Logische Dateisystemadresse: Adresse des FS-Blocks relativ zum Anfang des Dateisystems Einheit: FS-Block / Cluster Logische Dateiadresse: Adresse des Datenblocks relativ zum Anfang der Datei Einheit: FS-Block / Cluster Harald Baier Computerforensik h_da WS 2010/2011 7
Inhalt Allgemeines zu Dateisystemen Das Referenzmodell von Carrier Datenkategorien Analyse dieser Datenkategorien Harald Baier Computerforensik h_da WS 2010/2011 8
Abstraktes Referenzmodell für Dateisysteme Fünf Kategorien von Daten: Dateisystemdaten Inhaltsdaten Metadaten Dateiname Anwendungsdaten des Dateisystems Vorteil: Vereinfacht Vergleich von Dateisystemen Ermöglicht abstrakte Vorgehensbeschreibung für Analyse Nachteil: Referenzmodell passt nicht immer Harald Baier Computerforensik h_da WS 2010/2011 9
Dateisystemdaten Dateisystemdaten liefern allgemeine Informationen über die Organisation des Dateisystems Typische Angaben: Wie groß ist ein Dateisystemblock für Inhaltsdaten? Wie groß ist das Dateisystem? Welche Datenblöcke sind belegt? Wo finden sich weitere Informationen über das Dateisystem? Dateisystemdaten (oder zumindest ein Teil davon) befinden sich am 'Anfang' des Dateisystems (Bootsektor und gglfs. ein paar weitere HDD-Blöcke) Harald Baier Computerforensik h_da WS 2010/2011 10
Inhaltsdaten Inhaltsdaten speichern Inhalte der Dateien Typischerweise größter Anteil der Daten Gespeichert in FS-Blöcken: Nicht zu verwechseln mit einem Festplattenblock aus Low-Level-Formatierung In Windows Cluster, in Linux UNIX Block genannt Brian Carrier: Data Unit FS-Blöcke der Inhaltsdaten sind alloziert oder nicht. Harald Baier Computerforensik h_da WS 2010/2011 11
Metadaten Metadaten = Daten über Daten Meta = Über, hinter, neben Typische Informationen: Speicherort der Inhaltsdaten (Unterschiedliche Strategien) Größe der Datei MAC-Zeitstempel Letzte Änderung Modified M Letzter lesender Zugriff Accessed A Löschung / Erstellung Created C Beispiele: Inodes in UNIX, FAT-Verzeichniseinträge Harald Baier Computerforensik h_da WS 2010/2011 12
Dateiname und Anwendungsdaten Dateiname: Stellt typischerweise Verbindung zwischen externem Namen (für den Anwender) und internem Namen (z.b. Inode) her Meist in Verzeichnisdatei gespeichert Analogie: URL <--> IP-Adresse Anwendungsdaten des Dateisystems: Nicht benötigt für Kern-Funktionalität des Dateisystems Stellt typischerweise nützliche Features bereit: Dateisystem-Journal Quota-Statistiken Harald Baier Computerforensik h_da WS 2010/2011 13
Essentielle vs. nicht-essentielle Daten Begriffsunterscheidung durch Brian Carrier: Essential file system data are those that are needed to save and retrieve files. Non-essential file system data are there for convenience and not needed for the basic functionality. Beispiele: Essentiell:? Nicht-essentiell:? Vertrauenswürdigkeit essentieller / nicht-essentieller Daten? Harald Baier Computerforensik h_da WS 2010/2011 14
Inhalt Allgemeines zu Dateisystemen Das Referenzmodell von Carrier Datenkategorien Analyse dieser Datenkategorien Harald Baier Computerforensik h_da WS 2010/2011 15
Analyse von Dateisystemdaten Wichtige Dateisystemdaten sind typischerweise in ersten Datenträgerblöcken der Partition untergebracht Liefern Informationen über: Art des Dateisystems Speicherort weiterer Informationen über das Dateisystem Vertrauenswürdige (weil essentielle) Daten: Ansicht mit Hexeditor (z.b. xxd) oder Tool aus TSK (fsstat) Volume Slack nicht vergessen: Unbenutzte Datenträgerblöcke hinter Dateisystem Potentieller Speicherort für versteckte Dateien Harald Baier Computerforensik h_da WS 2010/2011 16
Analyse von Inhaltsdaten: Allozierte Blöcke Anlegen einer Datei: Datenblöcke werden alloziert Zugehörige Datenblöcke werden im Dateisystem als belegt markiert Allokationsalgorithmus abhängig vom Dateisystem u. OS Löschen einer Datei: Oft werden nur die Verweise Dateiname --> Metadaten gelöscht Datenblöcke werden als unbenutzt markiert Folge: Daten liegen unverändert auf Datenträger Harald Baier Computerforensik h_da WS 2010/2011 17
Analyse von Inhaltsdaten (1/2) Suche mit Hilfe der Metadaten: Sind Metadaten noch verfügbar (insbesondere die Verweise auf Datenblöcke), ist Analyse relativ einfach Datenblöcke auslesen --> Zu neuer Datei 'zusammenbauen' Anschließend auf Dateiebene analysieren Andernfalls Stringsuche, Puzzletechnik,... Stringsuche nach Schlüsselwörtern ASCII-String (z.b. E-Mail-Adresse, Telefonnummer) Dateiverwaltungs-String ('Signaturen' z.b. in pdf-, Bild-, Office- Dateien): Dateiheader / -footer Carving Prinzipielles Problem: Fragmentierung der Daten Harald Baier Computerforensik h_da WS 2010/2011 18
Analyse von Inhaltsdaten (2/2) Prinzipielles Problem: Fragmentierung der Daten Daten werden i.d.r. in mehreren FS-Blöcke gespeichert Geht gesuchter String über Blockgrenzen, ist Auffinden ggfls. schwierig Referenztest aus Computer Forensic Tool Testing (CFTT) verwenden: www.cftt.nist.gov Suche auf unbelegten Datenblöcken Ansicht von Datenblöcken mit Tools aus TSK: xxd: Hexeditor (vgl. Praktikum) dcat: Ansicht von Datenblöcken als Hexdump, ASCII, HTML Harald Baier Computerforensik h_da WS 2010/2011 19
Inhaltsdaten: File Slack (1/3) Harald Baier Computerforensik h_da WS 2010/2011 20
Inhaltsdaten: File Slack (2/3) File Slack: Speicherbereich von EOF bis Ende des FS-Blocks Hintergrund: Tatsächliche Dateigröße und allozierter Speicherbereich auf Festplatte stimmen in der Regel nicht überein Besteht aus RAM Slack und Drive Slack RAM Slack: Speicherbereich von EOF bis Ende des aktuellen Datenträgerblocks Wurde von DOS und älteren Windows-Varianten mit Inhalten aus Memory Buffer (= RAM-Daten) beschrieben Harald Baier Computerforensik h_da WS 2010/2011 21
Inhaltsdaten: File Slack (3/3) Drive Slack: 'Hintere' vollständig unbelegte Datenträgerblöcke In diesen bleibt oft das bisherige Bitmuster unverändert Beispiel: Datenträgerblockgröße: 512 Byte FS-Blockgröße: 4096 Byte Textdatei von 26 Byte wird gespeichert File Slack: Byte bis Byte RAM Slack: Byte - Byte Drive Slack: Byte - Byte Harald Baier Computerforensik h_da WS 2010/2011 22
Inhaltsdaten: Sicheres Löschen von Dateien Je nach Betriebssystem gibt es viele Tools: PGP für Windows shred für Linux: Überschreibt alle Datenblöcke vollständig und mehrfach mit verschiedenen Bytemustern Harald Baier Computerforensik h_da WS 2010/2011 23
Inhaltsanalyse: Problem verschlüsselte Dateien (1/2) Verschlüsselung auf verschiedenen Stufen: Dateiverschlüsselung auf Anwendungsebene Verschlüsselung auf Dateisystemebene An der Hardware-Schnittstelle Dateiverschlüsselung auf Anwendungsebene: Beispiel: PGP, GnuPG Oft leitet sich Entschlüsselungsschlüssel aus Passwort ab In der Regel Brute-Force-Angriff auf Passwort: Schwaches Passwort --> Daten rekonstruierbar Typischerweise liegen Metadaten im Klartext vor Harald Baier Computerforensik h_da WS 2010/2011 24
Inhaltsanalyse: Problem verschlüsselte Dateien (2/2) Verschlüsselung auf Dateisystemebene: Beispiele: TrueCrypt, EFS/BitLocker (Windows), DM-Crypt (Linux) Manchmal liegen Dateisystemdaten im Klartext vor Entschlüsselung wie bei Dateiverschlüsselung Erfolgversprechenderer Ansatz als Brute-Force: Live-Analyse des RAM Suche nach Entschlüsselungsschlüssel im Hauptspeicher Techniken: Dump des RAM, Cold Boot Harald Baier Computerforensik h_da WS 2010/2011 25
Analyse des Dateinamens Dateilöschungsstrategien: Dateisystem setzt Eintrag im Verzeichnis auf unbenutzt: Name der Datei und Verweis auf Metadaten bleibt erhalten Sehr einfache Rekonstruktion Dateisystem erhält Name der Datei, setzt aber zusätzlich den Verweis auf Metadateneintrag auf '0' Bei chronologischer Vergabe der Metadateneinträge oft zu erraten, welche Metadaten zur gelöschten Datei gehören Achtung: Freigegebene Datenblöcke können wieder beschrieben sein Suche nach Schlüsselwörtern in Dateinamen Harald Baier Computerforensik h_da WS 2010/2011 26
Analyse der Metadaten (1/2) Metadaten können benutzt oder unbenutzt sein Bei Löschen einer Datei werden Metadaten oft freigegeben Tool ils (TSK) zeigt alle benutzten sowie wieder freigegebenen Metadateneinträge eines Verzeichnisses an Typischer Aufruf: ils -a image Danach Zugriff auf die Metadaten selbst: Tool istat (TSK) zeigt Inhalt der Metadaten an Typischer Aufruf: istat image inode Dann sind Zeitstempel der Datei sowie Adressen der Datenblöcke bekannt Harald Baier Computerforensik h_da WS 2010/2011 27
Analyse der Metadaten (2/2) Auswertung der Zeitstempel: Timelining Chronologische Auswertung von Zugriffs-/Änderungszeiten Ergibt wichtige Anhaltspunkte für Vorgehen des Angreifers Vorsicht: Zeitstempel sind keine essentiellen Daten Auswertung der Datenblöcke: Direktes Ansehen oder Herausschreiben Analyse auf Anwendungsebene File Slack nicht vergessen!!! Harald Baier Computerforensik h_da WS 2010/2011 28
Analyse der Anwendungsdaten (1/2) Typischerweise nur Journal-Analyse Journal hält zuletzt durchgeführte Änderungen am Dateisystem vor: Effizientere Wiederherstellung bei Absturz Beim Booten wird Journal gegen Dateisystem getestet Ggfls. werden Änderungen eingespielt Journal-Analyse bedarf weiterer Forschungsarbeit Tools aus TSK jls: Anwendbar für FAT, NTFS, ext2/ext3, ISO9660 jcat: Zeigt Blöcke im Journal an Harald Baier Computerforensik h_da WS 2010/2011 29
Analyse der Anwendungsdaten (2/2) jls [-f fstype] image Harald Baier Computerforensik h_da WS 2010/2011 30