Usar O en la sección de condición

Se admite en los siguientes sistemas operativos:

En este documento, se explica cómo usar el operador or para escribir una lógica de detección flexible y concisa dentro de la sección condition de tu consulta.

Usar or entre variables de eventos o marcadores de posición te permite combinar varias condiciones, lo que reduce la complejidad general de la sintaxis de tu consulta:

  • Verifica la presencia de cualquiera de las variables especificadas. Por ejemplo, $e1 or $e2 requiere al menos una instancia de $e1 o una instancia de $e2.

Sintaxis de or en la sección de condiciones

Usa la palabra clave or directamente entre las variables. El siguiente ejemplo es equivalente a COUNT($e1)>0 or COUNT($e2)>0:

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

Ejemplo de regla: Ejecución de IP riesgosa o hash incorrecto

La siguiente regla de ejemplo detecta una amenaza si se detecta el inicio de un proceso desde una dirección IP riesgosa o si se ejecuta un hash incorrecto conocido:

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
}

Ejemplo de búsqueda: Ejecución de IP riesgosa o hash incorrecto

En el siguiente ejemplo, se muestra cómo podrías reformatear la regla de ejemplo como una búsqueda.

$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

Limitaciones conocidas

  • Consumo de recursos: Cuando usas or entre variables de eventos, se consumen más recursos que cuando usas and, lo que puede generar tiempos de ejecución de consultas más largos.

  • Límite de variables de eventos: Para la Búsqueda y los paneles, puedes usar un máximo de 3 eventos en la sintaxis de or de varios eventos. En el caso de las reglas, puedes usar un máximo de 2 eventos en la sintaxis de or de varios eventos.

  • Existencia de eventos obligatoria: Las expresiones que usan or no pueden ser no acotadas. La existencia del evento debe ser un requisito para que la cláusula sea verdadera (por ejemplo, $e1 o #e1 > 0).

  • Combinación de tipos de variables: No puedes combinar variables que no son del UDM con variables de eventos del UDM en la misma lista de or.

  • Restricción de ventana: No puedes usar ventanas deslizantes con la sintaxis or.

Próximos pasos

¿Necesitas más ayuda? Obtén respuestas de miembros de la comunidad y profesionales de Google SecOps.