Sintaxis de la sección Options

Disponible en:

La sección options de una consulta de YARA-L solo está disponible para las reglas.

Puede especificar opciones con la sintaxis key = value, donde key debe ser un nombre de opción predefinido y value debe ser un valor válido para la opción:

rule RuleOptionsExample {
  // Other rule sections

  options:
    allow_zero_values = true
}

Valores de las opciones

Están disponibles los siguientes valores para las opciones:

Opción allow_zero_values

Los valores válidos de la opción allow_zero_values son true y false (valor predeterminado), que determinan si la opción está habilitada o no. La opción allow_zero_values está inhabilitada si no se especifica en la consulta.

Para habilitar el ajuste allow_zero_values, añade lo siguiente a la sección options de tu consulta: allow_zero_values = true

De esta forma, se evita que la consulta filtre implícitamente los valores cero de los marcadores de posición que se usan en la sección match, tal como se describe en Valores cero en la sección de coincidencias.

Opción suppression_window

La opción suppression_window te permite controlar con qué frecuencia una regla activa una detección. De esta forma, se evita que la misma regla genere varias detecciones en un periodo determinado, aunque se cumplan las condiciones de la consulta varias veces.

La ventana de supresión usa un enfoque de ventana de tiempo, que suprime los duplicados en una ventana de tamaño fijo que no se superpone.

También puedes proporcionar un suppression_key para acotar aún más las instancias de la consulta que se suprimen en la ventana de supresión. Si no se especifica, se suprimen todas las instancias de la consulta. Esta clave se define como una variable de resultado y solo se tiene en cuenta en las consultas de un solo evento.

Varias consultas de eventos usarán las variables de coincidencia de la sección match para determinar qué se debe suprimir. El valor suppression_window también debe ser mayor que la ventana de coincidencia.

El valor predeterminado de suppression_window es 0, es decir, la ventana de supresión está inhabilitada de forma predeterminada.

Ejemplo: opción de ventana de supresión para consultas de un solo evento

En el siguiente ejemplo, suppression_window se asigna a 5m y suppression_key se asigna a la variable $hostname. Después de que la consulta active una detección de $hostname, se suprimirán las detecciones posteriores de $hostname durante los cinco minutos siguientes. Sin embargo, si la consulta se activa en un evento con un nombre de host diferente, se crea una detección.

rule SingleEventSuppressionWindowExample {
  // Other rule sections

  outcome:
    $suppression_key = $hostname

  options:
    suppression_window = 5m
}

Ejemplo: opción de ventana de supresión para consultas de varios eventos

En el siguiente ejemplo, suppression_window se ha definido como 1h. Después de que la consulta active una detección de ($hostname, $ip) en un periodo de 10m, se suprimirán las detecciones posteriores de ($hostname, $ip) durante la hora siguiente. Sin embargo, si la consulta se activa en eventos con una combinación diferente, se crea una detección.

rule MultipleEventSuppressionWindowExample {
  // Other rule sections

  match:
    $hostname, $ip over 10m

  options:
    suppression_window = 1h
}

Información adicional

¿Necesitas más ayuda? Recibe respuestas de los miembros de la comunidad y de los profesionales de Google SecOps.