Utilizzare elenchi di riferimento e tabelle di dati in YARA-L 2.0

Supportato in:

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_name

  • CIDR: $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_name

  • REGEX: $e.target.hostname in regex %table_name.column_name

  • CIDR: $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 in in una regola, con o senza operatori speciali: 10
  • Massimo in istruzioni con l'operatore regex: 5
  • Massimo in istruzioni con l'operatore cidr: 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 in in una query, con o senza operatori speciali: 7
  • Massimo in istruzioni con l'operatore regex: 4
  • Massimo in istruzioni con l'operatore cidr: 2

Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.