Visualizzare i flussi di dati con i grafici di Sankey
Questa guida aiuta gli ingegneri e gli analisti della sicurezza a visualizzare gli eventi di sicurezza che coinvolgono percorsi, relazioni o flussi direzionali multihop utilizzando i diagrammi di Sankey nella dashboard di Google SecOps. Questi grafici specializzati mostrano nodi (che rappresentano i punti dati) collegati da link (che rappresentano il flusso tra i punti dati). La larghezza di ogni collegamento è proporzionale al volume o al peso del flusso, il che ti consente di identificare i principali percorsi dei dati, i colli di bottiglia e le anomalie.
Casi d'uso comuni
I grafici di Sankey sono particolarmente utili per i seguenti casi d'uso:
Analisi del traffico di rete
- Obiettivo: visualizzare il traffico che scorre dagli IP di origine, attraverso porte o regole firewall specifiche, agli IP di destinazione.
- Valore: individua picchi di traffico anomali, porte in uscita non autorizzate e potenziali movimenti laterali nel tuo ambiente senza dover esaminare migliaia di log di connessione di rete non elaborati.
Rilevamento dell'esfiltrazione di dati
- Obiettivo: monitorare lo spostamento dei dati dai sistemi interni (come database e spazio di archiviazione locale) a destinazioni esterne (come spazio di spazio di archiviazione sul cloud e domini esterni).
- Valore: accelera il rilevamento di minacce interne e trasferimenti di dati non autorizzati rendendo visivamente evidenti i flussi in uscita di grandi volumi verso domini esterni, servizi cloud o bucket di archiviazione non attendibili.
Flussi di autenticazione
- Obiettivo: mappare i tentativi di accesso degli utenti in base al paese di origine, al fornitore di identità, al servizio di destinazione e al risultato finale dell'autenticazione.
- Valore: identifica il credential stuffing, le campagne di attacchi di tipo brute force e le anomalie di viaggio impossibili visualizzando i pattern di autenticazione non riuscita rispetto a quelli riusciti in diverse località e applicazioni.
Monitoraggio del flusso di lavoro SOC
- Obiettivo: visualizza i passaggi di triage degli avvisi dal rilevamento dell'avviso, passando per l'assegnatario, fino al verdetto o allo stato finale.
- Valore: scopri i colli di bottiglia della classificazione, bilancia il carico di lavoro degli analisti e valuta la fedeltà delle regole di rilevamento monitorando il modo in cui gli avvisi passano dalla generazione alla risoluzione finale.
Prima di iniziare
Per eseguire correttamente il rendering di un grafico Sankey, la query e la configurazione del dashboard devono soddisfare i seguenti requisiti tecnici:
- Conteggio colonne: la risposta alla query deve restituire almeno tre colonne di dati.
- Tipi di colonne: il set di dati deve includere:
- Almeno due colonne categoriche (ad esempio, stringhe di testo che rappresentano i nodi).
- Almeno una colonna numerica che rappresenti il valore o il peso del flusso (ad esempio
sumocount).
- Struttura del grafo diretto aciclico (DAG): i grafici di Sankey supportano solo percorsi direzionali e non ripetuti:
- Nessun ciclo automatico: i nodi di origine e di destinazione a un determinato livello non possono essere identici (ad esempio,
Node A flowing to Node A). - Nessuna dipendenza ciclica: le relazioni tra i dati non possono formare cicli (ad esempio,
Node A flowing to Node B with Node B flowing back to Node A).
- Nessun ciclo automatico: i nodi di origine e di destinazione a un determinato livello non possono essere identici (ad esempio,
Configurare un grafico di Sankey
Per creare e configurare un grafico Sankey in una dashboard personalizzata:
- Apri la dashboard personalizzata in Google SecOps e fai clic su Aggiungi > Visualizzazione.
- Esegui una query che restituisca le colonne richieste (ad esempio, una query YARA-L 2.0 che restituisce IP di origine, IP di destinazione e conteggio eventi).
- Nel riquadro Configurazione grafico a destra, seleziona il tipo di grafico Sankey.
- In Impostazioni dei dati, mappa i campi per il primo livello del flusso:
- Nodo di origine: seleziona la colonna che rappresenta l'origine del flusso.
- Nodo di destinazione: seleziona la colonna che rappresenta la destinazione del flusso.
- Valore: seleziona la colonna numerica che rappresenta il volume o il peso del link.
- (Facoltativo) Per creare un percorso multilivello, fai clic su Aggiungi livello e configura i campi origine, destinazione e valore per l'hop successivo. Puoi aggiungere fino a cinque livelli in un unico grafico Sankey.
- Fai clic su Salva per aggiungere il riquadro del grafico alla dashboard.
Funzionalità interattive
I grafici di Sankey offrono le seguenti funzionalità interattive:
- Dettagli al passaggio del mouse: passa il mouse sopra un link per visualizzare i dettagli sul volume (peso) che scorre tra l'origine e la destinazione. Passa il mouse sopra un nodo per visualizzare i volumi totali in entrata e in uscita.
- Visualizzazioni in dettaglio: fai clic su un nodo o un link di flusso specifico per aprire il menu contestuale. Puoi eseguire il drill-down per eseguire query filtrate sui dati non elaborati in base al nodo o al percorso selezionato.
Query YARA-L 2.0 di esempio per i grafici di Sankey
Questa sezione contiene diversi esempi accurati che puoi utilizzare per creare grafici di Sankey nei grafici delle dashboard.
Per ottenere risultati visivi ottimali, raggruppa i campi con cardinalità elevata in categorie (ad esempio utilizzando subnet, paesi, categorie di asset o azioni del firewall) o filtra la query per concentrarti solo sui valori chiave (ad esempio porte specifiche).
Visualizzazione del flusso di importazione dei log
Questa query visualizza il flusso della pipeline dei log dai tipi di log non elaborati al fornitore di sicurezza corrispondente fino ai prodotti specifici di cui viene eseguito l'inserimento.
metadata.log_type != ""
$log_type = metadata.log_type
$vendor = metadata.vendor_name
$product = metadata.product_name
match:
$log_type, $vendor, $product
outcome:
$ingested_count = count(metadata.id)
Mappatura della configurazione:
| Nodo di origine | Nodo di destinazione | Valore | |
|---|---|---|---|
| Livello 1 | $log_type | $vendor | $ingested_count |
| Livello 2 | $vendor | $product | $ingested_count |
Catena di esecuzione dei processi padre-figlio
Questa query visualizza la gerarchia di esecuzione dei processi, monitorando il processo principale che esegue un binario di destinazione e l'azione di sicurezza risultante.
metadata.event_type = "PROCESS_LAUNCH"
$parent_process = principal.process.parent_process.file.full_path
$target_process = principal.process.file.full_path
$action = security_result.action
match:
$parent_process, $target_process, $action
outcome:
$execution_count = count(metadata.id)
Mappatura della configurazione:
| Nodo di origine | Nodo di destinazione | Valore | |
|---|---|---|---|
| Livello 1 | $parent_process | $target_process | $execution_count |
| Livello 2 | $target_process | $action | $execution_count |
Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.