re.regex
Vous pouvez définir la correspondance des expressions régulières dans YARA-L 2.0 à l'aide de l'une des syntaxes suivantes :
Utilisation de la syntaxe YARA-L : concerne les événements. Voici une représentation générique de cette syntaxe :
$e.field = /regex/En utilisant la syntaxe YARA-L : en tant que fonction prenant les paramètres suivants :
- Champ auquel l'expression régulière est appliquée.
- Expression régulière spécifiée sous forme de chaîne.
Voici une représentation générique de cette syntaxe :
re.regex($e.field, `regex`)
Description
Cette fonction renvoie true si la chaîne contient une sous-chaîne correspondant à l'expression régulière fournie. Il n'est pas nécessaire d'ajouter .* au début ou à la fin de l'expression régulière.
La fonction re.regex utilise le moteur d'expressions régulières RE2.
Remarques
- Pour faire correspondre la chaîne exacte ou uniquement un préfixe ou un suffixe, incluez les caractères d'ancrage
^(début) et$(fin) dans l'expression régulière. Par exemple,/^full$/correspond exactement à"full", tandis que/full/peut correspondre à"fullest","lawfull"et"joyfully". - Si le champ UDM inclut des caractères de nouvelle ligne,
regexpne correspond qu'à la première ligne du champ UDM. Pour forcer la correspondance complète des champs UDM, ajoutez(?s)à l'expression régulière. Par exemple, remplacez/.*allUDM.*/par/(?s).*allUDM.*/. - Vous pouvez utiliser le modificateur
nocaseaprès les chaînes pour indiquer que la recherche doit ignorer la casse.
Types de données des paramètres
STRING – STRING
Types d'expressions de paramètres
ANY – ANY
Type renvoyé
BOOL
Exemples de code
Exemple 1
// Equivalent to $e.principal.hostname = /google/
re.regex($e.principal.hostname, "google")