Skip to main content

As 5 principais vulnerabilidades de segurança do Docker

Escrito por

31 de outubro de 2022

0 minutos de leitura

O que é uma vulnerabilidade do Docker?

Uma vulnerabilidade do Docker é qualquer falha em uma imagem, um contêiner ou um host que possa ser explorada. Quando essas vulnerabilidades são descobertas e divulgadas publicamente, elas são incluídas na lista de Common Vulnerabilities and Exposures (CVE). Além disso, o Common Vulnerability Scoring System (CVSS) publica informações sobre a gravidade de cada vulnerabilidade na lista CVE.

As 5 principais vulnerabilidades do Docker que você precisa conhecer

Confira as cinco principais vulnerabilidades do Docker, ou CVEs, que as equipes de desenvolvimento devem observar.

1. CVE-2019-5736: VULNERABILIDADE DE ESCAPE DE CONTÊINER DO RUNC

Existe uma vulnerabilidade do Docker que permite sobrescrever o binário `runc` do host e obter acesso root ao sistema. Com acesso root, agentes maliciosos podem escalar privilégios e preparar ataques devastadores. Para corrigir CVE-2019-5736, é necessário atualizar o `container-common` nas instâncias do Docker que executam o Oracle Linux 8.

2. CVE-2022-0847: DIRTY PIPE

Outra vulnerabilidade causada por uma inicialização incorreta é CVE-2022-0847. Conhecida como “dirty pipe” pela comunidade de segurança, essa falha na implementação do pipeline do kernel permite que um agente malicioso altere o conteúdo de arquivos sem permissão para modificá-los e, em seguida, escale privilégios. Para corrigir esse problema, é necessário atualizar todos os hosts Linux para versões com os patches aplicados.

3. CVE-2021-21285: CONSUMO DESCONTROLADO DE RECURSOS

Em versões antigas do Docker, há uma vulnerabilidade que faz com que o daemon do Docker no host trave quando uma imagem do Docker com manifesto malformado é baixada. Para corrigir CVE-2021-21285, é preciso atualizar para uma versão corrigida do Docker, que impede que o daemon trave devido ao consumo descontrolado de recursos.

4. CVE-2014-9356: TRAVESSIA DE DIRETÓRIO

CVE-2015-9356 é uma vulnerabilidade de travessia de diretório que afeta a versão 1.3.3 do Docker. Um ataque de travessia de diretório (ou de caminho) permite acessar arquivos que não deveriam estar disponíveis a terceiros — como arquivos com código de aplicação ou informações confidenciais. A atualização para uma versão corrigida do Docker impede que invasores remotos explorem essa vulnerabilidade para contornar um mecanismo de proteção de contêiner.

5. CVE-2019-14271: INICIALIZAÇÃO INCORRETA

Em determinadas versões do Docker, há o risco de injeção de código quando o `nsswitch` (name service switch) carrega dinamicamente uma biblioteca durante uma operação `chroot` (change root), que contém o conteúdo do contêiner. Em um ataque de injeção de código, uma aplicação executa código não autorizado de um agente malicioso. Para corrigir CVE-2019-14271, é necessário atualizar a CLI do Docker nas instâncias que executam o Oracle Linux 7.

Para saber mais sobre outras vulnerabilidades do Docker, consulte a lista Docker Top 10 de vulnerabilidades publicada pelo Open Web Application Security Project (OWASP).

Boas práticas para reduzir as vulnerabilidades do Docker

Embora a segurança de contêineres seja um tema amplo, algumas boas práticas podem reduzir significativamente as vulnerabilidades do Docker. Por exemplo, usar ferramentas automatizadas para proteger a imagem do contêiner, tudo o que há dentro dele e o ambiente de execução em que é implantado ajuda a reforçar a segurança. Saiba mais sobre segurança do Docker aqui.

A análise de contêineres é uma abordagem automatizada para detectar vulnerabilidades nos diversos componentes de aplicações ou cargas de trabalho conteinerizadas. Esses componentes incluem o software dentro do contêiner, a forma como ele interage com o sistema host e outros contêineres, as configurações de rede e armazenamento, entre outros.

A maioria das ferramentas de análise de contêineres usa um banco de dados de vulnerabilidades como fonte confiável de informações sobre vulnerabilidades de segurança divulgadas publicamente. Por exemplo, o banco de dados de vulnerabilidades da Snyk complementa a lista de CVEs e outras fontes públicas com informações práticas. Ao incluir dados adicionais sobre cada CVE do Docker, o banco de dados de vulnerabilidades da Snyk ajuda as pessoas desenvolvedoras a corrigir problemas de segurança do Docker com mais facilidade.

