Usar "o" en la sección de condiciones
En este documento se explica cómo usar el operador or para escribir una lógica de detección flexible y concisa en la sección condition de su consulta.
Si usas or entre variables de evento o de marcador de posición, puedes combinar varias condiciones y reducir la complejidad general de la sintaxis de la consulta:
- Comprueba la presencia de cualquiera de las variables especificadas. Por ejemplo,
$e1 or $e2requiere al menos una instancia de$e1o 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
Regla de ejemplo: ejecución de IP arriesgada o hash incorrecto
La siguiente regla de ejemplo detecta una amenaza si se detecta el inicio de un proceso desde una dirección IP de riesgo 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: IP arriesgada o ejecución de hash incorrecta
En el siguiente ejemplo se muestra cómo se podría reformatear la regla de ejemplo como una consulta de 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
orentre variables de evento, se consumen más recursos que al usarand, lo que puede provocar que las consultas tarden más en ejecutarse.Límite de variables de evento: en la Búsqueda y los paneles de control, puedes usar un máximo de 3 eventos en la sintaxis
orde varios eventos. En las reglas, puedes usar un máximo de dos eventos en la sintaxis deorde varios eventos.Existencia de eventos obligatoria: las expresiones que usan
orno pueden ser ilimitadas. La existencia del evento debe ser un requisito para que la cláusula sea verdadera (por ejemplo,$e1o#e1 > 0).Mezcla de tipos de variables: no puedes combinar variables que no sean de UDM con variables de evento de UDM en la misma lista
or.Restricción de ventana: no puedes usar ventanas de tiempo acumulado con la sintaxis
or.
Siguientes pasos
¿Necesitas más ayuda? Recibe respuestas de los miembros de la comunidad y de los profesionales de Google SecOps.