Memory-Forensik

Die forensische Analyse des RAM-Speichers stellt eine kritische und spezialisierte Disziplin innerhalb der digitalen Ermittlung dar, die sich auf die Extraktion und Analyse flüchtiger Daten konzentriert, die nur existieren, solange das System läuft. Anders als die traditionelle Disk-Forensik, die persistente, auf Festplatten oder SSDs gespeicherte Daten untersucht, erfasst die Memory-Forensik den exakten Zustand des Systems zum Zeitpunkt der Akquisition und enthüllt laufende Prozesse, aktive Netzwerk- verbindungen, Anmeldedaten im Speicher, kryptografische Schlüssel, Fileless-Malware und Artefakte, die raffinierte Angreifer absichtlich nur im RAM hinterlassen, um der Erkennung zu entgehen. Diese Technik ist bei der Untersuchung fortgeschrittener Bedrohungen (APTs), moderner Ransomware und von Angriffen, die Living-off-the-Land-Techniken nutzen, unverzichtbar geworden, bei denen die Eindringlinge ausschließlich im Speicher mit legitimen Werkzeugen des Betriebssystems operieren. Das Zeit- fenster für die Erfassung ist kritisch: Sobald das System heruntergefahren, neu gestartet wird oder in den Ruhezustand (Hibernation) wechselt, gehen diese flüchtigen Artefakte unwiederbringlich verloren, wodurch Geschwindigkeit und Methodik der Akquisition zu entscheidenden Faktoren für den Erfolg der forensischen Untersuchung werden.

Warum Memory-Forensik

Flüchtige Artefakte gehen beim Herunterfahren verloren. Der Speicher enthält:

  • Laufende Prozesse: Fileless-Malware, Code-Injektionen
  • Netzwerkverbindungen: C2 active connections, offene Sockets
  • Anmeldedaten: Passwörter im Klartext, gecachte NTLM-Hashes
  • Kryptografie: Verschlüsselungsschlüssel im Speicher
  • Registry Hives: Nicht persistierte Änderungen
  • Handles und DLLs: Injektionen, Hooking, Rootkits

Speicher-Akquisition

Akquisitions-Werkzeuge

  • FTK Imager: Kostenloses AccessData-Tool, grafische Oberfläche
  • DumpIt: Portable Einzeilen-Executable, schnell
  • WinPmem: Open-source, unterstützt die Akquisition von Kernel Memory
  • Magnet RAM Capture: Free tool, einfach zu bedienen
  • LiME (Linux): Loadable Kernel Module für Linux-Systeme
  • Belkasoft RAM Capturer: Funktioniert auch mit Anti-Dumping

Akquisitions-Überlegungen

  • Speicher VOR der Untersuchung akquirieren - die Analyse verändert den Zustand
  • Live-System: Werkzeuge verwenden, die den Footprint minimieren
  • Virtuelles System: VM-Snapshot oder .vmem extrahieren
  • Physisches System: Akquisition via FireWire/Thunderbolt DMA in Betracht ziehen
  • Die exakte Uhrzeit der Akquisition für die Timeline dokumentieren

Analyse mit Volatility

Das Volatility Framework ist das Open-Source-Standardwerkzeug schlechthin für die Speicheranalyse und unterstützt Windows, Linux, macOS und diverse Dump-Formate.

Wesentliche Befehle

      # Das System-Profil identifizieren
      vol.py -f memory.dmp imageinfo
      # Prozesse auflisten
      vol.py -f memory.dmp --profile=Win10x64 pslist
      vol.py -f memory.dmp --profile=Win10x64 pstree
      # Versteckte Prozesse (DKOM)
      vol.py -f memory.dmp --profile=Win10x64 psxview
      # Netzwerkverbindungen
      vol.py -f memory.dmp --profile=Win10x64 netscan
      # Geladene DLLs
      vol.py -f memory.dmp --profile=Win10x64 dlllist -p <PID>
      # Befehlszeile der Prozesse
      vol.py -f memory.dmp --profile=Win10x64 cmdline
      # Prozess-Dumps
      vol.py -f memory.dmp --profile=Win10x64 procdump -p <PID> -D output/
      # Extraktion von Anmeldedaten
      vol.py -f memory.dmp --profile=Win10x64 hashdump
      vol.py -f memory.dmp --profile=Win10x64 lsadump
      

