Analisi dei rischi per UEBA
Questo documento fornisce una panoramica dei set di regole nella categoria Analisi dei rischi per UEBA, dei dati richiesti e della configurazione che puoi utilizzare per ottimizzare gli avvisi generati da ogni set di regole. Questi set di regole aiutano a identificare le minacce valutando le origini log supportate.
Descrizioni dei set di regole
I seguenti set di regole sono disponibili nella categoria Analisi dei rischi per UEBA e sono raggruppati in base al tipo di pattern rilevati:
Autenticazione
- Nuovo accesso dell'utente al dispositivo: un utente ha eseguito l'accesso a un nuovo dispositivo.
- Eventi di autenticazione anomali per utente: una singola entità utente ha avuto di recente eventi di autenticazione anomali rispetto all'utilizzo storico.
- Autenticazioni non riuscite per dispositivo: una singola entità dispositivo ha avuto di recente molti tentativi di accesso non riusciti rispetto all'utilizzo storico.
- Autenticazioni non riuscite per utente: una singola entità 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: di recente è stata caricata una quantità significativa di dati su una singola entità dispositivo rispetto all'utilizzo storico.
- Byte in uscita anomali per dispositivo: di recente è stata scaricata una quantità significativa di dati da una singola entità dispositivo rispetto all'utilizzo storico.
- Byte totali anomali per dispositivo: di recente un'entità dispositivo ha caricato e scaricato una quantità significativa di dati rispetto all'utilizzo storico.
- Byte in entrata anomali per utente: di recente una singola entità utente ha scaricato una quantità significativa di dati rispetto all'utilizzo storico.
- Byte totali anomali per utente: di recente un'entità utente ha caricato e scaricato una quantità significativa di dati rispetto all'utilizzo storico.
- Forza bruta, poi accesso riuscito dell'utente: una singola entità utente da un indirizzo IP ha avuto diversi tentativi di autenticazione non riusciti a una determinata applicazione prima di accedere correttamente.
Rilevamenti basati su gruppi di aziende simili
Accessi anomali o eccessivi per un utente appena creato: attività di autenticazione anomala o eccessiva per un utente creato di recente. Utilizza l'ora di creazione dei dati del contesto di Active Directory.
Azioni sospette anomale o eccessive per un utente appena creato: attività anomala o eccessiva (inclusi, a titolo esemplificativo, telemetria HTTP, esecuzione di processi e modifica di gruppi) per un utente creato di recente. Utilizza l'ora di creazione dei dati del contesto di Active Directory.
Azioni sospette
- Creazione eccessiva di account per dispositivo: un'entità dispositivo ha creato diversi nuovi account utente.
- Avvisi eccessivi per utente: è stato segnalato un numero elevato di avvisi di sicurezza da un antivirus
o da un dispositivo endpoint (ad esempio connessione bloccata, malware rilevato)
su un'entità utente, molto superiore ai pattern storici.
Si tratta di eventi in cui il campo UDM
security_result.actionè impostato suBLOCK.
Rilevamenti basati sulla prevenzione della perdita di dati
- Processi anomali o eccessivi con funzionalità di esfiltrazione dei dati: attività anomala o eccessiva per i processi associati a funzionalità di esfiltrazione di dati come keylogger, screenshot e accesso remoto. Utilizza l'arricchimento dei metadati dei file di VirusTotal.
Dati richiesti dalla categoria Analisi dei rischi per UEBA
Questa sezione descrive in dettaglio i dati richiesti da ogni categoria di set di regole per prestazioni ottimali. Sebbene i rilevamenti UEBA siano progettati per funzionare con tutti i parser predefiniti supportati, l'utilizzo dei seguenti tipi di dati specifici ne massimizza i vantaggi. Per un elenco completo dei parser predefiniti supportati, vedi Tipi di log e parser predefiniti supportati.
Autenticazione
Per utilizzare uno di questi set di regole, raccogli i dati di log da Azure AD Directory Audit (AZURE_AD_AUDIT) o da Windows Event (WINEVTLOG).
Per WINEVTLOG, devi configurare la raccolta dei dati in modo da includere i seguenti Event IDs di Windows nel Security del log eventi Channel.
Questi eventi vengono mappati direttamente ai Event types (ad esempio USER_LOGIN o PROCESS_LAUNCH) utilizzati dal motore di rilevamento.
Requisiti per l'ID evento di Windows
| Tipo di evento | ID evento di Windows |
|---|---|
| USER_LOGIN | 529, 4624, 4625, 4626, 4648, 4672, 4768, 4769, 4770, 4771, 4777, 4820, 4821, 4964 |
| USER_CREATION | 4720 |
| NETWORK_CONNECTION | 4096, 4097, 4321, 5156, 5632, 5633, 5157 |
| GROUP_MODIFICATION | 4728, 4729, 4732, 4733, 4735, 4737, 4745, 4746, 4747, 4750, 4751, 4752, 4755, 4756, 4757, 4760, 4761, 4762, 4764, 4784, 4785, 4786, 4787, 4788, 4791 |
| PROCESS_LAUNCH | 4688 |
| PROCESS_OPEN | 4663, 4670, 4691, 8002 |
Analisi del traffico di rete
Per utilizzare uno di questi set di regole, raccogli i dati di 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).
Rilevamenti basati su gruppi di aziende simili
Per utilizzare uno di questi set di regole, raccogli i dati di log da Azure AD Directory Audit (AZURE_AD_AUDIT) o da Windows Event (WINEVTLOG).
Azioni sospette
I set di regole in questo gruppo utilizzano ciascuno un tipo di dati diverso.
Set di regole Creazione eccessiva di account per dispositivo
Per utilizzare questo set di regole, raccogli i dati di log da Azure AD Directory Audit (AZURE_AD_AUDIT) o da Windows Event (WINEVTLOG).
Set di regole Avvisi eccessivi per utente
Per utilizzare questo set di regole, raccogli i dati di log che acquisiscono le attività degli endpoint o i dati di audit, ad esempio quelli registrati da CrowdStrike Falcon (CS_EDR), Carbon Black (CB_EDR) o Azure AD Directory Audit (AZURE_AD_AUDIT).
Rilevamenti basati sulla prevenzione della perdita di dati
Per utilizzare uno di questi set di regole, raccogli i dati di log che acquisiscono le attività di processi e file, ad esempio quelli registrati da CrowdStrike Falcon (CS_EDR), Carbon Black (CB_EDR) o SentinelOne EDR (SENTINEL_EDR).
Dipendenze dei campi
Questa sezione descrive i campi delle metriche e delle dimensioni utilizzati dalle regole UEBA di Google SecOps.
Dipendenze delle metriche
La tabella seguente elenca le metriche e le query di ricerca UDM corrispondenti che definiscono gli eventi che contribuiscono a ogni metrica.
| Metrica | Query di ricerca UDM per gli eventi che contribuiscono alla metrica |
|---|---|
AUTH_ATTEMPTS_FAIL |
metadata.event_type = "USER_LOGIN" |
AUTH_ATTEMPTS_SUCCESS |
metadata.event_type = "USER_LOGIN" |
AUTH_ATTEMPTS_TOTAL |
metadata.event_type = "USER_LOGIN" |
DNS_BYTES_OUTBOUND |
network.sent_bytes > 0 |
DNS_QUERIES_FAIL |
network.dns.id > 0 |
DNS_QUERIES_SUCCESS |
network.dns.id > 0 |
DNS_QUERIES_TOTAL |
network.dns.id > 0 |
FILE_EXECUTIONS_FAIL |
metadata.event_type = "PROCESS_LAUNCH" |
FILE_EXECUTIONS_SUCCESS |
metadata.event_type = "PROCESS_LAUNCH" |
FILE_EXECUTIONS_TOTAL |
metadata.event_type = "PROCESS_LAUNCH" |
HTTP_QUERIES_FAIL |
network.http.method != "" |
HTTP_QUERIES_SUCCESS |
network.http.method != "" |
HTTP_QUERIES_TOTAL |
network.http.method != "" |
NETWORK_BYTES_INBOUND |
network.received_bytes > 0 |
NETWORK_BYTES_OUTBOUND |
network.sent_bytes > 0 |
NETWORK_BYTES_TOTAL |
(network.received_bytes > 0 AND network.received_bytes < 1000000000000000) |
NETWORK_FLOWS_INBOUND |
network.received_bytes > 0 |
NETWORK_FLOWS_OUTBOUND |
network.sent_bytes > 0 |
NETWORK_FLOWS_TOTAL |
(network.received_bytes > 0 AND network.received_bytes < 1000000000000000) |
RESOURCE_READ_FAIL |
(metadata.event_type = "FILE_OPEN" OR metadata.event_type = "RESOURCE_READ") |
RESOURCE_READ_SUCCESS |
(metadata.event_type = "FILE_OPEN" OR metadata.event_type = "RESOURCE_READ") |
RESOURCE_READ_TOTAL |
(metadata.event_type = "FILE_OPEN" OR metadata.event_type = "RESOURCE_READ") |
RESOURCE_WRITTEN_FAIL |
(metadata.event_type = "FILE_CREATION" OR metadata.event_type = "RESOURCE_CREATION") |
RESOURCE_WRITTEN_SUCCESS |
(metadata.event_type = "FILE_CREATION" OR metadata.event_type = "RESOURCE_CREATION") |
RESOURCE_WRITTEN_TOTAL |
(metadata.event_type = "FILE_CREATION" OR metadata.event_type = "RESOURCE_CREATION") |
Dipendenze delle dimensioni
La tabella seguente elenca le dimensioni e le opzioni dei campi UDM corrispondenti disponibili per il filtraggio o il raggruppamento.
| Dimensioni | Opzioni dei campi |
|---|---|
| Dispositivo principale | principal.asset.asset_idprincipal.asset.hostnameprincipal.asset.ipprincipal.asset.macprincipal.asset.product_object_id |
| Dispositivo di destinazione | target.asset.asset_idtarget.asset.hostnametarget.asset.iptarget.asset.mactarget.asset.product_object_id |
| Utente principale | principal.user.email_addressesprincipal.user.employee_idprincipal.user.product_object_idprincipal.user.useridprincipal.user.windows_sid |
| Utente target | target.user.email_addressestarget.user.employee_idtarget.user.product_object_idtarget.user.useridtarget.user.windows_sid |
| Servizio di destinazione | target.application |
| IP di destinazione | target.ip |
| Percorso del file del processo principale | principal.process.file.full_path |
| Hash del file del processo principale | principal.process.file.sha256 |
| Hash del file principale | principal.file.sha256 |
| Paese principale | principal.ip_geo_artifact.location.country_or_region |
| Categoria di sicurezza | security_result.category |
| Nome dell'organizzazione di rete principale | principal.ip_geo_artifact.network.organization_name |
| Nome dell'organizzazione di rete di destinazione | target.ip_geo_artifact.network.organization_name |
| Hash del certificato client | network.tls.client.certificate.sha256 |
| Tipo di query DNS | network.dns.questions.type |
| Dominio DNS | network.dns_domain |
| User agent HTTP | network.http.user_agent |
| Tipo di evento | metadata.event_type |
| Sistema operativo | principal.platform |
Ottimizzare gli avvisi restituiti dai set di regole in questa categoria
Puoi ridurre il numero di rilevamenti generati da una regola o da un set di regole utilizzando le esclusioni delle regole.
Un'esclusione di una regola definisce i criteri utilizzati per escludere un evento dalla valutazione da parte del set di regole o di regole specifiche nel set di regole. Crea una o più esclusioni di regole per ridurre il volume dei rilevamenti. Per informazioni su come eseguire questa operazione, vedi Configurare le esclusioni delle regole.
Esempio di una regola per la categoria Analisi dei rischi per UEBA
L'esempio seguente mostra come creare una regola per generare rilevamenti su qualsiasi nome host di entità il cui punteggio di rischio sia maggiore di 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 una deduplicazione automatica utilizzando la sezione di corrispondenza. Se un rilevamento di una regola potrebbe essere attivato, ma il nome host e il punteggio di rischio rimangono invariati in un periodo 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 le dimensioni della finestra di rischio nella regola, la regola restituisce risultati imprecisi.
I dati del punteggio di rischio dell'entità vengono archiviati separatamente dai dati del contesto dell'entità. Per utilizzarli entrambi in una regola, la regola deve avere due eventi di entità separati, 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
}
Passaggi successivi
Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.