Présentation des fichiers de configuration Sysmon

Les fichiers de configuration Sysmon définissent les données de télémétrie que Sysmon enregistre et ce qu’il ignore. Étant donné que Sysmon capture une activité système détaillée et de bas niveau, la conception de configuration détermine directement l’utilité, les performances et la valeur d’investigation des données obtenues. 

Cet article explique la structure des fichiers de configuration Sysmon, comment les règles de filtrage sont évaluées et comment raisonner la conception de la configuration lors du déploiement de Sysmon en tant que fonctionnalité Windows intégrée. 

Fichiers de configuration

Les fichiers de configuration définissent le comportement de Sysmon en spécifiant des paramètres globaux et des règles de filtrage d’événements. Ils facilitent le déploiement d’une configuration prédéfinie et le filtrage des événements capturés. 

Dans Sysmon intégré, la configuration est appliquée via des mécanismes de configuration Windows et évaluée au moment de l’exécution. Les mises à jour de configuration prennent effet immédiatement et persistent entre les redémarrages. 

Structure de configuration de base

Un fichier XML de configuration Sysmon simple ressemble à ceci :

<Sysmon schemaversion="4.82">
  <!-- Capture all hashes -->
  <HashAlgorithms>*</HashAlgorithms>   
  <EventFiltering>   
    <!-- Log all drivers except if the signature -->  
    <!-- contains Microsoft or Windows -->     
    <DriverLoad onmatch="exclude">   
      <Signature condition="contains">microsoft</Signature>
      <Signature condition="contains">windows</Signature> 
    </DriverLoad>        
        <!-- Do not log process termination -->   
       <ProcessTerminate onmatch="include" /> 
       <!-- Log network connection if the destination port equals 443 -->  
       <!-- or 80, and process isn't InternetExplorer -->  
    <NetworkConnect onmatch="include">  
      <DestinationPort>443</DestinationPort>  
      <DestinationPort>80</DestinationPort>  
    </NetworkConnect>      <NetworkConnect onmatch="exclude">   
       <Image condition="end with">iexplore.exe</Image>    
    </NetworkConnect>    
  </EventFiltering> 
</Sysmon>   

Cet exemple illustre les points suivants :

  • Entrées de configuration globale

  • Filtrage spécifique à l’événement

  • Règles d’inclusion et d’exclusion combinées pour équilibrer la visibilité et le bruit

Version de schéma

Le fichier de configuration contient un attribut schemaversion sur la <Sysmon> balise . Cette version est indépendante de la version binaire sysmon et permet à Sysmon d’analyser correctement les fichiers de configuration plus anciens. 

Contrôle de version du schéma :

  • Préserve la compatibilité entre les mises à jour Sysmon

  • Permet d’ajouter de nouvelles fonctionnalités en toute sécurité

  • Garantit que les anciennes configurations continuent de fonctionner

Entrées de configuration

Les entrées de configuration définissent le comportement global de Sysmon. Ils influencent la façon dont les événements sont enrichis ou gérés plutôt que les types d’événements générés.

Entrée Valeur Par défaut Description
ArchiveDirectory Chaîne Sysmon Répertoire à la racine de chaque volume où les fichiers supprimés sont archivés lorsque l’archivage ile-delete est activé. Le répertoire est protégé par une liste de contrôle d’accès système.
CheckRevocation Booléen Vrai Contrôle si des vérifications de révocation de signature numérique sont effectuées lors de la validation des fichiers binaires signés.
CopyOnDeletePE Booléen Faux Conserve les fichiers exécutables supprimés (PE) en les copiant dans le répertoire d’archive.
CopyOnDeleteSIDs Cordes Aucun(e) Liste séparée par des virgules des SID de compte pour lesquels les fichiers supprimés sont conservés.
CopyOnDeleteExtensions Cordes Aucun(e) Noms de processus pour lesquels les fichiers supprimés sont conservés.
DnsLookup Booléen Vrai Active la recherche DNS inversée pour les événements réseau afin de résoudre les adresses IP en noms d’hôtes.
DriverName Chaîne Généré automatiquement Spécifie le nom utilisé pour le pilote Sysmon et les images de service.
HachageAlgorithms Cordes Aucun(e) Algorithmes de hachage appliqués aux fichiers. Les valeurs prises en charge sont MD5, SHA1, SHA256, IMPHASH ou * (tous).

Les entrées de configuration contrôlent l’enrichissement et la gestion des événements, et non la sélection des événements.

Schéma de configuration et définition d’événement

La configuration sysmon est basée sur un schéma bien défini qui décrit :

  • Types d’événements pris en charge

  • Champs disponibles pour le filtrage

  • Types de données de champ

Ce schéma définit ce que les fichiers de configuration peuvent exprimer et garantit une analyse cohérente entre les versions de Sysmon.

Certaines entrées de configuration activent des fonctionnalités (telles que le hachage ou l’enrichissement), mais les événements doivent toujours être explicitement activés et filtrés sous <EventFiltering>.

L’exemple suivant montre la définition de schéma pour le type d’événement RawAccessRead :

