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 para os sistemas
, ,
e
. O pacote , originalmente escrito com foco em garantir segurança, demonstrou a melhor segurança. Nenhum problema foi identificado no pacote . 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 e .
No Snyk e WhiteSource, também foram , à 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 pelo uso da utilitária 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 (, , ). 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).
Fonte: opennet.ru
