Prácticas recomendadas de la búsqueda de UDM
En este documento, se describen las prácticas recomendadas recomendadas de Google para llevar a cabo búsquedas mediante la Búsqueda de UDM. Las búsquedas de la UDM pueden requerir recursos de procesamiento sustanciales para completarse si no se construyen con cuidado. El rendimiento también varía según el tamaño y la complejidad de los datos en tu instancia de Google Security Operations.
Construcción básica de una búsqueda de UDM
Cada condición debe tener el formato udm-field operator value
.
Por ejemplo: principal.hostname = "win-server"
Optimizar el intervalo de tiempo de tu campaña de Búsqueda de UDM
Intenta siempre reducir el período al mínimo necesario. Google Security Operations puede transferir una gran cantidad de datos, por lo que limitar la amplitud de esos datos mientras se realiza una búsqueda puede mejorar significativamente el rendimiento de la búsqueda.
Cómo usar expresiones regulares con la búsqueda de UDM
Puedes utilizar expresiones regulares cuando realices búsquedas de UDM:
- Usa
AND
,OR
yNOT
. - Se supone
AND
en ausencia de los otros operadores. - Usa paréntesis para modificar el orden de prioridad. Existe un límite máximo.
de 169 operadores lógicos (
OR
,AND
yNOT
) que se pueden utilizar entre paréntesis. - Según el tipo de campo, los operadores de campo pueden incluir lo siguiente:
= != >= > < <=
Como alternativa, también puedes usar las listas de referencia.
Cómo usar nocase como modificador de búsqueda
nocase
se puede usar como modificador para ignorar el uso de mayúsculas.
Por ejemplo, la siguiente búsqueda no es válida:
target.user.userid = "TIM.SMITH" nocase
Las expresiones regulares no funcionan para los campos enumerados.
No puedes usar expresiones regulares para campos enumerados (campos con un rango de valores predefinidos), como metadata.event_type
o network.ip_protocol
.
Por ejemplo, la siguiente búsqueda no es válida:
metadata.eventtype = /NETWORK*/
Sin embargo, la siguiente búsqueda es válida (y se aproxima a lo que se intentó anteriormente):
(metadata.event_type = "NETWORK_CONNECTION" or
metadata.event_type = "NETWORK_DHCP")
Uso de cualquiera o todos los operadores en el campo Eventos
En la búsqueda de UDM, algunos campos se etiquetan como repetidos, lo que significa que son listas
valores y otros tipos de mensajes. A diferencia de YARA-L, los campos repetidos en la búsqueda de UDM siempre se tratan con el operador any
de forma predeterminada, sin opción para especificar all
en la búsqueda.
Cuando se usa el operador any
, el predicado se evalúa como verdadero si algún valor del campo repetido satisface la condición. Por ejemplo, si buscas
principal.ip != "1.2.3.4"
y los eventos de tu búsqueda incluyen ambos
principal.ip = "1.2.3.4"
y principal.ip = "5.6.7.8"
, la búsqueda
generar coincidencias. Esto expande tu búsqueda para incluir resultados que coincidan con cualquiera de los operadores en lugar de coincidir con todos ellos.
Cada elemento del campo repetido se trata de forma individual. Si el campo repetido se encuentra en los eventos de la búsqueda, los eventos se evalúan para cada elemento del campo. Esto puede provocar un comportamiento inesperado, en especial cuando se realizan búsquedas con el operador !=
.
Cuando se usa el operador any
, el predicado se evalúa como verdadero si algún valor del campo repetido satisface la condición.
Las marcas de tiempo usan el tiempo Unix
Los campos de marca de tiempo coinciden usando el tiempo Unix (cantidad de segundos que tienen aprobado desde el jueves 1 de enero de 1970 a las 00:00:00).
Cuando se busca una marca de tiempo específica, es válido lo siguiente (en tiempo de época):
metadata.ingested_timestamp.seconds = 1660784400
La siguiente marca de tiempo no es válida:
metadata.ingested_timestamp = "2022-08-18T01:00:00Z"
Existen ciertos campos que se excluyen de los filtros, incluidos los siguientes:
metadata.id
metadata.product_log_id
*.timestamp
Dado que estos campos suelen tener valores únicos, mostrarlos crea más "ruido" que valor en la interfaz de búsqueda de la AUA.