Analyse von Fileless-Malware

Fileless-Malware residiert ausschließlich im Speicher und nutzt legitime Werkzeuge (PowerShell, WMI), um dem AV zu entgehen. Erkennungstechniken:

  • Process Injection: Nach RWX-Speicher und Remote Threads suchen
  • PowerShell-Analyse: Verdächtige Befehle in der Console History
  • Hollowing: Legitime Prozesse mit ersetztem Code
  • Reflective DLL Injection: DLLs, die nicht auf der Disk gemappt sind

Beispiel: Erkennen einer Process Injection

      # Nach verdächtigen VADs suchen (RWX-Speicher)
      vol.py -f memory.dmp --profile=Win10x64 malfind
      # Code-Injektionen auflisten
      vol.py -f memory.dmp --profile=Win10x64 hollowfind
      # Analyse verdächtiger Handles
      vol.py -f memory.dmp --profile=Win10x64 handles -p <PID> -t Process,Thread
      

Extraktion von Anmeldedaten

Der Speicher enthält häufig Anmeldedaten im Klartext oder in leicht knackbarer Form:

  • LSASS Dump: NT-Hashes, Kerberos Tickets, Klartext-Passwörter
  • Registry Hives: SAM, SYSTEM für Offline-Hashdump
  • Browser Memory: Formular-Passwörter, Session-Cookies
  • App-spezifisch: Anmeldedaten von Apps (E-Mail, VPN usw.)

Timeline-Rekonstruktion

Speicherereignisse mit anderen Artefakten korrelieren:

      # Timeline von Prozessen und Verbindungen
      vol.py -f memory.dmp --profile=Win10x64 timeliner --output=body --output-file=timeline.body
      # In ein lesbares Format konvertieren
      mactime -b timeline.body -d > timeline.csv
      

Rootkits und DKOM

Direct Kernel Object Manipulation (DKOM) versteckt Prozesse durch Modifikation von Kernel Structures. Erkennung durch Vergleich mehrerer Quellen:

  • psxview: Vergleicht pslist, psscan, thrdproc usw.
  • driverirp: Listet Driver und ihre IRP Hooks auf
  • ssdt: System Service Descriptor Table Hooks
  • idt: Interrupt Descriptor Table Modifications

Fortgeschrittene Volatility-Plugins

  • yarascan: Speicher mit YARA-Regeln scannen
  • strings: Extraktion von Strings aus bestimmten Prozessen
  • clipboard: Inhalt der Windows-Zwischenablage
  • notepad: Text aus geöffneten Notepad-Fenstern
  • mftparser: Die $MFT aus dem Speicher wiederherstellen
  • svcscan: Windows-Dienste auflisten

Ergänzende Werkzeuge

  • Rekall: Volatility-Fork mit zusätzlichen Features
  • Redline: Grafische Oberfläche von FireEye für die Analyse
  • MemProcFS: Mountet den Memory Dump als Filesystem
  • Bulk Extractor: Massenextraktion von Features

Herausforderungen

  • Große Dumps (16 GB+ RAM) sind langsam zu analysieren
  • Anti-Forensik-Techniken können Dumps beschädigen
  • Encrypted Memory benötigt Keys für die Analyse
  • Kernel-Strukturen ändern sich zwischen OS-Versionen

Abschließende Empfehlungen

Memory-Forensik ist für die Untersuchung fortgeschrittener Angriffe und Fileless-Malware unerlässlich. Automatisieren Sie die Speicher-Akquisition bei verdächtigen Vorfällen via EDR. Üben Sie die Analyse mit öffentlichen Memory Dumps (DFIRScience, Volatility Foundation). Korrelieren Sie stets Speicher-Befunde mit Disk-Forensik und Netzwerk-Forensik für eine vollständige Sicht auf den Vorfall.