<event name="SYSMON_RAWACCESS_READ" value="9" level="Informational" template="RawAccessRead detected" rulename="RawAccessRead" version="2">   
  <data name="UtcTime" inType="win:UnicodeString" outType="xs:string"/>   
  <data name="ProcessGuid" inType="win:GUID"/>   
  <data name="ProcessId" inType="win:UInt32" outType="win:PID"/>   
  <data name="Image" inType="win:UnicodeString" outType="xs:string"/>   
  <data name="Device" inType="win:UnicodeString" outType="xs:string"/>   
</event> 

Cela illustre les points suivants :

  • Chaque événement expose un ensemble fixe de champs

  • Seuls les champs définis par le schéma peuvent être utilisés dans les règles de filtrage

  • Les types de champs limitent les conditions de filtrage valides

Filtrage d’événements

Le filtrage d’événements contrôle les événements Sysmon qui sont enregistrés. Chaque type d’événement a sa propre balise de filtre sous <EventFiltering>.

Étiquette d’ID Événement Description
1 ProcessCreate Créer un processus
2 FileCreateTime Heure de création du fichier
3 NetworkConnect Connexion réseau
4 Non applicable Changement d’état du service Sysmon (non filtrable)
5 ProcessTerminate Processus terminé
6 DriverLoad Pilote chargé
7 ImageLoad Image chargée
8 CreateRemoteThread Création de threads distants
9 RawAccessRead Accès au disque brut
10 ProcessAccess Processus consulté
11 FileCreate Fichier créé
12–14 RegistryEvent Modifications du Registre
15 FileCreateStreamHash Flux de fichier créé
16 Non applicable Modification de la configuration Sysmon (non filtrable)
17–18 PipeEvent Activité de canal nommé
19–21 WmiEvent Activité WMI
22 DNSQuery Requête DNS
23 FileDelete Suppression de fichier (archivé)
24 Presse-papiersChange Modification du contenu du Presse-papiers
25 ProcessTampering Traiter la modification de l’image
26 FileDeleteDetected Suppression de fichier (journalisée)
27–29 FileBlock / FileExecutable Événements de fichier exécutable

Inclure et exclure des règles

Chaque filtre d’événement spécifie un attribut onmatch :

  • include : seuls les événements correspondants sont enregistrés

  • exclude : tous les événements sont enregistrés, à l’exception des événements correspondants

Les règles d’exclusion sont toujours prioritaires sur les règles include.

Logique de règle et conditions

Les règles référencent des champs d’événement et leur appliquent des conditions.

  • Les règles de même champ se comportent comme OR

  • Les règles de champ différent se comportent comme ET

Condition Description
is Correspondance exacte
Contient Correspondance de sous-chaîne
commencer par / terminer par Préfixe ou suffixe
image Correspondance d’image prenant en compte le chemin d’accès
contient tout / contient tout Correspondance à plusieurs valeurs
Exclut* Correspondance négative
inférieur à / supérieur à Comparaison lexicographique

Règles nommées

Les règles peuvent être nommées pour fournir le contexte d’audit :

<NetworkConnect onmatch="exclude"> 
  <Image name="network iexplore" condition="contains">iexplore.exe</Image> 
</NetworkConnect> 

Les règles nommées améliorent la clarté de l’examen et la facilité de maintenance.

Groupes de règles

Les groupes de règles permettent un contrôle explicite sur la combinaison de règles logiques :

<EventFiltering> 
  <RuleGroup name="group 1" groupRelation="and"> 
    <ProcessCreate onmatch="include"> 
      <Image condition="contains">timeout.exe</Image> 
      <CommandLine condition="contains">100</CommandLine> 
    </ProcessCreate> 
  </RuleGroup> 
  <RuleGroup groupRelation="or"> 
    <ProcessTerminate onmatch="include"> 
      <Image condition="contains">timeout.exe</Image> 
      <Image condition="contains">ping.exe</Image> 
    </ProcessTerminate>         
  </RuleGroup> 
  <ImageLoad onmatch="include"/> 
</EventFiltering>

Les groupes de règles autorisent :

  • Correspondance comportementale précise

  • Logique différente par type d’événement

  • Réduction de la duplication des règles

Visibilité des modifications de configuration

Chaque fois que la configuration Sysmon est mise à jour, Sysmon génère un événement de modification de configuration, ce qui permet l’auditabilité et le suivi des modifications.

Principes de conception

Configurations Sysmon effectives :

  • Démarrer en général et affiner au fil du temps

  • Exclure une activité bénigne connue

  • Conserver le contexte d’investigation

  • Éviter les règles trop spécifiques

Une fois les données de télémétrie exclues, elles ne peuvent pas être récupérées rétroactivement.

Ce que les fichiers de configuration ne font pas

Fichiers de configuration :

  • Ne pas détecter les menaces

  • Ne pas générer d’alertes

  • Ne pas classifier le comportement

  • Ne pas remplacer la logique SIEM ou EDR

Ils définissent quelles preuves existent, et non comment elles sont interprétées.

Résumé

Les fichiers de configuration Sysmon constituent la base de déploiements Sysmon efficaces. La compréhension de la structure de schéma, de la sémantique de filtrage, de la logique de règle et des modèles réels est essentielle pour créer des configurations qui mettez à l’échelle et conservent une valeur d’investigation à long terme.