Habilita y usa la evaluación de vulnerabilidades para Google Cloud

La Evaluación de vulnerabilidades para Google Cloud te permite descubrir vulnerabilidades de software y secretos expuestos en recursos de Google Cloud sin instalar agentes. La evaluación de vulnerabilidades para Google Cloud analiza las instancias de VM de Compute Engine en ejecución, los nodos en los clústeres de GKE Standard, los contenedores que se ejecutan en los clústeres de GKE Standard y GKE Autopilot, y los contenedores que se ejecutan en las cargas de trabajo de Cloud Run (versión preliminar).

Cómo funciona la evaluación de vulnerabilidades para Google Cloud

Los tipos de recursos analizados dependen del nivel de servicio de Security Command Center y son los siguientes:

  • Ejecuta instancias de VM de Compute Engine
  • Nodos en clústeres de GKE Standard
  • Contenedores que se ejecutan en clústeres de GKE Standard y GKE Autopilot.
  • Contenedores que se ejecutan en servicios de Cloud Run, revisiones activas, trabajos y grupos de trabajadores (versión preliminar).

En el caso de las instancias de VM y los clústeres de GKE, la evaluación de vulnerabilidades de Google Cloud funciona clonando los discos de tu instancia de VM, activándolos en otra instancia de VM segura y analizándolos con SCALIBR. La clonación de la instancia de VM tiene las siguientes propiedades:

  • Se crea en la misma región que la instancia de VM de origen.
  • Se crea en un proyecto de Google, por lo que no se suma a tus costos.

Para ayudarte a identificar vulnerabilidades en los recursos de Cloud Run, la evaluación de vulnerabilidades de Google Cloud correlaciona datos de las siguientes fuentes para las cargas de trabajo de Cloud Run (versión preliminar):

  • Analiza los casos en busca de vulnerabilidades y secretos de contenedores desde Artifact Analysis.
  • Información sobre los recursos activos de Cloud Run de Cloud Asset Inventory.

Los hallazgos generados se adjuntan directamente al servicio, trabajo o grupo de trabajadores de Cloud Run activo.

Diferencias de capacidad entre los niveles de servicio

Las siguientes capacidades de evaluación de vulnerabilidades para Google Cloud varían según el nivel de servicio:

  • La frecuencia de análisis
  • La gravedad de los hallazgos que se crean
  • Qué hallazgos se enriquecen con los datos de evaluación de CVE de Mandiant
  • Es el tiempo que transcurre hasta que un hallazgo se marca como INACTIVE.

Consulta Hallazgos generados por la evaluación de vulnerabilidades para Google Cloud para obtener más información sobre estas diferencias.

Limitaciones

Ten en cuenta las siguientes limitaciones cuando identifiques los recursos que deseas analizar:

Compute Engine y discos

  • Los agentes de servicio de Security Command Center deben poder enumerar las instancias de VM del proyecto y clonar sus discos en proyectos de Google. Asegúrate de que los parámetros de configuración de seguridad y de políticas, como las restricciones de las políticas de la organización, no interfieran en la capacidad del agente de servicio para acceder a estos recursos y analizarlos.

    Como solución, recomendamos agregar la organización google.com, con el ID de organización 433637338589, a las políticas de lista de entidades permitidas. A continuación, se muestra un ejemplo de cómo agregar la organización a la lista de entidades permitidas:

    name: organizations/Org-A/policies/compute.storageResourceUseRestrictions
    spec:
      rules:
      – values:
        allowedValues:
        - under:organizations/433637338589

    Para obtener más información, consulta Descripción general de las políticas de la organización.

  • Cuando se analizan instancias de VM con discos persistentes que están encriptados con claves de encriptación administradas por el cliente (CMEK), la clave debe almacenarse en la misma región que el disco. Esta es la ubicación global o la misma ubicación geográfica que el disco cuando se usan claves multirregionales.

  • La evaluación de vulnerabilidades de Google Cloud no admite el análisis de discos encriptados con CMEK y que se encuentran dentro de los perímetros de los Controles del servicio de VPC.

  • La evaluación de vulnerabilidades para Google Cloud no admite instancias de VM con discos persistentes que estén encriptados con claves de encriptación proporcionadas por el cliente (CSEK).

  • La evaluación de vulnerabilidades para Google Cloud solo analiza las particiones de disco VFAT, EXT2, EXT4, XFS y NTFS.

  • La evaluación de vulnerabilidades para Google Cloud no analiza las máquinas virtuales de Confidential Computing.

