Catena di regole
La catena di regole ti consente di interconnettere le regole in modo che l'output di una regola agisca come input per un'altra regola. Questa funzionalità ti consente di creare regole con maggiore complessità e flessibilità. La catena di regole supera i limiti del rilevamento di eventi isolati correlando e analizzando gli eventi in diverse origini dati e periodi di tempo.
Vantaggi della catena di regole:
Smascheramento degli attacchi multistadio: gli attacchi informatici sono spesso interconnessi. La catena di regole consente di scoprire la sequenza dell'attacco mostrando i collegamenti tra incidenti apparentemente isolati. Ad esempio, la catena di regole può identificare l'intera sequenza di attacchi, ad esempio una violazione iniziale seguita da escalation dei privilegi ed esfiltrazione di dati.
Ridurre la fatica da avviso: dai la priorità alle minacce critiche e riduci la fatica da avviso implementando le regole per i consumatori. Queste regole raggruppano e filtrano gli avvisi con troppo rumore generati dalle regole dei produttori, consentendo una risposta più mirata.
Miglioramento dell'accuratezza del rilevamento: combina gli approfondimenti degli eventi UDM, di altri rilevamenti delle regole, delle informazioni sulle entità, dei risultati UEBA e delle tabelle di dati per creare una logica di rilevamento accurata.
Semplificazione della logica complessa: suddividi gli scenari di rilevamento complessi in regole gestibili, interconnesse e riutilizzabili per semplificare lo sviluppo e la manutenzione.
Termini e concetti di accodamento delle regole:
Rilevamento: è il risultato di una regola e può essere definito anche avviso.
Catena: è una serie di regole in cui l'output di una regola funge da input per la regola successiva. Ad esempio, nella catena regola1 -> regola2 -> regola3, i rilevamenti generati dalla regola1 vengono utilizzati dalla regola2 per produrre nuovi rilevamenti, che vengono poi utilizzati dalla regola3 per generare il proprio insieme di rilevamenti.
Regola del produttore: è una regola i cui rilevamenti vengono utilizzati come input per un'altra regola. Qualsiasi regola può funzionare come regola del produttore e non è richiesta alcuna designazione specifica. Le regole del produttore utilizzano entità ed eventi come input. Non utilizzano i rilevamenti come input.
Regola per i consumatori: è una regola che utilizza i rilevamenti come input nel testo della regola. Le regole per i consumatori devono avere una sezione di corrispondenza.
Regola di collegamento: è nota anche come regola di consumo.
Concetti avanzati
Regole di rilevamento di singoli eventi
Google SecOps non consente regole di rilevamento di singoli eventi. Ciò significa che qualsiasi regola che utilizza i rilevamenti come origine dati deve avere una sezione di corrispondenza.
Latenza del rilevamento
Consigliamo di collegare le regole dei consumatori solo a regole di singoli eventi per problemi di pianificazione. Le regole relative a un singolo evento vengono eseguite quasi in tempo reale, pertanto i rilevamenti di queste regole saranno quasi sempre disponibili per la prima esecuzione di una regola per i consumatori. Se crei una catena di regole utilizzando una regola multi-evento, è possibile che la regola del produttore venga eseguita dopo la regola del consumatore, ritardando la generazione dei rilevamenti nella regola del consumatore.
TestRule e Retrohunt
Il test o l'esecuzione di una ricerca retroattiva su una regola per i consumatori esegue solo la regola specifica selezionata utilizzando i rilevamenti esistenti. Per eseguire una catena completa, devi avviare le retrohunt all'inizio della catena e attendere il completamento di ogni esecuzione prima di eseguire la regola successiva.
L'esecuzione di un test su una regola non mantiene o scrive i rilevamenti nel database e le regole dei consumatori richiedono che i rilevamenti di input esistano nel database. Pertanto, non puoi testare una catena di regole nella regola di test.
Creare catene di regole
Puoi creare catene di regole utilizzando combinazioni di regole dei produttori e regole dei consumatori.
Regole per i produttori
Le regole del produttore sono la base della tua catena. Identificano eventi o condizioni specifici che, se combinati, indicano attività dannose. Per configurare la regola del produttore:
Creare una nuova regola o riutilizzarne una esistente
Disattiva gli avvisi e imposta
$risk_score
su 0 nella sezione Risultato. In questo modo, viene impedito a queste regole di generare avvisi individuali o di influire sui codici di rischio delle persone giuridiche. Utilizzando questa configurazione, puoi dare la priorità agli avvisi più critici generati dalle regole per i consumatori, che valutano l'intera catena di eventi.Utilizza la sezione
outcome
per definire le variabili accessibili alle regole di accoppiamento.
L'esempio di regola del produttore seguente rileva gli accessi non riusciti.
rule failed_login {
meta:
events:
$e.metadata.event_type = "USER_LOGIN"
any $e.security_result.action = "BLOCK"
outcome:
$risk_score = 0
$target_user = $e.target.user.userid
condition:
$e
}
Questa regola identifica gli accessi bloccati e fornisce l'utente associato.
Regole di accoppiamento
Scrivere una regola che utilizza i rilevamenti è per lo più simile a una regola che utilizza UDM,
tranne 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 gli accessi senza MFA, l'enumerazione e l'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
La catena di regole ti consente di creare un sistema di rilevamento gerarchico. Le regole del produttore di livello inferiore identificano i singoli eventi sospetti. L'output viene poi inserito in regole di chaining o dei consumatori di livello superiore. Queste regole correlano queste informazioni con i dati di altre origini per rilevare pattern di attacco a più fasi che potrebbero non essere rilevati dalle regole relative a un singolo evento. Google Security Operations supporta fino a tre livelli di concatenamento, offrendo un equilibrio tra sofisticatezza del rilevamento e complessità gestibile.
Ad esempio:
Livello 1: le regole del produttore rilevano singoli eventi sospetti. Ad esempio, accesso non riuscito, accesso ai file insolito.
Livello 2: le regole di collegamento correlano i rilevamenti di Livello 1. Ad esempio, accesso non riuscito seguito da accesso a file sospetto.
Livello 3: le regole di chaining 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 per l'autenticazione e un rilevamento di livello 2 per la situazione di sicurezza del dispositivo in uso.
Considerazioni da fare quando si modificano le regole del produttore
Quando una regola del produttore viene aggiornata in una catena di regole, viene creata una nuova versione della regola del produttore. Questo vale sia per gli aggiornamenti della logica (condizione, eventi, risultati) sia per quelli dei metadati (nome, descrizione, gravità). Le regole per i consumatori continueranno a funzionare utilizzando la nuova versione. È importante testare le regole dei produttori aggiornate e le relative regole dei consumatori a valle per garantire il comportamento previsto.