Tech

Ataques à cadeia de suprimentos podem explorar pontos de entrada em ecossistemas Python, npm e de código aberto

Ataques à cadeia de suprimentos

Pesquisadores de segurança cibernética descobriram que os pontos de entrada podem ser abusados ​​em vários ecossistemas de programação como PyPI, npm, Ruby Gems, NuGet, Dart Pub e Rust Crates para realizar ataques à cadeia de suprimentos de software program.

“Os invasores podem aproveitar esses pontos de entrada para executar códigos maliciosos quando comandos específicos são executados, representando um risco generalizado no cenário de código aberto”, disseram os pesquisadores da Checkmarx, Yehuda Gelb e Elad Rapaport, em um relatório compartilhado com o The Hacker Information.

A empresa de segurança da cadeia de fornecimento de software program observou que os ataques de ponto de entrada oferecem aos agentes de ameaças um método mais sorrateiro e persistente de comprometer sistemas de uma forma que pode contornar as defesas de segurança tradicionais.

Os pontos de entrada em uma linguagem de programação como Python referem-se a um mecanismo de empacotamento que permite aos desenvolvedores expor certas funcionalidades como um wrapper de linha de comando (também conhecido como console_scripts). Alternativamente, eles também podem servir para carregar plugins que aumentam os recursos de um pacote.

Cibersegurança

Checkmarx observou que, embora os pontos de entrada sejam uma forma poderosa de melhorar a modularidade, o mesmo recurso pode ser abusado para distribuir código malicioso a usuários desavisados. Algumas das maneiras pelas quais isso pode acontecer incluem o roubo de comandos e a criação de plug-ins não autorizados para várias ferramentas e estruturas.

O roubo de comandos ocorre quando pacotes falsificados usam pontos de entrada que personificam ferramentas e comandos populares de terceiros (por exemplo, aws e docker), coletando assim informações confidenciais quando os desenvolvedores instalam o pacote, mesmo nos casos em que ele é distribuído como um wheel (.whl) arquivo.

Alguns dos comandos de terceiros amplamente utilizados que podem ser alvos potenciais para roubo de comandos incluem npm, pip, git, kubectl, terraform, gcloud, heroku e dotnet.

Um segundo tipo de roubo de comando também pode se manifestar quando os agentes da ameaça usam nomes legítimos de comandos do sistema (por exemplo, contact, curl, cd, ls e mkdir) como pontos de entrada para sequestrar o fluxo de execução.

“O sucesso desta abordagem depende principalmente da ordem PATH”, apontaram os pesquisadores. “Se o diretório que contém os pontos de entrada maliciosos aparecer antes no PATH do que os diretórios do sistema, o comando malicioso será executado em vez do comando do sistema. É mais provável que isso ocorra em ambientes de desenvolvimento onde os diretórios de pacotes locais são priorizados.”

Isso não é tudo. Checkmarx descobriu que a eficácia do comando jacking pode ser melhorada por uma tática mais furtiva chamada empacotamento de comando, que envolve a criação de um ponto de entrada que atua como um wrapper em torno do comando authentic, em vez de substituí-lo completamente.

pack

O que torna a abordagem potente é que ela executa silenciosamente o código malicioso, ao mesmo tempo que invoca o comando authentic e legítimo e retorna os resultados da execução, permitindo assim que ele passe despercebido pelo radar.

“Como o comando legítimo ainda é executado e sua saída e comportamento são preservados, não há sinal imediato de comprometimento, tornando o ataque extremamente difícil de detectar através do uso regular”, disseram os pesquisadores. “Essa abordagem furtiva permite que os invasores mantenham acesso de longo prazo e potencialmente extraiam informações confidenciais sem levantar suspeitas”.

Outra tática de ataque de ponto de entrada envolve a criação de plug-ins e extensões maliciosos para ferramentas de desenvolvedor que têm a capacidade de obter amplo acesso à própria base de código, dando assim aos malfeitores a oportunidade de alterar o comportamento do programa ou adulterar o processo de teste para fazê-lo parecer que o código está funcionando como pretendido.

Cibersegurança

“No futuro, é essential desenvolver medidas de segurança abrangentes que levem em conta a exploração do ponto de entrada”, disseram os pesquisadores. “Ao compreender e abordar esses riscos, podemos trabalhar em direção a um ambiente de empacotamento Python mais seguro, protegendo tanto os desenvolvedores individuais quanto os sistemas empresariais contra ataques sofisticados à cadeia de suprimentos”.

O desenvolvimento ocorre no momento em que a Sonatype, em seu relatório anual State of the Software program Provide Chain, revela que mais de 512.847 pacotes maliciosos foram descobertos em ecossistemas de código aberto para Java, JavaScript, Python e .NET desde novembro de 2023, um ano com salto de 156%. -ao longo do ano.

“As ferramentas de segurança tradicionais muitas vezes não conseguem detectar esses novos ataques, deixando os desenvolvedores e os ambientes de construção automatizados altamente vulneráveis”, disse a empresa. “Isso resultou em uma nova onda de ataques à cadeia de suprimentos de próxima geração, que visam diretamente os desenvolvedores, contornando as defesas existentes”.

Artigos relacionados

Leave a Reply

Your email address will not be published. Required fields are marked *

Verifique também
Close
Back to top button