Rilevamenti compositi

Supportato in:

Il rilevamento composito consente di interconnettere le regole in modo che l'output di una regola funga da input per un'altra regola. Questa funzionalità ti consente di creare regole più complesse e flessibili. Correlazione e analisi degli eventi in diverse origini dati e intervalli di tempo. Il rilevamento composito supera i limiti del rilevamento isolato degli eventi.

Vantaggi del rilevamento composito

  • Scoprire gli attacchi multifase: gli attacchi informatici sono spesso sfaccettati e interconnessi. Il rilevamento composito aiuta a rivelare la narrazione dell'attacco collegando incidenti apparentemente isolati. Ad esempio, una regola composita può identificare l'intera sequenza di attacco, come una violazione iniziale, seguita dall'escalation dei privilegi e dall'esfiltrazione di dati.

  • Riduzione dell'affaticamento da avvisi: dai la priorità alle minacce critiche e riduci l'affaticamento da avvisi implementando regole di consumo. Queste regole consolidano e filtrano gli avvisi rumorosi generati dalle regole di input, consentendo una risposta più mirata, che può aiutare a dare la priorità agli incidenti ad alto impatto e ridurre al minimo l'affaticamento da avvisi.

  • Miglioramento dell'accuratezza del rilevamento: combina approfondimenti provenienti da eventi UDM, altri rilevamenti di regole, informazioni sulle entità, risultati UEBA e tabelle di dati per creare una logica di rilevamento accurata.

  • Semplificazione della logica complessa: suddivide gli scenari di rilevamento complessi in regole gestibili, interconnesse e riutilizzabili per semplificare lo sviluppo e la manutenzione.

Termini e concetti di rilevamento composito

  • Rilevamento: il risultato di una regola, che può anche essere definito avviso.

  • Composita: una serie di regole interconnesse in cui l'output di una regola funge da input per la successiva. Ad esempio, nella sequenza di regole composite rule1 -> rule2 -> rule3, i rilevamenti generati da rule1 vengono passati a rule2, che li elabora per generare nuovi rilevamenti. Questi rilevamenti vengono poi utilizzati da rule3 per produrre l'output finale.

  • Regola di input: una regola i cui rilevamenti vengono utilizzati come input per un'altra regola. Qualsiasi regola può fungere da regola di input e non è richiesta alcuna designazione specifica. Le regole di input utilizzano entità ed eventi come input. Non utilizzano i rilevamenti come input.

  • Regola composita: una regola che utilizza i rilevamenti come input nel testo della regola. Le regole composite devono avere una sezione match.

Concetti avanzati

Regole di rilevamento di singoli eventi

Google SecOps non consente regole composite a evento singolo. Ciò significa che qualsiasi regola che utilizza i rilevamenti come origine di input deve avere una sezione match.

Latenza di rilevamento

Ti consigliamo di comporre regole composite solo su regole di input a evento singolo a causa del comportamento di pianificazione. Le regole per singoli eventi vengono eseguite quasi in tempo reale, quindi i relativi rilevamenti sono in genere disponibili al momento dell'esecuzione della regola composita. Se una regola composita dipende da una regola multi-evento come input, esiste il rischio che la regola di input venga eseguita dopo l'esecuzione pianificata della regola composita. Ciò può comportare ritardi o rilevamenti mancanti nella regola composita.

TestRule e Retrohunt

Il test o l'esecuzione di una retrocaccia su una regola composita esegue solo la regola specifica che hai selezionato utilizzando i rilevamenti esistenti. Per eseguire l'intera composizione, devi avviare manualmente le ricerche retrospettive dalla prima regola della sequenza, attendere il completamento di ogni esecuzione e poi procedere alla regola successiva.

L'esecuzione di un test su una regola non salva o scrive i rilevamenti nel database e le regole composite richiedono che i rilevamenti di input esistano nel database.

L'esecuzione di un test su una regola non salva né scrive i rilevamenti nel database. Poiché le regole composite richiedono che le rilevazioni di input esistano nel database per funzionare, non puoi utilizzare TestRule per convalidare una regola composita.

Costruire regole composite

Crea regole composite utilizzando combinazioni di regole di input e regole composite.

Regole di input

Le regole di input sono la base della regola composita. Rilevano eventi specifici o condizioni che, combinate, indicano attività dannose. Per configurare una regola di input:

  1. Crea una nuova regola o riutilizzane una esistente.

  2. Disattiva gli avvisi. In questo modo, queste regole di input non generano avvisi individuali. Utilizzando questa configurazione, puoi dare la priorità agli avvisi più critici generati dalle regole composite, che valutano l'intera catena di eventi.

  3. Utilizza la sezione outcome per definire le variabili accessibili alle regole di concatenazione.

