CSIRT-Insights: Optimierung der Event-Log-Analyse und Erfassung im DFIR

Autor
Yann Malherbe und Asger Deleuran Strunk
Veröffentlicht
25. Juli 2024

Velociraptor ist eine leistungsfähige und moderne, in zahlreichen Organisationen eingesetzte DFIR-Software (Digital Forensics and Incident Response). Die verwendete Velociraptor Query Language (VQL) wird zur Ausführung von Abfragen auf einem oder mehreren Hosts verwendet. Der Prozess für Incident Responder wird dadurch vereinfacht, dass Sie bestimmte Elemente abfragen können, ohne langwierige Suchen und Abfragen über kompakte Dateisysteme durchführen zu müssen. Erfahren Sie, wie Sie mit Hilfe eingebauter Accessoren mit wenig Aufwand auf Dateien und Ereignisprotokolle zugreifen, wie ein Artefakt aussieht und wie Sie die gesammelten Daten anreichern und normalisieren können.

Was sind Accessoren und Velociraptor-Funktionalitäten

Accessoren oder Plugins sind in Velociraptor eingebaute Funktionalitäten, die es der Abfragesprache VQL ermöglichen, bestimmte Dateitypen zu öffnen und zu durchsuchen. Der VQL-Code wird in eine YAML-Datei integriert (in ein sogenanntes Artefakt). Diese Artefakte stehen den Analysten im Anschluss für Abfragen und Suchen abrufbereit zur Verfügung.

In unserem Beispiel verwenden wir den Accessor ‘parse_evtx’, der Windows-Ereignisprotokolle analysieren kann. Anstatt die Ereignisprotokolle vom Host herunterzuladen, sind wir in der Lage, eine VQL-Abfrage durchzuführen und so die für unseren Zweck spezifischen Ereignisse zu sammeln.

Hinweis: Weitere häufig verwendete Plugins sind ‘read_file’, ‘users’, ‘glob()’, und ‘OSPath’.

Effizientes Filtern von «Windows Defender»-Protokollen mit Velociraptor-EVTX-Accessoren 

Innerhalb von Velociraptor haben native Artefakte wie 'Windows.EventLogs.evtx' und 'Windows.EventLogs.evtxHunter' den EVTX-Accessor bereits integriert. Damit wird eine Abstraktionsschicht eingeführt, die das Filtern von Ereignissen auf der Grundlage von Daten, Kanälen, Ereignis-IDs und Volume Shadow Copies (VSS) ermöglicht.

Zur Veranschaulichung verwenden wir das Artefakt «Windows.EventLogs.evtx», wie unten dargestellt:

Abbildung 1 Artefakt Windows.EventLogsAbbildung 1: Artefakt 'Windows.EventLogs.evtx'

Dieser Beitrag konzentriert sich auf Windows Defender-Protokolle, die in der Regel einen hervorragenden Ausgangspunkt für Untersuchungen darstellen.

Wenn Sie das Artefakt auf die gesamte Datei 'Microsoft-Windows-Windows Defender%4Operational.evtx' anwenden, wird jedes Protokoll innerhalb der EVTX analysiert. Dies führt zu Tausenden von Einträgen für einen nicht infizierten Computer, die eine beträchtliche Menge an irrelevanten Daten enthalten. Einträge wie «Endpoint Protection client is up and running in a healthy state» oder «Microsoft Defender Antivirus security intelligence version updated» werden ebenfalls geparst und erzeugen eine Menge Grundrauschen.

Potenzielle Ereignis-IDs: Die Suche durch RegEx-Muster optimieren

Wir reduzieren das Grundrauschen durch entsprechende Filter, die wir in die Suche einbauen. Die offizielle Microsoft-Dokumentation leitet uns durch die Arbeitsschritte zur Identifizierung potenziell interessanter Ereignis-IDs.

Für diesen Artikel haben wir die folgenden Ereignis-IDs ausgewählt:

1006: Die Antimalware-Engine hat Malware oder andere potenziell unerwünschte Software gefunden.
1007: Die Antimalware-Plattform hat eine Aktion durchgeführt, um Ihr System vor Malware oder anderer potenziell unerwünschter Software zu schützen.
1008: Die Antimalware-Plattform hat versucht, eine Aktion durchzuführen, um Ihr System vor Malware oder anderer potenziell unerwünschter Software zu schützen, aber die Aktion ist fehlgeschlagen.
1009: Die Antimalware-Plattform hat ein Element aus der Quarantäne wiederhergestellt.
1010: Die Antimalware-Plattform konnte ein Element nicht aus der Quarantäne wiederherstellen.
1011: Die Antimalware-Plattform hat ein Element aus der Quarantäne gelöscht.
1012: Die Antimalware-Plattform konnte ein Element nicht aus der Quarantäne löschen.
1013: Die Antimalware-Plattform hat den Verlauf von Malware und anderer potenziell unerwünschter Software gelöscht.
1015: Die Antimalware-Plattform hat verdächtiges Verhalten festgestellt.
1116: Die Antimalware-Plattform hat Malware oder andere potenziell unerwünschte Software entdeckt.
1117: Die Antimalware-Plattform hat eine Aktion durchgeführt, um Ihr System vor Malware oder anderer potenziell unerwünschter Software zu schützen.
1118: Die Antimalware-Plattform hat versucht, eine Aktion durchzuführen, um Ihr System vor Malware oder anderer potenziell unerwünschter Software zu schützen, aber die Aktion ist fehlgeschlagen.
1119: Die Antimalware-Plattform ist beim Versuch, eine Aktion gegen Malware oder andere potenziell unerwünschte Software durchzuführen, auf einen kritischen Fehler gestossen. Weitere Einzelheiten finden Sie in der Ereignismeldung.
3002: Der Echtzeitschutz hat einen Fehler festgestellt und ist fehlgeschlagen.
3007: Der Echtzeitschutz hat sich von einem Fehler erholt. Wir empfehlen, eine vollständige Systemprüfung durchzuführen, wenn dieser Fehler auftritt.
5000: Der Echtzeitschutz ist aktiviert.
5001: Der Echtzeitschutz ist deaktiviert
5004: Die Konfiguration des Echtzeitschutzes wurde geändert.
5007: Die Konfiguration der Antimalware-Plattform wurde geändert.
5008: Die Antimalware-Engine ist auf einen Fehler gestossen und ausgefallen.
5009: Das Scannen nach Malware und anderer potenziell unerwünschter Software ist aktiviert.
5010: Das Scannen nach Malware und anderer potenziell unerwünschter Software ist deaktiviert.
5011: Das Scannen auf Viren ist aktiviert
5012: Die Suche nach Viren ist deaktiviert.
5013: Der Manipulationsschutz hat einen Wechsel zu Microsoft Defender Antivirus verhindert.

Tabelle 1: Beispiele für die verfeinerte Suche von Ereignis-IDs

Wir sind so in der Lage, die ursprüngliche Suche noch weiter zu verfeinern. Dazu konzentrieren wir uns ausschliesslich auf die oben aufgeführten neuen Ereignis-IDs.

Wir können diese neuen Ereignis-IDs als RegEx-Muster hinzufügen:

«^(1006|1007|1008|1009|1010|1011|1012|1013|1015|1116|1117|1118|1119|1160|2050|2051|3002|3007|5000|5001|5004|5007|5008|5009|5010|5011|5012|5013)$” to the ‘IDRegex’filter.

Trotz dieser Verfeinerung sind die Ergebnisse immer noch umfangreich. Auf unserer Test-Workstation konnten wir die Ergebnisse von 10’000 auf 500 Einträge reduzieren. Diese Datenmenge bleibt jedoch für die Sucherweiterung auf Tausende von Hosts enorm umfangreich.

Ereignis-IDs mit Relevanzstufen versehen

Eine Lösung besteht darin, jeder dieser Ereignis-IDs eine Relevanzstufe zuzuweisen. Dadurch können wir die Granularität unserer Suche effektiv steuern. Um dies zu erreichen, müssen wir das Artefakt ‘Windows.EventLogs.Evtx’ erweitern, indem wir benutzerdefinierte VQL-Abfragen einbauen.

Wir klassifizieren die 25 Ereignis-IDs in fünf Stufen, wobei die Stufe 1 die ausführlichste Stufe ist. D. h. sie bietet die geringste Wahrscheinlichkeit, etwas Interessantes für eine Untersuchung zu finden.

Anschliessend können wir einen Selektor mit einer Aggregation von Wenn-Bedingungen erstellen. Dieser Ansatz ermöglicht es uns, unsere Suchkriterien auf der Grundlage der zugewiesenen Relevanzstufen zu verfeinern und so den Suchprozess zu optimieren.

Abbildung 2 Beispiel fuenfstufiges Velociraptor-Artefakt

Abbildung 2: Beispiel für ein fünfstufiges Velociraptor-Artefakt

Diese Konfiguration ermöglicht es uns, das Artefakt mit einer Stufe 4 oder 5 auszuführen, sodass wir bei der Verwaltung von Tausenden von Hosts eine schnelle Triage durchführen können. Umgekehrt können wir niedrigere Stufen verwenden, um zusätzliche Informationen zu sammeln, wenn wir an einer bestimmten Gruppe von Zielhosts arbeiten.

Durch diese Verfeinerung wurde die Anzahl der Ergebnisse effektiv auf 5 mit Stufe 4 reduziert, was eine angemessene Menge für die Analyse darstellt. 

Optimierung und Anreicherung von Suchergebnissen

Nachdem die Suche optimiert wurde, ist es wichtig, die Ergebnisse gezielt anzureichern. Bei der Datenanreicherung werden neue Felder hinzugefügt, um dem Ereignis einen Kontext zu geben (z. B. Hinzufügen einer Kategorie oder Übersetzen der Anmelde-ID in den zugehörigen Wert).

