Comprendre le suivi d'événements Windows - ETW
Categories:
- Comprendre le suivi d’événements Windows - ETW
Comprendre ETW
Filtrage d’informations inutiles, documentation complète disponible sur : https://docs.microsoft.com/en-us/windows/win32/etw/event-tracing-portal
Comprendre les bases
https://learn.microsoft.com/en-us/windows/win32/etw/about-event-tracing

Session
Il existe quatre types de session
| Type de session | Utilisation | Limites | Caractéristiques |
|---|---|---|---|
| Session de suivi d’événements(ETW Standard) | 1. EVENT_TRACE_PROPERTIES2. StartTrace, création de session3. EnableTrace 1. EnableTrace pour fournisseur classique 2. EnableTraceEx pour fournisseur basé sur manifest4. ControlTrace Arrêt de session | - Un fournisseur basé sur manifest ne prend en charge que jusqu’à 8 sessions- Un fournisseur classique ne peut servir qu’une seule session.- Le comportement de prise de contrôle d’un fournisseur par session est “dernier arrivé, premier servi”. | ETW standard. |
| Session SystemTraceProvider | 1. EVENT_TRACE_PROPERTIES->EnableFlags2. StartTrace3. ControlTrace Arrêt de session | - SystemTraceProvider est un fournisseur d’événements noyau, fournissant un ensemble d’événements noyau prédéfinis.- Session NT Kernel Logger est une session système prédéfinie, enregistrant une série d’événements noyau prédéfinis.- Win7/WinServer2008R2 : seul NT Kernel Logger session peut utiliser SystemTraceProvider - Win8/WinServer2012 : SystemTraceProvider peut fournir des événements à 8 sessions logger, dont deux sont fixes : NT Kernel Logger et Circular Kernel Context Logger.- Après Win10 20348 : chaque fournisseur système peut être contrôlé séparément. | Obtention d’événements noyau prédéfinis système. |
| Session AutoLogger | 1. Modification du registre 2. EnableTraceEx3. ControlTrace Arrêt de session | - Session Global Logger est une session indépendante spéciale, enregistrant les événements pendant le démarrage système.- AutoLogger normal doit activer manuellement le fournisseur, GlobalLogger non.- AutoLogger ne prend pas en charge les événements NT Kernel Logger, seul GlobalLogger prend en charge.- Impact sur le temps de démarrage, utilisation modérée | Enregistrement des événements pendant le démarrage système |
| Session Private Logger | - | - ETW en mode utilisateur- Usage uniquement intra-processus- Non inclus dans la limite parallèle de 64 sessions. | Privé processus |
Outils
- logman
- wevtutil
- Exemple de requête xpath :
wevtutil qe Security /c:2 /q:"*[System[EventID=5157]]" /f:text
- Exemple de requête xpath :
- tracelog
- Utilisation de l’outil
tracelogde Visual Studio, permettant d’ajouter et de supprimer dynamiquement des fournisseurs ETW et des sessions ETW lors de l’exécution
- Utilisation de l’outil
- mc
- etw-providers-docs