re.regex
Puoi definire la corrispondenza con 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.
Note
- Per trovare la corrispondenza esatta della stringa o solo di un prefisso o 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 forzare la corrispondenza completa dei campi 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")