Pacotes de código aberto

Novas ameaças no mercado: malware em pacotes de código aberto

O ecossistema de código aberto é a base do desenvolvimento de software moderno, promovendo a inovação e a colaboração. No entanto, a sua própria abertura torna-o suscetível a diversas ameaças cibernéticas. De acordo com um relatório da Comparetech, em 2023, foram identificadas mais de 100 milhões de estirpes de malware e aplicações potencialmente indesejadas (PUA), demonstrando que os ataques relacionados com malware continuam a ser uma grave ameaça cibernética. 

Novas famílias de malware em pacotes de código aberto

Malware de instalação e adulteração

Como eles trabalham: Este tipo de malware interfere no processo de instalação de pacotes de código aberto. Ele injeta código malicioso durante a instalação do pacote, que pode ser executado sempre que o pacote for usado.

Vulnerabilidades exploradas: Instalar-Tamper malware explora a confiança dos usuários lugar em repositórios de código aberto e a falta de verificações de segurança rigorosas durante o processo de instalação do pacote.

Estratégias de proteção: Para se proteger contra a instalação de malware adulterado, é crucial usar pacotes verificados e assinados, habilitar a autenticação de dois fatores para contas de repositório e realizar auditorias regulares de segurança de dependências.

Exemplo de código malicioso Install-Tamper: pacote npm “colors” (2022)

Descrição:

O pacote “colors” é uma biblioteca npm popular usada para adicionar efeitos de cores aos logs do console. É amplamente utilizado em vários aplicativos Node.js.

Como funcionou:

No início de 2022, uma versão do pacote “cores” foi modificado maliciosamente para incluir um script de loop infinito em seu arquivo principal. Esta alteração foi feita pelo próprio mantenedor do projeto, que supostamente o fez como um protesto contra o uso corporativo de projetos de código aberto sem apoio ou doações adequadas.

Impacto:

Essa modificação fez com que qualquer aplicativo que usasse a versão comprometida de “cores” travasse, levando a uma interrupção generalizada entre inúmeras empresas e sistemas de software que dependiam do pacote para suas operações.

Lições aprendidas:

Este incidente ressalta as vulnerabilidades inerentes ao modelo baseado em confiança de gerenciamento de pacotes de código aberto. Ele destaca a necessidade de os mantenedores manterem padrões éticos standards e para que os usuários conduzam revisões e testes completos de dependências de terceiros em seus ambientes de desenvolvimento. O caso das “cores” também enfatiza a importância de apoiar os mantenedores de código aberto para evitar esgotamento e retaliações antiéticas.

Backdoor de primeiro uso

Como eles trabalham: Este backdoor é ativado quando um pacote de código aberto é importado e usado pela primeira vez. Ele pode enviar informações do sistema para um servidor remoto ou baixar cargas adicionais.

Vulnerabilidades exploradas: Backdoors de primeiro uso aproveitam a execução de código não verificado no primeiro uso de um pacote, muitas vezes ignorando ferramentas de análise estática.

Estratégias de proteção: Revisar e monitorar o código de pacotes recém-importados e usar ferramentas de análise dinâmica para detectar comportamentos incomuns são fundamentais para a defesa contra backdoors de primeiro uso.

Exemplo de backdoor de primeiro uso: Incidente de backdoor Webmin (2019)

Descrição:

Webmin é uma interface popular baseada na web para administração de sistemas Unix. Em 2019, foi descoberto que o software havia sido comprometido com um Porta dos fundos que estavam presentes no código por mais de um ano antes da detecção.

Como funcionou:

O backdoor foi introduzido secretamente no repositório GitHub do Webmin por meio de um servidor de compilação comprometido. O código malicioso só estava ativo se o administrador alterasse a senha usando a interface do Webmin. Uma vez acionado, permitiu a execução remota de comandos com privilégios de root.

Impacto:

O backdoor foi enviado com versões do Webmin de 1.882 a 1.921, afetando potencialmente mais de três milhões de sites e servidores. O backdoor abriu sistemas para invasores remotos que poderiam obter controle total do servidor, levando ao roubo de dados, sequestro de servidor e maior comprometimento da rede.

