
Tool, das eine anpassbare Sammlung von ETW-Telemetrie sammelt und benutzerdefinierte Erkennungen erzeugt.
EventHorizon ist ein Tool, das Sicherheitsanalysten und/oder Forschern mit Event Tracing for Windows (ETW)-Telemetrie ausstatten soll, die in Verbindung mit sigma-ähnlichen Regeln robuste Endpunkterkennungs- und Reaktionsfähigkeiten ermöglicht. Allerdings ist EventHorizon keinesfalls ein Ersatz für geeignete Lösungen. Dieses Projekt soll in erster Linie die Benutzerfreundlichkeit beim Sammeln von ETW-Telemetrie sowie das Generieren von Erkennungsregeln ohne Code-Schreiben ermöglichen. Um diese Benutzerfreundlichkeit zu erhöhen, ist der Setup-Prozess für EventHorizon so einfach wie möglich gestaltet, mit einem bereitgestellten .msi-Installer (siehe Releases-Tab) und grundlegenden Installationsanweisungen (siehe Wiki).
[!WARNING]
Verwenden Sie EventHorizon nur in einer Testumgebung (NICHT IN DER PRODUKTION). Die Installation erfordert, dass bestimmte Windows-Sicherheitsfunktionen deaktiviert werden, und ich garantiere nicht, dass EventHorizon eine sichere oder professionell geschriebene Software ist.
Um zu beginnen, besuchen Sie das EventHorizon Wiki
Auch wenn ich nicht versprechen kann, dass ich EventHorizon warten werde, möchte ich in Zukunft einige Dinge hinzufügen/ändern:
EventHorizon besteht aus mehreren Komponenten, die sowohl im Benutzermodus als auch im Kernel-Modus verteilt sind. Die folgenden Abschnitte sollen einen detaillierten Überblick über die Komponenten und eine allgemeine Vorstellung von ihren Funktionen geben.
Im Benutzermodus gibt es in EventHorizon einen einzelnen Dienst namens EventHorizon, der die verschiedenen anderen Benutzermodus-Komponenten von EventHorizon orchestriert. Dateien, die sich auf die Benutzermodus-Funktionalität beziehen, befinden sich in C:\Program Files\EventHorizon\, obwohl dieser Pfad während der Installation geändert werden kann.
Die Kernel-Modus-Komponente von EventHorizon besteht aus einem einzigen Early Launch Antimalware (ELAM)-Treiber namens EventHorizonELAM, der sich in C:\Windows\System32\drivers\ befindet.

EventHorizon versucht außerdem, so wenig Overhead wie möglich auf dem System zu verursachen. Im Leerlauf verwendet es normalerweise nur etwas mehr als 2 MB RAM. Je mehr Telemetrie empfangen und je mehr Regeln geladen werden, desto mehr Rechenleistung/RAM wird verbraucht. Wenn Sie einen Anbieter mit einer hohen Ereignismenge verwenden, kann der Ressourcenverbrauch schnell ansteigen.

EventHorizon-Orchestrierung (EventHorizon.exe): orchestriert die Benutzermodus-Komponenten im Zusammenhang mit der Funktionalität von EventHorizon. Beim Start des Dienstes startet es die Telemetrie-Ausführungsdatei und die Erkennungs-Engine mit PPL-AntiMalware-Schutz und überwacht sie, falls sie aus irgendeinem Grund beendet werden. Behandelt auch Deinstallationsanforderungen.
EventHorizon-Telemetrie (EventHorizonTelemetry.exe): liest die ETW-Konfiguration, abonniert relevante Anbieter, filtert eingehende Ereignisse und sendet sie über eine Named Pipe mithilfe einer Warteschlange an die Erkennungs-Engine.
EventHorizon-Erkennungs-Engine (EventHorizonDetectionEngine.exe): lädt Regeln, empfängt Telemetriedaten von der Telemetrie-Ausführungsdatei und löst Erkennungen in der Windows-Ereignisanzeige aus, wenn Regeln ausgelöst werden.

Innerhalb der Windows-Ereignisanzeige unter Anwendungs- und Dienstprotokolle > EventHorizon befinden sich 3 verschiedene Kanäle, die von EventHorizon verwendet werden.
Ereignisse, die sich auf die Kanalnamen beziehen, werden dort abgelegt. Weitere Informationen zu bestimmten Ereignissen finden Sie im Wiki.

Wie bereits erwähnt, besteht die Kernel-Modus-Komponente von EventHorizon aus einem einzigen Early Launch Antimalware (ELAM)-Treiber namens EventHorizonELAM, der sich in C:\Windows\System32\drivers\ befindet. Dieser ELAM-Treiber ermöglicht es den Benutzermodus-Komponenten von EventHorizon, PPL-AntiMalware-Schutz zu erhalten. Zusätzlich reagiert der Treiber auf Anforderungen von Benutzermodus-Komponenten über IOCTLs, um:
EventHorizon basiert auf einigen Bibliotheken:
Nachfolgend finden Sie eine Liste der Ressourcen, die ich während der Entwicklung verwendet habe, aber zuerst möchte ich einigen Personen für ihre direkten Beiträge danken. Zunächst möchte ich Jacob Acuna für seine frühen Beiträge zur Gesamtstruktur und Funktionalität des Projekts danken. Außerdem möchte ich Eric Esquivel, Julian Peña und Kyle Avery für ihre wertvollen Erkenntnisse danken.