Desenvolvedores .NET visados ​​com pacotes NuGet maliciosos

Desenvolvedores .NET visados ​​com pacotes NuGet maliciosos

Desenvolvedores .NET direcionados a pacotes NuGet maliciosos PlatoBlockchain Data Intelligence. Pesquisa vertical. Ai.

Uma dúzia de pacotes hospedados no repositório NuGet para desenvolvedores de software .NET são, na verdade, componentes de Trojan maliciosos que comprometerão o sistema de instalação e baixarão malware de roubo de criptografia com funcionalidade backdoor.

A empresa de segurança da cadeia de suprimentos de software JFrog declarou em uma análise publicada em 21 de março que os 13 pacotes, que já foram removidos, foram baixados mais de 166,000 vezes e representam outro software legítimo, como Coinbase e Microsoft ASP.NET. O JFrog detectou o ataque quando os pesquisadores da empresa notaram atividades suspeitas quando um arquivo - init.ps1 - foi executado durante a instalação e, em seguida, baixou um arquivo executável e o executou.

A descoberta do código malicioso destaca que os invasores estão se ramificando ainda mais na cadeia de suprimentos de software como forma de comprometer desenvolvedores incautos, embora .NET e as linguagens de programação C# sejam menos conhecidas entre os invasores, diz Shachar Menashe, diretor de pesquisa de segurança da JFrog.

“As técnicas para obter código malicioso executado na instalação do pacote NuGet, embora triviais, são menos documentadas do que em Python ou JavaScript, e algumas delas foram obsoletas, então alguns invasores novatos podem pensar que não é possível”, diz ele. “E talvez o NuGet tenha melhor filtragem automatizada de pacotes maliciosos.”

A cadeia de suprimentos de software tornou-se cada vez mais alvo de invasores com tentativas de comprometer os sistemas dos desenvolvedores ou propagar código despercebido para o usuário final por meio dos aplicativos dos desenvolvedores. Os ecossistemas Python Package Index (PyPI) e Node Package Manager (npm) com foco em JavaScript são freqüente alvos de ataques à cadeia de suprimentos visando projetos de código aberto.

O ataque ao ecossistema de software .NET, que consiste em quase 350,000 pacotes exclusivos, é a primeira vez que pacotes maliciosos visam o NuGet, de acordo com o JFrog, embora a empresa tenha notado que uma campanha de spam havia links de phishing enviados anteriormente para desenvolvedores.

Typosquatting ainda é um problema

O ataque ressalta que o typosquatting continua a ser um problema. Esse estilo de ataque envolve a criação de pacotes com nomes parecidos - ou o mesmo nome com erros ortográficos comuns - como legítimos, na esperança de que um usuário digite incorretamente um pacote comum ou não perceba os erros.

Os desenvolvedores devem dar uma boa olhada nos novos pacotes antes de incluí-los em um projeto de programação, pesquisadores do JFrog Natan Nehorai e Brian Moussalli escreveram na assessoria online.

“Embora nenhum ataque anterior de código malicioso tenha sido observado no repositório NuGet, conseguimos encontrar evidências de pelo menos uma campanha recente usando métodos como typosquatting para propagar código malicioso”, escreveram eles. “Assim como em outros repositórios, medidas de segurança devem ser tomadas em todas as etapas do ciclo de vida de desenvolvimento de software para garantir que a cadeia de suprimentos de software permaneça segura.”

A execução imediata do código é problemática

Arquivos que são executados automaticamente por ferramentas de desenvolvimento são uma falha de segurança e devem ser eliminados ou limitados para reduzir a área de superfície de ataque, afirmaram os pesquisadores. Essa funcionalidade é uma razão significativa pela qual os ecossistemas npm e PyPI têm problemas de envenenamento, em comparação com, digamos, o ecossistema de pacotes Go.

“Apesar do fato de que os pacotes maliciosos descobertos foram removidos do NuGet, os desenvolvedores .NET ainda correm alto risco de código malicioso, pois os pacotes NuGet ainda contêm recursos para executar o código imediatamente após a instalação do pacote”, afirmaram os pesquisadores do JFrog na postagem do blog. . “[A]mbora esteja obsoleto, [um script de inicialização] ainda é honrado pelo Visual Studio e será executado sem qualquer aviso ao instalar um pacote NuGet.”

A JFrog aconselhou os desenvolvedores a verificar se há erros de digitação nos pacotes importados e instalados e disse que os desenvolvedores devem se certificar de não “instalá-los acidentalmente em seu projeto ou mencioná-los como uma dependência”, afirmou a empresa.

Além disso, os desenvolvedores devem visualizar o conteúdo dos pacotes para garantir que não haja arquivos executáveis ​​sendo baixados e executados automaticamente. Embora esses arquivos sejam comuns em alguns ecossistemas de software, geralmente são uma indicação de intenção maliciosa.

Por meio de uma variedade de contramedidas, o repositório NuGet — assim como o npm e o PyPI — está lentamente, mas seguramente, eliminando as falhas de segurança, diz Menashe da JFrog. 

“Não espero que o NuGet se torne mais um alvo no futuro, especialmente se os mantenedores do NuGet removerem totalmente o suporte para execução de código na instalação do pacote — o que eles já fizeram parcialmente”, diz ele.

Carimbo de hora:

Mais de Leitura escura