Forensically Sound Data Acquisition in the Age of Anti-Forensic Innocence
Total Page:16
File Type:pdf, Size:1020Kb
Forensically Sound Data Acquisition in the Age of Anti-Forensic Innocence Forensisch korrekte Datensicherung im Zeitalter anti-forensischer Arglosigkeit Der Technischen Fakultät der Friedrich-Alexander-Universität Erlangen-Nürnberg zur Erlangung des Doktorgrades Dr.-Ing. vorgelegt von Michael Gruhn aus Bad Windsheim Als Dissertation genehmigt von der Technischen Fakultät der Friedrich-Alexander-Universität Erlangen-Nürnberg Tag der mündlichen Prüfung: 2016-11-24 Vorsitzender des Promotionsorgans: Prof. Dr.-Ing. Reinhard Lerch Gutachter: Prof. Dr.-Ing. Felix Freiling Prof. Dr. Zeno Geradts Abstract In this thesis, we tackle anti-forensic and rootkit problems in digital forensics. An anti-forensic technique is any measure that prevents a forensic analysis or reduces its quality. First, we investigate the anti-forensic threat of hard drive firmware rootkits, which can prevent a forensic analyst from acquiring data from the hard drive, thus jeopardizing the forensic analysis. To this end, we first outline the threat of hard drive firmware rootkits. We then provide a procedure to detect and subvert already published hard disk drive firmware bootkits. We further outline potential avenues to detect hard drive firmware rootkits nested deeper within the hard disk drive’s so-called Service Area, a special storage on the magnetic platter reserved for use by the firmware. After addressing the acquisition of persistent data storage in form of hard disk drives, we shift towards acquisition and later analysis of volatile storage, in the form of RAM. To this end, we first evaluate the atomicity and integrity as well as anti-forensic resistance of different memory acquisition techniques with our novel black-box analysis technique. This black-box analysis technique in which memory contents are constantly changed via our payload application with a traceable access pattern, allows us to measure to which extent current memory acquisition methods satisfy atomicity and integrity when dumping the memory of processes. We also discuss their resistance against anti-forensics. As a result, we show that cold boot attacks belong to the most favorable memory acquisition techniques. We then investigate cold boot attacks in more detail. First, we experimentally confirm that cooling the RAM modules prolongs the remanence effect considerably. We then prove also experimentally that transplanting RAM modules from one system to another is possible. We further address the issue scrambling in modern DDR3 technology as well as other proposed countermeasures, such as BIOS passwords and temperature detection. We also show that once a system is cold-booted, malicious anti-forensic code running on the system stops running immediately and can thus no longer interfere with the memory acquisition. Therefore, we show the practical feasibility of cold boot attacks as anti-forensic resistant memory acquisition method. After outlining the anti-forensic resistant acquisition of evidence we address the analysis. To this end, we first revisited the theory of data analysis, especially the concept of essential data in forensic analysis as coined by Carrier in his seminal work “File System Forensic Analysis”. We first extend Carrier’s concept by differentiating different levels of essentiality. We introduce the notion of strictly essential data, which refers to data that is always required to be correct and non-manipulated by all systems to provide a specific functionality, and partially essential, which is only required to be correct and non-manipulated for some systems. We then practically verify both the original theories and our extensions in experiments. Eventually, we argue that essential data can help to build a trust hierarchy of data encountered during forensic analysis, from which we conclude that anti-forensic resistant analysis methods must only rely on what we call strictly essential, i.e., trusted, data, otherwise, the analysis is potentially impaired by anti-forensic measures because non-essential data can be freely manipulated without impacting the correct working of a system. Last but not least, we tackle a long unsolved problem in forensic memory analysis: Currently, all state-of-the-art digital forensic virtual memory analysis tools ignore unmapped memory pages, i.e., pages swapped out onto persistent storage. This can result in blind spots in which data and thus potential evidence is not analyzed. We fix this by analyzing the Windows NT virtual memory paging via a novel gray-box analysis method. To this end, we place traceable data into virtual memory and force it into both the physical RAM as well as the pagefile stored on persistent storage. We are thus able to reverse engineer the complete virtual address mapping, including the non-mapped pagefile. We evaluate our analysis results against real world data from Windows 7, 8, and 10 systems in both the 32 and 64-bit variants. By shedding light on this last blind spot of virtual memory analysis we increase its anti-forensic resistance, because we can now for the first time analyze the virtual address space in its entirety. Zusammenfassung Diese Arbeit befasst sich mit der Anti-Forensik und Rootkit Problematik in der digitalen Forensik. Eine anti-forensische Technik ist jede Maßnahme die eine forensische Analyse verhindert oder Ihre Qualität mindert. Zuerst wird die anti-forensische Bedrohung durch Festplatten Firmware Rootkits untersucht, welche einen forensischen Analysten davon abhalten können Daten zu sichern, und dadurch die Analyse gefährden. Hierzu skizzieren wir zunächst die Bedrohung durch Festplatten Rootkits. Dann stellen wir eine Prozedur vor mit der bereits veröffentlichte Rootkits erkannt und unterbunden werden können. Wir zeigen potenzielle Wege zur Auffindung von Rootkits, die tiefer in der Festplatten Firmware, in der sogenannten Service Area, einem speziellen Speicherbereich reserviert für die Benutzung durch die Firmware, verankert sind. Nach dem Problem der Datensicherung von Festplatten widmen wir uns der Sicherung und späteren Analyse von flüchtigen Daten in Form von RAM. Hierzu evaluieren wir zuerst die Atomarität und Integrität, aber auch die anti-forensische Resistenz verschiedener Techniken zur Hauptspeichersi- cherung mit unserer neuartigen Black-Box Analyse Methode. Diese Analyse Methode, in der die Speicherinhalte durch unsere Anwendung permanent durch ein verfolgbares Zugriffsmuster verändert werden, erlaubt es uns zu messen zu welchem Grad aktuelle Methoden zur Hauptspeichersicherung atomar und integer sind beim Auslesen des Speichers von Prozessen. Wir erörtern des weiteren deren Resistenz gegen Anti-Forensik. Das Resultat zeigt, dass der Cold Boot Angriff eine bevorzugte Technik zur Hauptspeichersicherung ist. Wir haben deshalb den Cold Boot Angriff im Detail betrachtet. Zuerst haben wir experimentell bestätigt, dass das kühlen des RAMs den Remanenz Effekt beachtlich verlängert. Wir zeigen, ebenfalls experimentell, dass das Transplantieren von RAM Modulen von einem System zum anderen möglich ist. Des weiteren befassen wir uns mit dem Problem des Scramblings der modernen DDR3 Technologie und weiteren Gegenmaßnahmen wie BIOS Passwörtern und Temperatur-Überwachung. Wir zeigen ebenso, dass durch das kalte Neustarten Anti-Forensik Code der auf dem System ausgeführt wird sofort in seiner Ausführung unterbrochen wird und daher nicht weiter bei der Hauptspeichersicherung interferieren kann. Dadurch zeigen wir sowohl die praktische Anwendbarkeit also auch die Anti-Forensische Resistenz des Cold Boot Angriffes. Nach dem Aufzeigen anti-forensisch resistenter Sicherung von Beweisen wenden wir uns der Analyse zu. Hierzu erweitern wir zunächst das Konzept von essentiellen Daten wie es von Carrier in seiner wegweisend Arbeit “File System Forensic Analysis” vorgestellt wurde. Wir erweitern Carriers Konzept durch die Unterscheidung zwischen strikt essentiellen Daten, die immer korrekt und nicht manipuliert seien müssen damit alle Systeme eine spezifische Funktion zur Verfügung stellen können und partiell essentiellen Daten, die nur für manche System korrekt und nicht manipuliert seien müssen. Danach verifizieren wir die originale Theorie und unsere Erweiterung in praktischen Experimenten. Zum Ende argumentieren wir, dass essentielle Daten helfen eine Vertrauens Hierarchie der Daten die in einer forensischen Analyse vorgefunden werden zu erstellen, aus welcher wir schließen können, dass anti-forensisch Resistente Analyse Methoden nur solche Daten verwenden dürfen die strikt essentiell sind, da sonst die Analyse potenziell durch anti-forensische Maßnahmen beeinträchtigt wird, weil nicht essentielle Daten frei manipulierbar sind ohne die Funktionalität eines Systems einzuschränken. Zuletzt widmen wir uns einem lange ungelösten Problem in der forensischen Hauptspeicheranalyse. Zur Zeit ignorieren alle gängigen forensischen Methoden zur Hauptspeicheranalyse ausgelagerte Speicherseiten, d. h. virtuelle Speicherseiten die auf persistenten Speicher ausgelagert wurden. Dies resultiert in durch die Analyse nicht einsehbare Speicherbereiche in denen sich potenziell Beweise befinden können. Wir treten dem entgegen indem wir die virtuelle Speicherverwaltung von Windows NT mit einem Gray-Box Analyse Ansatz untersuchen. Hierzu plazieren wir rück verfolgbare Daten sowohl in den physischen RAM als auch die Auslagerungsdatei. Dadurch können wir den kompletten virtuellen Adressraum mitsamt der Auslagerungsdatei rekonstruieren. Wir evaluieren unseren Ansatz gegen Windows 7, 8 und 10, in den 32 und 64-bit Varianten. Indem wir diese zuvor nicht