Vulnerabilidad ConfusedFunction en Google Cloud Platform: Análisis Técnico y Medidas de Mitigación
Detalles Técnicos de la Vulnerabilidad
Proceso de Despliegue de Cloud Functions
- Creación de Funciones: Cuando un usuario crea o actualiza una Cloud Function en GCP, se desencadena un proceso de despliegue automatizado. Este proceso involucra varios servicios de GCP, incluyendo Cloud Storage, Artifact Registry y Cloud Build.
- Rol de Cloud Build: Cloud Build se utiliza para orquestar el proceso de despliegue de la función. Esto incluye la compilación del código fuente de la función en una imagen de contenedor y su almacenamiento en un registro de contenedores (Artifact Registry o Container Registry).
- Asignación de Permisos: Durante este proceso, GCP automáticamente adjunta una cuenta de servicio predeterminada de Cloud Build a la instancia de Cloud Build. Esta cuenta de servicio tiene permisos extendidos, lo que permite realizar acciones privilegiadas necesarias para la construcción y despliegue de la función.
Vector de Ataque
- Inyección de Dependencias Maliciosas: Un atacante con permisos para crear o actualizar Cloud Functions puede inyectar una dependencia maliciosa en el archivo package.json o en el equivalente para otros entornos de tiempo de ejecución, como requirements.txt para Python.
- Ejecución de Código Malicioso: Durante el proceso de construcción, Cloud Build ejecuta comandos de instalación de dependencias, incluyendo scripts preinstalación. Si un atacante incluye un script malicioso, este se ejecutará con los permisos de la cuenta de servicio predeterminada de Cloud Build.
- Extracción de Tokens: El script malicioso puede incluir comandos para extraer el token de acceso de la cuenta de servicio desde el metadata server de Google. Este token puede ser utilizado para realizar acciones con los permisos de la cuenta de servicio predeterminada, que pueden incluir acceso a otros servicios de GCP como Cloud Storage o IAM.
Ejemplo de Inyección de Dependencias


Impacto y Riesgos

Medidas de Mitigación
- Uso de Cuentas de Servicio Personalizadas: GCP ha introducido la capacidad de utilizar cuentas de servicio personalizadas para Cloud Build en el proceso de despliegue de funciones. Se recomienda encarecidamente usar cuentas de servicio con los permisos mínimos necesarios para evitar el uso de la cuenta de servicio predeterminada.
- Revisión de Permisos: Las organizaciones deben revisar y restringir los permisos de las cuentas de servicio predeterminadas existentes. También deben asegurarse de que las políticas de IAM estén configuradas para minimizar el acceso a los recursos críticos.
- Monitoreo y Detección: Implementar soluciones de monitoreo para detectar actividades sospechosas, como la creación o actualización inesperada de Cloud Functions, y la ejecución de comandos no autorizados durante el despliegue.
- Actualización de Políticas de Seguridad: Asegurar que las políticas de seguridad de la organización estén actualizadas y que incluyan directrices para la gestión de cuentas de servicio y permisos en la nube.
Etiquetado en: Cloud Google GCP ConfusedFunction
Julio 25, 2024 11:43 AM
Fuente: cibernota.com
Publicado por: Cecilia Coria
Alertas
Alerta en Linux por fallo Pack2TheRoot que permite escalda de privilegios
Una red de ordenadores bots lanza un ciberataque para robar cuentas de Microsoft 365
Vulnerabilidad en PostgreSQL explotada en ataques dirigidos
Nuevas vulnerabilidades de OpenSSH permiten ataques MitM y DoS
Ciberseguridad