Panoramica dei rilevamenti compositi

Supportata in:

Questo documento presenta i rilevamenti compositi e spiega come possono migliorare i workflow di rilevamento delle minacce correlando gli output di più regole.

I rilevamenti compositi vengono generati da regole che utilizzano i rilevamenti di altre regole come input, combinati con eventi, metriche o indicatori di rischio delle entità. Queste regole vengono poi combinate con eventi, metriche o indicatori di rischio delle entità per rilevare minacce complesse e multifase che le singole regole potrebbero non rilevare.

I rilevamenti compositi aiutano ad analizzare gli eventi tramite interazioni e trigger di regole definiti. In questo modo, l'accuratezza migliora, i falsi positivi si riducono e viene fornita una visione completa delle minacce alla sicurezza correlando i dati provenienti da fonti e fasi di attacco diverse.

I seguenti concetti definiscono i componenti di base delle regole composite e chiariscono il loro funzionamento all'interno dei workflow di rilevamento:

  • Regole composite: utilizzano i rilevamenti o gli avvisi (o entrambi) come input. Facoltativamente, arricchiscili con eventi, metriche e un'ampia gamma di dati contestuali provenienti dal grafico delle entità, come dati sulla prevalenza, threat intelligence o uno scoring del rischio delle entità. Queste regole devono sempre avere una sezione di corrispondenza e possono fare riferimento a campi di metadati, variabili match e variabili outcome delle regole di input.

  • Rilevamento: output generato quando vengono soddisfatte le condizioni di una regola.

  • Regole di solo rilevamento: regole composite che utilizzano solo rilevamenti o avvisi come input.

Quando utilizzare i rilevamenti compositi

I rilevamenti compositi possono essere utili per raggiungere i seguenti obiettivi:

  • Correlare i risultati di due o più regole (ad esempio, collegare un rilevamento di download di malware a un successivo avviso di beaconing C2 dallo stesso host).

  • Arricchisci gli avvisi con i dati sugli eventi correlati.

  • Riduci l'affaticamento da avvisi attivando un avviso finale solo quando un rilevamento rumoroso e con bassa affidabilità si verifica più volte o in combinazione con altre attività sospette.

  • Crea un avviso per un attacco complesso e multifase in cui ogni fase è già identificata dalla propria regola.

Vantaggi dei rilevamenti compositi

I rilevamenti compositi offrono i seguenti vantaggi:

  • Smascherare gli attacchi multifase: gli attacchi informatici sono spesso multiformi e interconnessi. Il rilevamento composito rivela la narrazione più ampia dell'attacco collegando eventi di sicurezza apparentemente isolati. Ad esempio, i rilevamenti compositi possono identificare l'intera sequenza di un attacco, come una violazione iniziale seguita da un'escalation dei privilegi e dall'esfiltrazione di dati.

  • Riduci l'affaticamento da avvisi: le regole composite consolidano e filtrano gli avvisi rumorosi, consentendo una risposta più mirata. Questo approccio aiuta a dare priorità agli incidenti ad alto impatto e a ridurre l'affaticamento generale dovuto agli avvisi.

  • Migliora l'accuratezza del rilevamento: combina gli insight degli eventi del modello di dati unificato (UDM), dei rilevamenti delle regole, del contesto delle entità, dei risultati dell'analisi UEBA (User and Entity Behavior Analytics) e delle tabelle di dati per creare una logica di rilevamento più accurata.

  • Semplifica la logica complessa: suddividi scenari di rilevamento complessi in regole gestibili, interconnesse e riutilizzabili per semplificare lo sviluppo e la manutenzione.

  • Utilizzo nelle dashboard: integra perfettamente i rilevamenti compositi come origini dati per le dashboard di Google SecOps. Puoi utilizzarli per creare visualizzazioni che riassumono i pattern di attacco multifase, semplificando la comprensione di rischi complessi.

Casi d'uso comuni

Questa sezione elenca alcuni casi d'uso comuni per i rilevamenti compositi.

Arricchisci i rilevamenti con il contesto degli eventi non elaborati

