A Tenable, empresa líder em gestão de exposição, anunciou que sua equipe de pesquisa em segurança na nuvem revelou novas técnicas de ataque envolvendo Linguagens Específicas de Domínio (DSLs). Essas linguagens, amplamente utilizadas em plataformas de Policy-as-Code (PaC) e Infrastructure-as-Code (IaC), podem apresentar vulnerabilidades que permitem comprometimento de identidades na nuvem, movimentação lateral dentro de redes invadidas e exfiltração de dados.
A relevância do Infrastructure-as-Code
O IaC tornou-se essencial para práticas modernas de DevOps, enquanto ferramentas de PaC são cruciais para gerenciar implantações sensíveis. DSLs, como as utilizadas no Open Policy Agent (OPA) e no Terraform da HashiCorp, são frequentemente consideradas mais seguras devido à sua natureza restritiva e robusta. Porém, a pesquisa da Tenable demonstrou que falhas específicas nas configurações podem ser exploradas por atacantes, especialmente por meio de componentes de terceiros.
“O uso das DSLs é considerado seguro, mas nossos estudos mostram que suposições erradas sobre sua segurança podem expor sistemas a riscos críticos”, alertou Alejandro Dutto, diretor de engenharia de segurança da Tenable para América Latina e Caribe.
Principais cenários de ataque
Open Policy Agent (OPA)
O OPA é amplamente utilizado para políticas de infraestrutura e autorização de microsserviços, com políticas escritas na linguagem Rego. A pesquisa revelou que atacantes podem comprometer a cadeia de suprimentos, inserindo políticas maliciosas que permitam o vazamento de credenciais ou dados sensíveis durante avaliações de segurança.
Terraform
Reconhecido por sua flexibilidade e popularidade, o Terraform utiliza a HashiCorp Configuration Language (HCL), também vulnerável a ataques. Um exemplo identificado foi a execução de código não revisado em pipelines de CI/CD, caso o Terraform Plan esteja configurado para gatilhos em pull requests, criando brechas para agentes mal-intencionados.
Recomendações para mitigar os riscos
A Tenable Research propõe medidas preventivas para evitar explorações:
- Controle de acesso rigoroso: Use RBAC para limitar privilégios e separar etapas do Terraform Plan e Apply.
- Verificação de terceiros: Confirme a integridade de módulos, provedores e políticas antes de utilizá-los.
- Monitoramento com logs: Ative registros abrangentes em aplicativos e infraestrutura para identificar atividades suspeitas.
- Restrições de acesso: Utilize arquivos como capabilities.json para controlar conexões e proteger dados.
- Análises de segurança no CI/CD: Inclua verificações antes de executar o terraform plan, evitando códigos maliciosos.