Google Kubernetes Engine

La evaluación de vulnerabilidades para Google Cloud no hace lo siguiente:

  • Se agregó compatibilidad con el análisis de contenedores en nodos de GKE que están configurados para usar discos SSD locales para el almacenamiento efímero. El escáner se basa en la clonación de discos persistentes. Debido a que Compute Engine no puede crear instantáneas de SSD locales conectadas físicamente, no se analizan las imágenes de contenedor almacenadas en SSD locales.

  • Incluye etiquetas de clúster en los hallazgos cuando analices clústeres de GKE.

  • Analiza los nodos confidenciales de Google Kubernetes Engine.

Cloud Run

  • En el caso de las cargas de trabajo de Cloud Run, la evaluación de vulnerabilidades de Google Cloud evalúa los resultados del análisis de las imágenes de contenedor en lugar de analizar las cargas de trabajo directamente. La evaluación de vulnerabilidades para Google Cloud genera hallazgos solo si la imagen de contenedor se almacena en un repositorio de Artifact Registry que pertenece a la misma organización deGoogle Cloud que el servicio, el trabajo o el grupo de trabajadores de Cloud Run, con excepciones para las duplicaciones de contenedores públicos de Google verificados.

  • En el caso de los trabajos de Cloud Run, la evaluación de vulnerabilidades de Google Cloud solo evalúa las imágenes de las ejecuciones que se iniciaron correctamente en los últimos 14 días. Se omiten las ejecuciones no realizadas o con errores.

  • Si un servicio o grupo de trabajadores de Cloud Run se ejecuta durante más de 30 días sin una implementación, una extracción de imagen o un inicio en frío, el análisis continuo de vulnerabilidades y exposiciones comunes (CVE) se detiene hasta que se produce una nueva extracción o implementación. Después de una nueva extracción o implementación de imágenes, los hallazgos pueden tardar hasta 24 horas en reflejar las CVE publicadas recientemente. Los hallazgos existentes permanecen activos en Security Command Center y están sujetos a las políticas de retención de datos para hallazgos.

  • Los hallazgos solo aparecen cuando Artifact Analysis analiza o vuelve a analizar la imagen. La implementación de una imagen enviada con anterioridad no activa un análisis, por lo que los hallazgos aparecen después del siguiente reanálisis. Si implementas un servicio, un trabajo o un grupo de trabajadores de Cloud Run con una imagen que se envió a Artifact Registry antes, los hallazgos de esa carga de trabajo suelen aparecer en un plazo de 4 horas.

Consideraciones para actualizar y cambiar a niveles de servicio inferiores

Cuando cambias de nivel de servicio, las capacidades de la evaluación de vulnerabilidades para Google Cloud cambian a las que se admiten en el nivel de servicio activo.

Los hallazgos generados por la activación anterior permanecerán activos durante el tiempo definido por el nivel de servicio anterior. Por ejemplo, cuando se cambia del nivel Premium al Estándar, los hallazgos generados en el nivel Premium permanecen activos durante 72 horas (3 días). Los hallazgos nuevos que se generen en el nivel Estándar permanecerán activos durante 195 horas.

Antes de comenzar

Si tienes configurados perímetros de Controles del servicio de VPC, crea las reglas de entrada y salida necesarias.

Permisos para habilitar la Evaluación de vulnerabilidades para Google Cloud

Los permisos necesarios dependen del nivel de activación de Security Command Center. Para obtener información sobre los permisos necesarios para las activaciones del nivel Premium, consulta Activa el nivel Premium de Security Command Center para una organización.

Activaciones a nivel de la organización del nivel Estándar

Para habilitar la evaluación de vulnerabilidades de Google Cloud con una activación del nivel Estándar a nivel de la organización, necesitas los siguientes roles de IAM:

  • Administrador del centro de seguridad (roles/securitycenter.admin)
  • Uno de los siguientes roles:

    • Administrador de seguridad (roles/iam.securityAdmin)
    • Administrador de la organización (roles/resourcemanager.organizationAdmin)

Activaciones a nivel de proyecto del nivel Premium o Estándar

Para habilitar la evaluación de vulnerabilidades de Google Cloud en un proyecto cuando Security Command Center se activa solo a nivel del proyecto, necesitas los siguientes roles de IAM:

  • Administrador del centro de seguridad (roles/securitycenter.admin)
  • Administrador de seguridad (roles/iam.securityAdmin)

Agentes de servicio para analizar discos

