Vulnerabilidades em scanners de segurança de imagens de contêineres Docker

Publicado resultados dos testes de ferramentas para identificar vulnerabilidades não corrigidas e problemas de segurança em imagens de contêineres Docker isolados. A verificação mostrou que em 4 dos 6 conhecidos scanners de imagens Docker havia vulnerabilidades críticas que permitiam atacar diretamente o próprio scanner e conseguir a execução do seu código no sistema, em alguns casos (por exemplo, ao usar Snyk) com privilégios de root.

Para realizar o ataque, um agressor apenas precisa iniciar a verificação de seu Dockerfile ou manifest.json, incluindo metadados especialmente formatados, ou colocar dentro da imagem arquivos Podfile e gradlew. Protótipos de exploits foram preparados para os sistemas
WhiteSource, Snyk,
Fossa e
Anchore. O pacote Clair, originalmente escrito com foco em garantir segurança, demonstrou a melhor segurança. Nenhum problema foi identificado no pacote Trivy. Em conclusão, foi determinado que os scanners de contêineres Docker devem ser executados em ambientes isolados ou usados apenas para verificar suas próprias imagens, e também deve-se ter cautela ao conectar tais ferramentas a sistemas automatizados de integração contínua.

No FOSSA, Snyk e WhiteSource, a vulnerabilidade estava relacionada à chamada de um gerenciador de pacotes externo para determinar dependências, permitindo a execução do seu código ao especificar os comandos touch e system nos arquivos gradlew e Podfile.

No Snyk e WhiteSource, também foram encontradas no aplicativo para Windows, que permitia ao usuário elevar seus privilégios no sistema para administrador (a vulnerabilidade foi causada pela interação inadequada entre o cliente GUI sem privilégios e o serviço de sistema)., relacionadas à organização de execução de comandos do sistema ao analisar Dockerfile (por exemplo, no Snyk era possível substituir a utilitária /bin/ls chamada pelo scanner, e no WhiteSource era possível inserir código através de argumentos na forma 'echo ';touch /tmp/hacked_whitesource_pip;=1.0'').

No Anchore, a vulnerabilidade foi causada pelo uso da utilitária skopeo para trabalhar com imagens docker. A exploração consistia na adição de parâmetros do tipo '"os": "$(touch hacked_anchore)"' ao arquivo manifest.json, que eram inseridos durante a chamada do skopeo sem o devido escape (apenas os caracteres ';&', mas a construção ' $()' era permitida, sendo removidos apenas os símbolos).

O mesmo autor conduziu um estudo sobre a eficácia na detecção de vulnerabilidades não corrigidas por scanners de segurança de contêineres Docker e a taxa de falsos positivos (parte 1, parte 2, parte 3). Abaixo estão os resultados dos testes de 73 imagens, que contêm vulnerabilidades conhecidas, além de uma avaliação da eficácia na detecção de aplicativos padrão nas imagens (nginx, tomcat, haproxy, gunicorn, redis, ruby, node).

Vulnerabilidades em scanners de segurança de imagens de contêineres Docker

Vulnerabilidades em scanners de segurança de imagens de contêineres Docker

Fonte: opennet.ru

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster