re.regex
Vous pouvez définir la correspondance d'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 qui correspond à 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.
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 retour à la 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ètre
ANY – ANY
Type renvoyé
BOOL
Exemples de code
Exemple 1
// Equivalent to $e.principal.hostname = /google/
re.regex($e.principal.hostname, "google")