O Docker divulgou que um de seus bancos de dados Hub foi invadido e um subconjunto de dados não financeiros, incluindo nomes de usuários, senhas criptografadas e tokens do GitHub e do BitBucket, foi roubado.
O número de usuários afetados pela violação é de 190.000, ou menos de 5% dos usuários do DockerHub. O Docker enviou um email com as recomendações habituais para aplicar nesses casos aos usuários afetados. Isso inclui a alteração de senhas no DockerHub e em quaisquer outros serviços que as compartilhem. Além disso, os usuários afetados devem revisar seus registros de acesso ao GitHub e ao BitBucket para garantir que nenhuma atividade suspeita tenha ocorrido. Para estar no lado seguro, o Docker revogou todos os tokens do GitHub e do BitBucket e teclas de acesso para os usuários afetados, que assim precisarão autorizar novamente suas contas.
Para verificar o log de segurança do GitHub, visite a página Configurações do perfil e escolha Segurança na barra lateral esquerda, que fornece uma lista de todos os acessos recentes. Da mesma forma, para o BitBucket, você acessa a página da sua conta e, em seguida, selecione Log de auditoria na barra lateral.
Como muitos usuários do Hacker News comentaram, uma grande fonte de preocupação é o fato do DockerHub estar vinculado a contas do GitHub e BitBucket usando oAuth, obtendo privilégios totais de leitura e gravação em todos os repositórios dessas contas. Na verdade, o GitHub suporta um mecanismo mais refinado para fornecer acesso privilegiado a repositórios individualmente por meio do GitHub Apps, mas esse mecanismo não foi usado neste caso.
O Docker ainda não forneceu uma análise post-mortem completa do acidente, mas deixou claro que nenhuma imagem oficial foi afetada. As imagens oficiais são apenas uma pequena parte de todas as imagens disponíveis no DockerHub, deixando em aberto a possibilidade de que algumas imagens possam ter sido adulteradas e potencialmente injetadas com malware, como escreveu o Twistlock CTO John Morello.
Isso levanta a questão geral de segurança ao usar imagens do Docker. Uma preocupação levantada por vários leitores do Hacker News é a falta de assinatura end-to-end criptograficamente segura das imagens do Docker. As imagens do Docker são imutáveis e o DockerHub permite o uso de SHA-256 em suas imagens, mas isso não descarta a possibilidade de um invasor poder substituir algumas imagens e modificar sua soma de verificação no banco de dados. Então, cada vez que um desenvolvedor puxa uma nova imagem, eles realmente não têm nenhuma chance de realmente saber o que estarão recebendo, a menos que tenham algum meio alternativo de garantir que uma imagem seja legítima. Na falta de suporte criptográfico para assinatura de imagem, uma segunda melhor abordagem é verificar manualmente se uma imagem é legítima na primeira vez em que é baixada e, em seguida, continuar com essa versão especificando sua tag SHA-256 ao puxá-la:
docker pull ubuntu@sha256:45b23dee08af5e43a7fea6c4cf9c25ccf269ee113168c19722f87876677c5cb2
Falando de segurança ao usar imagens Docker, garantir a autenticidade de uma imagem é apenas uma peça do quebra-cabeça, sempre verifique se as imagens não contêm vulnerabilidades nos principais componentes que eles exigem. O InfoQ recentemente cobriu o Relatório de Segurança de Código Aberto da empresa de segurança Snyk, que contém uma análise completa dos riscos envolvidos no uso de imagens do Docker e uma série de melhores práticas a serem seguidas. Além disso, não perca esta postagem do advogado do desenvolvedor do Snyk, Liran Tal, com mais detalhes e conselhos sobre como proteger suas imagens do Docker após a violação de dados.
O InfoQ continuará a mantê-lo atualizado sobre as consequências desse acidente assim que novas informações forem disponibilizadas.