Questo caso d'uso prevede il collegamento di un avviso di alto livello di un sistema ai log eventi di un altro sistema.

  • Obiettivo: identificare l'azione locale specifica che ha causato un avviso di alto livello.

  • Esempio:

    1. Viene attivato un avviso in Google Cloud Event Threat Detection perché un workload ha effettuato una chiamata DNS a un dominio dannoso. Questo è il rilevamento.

    2. Questo rilevamento attiva una regola composita.

    3. La regola cerca quindi i log di Endpoint Detection and Response (EDR) non elaborati (gli eventi) dello stesso workload entro un intervallo di un minuto, cercando le operazioni della riga di comando che contenevano lo stesso dominio dannoso.

    L'avviso finale fornisce un contesto dettagliato: mostra che è stato contattato un dominio dannoso e il comando ssh specifico utilizzato. Queste informazioni rendono il risultato molto più fruibile rispetto al rilevamento originale.

Monitora l'attività utente dopo l'accesso

Un caso d'uso principale incentrato sul collegamento dell'evento di accesso di un utente con attività sospette successive. Mentre una regola standard per più eventi può monitorare una breve sequenza, un rilevamento composito è più adatto per creare un profilo di rischio completo dell'intera sessione di un utente.

  • Obiettivo: correlare un singolo evento, come un accesso ad alto rischio, con un'ampia gamma di attività successive con "segnali deboli" in un periodo di tempo più lungo, ad esempio un'intera giornata.

  • Esempio: crea più regole che generano rilevamenti di livello inferiore. Quindi, utilizza una regola composita con una finestra di corrispondenza lunga (ad esempio, 24 ore) per attivare un accesso sospetto iniziale e correlarlo a una delle seguenti rilevazioni dello stesso utente:

    • Un utente che cancella la cronologia della riga di comando.

    • La creazione di un nuovo account amministratore locale.

    • Un caricamento di dati di grandi dimensioni su un sito Cloud Storage personale.

Combina con le metriche UEBA

Questo caso d'uso sfrutta le metriche UEBA esistenti come punto di partenza per un rilevamento composito per trovare comportamenti più complessi e a lungo termine.

  • Obiettivo: correlare un picco in una metrica UEBA con un'altra attività anomala.

  • Esempio:

    1. Una regola UEBA rileva un numero eccessivo di errori di accesso per un utente.

    2. Un'altra regola UEBA rileva un numero elevato di byte in uscita dallo stesso utente.

    3. Un rilevamento composito collega questi due risultati UEBA separati in un periodo di giorni per identificare una potenziale compromissione dell'account seguita da un furto di dati.

Rileva i tentativi di esfiltrazione di dati

Ciò comporta la correlazione di diverse azioni utente distinte che, se combinate, potrebbero indicare un tentativo di esfiltrazione dei dati.

  • Obiettivo: creare un profilo di gestione dei dati rischiosa da parte di un singolo utente su più dispositivi e azioni.

  • Azioni correlate:

    • Accesso da più dispositivi (ad esempio, computer di casa e di lavoro).

    • Accesso a più origini dati del solito.

    • Download, stampa e invio di dati via email contemporaneamente.

    • Conteggio del numero di documenti classificati a cui un utente accede in un determinato periodo di tempo.

    • Aver presentato una lettera di dimissioni.

Rileva malware multifase

Questo caso d'uso prevede l'identificazione di malware che opera lentamente per un lungo periodo, il che è difficile da rilevare con singole regole che hanno finestre di corrispondenza brevi.

  • Obiettivo: collegare il vettore di infezione iniziale alle successive azioni dannose, anche se si verificano a distanza di ore o giorni.

  • Esempio:

    1. Un utente visita un sito web dannoso (evento di rete iniziale).

    2. Viene scaricato ed eseguito un "file dropper" (primo evento di processo).

    3. Molto più tardi, il file dropper scarica ed esegue un altro eseguibile (secondo evento di processo).

    Ciò richiede una lunga finestra di match per connettere i processi padre e figlio, che i rilevamenti compositi possono fornire.

Riduci il rumore di fondo degli avvisi

