Consultar resultados en la consola

En esta página se describe cómo crear y editar consultas de detecciones de Security Command Center mediante el panel Editor de consultas de la página Detecciones.

Usa consultas para obtener hallazgos específicos y filtrar los que se muestran en los resultados de la consulta de hallazgos.

Editar consultas de resultados

En el panel Editor de consultas, puede añadir filtros a sus consultas para seleccionar resultados en función de los valores de sus propiedades o atributos. Puede filtrar por elementos como la presencia o la ausencia de valores, o la coincidencia de una cadena parcial.

Para obtener información sobre cómo editar una consulta de resultados, haga clic en la pestaña de su nivel de servicio.

Estándar o Premium

  1. En la Google Cloud consola, ve a la página Resultados de Security Command Center.

    Ir a Resultados

  2. Selecciona tu Google Cloud proyecto u organización. La página Resultados se carga con la consulta predeterminada en el campo Vista previa de la consulta.
  3. A la derecha de la sección Vista previa de la consulta, haz clic en Editar consulta para abrir el panel Editor de consultas.
  4. Selecciona Añadir filtro para desplazarte, buscar y añadir filtros de atributos predefinidos a la consulta.
  5. El cuadro de diálogo Seleccionar filtro le permite elegir atributos y valores de búsqueda admitidos.

    1. Seleccione un atributo de la detección o escriba su nombre en el cuadro Buscar atributos de la detección. Se muestra una lista de los subatributos disponibles.
    2. Selecciona un subatributo. Se muestra un campo de selección en el que puedes crear la instrucción de consulta con el subatributo que has seleccionado, un operador de consulta y uno o varios valores del subatributo.
    3. Seleccione el operador y uno o varios valores del subatributo en el panel. Para obtener más información sobre los operadores de consulta y las funciones que utilizan, consulta Operadores de consulta del menú Añadir filtros.
    4. Haz clic en Aplicar.

      El cuadro de diálogo se cierra y la consulta se actualiza.

    5. Repita el proceso hasta que la consulta de resultados contenga todos los atributos que quiera.

Cuando trabajas en el editor de consultas de la página Resultados, la sección Filtros rápidos se desactiva para evitar conflictos entre ambos.

Empresa

  1. En la Google Cloud consola, ve a la página Resultados de Security Command Center.

    Ir a las detecciones del nivel Enterprise

  2. En el panel Editor de consultas, haz clic en Añadir filtro. Aparecerá el cuadro de diálogo Añadir filtro. Este cuadro de diálogo le permite elegir atributos y valores de resultados admitidos.
  3. En el campo Categoría de atributo, seleccione o introduzca un atributo de resultado.
  4. En el campo Nombre de atributo, selecciona o introduce un subatributo.
  5. En el campo Operador, seleccione una opción de evaluación para los valores del subatributo seleccionado. Para obtener más información sobre las opciones de evaluación y los operadores que puede usar, consulte Operadores de consulta del menú Añadir filtros.
  6. Selecciona Aplicar.

    El cuadro de diálogo se cierra y la consulta se actualiza.

  7. Repite este proceso hasta que la consulta de resultados contenga todos los atributos por los que quieras filtrar.

    Para borrar los filtros, haz clic en Restablecer.

También puedes crear manualmente una consulta de resultados de la misma forma que crear un filtro de resultados con la API de Security Command Center. Mientras escribes tu consulta, aparece un menú de autocompletar en el que puedes seleccionar nombres de filtros, funciones y valores. Para abrir manualmente el menú de autocompletar, pulsa Control + Espacio.

Mientras editas una consulta, el editor destaca los errores que haya en ella para que puedas corregirlos antes de enviarla.

Operadores de consulta

Las instrucciones de consulta de los resultados de Security Command Center admiten los operadores que admiten la mayoría de las APIs. 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 funciones que se admiten en las instrucciones de consulta de los resultados:

  • Para cadenas:
    • = para lograr la igualdad plena
    • : para la coincidencia parcial de cadenas
  • Para números (excepto int64):
    • <, >, <=, >= para desigualdades
    • =, != por la igualdad
  • Para números (int 64):
    • =, != por la igualdad
  • Para valores booleanos:
    • = por la igualdad
  • Para las relaciones lógicas:
    • AND
    • OR
    • NOT o -
  • Para agrupar expresiones:
    • (, ) (paréntesis)
  • Para las matrices:
    • contains(), una función para consultar resultados con un campo de matriz que contenga al menos un elemento que coincida con el filtro especificado
    • containsOnly(), una función para consultar resultados con un campo de matriz que solo contiene elementos que coinciden con el filtro especificado.
  • Para direcciones IP:
    • inIpRange(), una función para consultar direcciones IP dentro de un intervalo CIDR especificado

Operadores de consulta en el menú Añadir filtros

Para obtener información sobre los operadores de consulta que se usan en el menú Añadir filtros, haz clic en la pestaña de tu nivel de servicio.

Estándar o Premium

En el menú Añadir filtro de Editor de consultas, los operadores y funciones de consulta se representan con palabras o frases, como las siguientes:

  • Es igual a: se muestran los resultados que coinciden exactamente con el valor de este atributo.
  • No es igual a: muestra los resultados que no tienen este valor de atributo exacto.
  • Después: busca coincidencias con una hora de creación o actualización posterior a la hora especificada.
  • Antes: busca coincidencias con una hora de creación o actualización anterior a la hora especificada.
  • Tiene: busca coincidencias con valores de atributos que contengan el texto que introduzcas en el campo Palabra clave.
  • No tiene: busca coincidencias con valores de atributo que no contengan el texto que introduzcas en el campo Palabra clave.
  • Para buscar atributos que contengan arrays, sigue estos pasos:
    • Contiene alguno: coincide con los resultados que tienen un valor de matriz que contiene alguno de los textos que introduzca en el campo Palabra clave.
    • Contiene todo: busca coincidencias que tengan un valor de array que contenga todo el texto que introduzcas en el campo Palabra clave.
    • No contiene: coincide con los resultados que no tienen un valor de matriz que contenga el texto que introduzcas en el campo Palabra clave.
    • Contiene solo: coincide con los resultados que tienen un atributo de matriz que contiene solo el valor que introduce en el campo Palabra clave y ningún otro valor.
  • Para direcciones IP:
    • Cualquiera del intervalo de IP: coincide con los resultados que tienen una dirección IP en un intervalo CIDR especificado.
    • No tiene ninguno del intervalo de IPs: coincide con los resultados que tienen una dirección IP que no está en un intervalo CIDR especificado.

Empresa

En el menú Añadir filtro del editor de consultas, los operadores y las funciones de consulta se representan de la siguiente manera:

  • Es igual a: se muestran los resultados que coinciden exactamente con el valor de este atributo.
  • No es igual a: muestra los resultados que no tienen este valor de atributo exacto.
  • Después: muestra los resultados con una hora de creación o actualización posterior a la que hayas especificado.
  • Antes: busca coincidencias con una hora de creación o actualización anterior a la hora que hayas especificado.
  • Tiene: busca coincidencias con valores de atributo que contengan el texto que introduzcas en el campo Palabra clave.
  • No tiene: busca coincidencias con valores de atributos que no contengan el texto que introduzcas en el campo Palabra clave.
  • Mayor que: coincide con los resultados que tienen valores de atributo superiores al valor especificado.
  • Menor que: coincide con los resultados que tienen valores de atributo inferiores al valor que ha especificado.
  • Cualquiera del intervalo de IP: coincide con las detecciones que tienen una dirección IP en un intervalo CIDR especificado.
  • No tiene ninguno del intervalo de IPs: coincide con los resultados que tienen una dirección IP que no está en un intervalo CIDR especificado.

Funciones de consulta

Una función de consulta ofrece evaluaciones más complejas de los valores de los atributos que los operadores de consulta habituales.

Función contains

Usa la función contains para evaluar atributos o subcampos de atributos que pueden aparecer varias veces en el mismo resultado.

Internamente, estos atributos o subcampos de atributos se almacenan en los elementos de una estructura de datos de matriz, por lo que se denominan atributos de tipo matriz.

Por ejemplo, algunas detecciones pueden hacer referencia a varias conexiones de red, por lo que el atributo connections es un atributo de tipo array. Del mismo modo, algunos resultados 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 utiliza la siguiente sintaxis:

contains(ARRAY_ATTRIBUTE_NAME, SUBFILTER)

Haz los cambios siguientes:

  • ARRAY_ATTRIBUTE_NAME: nombre del atributo de tipo de matriz que se almacena en una matriz. Si el atributo de tipo array es un subcampo de otro atributo, especifique el nombre del atributo y el nombre del subcampo separados por un punto.

    En el ejemplo siguiente, el atributo de tipo array, ip_addresses, es un subcampo de indicator, por lo que ambos se especifican en la posición ARRAY_ATTRIBUTE_NAME:

    contains(indicator.ip_addresses, elem="192.0.2.80")
  • SUBFILTER: expresión que define cómo evaluar cada instancia del atributo de tipo array. Se admiten operadores de consulta y declaraciones de evaluación de Security Command Center estándar.

    Si el valor que quiere comprobar está en un subcampo de un atributo de tipo array, especifique el nombre del subcampo a la izquierda de la expresión. La siguiente función contains evalúa cada elemento de una matriz de connections, que es un atributo de tipo matriz que contiene subcampos. Los valores que se están consultando se encuentran en el subcampo destination_ip, que no es un campo de tipo array. Los valores que se van a consultar se especifican con el nombre del subcampo, destination_ip, en lugar del parámetro elem.

    contains(connections, destination_ip="192.0.2.80")

    Si el subcampo es el atributo de tipo de matriz, especifique el atributo de tipo de matriz a la izquierda de la expresión con su elemento superior y use el parámetro elem a la derecha de la expresión para especificar el valor que se va a buscar. Por ejemplo, la siguiente función contains evalúa cada elemento de una matriz de ip_addresses, que es un subcampo del atributo indicator. El atributo indicator no es un campo de tipo array.

    contains(indicator.ip_addresses, elem="192.0.2.80")

