Comprensione del Tracciamento Eventi Windows_ETW

  • Comprensione del Tracciamento Eventi Windows_ETW

Comprensione di ETW

Filtrate alcune informazioni non necessarie, consultare la documentazione completa: https://docs.microsoft.com/en-us/windows/win32/etw/event-tracing-portal

Comprensione delle Basi

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

Architettura

Sessione

Esistono quattro tipi di sessione

Tipo di sessione Utilizzo Limitazioni Caratteristiche
Sessione di Tracciamento Eventi(ETW Standard) 1. EVENT_TRACE_PROPERTIES2. StartTrace, creazione della sessione3. EnableTrace 1. EnableTrace per provider classico 2. EnableTraceEx per provider basato su manifest 4. ControlTrace arresto della sessione - Un provider basato su manifest supporta l’invio di eventi a massimo 8 sessioni- Un provider classico può servire una sola sessione.- Il comportamento di prelazione del provider da parte della sessione è “ultimo arrivato, primo servito”. ETW Standard.
Sessione SystemTraceProvider 1. EVENT_TRACE_PROPERTIES->EnableFlags2. StartTrace3. ControlTrace arresto della sessione - SystemTraceProvider è un provider di eventi kernel, che fornisce un insieme di eventi kernel predefiniti.- Sessione NT Kernel Logger è una sessione preconfigurata dal sistema che registra una serie di eventi kernel predefiniti dal sistema- Win7/WinServer2008R2 solo la sessione NT Kernel Logger può utilizzare SystemTraceProvider- Win8/WinServer2012 SystemTraceProvider può fornire eventi a 8 sessioni logger, di cui due fisse sono NT Kernel Logger e Circular Kernel Context Logger.- Win10 20348 e versioni successive, ogni provider System può essere controllato separatamente. Ottenere eventi kernel predefiniti dal sistema.
Sessione AutoLogger 1. Modifica registro 2. EnableTraceEx3. ControlTrace arresto della sessione - Sessione Global Logger è una sessione speciale e indipendente che registra gli eventi durante l’avvio del sistema.- AutoLogger normale richiede l’abilitazione manuale del provider, GlobalLogger no.- AutoLogger non supporta gli eventi NT Kernel Logger, solo GlobalLogger lo supporta.- Impatta i tempi di avvio, usarlo con moderazione Registra eventi durante l’avvio del sistema operativo
Sessione Private Logger - - ETW User-mode- Solo per uso all’interno del processo- Non conta nel limite di sessioni parallele di 64 sessioni. Privato del processo

Strumenti

  • logman
  • wevtutil
    • Esempio di query xpath: wevtutil qe Security /c:2 /q:"*[System[EventID=5157]]" /f:text
  • tracelog
    • Utilizzando lo strumento tracelog di Visual Studio, è possibile aggiungere e rimuovere dinamicamente i provider ETW e aggiungere e rimuovere dinamicamente le sessioni ETW durante l’esecuzione
  • mc
  • etw-providers-docs