Atacantes da cadeia de suprimentos aumentam com representação do GitHub Dependabot

Views: 304
0 0
Read Time:4 Minute, 33 Second

No último ataque direcionado às cadeias de fornecimento de software, os invasores conseguiram inserir atualizações de códigos maliciosos em centenas de repositórios GitHub usando senhas roubadas para confirmar alterações e, em seguida, usaram o nome de uma ferramenta conhecida, Dependabot, para convencer os desenvolvedores a aceitá-las. atualizações.

A campanha abusou de tokens de acesso pessoal (PATs) roubados – credenciais de segurança usadas para verificar a autenticidade de uma atualização de código – para verificar o código nos repositórios GitHub, usando uma técnica conhecida para falsificar o nome do contribuidor, de acordo com um comunicado publicado em setembro de 2018 . 27 pela empresa de segurança de software Checkmarx. Os ataques adicionaram código ao final dos arquivos Javascript que carregariam e executariam o código do site do invasor.

A etapa adicional de rotular os envios de código – ou “commits” no jargão do desenvolvedor – é nova e pode enganar desenvolvedores incautos, diz Guy Nachshon, pesquisador de segurança da Checkmarx.

“O invasor planta alterações no código para parecerem que foram feitas pelo Dependabot – para que a vítima não se aprofunde nas alterações do código”, diz ele. “Este é um ataque à cadeia de fornecimento de software e a primeira vez que testemunhamos tal técnica de engano com a personificação do Dependabot.”

O ataque é o mais recente direcionado aos desenvolvedores em geral, e à plataforma GitHub em particular, como forma de inserir código malicioso na cadeia de fornecimento de software. Em novembro, os invasores roubaram código dos repositórios GitHub do Dropbox , convencendo um desenvolvedor a inserir suas credenciais e código de autenticação de dois fatores em um site de phishing. Em dezembro, outro invasor criou um pacote Python malicioso que se fazia passar por um kit de desenvolvimento de software para um cliente de segurança popular.

Mensagem do Dependabot no repositório Github
Mensagem Dependabot no repositório Github. Fonte: Checkmarx

Esses tipos de ataques não são exclusivos do GitHub. A empresa tem visto repetidamente os agentes de ameaças tentarem usar a representação como uma forma de induzir os usuários a confiar em um commit de código e muitas vezes emparelhado com um PAT roubado. A empresa Microsoft enfatizou que o problema não estava no seu serviço.

“Os sistemas do GitHub não foram comprometidos neste ataque e não há evidências que sugiram que os usuários do GitHub estejam em risco”, disse um porta-voz do GitHub. “Infelizmente, os maus atores tentarão comprometer dados pessoais e informações privadas onde quer que possam encontrá-los”.

Identidade confiável do Dependabot

O GitHub comprou o Dependabot em 2019 , quando ainda estava em versão preliminar e desenvolveu a ferramenta automatizada como uma forma de realizar verificações regulares de software e segurança para projetos hospedados no serviço GitHub. Desde então, o GitHub adicionou recursos, como triagem automática de atualizações para vulnerabilidades conhecidas e uma variedade de mecanismos de regras de alerta.

Os invasores poderiam ter enviado o código sob qualquer nome, mas ao usar o Dependabot, eles ganham uma certa confiança, diz Nicolas Danjon, pesquisador de segurança da empresa de verificação de repositórios GitGuardian.

“Dependabot é um processo automatizado que adicionará algumas solicitações de mesclagem aos seus projetos para atualizar suas dependências”, diz ele. “E então, como desenvolvedor, se você vir uma solicitação vinda do Dependabot, você nem vai verificar o código – apenas aceitá-lo, porque você confia na fonte.”

Embora rotular os commits de código como vindos do Dependabot possa enganar o desenvolvedor, o envio real do código é possível pelo roubo de senhas PATs, de acordo com o comunicado da Checkmarx. Sem esses PATs, a ameaça é significativamente reduzida, diz Nachshon da Checkmarx.

“A menos que suas credenciais, como tokens de acesso pessoal, sejam roubadas por agentes de ameaças, GitHub, GitLab e esses usuários não sejam afetados pelo risco demonstrado neste relatório”, diz ele. “Os desenvolvedores devem proteger suas contas e implementar o princípio do menor privilégio usando tokens refinados em vez de tokens clássicos.”

Proteja credenciais para proteger cadeias de suprimentos

Os desenvolvedores devem certificar-se de proteger seus pipelines de desenvolvimento de software contra ataques, especialmente garantindo que o simples roubo de uma credencial possa levar ao comprometimento do código. O GitHub já começou a verificar todos os repositórios públicos em busca de segredos de desenvolvedor , como senhas e tokens de segurança, e exigiu autenticação de dois fatores em todas as contas de desenvolvedor.

O ataque de personificação mostra que os desenvolvedores devem confiar em mais do que apenas atributos do projeto – como o número de desenvolvedores e o número de commits – para determinar se um projeto é confiável. Em 2022, pesquisadores mostraram que vários dos sinais e metadados usados ​​para decidir se um projeto de software é confiável poderiam ser forjados , enganando os desenvolvedores e fazendo-os baixar código malicioso.

As empresas não devem apenas proteger seus segredos de desenvolvimento, mas também usar honey tokens – uma defesa contra fraude que espalha credenciais falsas pelos ambientes dos desenvolvedores – para detectar quando invasores estão tentando usar identidades inválidas, diz Danjon do GitGuardian. Finalmente, os desenvolvedores devem analisar o código dos pacotes que estão usando para determinar se algum código malicioso foi inserido na cadeia de abastecimento.

Nachshon da Checkmarx também fez uma recomendação para o GitHub. A empresa deve permitir que cada usuário veja seus registros de acesso de segurança, diz ele. Atualmente, a empresa oferece essa capacidade apenas para quem possui recursos de acesso para usuários corporativos.

FONTE: DARKREADING

POSTS RELACIONADOS