Especificar a pontuação de risco da entidade nas regras

Neste documento, descrevemos como usar as informações de pontuação de risco da entidade nas regras. Esse processo é semelhante ao uso do contexto de entidade em regras. Para mais informações, consulte Como criar análises com reconhecimento de contexto.

Para recuperar uma pontuação de risco de entidade, mescle uma entidade com um evento UDM e recupere o campo especificado de EntityRisk.

O exemplo a seguir mostra como verificar se uma entidade com um nome de usuário correspondente ao evento de UDM tem uma pontuação de risco normalizada maior que 100.

rule EntityRiskScore {
  meta:
  events:
    $log_in.metadata.event_type = "USER_LOGIN"
    $log_in.principal.hostname = $host

    $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 $risk_score and $entity_risk_score > 100
}

As únicas janelas 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, respectivamente). Se você não incluir o tamanho da janela de risco na regra, ela retornará resultados imprecisos.

Os dados de pontuação de risco da entidade são armazenados separadamente dos dados de contexto da entidade. Para usar ambos em uma regra, ela precisa 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 a seguir:

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
}