Prácticas recomendadas de búsqueda
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 filtros específicos en las consultas para obtener la máxima velocidad y rendimiento
La forma más eficaz de mejorar el rendimiento de las búsquedas es crear consultas con campos específicos y optimizados del modelo de datos unificado (UDM). Estos campos están optimizados para que la recuperación sea rápida, lo que garantiza que las búsquedas se realicen rápidamente y utilicen menos recursos computacionales.
En las siguientes secciones se enumeran los campos de UDM de alto rendimiento que se pueden usar como filtros en las consultas.
Campos principales
principal.asset.hostnameprincipal.asset.ipprincipal.asset.macprincipal.file.md5principal.file.sha1principal.file.sha256principal.hostnameprincipal.ipprincipal.macprincipal.process.file.md5principal.process.file.sha1principal.process.file.sha256principal.process.parent_process.file.md5principal.process.parent_process.file.sha1principal.process.parent_process.file.sha256principal.user.email_addressesprincipal.user.product_object_idprincipal.user.useridprincipal.user.windows_sid
Campos de origen
source.user.useridsrc.asset.hostnamesrc.hostnamesrc.ip
Campos de destino
target.asset.hostnametarget.file.md5target.file.sha1target.file.sha256target.hostnametarget.iptarget.process.file.md5target.process.file.sha1target.process.file.sha256target.user.email_addressestarget.user.product_object_idtarget.user.useridtarget.user.windows_sid
Otros campos
about.file.md5about.file.sha1about.file.sha256intermediary.hostnameintermediary.ipnetwork.dns.questions.namenetwork.email.fromnetwork.email.toobserver.hostnameobserver.ipmetadata.log_type
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"
Acotar el periodo de la búsqueda
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,ORyNOTpara combinar condiciones.ANDse 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,ANDyNOT) 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 é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.idmetadata.product_log_id*.timestamp
¿Necesitas más ayuda? Recibe respuestas de los miembros de la comunidad y de los profesionales de Google SecOps.