Prácticas recomendadas de búsqueda

Disponible en:

En este documento se describen las prácticas recomendadas de Google para usar la función Búsqueda en Google Security Operations. Las búsquedas pueden requerir una cantidad considerable de recursos computacionales si no se diseñan con cuidado. El rendimiento también varía en función del tamaño y la complejidad de los datos de tu instancia de Google SecOps.

Usar campos de UDM indexados para conseguir la máxima velocidad

La forma más eficaz de mejorar el rendimiento de las búsquedas es crear consultas con campos indexados. Estos campos están optimizados para que la recuperación sea rápida. Los campos de modelo de datos unificado (UDM) conocidos que se indexan son los siguientes:

Campos principales

  • principal.asset.hostname
  • principal.asset.ip
  • principal.asset.mac
  • principal.file.md5
  • principal.file.sha1
  • principal.file.sha256
  • principal.hostname
  • principal.ip
  • principal.mac
  • principal.process.file.md5
  • principal.process.file.sha1
  • principal.process.file.sha256
  • principal.process.parent_process.file.md5
  • principal.process.parent_process.file.sha1
  • principal.process.parent_process.file.sha256
  • principal.user.email_addresses
  • principal.user.product_object_id
  • principal.user.userid
  • principal.user.windows_sids

Campos de origen

  • source.user.userid
  • src.asset.hostname
  • src.hostname
  • src.ip

Campos de destino

  • target.asset.hostname
  • target.file.md5
  • target.file.sha1
  • target.file.sha256
  • target.hostname
  • target.ip
  • target.process.file.md5
  • target.process.file.sha1
  • target.process.file.sha256
  • target.user.email_addresses
  • target.user.product_object_id
  • target.user.userid
  • target.user.windows_sid

Otros campos

  • about.file.md5
  • about.file.sha1
  • about.file.sha256
  • intermediary.hostname
  • intermediary.ip
  • network.dns.questions.name
  • network.email.from
  • network.email.to
  • observer.hostname
  • observer.ip

Crear consultas de búsqueda eficaces para mejorar el rendimiento

Escribir consultas optimizadas es fundamental para maximizar la velocidad y minimizar el consumo de recursos en tus datos de seguridad. Todas las condiciones de las consultas deben seguir estrictamente esta estructura fundamental:

udm-field operator value

Por ejemplo: principal.hostname = "win-server"

Como Google SecOps puede ingerir una gran cantidad de datos durante una búsqueda, debes minimizar el periodo de tu consulta para acotar el ámbito y mejorar el rendimiento de la búsqueda.

Usar expresiones regulares en una consulta de búsqueda

Puedes usar operadores lógicos y de comparación estándar al crear tus consultas de búsqueda de datos de gestión unificados para crear expresiones complejas:

  • Operadores lógicos: usa AND, OR y NOT para combinar condiciones. AND se da por supuesto si se omite un operador entre dos condiciones.
  • Precedencia de los operadores: use paréntesis () para anular el orden de precedencia predeterminado. Puedes usar un máximo de 169 operadores lógicos (OR, AND y NOT) entre paréntesis.
  • Operadores de comparación: en función del tipo de campo de metadatos definidos por el usuario (cadena, entero o marca de tiempo), los operadores de campo pueden incluir: =, !=, >=, >, < y <=.

Si quieres buscar de forma eficiente en un conjunto grande de valores, puedes usar las listas de referencia.

Usar nocase como modificador de búsqueda

Puedes añadir el modificador nocase a una condición de comparación de cadenas para que la búsqueda no distinga entre mayúsculas y minúsculas.

Por ejemplo, la siguiente búsqueda no es válida:

target.user.userid = "TIM.SMITH" nocase

Evita usar expresiones regulares en campos enumerados

No puede usar expresiones regulares al buscar campos enumerados (campos con un intervalo de valores predefinidos), como metadata.event_type o network.ip_protocol.

El siguiente ejemplo es una búsqueda no válida: metadata.event_type = /NETWORK_*/

En cambio, la siguiente búsqueda es válida: (metadata.event_type = "NETWORK_CONNECTION" o metadata.event_type = "NETWORK_DHCP")

Usar todos los operadores en el campo Eventos

En Buscar, algunos campos de UDM (como principal.ip o target.file.md5) se etiquetan como repetidos, ya que pueden contener una lista de valores o tipos de mensaje en un solo evento. Los campos repetidos siempre se tratan con el operador any de forma predeterminada (no hay ninguna opción para especificar all).

Cuando se usa el operador any, el predicado se evalúa como true si algún valor del campo repetido cumple la condición. Por ejemplo, si buscas principal.ip != "1.2.3.4" y los eventos de tu búsqueda incluyen tanto principal.ip = "1.2.3.4" como principal.ip = "5.6.7.8", se generará una coincidencia. De esta forma, la búsqueda se amplía para incluir resultados que coincidan con cualquiera de los operadores en lugar de con todos ellos.

Cada elemento del campo repetido se trata de forma individual. Si se encuentra el campo repetido en los eventos de la búsqueda, los eventos se evalúan para cada elemento del campo. Esto puede provocar un comportamiento inesperado, sobre todo al buscar con el operador !=.

Cuando se usa el operador any, el predicado se evalúa como true si algún valor del campo repetido cumple la condición.

Usar la hora de la época de Unix en las marcas de tiempo

Los campos de marca de tiempo se comparan mediante el tiempo de época de Unix (el número total de segundos transcurridos desde el jueves 1 de enero de 1970 a las 00:00:00 UTC).

Cuando busques una marca de tiempo específica, puedes usar 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"

Excluir campos de los filtros

Los siguientes campos se excluyen intencionadamente de los filtros de búsqueda. Aunque contienen metadatos cruciales, sus valores únicos pueden introducir detalles de búsqueda innecesarios y reducir la eficiencia y la eficacia generales del motor de consultas:

  • metadata.id
  • metadata.product_log_id
  • *.timestamp

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