Além da análise de contêineres, o monitoramento de contêineres consiste em acompanhar métricas sobre a integridade de aplicações e cargas de trabalho conteinerizadas, além de monitorar a exposição a vulnerabilidades recém-descobertas que possam estar presentes em cargas de trabalho em execução. Isso ajuda a garantir que tudo funcione corretamente e pode até revelar vulnerabilidades em potencial, como o consumo descontrolado de recursos. As ferramentas de análise e monitoramento de contêineres se complementam, oferecendo proteção durante a etapa de build e também depois dela.

Confira nosso guia rápido com uma lista completa de boas práticas de segurança do Docker.

Análise de segurança do Docker com a Snyk

A Snyk oferece análise abrangente de vulnerabilidades em todos os componentes das aplicações modernas, do código-fonte e das dependências open source a contêineres e configurações de infraestrutura como código. Isso significa que a Snyk pode proteger uma imagem de contêiner do Docker, o código e as dependências que ela contém e as configurações usadas para implantá-la.

À medida que a adoção do Docker cresce, a parceria entre a Snyk e o Docker também se expande — e isso se reflete nos recursos de análise de vulnerabilidades do Docker da Snyk. Na verdade, o comando `docker scan` da CLI do Docker Desktop é alimentado pela plataforma Snyk. Juntas, Snyk e Docker ajudam as equipes de desenvolvimento a criar e implantar contêineres com rapidez e segurança.

Saiba mais sobre segurança de contêineres e Docker com nosso conteúdo 3 etapas para proteger imagens de contêiner, desenvolvido com o Docker.

Perguntas frequentes sobre vulnerabilidades do Docker

A plataforma Docker é segura?

A plataforma Docker, por si só, não é inerentemente segura nem insegura. Embora os contêineres possam ser isolados de outros processos em um host, medidas de segurança adicionais continuam sendo essenciais para evitar escapes de contêineres e outros tipos de vulnerabilidade. Uma estratégia eficaz de segurança de contêineres para criar e implantar contêineres é a melhor forma de reduzir o risco de vulnerabilidades e, consequentemente, de ataques. Como em qualquer outra plataforma tecnológica, seguir as práticas recomendadas de segurança é fundamental para mitigar possíveis ameaças.

As imagens Docker são criptografadas?

As imagens Docker não são criptografadas por padrão, mas é possível usar assinaturas digitais para garantir a integridade de uma imagem. Ao enviar imagens para um registro, os publicadores podem assiná-las usando a ferramenta Docker Notary. Ao verificar a assinatura com o Docker Content Trust, você pode confiar que as imagens baixadas ou implantadas de um registro são originais e não foram modificadas por um agente mal-intencionado.

O que é “escape de contêiner”?

O escape de contêiner ocorre quando um agente malicioso consegue sair do isolamento de um contêiner e acessar os recursos do host. Depois de obter acesso root ao host, ele pode ampliar seus privilégios e preparar novos ataques. Uma ferramenta de análise de segurança do Docker pode detectar vulnerabilidades que permitem escapar de contêineres (além de outros tipos de vulnerabilidade), para que os desenvolvedores possam corrigi-las antes que sejam exploradas.

Leia mais

feature customer snowflake
Article

Segurança desde o início: conheça a integração do Snyk Studio com o Snowflake Cortex Code

O Snyk Studio se integra ao Snowflake Cortex Code para detectar vulnerabilidades em código gerado por IA, dependências e contêineres durante o desenvolvimento.

blog feature pypi spoof
Article

A Snyk AI Security Platform completa, grátis para mantenedores de projetos open source

Mantenedores de projetos open source estão sobrecarregados com relatórios reais de vulnerabilidades e precisam de ajuda para priorizar, corrigir e lançar correções mais rápido. O Secure Developer Program da Snyk dá aos projetos qualificados acesso gratuito à Snyk AI Security Platform.

feature insights announcement
Blog

Comprometimento da cadeia de suprimentos do node-gyp: um worm npm que se autopropaga e se esconde em binding.gyp

Um novo worm do npm está explorando binding.gyp para acionar o node-gyp durante a instalação, permitindo que pacotes maliciosos executem código sem scripts de ciclo de vida. Ele rouba credenciais, mantém persistência no GitHub e se propaga entre contas de mantenedores.