Artikelserie: Malwareanalyse in 4 Schritten – VORSICHT
Nachdem ich nun die 4 Artikel zur Malwareanalyse geschrieben habe, habe ich gemerkt, dass es wichtig wäre auch etwas über die Einrichtung einer sicheren Analyse- bzw. Laborumgebung zu schreiben.
Auch wenn sich die Malwareanalyse in diesen 4 Schritten so einfach anhört, ist damit jahrelanges Lernen verbunden. Dies ist alleine deshalb so, da die Malwareautoren kein Interesse an einer Erkennung der Malware haben und daher einige Mechanismen der Verschleierung anwenden. Neben dieser Verschleierung wenden sie aber auch für den Analysten schädliche Mechanismen an, die die eingesetzte Laborumgebung erkennen können. Daher ist es nicht nur aufgrund der eigentlichen schadhaften Wirkung von Malware wichtig eine sichere Analyseumgebung zu schaffen.
Das Stichwort dafür lautet „Virtualisierung“. In der IT-Forensik, aber eigentlich auch im gesamten IT-Security-Umfeld, wird sehr häufig mit virtuellen Maschinen gearbeitet. Ein guter Artikel zur Einführung in virtuelle Maschinen gibt es auf der Seite von Tutonaut (Link).
Analyseumgebung einrichten
Mein Setting zur Analyse von Malware ist sehr häufig folgendermaßen:
- Hostmaschine: Windows-Rechner (beachte hierzu den Hinweise unten bei den Vorsichtsmaßnahmen). Auf dem Host werden zwei virtuelle Maschinen eingesetzt, die beide im „Host-only“-Netzwerkmodus laufen. Das bedeutet, dass sie keine direkte Verbindung zum Internet haben, sondern nur über den und mit dem Host und der jeweils anderen VM kommunizieren können. Ein interessanter Artikel zu den einzelnen Netzwerkmodi von VMs bietet Nocksoft (Link).
- Ausführende Maschine: Windows-VM (meist Windows 8)
- Windows wird deshalb als VM gewählt, da der Großteil der Malware für dieses Betriebssystem geschrieben wurde. Sollte es sich um Malware für andere Betriebssysteme handeln, so ist die Konfiguration der virtuellen Maschinen natürlich anzupassen!
- Auf dieser virtuellen Maschine wird die eigentliche Malware ausgeführt. Deshalb sind saubere Schnappschüsse zum Anfang der Analyse sehr wichtig (siehe unten bei der Überschrift „Schnapschüsse nehmen“)
- Netzwerkfunktionalitäten: Die virtuelle Maschine sollte auf „Host-Only“-Modus eingestellt werden. Für eine rein statische Analyse sind Netzwerkverbindungen natürlich nicht nötig (daher sollte man in den ersten Schritten lieber auf Netzwerkkonnektivität verzichten)
- Linux-VM: REMnux oder Kali Linux. Diese VM dient der Analyse der Malware und auch zum Mitschnitt des Netzwerkverkehrs. Sowohl Kali Linux, als auch REMnux stellen Funktionalitäten für Internetdienste (z.B. Gateways bzw. DNS-Server) bereit. In der dynamischen Analyse kann somit ein Mitschnitt durch die VM mittels Wireshark oder über Server-Logfiles erfolgen.
Für die dynamischen Analysen sollten die Netzwerkeinstellungen der Windows-VM so konfiguriert werden, dass sie als DNS und Standard-Gateway die IP-Adresse der Linux-VM verwendet (siehe hierzu das obige Bild an). In der Linux-VM werden diese Dienste bereitgestellt. D.h. dort läuft eine Simulation eines DNS-Servers bzw. eines Gateways. Dies kann über das Programm INetSim (Link) erfolgen, welches genau für diese Zwecke entwickelt wurde. Sofern die Malware also Kontakt zu einer bestimmten IP-Adresse aufnehmen möchte, wird dieser Kontakt zwangsläufig über die LinuxVM laufen.
Schnappschüsse nehmen
Der große Vorteil von virtuellen Maschinen ist die Möglichkeit Schnappschüsse anzufertigen. Dies dient zur Abspeicherung des aktuellen Zustands der virtuellen Maschine. Nachdem Malware ausgeführt wurde, könnte die VM infiziert sein. Indem man diese virtuelle Maschine zurücksetzt, kann man das System erneut infizieren bzw. die Malware erneut ausführen, um deren initiale Verhalten dynamisch zu analyiseren.
Vorsichtsmaßnahmen
An dieser Stelle möchte ich Dir wirklich sagen, dass Du mit Zugang zum „echten“ Internet vorsichtig sein musst. Verwende lieber ein eigenes Netzwerk oder gar keines. Malwareautoren sind clever und können Automatismen einbauen, die erkennen, dass die Malware auf einer virtuellen Maschine läuft. Daraufhin gibt es durchaus Mechanismen, um aus der virtuellen Umgebung auszubrechen und auf das Host-System zuzugreifen. Dann wäre der Schaden natürlich fatal. Deshalb passe bei der Malwarenanalyse auf! Zudem könnte Malware durch den Internetzugang auf einen Malware-Server zugreifen oder Angriffe auf fremde Systeme von deinem Rechner aus starten.
Um das Risiko noch weiter zu minimieren könntest du für „windows-basierte“ Malware eine Windows VM verwenden, die auf einem Linux-Host läuft. Sollte die Malware je aus der virtuellen Maschine ausbrechen, ist sie dort häufig nicht weiter automatisiert handlungsfähig. Wie ein Mensch, der unter Wasser keine Luft bekommt, da er an diese Umgebung nicht angepasst ist!
Eine weitere Vorsichtsmaßnahme sollte sein, dass du alle USB-Sticks oder sonstige tragbaren Geräte von PC entfernst. Diese könnten infiziert werden und du würdest damit dein gesamtes Umfeld, an welches du deine Geräte anschließt, gefährden.
Die obigen Konfigurationen bieten Anhaltspunkte für den Aufbau eines Laborumgebung für die Malwareanalyse. Die virtuellen Maschinen können natürlich beliebig erweitert und die Konfiguration kann natürlich entsprechend angepasst werden