Journaling-Dateisystem
In einem Journaling-Dateisystem werden Änderungen an einer Datei in einem sogenannten Journal zwischengespeichert, bevor sie endgültig in den Speicher geschrieben werden(committed). Das Journal bezeichnet einen extra für solche Änderungen vorgesehenen Speicherplatz.
Dies hat den Vorteil, dass zum Beispiel nach einem Systemabsturz, während eines Kopier-oder Löschvorgangs, wieder ein konsistenter Zustand der Datei hergestellt werden kann. Dazu wird nach einem Neustart des Betriebssystems, statt einer einfachen Behebung der Dateisystem-Inkonsistenz und dem damit einhergehenden Verlust der Daten, geprüft, welche Daten sich im Journal befinden und für welche Dateien ein commit-flag gesetzt ist. Nur gültige Daten werden anschließend auf der Festplatte gesichert.
Für die Forensik bedeutet dies, dass vorherige Dateiversionen für eine gewisse Zeit indiesem Journal gespeichert werden. Dadurch kann es möglich sein mithilfe des Journals gelöschte oder überschriebene Dateien wiederherzustellen.
Folgend sind einige Dateisysteme aufgelistet, die ein solches Journaling enthalten:
- ReiserFS: Linux
- ext3/ext4: Linux
- btrfs: Linux
- XFS: Linux und IRIX
- JFS/JFS2: Linux, AIX und OS/2
- NTFS/ReFS: Microsoft Windows
- HFS+: Mac OS ab 8.1 und Mac OS X/OS X/macOS
- APFS: macOS ab 10.13 und iOS ab 10.3
- AdvFS: Tru64 UNIX
- BeFS: BeOS
- FFS: BSD
- Smart File System (SFS), Professional File System (PFS): AmigaOS undMorphOS
- VxFS: AIX, HP-UX, Linux und Solaris
- gjournal: Eine vom Dateisystem unabhängige Journaling-Implementation für FreeBSD
Quellen
https://link.springer.com/content/pdf/10.1007%2F978-0-387-73742-3_16.pdf
https://www4.informatik.uni-erlangen.de/DE/Lehre/WS03/PS_KVBK/talks/Handout_Journaling.pdf
https://de.wikipedia.org/wiki/Journaling-Dateisystem
https://www.selflinux.org/selflinux/html/dateisysteme_journaling02.html