El servicio de evaluación de vulnerabilidades para Google Cloud usa agentes de servicio de Security Command Center para la identidad y el permiso de acceso a los recursos de Google Cloud .

En las activaciones a nivel de la organización de Security Command Center, la evaluación de vulnerabilidades para Google Cloud usa el siguiente agente de servicio:

service-org-ORGANIZATION_ID@security-center-api.

En el caso de las activaciones de Security Command Center a nivel del proyecto, la evaluación de vulnerabilidades para Google Cloud usa el siguiente agente de servicio:

service-project-PROJECT_NUMBER@security-center-api.

Habilita o inhabilita la Evaluación de vulnerabilidades para Google Cloud

En los niveles Premium y Enterprise, la evaluación de vulnerabilidades de Google Cloud se habilita automáticamente para todas las instancias de VM, siempre que sea posible.

En el nivel Estándar, debes habilitar de forma manual la evaluación de vulnerabilidades para Google Cloud a nivel de la organización, la carpeta o el proyecto.

Para cambiar la configuración de la evaluación de vulnerabilidades de Google Cloud , haz lo siguiente:

  1. En la consola de Google Cloud , ve a la página Descripción general de riesgos:

    Ir a Resumen de riesgos

  2. Selecciona una organización en la que quieras habilitar la evaluación de vulnerabilidades para Google Cloud.

  3. Haz clic en Configuración.

  4. En la sección Evaluación de vulnerabilidades, haz clic en Administrar configuración.

  5. En la pestaña Google Cloud, habilita o inhabilita la evaluación de vulnerabilidades para Google Cloud a nivel de organización, carpeta o proyecto desde la columna Evaluación de vulnerabilidades sin agente. Los niveles inferiores pueden heredar el valor de los niveles superiores.

Analiza discos encriptados con CMEK

Para permitir que la evaluación de vulnerabilidades de Google Cloud analice los discos encriptados con CMEK, debes otorgar el rol de encriptador/desencriptador de CryptoKey de Cloud KMS (roles/cloudkms.cryptoKeyEncrypterDecrypter) a los siguientes agentes de servicio:

service-org-ORGANIZATION_ID@security-center-api.
service-PROJECT_ID@compute-system.

Si tienes el siguiente agente de servicio, también debes otorgarle el rol a ese agente de servicio:

service-org-ORGANIZATION_ID@ctd-ia-org-sa-prod.

Configura permisos a nivel de la clave

  1. Navega a la página Seguridad > Administración de claves.
  2. Selecciona el llavero de claves que contiene la clave.
  3. Selecciona la llave.
  4. En el panel de información, haz clic en Permisos.
  5. Ingresa el nombre del agente de servicio que ingresaste en el campo Principales nuevas.
  6. En el menú Seleccionar un rol, elige Encriptador/desencriptador de CryptoKey de Cloud KMS.
  7. Haz clic en Guardar.

Configura los permisos de claves a nivel del proyecto

  1. Ve a IAM y administración > IAM.
  2. Haz clic en Otorgar acceso.
  3. Ingresa el nombre del agente de servicio que ingresaste en el campo Principales nuevas.
  4. En el menú Seleccionar un rol, elige Encriptador/desencriptador de CryptoKey de Cloud KMS.

Para que los análisis se ejecuten de forma correcta, la clave debe estar en la misma región que el disco. La evaluación de vulnerabilidades de Google Cloud intenta analizar los discos encriptados con CMEK. Si no otorgas los permisos necesarios, Google Cloud genera el siguiente error en el registro de auditoría: Cloud KMS error when using key.

Hallazgos generados por la evaluación de vulnerabilidades para Google Cloud

La evaluación de vulnerabilidades para el servicio de Google Cloud genera un hallazgo en Security Command Center cuando detecta lo siguiente:

  • Vulnerabilidades de software en una instancia de VM de Compute Engine
  • Vulnerabilidades de software en nodos de un clúster de GKE o contenedores que se ejecutan en GKE.
  • Vulnerabilidades de software y secretos expuestos en servicios, revisiones, trabajos y grupos de trabajadores de Cloud Run (versión preliminar).
  • Vulnerabilidades de imágenes de contenedor en los siguientes recursos:

    • Pods de GKE
    • Servicios de App Engine
    • Servicios y trabajos de Cloud Run

Frecuencia de búsqueda

La frecuencia de los análisis varía según el nivel de servicio:

