Utiliser la déduplication dans la recherche et les tableaux de bord

Compatible avec :

Dans Google Security Operations, les résultats de recherche peuvent inclure des doublons lorsque plusieurs systèmes enregistrent le même événement (par exemple, un système d'authentification et un pare-feu enregistrent tous deux une même connexion).

Pour ne renvoyer que des résultats uniques, utilisez la section dedup dans votre syntaxe YARA-L. L'ajout de champs UDM à cette section permet de s'assurer que la requête renvoie un seul résultat pour chaque combinaison distincte de valeurs.

Consignes concernant les performances

L'opérateur dedup traite toutes les données d'une période comme une seule unité pour garantir l'exactitude.

  • Plages optimales : les performances sont optimales pour les plages <= 1 jour.
  • Latence : les plages de 7 à 30 jours augmentent considérablement la latence et peuvent entraîner des délais d'expiration des requêtes.

Nous vous recommandons de toujours utiliser la plage de dates la plus courte possible pour votre enquête lorsque vous appliquez l'opérateur dedup.

Déduplication par type de requête

Le comportement de déduplication dépend de l'utilisation d'agrégations dans votre requête et s'applique aux types de requêtes de recherche et de tableau de bord suivants.

Requêtes de recherche agrégées

Les requêtes de recherche agrégées incluent les sections match, match et outcome, ou aggregated outcome. La déduplication a lieu après la détermination des résultats.

Pour ces requêtes, ajoutez les champs suivants à la section dedup :

  • Champs de la section match
  • *Champs de la section outcome

Requêtes de recherche UDM

Les requêtes de recherche UDM excluent les sections match, outcome ou outcome agrégées. Remarque : Les requêtes de recherche UDM peuvent inclure une section outcome à condition qu'il n'y ait pas d'agrégats ni de section match.

Pour dédupliquer les recherches UDM, ajoutez ces champs à la section dedup :

  • Tous les champs d'événement non répétés, non matriciels et non groupés.
  • Champs d'espace réservé de la section events.
  • Variables de résultat de la section outcome (s'il n'y a pas d'agrégats).

Cette section présente la syntaxe YARA-L et peut être exécutée dans Recherche.

Exemple : Rechercher des adresses IP uniques

L'exemple de requête suivant identifie les connexions réseau entre les adresses IP internes et externes, dédupliquées par l'adresse IP interne (principal.ip) :

events:
   metadata.event_type = "NETWORK_CONNECTION"
   target.ip != ""
   principal.ip != ""

match:
   target.ip, principal.ip

dedup:
   principal.ip

Exemple : Adresses IP uniques avec volume de trafic

Comme dans l'exemple précédent, la requête de recherche suivante affiche les événements de connexion réseau avec des adresses IP uniques. L'application de dedup à principal.ip permet de limiter les résultats aux événements associés à des adresses IP uniques. La section outcome affiche le nombre total d'octets envoyés entre principal.ip et target.ip, en classant les résultats du volume de trafic le plus élevé au plus faible.

events:
   metadata.event_type = "NETWORK_CONNECTION"
   target.ip != ""
   principal.ip != ""

match:
   target.ip, principal.ip

outcome:
   $total_bytes = sum(network.sent_bytes)

dedup:
   principal.ip

order:
   $total_bytes desc

Exemple : Déduplication UDM de base

L'exemple suivant recherche une vue d'ensemble des noms d'hôte uniques auxquels l'utilisateur a accédé dans tous les types de journaux. L'application de dedup à target.hostname limite les résultats aux événements associés à des noms d'hôte externes uniques. Remarque : Ce format est efficace pour les requêtes qui ne nécessitent pas d'agrégations.

metadata.log_type != ""

dedup:
    target.hostname

Voici un exemple équivalent sans l'option dedup. Il renvoie généralement beaucoup plus d'événements.

metadata.log_type != "" AND target.hostname != ""

Exemple : Noms d'hôte uniques

Comme dans l'exemple précédent, cette recherche affiche les événements de connexion réseau avec des noms d'hôte uniques. L'application de l'option dedup à principal.hostname permet de limiter les résultats aux événements associés à des hôtes uniques :

events:
   metadata.event_type = "NETWORK_CONNECTION"
   target.hostname != ""
   principal.hostname != ""

match:
   target.hostname, principal.hostname

outcome:
   $total_bytes = sum(network.sent_bytes)

dedup:
   principal.hostname

order:
   $total_bytes desc

Vous avez encore besoin d'aide ? Obtenez des réponses de membres de la communauté et de professionnels Google SecOps.