Lições aprendidas:

Este incidente destaca a vulnerabilidade crítica que pode ocorrer quando os processos de construção são comprometidos. Ele ressalta a importância de proteger os servidores de construção e de realizar auditorias de segurança regulares do ciclo de vida de desenvolvimento de software. O caso Webmin também demonstra a necessidade de uma verificação minuciosa das atualizações de software, mesmo quando elas vêm de fontes confiáveis.

Worm de comprometimento de tempo de execução

Como eles trabalham: Este worm permanece inativo em um pacote de código aberto e é ativado durante o tempo de execução, potencialmente se espalhando para outros pacotes e sistemas.

Vulnerabilidades exploradas: Os Worms Runtime-Compromise exploram a natureza interconectada dos projetos de código aberto, onde um pacote comprometido pode afetar outros.

Estratégias de proteção: A implementação de sistemas rigorosos de monitoramento do comportamento em tempo de execução e detecção de anomalias pode ajudar a identificar e mitigar essas ameaças.

Exemplo de P2PInfect de comprometimento de tempo de execução: o worm auto-replicante Rusty Peer-to-Peer

Descrição:

P2PInfectar é um worm ponto a ponto (P2P) descoberto pelos pesquisadores de nuvem da Unidade 42.

Escrito em Rust, uma linguagem de programação altamente escalável e amigável à nuvem, este worm é capaz de infecções entre plataformas e tem como alvo o Redis, um popular aplicativo de banco de dados de código aberto muito usado em ambientes de nuvem.

Como Funciona:

Exploração Inicial:

  • P2PInfect explora a vulnerabilidade de escape do sandbox Lua, CVE-2022-0543, em instâncias vulneráveis ​​do Redis.
  • A vulnerabilidade permite que o worm execute código arbitrário no ambiente de script Lua.

Entrega de carga útil:

  • Depois que o acesso inicial é alcançado, o P2PInfect descarta uma carga inicial que estabelece a comunicação P2P com uma rede maior.
  • O worm então extrai binários maliciosos adicionais, incluindo scripts específicos do sistema operacional e software de varredura.

Propagação:

  • A instância infectada do Redis se junta à rede P2P, fornecendo acesso a outras cargas para futuras instâncias comprometidas do Redis.
  • O P2PInfect tem como alvo os sistemas operacionais Linux e Windows, tornando-o mais escalável e potente do que outros worms.

Impacto:

Os pesquisadores da Unidade 42 identificaram mais de 307,000 sistemas Redis únicos que se comunicaram publicamente nas últimas duas semanas, dos quais 934 podem ser vulneráveis ​​a esta variante do worm P2P.

P2PInfect serve como um exemplo de ameaça de ataque grave que os atores poderiam conduzir usando esta vulnerabilidade.

Lições aprendidas:

Os desenvolvedores devem revisar e verificar seus pacotes, manter as dependências atualizadas e ser cautelosos com nomes e fontes de pacotes.

A vigilância e a monitorização contínua são essenciais para prevenir tais ataques à cadeia de abastecimento.

Ataque em Cadeia de Dependência

Como eles trabalham: Os invasores comprometem um pacote em uma cadeia de dependências, o que afeta todos os outros pacotes que dependem dele.

Vulnerabilidades exploradas: Este ataque explora a confiança nas dependências dos pacotes e o efeito cascata de um pacote comprometido.

Estratégias de proteção: Usar uma ferramenta de análise de composição de software para rastrear e gerenciar componentes de código aberto e suas dependências pode proteger contra ataques de cadeia de dependências.

Exemplo de pacote npm de ataque à cadeia de dependência “event-stream” (2018): um compromisso da cadeia de suprimentos

Descrição:

Em 2018, o popular pacote npm chamado “fluxo de eventos” foi comprometido.

O ataque envolveu uma manipulação da cadeia de dependências que afetou usuários inocentes.

Como funcionou:

Compromisso Inicial:

  • O invasor assumiu uma dependência menos usada chamada “flatmap-stream”.
  • Eles injetaram código malicioso em “fluxo de mapa plano”.

