Especifica la puntuación de riesgo de entidad en las reglas

Compatible con:

En este documento, se describe cómo usar las puntuaciones de riesgo de entidad en las reglas. En Reglas, la entidad las puntuaciones de riesgo se comportan de manera similar al contexto de la entidad. Puedes escribir el código YARA-L Reglas 2.0 para usar las puntuaciones de riesgo como el principal método de detección Para ver más información sobre las reglas para el análisis de riesgos, consulta Crea reglas Analytics. Más información más contexto basado en el riesgo, consulta Crea un entorno Analytics.

Para recuperar una puntuación de riesgo de entidad, únete a una entidad con un evento UDM y recupera el campo especificado de EntityRisk:

En el siguiente ejemplo, se muestra cómo crear una regla para generar detecciones en cualquier nombre de host de entidad cuya puntuación de riesgo sea superior 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, risk window, and score across a 4 hour window.
    $hostname, $rwindow, $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
}

Esta regla de ejemplo también realiza una anulación de duplicación automática con la coincidencia sección. Si es posible que se active una detección de reglas, pero el nombre de host y la puntuación de riesgo no cambian en un período de 4 horas, no se crearán detecciones nuevas.

Los únicos períodos de riesgo posibles para las reglas de puntuación de riesgo de entidad son de 24 horas o 7 días (86,400 o 604,800 segundos, respectivamente). Si no incluyes de ventana de riesgo en la regla, esta mostrará resultados imprecisos.

Los datos de puntuación de riesgo de entidad se almacenan por separado de los datos del contexto de la entidad. Para usar ambas en una regla, esta debe tener dos eventos de entidad separados, uno para el contexto de la entidad y uno para la puntuación de riesgo de entidad, como se muestra a continuación ejemplo:

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
}