Skip to main content

Gerenciamento de vulnerabilidades em contêineres para desenvolvedores

Escrito por
Headshot of Aner Mazur

Aner Mazur

Container Vulnerability Management For Developers small

28 de junho de 2018

0 minutos de leitura

Hoje, a Snyk lançou uma solução de gerenciamento de vulnerabilidades em contêineres que permite aos desenvolvedores assumir total responsabilidade pela segurança de suas aplicações em contêineres Docker!

Os contêineres estão se tornando o padrão para empacotar e executar aplicações. Por isso, cresce a necessidade de proteger não só a aplicação, mas também todo o contêiner contra vulnerabilidades de código aberto. Comprometida em ajudar desenvolvedores a proteger suas aplicações contra vulnerabilidades de código aberto, a Snyk está ampliando o suporte para contêineres Docker com sua abordagem exclusiva, que coloca os desenvolvedores em primeiro lugar. A solução se integra perfeitamente às diversas plataformas de desenvolvimento e execução ao longo do ciclo de vida do desenvolvimento de software (SDLC), oferecendo análise aprofundada das aplicações, correção automatizada de vulnerabilidades e nosso abrangente banco de dados de vulnerabilidades.

Encontre facilmente vulnerabilidades de código aberto

As imagens de contêiner são criadas e gerenciadas por desenvolvedores. Por isso, a Snyk criou uma CLI simples que permite testar imagens localmente e integrar a validação delas aos processos de CI/CD. Ela faz parte da CLI padrão da Snyk e está disponível para todos os clientes Enterprise. Basta atualizar para a versão mais recente da CLI:

npm install -g snyk 
snyk auth

A Snyk analisa todas as bibliotecas do sistema operacional instaladas pelos gerenciadores de pacotes DEB, APK ou RPM, identifica suas versões exatas e verifica se há vulnerabilidades usando a versão mais atualizada do nosso banco de dados. Para testar uma imagem Docker local, use a opção docker e indique o nome da imagem:

docker pull ubuntu:artful-20170601 
snyk test ubuntu:artful-20170601 --docker --org=my-team

Isso exibirá todas as vulnerabilidades detectadas no sistema operacional.

✗ High severity vulnerability found on glibc/libc-bin@2.24-9ubuntu2
- desc: Privilege Escalation
- info: https://snyk.io/vuln/SNYK-LINUX-GLIBC-129450
- from: ubuntu@artful-20170601 > glibc/libc-bin@2.24-9ubuntu2
- fixed in: glibc/libc-bin@2.26-0ubuntu2.1

✗ Medium severity vulnerability found on libgcrypt20@1.7.6-1
- desc: CVE-2018-0495
- info: https://snyk.io/vuln/SNYK-LINUX-LIBGCRYPT20-104368
- from: ubuntu@artful-20170601 > util-linux/bsdutils@1:2.29-1ubuntu3 > systemd/libsystemd0@233-6ubuntu3 > libgcrypt20@1.7.6-1
- fixed in: libgcrypt20@1.7.8-2ubuntu1.1

✗ High severity vulnerability found on perl/perl-base@5.24.1-2ubuntu1
- desc: Buffer Overflow
- info: https://snyk.io/vuln/SNYK-LINUX-PERL-106304
- from: ubuntu@artful-20170601 > meta-common-packages@meta > perl/perl-base@5.24.1-2ubuntu1
- fixed in: perl/perl-base@5.26.0-8ubuntu1.1

Para monitorar um projeto em busca de vulnerabilidades divulgadas recentemente pela interface da Snyk, use o comando monitor . Você também pode usar snyk test e snyk monitor em seus ambientes de CI para incorporar a segurança ao pipeline de implantação.

Corrija vulnerabilidades

Um dos principais diferenciais da Snyk é permitir que os desenvolvedores não apenas encontrem vulnerabilidades, mas também as corrijam. Para cada vulnerabilidade que possa ser corrigida com a atualização da biblioteca para uma versão mais recente, sugerimos a versão mínima para a qual o usuário deve atualizar.

Ao analisar o primeiro resultado da execução de snyk test acima, vemos que foi encontrada uma vulnerabilidade de <i>elevação de privilégios</i> em libc-bin.

Ao clicar no link para a página da vulnerabilidade na Snyk, vemos que um invasor local poderia explorá-la para executar código arbitrário em programas setuid e obter privilégios de root. Além disso, existem várias explorações para essa vulnerabilidade, disponíveis publicamente (no Metasploit, no Exploit-DB e em outros lugares). Por isso, ela deve ser tratada como uma vulnerabilidade crítica.

Comunicado sobre vulnerabilidade de segurança que mostra uma elevação de privilégios de alta gravidade que afeta o pacote glibc, com visão geral e detalhes da CVE.

Entenda o contexto da biblioteca

A Snyk considera os contêineres apenas outra forma de empacotar uma aplicação e adota a mesma abordagem que coloca os desenvolvedores em primeiro lugar. Isso fica evidente na excelente experiência que nossa CLI oferece aos desenvolvedores, mas também na perspectiva da aplicação. Em vez de apenas dizer que encontramos um componente vulnerável e deixar que o desenvolvedor descubra “como ESSA biblioteca foi parar aí?”, rastreamos o caminho de inclusão de cada biblioteca vulnerável (como mostra a linha “from” nos resultados da CLI). Assim, fica muito mais fácil entender a vulnerabilidade no contexto da aplicação — algo fundamental para avaliar a possibilidade de exploração e, ainda mais, para corrigir o problema.

Com o tempo, você verá mais recursos de segurança de contêineres que ajudarão os desenvolvedores a encontrar e corrigir vulnerabilidades com facilidade, em linha com o compromisso da Snyk de facilitar a vida dos desenvolvedores e ajudar na correção. Fique de olho :)

Segurança de contêineres que prioriza os desenvolvedores

O Snyk encontra e corrige automaticamente vulnerabilidades em imagens de contêiner e workloads do Kubernetes.