Come utilizzare Event Tracing per Windows (ETW)

Ultimo aggiornamento: 30/06/2025
Autore: Isaac
  • ETW consente di acquisire eventi del sistema operativo e delle applicazioni, sia nello spazio utente che nel kernel, ed è fondamentale per il debug e l'analisi delle prestazioni.
  • Esistono diversi tipi di provider ETW, come MOF, WPP, basati su manifest o TraceLogging, ognuno con la propria struttura e complessità.
  • È possibile utilizzare ETW utilizzando strumenti quali logman, wpr e PerfView, ideali per avviare sessioni di tracciamento, acquisire dati e analizzarli.
  • ETW è essenziale per le soluzioni EDR/XDR e le indagini forensi, poiché è in grado di estrarre eventi di memoria anche se un aggressore elimina i file.

Tracciamento eventi per Windows

Tracciamento degli eventi per Windows (ETW) È uno degli strumenti più potenti, ma anche sconosciuto a molti sviluppatori e professionisti della sicurezza in ambienti Microsoft. Questo sistema consente di monitorare, acquisire e analizzare gli eventi generati dal sistema operativo e dalle applicazioni, sia in modalità utente che kernel.

Utilizzato sia per il debug avanzato che per l'analisi forense o il rilevamento delle minacce, ETW offre una visibilità approfondita su ciò che accade a livello di sistema, con un impatto minimo sulle prestazioni. In questo articolo, analizzeremo in dettaglio il funzionamento di ETW, gli strumenti da utilizzare, la sua configurazione, i tipi di dati che è possibile ottenere e come sfruttarlo da diversi ambienti come .NET. PowerShell o addirittura in modo forense, partendo dalla memoria.

Cos'è ETW e perché è così potente?

Event Tracing per Windows è un sistema di tracciamento degli eventi integrato nel kernel di Windows.È stato progettato per consentire a sviluppatori e amministratori di registrare e utilizzare flussi di eventi in tempo reale o da file di log (.etl). ETW è estremamente versatile perché può essere utilizzato da:

  • Applicazioni in modalità utente scritte principalmente in C o C++
  • Driver del kernel
  • Sistemi EDR e antivirus
  • Analisti delle prestazioni o della sicurezza

Funziona attraverso un modello basato su tre ruoli chiave: L' fornitori (che generano gli eventi), il controllori (che configurano e controllano le sessioni di tracciamento) e il consumatori (che ha letto gli eventi).

Componenti essenziali dell'ecosistema ETW

Tracciamento eventi per Windows

Il modello operativo ETW ruota attorno a diversi elementi architettonici che consentono una netta separazione tra il generatore di eventi e il consumatore di eventi:

  Errore nell'ECCEZIONE NEGOZIO NON PREVISTA [RISOLTO DAGLI ESPERTI]

1. Fornitori o fornitori

Sono i componenti del sistema o delle applicazioni che emettono eventi. Ne esistono diversi tipi:

  • Fornitori basati su MOF: Utilizzano il formato Managed Object Format. Hanno una struttura più complessa e non sono più in uso.
  • Fornitori WPP: utilizzato principalmente nei driver per il debug.
  • Provider basati su manifesti: il più comune oggi. Utilizzano un manifesto XML che definisce la struttura dell'evento.
  • Fornitori di TraceLogging: un'alternativa più semplice compatibile con le applicazioni moderne.

2. Titolari del trattamento o titolari del trattamento

Sono responsabili dell'avvio, dell'arresto e della configurazione delle sessioni di tracciamento. Ad esempio, uno strumento come Logman Funziona come un controller, consentendo di configurare quali provider vengono attivati ​​e dove vengono scritti gli eventi.

3. Consumatori

Si tratta di applicazioni o script che leggono gli eventi, in tempo reale o tramite file .etl. Alcuni esempi noti sono:

  • Visualizzatore eventi (Visualizzatore eventi di Windows)
  • Analizzatore delle prestazioni di Windows (WPA)
  • PerfView
  • Sistemi EDR come Microsoft Defender per Endpoint

A cosa serve l'ETW?

ETW è ampiamente utilizzato nell'ecosistema Microsoft, dai processi interni alle soluzioni aziendali. Alcuni scenari includono:

  • Debug delle applicazioni in tempo reale
  • Monitoraggio delle prestazioni (CPU, IO, rete…)
  • Debug dei driver in modalità kernel
  • Prevenzione e rilevamento delle minacce con EDR/XDR
  • Indagine forense digitale

Come interagire con ETW: strumenti pratici

Esistono diversi strumenti che consentono di lavorare con ETW da diverse angolazioni:

Logman.exe

