Utilizzare elenchi di riferimento e tabelle di dati in YARA-L 2.0
Gli elenchi di riferimento e le tabelle di dati ti consentono di strutturare la logica confrontando i campi evento con set di dati personalizzati. Utilizza questi oggetti per gestire indicatori di volume elevato, come IP noti come dannosi o nomi host approvati, in Ricerca, Dashboard e rilevamenti senza modificare la sintassi sottostante.
Puoi utilizzare elenchi di riferimento o tabelle di dati nelle sezioni events o outcome di una regola. Per saperne di più sul comportamento e sulla sintassi degli elenchi di riferimento e delle tabelle di dati, consulta Elenchi di riferimento e Utilizzare le tabelle di dati.
Applicare la sintassi dell'elenco di riferimenti e della tabella di dati
Gli elenchi di riferimento e le tabelle di dati seguono una sintassi simile, definita dall'ID oggetto e dal tipo di corrispondenza (string, regex o CIDR) richiesto per l'operazione. Questa sezione mostra esempi di sintassi per l'utilizzo di vari tipi di elenchi di riferimento.
In Google Security Operations, gli elenchi di riferimento e le tabelle di dati vengono utilizzati all'interno delle sezioni events o outcome di una regola YARA-L per confrontare i dati sugli eventi con i set di dati caricati. Vengono eseguiti durante il processo di valutazione delle regole per filtrare gli eventi o arricchire i risultati del rilevamento.
Utilizza gli elenchi di riferimento quando devi verificare se un singolo campo corrisponde a un valore in un elenco predefinito (ad esempio, un elenco di IP dannosi noti).
- STRINGA:
$e.principal.hostname in %string_list_name REGEX:
$e.principal.hostname in regex %regex_list_nameCIDR:
$e.principal.ip in cidr %cidr_list_name
Utilizza le tabelle di dati quando i dati di riferimento hanno una struttura a righe o colonne, in modo da poter mappare campi specifici a colonne specifiche.
STRINGA:
$e.target.hostname in %table_name.column_nameREGEX:
$e.target.hostname in regex %table_name.column_nameCIDR:
$e.principal.ip in cidr %table_name.column_name
Esempi: sintassi e comportamento dell'elenco di riferimenti
I seguenti esempi illustrano come strutturare le query per diversi tipi di set di dati e applicare la logica condizionale alle corrispondenze:
Esempio: sintassi dell'elenco di riferimenti in una query
// STRING reference list $e.principal.hostname in %string_reference_list // Regular expression reference list $e.principal.hostname in regex %regex_reference_list // CIDR reference list $e.principal.ip in cidr %cidr_reference_list
Esempio: sintassi della tabella dei dati
// STRING data table $e.target.hostname in %data_table_name.column_name // Regular expression data table $e.target.hostname in regex %regex_table_name.column_name // CIDR data table $e.principal.ip in cidr %cidr_table_name.column_name
Esempio: operatori not e nocase
L'operatore nocase è compatibile con gli elenchi STRING e REGEX.
// Exclude events whose hostnames match substrings in my_regex_list.
not $e.principal.hostname in regex %my_regex_list
// Event hostnames must match at least one string in my_string_list (case insensitive).
$e.principal.hostname in %my_string_list nocase
L'operatore nocase è compatibile con gli elenchi STRING e REGEX.
Per motivi di prestazioni, il motore di rilevamento limita l'utilizzo degli elenchi di riferimento.
- Numero massimo di istruzioni
inin una regola, con o senza operatori speciali: 10 - Massimo
inistruzioni con l'operatoreregex: 5 - Massimo
inistruzioni con l'operatorecidr: 5
Per saperne di più sul comportamento e sulla sintassi degli elenchi di riferimenti, consulta Elenchi di riferimenti.
Per mantenere prestazioni ottimali nella Ricerca, nelle dashboard e nei rilevamenti, il motore YARA-L applica i seguenti limiti:
- Numero massimo di istruzioni
inin una query, con o senza operatori speciali: 7 - Massimo
inistruzioni con l'operatoreregex: 4 - Massimo
inistruzioni con l'operatorecidr: 2
Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.