Cientistas de segurança identificaram uma evolução da técnica de comando e controle (C2) baseada em blockchain, conhecida como EtherHiding, que oculta o endereço IP do servidor de C2 dentro de um endereço de destino falso em uma transferência Ethereum completamente vazia. A nova abordagem de resolvedor de dead drop, observada em dois pacotes NPM trojanizados "bianira-ui" e "fluid-type-ui", foi codinomeada NullReceiver.
Técnica de Ocultação de C2
A técnica NullReceiver representa um avanço significativo nas táticas de evasão de malware. Ao utilizar transações de blockchain, os atacantes aproveitam a natureza pseudônima e descentralizada do Ethereum para esconder seus servidores de comando e controle. Isso torna a detecção e o bloqueio tradicionais baseados em IP ou domínio extremamente difíceis, pois o tráfego de C2 não passa por servidores convencionais.
O endereço de destino na transação Ethereum contém dados codificados que, quando decodificados pelo malware, revelam o IP real do servidor de C2. Isso permite que os atacantes mudem rapidamente seus servidores sem precisar atualizar os pacotes maliciosos, apenas alterando os dados na blockchain.
Impacto na Cadeia de Suprimentos de Software
A infecção de pacotes NPM compromete a cadeia de suprimentos de software, afetando diretamente os desenvolvedores e as organizações que dependem dessas bibliotecas. A instalação de um pacote malicioso pode levar ao comprometimento de sistemas de desenvolvimento, servidores de build e, potencialmente, ambientes de produção se o código for incorporado em aplicações finais.
O risco é ampliado pela natureza automatizada dos processos de build e deploy. Se um pacote NPM comprometido é instalado em um pipeline de CI/CD, o malware pode se propagar para múltiplos ambientes sem intervenção humana direta. Isso destaca a necessidade de verificação rigorosa de dependências e monitoramento de comportamento de pacotes.
Indicadores de Comprometimento (IOCs)
Os pacotes "bianira-ui" e "fluid-type-ui" são os principais indicadores de comprometimento. Desenvolvedores e equipes de segurança devem verificar a presença desses pacotes em seus repositórios e ambientes de build. Além disso, a monitoração de tráfego de rede para conexões não autorizadas a endereços Ethereum pode ajudar na detecção de atividades de C2.
A análise de pacotes NPM deve incluir a verificação de assinaturas digitais e a comparação de hashes com versões oficiais. Ferramentas de segurança de software (SAST/DAST) e scanners de dependências devem ser configurados para alertar sobre pacotes desconhecidos ou não verificados.
Recomendações para Equipes de DevSecOps
As organizações devem implementar políticas de aprovação de pacotes NPM, exigindo revisão manual para bibliotecas não oficiais. O uso de repositórios privados e espelhados de pacotes pode reduzir o risco de infecção. Além disso, a segmentação de redes de desenvolvimento e a limitação de privilégios de acesso a sistemas de build são medidas essenciais.
A educação dos desenvolvedores sobre os riscos de dependências de terceiros é crucial. Equipes devem ser treinadas para identificar sinais de pacotes maliciosos, como nomes semelhantes a bibliotecas legítimas ou comportamentos anômalos durante a instalação.
Perguntas Frequentes
Como proteger os pacotes NPM? Utilizar repositórios privados, verificar assinaturas e monitorar comportamentos de rede.
Qual o impacto do NullReceiver? Permite ocultação de C2 via blockchain, dificultando detecção tradicional.
Quais pacotes estão afetados? "bianira-ui" e "fluid-type-ui" foram identificados como maliciosos.