O repositório hoje pertencente à Microsoft GitHub tenta impedir ação de forks maliciosos automatizados. Uma campanha de distribuição de malware que começou em maio passado com um punhado de pacotes de software malicioso carregados no Python Package Index (PyPI) se espalhou para o GitHub e se expandiu para alcançar pelo menos 100.000 repositórios comprometidos.
Conforme a empresa de segurança Apiiro, a campanha para envenenar o código envolve clonar repositórios legítimos, infectá-los com carregadores de malware, carregar os arquivos alterados no GitHub com o mesmo nome, forjar o repositório envenenado milhares de vezes e promover o código comprometido em fóruns e canais de mídia social.
Os desenvolvedores que procuram código útil podem, portanto, encontrar um repositório que é descrito como útil e, à primeira vista, parece apropriado, apenas para ter seus dados pessoais roubados por uma carga oculta que executa código Python malicioso e um executável binário.
“O código malicioso (em grande parte uma versão modificada do BlackCap-Grabber) coletaria credenciais de login de diferentes aplicativos, senhas e cookies do navegador e outros dados confidenciais”, disseram Matan Giladi, pesquisador de segurança, e Gil David, chefe de IA, em um relatório. “Em seguida, ele o envia de volta para o servidor C&C (comando e controle) dos agentes mal-intencionados e executa uma longa série de atividades maliciosas adicionais.”
Uma análise da Trend Micro do código malicioso descreve como ele emprega técnicas inteligentes para ocultar sua verdadeira natureza. Por exemplo, o código oculta seu uso da função exec – para executar código dinamicamente – por meio de uma técnica apelidada de “contrabando de exec”.
Tais ataques adicionam centenas de caracteres de espaço em branco (521 deles) para empurrar a função exec para fora da tela como uma defesa contra o escrutínio manual.
GitHub tenta impedir ação de forks maliciosos automatizados
O GitHub diz que está ciente de que nem tudo está bem.
“O GitHub hospeda mais de 100 milhões de desenvolvedores construindo em mais de 420 milhões de repositórios e está comprometido em fornecer uma plataforma segura para desenvolvedores”, disse um porta-voz ao The Register.
“Temos equipes dedicadas a detectar, analisar e remover conteúdo e contas que violam nossas Políticas de Uso Aceitável. Empregamos revisões manuais e detecções em escala que usam aprendizado de máquina e constantemente evoluem e se adaptam a táticas adversárias. Também incentivamos os clientes e membros da comunidade a denunciar abusos e spam.”
A conscientização e a varredura automatizada estão muito bem – mas Giladi e David, da Apiiro, observaram que o GitHub perdeu muitos forks de repositório automatizados, bem como os carregados manualmente.
“Como toda a cadeia de ataque parece ser principalmente automatizada em grande escala, o um por cento que sobrevive ainda equivale a milhares de repositórios maliciosos”, escreveram os autores, acrescentando que, se você contar os repositórios removidos no total, a campanha provavelmente envolveu milhões de clones e forks maliciosos.
Eles também apontam que a escala do ataque é grande o suficiente para se beneficiar dos efeitos de rede, especificamente os desenvolvedores que bifurcam repositórios maliciosos sem a intenção de usar o software e não percebem que estão validando e propagando malware.
O GitHub, dizem os pesquisadores, apresenta uma maneira eficaz de comprometer a cadeia de suprimentos de software devido ao seu suporte para a geração automática de contas e repositórios, suas APIs amigáveis e limites de taxa flexível e seu tamanho.
O governo Biden pressionou por uma segurança mais forte da cadeia de suprimentos de software por meio da Estrutura de Cibersegurança 2.0 do Instituto Nacional de Padrões e Tecnologia e esforços para fazer com que as organizações publicassem sua lista de materiais de software. Mas claramente ainda há trabalho a fazer.