FAT und NTFS lösen dasselbe Problem: nachzuverfolgen, welche Cluster zu welcher Datei gehören. Die beiden Dateisysteme beantworten es sehr unterschiedlich, und der Unterschied ist der gesamte Grund, warum die moderne Windows-Forensik die Tools hat, die sie hat. Bei FAT kann man oft beweisen, dass eine Datei existiert hat. Bei NTFS kann man üblicherweise beweisen, was darin war, wann sie angefasst wurde, wer mit ihr verknüpft war und was danach mit ihr passiert ist.
Wie FAT funktioniert, in einem Absatz
FAT führt eine einzige Tabelle, in der jeder Eintrag einen Cluster entweder dem nächsten Cluster in der Datei, einem End-of-Chain-Marker oder dem Wert 0 (bedeutet frei) zuordnet. Ein separater Verzeichniseintrag paart einen Dateinamen mit dem ersten Cluster der Datei. Um eine Datei zu lesen, durchläufst du die Kette. Um eine zu löschen, setzt FAT jeden Clustereintrag in der Kette auf 0 und ersetzt das erste Zeichen des Dateinamens im Verzeichniseintrag durch 0xE5. Die Daten bleiben zurück, aber die Kette selbst ist zerstört: Du kannst den ersten Cluster und einen Teildateinamen wiederherstellen, aber die Verbindung zu nachfolgenden Clustern ist weg.
Dieser letzte Satz ist das ganze Problem mit der FAT-Wiederherstellung. FAT-Recovery-Tools können Dateifragmente finden. Sie können sie nicht zuverlässig wieder zusammensetzen, wenn die Datei über die Platte fragmentiert war. Sequentielle Dateien (Kameras, Audiorecorder, die eine große WAV schreiben) kommen zurück; fragmentierte Dateien (alles Office, alles, was über Zeit geschrieben wird, alles auf einem halbvollen Volume) kommen teilweise oder gar nicht zurück.
Wie NTFS funktioniert
NTFS ersetzt die Allokationstabelle durch die Master File Table, eine Datei, in der jede andere Datei mindestens einen 1.024-Byte-Datensatz hat, der sie beschreibt. Jeder Datensatz ist ein kleiner Container mit typisierten Attributen: $STANDARD_INFORMATION, $FILE_NAME, $DATA, $INDEX_ROOT und den anderen in der Attributreferenz detaillierten.
Entscheidend ist, dass $DATA nicht auf "den ersten Cluster" zeigt und sich auf eine separate Tabelle zur Verkettung verlässt. Es trägt eine vollständige Runliste: eine Folge von (Start-LCN, Länge)-Paaren, die jedes Fragment der Datei abdeckt. Das Löschen einer Datei bricht diese Liste nicht. Die Liste lebt im Datensatz, und der Datensatz besteht fort, bis etwas anderes seinen Slot beansprucht.
Dies ist die einzelne Designentscheidung, die für die Forensik alles veränderte.
Was sich für die Forensik ändert
Gelöschte Dateien behalten ihre Runliste. Bis der MFT-Slot wiederverwendet wird, kannst du die Runliste einer gelöschten Datei lesen, zu ihren Clustern gehen (die der Allokator möglicherweise noch nicht ausgegeben hat) und die Daten rekonstruieren, selbst wenn die Datei stark fragmentiert war. FAT kann das nicht.
Acht Zeitstempel pro Datensatz, zwei davon manipulationsresistent. $STANDARD_INFORMATION und $FILE_NAME tragen jeweils vier Zeitstempel. SI bewegt sich bei jeder Operation; FN ist nach der Erstellung stabil. Die beiden Sets prüfen einander. Siehe die vier MFT-Zeitstempel für das Timestomping-Signal, das das aufdeckt. FAT trägt einen Erstellungszeitstempel, einen Änderungszeitstempel (im DOS-Zeitformat, mit Zwei-Sekunden-Granularität) und ein optionales Zugriffsdatum. Keine Querprüfung, keine Granularität, keine Verteidigung gegen triviales Timestomping.
Residente Daten für kleine Dateien. Dateien unter etwa 700 Bytes Daten leben vollständig in ihrem MFT-Datensatz. Stelle den Datensatz wieder her, stelle die Datei wieder her, ohne je den Datenbereich zu berühren. So kann eine kleine Textdatei, die vor einem Monat gelöscht und auf den Datenclustern überschrieben wurde, immer noch intakt zurückkommen. Siehe residente Daten.
Hard Links und ADS. Ein einzelner MFT-Datensatz kann mehrere $FILE_NAME-Attribute (Hard Links) und mehrere $DATA-Attribute (den Primärstream plus Alternate Data Streams) haben. Die forensische Beweiskraft daraus ist reich und FAT hat nichts Vergleichbares. ADS ist ein Ort, an dem Angreifer Payloads ablegen. Hard Links sind ein Weg, dieselbe Datei in mehreren Verzeichnissen mit unterschiedlichen Eltern-Referenzen erscheinen zu lassen; nützlich zum Verfolgen von Persistenzmechanismen.
Journale. Das Change Journal $UsnJrnl protokolliert jede Metadatenoperation: erstellen, löschen, umbenennen, Datenüberschreibung, mit Zeitstempeln und Gründen. $LogFile protokolliert Detail auf Transaktionsebene. FAT protokolliert keines.
Sicherheitsdeskriptoren. $Secure enthält den ACL-Speicher; jede Datei referenziert ihre ACL per ID. Forensische Relevanz: Du kannst beweisen, wer Zugriff hatte und wann ACLs sich geändert haben (SetSecurityInfo schreibt einen USN-Grund von SECURITY_CHANGE). FAT hat kein Konzept von Berechtigungen pro Datei.
Reparse Points. Symlinks, Junctions, Mount-Punkte, OneDrive-Platzhalter, Dedup-Stubs und WSL-POSIX-Metadaten leben alle in $REPARSE_POINT-Attributen. FAT kann nichts davon darstellen; moderne Windows-Funktionen, die von Reparse Points abhängen, funktionieren auf FAT-Volumes einfach nicht.
Die Gesamtwirkung: Wenn du die Wahl zwischen einem FAT-Image und einem NTFS-Image desselben Vorfalls hast, wird das NTFS-Image fast immer mehr Fragen beantworten. Oft um eine Größenordnung mehr.
Wo du FAT immer noch triffst
FAT ist nicht tot. Du wirst ihm noch begegnen auf:
- USB-Flash-Laufwerken, die werkseitig formatiert sind (exFAT bei größeren, FAT32 bei kleineren).
- Der EFI-Systempartition bei jeder UEFI-Windows-Installation (FAT32, etwa 100-300 MB, enthält den Windows Boot Manager).
- SD-Karten aus Kameras, Drohnen, eingebetteten Geräten.
- Älteren industriellen Steuerungen und einer langen Reihe von eingebettetem Linux, das immer noch standardmäßig FAT für Wechselspeicher verwendet.
- Einigen Mac-formatierten Volumes, die mit Windows geteilt werden (exFAT).
Für OS-Volumes auf jeder modernen Windows-Maschine schaust du auf NTFS. ReFS erscheint auf einigen Server-Installationen und Storage Spaces, aber nicht auf dem Boot-Laufwerk. Das Artefakt, das du willst, ist $MFT.
exFAT, kurz
exFAT ist der Zwischenfall. Es ist das, was Microsoft verwendete, um FAT32 auf Volumes zu ersetzen, die zu groß für die praktische 32-GB-Grenze von FAT32 sind. Moderne Allokationstabelle mit Cluster-Ketten, aber kein Journal, keine MFT, keine ADS, keine Hard Links, keine Sicherheitsdeskriptoren. Aus forensischer Sicht ist es FAT näher als NTFS. Du bekommst Zeitstempel (granularer als FAT), du bekommst die Cluster-Kette und du bekommst die Verzeichniseinträge. Du bekommst keine der Dinge, die NTFS-Forensik wertvoll machen.
Wenn du exFAT auf einem Wechselgerät siehst, das wichtig war, verschiebt sich dein Toolset: PhotoRec und scalpel für Signatur-Carving, fsstat und fls aus Sleuth Kit für die wenige vorhandene Struktur, und eine ehrliche Anerkennung in deinem Bericht, dass das Artefaktset begrenzt ist.
Eine praktische Konsequenz
Leute fragen manchmal, warum ihr FAT-formatierter USB-Stick im Vergleich zum NTFS-Volume desselben Vorfalls so wenig hergab. Die ehrliche Antwort ist strukturell: Das Dateisystem entschied, welche Beweise zurückbleiben, Jahre bevor der Vorfall passierte. Die Formatwahl ist selbst eine forensische Variable, und jemand, der gewohnt ist, Artefakte von Windows-Desktops zu greifen, wird von einer exFAT-Kamera-Karte schwer enttäuscht sein.
Wenn du die Wahl kontrollierst (Unternehmens-Baseline, Lab-Imaging-Medien), wähle NTFS. Wenn du es nicht tust (Incident Response auf einem Ziel, das du nicht spezifiziert hast), akzeptiere die Einschränkungen und passe dein Toolset an.
Weiterführende Literatur
- Microsoft, FAT vs NTFS-Vergleich. Offizielle Feature-Matrix.
- Brian Carrier, File System Forensic Analysis. Die Kapitel, die FAT und NTFS vergleichen, sind weiterhin die definitive Referenz.
- Die exFAT-Spezifikation (Microsoft). Einmal lesenswert, wenn du regelmäßig mit Wechselmedien zu tun hast.