Cómo usar listas de referencia y tablas de datos en YARA-L 2.0
Las listas de referencia y las tablas de datos te permiten estructurar tu lógica comparando los campos de eventos con conjuntos de datos personalizados. Usa estos objetos para administrar indicadores de gran volumen, como las IPs conocidas como no seguras o los nombres de host aprobados, en la Búsqueda, los paneles y las detecciones sin modificar la sintaxis subyacente.
Puedes usar listas de referencia o tablas de datos en las secciones events o outcome de una regla. Consulta Listas de referencia y Usa tablas de datos para obtener más información sobre el comportamiento y la sintaxis de las listas de referencia y las tablas de datos.
Aplica la sintaxis de la lista de referencias y la tabla de datos
Las listas de referencia y las tablas de datos siguen una sintaxis similar, definida por el ID del objeto y el tipo de coincidencia (string, regex o CIDR) que se requiere para la operación. En esta sección, se muestran ejemplos de sintaxis para usar varios tipos de listas de referencias.
En Google Security Operations, las listas de referencia y las tablas de datos se usan dentro de las secciones events o outcome de una regla de YARA-L para comparar los datos de eventos con los conjuntos de datos subidos. Se ejecutan durante el proceso de evaluación de reglas para filtrar eventos o enriquecer los resultados de la detección.
Usa listas de referencia cuando necesites verificar si un solo campo coincide con algún valor de una lista predefinida (por ejemplo, una lista de IPs maliciosas conocidas).
- STRING:
$e.principal.hostname in %string_list_name REGEX:
$e.principal.hostname in regex %regex_list_nameCIDR:
$e.principal.ip in cidr %cidr_list_name
Usa tablas de datos cuando tus datos de referencia tengan una estructura de filas o columnas, lo que te permitirá asignar campos específicos a columnas específicas.
STRING:
$e.target.hostname in %table_name.column_nameREGEX:
$e.target.hostname in regex %table_name.column_nameCIDR:
$e.principal.ip in cidr %table_name.column_name
Ejemplos: Sintaxis y comportamiento de la lista de referencias
En los siguientes ejemplos, se ilustra cómo estructurar consultas para diferentes tipos de conjuntos de datos y aplicar lógica condicional a tus coincidencias:
Ejemplo: Sintaxis de la lista de referencias en una búsqueda
// STRING reference list $e.principal.hostname in %string_reference_list // Regular expression reference list $e.principal.hostname in regex %regex_reference_list // CIDR reference list $e.principal.ip in cidr %cidr_reference_list
Ejemplo: Sintaxis de la tabla de datos
// STRING data table $e.target.hostname in %data_table_name.column_name // Regular expression data table $e.target.hostname in regex %regex_table_name.column_name // CIDR data table $e.principal.ip in cidr %cidr_table_name.column_name
Ejemplo: operadores not y nocase
El operador nocase es compatible con las listas STRING y REGEX.
// Exclude events whose hostnames match substrings in my_regex_list.
not $e.principal.hostname in regex %my_regex_list
// Event hostnames must match at least one string in my_string_list (case insensitive).
$e.principal.hostname in %my_string_list nocase
El operador nocase es compatible con las listas STRING y REGEX.
Por motivos de rendimiento, Detection Engine restringe el uso de listas de referencia.
- Cantidad máxima de instrucciones
inen una regla, con o sin operadores especiales: 10 - Cantidad máxima de instrucciones
incon el operadorregex: 5 - Cantidad máxima de instrucciones
incon el operadorcidr: 5
Para obtener más información sobre el comportamiento y la sintaxis de las listas de referencia, consulta Listas de referencia.
Para mantener un rendimiento óptimo en la Búsqueda, los paneles y las detecciones, el motor de YARA-L aplica los siguientes límites:
- Cantidad máxima de instrucciones
inen una consulta, con o sin operadores especiales: 7 - Cantidad máxima de sentencias
incon el operadorregex: 4 - Cantidad máxima de sentencias
incon el operadorcidr: 2
¿Necesitas más ayuda? Obtén respuestas de miembros de la comunidad y profesionales de Google SecOps.