Volatility: Das Standardwerkzeug für Speicherforensik

Einleitung

Digitale Forensik ist heute ein unverzichtbarer Bestandteil der IT-Sicherheit. Während Festplattenabbilder und Logdateien wichtige Informationen liefern, gibt es eine Datenquelle, die oft unterschätzt wird: der Arbeitsspeicher (RAM). Genau hier setzt Volatility an – ein Open-Source-Framework, das sich auf die Analyse von Speicherabbildern spezialisiert hat.

In diesem Beitrag schauen wir uns an, was Volatility ist, wie es funktioniert, in welchen Szenarien es eingesetzt wird und warum es in keiner DFIR-Toolbox fehlen sollte.


Was ist Volatility?

Volatility ist ein Speicherforensik-Framework, das aus Dump-Dateien (RAM-Abbildern) Informationen extrahiert. Es ermöglicht, den Zustand eines Systems zum Zeitpunkt der Erfassung zu rekonstruieren – inklusive laufender Prozesse, Netzwerkverbindungen, geladener DLLs, Benutzeraktivitäten oder sogar versteckter Rootkits.

Wichtige Eckpunkte:

  • Open Source (ursprünglich von Volatility Foundation, jetzt weiterentwickelt als Volatility3)
  • Geschrieben in Python
  • Unterstützt verschiedene Betriebssysteme (Windows, Linux, macOS, Android)
  • Modularer Aufbau mit Plugins, die spezifische Analysen durchführen

Warum Speicherforensik?

Festplattenforensik hat Grenzen: Viele moderne Malware-Varianten laufen nur im Speicher und hinterlassen kaum Spuren auf der Platte. Beispiele:

  • Fileless Malware (z. B. über PowerShell, WMI)
  • Verschlüsselte Kommunikation, die nur im RAM sichtbar ist
  • Temporäre Keys, Passwörter, Sitzungsinformationen
  • Rootkits, die sich im Kernel einnisten

Speicherforensik ist daher oft die einzige Möglichkeit, flüchtige Daten zu erfassen, bevor sie verloren gehen.


Architektur und Funktionsweise

1. Speicherabbild erstellen

Zuerst braucht man ein RAM-Dump. Das kann z. B. mit Tools wie FTK Imager, DumpIt, WinPMEM oder über Hypervisor-Snapshots geschehen.

2. Analyse mit Volatility

Volatility selbst erstellt keine Dumps, sondern analysiert sie.
Der Workflow:

  1. Speicherabbild + Systemprofil auswählen
  2. Plugins ausführen
  3. Ergebnisse interpretieren

3. Profile & Symbole

Besonders bei Windows ist es wichtig, das richtige Profil zu wählen, damit Volatility Strukturen wie Prozesse oder Handles korrekt erkennt.
Volatility3 hat diesen Prozess verbessert, indem es Symbolfiles nutzt, die dynamisch geladen werden können.


Wichtige Funktionen & Plugins

Volatility bringt eine Vielzahl an Plugins mit. Hier die wichtigsten:

Prozess- und Systemanalyse

  • pslist – listet laufende Prozesse
  • pstree – zeigt Prozessbäume
  • psscan – findet auch versteckte Prozesse

Speicher und DLLs

  • dlllist – geladene Bibliotheken eines Prozesses
  • handles – offene Handles (Dateien, Registry, Sockets)
  • vadinfo – virtuelle Adressräume

Netzwerk

  • netscan – aktive TCP/UDP-Verbindungen
  • sockscan – durchsucht den Speicher nach Sockets

Benutzeraktivitäten

  • cmdline – Befehlszeilenparameter von Prozessen
  • consoles – Konsolenverlauf (z. B. eingegebene Kommandos)
  • clipboard – Inhalte der Zwischenablage

Malware- und Rootkit-Jagd

  • malfind – Suche nach Code-Injektionen
  • ldrmodules – verdächtige geladene Module
  • apihooks – Überprüfung auf Hooking-Versuche

Artefakte sichern

  • procdump – Prozess aus RAM extrahieren
  • memdump – gesamten Speicherbereich eines Prozesses dumpen
  • dumpfiles – Dateien aus RAM rekonstruieren

Einsatzszenarien

1. Incident Response

Bei einem Security-Incident kann ein RAM-Dump direkt am kompromittierten System erstellt und mit Volatility untersucht werden.
So lassen sich schnell Malware, verdächtige Prozesse oder Netzwerkverbindungen identifizieren.

2. Malware-Analyse

Forscher nutzen Volatility, um Fileless Malware oder Packed/Injected Code zu untersuchen. Statt die Malware-Datei zu analysieren, wird ihr Laufzeitverhalten direkt im Speicher sichtbar.

3. Forensische Untersuchungen

Auch klassische Digital Forensics profitiert: Browser-Historien, Passwörter oder verschlüsselte Container-Schlüssel sind oft im RAM auffindbar.

4. Training & Forschung

Volatility wird in DFIR-Trainings, Capture-the-Flag (CTF) Challenges und an Universitäten eingesetzt, um Speicherforensik praxisnah zu lehren.


Beispiel: Analyse eines kompromittierten Systems

Ein typisches Vorgehen könnte so aussehen:

  1. RAM-Dump mit WinPMEM erstellen
  2. In Volatility laden: volatility3 -f memory.dmp windows.pslist
  3. Verdächtigen Prozess finden (z. B. svchost.exe, das ungewöhnliche Netzwerkverbindungen hat)
  4. Mit malfind prüfen, ob Code-Injektionen vorhanden sind
  5. Prozess mit procdump sichern und in einer Sandbox analysieren
  6. Mit netscan überprüfen, welche C2-Server kontaktiert werden

So lässt sich eine Kompromittierung nachvollziehen, ohne dass man sich nur auf Logs oder Disk-Forensik verlässt.


Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert