Pesquisadores de cibersegurança revelaram duas novas técnicas de ataque contra ferramentas de infraestrutura-como-código (IaC) e política-como-código (PaC), como o Terraform da HashiCorp e o Open Policy Agent (OPA), que aproveitam linguagens específicas de domínio (DSLs) para invadir plataformas de nuvem e exfiltrar dados.
"Como são linguagens robustas com capacidades limitadas, supõe-se que sejam mais seguras do que as linguagens de programação padrão - e de fato elas são," disse Shelly Raban, pesquisadora sênior de segurança da Tenable, em um relatório técnico publicado na semana passada.
No entanto, mais seguro não significa à prova de balas.
OPA é um motor de políticas de código aberto popular que permite que organizações imponham políticas em ambientes nativos da nuvem, como microsserviços, pipelines CI/CD e Kubernetes.
As políticas são definidas usando uma linguagem nativa de consulta chamada Rego, que é então avaliada pelo OPA para retornar uma decisão.
O método de ataque desenvolvido pela Tenable visa a cadeia de suprimentos, onde um atacante obtém acesso não autorizado por meio de uma chave de acesso comprometida para inserir uma política Rego maliciosa em um servidor OPA, que é subsequentemente utilizada durante a fase de decisão da política para permitir ações maliciosas como a exfiltração de credenciais usando uma função interna conhecida como "http.send."
Mesmo em instâncias onde uma implantação do OPA restringe o uso de http.send, a empresa de cibersegurança descobriu que é possível utilizar outra função chamada "net.lookup_ip_addr" para contrabandear os dados usando consultas DNS através de uma técnica conhecida como tunelamento DNS.
"Então, a função net.lookup_ip_addr é outra função que você pode considerar restringir ou pelo menos ficar atento nas políticas, já que também introduz o risco de exfiltração de dados de sua implantação OPA," disse Raban.
Terraform, semelhante ao OPA, visa simplificar o processo de configuração, implantação e gerenciamento de recursos de nuvem através de definições baseadas em código.
Essas configurações podem ser estabelecidas usando outra DSL declarativa chamada HashiCorp Configuration Language (HCL).
Um atacante poderia visar a plataforma IaC de código aberto aproveitando-se de seu comando "terraform plan", que geralmente é acionado como parte dos workflows de "pull_request" no GitHub, para executar mudanças não revisadas contendo uma fonte de dados maliciosa durante o processo CI/CD.
"Isso representa um risco, pois um atacante externo em um repositório público ou um insider malicioso (ou um atacante externo com um ponto de apoio) em um repositório privado poderia explorar uma solicitação de pull para seus objetivos maliciosos," observou a Tenable.
Fontes de dados são executadas durante o 'terraform plan,' o que reduz significativamente o ponto de entrada para os atacantes.
Essas fontes de dados, por sua vez, poderiam ser uma fonte de dados externa clandestina, um módulo Terraform ou uma fonte de dados DNS, necessitando que apenas componentes de terceiros de fontes confiáveis sejam usados.
Algumas das outras recomendações para mitigar tais riscos incluem:
- Implementar um controle de acesso baseado em função (RBAC) granular e seguir o princípio do menor privilégio
- Configurar registro em nível de aplicação e nuvem para monitoramento e análise
- Limitar o acesso à rede e aos dados das aplicações e das máquinas subjacentes
- Prevenir a execução automática de código não revisado e potencialmente malicioso em pipelines CI/CD
Além disso, as organizações podem usar ferramentas e soluções de varredura IaC como Terrascan e Checkov para identificar proativamente configurações incorretas e problemas de conformidade antes da implantação.
Publicidade
Em 14 de janeiro a Solyd irá revolucionar a forma como pentest e hacking deve ser ensinado. Se inscreva para ser o primeiro a saber das novidades. Saiba mais...