Malware-Analyse 101: Schädliche Dateien untersuchen
Sicherheitsanalysten analysieren Malware, um ihr Verhalten zu verstehen. Lernen Sie Sandbox-Setup, statische und dynamische Analysetechniken von Profis.
Inhaltsverzeichnis
- Warum Malware analysieren?
- Eine sichere Analyseumgebung einrichten
- Statische Analyse: Untersuchen ohne Ausführen
- Dateiidentifikation und Hashing
- Zeichenkettenextraktion
- PE-Header-Analyse
- Dynamische Analyse: Malware beim Laufen beobachten
- Automatisierte Sandboxes
- Indikatoren für Kompromittierungen extrahieren
Warum Malware analysieren?
Malware-Analyse ist der Prozess des Zerlegens schädlicher Software, um zu verstehen, was sie tut, wie sie sich verbreitet, womit sie kommuniziert und welchen Schaden sie verursachen kann. Diese Informationen fließen direkt in Incident Response (welche Systeme sind betroffen?), Bedrohungsaufklärung (ist das ein bekannter Akteur?) und Erkennungsentwicklung (wie schreiben wir eine Signatur, um dies in Zukunft zu erkennen?) ein.
Du musst nicht jedes Byte reverse-engineeren, um wertvolle Analysen zu liefern. Zu wissen, wie man eine Probe sicher ausführt, ihr Verhalten beobachtet und Indikatoren für Kompromittierungen (IOCs) extrahiert — Domänen, IPs, Datei-Hashes, Registry-Schlüssel — ist eine praktische Fähigkeit, die Nicht-Spezialisten entwickeln können.
Eine sichere Analyseumgebung einrichten
Dies ist der kritischste Schritt. Analysiere Malware niemals auf deinem primären Rechner oder Produktionsnetzwerk. Ein ordnungsgemäßes Isolations-Setup erfordert:
- Eine dedizierte virtuelle Maschine (VMware oder VirtualBox) mit aktivierten Snapshots. Setze nach jeder Analysesitzung immer auf einen sauberen Snapshot zurück.
- Der Netzwerkadapter der VM auf Host-Only oder isoliertes Netzwerk eingestellt. Verbinde ihn niemals mit deinem echten LAN.
- Ein separates Analyse-Betriebssystem — Windows 10/11 ist ideal, da die meiste Malware auf Windows abzielt. Verwende eine lizenzierte Kopie speziell für die Analyse.
- Deaktiviere gemeinsame Ordner und Zwischenablage-Sharing zwischen Host und Gast — manche Malware sucht aktiv nach diesen Kanälen, um aus der VM zu entkommen.
- Erwäge einen dedizierten Analysrechner, der physisch isoliert ist, wenn du mit besonders ausgefeilten Proben arbeitest.
Tools wie REMnux (eine Linux-basierte Analyse-Distribution) und FLARE VM (eine Windows-Analyseumgebung von Mandiant) kommen vorinstalliert mit Analysetools und sind der schnellste Weg, um anzufangen.
Statische Analyse: Untersuchen ohne Ausführen
Statische Analyse untersucht die Malware-Datei ohne Ausführung. Beginne hier — es ist sicher und enthüllt oft viel.
Dateiidentifikation und Hashing
Bevor du irgendetwas anderes tust, berechne den Hash der Datei:
sha256sum verdaechtige_datei.exe
Suche den Hash auf VirusTotal, Malware Bazaar oder Hybrid Analysis. Wenn es sich um eine bekannte Probe handelt, erhältst du sofort den Familiennamen, Verhaltensberichte und frühere Analysen. Der Hash dient auch als dein primärer IOC für Erkennungsregeln.
Verwende file unter Linux oder PEiD/Detect-It-Easy unter Windows, um den Dateityp zu identifizieren. Malware verwendet häufig irreführende Erweiterungen — eine .pdf-Datei könnte tatsächlich eine PE-Ausführungsdatei sein.
Zeichenkettenextraktion
strings gegen eine Binärdatei auszuführen, extrahiert alle druckbaren Zeichensequenzen. Du findest oft:
- Hartcodierte Domänennamen und IP-Adressen (C2-Infrastruktur)
- Dateipfade und Registry-Schlüssel, mit denen die Malware interagiert
- Fehlermeldungen, die die Sprache/Umgebung des Entwicklers enthüllen
- Verschlüsselungsschlüssel oder Konfigurationsdaten
strings -n 8 malware.exe | grep -Ei 'http|cmd|reg|powershell'
PE-Header-Analyse
Für Windows-Ausführungsdateien enthüllen Tools wie PE-bear, CFF Explorer oder Pythons pefile-Bibliothek die Importtabelle (welche Windows-API-Funktionen die Binärdatei aufruft), Abschnittsnamen und Entropie (hohe Entropie deutet auf Packing/Verschlüsselung hin), Kompilierungszeitstempel und eingebettete Ressourcen. Eine Binärdatei, die CreateRemoteThread, VirtualAllocEx und WriteProcessMemory importiert, führt mit hoher Wahrscheinlichkeit Process Injection durch.
Dynamische Analyse: Malware beim Laufen beobachten
Dynamische Analyse führt die Probe in deiner isolierten VM aus und überwacht dabei ihr Verhalten. Richte Monitore vor dem Ausführen der Probe ein:
- Process Monitor (Procmon): protokolliert jedes Datei-, Registry- und Netzwerkereignis nach Prozess
- Wireshark: erfasst den gesamten Netzwerkverkehr
- Process Hacker: zeigt laufende Prozesse, injizierte Threads, geladene Module
- Regshot: erstellt Registry-Snapshots vor und nach der Ausführung für den Vergleich
Führe die Probe aus, warte 2–5 Minuten, dann überprüfe, was du erfasst hast. Wichtige Fragen:
- Welche Prozesse hat sie erstellt oder in die sie sich injiziert hat?
- Welche Dateien hat sie erstellt, verändert oder gelöscht?
- Welche Registry-Schlüssel hat sie gesetzt (Persistenzmechanismen)?
- Welche Netzwerkverbindungen hat sie versucht — Domänen, IPs, Ports, Protokolle?
- Hat sie versucht, Sicherheitstools zu deaktivieren oder die Windows Firewall zu modifizieren?
Automatisierte Sandboxes
Für schnelle Triage übermittle die Probe an eine automatisierte Sandbox:
- Any.run (interaktiv, browserbasiert)
- Hybrid Analysis (kostenlos, betrieben von CrowdStrike Falcon Sandbox)
- Joe Sandbox (detaillierte Berichte)
- Cuckoo Sandbox (selbst gehostet, quelloffen)
Sandboxes automatisieren den dynamischen Analyse-Workflow und erstellen strukturierte Berichte mit IOCs, MITRE ATT&CK-Zuordnungen und Netzwerkerfassungen — oft in Minuten. Ihre Einschränkung ist, dass ausgefeilte Malware aktiv Sandbox-Umgebungen erkennt (nach ungewöhnlichen Benutzernamen, minimaler Betriebszeit, VM-Artefakten sucht) und inaktiv bleibt, um der Erkennung zu entgehen.
Indikatoren für Kompromittierungen extrahieren
Das praktische Ergebnis der Malware-Analyse ist ein Satz von IOCs zur Erkennung und Blockierung:
- Datei-Hashes (MD5, SHA-256) für AV/EDR-Signaturen
- Domänennamen und IPs für DNS-Sinkholes und Firewall-Blockierungen
- URLs für Web-Proxy-Blockierungen
- Registry-Schlüssel für Erkennungsregeln
- Mutex-Namen (Malware erstellt oft Mutexe, um Doppelinfektionen zu vermeiden — diese sind ausgezeichnete IOCs)
- YARA-Regeln für musterbasierte Erkennung über Dateisammlungen
Dokumentiere alles in einem strukturierten Format (STIX/TAXII bei der Weitergabe an die Community) und teile Findings auf Plattformen wie MISP oder OpenCTI, um der breiteren Sicherheitsgemeinschaft zu nützen.