Use ou na secção de condições
Este documento explica como usar o operador or para escrever uma lógica de deteção flexível e concisa na secção condition da sua consulta.
A utilização de or entre variáveis de eventos ou marcadores de posição permite combinar várias condições,
reduzindo a complexidade geral da sintaxe da consulta:
- Verifica a presença de qualquer uma das variáveis especificadas. Por exemplo,
$e1 or $e2requer, pelo menos, uma instância de$e1ou uma instância de$e2.
Sintaxe or na secção de condições
Use a palavra-chave or diretamente entre as variáveis. O exemplo seguinte é
equivalente a COUNT($e1)>0 or COUNT($e2)>0:
condition:
$e1 or $e2 // True if $e1 exists or $e2 exists
Regra de exemplo: IP arriscado ou execução de hash incorreta
A regra de exemplo seguinte deteta uma ameaça se for detetado um lançamento de processo a partir de um endereço IP arriscado ou se for executado um hash conhecido como mau:
rule MultiEventOr {
meta:
author = "google-secops"
events:
$e1.principal.ip = "1.1.1.1"
$e1.metadata.event_type = "PROCESS_LAUNCH"
$e2.target.file.sha256 = "badhash..."
$user = $e1.principal.user.userid
$user = $e2.principal.user.userid
match:
$user over 5m
condition:
$e1 or $e2
}
Exemplo de pesquisa: execução de IP arriscado ou hash incorreto
O exemplo seguinte mostra como pode reformatar a regra de exemplo como uma consulta de pesquisa.
$e1.principal.ip = "1.1.1.1"
$e1.metadata.event_type = "PROCESS_LAUNCH"
$e2.target.file.sha256 = "badhash..."
$user = $e1.principal.user.userid
$user = $e2.principal.user.userid
match:
$user over 5m
condition:
$e1 or $e2
Limitações conhecidas
Consumo de recursos: quando usa
orentre variáveis de eventos,orconsome mais recursos do que usarande pode resultar em tempos de execução de consultas mais longos.Limite de variáveis de eventos: para a Pesquisa e os painéis de controlo, pode usar um máximo de 3 eventos na sintaxe
orde vários eventos. Para regras, pode usar um máximo de 2 eventos na sintaxeorde vários eventos.Existência de eventos obrigatória: as expressões que usam
ornão podem ser ilimitadas. A existência do evento tem de ser um requisito para que a cláusula seja verdadeira (por exemplo,$e1ou#e1 > 0).Mistura de tipos de variáveis: não pode combinar variáveis não UDM com variáveis de eventos UDM na mesma lista
or.Restrição de janelas: não pode usar janelas de deslocamento com a sintaxe
or.
O que se segue?
Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais da Google SecOps.