Utilizza OR nella sezione delle condizioni

Supportato in:

Questo documento spiega come utilizzare l'operatore or per scrivere una logica di rilevamento flessibile e concisa all'interno della sezione condition della query.

L'utilizzo di or tra le variabili evento o segnaposto consente di combinare più condizioni, riducendo la complessità complessiva della sintassi della query:

  • Verifica la presenza di una delle variabili specificate. Ad esempio, $e1 or $e2 richiede almeno un'istanza di $e1 o un'istanza di $e2.

Sintassi or nella sezione delle condizioni

Utilizza la parola chiave or direttamente tra le variabili. L'esempio riportato sotto è equivalente a COUNT($e1)>0 or COUNT($e2)>0:

condition:
  $e1 or $e2  // True if $e1 exists or $e2 exists

Regola di esempio: esecuzione di IP rischioso o hash dannoso

La seguente regola di esempio rileva una minaccia se viene rilevato l'avvio di un processo da un indirizzo IP rischioso o se viene eseguito un hash dannoso noto:

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
}

Esempio di ricerca: esecuzione di hash non sicuri o IP rischiosi

L'esempio seguente mostra come riformattare la regola di esempio come query di ricerca.

$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

Limitazioni note

  • Consumo di risorse: quando utilizzi or tra le variabili evento, consuma più risorse rispetto all'utilizzo di and e può comportare tempi di esecuzione delle query più lunghi.

  • Limite delle variabili evento: per la ricerca e i dashboard, puoi utilizzare un massimo di 3 eventi nella sintassi or multievento. Per le regole, puoi utilizzare un massimo di 2 eventi nella sintassi or multi-evento.

  • Esistenza evento obbligatoria: le espressioni che utilizzano or non possono essere illimitate. L'esistenza dell'evento deve essere un requisito per la veridicità della clausola (ad esempio, $e1 o #e1 > 0).

  • Combinazione di tipi di variabili: non puoi combinare variabili non UDM con variabili evento UDM all'interno dello stesso elenco or.

  • Limitazione della finestra: non puoi utilizzare finestre temporali con la sintassi or.

Passaggi successivi

Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.