Como parte de seu Relatório Anual de Segurança de Código Aberto, a empresa de segurança Snyk divulgou um relatório específico com foco na segurança do Docker, onde é mostrado vulnerabilidades em imagens de contêineres. De acordo com o relatório, as dez imagens oficiais mais utilizadasdo Docker no DockerHub, incluindo node, httpd, postgres, nginx e outras, têm pelo menos 30 vulnerabilidades cada, com a imagem do nó sendo o principal infrator com mais de 500 vulnerabilidades. O problema diz respeito a imagens certificadas pelo Docker, que devem estar em conformidade com as melhores práticas e passar em certos testes de linha de base, de acordo com o Docker.
O relatório da Snyk certamente é preocupante,, entretanto podem não representar a parte mais difícil do problema. Em muitos casos, corrigir vulnerabilidades em uma imagem do Docker é tão fácil quanto reconstruir a imagem usando versões mais seguras. De acordo com a Snyk, até 44% das imagens do Docker continham vulnerabilidades que já haviam sido removidas em versões mais recentes de sua imagem base. O que parece ser mais preocupante é a falta de entendimento sobre a segurança por parte dos desenvolvedores, que não parecem estar cientes da criticidade de seu papel. A pesquisa mostrou que 80% dos desenvolvedores não testam suas imagens durante o desenvolvimento, enquanto metade não examina suas imagens em busca de vulnerabilidades.
A melhor abordagem para lidar com as vulnerabilidades de imagem do Docker se baseia em três práticas principais, de acordo com Snyk. Primeiro, como regra de higienização, é importante começar com uma imagem menor do Docker, disponível para um determinado propósito, e não adicionar nenhum pacote que não seja necessário. Em segundo lugar, as imagens devem ser escaneadas com frequência regular, tanto durante o desenvolvimento quanto em produção. Por fim, as imagens devem ser recriadas como parte de um pipeline de CI/CD e as compilações de vários estágios devem ser preferidas, pois ajudam a otimizar suas imagens.
O Relatório Anual de Segurança de Código Aberto da Snyk tem um escopo mais amplo que uma análise propriamente do ecossistema Docker, já que se baseia em uma pesquisa com mais de 500 desenvolvedores e mantenedores de código aberto, análise de dados de registros de aplicativos públicos, conjuntos de dados de bibliotecas e repositórios do GitHub.
O InfoQ conversou com Liran Tal, defensor dos desenvolvedores da Snyk.
InfoQ: O relatório da Snyk mostrou um aumento acentuado no número de vulnerabilidades encontradas em bibliotecas de código aberto nos últimos anos. Você pode nos dizer como encontrou esses resultados?
Liran Tal: A Snyk buscou informações sobre o status das divulgações de segurança que foram tornadas públicas em algumas das distribuições Linux mais populares, baseado nos dados que a Snyk recolheu dos cvedetails. A Snyk descobriu que as vulnerabilidades de segurança no RedHat Enterprise Linux, Ubuntu e Debian cresceram quatro vezes em 2018. Isso mesmo, não existe nenhuma casa decimal, a quantidade de vulnerabilidades cresceram quase três vezes e meia.
Como a Snyk analisa detalhadamente das vulnerabilidades pela sua gravidade, descobrimos que 2017 e 2018 continuou a tendência em um aumento no número de vulnerabilidades altas e críticas que estão sendo divulgadas.
InfoQ: Quando se trata de Docker, a segurança do sistema operacional e das bibliotecas é fundamental. Você pode comentar sobre o que seu relatório diz sobre isso?
Tal: Imagens Docker quase sempre trazem vulnerabilidades conhecidas juntamente com o grande valor.As bibliotecas são, obviamente, artefatos comuns nos sistemas operacionais, nos quais as imagens do docker são construídas. Com mais bibliotecas e ferramentas agrupadas em uma imagem do Docker, maiores são os riscos de se encontrar uma vulnerabilidade de segurança.
A maioria das vulnerabilidades estão nas bibliotecas que são usadas implicitamente. Em boa parte dos ecossistemas, três quartos ou mais são dependências indiretas, implicitamente puxadas pelas bibliotecas, e a Snyk descobriu que 78% das vulnerabilidades gerais rastreadas são de dependências indiretas.
À medida que os contêineres continuam sendo utilizados em larga escala no cenário de TI em 2019, as ameaças à segurança nestas ferramentas continuam crescendo, e agora as organizações estão dando mais importância para garantir que a segurança de imagem seja uma prioridade.
Com 50 páginas, o relatório da Snyk sobre a segurança de código aberto contém muito mais detalhes do que pode ser abordado neste artigo. Certifique-se de lê-lo se estiver interessado em como melhorar a segurança de software.