Especifique a classificação de risco da entidade nas regras

Compatível com:

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 sensíveis ao 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 realiza uma eliminação de duplicados 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 suportados para regras de pontuação de risco de entidades são de 24 horas (86 400 segundos) ou 7 dias (604 800 segundos), respetivamente. Se não especificar a dimensão de um período de risco na regra, esta é definida por predefinição como 24 horas ou 7 dias.

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.