Specificare il punteggio di rischio dell'entità nelle regole

Supportato in:

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, consulta Creare regole per l'analisi del rischio. Per saperne di più su un 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.

L'esempio seguente 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 entro un periodo di 4 ore, non verranno creati nuovi rilevamenti.

Le uniche finestre di rischio supportate per le regole del punteggio di rischio dell'entità sono 24 ore (86.400 secondi) o 7 giorni (604.800 secondi), rispettivamente. Se non specifichi una dimensione della finestra di rischio nella regola, questa verrà impostata per impostazione predefinita su 24 ore o 7 giorni.

I dati del punteggio di rischio dell'entità vengono archiviati separatamente dai dati di contesto dell'entità. Per utilizzarli entrambi in una regola, la regola deve avere due eventi 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.