Analisi dei rischi per UEBA

Supportato in:

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 su BLOCK.

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"
AND security_result.action != "UNKNOWN_ACTION"
AND security_result.action != "ALLOW"
AUTH_ATTEMPTS_SUCCESS metadata.event_type = "USER_LOGIN"
AND (security_result.action = "UNKNOWN_ACTION" OR security_result.action = "ALLOW")
AUTH_ATTEMPTS_TOTAL metadata.event_type = "USER_LOGIN"
AND security_result.action >= "UNKNOWN_ACTION"
DNS_BYTES_OUTBOUND network.sent_bytes > 0
AND (network.ip_protocol = "UDP" AND target.port = 53)
OR (network.ip_protocol = "TCP" AND (target.port = 53 OR target.port=3000))
DNS_QUERIES_FAIL network.dns.id > 0
AND network.dns.response_code != 0
DNS_QUERIES_SUCCESS network.dns.id > 0
AND network.dns.response_code = 0
DNS_QUERIES_TOTAL network.dns.id > 0
FILE_EXECUTIONS_FAIL metadata.event_type = "PROCESS_LAUNCH"
AND security_result.action != "ALLOW"
FILE_EXECUTIONS_SUCCESS metadata.event_type = "PROCESS_LAUNCH"
AND security_result.action = "ALLOW"
FILE_EXECUTIONS_TOTAL metadata.event_type = "PROCESS_LAUNCH"
HTTP_QUERIES_FAIL network.http.method != ""
AND (network.http.response_code >= 400 OR network.http.response_code = 0)
HTTP_QUERIES_SUCCESS network.http.method != ""
AND network.http.response_code < 400
HTTP_QUERIES_TOTAL network.http.method != ""
NETWORK_BYTES_INBOUND network.received_bytes > 0
AND network.received_bytes < 1000000000000000
NETWORK_BYTES_OUTBOUND network.sent_bytes > 0
AND network.sent_bytes < 1000000000000000
NETWORK_BYTES_TOTAL (network.received_bytes > 0 AND network.received_bytes < 1000000000000000)
OR (network.sent_bytes > 0 AND network.sent_bytes < 1000000000000000)
NETWORK_FLOWS_INBOUND network.received_bytes > 0
AND network.received_bytes < 1000000000000000
NETWORK_FLOWS_OUTBOUND network.sent_bytes > 0
AND network.sent_bytes < 1000000000000000
NETWORK_FLOWS_TOTAL (network.received_bytes > 0 AND network.received_bytes < 1000000000000000)
OR (network.sent_bytes > 0 AND network.sent_bytes < 1000000000000000)
RESOURCE_READ_FAIL (metadata.event_type = "FILE_OPEN" OR metadata.event_type = "RESOURCE_READ")
AND security_result.action != "UNKNOWN_ACTION"
AND security_result.action != "ALLOW"
RESOURCE_READ_SUCCESS (metadata.event_type = "FILE_OPEN" OR metadata.event_type = "RESOURCE_READ")
AND (security_result.action = "UNKNOWN_ACTION" OR security_result.action = "ALLOW")
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")
AND security_result.action != "UNKNOWN_ACTION"
AND security_result.action != "ALLOW"
RESOURCE_WRITTEN_SUCCESS (metadata.event_type = "FILE_CREATION" OR metadata.event_type = "RESOURCE_CREATION")
AND (security_result.action = "UNKNOWN_ACTION" OR security_result.action = "ALLOW")
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_id
principal.asset.hostname
principal.asset.ip
principal.asset.mac
principal.asset.product_object_id
Dispositivo di destinazione target.asset.asset_id
target.asset.hostname
target.asset.ip
target.asset.mac
target.asset.product_object_id
Utente principale principal.user.email_addresses
principal.user.employee_id
principal.user.product_object_id
principal.user.userid
principal.user.windows_sid
Utente target target.user.email_addresses
target.user.employee_id
target.user.product_object_id
target.user.userid
target.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.