Nivel Estándar Niveles Premium y Enterprise
Una vez por semana Aproximadamente cada 12 horas

Gravedad de los hallazgos que se crean

La evaluación de vulnerabilidades para Google Cloud publica hallazgos con los siguientes niveles de gravedad, que varían según el nivel de servicio:

Nivel Estándar Niveles Premium y Enterprise
Critical hallazgos de gravedad Critical hallazgos de gravedad High

Ciclo de vida de los hallazgos

Cuando la evaluación de vulnerabilidades de Google Cloud crea un hallazgo, este permanece en estado ACTIVE durante el siguiente período de estado activo, que varía según el nivel de servicio:

Nivel Estándar Niveles Premium y Enterprise
195 horas 72 horas (3 días)

Si la evaluación de vulnerabilidades para Google Cloud vuelve a detectar el hallazgo dentro del período de estado activo (según el nivel de servicio), el contador se restablece y el hallazgo permanece en el estado ACTIVE durante otro período de estado activo. Para obtener más información sobre cuánto tiempo se conservan los hallazgos, consulta Retención de datos para los hallazgos.

Si la Evaluación de vulnerabilidades para Google Cloud no vuelve a detectar el hallazgo dentro del período de estado activo (según el nivel de servicio), la Evaluación de vulnerabilidades para Google Cloud establece el hallazgo en INACTIVE. La evaluación de vulnerabilidades para Google Cloud no detectará el hallazgo en las siguientes condiciones:

  • Se corrigió la condición que causó el hallazgo.
  • Se detuvo la instancia de VM.
  • Se borra la instancia de VM o el proyecto.

Para obtener más información sobre las actualizaciones de los hallazgos cuando se borra un recurso, consulta Descripción general del ciclo de vida de los hallazgos.

Información disponible en los hallazgos

Los hallazgos contienen la siguiente información común:

  • Una descripción de la vulnerabilidad, que incluya la siguiente información:
    • El paquete de software que contiene la vulnerabilidad y su ubicación
    • Información del registro de CVE asociado
    • Una evaluación de Security Command Center sobre la gravedad de la vulnerabilidad
  • Si están disponibles, los pasos para corregir el problema, incluido el parche o la actualización de versión para resolver la vulnerabilidad
  • Los siguientes valores de propiedad:

    • Clase: Vulnerability o Secret
    • Proveedor de servicios en la nube: Google Cloud
    • Fuente: Vulnerability Assessment
    • Categoría: Uno de los siguientes valores:
      • Container Image Vulnerability
      • OS vulnerability
      • Software vulnerability
      • Secrets in Cloud Run

Ciertos hallazgos, que varían según el nivel de servicio, se enriquecen con información sobre el impacto y la capacidad de explotación de una CVE con las evaluaciones de CVE de Mandiant.

Nivel Estándar Niveles Premium y Enterprise
Las CVE que tienen una gravedad crítica incluyen información de evaluación de Mandiant Las CVE que tienen una gravedad crítica o alta incluyen información de evaluación de Mandiant

Los hallazgos generados en los niveles de servicio Premium y Enterprise incluyen la siguiente información:

  • Una puntuación de exposición a ataques que te ayuda a priorizar la solución.
  • Es una representación visual de la ruta que un atacante podría tomar para acceder a los recursos de alto valor expuestos por la vulnerabilidad.

Hallazgos de vulnerabilidades de software detectadas

Los hallazgos de las vulnerabilidades de software detectadas contienen la siguiente información adicional:

  • Es el nombre completo del recurso de la instancia de VM o el clúster de GKE afectado.
  • Información sobre el objeto afectado cuando el hallazgo se relaciona con una carga de trabajo de GKE, por ejemplo:

    • CronJob
    • DaemonSet
    • Deployment
    • Job
    • Pod
    • ReplicationController
    • ReplicaSet
    • StatefulSet

Debido a que la evaluación de vulnerabilidades para Google Cloud puede identificar la misma vulnerabilidad en varios contenedores, la evaluación de vulnerabilidades para Google Cloud agrega vulnerabilidades a nivel de la carga de trabajo de GKE o del Pod. En un hallazgo, es posible que veas varios valores en un solo campo, por ejemplo, en el campo files.elem.path.

Hallazgos de vulnerabilidades detectadas en imágenes de contenedor

