État ou section "État"

Compatible avec :

Ce document explique comment utiliser l'opérateur or pour écrire une logique de détection flexible et concise dans la section condition de votre requête.

L'utilisation de or entre des variables d'événement ou d'espace réservé vous permet de combiner plusieurs conditions, ce qui réduit la complexité globale de la syntaxe de votre requête :

  • Vérifie la présence de l'une ou l'autre des variables spécifiées. Par exemple, $e1 or $e2 nécessite au moins une instance de $e1 ou une instance de $e2.

Syntaxe or dans la section "Condition"

Utilisez le mot clé or directement entre les variables. L'exemple suivant est équivalent à COUNT($e1)>0 or COUNT($e2)>0 :

condition:
  $e1 or $e2  // True if $e1 exists or $e2 exists

Exemple de règle : exécution d'une adresse IP à risque ou d'un hachage incorrect

La règle d'exemple suivante détecte une menace si un lancement de processus à partir d'une adresse IP à risque est détecté ou si un hachage malveillant connu est exécuté :

rule MultiEventOr {
  meta:
    author = "google-secops"
  events:
    $e1.principal.ip = "1.1.1.1"
    $e1.metadata.event_type = "PROCESS_LAUNCH"
    $e2.target.file.sha256 = "badhash..."
    $user = $e1.principal.user.userid
    $user = $e2.principal.user.userid
  match:
    $user over 5m
  condition:
    $e1 or $e2
}

Exemple de recherche : exécution d'une adresse IP à risque ou d'un hachage incorrect

L'exemple suivant montre comment reformater la règle d'exemple en requête de recherche.

$e1.principal.ip = "1.1.1.1"
$e1.metadata.event_type = "PROCESS_LAUNCH"
$e2.target.file.sha256 = "badhash..."
$user = $e1.principal.user.userid
$user = $e2.principal.user.userid

match:
  $user over 5m

condition:
  $e1 or $e2

Limitations connues

  • Consommation de ressources : lorsque vous utilisez or entre les variables d'événement, cela consomme plus de ressources que l'utilisation de and et peut entraîner des temps d'exécution de requête plus longs.

  • Limite de variables d'événement : pour la recherche et les tableaux de bord, vous pouvez utiliser un maximum de trois événements dans la syntaxe or multi-événements. Pour les règles, vous pouvez utiliser au maximum deux événements dans la syntaxe or multi-événements.

  • Existence requise de l'événement : les expressions utilisant or ne peuvent pas être illimitées. L'existence de l'événement doit être une condition pour que la clause soit vraie (par exemple, $e1 ou #e1 > 0).

  • Mélange de types de variables : vous ne pouvez pas combiner des variables non UDM avec des variables d'événement UDM dans la même liste or.

  • Restriction de fenêtre : vous ne pouvez pas utiliser de fenêtres cumulées avec la syntaxe or.

Étape suivante

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