Especifica la puntuación de riesgo de entidad en las reglas
En este documento, se describe cómo usar las puntuaciones de riesgo de las entidades en las reglas. En Reglas, la entidad las puntuaciones de riesgo se comportan de manera similar al contexto de la entidad. Puedes escribir reglas de YARA-L 2.0 para usar las puntuaciones de riesgo como el método de detección principal. 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 la entidad son de 24 horas o 7 días (86,400 o 604,800 segundos, respectivamente). Si no incluyes el tamaño de la ventana de riesgo en la regla, esta mostrará resultados inexactos.
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
}