Questo caso d'uso prevede la gestione dei rilevamenti troppo "rumorosi" o che producono troppi falsi positivi da soli.

  • Obiettivo: perfezionare una regola con troppi falsi positivi senza disattivarla o creare esclusioni complesse.

  • Esempio:

    1. Imposta un rilevamento predefinito con un numero elevato di falsi positivi su "Solo rilevamento" in modo che non generi più avvisi.

    2. Crea un rilevamento composito che utilizzi l'output della regola selezionata come prima condizione.

    3. Aggiungi una seconda condizione per fornire ulteriori qualifiche, ad esempio "Invia un avviso solo se questo rilevamento si verifica 5 volte per lo stesso utente in un'ora" o se è combinato con un rilevamento di una regola diversa.

Come funzionano i rilevamenti compositi

Quando le regole soddisfano condizioni predefinite, generano rilevamenti. Questi rilevamenti possono includere facoltativamente variabili di risultato, che acquisiscono dati o stati di eventi specifici.

Le regole composite utilizzano questi rilevamenti di altre regole come parte dei loro input. La valutazione può basarsi sulle informazioni della sezione meta della regola originale, sulle variabili dei risultati e sulle variabili di corrispondenza.

In base a questa valutazione, puoi utilizzare le regole composite per creare nuovi rilevamenti da utilizzare come rappresentazione intermedia per l'indagine e l'invio di avvisi con una regola successiva. In questo modo è possibile correlare più fattori provenienti da rilevamenti diversi per identificare minacce complesse.

Per ulteriori informazioni sulla sintassi e sugli esempi, consulta Regole di rilevamento composite ed Esempi.

Definisci la tua strategia

Prima di iniziare a creare regole composite, pianifica la tua strategia per assicurarti che le nuove regole siano efficaci, efficienti e risolvano i problemi giusti.

  1. Valuta la tua attuale strategia di rilevamento. Esamina le regole esistenti per identificare quelle troppo rumorose, che generano un numero elevato di falsi positivi o che sono eccessivamente complesse e difficili da gestire.

  2. Determina gli scenari specifici in cui le regole composite possono fornire valore. Ciò include il rilevamento di attacchi multifase, la correlazione di più avvisi a bassa confidenza in un unico avviso ad alta confidenza o l'arricchimento dei rilevamenti con un contesto aggiuntivo proveniente da altre origini dati.

  3. In base alla tua valutazione, crea un piano di implementazione. Decidi quali regole rumorose devi perfezionare, quali regole complesse devi semplificare e a quali nuovi rilevamenti multifase devi dare la priorità.

Questo piano definito fornisce una roadmap per la creazione di regole composite mirate ed efficaci. Prendi in considerazione le seguenti strategie di alto livello per ottenere il massimo valore dai rilevamenti compositi, gestendo al contempo i vincoli tecnici.

Seleziona il metodo appropriato

Prima di creare un rilevamento composito, verifica se puoi ottenere il risultato richiesto con altre alternative. Analizza se puoi identificare un pattern complesso con un rilevamento UEBA esistente. Un rilevamento troppo complicato potrebbe aumentare l'overhead di manutenzione e consumare la quota di regole.

  • Utilizza un rilevamento composito quando: il tuo obiettivo è correlare i risultati finali di due o più regole diverse preesistenti. In questo modo, vengono collegate fasi concettualmente separate di un attacco.

    Esempio: correlazione di un rilevamento da una regola Malware scaricato con un rilevamento successivo da una regola Rilevamento di beaconing C2.

  • Utilizza un rilevamento UEBA esistente quando: vuoi scoprire quando un utente o un dispositivo interrompe il suo normale pattern di attività.

    Esempio: rilevamento automatico del fatto che un utente ha scaricato 100 GB di dati oggi, quando normalmente ne scarica solo 1 GB.

Gestisci le quote delle regole e lo scoring del rischio

Per gestire le risorse della tua organizzazione, scopri in che modo i diversi tipi di regole influiscono sulla quota di regole.

  • Le regole selezionate non vengono conteggiate ai fini della quota di regole personalizzate.

  • Le regole composte e le regole multi-evento personalizzate vengono conteggiate ai fini della quota.

