A empresa GitHub publicou os resultados da análise de um ataque ocorrido em 12 de abril, quando criminosos conseguiram acesso a ambientes de nuvem do serviço Amazon AWS, utilizados na infraestrutura do projeto NPM. A análise do incidente revelou que os atacantes acessaram cópias de segurança do host skimdb.npmjs.com, incluindo uma cópia de backup do banco de dados com dados de aproximadamente 100 mil usuários do NPM de 2015, contendo hashes de senhas, nomes e e-mails.
Os hashes de senha foram criados utilizando algoritmos PBKDF2 ou SHA1 com sal, que em 2017 foram substituídos por uma opção mais resistente a ataques, o bcrypt. Após a identificação do incidente, as senhas afetadas pela violação foram redefinidas, e os usuários receberam notificações sobre a necessidade de definir uma nova senha. Como a NPM implementou a verificação de dois fatores obrigatória com confirmação por e-mail desde 1º de março, o risco de comprometimento dos usuários foi avaliado como baixo.
Além disso, os atacantes obtiveram todos os arquivos de manifesto e metadados de pacotes privados até abril de 2021, arquivos CSV com a lista atual de todos os nomes e versões de pacotes privados, além do conteúdo de todos os pacotes privados de dois clientes do GitHub (nossos nomes não serão revelados). No que diz respeito ao repositório em si, a análise de rastros e a verificação de hashes de pacotes não revelaram que os atacantes fizessem alterações nos pacotes do NPM ou publicassem novas versões falsas.
O ataque ocorreu em 12 de abril, utilizando tokens OAuth roubados, gerados para dois integradores de terceiros do GitHub — Heroku e Travis-CI. Aproveitando-se dos tokens, os atacantes conseguiram extrair de repositórios privados do GitHub uma chave para acessar a API da Amazon Web Services, utilizada na infraestrutura do projeto NPM. A chave obtida permitiu o acesso aos dados armazenados no serviço AWS S3.
Além disso, foram reveladas informações sobre problemas críticos de privacidade identificados anteriormente no tratamento de dados dos usuários. servidores NPM — nos logs internos, foram armazenadas em texto claro as senhas de alguns usuários do NPM, assim como tokens de acesso ao NPM. Durante a integração do NPM com o sistema de logs do GitHub, os desenvolvedores não garantiram a remoção de informações confidenciais nas solicitações de log para os serviços do NPM. Afirma-se que a falha foi corrigida e os logs foram limpos antes do ataque ao NPM. O acesso aos logs, que incluíam senhas visíveis, era restrito a alguns colaboradores do GitHub.
Fonte: opennet.ru
