groupe
group(field1, field2, field3, ...)
Description
Regroupez les champs de type similaire dans une variable d'espace réservé.
Dans la recherche UDM, les champs groupés permettent de rechercher dans plusieurs champs de type similaire. La fonction de groupe est semblable aux champs groupés, sauf qu'elle vous permet de sélectionner les champs que vous souhaitez regrouper pour déclencher une détection. Vous pouvez utiliser la fonction de groupe pour collecter des informations sur une entité spécifique (par exemple, un nom d'hôte, une adresse IP ou un ID utilisateur) dans différents types de noms.
Type de paramètre :
Event typeType renvoyé :
Grouped event fields
Exemples de code
Exemple : Agréger et comptabiliser les adresses IP
Regroupez toutes les adresses IP et fournissez un décompte décroissant des adresses IP les plus répandues dans la plage de temps analysée.
$ip = group(principal.ip, about.ip, target.ip)
$ip != ""
match:
$ip
outcome:
$count = count_distinct(metadata.id)
order:
$count desc
Exemple : compter le nombre d'événements distincts pour chaque adresse IP
Dans l'exemple suivant, la fonction group() collecte toutes les adresses IP trouvées dans les champs principal.ip, target.ip et src.ip pour tous les événements ayant déclenché la détection. Les adresses IP sont ensuite ajoutées à la variable d'espace réservé $ip. La règle fait ensuite correspondre l'adresse IP et renvoie un nombre d'événements distincts pour chaque adresse IP unique.
$ip = group(detection.collection_elements.references.event.principal.ip, detection.collection_elements.references.event.target.ip, detection.collection_elements.references.event.src.ip)
$ip != ""
match:
$ip
outcome:
$count = count_distinct(detection.id)
order:
$count desc
// Detection1: principal.ip = 1.1.1.1
// Detection2: src.ip = 1.1.1.1, target.ip = 2.2.2.2
// Detection3: target.ip = 1.1.1.1
// Detection4: principal.ip = 2.2.2.2
Résultat :
$ip |
$count |
|---|---|
| 1.1.1.1 | 3 |
| 2.2.2.2 | 2 |