Puoi utilizzare un rilevamento predefinito impostandolo su Solo rilevamento. In questo modo, la regola selezionata può eseguire il rilevamento iniziale generale senza generare avvisi. Puoi quindi utilizzare una regola composita per applicare una logica specifica a questi risultati, fornendo un valore maggiore e gestendo al contempo la tua quota in modo strategico.

Comprendere la differenza tra rischio e contesto

Quando progetti la logica di rilevamento, distingui tra le regole che valutano il rischio e quelle che forniscono il contesto.

Il rischio è la valutazione della pericolosità di un insieme di attività. Una regola progettata per il rischio spesso aggrega più eventi o rilevamenti contestuali per esprimere un giudizio. Ad esempio, mentre un singolo accesso non riuscito fornisce un contesto, un numero elevato di accessi non riusciti indica il rischio di un attacco di forza bruta.

Il contesto si riferisce ai dettagli oggettivi relativi a un evento. Una regola progettata per il contesto arricchisce un evento con i dettagli di un altro. Ad esempio, mentre una regola può rilevare un accesso utente riuscito, una regola contestuale fornisce il contesto cruciale che questo accesso proviene da un paese nuovo e insolito.

Esempio: un rilevamento iniziale può avvisarti di un potenziale rischio, come una chiamata DNS a un dominio dannoso. Una regola composita mette quindi in correlazione l'avviso con i log eventi in Google SecOps per trovare il processo della riga di comando specifico che ha avviato la chiamata. In questo modo, l'avviso di rischio di alto livello viene arricchito con un contesto critico e fruibile.

Utilizza le finestre di corrispondenza lunghe in modo strategico

Le regole composite configurate con finestre di corrispondenza lunghe (ad esempio 14 giorni) vengono eseguite meno di frequente. La loro latenza elevata può renderli inadatti per gli avvisi sensibili al fattore tempo. Valuta la possibilità di utilizzare queste finestre di lunga durata per rilevare attività avversarie lente e persistenti per periodi prolungati.

Utilizza i rilevamenti per la visualizzazione

Una strategia per gestire le regole con un numero elevato di falsi positivi consiste nel trasformare il loro output in una visualizzazione su una dashboard. Questo approccio non consuma la quota di regole e può trasformare dati ad alto volume e bassa fedeltà in insight preziosi.

Impostando una regola solo per il rilevamento e poi tracciando i rilevamenti in un widget della dashboard, puoi monitorare le tendenze, identificare i valori anomali e ottenere una visualizzazione di controllo di alto livello dell'attività senza farti sopraffare dai singoli avvisi.

Esempio: monitora la gestione dei dati PII

Una regola monitora ogni volta che un utente gestisce dati PII sensibili. Anziché inviare un avviso ogni volta, è impostata solo per il rilevamento. Un widget della dashboard mostra quindi quali utenti si stanno avvicinando a un limite di traffico in uscita giornaliero (ad esempio, 10,000 byte). In questo modo, puoi ottenere una rapida visualizzazione di controllo dei comportamenti rischiosi senza generare avvisi costanti.

Esempio: monitora rischi DLP specifici:

Un widget aggrega gli scoring del rischio di un sottoinsieme molto specifico di regole DLP. In questo modo, un team specifico (ad esempio gli amministratori di Prevenzione della perdita di dati (DLP)) può monitorare solo i rischi pertinenti, filtrando il rumore proveniente da altri domini di sicurezza.

Crea rilevamenti compositi

