Verständnis von Windows-Ereignisverfolgung_ETW

  • Verständnis von Windows-Ereignisverfolgung_ETW

Verständnis von ETW

Einige unnötige Informationen wurden herausgefiltert. Vollständige Dokumentation siehe: https://docs.microsoft.com/en-us/windows/win32/etw/event-tracing-portal

Grundlegendes Verständnis

https://learn.microsoft.com/en-us/windows/win32/etw/about-event-tracing

Architektur

Session

Es gibt vier Arten von Sessionen

Session-TypVerwendungEinschränkungenMerkmale
Event Tracing Session(Standard ETW)1. EVENT_TRACE_PROPERTIES2. StartTrace, Erstellung der Session3. EnableTrace 1. EnableTrace für klassischen Provider 2. EnableTraceEx für manifestbasierten Provider4. ControlTrace  Beenden der Session- Ein manifestbasierter Provider kann Ereignisse nur an maximal 8 Sessionen bereitstellen- Ein klassischer Provider kann nur eine Session bedienen.- Das Provider-Übernahmeverhalten der Session ist nachfolgend.Standard-ETW.
SystemTraceProvider Session1. EVENT_TRACE_PROPERTIES->EnableFlags2. StartTrace3. ControlTrace  Beenden der Session- SystemTraceProvider ist ein Kernel-Ereignis-Provider, der einen Satz vordefinierter Kernel-Ereignisse bereitstellt.- NT Kernel Logger Session ist eine vom System vorgegebene Session, die eine Reihe von systemdefinierten Kernel-Ereignissen aufzeichnet- Win7/WinServer2008R2 kann nur NT Kernel Logger Session SystemTraceProvider verwenden- Win8/WinServer2012 kann SystemTraceProvider Ereignisse an 8 Logger-Sessions bereitstellen, wobei zwei davon fest auf NT Kernel Logger und Circular Kernel Context Logger festgelegt sind.- Win10 20348 und später kann jeder System-Provider einzeln gesteuert werden.Erfassung von vordefinierten Kernel-Ereignissen des Systems.
AutoLogger session1. Registrierungsänderung 2. EnableTraceEx3. ControlTrace  Beenden der Session- Global Logger Session ist eine spezielle, unabhängige Session, die Ereignisse während des Systemstarts aufzeichnet.- Normale AutoLogger müssen den Provider selbst aktivieren, GlobleLogger nicht.- AutoLogger unterstützt keine NT Kernel Logger Ereignisse, nur GlobalLogger unterstützt.- Beeinflusst die Startzeit, sparsam verwendenAufzeichnung von Ereignissen während des Betriebssystemstarts
Private Logger Session-- User-mode ETW- Nur innerhalb des Prozesses verwendbar- Nicht in die parallele Beschränkung von 64 Sessionen einbezogen.Prozessspezifisch

Werkzeuge

  • logman
  • wevtutil
    • Beispiel für XPath-Abfrage: wevtutil qe Security /c:2 /q:"*[System[EventID=5157]]" /f:text
  • tracelog
    • Verwendung des tracelog-Tools von Visual Studio, mit dem ETW-Provider zur Laufzeit dynamisch hinzugefügt und entfernt sowie ETW-Sessions dynamisch hinzugefügt und entfernt werden können.
  • mc
  • etw-providers-docs