Anatomia de um ataque de pacote malicioso

Views: 481
0 0
Read Time:5 Minute, 8 Second

Em janeiro passado, milhares de usuários de duas bibliotecas populares de código aberto, “faker” e “colors”, ficaram chocados ao ver seus aplicativos quebrando e mostrando dados absurdos depois de serem infectados com um pacote malicioso. E em outubro, um agente de ameaças publicou 155 pacotes maliciosos no repositório npm em uma campanha de typosquatting direcionada a usuários de 18 pacotes legítimos, que, combinados, normalmente veem mais de 1,5 bilhão de downloads semanais. O gol do atacante? Para baixar e instalar um roubo/cavalo de Tróia de senha backdoor.

Como o nome indica, um pacote malicioso é um software que é criado com intenção maliciosa. O que os torna particularmente preocupantes é que são extraordinariamente fáceis de criar. Úteis para qualquer número de intenções maliciosas, esses pacotes são difíceis de evitar e detectar, a menos que você saiba o que procurar.

Uma ameaça em rápido crescimento

Pacotes maliciosos não são novos, mas estão se proliferando em um ritmo alarmante. Em nosso “Relatório Especial de Pacotes Maliciosos“, a Mend identificou um aumento de 315% em pacotes maliciosos publicados apenas para npm e RubyGems de 2021 para 2022, e espera que essa tendência continue.

Um tipo de malware, os pacotes maliciosos usam técnicas semelhantes para enganar as pessoas a baixá-los, onde causam estragos dentro dos sistemas dos usuários. Como os pacotes maliciosos são algo que geralmente vêm de lugares em que você acha que confia, eles são anormalmente eficazes.

Pacotes maliciosos são uma maneira automatizada de criar um vetor de ataque ou obter dados para habilitar outro vetor de ataque que não exija nenhuma atividade adicional do invasor. Basta carregar o pacote e deixá-lo ir. Do ponto de vista de um ator de ameaças, o esforço despendido rende um alto retorno. Não é surpreendente, então, que estejamos vendo um aumento meteórico de pacotes maliciosos.

Anatomia de um ataque de pacote malicioso

Pacotes maliciosos são usados para roubar credenciais, exfiltrar dados, transformar aplicativos em botnets ou apagar dados. Mas primeiro, os invasores precisam enganar alguém ou algo para baixar o pacote.

Os invasores utilizam quatro vetores de ataque básicos para pacotes maliciosos:

  1. Brandjacking: Quando um invasor adquire ou assume a identidade online de outra empresa ou de um proprietário de um pacote e, em seguida, insere um código mal-intencionado. Este último método foi usado no ataque à exchange de criptomoedas dYdX. Nesse caso, as versões maliciosas do pacote continham um gancho de pré-instalação que fazia parecer que um script CircleCI estava prestes a ser baixado.
  2. Typosquatting: Como o próprio nome sugere, esse ataque depende de um simples erro de digitação. Um invasor publica um pacote mal-intencionado com um nome semelhante a um pacote popular e espera que um desenvolvedor escreva incorretamente o nome do pacote e chame involuntariamente a versão maliciosa.
  3. Sequestro de dependência: Um invasor obtém o controle de um repositório público para carregar uma nova versão mal-intencionada.
  4. Confusão de dependência: Uma adição mais recente à lista de vetores de ataque, a confusão de dependência acontece quando um pacote mal-intencionado em repositórios públicos tem o mesmo nome que um nome de pacote interno. O invasor usa isso para enganar as ferramentas de gerenciamento de dependência para baixar o pacote mal-intencionado público.

Como os pacotes maliciosos ainda são relativamente jovens, as técnicas nas quais os invasores se baseiam também não são sofisticadas. Os invasores que usam pacotes maliciosos tendem a confiar em quatro técnicas comuns, incluindo scripts de reinstalação e pós-instalação, técnicas básicas de evasão, comandos de shell e técnicas básicas de comunicação de rede. No caso da comunicação de rede, pacotes mal-intencionados usam métodos básicos para implantar, executar e se comunicar na máquina. Essa é uma boa notícia para os defensores, já que mesmo que o pacote seja baixado com sucesso, ele permanece relativamente fácil de detectar durante a implantação.

Assim como os vetores de ataque, os invasores estão adotando cada vez mais técnicas mais sofisticadas, como a telemetria, que permite a coleta de dados. Há muitas oportunidades para os agentes mal-intencionados refinarem o uso de pacotes maliciosos. Esperamos ver abordagens mais diversificadas e avançadas, e ataques mais difíceis de detectar, à medida que os agentes de ameaças evoluem suas técnicas.

Embora à primeira vista o momento em que pacotes maliciosos sejam lançados pareça aleatório, nossa pesquisa encontrou quase 25% publicados nas tardes de quinta-feira. Atribuímos isso aos atacantes que conhecem a prevalência de fornecedores de segurança cibernética baseados em Israel, onde muitos observam a sexta-feira e o sábado como o fim de semana. Além disso, visando o fuso horário de Israel, vemos os ataques sendo lançados no final da tarde, quando a semana de trabalho termina.

Código aberto não precisa significar temporada aberta

A principal razão pela qual os pacotes maliciosos funcionam tão bem é porque o código aberto é acessível publicamente. Não só um novato com habilidades básicas de programação pode facilmente criar um pacote malicioso, eles podem facilmente publicar o código em repositórios de código aberto que são usados por milhões de desenvolvedores. As chances de sucesso estão muito a seu favor.

É por isso que é tão importante entender o que é trazido para os aplicativos por meio do código-fonte aberto. Se as empresas ainda não o fizeram, elas precisam começar a priorizar sua cadeia de suprimentos de software. Eles devem usar uma ferramenta de varredura automatizada que possa monitorar repositórios e bibliotecas de código-fonte aberto em busca de vulnerabilidades e ataques, e tirar proveito de ferramentas que podem ajudar a gerar uma lista de materiais de software (SBOM). Ao contrário das vulnerabilidades que podem permanecer na base de código por meses, pacotes maliciosos são uma ameaça urgente para software e sistemas.

Ataques como o Log4j e a violação da SolarWinds ganham as manchetes, mas representam uma pequena fração dos ataques implacáveis lançados diariamente contra aplicativos. A crescente ameaça de ataques a pacotes maliciosos adiciona ainda mais urgência à crescente necessidade de uma nova abordagem para programas de segurança de aplicativos. Somente por meio do AppSec persistente e automatizado as organizações podem ganhar vantagem na batalha por software seguro.

FONTE: DARK READING

POSTS RELACIONADOS