La función contains del menú Añadir filtro

En el menú Añadir filtro, en función del atributo del resultado que estés evaluando, la función contains se muestra explícitamente o se incluye automáticamente cuando seleccionas otra opción de filtro que la requiere.

Por ejemplo, en el subcampo Direcciones IP del atributo Indicador, puede seleccionar las siguientes opciones de filtro:

  • Contiene
  • Contiene todas
  • No contiene

Por el contrario, si filtras por el subcampo IP de destino del atributo Conexiones y seleccionas Cualquiera dentro del intervalo de IP, se añade automáticamente la función contains a la instrucción de la consulta, 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 el artículo Filtrar por campos de tipo array.

Función containsOnly

La función containsOnly te permite consultar resultados de atributos o subcampos de tipo array que solo contengan los valores especificados en el subfiltro y ningún otro.

La función containsOnly utiliza la siguiente sintaxis:

containsOnly(ARRAY_ATTRIBUTE_NAME,SUBFILTER)

Haz los cambios siguientes:

  • ARRAY_ATTRIBUTE_NAME: el nombre del atributo de tipo array. Si el atributo de tipo array es un subcampo de otro atributo, especifique el nombre del atributo y el nombre del subcampo separados por un punto. Cuando ejecutas consultas con la consola Google Cloud , esta función solo admite los atributos de matriz iam_bindings.member y iam_bindings.role.

  • SUBFILTER: expresión que define cómo evaluar cada elemento del atributo de tipo array. Se admiten los operadores de consulta y las instrucciones de evaluación estándar de Security Command Center.

En el menú Añadir filtro, las siguientes opciones de filtro usan la función containsOnly:

  • Vinculación de IAM > Miembro: selecciona solo los resultados que incluyan los usuarios, las cuentas de servicio o los grupos especificados.

  • Asignació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 Google Cloud consola que devuelve los resultados activos y no silenciados de 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 comprueba si la dirección IP de un atributo de resultado seleccionado está dentro de un intervalo de direcciones IP que especifiques mediante la notación CIDR (un intervalo CIDR). A continuación, se muestra la sintaxis de la función inIpRange:

inIpRange(ATTRIBUTE_WITH_IP, "CIDR_RANGE")

En el menú Añadir filtro, las siguientes opciones de filtro usan la función inIpRange:

  • Cualquiera del intervalo de IP: selecciona solo los resultados que contengan direcciones IP dentro del intervalo especificado.
  • No tiene ninguno del intervalo de IPs: selecciona solo los resultados que no contengan direcciones IP dentro del intervalo especificado.

En el siguiente ejemplo se muestra una consulta de detecciones en la consola Google Cloud que devuelve detecciones activas y no silenciadas en las que el subcampo caller_ip del objeto access contiene una dirección IPv6 en el intervalo 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 detecciones que devuelve detecciones activas y no silenciadas en las que el subcampo caller_ip del objeto access no contiene una dirección IP en el intervalo 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 se encuentra en un atributo que puede aparecer varias veces en un resultado, usa la función contains con la función inIpRange para comprobar cada instancia del atributo de la dirección IP. 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.

Buscar atributos de las consultas

Security Command Center selecciona los hallazgos que se van a mostrar evaluando los atributos de cada hallazgo almacenado en comparación con los filtros de atributos que especifiques en la consulta.

Puede consultar la mayoría de los atributos de las detecciones. Algunos atributos son comunes a todos los resultados. Otros atributos pueden ser específicos de un problema de seguridad, una categoría de resultados o un servicio de detección concretos.

En el menú Añadir filtro del panel Editor de consultas, las opciones que puede aplicar a un filtro de atributo varían en función del tipo de atributo que seleccione y de si el atributo tiene subcampos o una matriz de valores.

En el menú Añadir filtro, haga clic en cualquiera de los atributos de nivel superior siguientes para mostrar los subatributos y los valores que puede usar en una consulta de resultados:

  • Hallazgo
  • Recurso
  • Acceso (access)
  • Puntuación de exposición a ataques
  • Recuperación tras fallos de copias de seguridad
  • Cumplimientos (compliances[])
  • Conexiones (connections[])
  • Contactos
  • Contenedores
  • Base de datos
  • Exfiltración (exfiltration)
  • Archivos
  • Vinculación de IAM (iamBindings[])
  • Indicador
  • Rootkit de kernel
  • Kubernetes
  • MITRE ATT&CK (mitreAttack)
  • Procesos (processes[])
  • Posición de seguridad
  • Protección de datos sensibles
  • Vulnerabilidad