Die Analyse des Arbeitsspeichers ist die beste Methode, um schädliche Software und die jüngsten Aktivitäten von Benutzern und Angreifern auf einem System zu identifizieren. Im Arbeitsspeicher können Beweise gesichert werden, welche nirgendwo sonst gespeichert sind. Jedoch kann der Arbeitsspeicher nur forensisch gesichert und ausgewertet werden, wenn das System seit dem Vorfall nicht heruntergefahren wurde, da es sich um flüchtigen Speicher handelt. Daher: Stop Pulling the Plug.
Der Inhalt im Überblick
Windows Arbeitsspeichersicherung
Bei der Sicherung des Arbeitsspeichers unter Windows gibt es zwei verschiedene Ansätze, welche von der Ausgangssituation des Computers abhängig sind. Im Optimalfall wurde das betroffene System weder heruntergefahren noch weiterverwendet. Dies eröffnet die Möglichkeit ein Live-Image zu erstellen. Der Arbeitsspeicher wird im laufenden Betrieb gesichert. Hierzu gibt Tools, welche von einem externen Speichermedium aus gestartet werden und anschließend den Arbeitsspeicher auf das externe Speichermedium sichern.
Wenn das zu untersuchende System heruntergefahren wurde, ist es nicht mehr möglich den Arbeitsspeicher mit Beweisen zum Vorfall zu sichern. Windows-Systeme erstellen, wenn sie in den Stromsparmodus oder „hilbernation mode“ versetzt werden, eine Kopie des Arbeitsspeichers. Der Arbeitsspeicher wird in eine Datei mit dem Namen „hilberfil.sys“ geschrieben, welche analysiert werden kann. Eine weitere Quelle für eine Kopie des Arbeitsspeichers ist die Datei „memory.dump“. Diese wird erstellt, wenn das System abstürzt. Als dritte Möglichkeit gibt es die Dateien „pagefile.sys“ und „swapfile.sys“, welche jedoch keine vollständigen Kopien des Arbeitsspeichers darstellen.
Zusammenfassend lässt sich sagen, dass die Aufklärung eines Vorfalls effizienter aufbereitet und mehr Beweise herausgearbeitet werden können, wenn ein System nicht heruntergefahren und nicht weiterverwendet wurde. Zum Schutz anderer Systeme ist es jedoch immer erforderlich, das betroffene Gerät vom Netzwerk zu trennen, um den entstandenen Schaden zu minimieren.
Analysetools
Die Analyse des Arbeitsspeichers kann mittels zweier Suiten erfolgen.
Redline
Redline ist ein intuitives Tool mit einer grafischen Oberfläche. Damit ist es möglich Prozesse, Abläufe, Netzwerkverbindungen, Speicherbereiche und Treiber zu analysieren.
Zu Beginn werden mittels Redline Daten gesammelt. Dazu können drei verschiedenen „Kollektoren“ verwendet werden. Der „Standard Kollektor“ sammelt die notwendigen Daten, die für eine vollständige Live-Memory-Analyse des Zielsystems erforderlich sind. Der „umfangreiche Kollektor“ sammelt neben den host-basierten Artefakten wie z.B. Metadaten, Windows Registry Hives, Event Logs und Prefetch Daten auch Daten, die für die Arbeitsspeicheranalyse notwendig sind. Der dritte Kollektor ist der „IOC search Collector“. Dieser sammelt eine minimale Menge an host-basierten und Memory-Artefakten, um einen Scan für Gefährdungsindikatoren zu erstellen. Auf Grundlage des minimierten Datenbestandes ist keine vollständige Memory-Analyse möglich.
Anschließend werden die gesammelten Daten analysiert. Hierzu kann ein Raw-Image vom Arbeitsspeicher geöffnet werden.
Volatility
Volatility ist ein kommandozeilen-basiertes Framework, welches kostenfrei zur Verfügung und regelmäßig Updates bekommt. Es ist ein mächtiges Framework zur Arbeitsspeicheranalyse, welches einen tiefen Einblick in die Strukturen erlaubt und die Erforschung des Arbeitsspeichers fördert.
Sechs Schritte der Analyse
In dem Analyseprozess werden sechs Schritte abgedeckt. Der Ansatz ist mehrschichtig. Daher ist es möglich mehrere Hinweise in verschiedenen Komponenten zu finden, welche ein vollständiges Bild der Analyse erstellen können.
- Bösartige Prozesse Identifizieren
Die Überprüfung von Prozessen ist ein sehr wichtiger Schritt in der Analyse, da sie ein wichtiges Bauwerk in dem Arbeitsspeicher sind. Durch das Untersuchen des Namens des Prozesses, des Pfades, des Eltern-Prozesses, der Kommandozeilenparameter, der Startzeit und des Security Identifiers steigen die Chancen verdächtige Prozesse frühzeitig zu entdecken. - DLL’s und Prozessabläufe analysieren
Beim nächsten Schritt geht es darum, tiefer in einen verdächtigen Prozess einzudringen und die Objekte zu überprüfen, die jeden Prozess definieren. Die Vielzahl der Objekte macht es zu einer großen Herausforderung. Features wie digitale Signaturprüfungen und insbesondere die Prüfung auf die geringste Häufigkeit des Auftretens kann helfen, verdächtige Prozesse zu identifizieren. - Netzwerkartefakte überprüfen
Soweit verfügbar, können Netzwerkartefakte interessante Hinweise auf die Legitimität eines Prozesses liefern.
Bei der Überprüfung von Netzwerkdaten liegt die Konzentration auf folgenden Artefakten: Identifizierung von verdächtigen Ports, verdächtigen Verbindungen, bekannten schlechten IP-Adressen, verdächtigem Netzwerkverhalten von Prozessen, interessanten Erstellungszeiten von Netzwerk Sockets. - Nachweis von Code Injektion
Code Injektion ist eine sehr beliebte Methode, mit der Malware seine Aktivitäten verstecken kann. Dabei ist eine häufig genutzte Methode die DLL Injektion.
Die Identifizierung von Prozessen mit injizierten Speicherabschnitten ist in der speicherplattenbasierten Forensik schwierig, während die Analyse dieser im Arbeitsspeicher komfortabler ist und einen größeren Erfolg verspricht. - Rootkit-Erkennung
Rootkits verstecken mit verschiedenen Methoden die Existenz von Prozessen, Dateien, Registry-Keys und Netzwerkartefakten auf Systemen. Einige dieser Methoden sind schwerer festzustellen als andere. Dabei bietet die Speicheranalyse eine gute Möglichkeit, die angehängten Funktionen auszulesen und auszuwerten. - Verdächtige Prozesse und Treiber löschen
Der letzte Schritt der Analyse besteht darin, die Funde für weitere Analysen zu extrahieren. Da nun eine Liste der verdächtigen Prozesse und Treiber vorliegt, können diese aus dem Image extrahiert werden und anschließend mittels einer Zeichenkettensuche, Anti-Viren Programmen, automatischen Malware Analyse Tools und manuellen Reverse-Engineering Techniken analysiert werden.
Praktiken zur Sicherung
Um eine Analyse durchführen und Beweise sichern zu können, ist es wichtig, dass der Arbeitsspeicher erhalten bleibt. Ist das Gerät bereits ausgeschaltet, wenn Sie den Vorfall bemerken, lassen Sie das Gerät ausgeschaltet, um die noch vorhandenen Spuren nicht zu vernichten.
Wenn das Gerät zum Zeitpunkt der Entdeckung des Vorfalls noch eingeschaltet ist, ziehen Sie den Netzwerkstecker, sodass der Computer keinen Zugang zu weiteren Geräten im Netzwerk hat.
Um den Vorfall aufzuklären und das Ausmaß des Schadens bestimmten zu können, sollten Sie anschließend einen IT-Forensik-Experten dazu holen. Dieser kann den Arbeitsspeicher gerichtsverwertbar sichern. Anschließend kann ausgewertet werden, über welchen Weg der Angreifer in das System gelangt ist, um z. B. Schadsoftware zu hinterlassen. Wenn die Schwachstelle des Systems lokalisiert wurde kann das Einfallstor geschlossen werden, damit keine weiteren Angriffe möglich sind.