De-duplicare i risultati di ricerca

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 che registrano entrambi un singolo accesso).

Per restituire solo risultati univoci, utilizza la sezione dedup nella sintassi YARA-L. L'aggiunta di campi UDM a questa sezione garantisce 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 una singola unità per mantenere la correttezza.

  • Intervalli ottimali: le prestazioni sono ottimali per gli intervalli <= 1 giorno.
  • Latenza: gli intervalli compresi tra 7 e 30 giorni aumentano notevolmente 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.

De-duplicazione per tipo di query

Il comportamento di de-duplicazione dipende dal fatto che la query utilizzi aggregazioni e si applichi ai seguenti tipi di query di ricerca e dashboard.

Query di ricerca aggregate

Le query di ricerca aggregate includono match, match e outcome, o aggregated outcome sezioni. La de-duplicazione avviene dopo la determinazione dei 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 de-duplicare 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 Ricerca.

Esempio: ricerca di indirizzi IP univoci

La seguente query di esempio identifica le connessioni di rete tra IP interni ed esterni, de-duplicate 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 univoci con volume di traffico

Analogamente all'esempio precedente, la seguente ricerca di esempio mostra gli eventi di connessione di rete con indirizzi IP univoci. L'applicazione di dedup a principal.ip limita i risultati agli eventi associati a IP univoci. La sezione outcome mostra il totale dei byte inviati tra principal.ip e 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: de-duplicazione UDM di base

Il seguente esempio cerca una visualizzazione di alto livello dei nomi host univoci a cui è stato eseguito l'accesso in tutti i tipi di log. L'applicazione di dedup a target.hostname limita 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 un numero di eventi notevolmente maggiore.

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 limita i risultati agli eventi associati a host univoci:

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.