Propagação:

  • O “flatmap-stream” comprometido foi incluído como uma dependência no pacote amplamente utilizado “event-stream”.
  • Muitos projetos instalaram sem saber o pacote “event-stream” comprometido.

Impacto:

O invasor obteve acesso a informações confidenciais de usuários inocentes.

O incidente destacou os riscos de ataques à cadeia de abastecimento através de dependências.

Lições aprendidas:

Os desenvolvedores devem revisar e verificar seus pacotes, manter as dependências atualizadas e ser cautelosos com nomes e fontes de pacotes.

A vigilância e a monitorização contínua são essenciais para prevenir tais ataques à cadeia de abastecimento.

Proteja seus projetos de código aberto com Xygeni

Conforme discutido, o ecossistema de código aberto é uma faca de dois gumes: ao mesmo tempo que promove a inovação, também expõe seu software a riscos significativos, como instalar tamper malware, First-Use Backdoors e Dependency-Chain Attacks. As consequências dessas ameaças são severas, e proteger sua cadeia de suprimentos de software é crucial.

Xygeni oferece soluções poderosas projetadas para defender seus projetos de código aberto contra essas ameaças em evolução. Nossas ferramentas garantem que suas dependências permaneçam seguras, mantendo seu software resiliente e seu processo de desenvolvimento tranquilo.

Faça uma De Mais Inteligentecisíons com Análise Abrangente de Pacotes

Dada a complexidade dos pacotes de código aberto, fazer escolhas informadas é essencial. Xygeni's Análise completa do pacote permite que você avalie a segurança de componentes de código aberto rapidamente. Com nossa plataforma, você pode selecionar com confiança pacotes seguros e confiáveis, evitando os riscos de dependências inseguras. Ao fazer descisCom os íons adiantados, você cria aplicativos mais fortes e seguros que resistem ao teste do tempo.

Defenda-se proativamente com detecção de malware em tempo real

Reagir às ameaças depois que elas se infiltram no seu sistema não é o suficiente. É por isso que a Xygeni oferece Detecção de malware em tempo real para capturar ameaças como malware de dia zero no momento em que elas surgem. Nosso sistema bloqueia imediatamente o código malicioso, impedindo que ele chegue ao seu ambiente de desenvolvimento. Ao agir rapidamente, você garante que seus projetos permaneçam seguros desde o início.

Proteja sua cadeia de suprimentos com monitoramento contínuo

No mundo acelerado do desenvolvimento de software, as mudanças acontecem constantemente. Xygeni's Monitoramento Contínuo da Cadeia de Suprimentos mantém um olhar vigilante sobre cada atualização. Nossa proteção proativa detecta e bloqueia alterações suspeitas em suas dependências, evitando que pacotes comprometidos entrem em seus projetos. Com a Xygeni, você mantém uma cadeia de suprimentos segura e confiável, protegendo seu software contra ameaças potenciais.

Assuma o controle da sua segurança com Xygeni

Como você viu, os riscos em software de código aberto são reais e crescentes. As soluções de segurança da Xygeni oferecem as ferramentas para gerenciar esses riscos de forma eficaz. Ao focar na detecção precoce, análise abrangente de pacotes e monitoramento contínuo, você pode proteger seu software de ameaças emergentes. Não deixe seus projetos de código aberto vulneráveis ​​— aprimore sua estratégia de segurança hoje mesmo com a Xygeni e tenha paz de espírito sabendo que seu software e dados estão seguros.

Pronto para proteger seus projetos de código aberto? Deixe que a Xygeni ajude você a se antecipar às ameaças e a criar um software resiliente que possa lidar com o que vier.

Explore os recursos do Xygeni!
Assista ao nosso vídeo de demonstração
sca-tools-software-composição-análise-ferramentas
Priorize, corrija e proteja seus riscos de software
você recebe uma avaliação gratuita de 7 dias da nossa licença Business Edition e pode aproveitar alguns dos recursos avançados da plataforma SecurityScorecard.
Não é necessário cartão de crédito

Proteja seu desenvolvimento e entrega de software

com o Suíte de Produtos da Xygeni