Gérer le délai d’ingestion dans les règles d’analyse planifiée

Importante

Les détections personnalisées constituent désormais le meilleur moyen de créer de nouvelles règles dans Microsoft Sentinel Microsoft Defender XDR SIEM. Les détections personnalisées vous permettent de réduire les coûts d’ingestion, d’obtenir des détections en temps réel illimitées et de bénéficier d’une intégration transparente avec Defender XDR données, fonctions et actions de correction avec le mappage automatique d’entités. Pour plus d’informations, consultez ce blog.

Bien que Microsoft Sentinel puissiez ingérer des données provenant de différentes sources, le temps d’ingestion de chaque source de données peut varier selon les circonstances.

Cet article décrit comment le délai d’ingestion peut impacter vos règles d’analyse planifiées et comment vous pouvez les corriger pour combler ces lacunes.

Pourquoi le retard est important

Par exemple, vous pouvez écrire une règle de détection personnalisée, en définissant les données Exécuter chaque requête et Rechercher les données des derniers champs pour que la règle s’exécute toutes les cinq minutes, en recherchant les données de ces cinq dernières minutes :

Capture d’écran montrant la fenêtre Assistant Règle d’analyse - Créer une règle.

Les données de recherche du dernier champ définissent un paramètre appelé période de recherche arrière . Dans l’idéal, lorsqu’il n’y a pas de délai, cette détection ne manque aucun événement, comme illustré dans le diagramme suivant :

Diagramme montrant une fenêtre de retour en arrière de cinq minutes.

L’événement arrive au fur et à mesure de sa génération et est inclus dans la période de recherche arrière.

À présent, supposons qu’il y ait un certain délai pour votre source de données. Pour cet exemple, supposons que l’événement a été ingéré deux minutes après sa génération. Le délai est de deux minutes :

Diagramme montrant des fenêtres de retour en arrière de cinq minutes avec un délai de deux minutes.

L’événement est généré au cours de la première période de retour en arrière, mais n’est pas ingéré dans votre espace de travail Microsoft Sentinel lors de la première exécution. La prochaine fois que la requête planifiée s’exécute, elle ingère l’événement, mais le filtre généré dans le temps supprime l’événement, car il s’est produit il y a plus de cinq minutes. Dans ce cas, la règle ne déclenche pas d’alerte.

Comment gérer le délai

Remarque

Vous pouvez soit résoudre le problème à l’aide du processus décrit ci-dessous, soit implémenter les règles de détection en quasi-temps réel (NRT) de Microsoft Sentinel. Pour plus d’informations, consultez Détecter rapidement les menaces avec des règles d’analyse en quasi-temps réel (NRT) dans Microsoft Sentinel.

Pour résoudre le problème, vous devez connaître le délai pour votre type de données. Pour cet exemple, vous savez déjà que le délai est de deux minutes.

Pour vos propres données, vous pouvez comprendre le délai à l’aide de la fonction Kusto ingestion_time() et calculer la différence entre TimeGenerated et le temps d’ingestion. Pour plus d’informations, consultez Calculer le délai d’ingestion.

Après avoir déterminé le délai, vous pouvez résoudre le problème comme suit :

  • Augmentez la période de recherche en arrière. L’intuition de base vous dit que l’augmentation de la taille de la période de retour en arrière sera utile. Étant donné que votre période de recherche en arrière est de cinq minutes et que votre délai est de deux minutes, le fait de définir la période de retour sur sept minutes vous aidera à résoudre ce problème. Par exemple, dans vos paramètres de règle :

    Capture d’écran montrant la définition de la fenêtre de retour en arrière sur sept minutes.

    Le diagramme suivant montre comment la période look-pack contient désormais l’événement manqué :

    Diagramme montrant les fenêtres de retour de sept minutes avec un délai de deux minutes.

  • Gérer la duplication. Seul l’augmentation de la période de recherche arrière peut créer une duplication, car les fenêtres de retour en arrière se chevauchent désormais. Par exemple, un autre événement peut se présenter comme indiqué dans le diagramme suivant :

    Diagramme montrant comment les fenêtres de retour en arrière qui se chevauchent créent une duplication.

    Étant donné que la valeur TimeGenerated de l’événement se trouve dans les deux périodes d’analyse, l’événement déclenche deux alertes. Vous devez trouver un moyen de résoudre la duplication.

  • Associez l’événement à une période de retour en arrière spécifique. Dans le premier exemple, vous avez manqué des événements, car vos données n’ont pas été ingérées lors de l’exécution de la requête planifiée. Vous avez étendu la recherche en arrière pour inclure l’événement, mais cela a provoqué une duplication. Vous devez associer l’événement à la fenêtre que vous avez étendue pour le contenir.

    Pour ce faire, définissez ingestion_time() > ago(5m), au lieu de la règle look-back = 5md’origine . Ce paramètre associe l’événement à la première fenêtre de retour en arrière. Par exemple :

    Diagramme montrant comment la définition de la restriction ago évite la duplication.

    La restriction de temps d’ingestion réduit désormais les deux minutes supplémentaires que vous avez ajoutées à la période de recherche en arrière. Et pour le premier exemple, la deuxième période de recherche en arrière capture désormais l’événement :

    Diagramme montrant comment la définition de la restriction ago capture l’événement.

L’exemple de requête suivant résume la solution pour résoudre les problèmes de retard d’ingestion :

let ingestion_delay = 2min;
let rule_look_back = 5min;
CommonSecurityLog
| where TimeGenerated >= ago(ingestion_delay + rule_look_back)
| where ingestion_time() > ago(rule_look_back)

Pour plus d’informations sur les éléments suivants utilisés dans l’exemple précédent, consultez la documentation Kusto :

Calculer le délai d’ingestion

Par défaut, Microsoft Sentinel règles d’alerte planifiées sont configurées pour avoir une période de retour en arrière de 5 minutes. Toutefois, chaque source de données peut avoir son propre délai d’ingestion individuel. Lorsque vous joignez plusieurs types de données, vous devez comprendre les différents délais pour chaque type de données afin de configurer correctement la période de recherche en arrière.

Le rapport d’utilisation de l’espace de travail, fourni dans Microsoft Sentinel prête à l’emploi, inclut un tableau de bord qui affiche la latence et les retards pour les différents types de données qui circulent dans votre espace de travail.

Par exemple :

Capture d’écran du rapport d’utilisation de l’espace de travail montrant la latence de bout en bout par table

Prochaines étapes

Pour plus d’informations, reportez-vous aux rubriques suivantes :