Técnicas innovadoras exponen vulnerabilidades críticas en Terraform y OPA
Investigadores en ciberseguridad han revelado dos nuevas técnicas de ataque dirigidas a herramientas de infraestructura como código (IaC) y política como código (PaC), como Terraform de HashiCorp y Open Policy Agent (OPA). Estos métodos aprovechan los lenguajes específicos de dominio (DSL) que utilizan estas herramientas para comprometer plataformas en la nube y exfiltrar datos sensibles.
Según Shelly Raban, investigadora senior de Tenable, aunque estos lenguajes son más seguros que los lenguajes de programación estándar, “más seguro no significa a prueba de balas”.
OPA bajo ataque: exfiltración de datos a través de políticas maliciosas
OPA es un motor de políticas de código abierto ampliamente utilizado en entornos nativos de la nube como microservicios, Kubernetes y pipelines CI/CD. Las políticas se definen mediante Rego, un lenguaje de consulta nativo, que luego es evaluado por OPA.
El ataque detectado por Tenable implica la inserción de una política maliciosa en un servidor OPA mediante una clave de acceso comprometida. Esta política aprovecha la función “http.send” para exfiltrar credenciales. Incluso si esta función está restringida, los atacantes pueden recurrir a “net.lookup_ip_addr” para realizar una exfiltración de datos utilizando túneles DNS.
Raban advierte que esta función debería ser monitoreada o restringida, ya que también introduce riesgos significativos de fuga de información.
Terraform en riesgo: manipulación en procesos CI/CD
Terraform, diseñado para gestionar recursos en la nube mediante definiciones declarativas, también ha sido señalado como vulnerable. Los atacantes pueden explotar el comando “terraform plan”, comúnmente utilizado en workflows de GitHub, para ejecutar cambios maliciosos no revisados.
Esto plantea un grave riesgo, ya que tanto actores externos en repositorios públicos como insiders maliciosos en repositorios privados pueden insertar código malicioso. Estos ataques pueden emplear fuentes de datos externas, módulos de Terraform o fuentes DNS para ejecutar sus objetivos.
Recomendaciones para mitigar los riesgos
Para protegerse de estos ataques, los expertos sugieren implementar las siguientes medidas:
- Control de accesos: Aplicar control de acceso basado en roles (RBAC) y seguir el principio de privilegio mínimo.
- Monitoreo activo: Configurar registros a nivel de aplicación y nube para análisis y detección temprana.
- Restricción de acceso: Limitar el acceso a datos y redes de las aplicaciones y las máquinas subyacentes.
- Validación de código: Evitar la ejecución automática de código no revisado en pipelines CI/CD.
- Herramientas de escaneo: Usar soluciones como Terrascan o Checkov para identificar problemas de configuración antes del despliegue.
Conclusión
Estos descubrimientos subrayan la necesidad de fortalecer la seguridad en herramientas clave de IaC y PaC, ya que un simple descuido en políticas o procesos puede abrir la puerta a ciberataques devastadores. Las organizaciones deben priorizar la evaluación continua de sus configuraciones y la adopción de medidas proactivas para proteger sus entornos en la nube.