Um pesquisador de segurança desenvolveu um novo tipo de ataque à cadeia de suprimentos (supply chain attack) que lhe permitiu invadir os sistemas de 35 empresas de tecnologia, entre elas grandes nomes como Microsoft, Apple, PayPal, Shopify, Netflix, Yelp, Tesla, e Uber.

O ataque se baseia no fato de que muitos projetos de software destas empresas utilizam como componentes “pacotes” de código desenvolvidos como projetos de código aberto (Open Source). Estes pacotes são armazenados em repositórios acessíveis ao público, como npm, PyPi ou RubyGems.

publicidade

O que o pesquisador Alex Birsan descobriu foi que estas empresas não usam os pacotes disponíveis nos servidores públicos, mas sim cópias internas armazenadas em seus próprios servidores. O PayPal, por exemplo, usa um pacote npm chamado Analytics, que internamente é chamado de analytics-paypal.

E aí Birsan se perguntou: o que acontece se houver um pacote público com o mesmo nome de um pacote interno? Para sua surpresa, ele descobriu que o pacote público toma precedência, ou seja, ele é usado no lugar do pacote interno.

publicidade

Para testar sua teoria, Birsan conseguiu cópias dos manifestos, arquivos que descrevem quais pacotes são usados por um software, de projetos de várias empresas. E criou pacotes “clone” em repositórios públicos com os mesmos nomes dos pacotes internos para fins de teste.

Cada “clone” tinha uma mensagem dizendo que o pacote era “apenas para propósito de pesquisa de segurança” e continha um script executado automaticamente na instalação.

publicidade
Exemplo de pacotes públicos com o mesmo nome que pacotes privados de uma empresa. Todos os pacotes criados durante o experimento tinham um aviso de que eram para pesquisa de segurança. Imagem: Bleeping Computer

Este script foi projetado para extrair (exfiltrar) dados das máquinas onde era instalado, enviando-os a servidores controlados por Alex. Dados enviados por máquinas nas redes internas das empresas que foram alvo do teste comprovaram o sucesso do experimento.

O pesquisador chama esta técnica de “dependency confusion” (confusão de dependências). “Acredito que a confusão de dependências é bastante diferente do typosquatting ou brandjacking, já que não existe nenhum tipo de ação manual da vítima”.

publicidade

“Em vez disso, vulnerabilidades ou falhas de design em ferramentas de compilação e instalação automáticas podem fazer com que dependências públicas sejam confundidas com dependências externas com exatamente o mesmo nome”, disse em declaração ao site Bleeping Computer.

Typosquatting é uma técnica onde os malfeitores se aproveitam de erros de digitação para confundir a vítima. Por exemplo, usando uma falsa promoção para levá-la a um site como sansumg.com.br, em vez do site original da marca, para roubar dados.

Brandjacking é quando um malfeitor “assume” a identidade digital de uma marca ou empresa (por exemplo, com uma conta falsa em uma rede social) para enganar suas vítimas.

Por sua descoberta, Birsan recebeu US$ 130 mil (R$ 705 mil) em prêmios no programa de recompensas de várias empresas. O maior deles veio da Microsoft, que pagou US$ 40 mil (R$ 217 mil) e escreveu um “white paper” sobre o assunto.

Mas o pesquisador avisa: “é importante deixar claro que todas as organizações visadas durante esta pesquisa deram permissão para testar sua segurança, através de programas públicos de recompensa por bugs ou através de acordos privados. Por favor, não tentem este tipo de teste sem autorização”.

Fonte: Bleeping Computer