In unserem Beispiel werden wir drei Anreicherungen mit den Namen «eSymbolicName», «eMessage» und «eDescription» einführen, die mit den in der Windows-Dokumentation beschriebenen Werten übereinstimmen. Einige dieser Informationen sind zwar bereits in den Standardnachrichtenfeldern vorhanden, doch bieten diese neuen Felder oft präzisere Informationen als die Standardnachrichtenfelder.

Nachfolgend finden Sie ein Beispiel für die Anreicherung mit symbolischen Namen unter Verwendung eines Wörterbuchs sowie einer Funktion zur Auswahl des entsprechenden Elements auf der Grundlage der Ereignis-ID:

Abbildung 3 Beispiel Anreicherung symbolische NamenAbbildung 3: Beispiel für die Anreicherung mit symbolischen Namen

Die Anreicherung ist eine hervorragende Methode, um einem Ereignis zusätzlichen Kontext zu verleihen. Sie erhöht jedoch auch die Menge der gesendeten Daten, was sich auf den Velociraptor-Server auswirken könnte. Es ist eine Abwägung zwischen der Bedeutung des Kontexts und den Auswirkungen auf die Menge der genutzten Daten.

Die Relevanz und Häufigkeit der Ergebnisse sollten ebenfalls berücksichtigt werden. So sind beispielsweise Malware-Erkennungen von entscheidender Bedeutung und treten in der Regel nur selten auf, sodass sie im Vergleich zu Windows-Anmeldeaktivitäten keinen übermässigen Datenverkehr erzeugen.

Konsistenz der Artefakte durch normalisierte Feldnamen

Der nächste Schritt besteht in der Normalisierung der Feldnamen, um die Konsistenz über alle Artefakte hinweg sicherzustellen. In unserem Beispiel werden die Daten aus Windows EVTX extrahiert; daher werden die meisten relevanten Informationen im JSON-Format im Feld «EventData» gespeichert, wie im untenstehenden Teilergebnis dargestellt.

Abbildung 4 Normalisierung FeldnamenAbbildung 4: Normalisierung der Feldnamen

Dies deutet darauf hin, dass wir über das Feld «EventData.Threat Name» auf Malware-Informationen anhand ihres Namens zugreifen können. Dieser Ansatz ist jedoch spezifisch für Windows Defender-Protokolle und gilt möglicherweise nicht für andere Antivirenlösungen.

Eine Möglichkeit, dieses Problem zu lösen, besteht darin, bestimmte Felder zu klonen und sie in einen allgemeineren, relevanten Namen umzubenennen.

Abbildung 5 Umbenennung FelderAbbildung 5: Umbenennung von Feldern

Sobald das Artefakt anhand aller relevanten Ereignisse validiert wurde und bestätigt ist, dass die wesentlichen Felder abgedeckt sind, kann die Erfassung von «EventData» (hier mit * gekennzeichnet) so eingestellt werden, dass die erfassten Daten auf ein striktes Minimum reduziert werden.

Effizienz und Konsistenz: Die Rolle der Artefakten-Benennung für die Wiederverwendung

Nach Abschluss aller Schritte ist es ratsam, dem Artefakt einen relevanten Namen für die zukünftige Wiederverwendung zuzuweisen.

Für die Aufrechterhaltung der Effizienz ist diese Vorgehensweise von entscheidender Bedeutung. Dadurch entfällt die Notwendigkeit, jeden Schritt zu wiederholen, wenn die gleiche Suche erforderlich ist.

Dieser Ansatz steigert nicht nur die Produktivität, sondern fördert auch die Konsistenz und Organisation des Untersuchungsprozesses.

Perfekte Kombination: Velociraptor und das Know-how eines nach ISO 27001:2022 zertifizierten «Incident Response»-Teams

Durch die Nutzung der leistungsstarken Funktionen von Velociraptor verbessern Sie Ihre Prozesse zur Reaktion auf Vorfälle und zur digitalen Forensik erheblich.

Unsere Dienstleistungen gewährleisten eine nahtlose Integration und Optimierung von Velociraptor für Ihre spezifischen Anforderungen, sodass Sie Ereignisprotokolle schnell und effizient analysieren und wichtige Daten extrahieren können.

Die Expert*innen in unserem «Computer Security Incidence Response»-Team (CSIRT) nutzen Velociraptor tagtäglich. Profitieren Sie von der Erfahrung des ISO 27001:2022 zertifizierten Teams, gesalten Sie Ihre Analyse-Abläufe effizienter und holen Sie das volle Potenzial von Velociraptor heraus.

Kontaktieren Sie uns

Sind Ihre Kronjuwelen ausreichend geschützt? Wir unterstützen Ihr Sicherheitsteam mit einem Compromise Assessment, damit Sie mögliche Sicherheitslücken erkennen und vorzeitig beheben können. 

Compromise Assessment

Artikel teilen