Syntaxe de la section "Options"

Compatible avec :

La section options d'une requête YARA-L n'est disponible que pour les règles.

Vous pouvez spécifier des options à l'aide de la syntaxe key = value, où key doit être un nom d'option prédéfini et value doit être une valeur valide pour l'option :

rule RuleOptionsExample {
  // Other rule sections

  options:
    allow_zero_values = true
}

Valeurs des options

Les valeurs suivantes sont disponibles pour les options :

Option "Autoriser les valeurs nulles"

Les valeurs valides pour l'option allow_zero_values sont true et false (par défaut), qui déterminent si l'option est activée ou non. L'option allow_zero_values est désactivée si elle n'est pas spécifiée dans la requête.

Pour activer le paramètre allow_zero_values, ajoutez ce qui suit à la section options de votre requête : allow_zero_values = true

Cette action empêche la requête de filtrer implicitement les valeurs nulles des espaces réservés utilisés dans la section match, comme décrit dans Valeurs nulles dans la section "Correspondance".

Option suppression_window

L'option suppression_window vous permet de contrôler la fréquence à laquelle une règle déclenche une détection. Elle empêche la même règle de générer plusieurs détections au cours d'une période spécifiée, même si les conditions de la requête sont remplies plusieurs fois.

Le fenêtrage de suppression utilise une approche de fenêtre Tumbling, qui supprime les doublons sur une fenêtre de taille fixe et sans chevauchement.

Vous pouvez éventuellement fournir un suppression_key pour affiner davantage les instances de la requête qui sont supprimées dans la fenêtre de suppression. Si aucune valeur n'est spécifiée, toutes les instances de la requête sont supprimées. Cette clé est définie comme une variable de résultat et n'est prise en compte que pour les requêtes à événement unique.

Les requêtes d'événements multiples utiliseront les variables de correspondance de la section match pour déterminer ce qui doit être supprimé. La valeur suppression_window doit également être supérieure à la fenêtre de correspondance.

La valeur par défaut de suppression_window est 0, ce qui signifie que la période de suppression est désactivée par défaut.

Exemple : option de période de suppression pour les requêtes mono-événement

Dans l'exemple suivant, suppression_window est défini sur 5m et suppression_key est défini sur la variable $hostname. Une fois que la requête déclenche une détection pour $hostname, toute autre détection pour $hostname est supprimée pendant les cinq minutes suivantes. Toutefois, si la requête se déclenche sur un événement avec un nom d'hôte différent, une détection est créée.

rule SingleEventSuppressionWindowExample {
  // Other rule sections

  outcome:
    $suppression_key = $hostname

  options:
    suppression_window = 5m
}

Exemple : option de période de suppression pour les requêtes multi-événements

Dans l'exemple suivant, suppression_window est défini sur 1h. Une fois que la requête déclenche une détection pour ($hostname, $ip) sur une période de 10m, toute autre détection pour ($hostname, $ip) est supprimée pour l'heure suivante. Toutefois, si la requête est déclenchée par des événements avec une combinaison différente, une détection est créée.

rule MultipleEventSuppressionWindowExample {
  // Other rule sections

  match:
    $hostname, $ip over 10m

  options:
    suppression_window = 1h
}

Informations supplémentaires

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