Especifique a classificação de risco da entidade nas regras
Este documento descreve como usar as classificações de risco de entidades nas regras. Nas regras, as pontuações de risco das entidades comportam-se de forma semelhante ao contexto das entidades. Pode escrever regras YARA-L 2.0 para usar as pontuações de risco como o método de deteção principal. Para mais informações sobre as regras na análise de risco, consulte o artigo Crie regras para a análise de risco. Para mais informações sobre um contexto mais baseado em risco, consulte o artigo Crie estatísticas com reconhecimento do contexto.
Para obter uma pontuação de risco de uma entidade, associe uma entidade a um evento UDM e obtenha o campo especificado de EntityRisk.
O exemplo seguinte mostra como criar uma regra para gerar deteções em qualquer nome de anfitrião de entidade cuja pontuação de risco seja 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 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
}
Esta regra de exemplo também executa uma desduplicação automática através da secção de correspondência. Se a deteção de uma regra puder ser acionada, mas o nome do anfitrião e a pontuação de risco permanecerem inalterados num período de 4 horas, não são criadas novas deteções.
Os únicos períodos de risco possíveis para as regras de pontuação de risco de entidades são de 24 horas ou 7 dias (86 400 ou 604 800 segundos, respetivamente). Se não incluir o tamanho da janela de risco na regra, esta devolve resultados imprecisos.
Os dados da pontuação de risco da entidade são armazenados separadamente dos dados do contexto da entidade. Para usar ambos num regra, a regra tem de ter dois eventos de entidade separados, um para o contexto da entidade e outro para a pontuação de risco da entidade, conforme mostrado no exemplo seguinte:
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
}
Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais da Google SecOps.