Los hallazgos de vulnerabilidades detectadas en las imágenes de contenedor incluyen la siguiente información adicional:

  • Es el nombre completo del recurso de la imagen de contenedor.
  • Si la imagen vulnerable se ejecuta en cualquiera de los siguientes servicios, el hallazgo incluye un recuento de los recursos afectados del entorno de ejecución:
    • Pod de GKE
    • App Engine
    • Servicio y revisión de Cloud Run
    • Trabajo y ejecución de Cloud Run

Hallazgos de vulnerabilidades y secretos detectados en Cloud Run

Los hallazgos de los servicios, los trabajos y los grupos de trabajadores de Cloud Run contienen la siguiente información adicional:

  • Nombre del recurso: Es el nombre completo del recurso del servicio de Cloud Run (//run.googleapis.com/projects/.../locations/.../services/...), el trabajo (//run.googleapis.com/projects/.../locations/.../jobs/...) o el grupo de trabajadores (//run.googleapis.com/projects/.../locations/.../workerPools/...) afectado.
  • Revisiones activas: En el caso de los servicios de Cloud Run, el hallazgo enumera los nombres de los recursos de hasta cinco revisiones activas que activan la imagen de contenedor vulnerable y entregan tráfico. En el caso de los grupos de trabajadores, el hallazgo enumera los nombres de los recursos de las revisiones activas que ejecutan instancias.
  • Sidecars de contenedores: En los servicios, los trabajos y los grupos de trabajadores de varios contenedores, el hallazgo especifica el nombre exacto del contenedor y el resumen de la imagen de contenedor resuelta que contiene la vulnerabilidad del paquete o el secreto expuesto.

Ciclo de vida y retención de los hallazgos de Cloud Run

En el caso de las cargas de trabajo de Cloud Run, un hallazgo permanece como ACTIVE siempre que una revisión activa o un trabajo ejecutado hagan referencia a la imagen de contenedor vulnerable. Cuando una revisión nueva con una imagen limpia reemplaza la revisión vulnerable o cuando la asignación de tráfico o instancias a la revisión vulnerable disminuye al 0%, el hallazgo pasa automáticamente a INACTIVE.

Para obtener información sobre cuánto tiempo se retienen los hallazgos, consulta Retención de datos para los hallazgos.

Ubicación del paquete

La ubicación del archivo de una vulnerabilidad en un hallazgo hace referencia a los archivos de metadatos binarios o del paquete. Esta información depende del extractor de SCALIBR que usa la evaluación de vulnerabilidades para Google Cloud . En el caso de las vulnerabilidades que la Evaluación de vulnerabilidades para Google Cloud encuentra en un contenedor, esta es la ruta de acceso dentro del contenedor.

En la siguiente tabla, se muestran ejemplos de ubicaciones de vulnerabilidades para varios extractores de SCALIBR.

Extractor de SCALIBR Ubicación del paquete
Paquete de Debian (dpkg) /var/lib/dpkg/status
Objeto binario de Go /usr/bin/google_osconfig_agent
archivo de Java /opt/datadog-agent/embedded/lib/python3.9/site-packages/org.jpype.jar
PHP /var/www/html/vkumark/backend_api/composer.lock
Python /usr/lib/google-cloud-sdk/platform/bundledpythonunix/lib/python3.11/site-packages/cryptography-42.0.5.dist-info/METADATA
Ruby /usr/lib/ruby/gems/2.7.0/specifications/default/benchmark-0.1.0.gemspec

Revisa los hallazgos en la consola

Puedes ver los hallazgos de la evaluación de vulnerabilidades de Google Cloud en la consola de Google Cloud . Antes de hacerlo, asegúrate de tener los roles adecuados.

Para revisar los hallazgos de la Evaluación de vulnerabilidades para Google Cloud en la consola de Google Cloud , sigue estos pasos:

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

    Acceder a Hallazgos

  2. Selecciona tu proyecto u organización de Google Cloud .
  3. En la sección Filtros rápidos, en la subsección Nombre visible de la fuente, selecciona Evaluación de vulnerabilidades. Los resultados de la consulta de hallazgos se actualizan para mostrar solo los hallazgos de esta fuente.
  4. Para ver los detalles de un hallazgo específico, haz clic en su nombre en la columna Categoría. Se abre el panel de detalles del hallazgo y se muestra la pestaña Resumen.
  5. En la pestaña Resumen, revisa los detalles del hallazgo, incluida la información sobre lo que se detectó, el recurso afectado y, si están disponibles, los pasos que puedes seguir para corregir el hallazgo.
  6. Para ver la definición completa de JSON del hallazgo, haz clic en la pestaña JSON (opcional).