Il seguente flusso di lavoro descrive il percorso tipico per la creazione di una regola composita. Per ulteriori informazioni sulla sintassi e sugli esempi, consulta Regole di rilevamento composite ed Esempi.

  1. Definisci lo scenario della minaccia: definisci la minaccia specifica che vuoi rilevare.

  2. Crea o identifica le regole di input: per ogni fase dello scenario di minaccia, crea o identifica una regola di input che rilevi l'attività specifica.

  3. Definisci le condizioni di join: determina l'informazione comune che collega i rilevamenti delle regole di input, ad esempio etichette delle regole, variabili o campi di rilevamento.

  4. Crea la regola composita: scrivi la regola che importa i rilevamenti dalle regole di input.

    • Definisci la sezione events, facendo riferimento alle regole di input in base al nome, all'ID o a un'etichetta meta condivisa.

    • Definisci la sezione match per specificare la chiave di join e la finestra temporale per la corrispondenza.

    • Definisci la sezione condition per impostare la condizione che deve essere soddisfatta per l'attivazione dell'avviso finale.

  5. Testa ed esegui il deployment della catena di regole: ti consigliamo di eseguire manualmente una ricerca retroattiva per ogni regola della sequenza.

    Quando utilizzi la funzionalità Testa regola su una regola composita, questa viene eseguita solo sui rilevamenti preesistenti che corrispondono ai criteri di input della regola. Non esegue automaticamente le regole sottostanti per generare nuovi input per il test, il che significa che non puoi convalidare un'intera catena di regole in un'unica azione.

    Per eseguire un retrohunt per la sequenza di regole, segui questi passaggi:

    1. Avvia manualmente un retrohunt dalla prima regola della sequenza.

    2. Attendi il completamento.

    3. Continua con la regola successiva.

Esempio: la seguente regola fornisce un modello di correlazione delle regole di base:


rule Basic_Rule_Correlation_Template {
    
    meta:
    description = "Triggers when a user triggers two different rules within X days"

    events: 
    // 1. Identify the first sub-rule detection
    $d1.metadata.event_type = "DETECTION" $d1.metadata.rule_name = "INSERT_RULE_NAME_A_HERE" $user = [REDACTED_GENERIC_ID]

    // 2. Identify the second sub-rule detection
    $d2.metadata.event_type = "DETECTION"
    $d2.metadata.rule_name = "INSERT_RULE_NAME_B_HERE"
    $user = [REDACTED_GENERIC_ID]
    match: 
    // 3. Connect the rules by the same user over the specified window
    $user over 14d
    condition: 
    // 4. Fire when both conditions have occurred
    $d1 and $d2
}

Esempio: la seguente regola controlla il rilevamento predefinito con una regola di rilevamento degli eventi e un grafico degli eventi e utilizza alcune funzioni YARA-L avanzate e definizioni di variabili:


rule CheckCuratedDetection_with_EDR_and_EG {

  meta:
    author = "noone@cymbal.com"

  events:

    $d.detection.detection.rule_name = /SCC: Custom Modules: Configurable Bad Domain/
    $d.detection.collection_elements.references.event.network.dns.questions.name = $domain
    $d.detection.collection_elements.references.event.principal.asset.hostname = $hostname

    $e.metadata.log_type = "LIMACHARLIE_EDR"
    $e.metadata.product_event_type = "NETWORK_CONNECTIONS"
    $domain = re.capture($e.principal.process.command_line, "\\s([a-zA-Z0-9.-]+\\.[a-zA-Z0-9.-]+)$")
    $hostname = re.capture($e.principal.hostname, "([^.]*)")

    $prevalence.graph.metadata.entity_type = "DOMAIN_NAME"
    $prevalence.graph.metadata.source_type = "DERIVED_CONTEXT"
    $prevalence.graph.entity.hostname = $domain
    $prevalence.graph.entity.domain.prevalence.day_count = 10
    $prevalence.graph.entity.domain.prevalence.rolling_max <= 5
    $prevalence.graph.entity.domain.prevalence.rolling_max > 0

  match:
    $hostname over 1h

  outcome:
    $risk_score = 80
    $CL_target = array($domain)

  condition:
    $e and $d and $prevalence

}

Visualizza i risultati del rilevamento composito

Puoi visualizzare i risultati dei rilevamenti compositi nella pagina Rilevamenti. Un avviso è un rilevamento composito quando la colonna Input mostra Rilevamento come origine e la colonna Tipo di rilevamento mostra un'etichetta Avviso con un numero accanto (ad esempio, Alert (3)).

Nota: se disponi sia di SIEM che di SOAR, puoi anche visualizzare i risultati nella scheda Casi.

Ottimizza i rilevamenti compositi

