Beim Thema Forensik habe ich jeweils sofort die High-Tech Labs von CSI Las Vegas, CSI New Orleans, oder wie die Serienableger alle hiessen, vor meinem geistigen Auge. IT-Nerds in weissen Kitteln, vor Screens mit allerlei Animationen, in Räumen voller Server Racks mit blinkenden Lichtern, die unheimlich kompliziert aussehende, hochstehende wissenschaftliche Sachen machen. Nicht unbedingt so fancy, aber mitunter vielleicht genau so nerdig, geht es im wahren Leben in der digitalen Forensik zu. Die digitale Forensik umfasst dabei viele verschiedene Teilbereiche, wie zum Beispiel unterschiedliche Betriebssysteme, Cloud, industrielle Steuerungssysteme (ICS) oder Mobile Devices. In diesem Artikel will ich versuchen, einen ersten Einblick in den Bereich der Windows-Forensik zu geben. In einem zweiten Artikel gehen wir dann etwas tiefer und schauen uns an, was man so alles finden kann.


Um was geht es bei der digitalen Forensik überhaupt?

Definition der digitalen Forensik laut NIST:

«In its strictest connotation, the application of computer science and investigative procedures involving the examination of digital evidence – following proper search authority, chain of custody, validation with mathematics, use of validated tools, repeatability, reporting, and possibly expert testimony.»

Quelle: csrc.nist.gov/glossary/term/digital_forensics

Kurzum: die Beschaffung von digitalen Beweisen unter Einhaltung wissenschaftlich fundierter Methoden.


Spurensicherung – aber gewusst wie

Gerade, aber natürlich nicht nur, wenn es dabei um einen Rechtsfall geht, ist es äusserst wichtig, dass die Beschaffung der digitalen Beweise gewissenhaft dokumentiert wird. Dies aus mehreren Gründen: Zum einen ist es nicht möglich, forensische Untersuchungen auf einem laufenden System durchzuführen, ohne dass dabei gewisse Änderungen vorgenommen werden, beispielsweise in Form geschriebener Logfiles oder gestarteter Prozesse. Die Dokumentation dient also dazu, diese Änderungen zu protokolieren. Und zum anderen wird durch die Dokumentation eine Wiederholbarkeit durch einen weiteren Experten möglich. Zudem gilt es, den Umfang des Durchsuchungsbeschlusses genau zu beachten, um den erlaubten Bereich der Untersuchung nicht zu übertreten. Aktuelle Streifragen in dem Zusammenhang betreffen beispielsweise die Datenablage auf Cloud Storage: Gehören diese Daten zum Computer und somit zum Durchsuchungsbeschluss für den PC der verdächtigen Person? Google Drive, Dropbox oder OneDrive werden auf dem Rechner als lokale Laufwerke angezeigt, die Daten liegen aber auch in der Cloud. Huhn-Ei-Problem oder?

Alles, was wir auf unseren Rechnern tun hinterlässt Spuren, man spricht dabei von «Artifacts». Jedes Programm, das wir starten, jedes Mail, das wir öffnen, jede Website, die wir besuchen. Und ja, auch beim Private Browsing, aka «Porno-Modus», hinterlässt man Spuren. Mit den richtigen Methoden und Tools können all diese Dinge und vieles mehr in den Unmengen an Logfiles und Events gefunden werden.


Welche Daten sind im Fokus?

Daten können zum einen von der lokalen Harddisk eines Rechners / Servers und zum anderen vom Memory (RAM) beschafft werden. Die Harddisk stellt dabei das «Langzeitgedächtnis» dar, die Daten darauf sind hautsächlich in Form von Dokumenten und (Log-)Files gespeichert. Eine immer grössere Herausforderung stellt dabei die Full Disc Encryption oder File Encryption dar. Für den Endanwender (oder Kriminellen) eine gute Sache; für den Analysten eher nicht so. Das RAM kann als «Kurzzeitgedächtnis» verstanden werden, in dem volatile Daten für den schnellen Zugriff griffbereit zwischengelagert werden. Wird der Rechner heruntergefahren, sind die Daten im RAM futsch. Um möglichst viele Daten beschaffen zu können, ist es daher äusserst wichtig, eine Erst-Analyse am laufenden System durchführen zu können, möglichst mit noch eingeloggtem User. Ein System im laufenden Betrieb zu analysieren, bietet unter anderem Zugriff auf folgende Daten im RAM:

  • Encryption Keys / Passwörter (Diese lassen sich mit entsprechenden Tools aus dem Memory auslesen.)
  • Laufende Prozesse
  • Netzwerkverbindungen (z.B. C2-Verbindungen von Malware)
  • Private Browsing Sessions (im Private Mode werden keine Browsing History oder Cache-Informationen auf die Disk geschrieben, jedoch ins Memory)
  • Informationen zu offenen Files, Verzeichnisstrukturen oder verbundenen Geräten
  • Aktuell verwendete Registry Keys
  • «File-less» Malware (z.B. Rootkits oder maliziöse Scripts)
  • Entschlüsselte Disk (Drive Encryption)
  • Entschlüsselte Files, sofern der Benutzer noch eingeloggt ist und die Files entsperrt hat (File Encryption)

Wird der Rechner mit aktivierter Disk Encryption heruntergefahren, sprengt der Aufwand, um die Disk zu entschlüsseln, den Rahmen der allermeisten Ermittlungen (zu aufwendig, zu langwierig, zu teuer). Gleiches gilt auch bei Mobile Devices, da auch hier bei aktuellen OS-Versionen standardmässig eine Verschlüsselung aktiviert ist, sowohl auf Android wie auf iOS Geräten. Ein Tool, das hilft, herauszufinden ob Disks verschlüsselt sind, ist Encrypted Disk Detector (www.magnetforensics.com/resources/encrypted-disk-detector).

Hat man Zugang zur Harddisk oder einem Disk Image, findet man unteranderem folgende Daten:

  • Pagefile.sys und swapfile.sys
  • Hiberfil.sys (was im Endeffekt eine komplette Kopie aller Daten vom RAM enthält, zu dem Zeitpunkt als das System in den Hibernate-Mode gewechselt hat)
  • Master File Table $MFT
  • AppData-Verzeichnis (z.B. für Registry Hive NTUSER.DAT)
  • Diverse Logfiles, Datenbanken und Windows Event Log
  • Normale Dokumente wie Office oder PDF Files etc.
  • Vermeintlich gelöschte Dateien
  • Registry Hives unter C:\Windows\System32\config
  • Browser Cache

Wie gelangt man an die Daten im RAM?

Daten im RAM können natürlich nicht so ohne Weiteres mit dem File Explorer ausgelesen werden. Dazu benötigt es entsprechende Tools und etwas Fachwissen.

Es gibt viele unterschiedliche Tools um Memory Images zu erstellen, sowohl frei verfügbare Open Source Tools wie z.B. WinPmem (github.com/Velocidex/WinPmem) oder auch kommerzielle Anwendungen wie F-Response (www.f-response.com).

Hat man sein Image erst mal erstellt, geht es nun daran die Daten zu analysieren. Auch dafür gibt es frei verfügbare Tools wie z.B. Volatility (github.com/volatilityfoundation/volatility3) oder kommerzielle Tools wie Magnet AXIOM (www.magnetforensics.com/products/magnet-axiom).

Eine gute Übersicht über Tools für Akquisition wie auch Analyse findet man hier: github.com/digitalisx/awesome-memory-forensics


Harddrive-Analyse

Wie oben gelistet, findet man auf der Disk eines Rechners Unmengen an forensisch interessanten Daten, wie z.B. Logs, Registry Hive Files, Browser Cache und Windows-System-Datenbanken. Diese Informationen braucht Windows, um beispielsweise die Grösse und Position der einzelnen Fenster, die letzte Position in einem Wordfile oder den Strombedarf der verschiedenen Applikationen zu tracken. Auch Informationen zu kürzlich verwendeten Dateien (MRU – Most Recently Used), eingegebenen Pfaden im Windows Explorer oder eingegebene Suchbegriffe in der Windows Search können als Beweismittel dienen. Die wenigsten Benutzer geben den Pfad direkt im Explorer ein, sondern klicken sich durch die Struktur, bis sie am gewünschten Ort sind. Findet man also interessante Sachen in der File Path History, ist das ein gutes Indiz, dass jemand genau wusste, was wo zu finden ist. Gleiches gilt auch für die Suchfunktion.

Eine der besten Quellen für Informationen zu ausgeführten Applikationen, Netzwerkaktivität und Energienutzung der letzten 30 Tage ist die System Resource Utilization Management (SRUM) Database. Auch hierfür gibt es verschiedene Tools, welche die SRUM DB in lesbarer Form als CSV-Dateien exportieren. Mehr Infos dazu findet man hier: digitalforensicsdotblog.wordpress.com/tag/srum

Eines der Tools ist «srum-dump», das hier zu finden ist: github.com/markbaggett/srum-dump

Ich gehe an dieser Stelle nicht tiefer in die Analyse der Daten ein. Dazu folgt zu einem späteren Zeitpunkt ein weiterer Artikel. Zusammenfassend lässt sich aber sagen, dass es in der Forensik viel Fachwissen braucht, was die zu analysierenden Systeme angeht, sowie Zeit und Geduld. Moderne Tools machen einem das Leben zwar einfacher, trotzdem muss man wissen was man tut. Ganz so wie beim Goldschürfen in der freien Natur 😉


Weiterführende Links