Indikatoren der Kompromittierung analysieren
Wann verwenden
Verwenden Sie diese Fähigkeit, wenn:
- Eine Phishing-E-Mail oder ein Alarm IOCs (URLs, IP-Adressen, Datei-Hashes) generiert, die eine schnelle Triage erfordern
- Automatisierte Feeds Massen-IOCs liefern, die vor der Aufnahme in Blockierregeln eine Vertrauensbewertung benötigen
- Eine Incident-Untersuchung eine kontextuelle Anreicherung beobachteter Netzwerkartefakte erfordert
Verwenden Sie diese Fähigkeit nicht isoliert für sicherheitskritische Blockierungsentscheidungen – kombinieren Sie die automatisierte Anreicherung immer mit der Bewertung durch Analysten, insbesondere bei gemeinsam genutzter Infrastruktur (CDNs, Cloud-Anbieter).
Voraussetzungen
- VirusTotal-API-Schlüssel (kostenlos oder Enterprise) für Multi-AV- und Sandbox-Abfragen
- AbuseIPDB-API-Schlüssel für IP-Reputationsprüfungen
- MISP-Instanz oder TIP für den Abgleich mit bekannten Kampagnen
- Python mit den Bibliotheken
requestsundvt-pyoder eine SOAR-Plattform mit vorgefertigten Konnektoren
Arbeitsablauf
Schritt 1: Normalisieren und Klassifizieren der IOC-Typen
Klassifizieren Sie vor der Anreicherung jeden IOC:
- IPv4/IPv6-Adresse: Prüfen, ob RFC 1918 privat (externe Anreicherung überspringen), Format validieren
- Domain/FQDN: Defangen für die sichere Handhabung (
evil[.]com), registrierte Domain via tldextract extrahieren - URL: Domain + Pfad getrennt extrahieren; auf Redirectoren prüfen
- Datei-Hash: Hash-Typ identifizieren (MD5/SHA-1/SHA-256); SHA-256 für Eindeutigkeit bevorzugen
- E-Mail-Adresse: In Domain (MX/DMARC prüfen) und lokalen Teil für Musteranalyse aufteilen
Defangen Sie IOCs in der Dokumentation (ersetzen Sie . durch [.] und :// durch [://]), um versehentliche Klicks zu verhindern.
Schritt 2: Multi-Quellen-Anreicherung
VirusTotal (Datei-Hash, URL, IP, Domain):
import vt
client = vt.Client("YOUR_VT_API_KEY")
# Datei-Hash-Abfrage
file_obj = client.get_object(f"/files/{sha256_hash}")
detections = file_obj.last_analysis_stats
print(f"Bösartig: {detections['malicious']}/{sum(detections.values())}")
# Domain-Analyse
domain_obj = client.get_object(f"/domains/{domain}")
print(domain_obj.last_analysis_stats)
print(domain_obj.reputation)
client.close()
AbuseIPDB (IP-Adressen):
import requests
response = requests.get(
"https://api.abuseipdb.com/api/v2/check",
headers={"Key": "YOUR_KEY", "Accept": "application/json"},
params={"ipAddress": "1.2.3.4", "maxAgeInDays": 90}
)
data = response.json()["data"]
print(f"Vertrauenswert: {data['abuseConfidenceScore']}%, Meldungen: {data['totalReports']}")
MalwareBazaar (Datei-Hashes):
response = requests.post(
"https://mb-api.abuse.ch/api/v1/",
data={"query": "get_info", "hash": sha256_hash}
)
result = response.json()
if result["query_status"] == "ok":
print(result["data"][0]["tags"], result["data"][0]["signature"])
Schritt 3: Kontextualisierung mit Kampagnenzuordnung
Durchsuchen Sie MISP nach vorhandenen Ereignissen, die mit dem IOC übereinstimmen:
from pymisp import PyMISP
misp = PyMISP("https://misp.example.com", "API_KEY")
results = misp.search(value="evil-domain.com", type_attribute="domain")
for event in results:
print(event["Event"]["info"], event["Event"]["threat_level_id"])
Überprüfen Sie Shodan für IP-Kontext (Hosting-Anbieter, offene Ports, Banner), um zu identifizieren, ob die IP zu einem Bulletproof-Hosting oder einem legitimen Cloud-Anbieter gehört (Fehlalarmrisiko).
Schritt 4: Vertrauensbewertung und Disposition zuweisen
Wenden Sie ein abgestuftes Entscheidungsrahmenwerk an:
- Blockieren (Hohe Vertrauenswürdigkeit ≥ 70%): ≥15 AV-Erkennungen auf VT, AbuseIPDB-Score ≥70, Übereinstimmung mit bekannter Malware-Familie oder Kampagne
- Überwachen/Alarmieren (Mittel 40–69%): 5–14 AV-Erkennungen, moderater AbuseIPDB-Score, keine Kampagnenzuordnung
- Whitelisten/Untersuchen (Niedrig <40%): ≤4 AV-Erkennungen, keine Missbrauchsmeldungen, legitimer Dienst (Google, Cloudflare CDN-IPs)
- Fehlalarm: Legitimer Geschäftsdienst fälschlicherweise gekennzeichnet; dokumentieren und von zukünftigen Alarmen ausschließen
Schritt 5: Dokumentieren und Verteilen
Ergebnisse in TIP/MISP erfassen mit:
- Allen gesammelten Anreicherungsdaten (Zeitstempel, Quelle, Punktzahl)
- Dispositionsentscheidung und Begründung
- Durchgeführten Blockierungsmaßnahmen (Firewall, Proxy, DNS-Sinkhole)
- Zugehöriger Incident-Ticketnummer
In STIX-Indikatorobjekt exportieren, wobei das Vertrauensfeld entsprechend gesetzt wird.
Schlüsselkonzepte
| Begriff | Definition |
|---|---|
| IOC | Indikator der Kompromittierung – beobachtbares Netzwerk- oder Host-Artefakt, das auf eine mögliche Kompromittierung hinweist |
| Anreicherung | Prozess des Hinzufügens kontextueller Daten zu einem rohen IOC aus mehreren Intelligence-Quellen |
| Defangen | Modifizieren von IOCs (Ersetzen von . durch [.]), um eine versehentliche Aktivierung in der Dokumentation zu verhindern |
| Fehlalarmrate | Prozentsatz gutartiger Artefakte, die fälschlicherweise als bösartig gekennzeichnet wurden; entscheidend für die Feinabstimmung von Blockierungsschwellenwerten |
| Sinkhole | DNS-Server, der bösartige Domain-Abfragen zu einer gutartigen IP umleitet, um eine Erkennung zu ermöglichen, ohne den gesamten Datenverkehr zu blockieren |
| TTL | Time-to-Live für einen IOC in Blockierungsmechanismen; IP-Indikatoren sollten nach 30 Tagen, Domains nach 90 Tagen verfallen |
Tools und Systeme
- VirusTotal: Multi-Engine-Malware-Scanner und Threat-Intelligence-Plattform mit über 70 AV-Engines, Sandbox-Berichten und Community-Kommentaren
- AbuseIPDB: Von der Community gepflegte IP-Reputationsdatenbank mit 90-tägigem Missbrauchsberichtsverlauf
- MalwareBazaar (abuse.ch): Kostenloses Malware-Hash-Repository mit YARA-Regelzuordnungen und Malware-Familien-Tagging
- URLScan.io: Kostenloser URL-Analysedienst, der Screenshots, DOM und Netzwerkanfragen für die Phishing-URL-Triage erfasst
- Shodan: Internetweite Scandaten, die Hosting-Anbieter, offene Ports und Bannerinformationen für die IP-Anreicherung bereitstellen
Häufige Fallstricke
- Blockieren gemeinsam genutzter Infrastruktur: CDN-IPs (Cloudflare 104.21.x.x, AWS CloudFront) können legitimerweise bösartige Inhalte hosten, aber das Blockieren der IP stört Tausende legitimer Websites.
- VT-Score-Besessenheit: Eine niedrige VT-Erkennungszahl bedeutet nicht gutartig – Zero-Day-Malware und benutzerdefinierte APT-Tools erzielen oft anfangs 0 Punkte. Überprüfen Sie Sandbox-Verhalten, MISP und passives DNS.
- Fehlendes Defangen: Das Einfügen von Live-IOCs in E-Mails oder Confluence-Dokumente kann automatisierte URL-Scanner oder Phishing-Tools auslösen.
- Keine Verfallsrichtlinie: IOCs ohne TTLs sammeln sich unbegrenzt in Blocklisten an und erzeugen Fehlalarme, wenn die Infrastruktur von legitimen Benutzern wiederverwendet wird.
- Übermäßiges Vertrauen auf eine einzige Quelle: VirusTotal aggregiert AV-Meinungen – alle können falsch sein oder hinter aufkommender Malware zurückbleiben. Verwenden Sie 3+ unabhängige Quellen für sicherheitskritische Entscheidungen.