Panoramica di Risk Analytics per la categoria UEBA
Questo documento fornisce una panoramica degli insiemi di regole nella categoria Risk Analytics per UEBA, i dati richiesti e la configurazione che puoi utilizzare per ottimizzare gli avvisi generati da ogni insieme di regole. Questi insiemi di regole aiutano a identificare le minacce negli Google Cloud ambienti che utilizzano Google Cloud i dati.
Descrizioni dei set di regole
Nella categoria Analisi dei rischi per UEBA sono disponibili i seguenti insiemi di regole, raggruppati in base al tipo di pattern rilevato:
Autenticazione
- Nuovo accesso da parte dell'utente al dispositivo: un utente ha eseguito l'accesso a un nuovo dispositivo.
- Eventi di autenticazione anomali per utente: di recente una singola entità utente ha registrato eventi di autenticazione anomali rispetto all'utilizzo storico.
- Autenticazioni non riuscite per dispositivo: un'entità con un solo dispositivo ha avuto molti tentativi di accesso non riusciti di recente, rispetto all'utilizzo storico.
- Autenticazioni non riuscite da parte dell'utente: un'entità con un solo utente ha avuto di recente molti tentativi di accesso non riusciti, rispetto all'utilizzo storico.
Analisi del traffico di rete
- Byte in entrata anomali per dispositivo: quantità significativa di dati caricati di recente nella singola entità del dispositivo, rispetto all'utilizzo storico.
- Byte in uscita anomali per dispositivo: quantità significativa di dati scaricati di recente da un'unica entità dispositivo, rispetto all'utilizzo storico.
- Byte totali anomali per dispositivo: un'entità dispositivo ha caricato e scaricato di recente una quantità significativa di dati, rispetto all'utilizzo storico.
- Byte in entrata anomali per utente: un'entità con un solo utente ha scaricato di recente una quantità significativa di dati rispetto all'utilizzo storico.
- Byte totali anomali per utente: un'entità utente ha caricato e scaricato di recente una quantità significativa di dati, rispetto all'utilizzo storico.
- Attacco di forza bruta seguito da accesso riuscito da parte dell'utente: un'entità a un solo utente da un indirizzo IP ha effettuato diversi tentativi di autenticazione non riusciti per una determinata applicazione prima di accedere correttamente.
Rilevamento basato su gruppi di pari
Accessi anomali o eccessivi per un utente appena creato: attività di autenticazione anomale o eccessive per un utente creato di recente. Viene utilizzata la data di creazione dei dati del contesto AD.
Azioni sospette anomale o eccessive per un utente appena creato: attività anomale o eccessive (incluse, a titolo esemplificativo, la telemetria HTTP, l'esecuzione dei processi e la modifica dei gruppi) per un utente creato di recente. Viene utilizzata l'ora di creazione dei dati del contesto dell'annuncio.
Azioni sospette
- Creazione eccessiva di account per dispositivo: un'entità dispositivo ha creato diversi nuovi account utente.
- Avvisi eccessivi da parte dell'utente: per un'entità utente sono stati segnalati un numero elevato di avvisi di sicurezza da un antivirus o da un dispositivo endpoint (ad esempio Connessione bloccata, È stato rilevato malware), molto più elevato rispetto ai modelli storici.
Si tratta di eventi in cui il campo UDM
security_result.action
è impostato suBLOCK
.
Rilevamento basato sulla prevenzione della perdita di dati
- Processi anomali o eccessivi con funzionalità di esfiltrazione di dati: attività anomale o eccessive per i processi associati a funzionalità di esfiltrazione di dati come keylogger, screenshot e accesso remoto. Viene utilizzato l'arricchimento dei metadati dei file da VirusTotal.
Dati richiesti da Risk Analytics per la categoria UEBA
La sezione seguente descrive i dati necessari per gli insiemi di regole in ogni categoria per ottenere il massimo vantaggio. Per un elenco di tutti gli analizzatori sintattici predefiniti supportati, consulta Tipi di log e analizzatori sintattici predefiniti supportati.
Autenticazione
Per utilizzare uno di questi insiemi di regole, raccogli i dati dei log da Audit di directory Azure AD (AZURE_AD_AUDIT
) o da Eventi di Windows (WINEVTLOG
).
Analisi del traffico di rete
Per utilizzare uno di questi insiemi di regole, raccogli i dati dei log che acquisiscono l'attività di rete.
Ad esempio, da dispositivi come FortiGate (FORTINET_FIREWALL
), Check Point (CHECKPOINT_FIREWALL
), Zscaler (ZSCALER_WEBPROXY
), CrowdStrike Falcon (CS_EDR
) o Carbon Black (CB_EDR
).
Rilevamento basato su gruppi di pari
Per utilizzare uno di questi insiemi di regole, raccogli i dati dei log da Audit di directory Azure AD (AZURE_AD_AUDIT
) o da Eventi di Windows (WINEVTLOG
).
Azioni sospette
I set di regole in questo gruppo utilizzano ciascuno un tipo diverso di dati.
Regolaset per la creazione eccessiva di account per dispositivo
Per utilizzare questo insieme di regole, raccogli i dati dei log da Directory Audit di Azure AD (AZURE_AD_AUDIT
) o da Eventi di Windows (WINEVTLOG
).
Set di regole Avvisi eccessivi per utente
Per utilizzare questo insieme di regole, raccogli i dati dei log che acquisiscono le attività degli endpoint o i dati di controllo, ad esempio quelli registrati da CrowdStrike Falcon (CS_EDR
), Carbon Black (CB_EDR
) o Azure AD Directory Audit (AZURE_AD_AUDIT
).
Rilevamento basato sulla prevenzione della perdita di dati
Per utilizzare uno di questi insiemi di regole, raccogli i dati dei log che acquisiscono le attività dei processi e dei file, come quelli registrati da CrowdStrike Falcon (CS_EDR
), Carbon Black (CB_EDR
) o SentinelOne EDR (SENTINEL_EDR
).
Gli insiemi di regole in questa categoria dipendono da eventi con i seguenti valori metadata.event_type
: PROCESS_LAUNCH
, PROCESS_OPEN
, PROCESS_MODULE_LOAD
.
Avvisi di ottimizzazione restituiti dalle regole che impostano questa categoria
Puoi ridurre il numero di rilevamenti generati da una regola o da un insieme di regole utilizzando le esclusioni di regole.
Un'esclusione di regole definisce i criteri utilizzati per impedire la valutazione di un evento da parte del insieme di regole o da regole specifiche al suo interno. Crea una o più esclusioni di regole per contribuire a ridurre il volume dei rilevamenti. Per informazioni su come eseguire questa operazione, consulta Configurare le esclusioni delle regole.
Esempio di regola per la categoria di analisi del rischio per UEBA
L'esempio seguente mostra come creare una regola per generare rilevamenti su qualsiasi nome host dell'entità il cui punteggio di rischio è superiore a 100
:
rule EntityRiskScore {
meta:
events:
$e1.principal.hostname != ""
$e1.principal.hostname = $hostname
$e2.graph.entity.hostname = $hostname
$e2.graph.risk_score.risk_window_size.seconds = 86400 // 24 hours
$e2.graph.risk_score.risk_score >= 100
// Run deduplication across the risk score.
$rscore = $e2.graph.risk_score.risk_score
match:
// Dedup on hostname and risk score across a 4 hour window.
$hostname, $rscore over 4h
outcome:
// Force these risk score based rules to have a risk score of zero to
// prevent self feedback loops.
$risk_score = 0
condition:
$e1 and $e2
}
Questa regola di esempio esegue anche un'autoduplicazione utilizzando la sezione corrispondente. Se è possibile attivare il rilevamento di una regola, ma il nome host e il punteggio di rischio rimangono invariati in un intervallo di 4 ore, non vengono creati nuovi rilevamenti.
Le uniche finestre di rischio possibili per le regole del punteggio di rischio dell'entità sono 24 ore o 7 giorni (rispettivamente 86.400 o 604.800 secondi). Se non includi la dimensione della finestra di rischio nella regola, la regola restituisce risultati inaccurati.
I dati del punteggio di rischio delle entità vengono archiviati separatamente dai dati del contesto delle entità. Per utilizzarli entrambi in una regola, la regola deve avere due eventi entità distinti, uno per il contesto dell'entità e uno per il punteggio di rischio dell'entità, come mostrato nell'esempio seguente:
rule EntityContextAndRiskScore {
meta:
events:
$log_in.metadata.event_type = "USER_LOGIN"
$log_in.principal.hostname = $host
$context.graph.entity.hostname = $host
$context.graph.metadata.entity_type = "ASSET"
$risk_score.graph.entity.hostname = $host
$risk_score.graph.risk_score.risk_window_size.seconds = 604800
match:
$host over 2m
outcome:
$entity_risk_score = max($risk_score.graph.risk_score.normalized_risk_score)
condition:
$log_in and $context and $risk_score and $entity_risk_score > 100
}