Specificare il punteggio di rischio dell'entità nelle regole
Questo documento descrive come utilizzare i punteggi di rischio delle entità nelle regole. Nelle regole, i punteggi di rischio dell'entità si comportano in modo simile al contesto dell'entità. Puoi scrivere regole YARA-L 2.0 per utilizzare i punteggi di rischio come metodo di rilevamento principale. Per saperne di più sulle regole relative all'analisi del rischio, vedi Creare regole per l'analisi del rischio. Per saperne di più sul contesto più basato sul rischio, consulta Creare analisi sensibili al contesto.
Per recuperare un punteggio di rischio dell'entità, unisci un'entità a un evento UDM e recupera il campo specificato da EntityRisk.
Il seguente esempio mostra come creare una regola per generare rilevamenti su qualsiasi nome host di entità il cui punteggio di rischio sia 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 una deduplicazione automatica utilizzando la sezione match. Se è possibile che venga attivato il rilevamento di una regola, ma l'hostname e il punteggio di rischio rimangono invariati in un periodo di 4 ore, non verranno 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, quest'ultima restituirà 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, quest'ultima deve avere due eventi di entità separati, uno per il contesto dell'entità e uno per il punteggio di rischio dell'entità, come mostrato nel seguente esempio:
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
}
Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.