Tenable ha revelado que su equipo de investigación de seguridad en la nube ha descubierto nuevas técnicas de ataque en los Lenguajes Específicos de Dominio (DSLs, por sus siglas en inglés) utilizados en plataformas populares de Policy-as-Code (PaC) e Infrastructure-as-Code (IaC). Estas vulnerabilidades pueden resultar en identidades en la nube comprometidas, movimiento lateral y exfiltración de datos.
Infrastructure-as-Code (IaC) se ha convertido en la columna vertebral de las prácticas modernas de DevOps en la nube, y las herramientas de Policy-as-Code son clave para gobernar implementaciones sensibles y complejas. Los DSL’s suelen considerarse más seguros que los lenguajes de programación estándar debido a sus capacidades limitadas y su diseño endurecido. Sin embargo, estos marcos se asumen con frecuencia como seguros por defecto, dejando una puerta abierta para que los atacantes los exploten.
Aunque los DSLs, como los de Open Policy Agent (OPA) y Terraform de HashiCorp, están diseñados para ser seguros, los hallazgos de Tenable revelan configuraciones incorrectas específicas que los atacantes pueden manipular a través de componentes de terceros. Esto subraya la importancia de replantear las estrategias de seguridad en las implementaciones de PaC e IaC.
OPA es un motor de políticas ampliamente utilizado para casos como la autorización de microservicios y políticas de infraestructura. Las políticas en OPA están escritas en Rego, un DSL declarativo de alto nivel con funciones integradas que, si se usan de manera maliciosa, pueden facilitar actividades maliciosas.
La investigación de Tenable descubrió cómo un atacante que compromete la cadena de suministro de políticas puede insertar políticas maliciosas en Rego, ejecutadas durante las evaluaciones de políticas, logrando objetivos como la filtración de credenciales y/o de datos.
Terraform ha sido una herramienta de IaC muy adoptada debido a su naturaleza declarativa, agnóstica de plataformas, soporte comunitario y componentes reutilizables. Sus configuraciones utilizan el Lenguaje de Configuración HashiCorp (HCL), otro DSL. Terraform admite componentes de terceros, como Módulos y Proveedores, que pueden compartirse a través del Registro de Terraform u otros registros públicos o privados. Aunque estos componentes pueden mejorar la eficiencia y la seguridad cuando se usan adecuadamente, un uso descuidado introduce riesgos graves en la cadena de suministro.
Tenable descubrió que, cuando Terraform Plan está configurado para ejecutarse en un disparador de pull request en las canalizaciones CI/CD, los atacantes pueden lograr la ejecución de código no revisado, abriendo caminos furtivos para atacantes internos malintencionados o externos.
Recomendaciones de Tenable Research para Mitigación
- Implementar Control de Acceso Basado en Roles (RBAC): Aplicar el principio de privilegio mínimo tanto para usuarios locales como para aquellos con acceso a través de API. Separar roles para las etapas Terraform Plan y Apply para evitar cambios no revisados en la infraestructura.
- Verificar Componentes de Terceros: Usar solo módulos, proveedores y políticas de fuentes confiables y verificar su integridad antes de la ejecución.
- Habilitar Registros Exhaustivos: Configurar registros a nivel de aplicación y nube para monitoreo y detección de anomalías.
- Restringir Acceso a Redes y Datos: Utilizar el archivo capabilities.json de OPA para limitar conexiones salientes y evitar comunicaciones no autorizadas con servidores internos.
- Escanear Antes de Planificar: Incorporar escaneos de seguridad en la canalización CI/CD antes de la etapa terraform plan para prevenir la ejecución de código no revisado o malicioso.
Tenable Cloud Security permite a las organizaciones escanear y detectar configuraciones erróneas y otros riesgos en sus configuraciones de IaC para reforzar los entornos de infraestructura en la nube como parte de la canalización CI/CD.
“Estas nuevas técnicas de ataque resaltan lo compleja que puede llegar a ser la seguridad en la nube. Las organizaciones en América Latina están cada vez más en riesgo, y debemos actuar proactivamente para ayudar a reducir la exposición a amenazas y proteger los entornos críticos en la nube”, explicó Alejandro Dutto, Director de Ingeniería de Seguridad para Tenable América Latina y Caribe