El servicio Cloud Composer de Google Cloud Platform, construido sobre Apache Airflow, se enfrentó recientemente a una vulnerabilidad crítica que permite a los atacantes escalar privilegios mediante la explotación de su flujo de trabajo de instalación de paquetes PyPI. Este fallo de seguridad podría permitir a los actores de amenazas con derechos limitados ejecutar código arbitrario y obtener acceso elevado mediante el despliegue de paquetes Python maliciosos durante las actualizaciones del entorno. El problema se centra en el manejo de Cloud Composer de las dependencias de Python a través de Cloud Build, que ejecuta scripts de instalación con altos niveles de privilegio, creando así un vector para la escalada de privilegios.
vulnerabilidad de cloud composer que explota paquetes pypi dañinos para escalada de privilegios
La vulnerabilidad surgió de la integración de Cloud Composer con Cloud Build, un componente clave responsable de la construcción y despliegue de recursos dentro de los entornos de Google Cloud Platform. Durante la adición o actualización de paquetes Python desde PyPI, Cloud Composer inicia Cloud Build para gestionar la instalación. Lamentablemente, este proceso confía a la cuenta de servicio predeterminada de Cloud Build amplios permisos, incluido un amplio acceso a otros recursos de GCP.
Los atacantes que posean la composer.environments.update podría crear paquetes PyPI maliciosos que contengan código arbitrario en scripts de preinstalación o postinstalación. Cuando Cloud Composer activa Cloud Build, estos scripts se ejecutan automáticamente bajo los privilegios elevados de la cuenta de servicio, lo que permite a los atacantes obtener el control, manipular las tareas de orquestación de Kubernetes o escalar su acceso a través de los recursos de Google Cloud.
- Cloud Composer utiliza Cloud Build para la instalación de paquetes PyPI.
- La cuenta predeterminada del servicio Cloud Build tiene amplios permisos de GCP.
- Los paquetes PyPI maliciosos ejecutan código en el entorno de compilación con acceso elevado.
- El vector de ataque se basa en el abuso de composer.environments.update permiso.
Esta peligrosa cadena pone de manifiesto la interdependencia entre los componentes de Google Cloud Platform -Cloud Composer, Cloud Build, clústeres Kubernetes- y subraya el riesgo inherente a las cuentas de servicio con privilegios excesivos. La superficie de ataque se amplía aún más si se compara con plataformas de orquestación similares, como los flujos de trabajo gestionados de AWS o las ofertas de automatización de Microsoft Azure, lo que subraya los retos de seguridad entre nubes.
mecánica de escalada de privilegios a través de cloud composer y cloud build
El diseño de Cloud Composer pone en marcha automáticamente instancias de Cloud Build para instalar dependencias de Python procedentes de repositorios PyPI. Esta automatización, si bien es práctica, ofrece inadvertidamente una amplia superficie de ataque porque Cloud Build se ejecuta con una cuenta de servicio que tiene funciones IAM elevadas como Editor o Propietario. La fase de compilación ejecuta pip con scripts de los paquetes especificados, que se ejecutan sin sandboxing.
Controlar esta secuencia permite a los atacantes persistir más allá de los cambios iniciales del entorno, desplegar puertas traseras o pivotar lateralmente dentro de sistemas distribuidos gestionados por clústeres Kubernetes orquestados mediante flujos de trabajo de Cloud Composer.
- Cloud Build utiliza una cuenta de servicio predeterminada altamente privilegiada.
- Los paquetes PyPI pueden contener scripts de instalación arbitrarios ejecutados durante la compilación.
- La falta de un sandboxing estricto limita la contención de los atacantes.
- Potencial para abusar de contenedores Docker y código inyectado para movimiento lateral.
Componente | Papel en la vulnerabilidad | Riesgo implicado | Mitigación aplicada |
---|---|---|---|
Compositor de nubes | Inicia Cloud Build para la instalación de paquetes | Escalada de privilegios a través de la actualización del entorno | Configuración de permisos restringidos, parche publicado |
Construir en la nube | Ejecuta scripts de instalación de paquetes Python | Ejecución arbitraria de código en una cuenta de servicio privilegiada | Aplicación de privilegios mínimos; mejora de los registros de auditoría |
Paquetes PyPI | Fuente de scripts de instalación maliciosos | Ejecución por la puerta trasera, movimiento lateral | Se recomienda la investigación de los desarrolladores y la verificación de los paquetes |
implicaciones de la confusión en la gestión de privilegios de construcción en la nube en gcp
Esta vulnerabilidad, bautizada por los investigadores como "ConfusedComposer", expone un complejo problema en los modelos de permisos de Google Cloud Platform. Las cuentas de servicio predeterminadas, utilizadas para los flujos de trabajo automatizados, tienen permisos inesperadamente amplios para las tareas de instalación. Esta confusión en la gestión de privilegios aumenta significativamente el riesgo durante la integración de paquetes de terceros.
Las organizaciones que confían en Cloud Composer para orquestar contenedores Kubernetes y Docker deben reevaluar sus configuraciones de cuentas de servicio, idealmente alineándose con las mejores prácticas de otros proveedores de nube como OpenShift de Red Hat o Vault de HashiCorp que ofrecen un control de roles más granular.
- Los privilegios predeterminados de la cuenta del servicio Cloud Build a menudo exceden el alcance previsto.
- Los procesos automatizados amplifican el impacto del uso indebido de las cuentas de servicio.
- Se observan problemas similares en entornos multicloud como AWS y Microsoft Azure.
- Necesidad de integrar herramientas de seguridad como Datadog para supervisar actividades anómalas.
Esto también pone de relieve los retos de seguridad más amplios a los que se enfrentan los complejos entornos de nube en contenedores, en los que es fundamental contar con ciberdefensas actualizadas. Exige una supervisión proactiva y la aplicación inmediata de parches de seguridad, junto con auditorías periódicas de las funciones y permisos de IAM.
recomendaciones para proteger los entornos de compositores en la nube contra la escalada de privilegios
Una mitigación eficaz requiere un enfoque de varios niveles centrado en los permisos, la validación de paquetes y la supervisión continua:
- Aplicar el principio de privilegio mínimo restringiendo composer.environments.update acceso.
- Limite los permisos predeterminados de las cuentas del servicio Cloud Build y sustitúyalos por cuentas personalizadas y con alcance.
- Habilite el registro avanzado y la detección de anomalías mediante herramientas de telemetría como Datadog.
- Implementar un estricto escrutinio de los paquetes PyPI a través de listas blancas o repositorios internos aprobados.
- Adopte las mejores prácticas de seguridad de contenedores para entornos Kubernetes y Docker.
Medidas de seguridad | Objetivo | Plataformas implicadas | Eficacia |
---|---|---|---|
Aplicación de los privilegios mínimos | Reducir el riesgo de escalada de privilegios | Google Cloud Platform, Kubernetes | Alto |
Verificación de paquetes y listas blancas | Evitar la ejecución de código malicioso | PyPI, Compositor de nubes | Media a alta |
Registro y control | Detectar y reaccionar ante actividades anómalas | Datadog, Google Cloud Platform | Alto |
Las empresas deben mantenerse informadas a través de conocimientos recientes sobre ciberseguridad y evaluar sus propias exposiciones comprobando si sus entornos son vulnerables a los ciberataques. El panorama sigue evolucionando rápidamente, lo que insta a la colaboración entre los proveedores de la nube y los proveedores de seguridad para colmar estas lagunas críticas.