re.regex
Sie können den Abgleich regulärer Ausdrücke in YARA-L 2.0 mit einer der folgenden Syntax definieren:
YARA-L-Syntax verwenden – bezieht sich auf Ereignisse. Das ist eine allgemeine Darstellung dieser Syntax:
$e.field = /regex/Verwendung der YARA-L-Syntax: Als Funktion mit den folgenden Parametern:
- Das Feld, auf das der reguläre Ausdruck angewendet wird.
- Regulärer Ausdruck, der als String angegeben wird.
Das ist eine allgemeine Darstellung dieser Syntax:
re.regex($e.field, `regex`)
Beschreibung
Diese Funktion gibt true zurück, wenn der String einen Teilstring enthält, der mit dem angegebenen regulären Ausdruck übereinstimmt. Es ist nicht erforderlich, .* am Anfang oder am Ende des regulären Ausdrucks hinzuzufügen.
Hinweise
- Wenn Sie nach dem genauen String oder nur nach einem Präfix oder Suffix suchen möchten, fügen Sie die Ankerzeichen
^(Beginn) und$(Ende) in den regulären Ausdruck ein./^full$/stimmt beispielsweise genau mit"full"überein, während/full/mit"fullest","lawfull"und"joyfully"übereinstimmen kann. - Wenn das UDM-Feld Zeilenumbruchzeichen enthält, entspricht
regexpnur der ersten Zeile des UDM-Felds. Wenn Sie erzwingen möchten, dass alle UDM-Felder übereinstimmen, fügen Sie dem regulären Ausdruck ein(?s)hinzu. Ersetzen Sie beispielsweise/.*allUDM.*/durch/(?s).*allUDM.*/. - Sie können den Modifikator
nocasenach Strings verwenden, um anzugeben, dass bei der Suche die Groß-/Kleinschreibung ignoriert werden soll.
Parameterdatentypen
STRING, STRING
Typen von Parameterausdrücken
ANY, ANY
Rückgabetyp
BOOL
Codebeispiele
Beispiel 1
// Equivalent to $e.principal.hostname = /google/
re.regex($e.principal.hostname, "google")