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:
- Speicherabbild + Systemprofil auswählen
- Plugins ausführen
- 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 Prozessepstree
– zeigt Prozessbäumepsscan
– findet auch versteckte Prozesse
Speicher und DLLs
dlllist
– geladene Bibliotheken eines Prozesseshandles
– offene Handles (Dateien, Registry, Sockets)vadinfo
– virtuelle Adressräume
Netzwerk
netscan
– aktive TCP/UDP-Verbindungensockscan
– durchsucht den Speicher nach Sockets
Benutzeraktivitäten
cmdline
– Befehlszeilenparameter von Prozessenconsoles
– Konsolenverlauf (z. B. eingegebene Kommandos)clipboard
– Inhalte der Zwischenablage
Malware- und Rootkit-Jagd
malfind
– Suche nach Code-Injektionenldrmodules
– verdächtige geladene Moduleapihooks
– Überprüfung auf Hooking-Versuche
Artefakte sichern
procdump
– Prozess aus RAM extrahierenmemdump
– gesamten Speicherbereich eines Prozesses dumpendumpfiles
– 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:
- RAM-Dump mit WinPMEM erstellen
- In Volatility laden:
volatility3 -f memory.dmp windows.pslist
- Verdächtigen Prozess finden (z. B.
svchost.exe
, das ungewöhnliche Netzwerkverbindungen hat) - Mit
malfind
prüfen, ob Code-Injektionen vorhanden sind - Prozess mit
procdump
sichern und in einer Sandbox analysieren - 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.
Schreibe einen Kommentar