Per la creazione di regole composite, ti consigliamo di seguire le seguenti pratiche.

Ottimizza per la latenza

Per una latenza minima nelle pipeline di rilevamento, utilizza regole per singoli eventi ogni volta che è possibile, ad esempio per il trigger iniziale. Le regole composte possono utilizzare i propri rilevamenti per eseguire correlazioni più complesse con altri eventi, entità o rilevamenti, contribuendo a ridurre la latenza complessiva.

Utilizza metodi efficienti per unire i rilevamenti

Ti consigliamo di utilizzare variabili di risultato, metaetichette e variabili di corrispondenza per unire i rilevamenti. Questi metodi forniscono risultati più deterministici e affidabili rispetto all'utilizzo di campioni di eventi. Le meta etichette sono particolarmente flessibili perché ti consentono di classificare le regole in modo che una regola composita possa avere come target qualsiasi rilevamento con quell'etichetta.

Ad esempio, se più regole condividono la stessa etichetta meta tactic: exfiltration, puoi avere una regola composita che ha come target qualsiasi rilevamento in cui l'etichetta della tattica ha il valore exfiltration.

Quando utilizzi nocase con variabili di join nei rilevamenti compositi, potresti ricevere il seguente errore di analisi semantica:

semantic analysis: match variable <variable_name> is not assigned to an event field.

Nei rilevamenti compositi, la prima assegnazione della variabile (ad esempio, $username = $fact1...) definisce le proprietà della variabile, inclusa la non distinzione tra maiuscole e minuscole quando si utilizza nocase. L'applicazione di nocase alle assegnazioni di variabili successive della stessa variabile di join (ad esempio, $username = $fact2...) viene interpretata dal compilatore come una ridefinizione in conflitto o un vincolo ridondante, con conseguente errore semantico.

Migliora i rilevamenti con la libreria di funzioni

Puoi utilizzare la libreria di funzioni YARA-L in punti strategici all'interno di una regola composita per aumentare l'indicatore e aggiungere una logica più complessa.

Gestisci gli aggiornamenti delle regole

Quando aggiorni una regola utilizzata in una o più regole composite, il sistema crea automaticamente una nuova versione della regola. Le regole composite utilizzano automaticamente la nuova versione. Ti consigliamo di testare l'intera sequenza di regole aggiornata per verificare il comportamento previsto.

Limitazioni

Quando progetti e implementi i rilevamenti compositi, tieni presente le seguenti limitazioni:

  • Esclusioni: non applicare un'esclusione di regola direttamente a una regola composita. Devi applicare l'esclusione alle regole di base sottostanti che alimentano la regola composita. Questo perché le esclusioni delle regole vengono valutate in base ai campi UDM (come principal.user.userid), ma le regole composite vengono attivate in base ad altri rilevamenti anziché ai campi UDM. Se applichi un'esclusione di regola direttamente a una regola composita, l'esclusione non corrisponderà e l'evento non verrà escluso.

  • Disponibilità dei dati delle richieste SOAR: i rilevamenti compositi non hanno accesso a tutti i dati delle richieste SOAR. La logica delle regole che tenta di filtrare o escludere le richieste in base allo stato (ad esempio, $edetection.feedback_summary.status != "CLOSED") non è supportata.

  • Regole composite: Google SecOps supporta una profondità massima di 10 per le regole composite. La profondità è il numero di regole da una regola di base alla regola composita finale.

  • Regole di solo rilevamento: hanno una finestra di corrispondenza massima di 14 giorni e sono soggette a un limite di rilevamento giornaliero di 10.000 rilevamenti per regola.

  • Variabili di risultato: ogni regola è limitata a un massimo di 20 variabili di risultato. Inoltre, ogni variabile di risultato ripetuta è limitata a 25 valori.

  • Campioni di eventi: vengono memorizzati solo 10 campioni di eventi per variabile di evento in una regola, ad esempio 10 per $e1 e 10 per $e2.

Per saperne di più sui limiti di rilevamento, consulta Limiti di rilevamento.

Passaggi successivi

Per informazioni su come creare regole di rilevamento composite, consulta Regole di rilevamento composite ed Esempi.

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