Il seguente esempio di regola del produttore rileva gli accessi non riusciti.

rule failed_login {
  meta:

  events:
    $e.metadata.event_type = "USER_LOGIN"
    any $e.security_result.action = "BLOCK"

  outcome:
   $target_user = $e.target.user.userid

  condition:
    $e
}

Questa regola identifica gli accessi bloccati e fornisce l'utente associato.

Regole composite

Scrivere una regola che utilizza i rilevamenti è quasi uguale a una regola che utilizza UDM, tranne per il fatto che l'origine e i campi disponibili sono diversi. Per fare riferimento a un campo di rilevamento, utilizza la parola chiave detection come origine: $eventname.detection.field1.field2.

I sottocampi disponibili nell'origine detection sono disponibili nella risorsa raccolta.

Di seguito sono riportati i campi comuni nelle raccolte:

  • $d.detection.detection.rule_id

  • $d.detection.detection.detection_fields["match_var_name"]

  • $d.detection.detection.outcomes["outcome_name"]

La seguente regola di esempio rileva accessi senza autenticazione MFA, enumerazione ed esfiltrazione.

rule login_enumeration_exfiltration {
    meta:
description = "Detects when a user logs in without multifactor authentication (MFA) and then performs enumeration and exfiltration"
        rule_name = "Login Without MFA, Enumeration, Exfiltration"
        severity = "High"

    events:
     // Detection with name "Console Login Without MFA"
        // The affected user is saved as $target_user
        $login_without_mfa.detection.detection.rule_name = /Console Login Without MFA/
        $target_user = $login_without_mfa.detection.detection.outcomes["target_user"]

     // Any detection with a rule name containing 'enumeration'
     // The user performing enumeration is the user that logged in without mfa
        $enumeration.detection.detection.rule_name = /enumeration/ nocase
        $enumeration.detection.detection.outcomes["principal_users"] = $target_user

     // Any detection with the mitre tactic 'TA0010' (Exfiltration)
     // The user performing exfiltration is the user that logged in without mfa
        $exfiltration.detection.detection.rule_labels["tactic"] = "TA0010"
        $exfiltration.detection.detection.outcomes["principal_users"] = $target_user

    match:
     // Looks for detections over a 24 hour period
        $target_user over 24h

    condition:
     // All 3 must occur for a single user
        $login_without_mfa and $enumeration and $exfiltration
}

Rilevamenti gerarchici

Il rilevamento composito ti consente di creare un sistema di rilevamento gerarchico. Le regole di input di livello inferiore identificano eventi sospetti isolati. Le regole composite di livello superiore utilizzano l'output di queste regole di input per la correlazione nel tempo, tra entità e origini dati. Questo approccio consente di correlare queste informazioni con i dati provenienti da altre fonti per rilevare pattern di attacco multifase che le regole basate su un singolo evento potrebbero non rilevare.

Google Security Operations supporta fino a tre livelli di composizione, fornendo un equilibrio tra una logica di rilevamento approfondita e una complessità gestibile.

Ad esempio:

  • Livello 1: le regole di input rilevano singoli eventi sospetti. Ad esempio, eventi di accesso non riuscito, accesso insolito ai file.

  • Livello 2: le regole composite mettono in correlazione i rilevamenti di livello 1. Ad esempio, eventi di accesso non riusciti seguiti da accesso sospetto ai file.

  • Livello 3: le regole composite di livello superiore combinano i rilevamenti di livello 2 e altri dati per un rilevamento ancora più sofisticato. Ad esempio, un rilevamento di livello 2 relativo all'autenticazione e un rilevamento di livello 2 relativo alla postura di sicurezza del dispositivo in uso.

Considerazioni sulla scrittura di regole composite

Quando aggiorni una regola di input utilizzata in una o più regole composite, il sistema crea automaticamente una nuova versione della regola di input. Ciò vale sia per gli aggiornamenti della logica (condition, events, outcomes) sia per gli aggiornamenti dei metadati (nome, descrizione, gravità). Le regole composite continuano a funzionare con la nuova versione. Ti consigliamo di testare le regole di input aggiornate e le relative regole composite downstream per assicurarti il comportamento previsto.

Limitazioni

Le regole composite presentano le seguenti limitazioni.

Regole di solo rilevamento e punteggio di rischio dell'entità

Le regole di solo rilevamento (regole che utilizzano solo i dati di rilevamento come origine e non i dati di eventi o entità) non contribuiscono al punteggio di rischio dell'entità. Qualsiasi punteggio di rischio impostato per una regola di solo rilevamento si applica solo ai rilevamenti creati da quella regola. Non contribuirà ad alcun punteggio di rischio aggregato dell'entità.

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