Strumento per riga di comandi Incluso in Windows, non richiede privilegi di amministratore per eseguire molte operazioni. Permette di elencare i provider disponibili, le sessioni attive e di configurare nuove sessioni:

  • logman query providers: elenca tutti i provider ETW
  • logman start miSesion -p {GUID} -o c:\logs\miSesion.etl -ets: Avvia una sessione di tracciamento
  • logman stop miSesion -ets: interrompe la sessione

WPR.exe e WPA.exe

Registratore delle prestazioni di Windows (WPR) viene utilizzato per avviare o interrompere le sessioni di tracciamento e Analizzatore delle prestazioni di Windows (WPA) Permette di analizzarli visivamente. Il suo utilizzo è comune in ambienti di sviluppo o debug avanzati:

  • wpr -start CPU -start FileIO -start DiskIO
  • wpr -stop resultado.etl

PerfView

Uno strumento sviluppato da Microsoft per l'analisi avanzata delle prestazioni. Genera tracce, raggruppa in base a modelli asincroni e semplifica il debug complesso. Consente inoltre l'acquisizione di sessioni round-robin per evitare il sovraccarico del disco:

perfview -ThreadTime -CircularMB:500 -LogFile:salida.log -Merge:true collect

I file generati (.etl e .etl.ngenpdb) possono essere aperti direttamente in WPA.

  Suggerimenti e trucchi per trovare tesori nascosti in Minecraft

Comprendere i manifesti ETW

I provider basati su manifest Definire tutti i loro eventi tramite un file XML. Questo manifesto include informazioni come:

  • Provider: nome, GUID e file di risorse
  • canali: canale di output (ad esempio Applicazione, Sistema)
  • Livelli: livello di gravità dell'evento (critico, errore, dettagliato...)
  • Attività e codici operativi: raggruppare gli eventi per attività e tipo di operazione
  • parole chiave: filtri per categorie di eventi
  • Mappe: mappatura dei codici in testo leggibile
  • Modelli: definire la struttura dei dati inclusi negli eventi
  • Manifestazioni: definire ogni evento con il suo ID, task, opcode, livello e template

Acquisizione e analisi delle tracce ETW

Una volta catturata una traccia (file .etl), è possibile convertirla in altri formati o analizzarla direttamente:

  • tracerpt archivo.etl -o archivo.xml: esporta in XML
  • tracerpt archivo.etl -o archivo.evtx -of EVTX: converte nel formato Visualizzatore eventi
  • xperf -i archivo.etl -o archivo.csv: scarica in CSV

È anche possibile effettuare visualizzazioni live con PerfView o definire sessioni automatiche dal Boot utilizzando autologger:

wpr -boottrace -addboot FileIO
Abilitare o disabilitare le funzionalità nascoste di Windows con regedit-3
Articolo correlato:
Come abilitare o disabilitare le funzionalità nascoste di Windows utilizzando Regedit: guida completa e trucchi avanzati

.NET ed ETW

In .NET puoi sfruttare l'API Elaborazione delle tracce per elaborare eventi generati da applicazioni o componenti. È disponibile come pacchetto NuGet ed è utilizzato anche dagli ingegneri Microsoft.

Casi d'uso di sicurezza: EDR/XDR e Threat Hunting

ETW è un pilastro delle soluzioni di rilevamento e risposta precoce (EDR/XDR). Si integra profondamente con il sistema e consente il rilevamento di comportamenti quali:

  • Creazione di processi sospetti
  • Modifiche al registro
  • Traffico di rete insolito
  • Accesso alle risorse di sistema critiche

Ad esempio, è possibile identificare tecniche come DCSync utilizzando provider che segnalano la replicazione del controller di dominio.

Analisi forense con ETW

La ricerca avanzata consente addirittura recuperare gli eventi ETW dalla RAM Se sono stati eliminati dal disco da un aggressore. Questo si ottiene accedendo a strutture interne come:

  • _WMI_LOGGER_CONTESTO: contiene elenchi come GlobalList o BufferQueue
  • _ETW_CONSUMATORE_IN_TEMPO_REALE: fornisce l'accesso a UserBufferListHead
  Guida completa per correggere l'errore OneDrive 0x80070194 su Windows

Strumenti come il Plug-in JPCERT Volatility3 Ciò consente di recuperare e analizzare queste tracce direttamente dai dump della RAM. Possono quindi essere elaborate con tracefmt o WPA per identificare l'accesso DNS, il traffico di rete, le minacce bloccate e altro ancora.

Questo sistema offre un visione completa del sistema operativo e dei livelli applicativi, consentendo di anticipare i problemi, ottimizzare le risorse e rilevare anomalie. Sebbene la curva di apprendimento sia ripida, padroneggiare gli strumenti e le strutture che lo compongono offre un vantaggio unico negli ambienti Windows moderni.

Differenze tra la ricerca classica e la ricerca avanzata in Windows 11-0
Articolo correlato:
Ricerca classica vs. Ricerca avanzata in Windows 11: differenze principali e come sfruttarle al meglio

Lascia un commento