Malware-Analyse

Was ist Malware-Analyse?

Die Malware-Analyse ist der Prozess der Untersuchung von Schadcode, um dessen Verhalten, Fähigkeiten, Herkunft und Ziele zu verstehen. Sie ist unverzichtbar für Incident Response, Threat Intelligence und die Entwicklung wirksamer Gegenmaßnahmen.

Arten der Analyse

1. Statische Analyse

Untersuchung der Malware, ohne sie auszuführen:

  • Analyse von Strings und Metadaten
  • Identifizierung von Packern und Obfuskation
  • Analyse von PE/ELF-Headern
  • Signaturen und Hashes (MD5, SHA-256, SSDEEP)
  • YARA rules matching

2. Dynamische Analyse

Kontrollierte Ausführung in einer isolierten Umgebung:

  • Sandbox-Analyse (Cuckoo, Any.Run, Joe Sandbox)
  • Überwachung von Systemaufrufen
  • Analyse des Netzwerkverkehrs
  • Änderungen am Dateisystem und an der Registry
  • Erzeugte Prozesse und Code-Injektion

3. Reverse Engineering

Tiefgehende Code-Analyse:

  • Disassembly und Dekompilierung
  • Debugging und Ablaufanalyse
  • Identifizierung kryptografischer Algorithmen
  • Extraktion von Konfigurationen und IOCs

Unverzichtbare Tools

Statische Analyse

  • • PEiD / Detect It Easy
  • • PEStudio / CFF Explorer
  • • Strings / FLOSS
  • • VirusTotal / Hybrid Analysis
  • • YARA / Capa

Dynamische Analyse

  • • Cuckoo Sandbox
  • • Any.Run
  • • Process Monitor (Sysinternals)
  • • Wireshark / tcpdump
  • • Regshot

Reverse Engineering

  • • IDA Pro / Ghidra
  • • x64dbg / WinDbg
  • • dnSpy (für .NET)
  • • JD-GUI (für Java)
  • • Radare2

Speicher und Forensik

  • • Volatility Framework
  • • Rekall
  • • SANS SIFT Workstation
  • • REMnux Distribution

Analysemethodik

Phase 1: Erste Triage

  • Hashes berechnen und in Threat-Intelligence-Datenbanken abgleichen
  • An öffentliche Sandboxes übermitteln (VirusTotal, Hybrid Analysis)
  • Schnelle Analyse von Strings und Imports
  • Dateityp und möglichen Packer bestimmen

Phase 2: Verhaltensanalyse

  • In einer kontrollierten Sandbox ausführen
  • Erstellung von Dateien und Prozessen überwachen
  • Netzwerkverkehr und C2-Verbindungen erfassen
  • Persistenztechniken identifizieren

Phase 3: Tiefgehende Analyse

  • Entpacken (Unpacking) und Deobfuskation
  • Reverse Engineering kritischer Funktionen
  • Extraktion von Konfigurationen und IOCs
  • Identifizierung von Familien und Varianten

Indicators of Compromise (IOCs)

Wesentliche zu extrahierende IOCs:

  • File-based: Hashes, Dateinamen, Pfade
  • Network: IPs, Domains, URLs, User-Agents
  • Registry: Erstellte/geänderte Schlüssel
  • Behavior: Mutexes, Named Pipes, Dienste
  • YARA rules: Wiederverwendbare Erkennungsmuster

Gängige Umgehungstechniken

  • Anti-VM/Sandbox: Erkennung virtualisierter Umgebungen
  • Anti-Debugging: Techniken zur Vermeidung der Analyse
  • Packing/Obfuscation: Code-Obfuskation
  • Process Injection: DLL injection, process hollowing
  • Rootkit Capabilities: Verbergen von Prozessen und Dateien
  • Fileless Malware: Ausführung ausschließlich im Speicher

MITRE ATT&CK Framework

Das Verhalten der Malware den MITRE-ATT&CK-Techniken zuordnen:

  • Initial Access (phishing, exploit public-facing app)
  • Execution (command and scripting, user execution)
  • Persistence (registry run keys, scheduled tasks)
  • Defense Evasion (obfuscation, process injection)
  • Command and Control (web protocols, DNS)
  • Exfiltration (exfiltration over C2, automated exfiltration)

Sicherheitsempfehlungen

  • [OK] Immer in einer isolierten (air-gapped) Umgebung analysieren
  • [OK] VM-Snapshots für eine schnelle Wiederherstellung verwenden
  • [OK] Die gesamte Analyse detailliert dokumentieren
  • [OK] IOCs mit der Community teilen (MISP, OTX)
  • [OK] Analyse-Tools stets auf dem aktuellen Stand halten
  • [OK] YARA rules für die zukünftige Erkennung erstellen
  • [OK] Erkenntnisse in Threat-Intelligence-Plattformen integrieren