Os pesquisadores da Check Point Software detectaram uma nova campanha de typosquatting que incluía mais de 500 pacotes maliciosos, implantados em duas ondas distintas no Python Package Index, conhecido por PyPI. Com mais de 800 mil usuários, o PyPI serve como repositório oficial para pacotes de software adaptados à linguagem de programação Python. Como um hub centralizado, facilita a descoberta, instalação e compartilhamento de pacotes Python de código aberto entre desenvolvedores em todo o mundo.
A prática do typosquatting constitui-se em trocar ou tirar alguma letra do nome de domínio a ser registrado, imitando um domínio já registrado ou efetuar o registro de marcas conhecidas com pequenas alterações na grafia visando confundir o usuário, valendo-se dos constantes e corriqueiros erros que ocorrem quando da digitação desses endereços.
Desse total de 500 pacotes maliciosos descobertos, os pesquisadores informaram que cerca de 200 pacotes foram introduzidos inicialmente, seguidos por um lote adicional de mais de 300. Cada pacote originou-se de uma conta de mantenedor exclusiva com metadados distintos, como nome e e-mail.
Notavelmente, cada conta mantenedora carregou apenas um pacote, indicando a utilização de automação na orquestração do ataque. Isto aponta o desafio persistente colocado por atacantes determinados, que contornam habilmente as restrições da plataforma, apesar dos esforços do PyPI para fortalecer as suas defesas.
A natureza descentralizada dos uploads, com cada pacote atribuído a um usuário diferente, complica os esforços para identificar essas entradas maliciosas. As contas associadas à campanha descoberta pela Check Point Software foram criadas no último dia 26 de março, com os pacotes maliciosos carregados rapidamente no dia seguinte, provavelmente como uma tática de camuflagem para evitar a detecção por mecanismos heurísticos de verificação de malware.
O PyPI tem se tornado cada vez mais um alvo de atividades maliciosas, com agentes de ameaças enviando pacotes projetados para comprometer usuários desavisados. Esses pacotes maliciosos consistem normalmente em três elementos principais:
1) o próprio código malicioso;
2) a estratégia empregada para o ataque (como aproveitar os recursos dinâmicos do PyPI para injetar código malicioso durante o processo de instalação);
3) o método de infecção (o motivo por que os usuários do PyPI instalarão esses pacotes maliciosos em primeiro lugar).
Os pesquisadores da Check Point Software explicam que a instalação desses pacotes expôs os usuários ao possível roubo de suas informações de identificação pessoal e à instalação de malware em seus sistemas. Após a detecção, eles notificaram imediatamente o PyPI sobre esses pacotes, levando à sua remoção pela equipe administrativa do PyPI.