En esta página, se describe cómo crear y editar consultas de resultados de Security Command Center con el panel Editor de consultas en la página Resultados de la consola de Google Cloud y la consola de Security Operations.
Usa consultas para recuperar resultados específicos y filtrar los que se muestran en los resultados de la búsqueda de resultados.
Trabaja con los resultados en las consolas de Security Command Center Enterprise
Si eres cliente de Security Command Center Enterprise, puedes trabajar con los resultados en dos consolas:
- Consola de Google Cloud: Disponible en todos los niveles de servicio
- Consola de operaciones de seguridad: Disponible solo en el nivel Enterprise
Para obtener más información, consulta Consolas de Security Command Center Enterprise.
Edita las consultas de resultados
En el panel Editor de consultas, puedes agregar filtros a tus consultas para seleccionar resultados según sus valores de propiedad o atributo. Puedes filtrar por elementos como la presencia de valores, la ausencia de valores o la coincidencia de una cadena parcial.
Para obtener información sobre cómo editar una consulta de resultados, haz clic en la pestaña de la consola que estás usando.
Consola de Google Cloud
- En la consola de Google Cloud, ve a la página Resultados de Security Command Center.
- Selecciona tu organización o proyecto de Google Cloud. La página Resultados se carga con la consulta predeterminada que se muestra en el campo Vista previa de la consulta.
- A la derecha de la sección Vista previa de la consulta, haz clic en edit Editar consulta para abrir el panel Editor de consultas.
- Selecciona Agregar filtro para navegar, buscar y agregar filtros de atributos predefinidos a la consulta.
- Selecciona un atributo de resultado o escribe su nombre en el cuadro Buscar atributos de los hallazgos. Aparecerá una lista de los atributos secundarios disponibles.
- Selecciona un atributo secundario. Aparecerá un campo de selección en el que puedes crear la sentencia de consulta con el atributo secundario que seleccionaste, un operador de consulta y uno o más valores para el atributo secundario.
- Selecciona el operador y uno o más valores para el atributo secundario en el panel. Para obtener más información sobre los operadores de consulta y las funciones que usan, consulta Operadores de consulta en el menú Agregar filtros.
- Haz clic en Aplicar.
Se cerrará el cuadro de diálogo y se actualizará tu consulta.
- Repite hasta que la consulta de los resultados contenga todos los atributos que deseas.
El diálogo Seleccionar filtro te permite elegir atributos y valores admitidos de resultados.
Cuando trabajas en el compilador de consultas de la página Resultados, la sección Filtros rápidos se desactiva para evitar conflictos entre ambos.
Consola de operaciones de seguridad
-
En la consola de Security Operations, ve a la página Resultados.
https://CUSTOMER_SUBDOMAIN.backstory.chronicle.security/posture/findings
Reemplaza
CUSTOMER_SUBDOMAIN
por tu identificador específico del cliente. - En el panel Editor de consultas, haz clic en Agregar filtro. Aparecerá el diálogo Add Filter. Este diálogo te permite elegir atributos y valores de resultados admitidos.
- En el cuadro Categoría, selecciona o ingresa un atributo de resultado.
- En el cuadro Nombre del atributo, selecciona o ingresa un atributo secundario.
- En el cuadro Operador, selecciona una opción de evaluación para los valores del atributo secundario seleccionado. Para obtener más información sobre las opciones de evaluación y los operadores que puedes usar, consulta Operadores de consulta en el menú Agregar filtros.
- Selecciona Apply (Apply).
Se cerrará el cuadro de diálogo y se actualizará tu consulta.
- Repite este proceso hasta que la consulta de resultados contenga todos los atributos
por los que deseas filtrar.
Para borrar los filtros, haz clic en Restablecer.
Como alternativa, puedes formar una consulta de resultados de forma manual de la misma manera que formas un filtro de resultados mediante la API de Security Command Center. A medida que escribes tu consulta, aparece un menú de autocompletado, en el que puedes seleccionar nombres, funciones y valores de filtros. Para abrir el menú de autocompletar de forma manual, presiona Control + barra espaciadora.
A medida que editas una consulta, el editor destaca cualquier error en la consulta, por lo que puedes corregirlos antes de enviarla.
Operadores de consultas
Las sentencias de consulta de los resultados de Security Command Center admiten los operadores que admite la mayoría de las APIs de Google Cloud.
En la siguiente lista, se muestra el uso de varios operadores:
state="ACTIVE" AND NOT mute="MUTED"
create_time>"2023-08-15T19:05:32.428Z"
resource.parent_name:"prod"
severity="CRITICAL" OR severity="HIGH"
En la siguiente lista, se muestran todos los operadores y las funciones que se admiten en las instrucciones de consulta para los resultados:
- Para cadenas:
=
para igualdad completa:
para la coincidencia parcial de cadenas
- Para números:
<
,>
,<=
,>=
para desigualdades=
,!=
para igualdad
- Para valores booleanos:
=
para igualdad
- Para relaciones lógicas:
AND
OR
NOT
o-
- Para agrupar expresiones:
(
,)
(paréntesis)
- Para arrays:
contains()
, una función para consultar resultados con un campo de array que contiene al menos un elemento que coincide con el filtro especificadocontainsOnly()
, una función para consultar los resultados con un campo de array que solo contiene elementos que coinciden con el filtro especificado
- Para direcciones IP:
inIpRange()
, una función para consultar direcciones IP dentro de un rango de CIDR especificado
Operadores de consulta en el menú Agregar filtros
Para obtener información sobre los operadores de consulta que se usan en el menú Agregar filtros, haz clic en la pestaña de la consola que usas.
Consola de Google Cloud
En el menú Agregar filtros del Editor de consultas de la consola de Google Cloud, los operadores y las funciones de consulta se representan con palabras o frases, como las siguientes:
- Igual: Coincide con los resultados con este valor de atributo exacto.
- No es igual: Coincide con los resultados que no tienen este valor de atributo exacto.
- Después: Coincide con los resultados que tienen una hora de creación o actualización después de una hora especificada.
- Antes: Coincide con los resultados que tienen una hora de creación o actualización anterior a una hora especificada.
- Tiene: Coincide con los resultados que tienen valores de atributos que contienen el texto que ingresas en el campo Palabra clave.
- No tiene: Coincide con los resultados que tienen valores de atributos que no contienen el texto que ingresas en el campo Palabra clave.
- Para encontrar atributos que contengan arrays, haz lo siguiente:
- Contiene cualquier: Coincide con los resultados que tienen un valor de array que contiene cualquiera de los textos que ingresas en el campo Palabra clave.
- Contiene todo: Coincide con los resultados que tienen un valor de array que contiene todo el texto que ingresas en el campo Palabra clave.
- No contiene: Coincide con los resultados que no tienen un valor de array que contenga el texto que ingresas en el campo Palabra clave.
- Solo contiene: Coincide con los resultados que tienen un atributo de array que contiene solo el valor que ingresas en el campo Palabra clave y ningún otro valor.
- Para direcciones IP:
- Cualquier IP dentro del rango: Coincide con los resultados que tienen una dirección IP en un rango de CIDR especificado.
- No tiene ningún rango de IP: Coincide con los resultados que tienen una dirección IP que no está en un rango CIDR especificado.
Consola de operaciones de seguridad
En el menú operadores y las funciones de consulta se representan de la siguiente manera:
Agregar filtros del Editor de consultas de la consola de Security Operations, los- Igual: Coincide con los resultados con este valor de atributo exacto.
- No es igual: Coincide con los resultados que no tienen este valor de atributo exacto.
- Después: Coincide con los resultados que tienen una hora de creación o actualización después de la que especificaste.
- Antes: Coincide con los resultados que tienen una hora de creación o actualización anterior a la que especificaste.
- Tiene: Coincide con los resultados que tienen valores de atributo que contienen el texto que ingresas en el campo Palabra clave.
- No tiene: Coincide con los resultados que tienen valores de atributos que no contienen el texto que ingresas en el campo Palabra clave.
- Mayor que: Coincide con los resultados que tienen valores de atributos que son más altos que el valor que especificaste.
- Menor que: Coincide con los resultados que tienen valores de atributos inferiores al valor que especificaste.
- Cualquier dirección IP dentro del rango: Coincide con los resultados que tienen una dirección IP en un rango de CIDR especificado.
- No tiene ningún rango de IP: Coincide con los resultados que tienen una dirección IP que no está en un rango de CIDR especificado.
Funciones de consulta
Una función de consulta proporciona evaluaciones más complejas de los valores de los atributos que los operadores de consulta comunes.
Función contains
Usa la función contains
para evaluar atributos o subcampos de atributos que pueden aparecer varias veces en el mismo hallazgo.
De forma interna, estos atributos o subcampos de atributos se almacenan en los elementos de una estructura de datos de array, por lo que se los conoce como atributos de tipo array.
Por ejemplo, algunos resultados pueden hacer referencia a varias conexiones de red, por lo que el atributo connections
es un atributo de tipo array.
De manera similar, ciertos hallazgos de amenazas pueden hacer referencia a varias direcciones IP como indicadores de una vulneración, por lo que el subcampo ip_addresses
del atributo indicator
es un atributo de tipo array.
La función contains
usa la siguiente sintaxis:
contains(ARRAY_ATTRIBUTE_NAME, SUBFILTER)
Reemplaza lo siguiente:
ARRAY_ATTRIBUTE_NAME
: Es el nombre del atributo de tipo array que se almacena en un array. Si el atributo de tipo array es un subcampo de otro atributo, especifica el nombre del atributo y el nombre del subcampo separados por un punto.En el siguiente ejemplo, el atributo de tipo de array,
ip_addresses
, es un subcampo deindicator
, por lo que ambos se especifican en la posiciónARRAY_ATTRIBUTE_NAME
:contains(indicator.ip_addresses, elem="192.0.2.80")
SUBFILTER
: Es una expresión que define cómo evaluar cada instancia del atributo de tipo array. Se admiten los operadores de consulta y las sentencias de evaluación estándar de Security Command Center.Si el valor que se va a verificar está en un subcampo de un atributo de tipo array, especifica el nombre del subcampo a la izquierda de la expresión. La siguiente función
contains
evalúa cada elemento de un array deconnections
, que es un atributo de tipo array que contiene subcampos. Los valores que se consultan se encuentran en el subcampodestination_ip
, que no es un campo de tipo array. Los valores que se consultarán se especifican con el nombre del subcampo,destination_ip
, en lugar del parámetroelem
.contains(connections, destination_ip="192.0.2.80")
Si el subcampo es el atributo array-type, especifícalo a la izquierda de la expresión con su elemento superior y usa el parámetro
elem
a la derecha de la expresión para especificar el valor que se debe buscar. Por ejemplo, la siguiente funcióncontains
evalúa cada elemento de un array deip_addresses
, que es un subcampo del atributoindicator
. El atributoindicator
no es un campo de tipo array.contains(indicator.ip_addresses, elem="192.0.2.80")
La función contains
en el menú Agregar filtro
En el menú Agregar filtro, según el atributo de hallazgo que evalúes, la función contains
se indica de forma explícita o se incluye automáticamente cuando seleccionas otra opción de filtro que la requiera.
Por ejemplo, para el subcampo Direcciones IP del atributo Indicador, puedes seleccionar las siguientes opciones de filtro:
- Contiene algún
- Incluye todo
- No contiene ninguno
Por el contrario, si filtras por el subcampo IP de destino del atributo Conexiones y seleccionas Cualquier IP dentro del rango, las funciones contains
se agregan a la sentencia de consulta automáticamente, como se muestra en el siguiente ejemplo:
contains(connections, inIpRange(destination_ip, "2001:db8::/32"))
Para obtener más información sobre la función contains
, consulta Filtrado en campos de tipo array.
Función containsOnly
La función containsOnly
te permite consultar los resultados de atributos de tipo array o subcampos que contengan solo los valores especificados en el subfiltro y nada más.
La función containsOnly
usa la siguiente sintaxis:
containsOnly(ARRAY_ATTRIBUTE_NAME,SUBFILTER)
Reemplaza lo siguiente:
ARRAY_ATTRIBUTE_NAME
: Es el nombre del atributo de tipo array. Si el atributo de tipo array es un subcampo de otro atributo, especifica el nombre del atributo y el nombre del subcampo separados por un punto. Cuando ejecutas consultas con la consola de Google Cloud, esta función solo admite los atributos del arrayiam_bindings.member
yiam_bindings.role
.SUBFILTER
: Es una expresión que define cómo evaluar cada elemento del atributo de tipo array. Se admiten los operadores de consulta y las sentencias de evaluación estándar de Security Command Center.
En el menú Agregar filtro, las siguientes opciones de filtro usan la función containsOnly
:
Vinculación de IAM > Miembro: Selecciona solo los resultados que incluyen los usuarios, las cuentas de servicio o los grupos especificados.
Vinculación de IAM > Rol: Selecciona solo los resultados que incluyen los roles especificados.
En el siguiente ejemplo, se muestra una consulta de resultados en la consola de Google Cloud que muestra resultados activos y no silenciados para los usuarios del grupo example-group
:
state="ACTIVE" AND NOT mute="MUTED" AND containsOnly(iam_bindings,member="group:example-group@example.com")
Función inIpRange
La función inIpRange
verifica si la dirección IP de un atributo de resultado seleccionado está dentro de un rango de direcciones IP que especificas mediante la notación CIDR (un rango de CIDR). A continuación, se muestra la sintaxis de la función inIpRange
:
inIpRange(ATTRIBUTE_WITH_IP, "CIDR_RANGE")
En el menú Agregar filtro, las siguientes opciones de filtro usan la función inIpRange
:
- Cualquier IP dentro del rango: Selecciona solo los resultados que contienen direcciones IP dentro del rango especificado.
- No tiene ningún rango de IP: Selecciona solo los resultados que no contienen direcciones IP dentro del rango especificado.
En el siguiente ejemplo, se muestra una consulta de resultados en la consola de Google Cloud que muestra resultados activos y no silenciados en los que el subcampo caller_ip
del objeto access
contiene una dirección IPv6 en el rango CIDR de 2001:db8::/32
:
state="ACTIVE" AND NOT mute="MUTED" AND inIpRange(access.caller_ip, "2001:db8::/32")
En el siguiente ejemplo, se muestra una consulta de resultados que muestra resultados activos y activados en los que el subcampo caller_ip
del objeto access
no contiene una dirección IP en el rango de CIDR IPv4 de 192.0.2.0/24
:
state="ACTIVE" AND NOT mute="MUTED" AND NOT inIpRange(access.caller_ip, "192.0.2.0/24")
Si una dirección IP está en un atributo que puede aparecer varias veces en un hallazgo, usa la función contains
con la función inIpRange
para verificar la dirección IP en cada instancia del atributo. Por ejemplo:
contains(connections, inIpRange(source_ip, "192.0.2.0/24"))
Para obtener más información sobre la función contains()
, consulta La función contains
.
Cómo encontrar atributos para las consultas
Security Command Center selecciona los resultados que se mostrarán evaluando los atributos de cada resultado almacenado en función de los filtros de atributos que especifiques en la consulta.
Puedes consultar la mayoría de los atributos de resultados. Algunos atributos son comunes a todos los hallazgos. Otros atributos pueden ser específicos de un problema de seguridad, una categoría de resultados o un servicio de detección en particular.
En el menú Agregar filtro del panel Editor de consultas, las opciones que puedes aplicar a un filtro de atributos son diferentes según el tipo de atributo que selecciones y si el atributo tiene subcampos o un array de valores.
En el menú Agregar filtro, haz clic en cualquiera de los siguientes atributos de nivel superior para mostrar los subatributos y los valores que puedes usar en una consulta de resultados:
- Buscando
- Recurso
- Access (
access
) - Puntuación de exposición al ataque
- Recuperación ante desastres de la copia de seguridad
- Cumplimientos (
compliances[]
) - Conexiones (
connections[]
) - Contactos
- Contenedores
- Base de datos
- Robo de datos (
exfiltration
) - Archivos
- Vinculación de IAM (
iamBindings[]
) - Indicador
- Rootkit de Kernel
- Kubernetes
- MITRE ATT&CK (
mitreAttack
) - Procesos (
processes[]
) - Postura de seguridad
- Protección de datos sensibles
- Vulnerabilidad