Utilizzare la deduplicazione in Ricerca e dashboard

Supportato in:

In Google Security Operations, i risultati di ricerca possono includere duplicati quando più sistemi registrano lo stesso evento (ad esempio, un sistema di autenticazione e un firewall registrano entrambi un singolo accesso).

Per restituire solo risultati unici, utilizza la sezione dedup nella sintassi YARA-L. L'aggiunta di campi UDM a questa sezione assicura che la query restituisca un singolo risultato per ogni combinazione distinta di valori.

Linee guida per le prestazioni

L'operatore dedup elabora tutti i dati all'interno di un intervallo di tempo come un'unica unità per mantenere la correttezza.

  • Intervalli ottimali: il rendimento è migliore per gli intervalli <= 1 giorno.
  • Latenza: gli intervalli compresi tra 7 e 30 giorni aumentano significativamente la latenza e possono causare timeout delle query.

Ti consigliamo di utilizzare sempre l'intervallo di tempo più breve possibile adatto alla tua indagine quando applichi l'operatore dedup.

Deduplicazione per tipo di query

Il comportamento di deduplicazione dipende dal fatto che la query utilizzi aggregazioni e si applica ai seguenti tipi di query di ricerca e dashboard.

Query di ricerca aggregate

Le query di ricerca aggregate includono le sezioni match, match e outcome o aggregated outcome. La deduplicazione si verifica dopo che vengono determinati i risultati.

Per queste query, aggiungi i seguenti campi alla sezione dedup:

  • Campi della sezione match
  • *Campi della sezione outcome

Query di ricerca UDM

Le query di ricerca UDM escludono le sezioni match, outcome o outcome aggregate. Nota: le query di ricerca UDM possono includere una sezione outcome, a condizione che non siano presenti aggregazioni e non sia presente una sezione match.

Per deduplicare le ricerche UDM, aggiungi questi campi alla sezione dedup:

  • Qualsiasi campo evento non ripetuto, non array e non raggruppato.
  • Campi segnaposto della sezione events.
  • Variabili di risultato della sezione outcome (se non sono presenti aggregazioni).

Questa sezione mostra la sintassi YARA-L e può essere eseguita in Search.

Esempio: cerca indirizzi IP univoci

La seguente query di esempio identifica le connessioni di rete tra IP interni ed esterni, deduplicate in base all'IP interno (principal.ip):

events:
   metadata.event_type = "NETWORK_CONNECTION"
   target.ip != ""
   principal.ip != ""

match:
   target.ip, principal.ip

dedup:
   principal.ip

Esempio: indirizzi IP unici con volume di traffico

Analogamente all'esempio precedente, la seguente ricerca di esempio mostra gli eventi di connessione di rete con indirizzi IP unici. L'applicazione di dedup a principal.ip restringe i risultati agli eventi associati a IP unici. La sezione outcome mostra il totale dei byte inviati tra il giorno principal.ip e il giorno target.ip, ordinando i risultati dal volume di traffico più alto a quello più basso.

events:
   metadata.event_type = "NETWORK_CONNECTION"
   target.ip != ""
   principal.ip != ""

match:
   target.ip, principal.ip

outcome:
   $total_bytes = sum(network.sent_bytes)

dedup:
   principal.ip

order:
   $total_bytes desc

Esempio: deduplicazione UDM di base

L'esempio seguente cerca una visione generale dei nomi host unici a cui è stato eseguito l'accesso in tutti i tipi di log. L'applicazione di dedup a target.hostname restringe i risultati agli eventi associati a nomi host esterni univoci. Nota: questo formato è efficace per le query che non richiedono aggregazioni.

metadata.log_type != ""

dedup:
    target.hostname

Di seguito è riportato un esempio equivalente senza l'opzione dedup. In genere restituisce molti più eventi.

metadata.log_type != "" AND target.hostname != ""

Esempio: nomi host univoci

Analogamente all'esempio precedente, questa ricerca mostra gli eventi di connessione di rete con nomi host univoci. L'applicazione dell'opzione dedup a principal.hostname restringe i risultati agli eventi associati a host unici:

events:
   metadata.event_type = "NETWORK_CONNECTION"
   target.hostname != ""
   principal.hostname != ""

match:
   target.hostname, principal.hostname

outcome:
   $total_bytes = sum(network.sent_bytes)

dedup:
   principal.hostname

order:
   $total_bytes desc

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