re.regex
Puoi definire la corrispondenza con le espressioni regolari in YARA-L 2.0 utilizzando una delle seguenti sintassi:
Utilizzo della sintassi YARA-L: correlata agli eventi. Di seguito è riportata una rappresentazione generica di questa sintassi:
$e.field = /regex/Utilizzo della sintassi YARA-L: come funzione che accetta i seguenti parametri:
- Campo a cui viene applicata l'espressione regolare.
- Espressione regolare specificata come stringa.
Di seguito è riportata una rappresentazione generica di questa sintassi:
re.regex($e.field, `regex`)
Descrizione
Questa funzione restituisce true se la stringa contiene una sottostringa che corrisponde all'espressione regolare fornita. Non è necessario aggiungere .* all'inizio o alla fine dell'espressione regolare.
La funzione re.regex utilizza il motore di espressioni regolari RE2.
Note
- Per trovare la stringa esatta o solo un prefisso o un suffisso, includi i caratteri di ancoraggio
^(iniziale) e$(finale) nell'espressione regolare. Ad esempio,/^full$/corrisponde esattamente a"full", mentre/full/potrebbe corrispondere a"fullest","lawfull"e"joyfully". - Se il campo UDM include caratteri di nuova riga,
regexpcorrisponde solo alla prima riga del campo UDM. Per applicare la corrispondenza completa del campo UDM, aggiungi(?s)all'espressione regolare. Ad esempio, sostituisci/.*allUDM.*/con/(?s).*allUDM.*/. - Puoi utilizzare il modificatore
nocasedopo le stringhe per indicare che la ricerca deve ignorare le maiuscole.
Tipi di dati dei parametri
STRING, STRING
Tipi di espressioni dei parametri
ANY, ANY
Tipo restituito
BOOL
Esempi di codice
Esempio 1
// Equivalent to $e.principal.hostname = /google/
re.regex($e.principal.hostname, "google")