Die $MFT ist eine Momentaufnahme. Sie beschreibt, wie jede Datei gerade jetzt aussieht — ihre Metadaten, den Ort ihrer Daten, ihren Belegungsstatus. Was sie nicht festhält, ist die Abfolge der Änderungen, die zu diesem Zustand führten. Dafür hält NTFS ein zweites Artefakt: das Update Sequence Number Journal, $UsnJrnl.
Was das $UsnJrnl festhält
Jedes Mal, wenn eine Datei erstellt, geändert, umbenannt oder gelöscht wird, hängt NTFS dem $UsnJrnl einen Datensatz fester Größe an, der das Ereignis beschreibt. Die Felder umfassen:
- die USN (eine monoton steigende 64-Bit-Zahl)
- die MFT-Datensatznummer der geänderten Datei
- die Datensatznummer des Elternverzeichnisses
- eine Reason-Maske:
FILE_CREATE,DATA_OVERWRITE,RENAME_OLD_NAME,CLOSE,FILE_DELETEund viele weitere - einen Zeitstempel
Das Ergebnis ist ein chronologisches Protokoll jedes nennenswerten Dateisystem-Ereignisses seit der Erstellung oder letzten Rotation des Journals. Auf einem typischen System sind das Tage bis Wochen.
Wo es liegt
$UsnJrnl ist eine reguläre NTFS-Datei, deren Daten im benannten Stream $J leben. Sie sitzt im speziellen Verzeichnis $Extend neben anderen Systemdateien wie $LogFile und $Quota.
Du holst sie dir mit denselben Werkzeugen wie die $MFT:
- KAPEs
MFT-Target enthält$UsnJrnl - FTK Imager kann sie aus
[NTFS-Volume]/$Extend/$UsnJrnl:$Jexportieren - Forensische Disk-Image-Tools lesen sie direkt aus den rohen Clustern
Wie sie die $MFT ergänzt
Bringt man beide zusammen, treten Muster zutage, die keine allein zeigt:
- Eine Datei, die du auf der Platte nicht findest, aber im
$UsnJrnlauftaucht — zwischen zwei Snapshots erstellt und gelöscht, doch das Journal hat es behalten. - Die exakte Reihenfolge der Umbenennungen während eines Ransomware-Angriffs —
OPEN,DATA_OVERWRITE,RENAME_OLD_NAME,RENAME_NEW_NAME,CLOSE. - Ob eine „geänderte" Datei tatsächlich neu geschrieben oder nur angefasst wurde — die Gründe im
$UsnJrnlunterscheiden Datenüberschreibung von Metadatenänderung.
Für die Rekonstruktion einer Zeitleiste lautet der typische Ablauf: zuerst die $MFT für den aktuellen Zustand durchlaufen, dann das $UsnJrnl für die Historie der Änderungen, die dorthin führten.
Grenzen
Das $UsnJrnl rotiert. Standardmäßig ist das Journal 32 MB groß und fasst auf einem aktiven System nur wenige Tage Aktivität. Ältere Ereignisse fallen hinten heraus. Kommst du mehr als eine Woche nach dem Vorfall in die Untersuchung, rechne mit Lücken — und stütze dich stärker auf $MFT-Slack und $LogFile.