entendendo-software-supply-chain-ataques

Compreendendo os ataques à cadeia de suprimentos de software

Ataques à cadeia de suprimentos de software estão se tornando cada vez mais frequentes e devastadores. Por exemplo, Gartner prevê que 45% de todas as empresas sofrerão uma violação até 2025. Além disso, Empreendimentos de segurança cibernética sublinha a gravidade desta ameaça, projetando um prejuízo anual impressionante de 138 mil milhões de dólares até 2031. No seu conjunto, estas previsões realçam a necessidade urgente de as organizações priorizarem software supply chain security e implementar medidas robustas para proteger dados, operações e reputações confidenciais.

Porque moderno pipelinedependem fortemente de componentes externos, o surgimento de bibliotecas de terceiros, ciclos de desenvolvimento de software mais rápidos, cadeias de suprimentos complexas, falta de visibilidade, novas técnicas de ataque, adoção de SaaS e recursos limitados estão impulsionando o aumento em ataques à cadeia de suprimentos de software. Portanto, as organizações devem adotar uma abordagem abrangente e ativa para enfrentar esses desafios e proteger suas cadeias de suprimentos de software.

O que é um ataque à cadeia de suprimentos de software?

ENISA define um Ataque à cadeia de suprimentos de software as “um comprometimento de um ativo específico, por exemplo, a infraestrutura de um fornecedor de software e software comercial, para prejudicar indiretamente um determinado alvo ou alvos, por exemplo, os clientes do fornecedor de software.” Em outras palavras, um Ataque à Cadeia de Suprimentos de Software é uma atividade maliciosa que tem como alvo a cadeia de suprimentos de software, com o objetivo de comprometer e inserir vulnerabilidades ou malware no processo de desenvolvimento e distribuição. Como resultado, esse tipo de ataque explora a rede interconectada e, muitas vezes, complexa de processos, ferramentas e entidades envolvidas na construção e entrega de software.

A literatura sobre inteligência de ameaças cibernéticas e segurança da informação frequentemente falha ataques à cadeia de suprimentos de software em categorias distintas para melhor análise e defesa. Assim, esta seção apresenta os cinco conceitos-chave definidos pela Catálogo de padrões de ataque MITRE. Este catálogo estrutura padrões de ataque à cadeia de suprimentos para facilitar a análise usando várias fontes, incluindo ameaças adversárias coletadas pelo NIST.

Ato de Ataque: O Que

O ato de ataque é a ação específica que envia uma carga maliciosa ou intenção maliciosa a um sistema. Como resultado, produz danos diretos.

  • Exemplo 1: Malware inserido no software do sistema durante o processo de compilação.
  • Exemplo 2: Requisitos do sistema ou documentos de design alterados maliciosamente.

Vetor de Ataque: O Como

O vetor de ataque é o método que os adversários usam para explorar vulnerabilidades ou fraquezas de processos. Consequentemente, ele mostra como os invasores acessam e abusam da superfície de ataque.

  • Exemplo 1: Um invasor modifica o código-fonte em um repositório comprometido.
  • Exemplo 2: Um invasor obtém acesso não autorizado à documentação técnica interna.

Explore mais em nosso Glossário de vetores de ataque para obter informações adicionais.

Origem do Ataque: The Who

A origem identifica a fonte do ataque. Portanto, esclarece a função, o status ou o relacionamento do invasor com o sistema.

  • Exemplo 1: Um insider com acesso privilegiado para criar servidores modifica um script.
  • Exemplo 2: Um agente de ameaça externo carrega um pacote trojanizado em um registro público.

Objetivo do ataque: o porquê

O objetivo explica o motivo do ataque. Acima de tudo, destaca o que os adversários desejam alcançar.

  • Interrupção: interrupção de serviços ou compilações.
  • Corrupção: redução da confiança por meio da alteração de artefatos ou código-fonte.
  • Divulgação: vazamento de segredos sensíveis ou propriedade intelectual.

Impacto do Ataque: As Consequências

Por fim, o impacto descreve os resultados de um ataque, mostrando as consequências para fornecedores e clientes de software.

  • Exemplo 1: Qualquer projeto que use um programa ruim será corrompido mais tarde.
  • Exemplo 2: As pessoas instalam softwares ruins em seus sistemas de trabalho sem saber.

Ataques mais comuns à cadeia de suprimentos de software

Vários tipos de ataques à cadeia de suprimentos de software existem, e as organizações devem estar cientes dos vários vetores de ameaça em cada estágio do ciclo de vida. Com base em a estrutura SLSA, o Instituto Nacional de Standards e Tecnologia (NIST) e Agência de Segurança Cibernética e de Infraestruturas (CISA), essas ameaças podem ser agrupadas em quatro categorias: riscos de origem, construção, pacote e dependência.

ataques-à-cadeia-de-suprimento-de-software-segurança-à-cadeia-de-suprimento

Ataques à cadeia de suprimentos de software no estágio de origem

Estágio de origem é onde o código é criado, modificado e armazenado. Por exemplo, as ameaças incluem o envio de código inseguro ou malicioso, adulteração de arquivos críticos ou comprometimento do próprio repositório de origem. Como resultado, vulnerabilidades podem ser introduzidas bem cedo no processo.

Ataques à cadeia de suprimentos de software na fase de construção

De acordo com o relatório Estágio de construção, os desenvolvedores compilam e integram o código em uma versão funcional. Porque esta fase é tão crítica que os riscos incluem pular verificações de segurança no CI/CD pipeline, alterando o código após o controle de versão ou comprometendo o processo de construção. Consequentemente, códigos maliciosos podem se infiltrar em artefatos sem serem notados.

Ataques à cadeia de suprimentos de software no estágio de pacote

O processo de Estágio de Pacote é quando juntamos todo o código para criar um produto final. Esta parte é arriscada, pois alguém pode usar pacotes maliciosos ou alterar os sites online onde os obtemos. Invasores podem até mesmo enviar versões nocivas de pacotes populares para esses sites.

Ataques à cadeia de suprimentos de software no estágio de dependência

De acordo com o relatório Estágio de Dependência, adicionamos bibliotecas e pacotes de terceiros ao nosso software. Esta etapa é arriscada, pois quaisquer problemas nessas partes podem se espalhar fácil e silenciosamente para o restante do projeto.

Ataques à cadeia de suprimentos de software - Ataques à cadeia de suprimentos de software - o que é um ataque à cadeia de suprimentos

Riscos comuns da cadeia de suprimentos em cada estágio da SDLC

Etapa Ameaças típicas Exemplo
fonte • Envio de código malicioso ou inseguro
• Adulteração de arquivos críticos
• Comprometendo o repositório de origem
XcodeGhost (2015): código malicioso injetado no compilador Xcode da Apple, espalhando-se por aplicativos iOS.
Construir • Ignorando CI/CD verificações de segurança
• Modificando código após o controle de origem
• Comprometimento de repositórios de artefatos
SolarWinds Orion (2020): os invasores se infiltraram na construção pipeline, inserindo um backdoor em atualizações de software assinadas.
Pacote • Carregando pacotes modificados
• Registros de embalagens de envenenamento
• Distribuição de artefatos comprometidos
EventStream NPM (2018): invasor inseriu um backdoor em um pacote NPM popular baixado milhares de vezes.
Dependência • Usando dependências desatualizadas ou vulneráveis
• Explorando dependências transitivas
• Publicação de pacotes maliciosos semelhantes
XZ Utils Backdoor (2024): uma biblioteca de compressão trojanizada quase distribuída nas distribuições Linux.

Técnicas comuns de ataque à cadeia de suprimentos de software

De acordo com o eBook da Digibee CISDe acordo com um relatório do NIST, os ataques à cadeia de suprimentos de software geralmente se enquadram em três categorias principais.
No entanto, incidentes recentes mostram vetores adicionais que os desenvolvedores precisam entender.
Abaixo expandimos as técnicas mais relevantes com exemplos práticos.

Atualizações de sequestro

Os invasores comprometem mecanismos legítimos de atualização para distribuir malware.
Por exemplo, o ataque NotPetya em 2017 abusou do servidor de atualização do software fiscal ucraniano MEDoc, entregando
malware de limpeza destrutivo disfarçado de patch. Para se defender contra esse risco, as equipes devem aplicar detecção e resposta a ameaças para DevOps práticas que sinalizam comportamento anômalo em fluxos de atualização.

Minando a assinatura de código

Essa técnica envolve abusar ou roubar certificados de assinatura válidos para fazer com que código malicioso pareça legítimo.
Um caso notável foi o comprometimento do CCleaner em 2017, onde invasores distribuíram software trojanizado assinado com certificados válidos.
Consequentemente, as organizações precisam de controles de integridade unificados, como os descritos em estratégias de plataforma de segurança cibernética

Comprometendo o código-fonte aberto

Adversários inserem backdoors em pacotes populares de código aberto, que depois são incluídos em milhares de projetos.
O incidente do EventStream NPM e o backdoor do XZ Utils (2024) ilustram o quão crítico esse vetor se tornou.
Os desenvolvedores devem revisar recursos como Perguntas frequentes sobre segurança do NPM e incidentes de pacotes typosquatted para aprender como evitar dependências envenenadas.

Confusão de Dependência

Descrito pela primeira vez por Alex Birsan em 2021, esse ataque explora colisões de nomenclatura entre registros de pacotes internos e públicos, enganando os sistemas de compilação para que extraiam versões maliciosas em vez de pacotes internos confiáveis.

Typosquatting e pacotes maliciosos

Os invasores publicam pacotes maliciosos com nomes semelhantes aos de bibliotecas populares (por exemplo, “reqeusts” em vez de “requests”).
Os desenvolvedores instalam esses malwares acidentalmente, introduzindo malware em seus projetos.
Um exemplo real é analisado em Malware Namso-gen e na nossa lista de scanners de malware de código aberto.

Construir Pipeline Violação

Como visto no comprometimento do SolarWinds Orion, os invasores podem se infiltrar em servidores de compilação para injetar código malicioso durante a compilação.
Isso torna toda a cadeia de artefatos assinados não confiável. As técnicas de prevenção incluem o monitoramento CI/CD integridade com detecção de alerta precoce e analisando
Campanhas de malware pré-construídas no GitHub.

Como é um ataque à cadeia de suprimentos de software: o caso da SolarWinds

Acima de tudo, o ataque ao SolarWinds Orion é o exemplo mais conhecido de violação da cadeia de suprimentos de software. Ele mostra como os invasores podem avançar passo a passo no processo de desenvolvimento e, como resultado, espalhar código nocivo para milhares de usuários.

Primeiro, os invasores invadiram os servidores de compilação da SolarWinds.
Depois disso, eles adicionaram discretamente códigos maliciosos nas atualizações do Orion.
Como essas atualizações foram assinadas e enviadas como softwares confiáveis, muitas empresas as instalaram sem saber do risco.
No total, mais de 18,000 organizações foram afetadas, e os invasores obtiveram acesso a sistemas muito sensíveis.

Do ponto de vista de um desenvolvedor, esse ataque oferece três lições simples:

  • As defesas do perímetro não são suficientes: os atacantes mudaram a compilação pipeline si.
  • As verificações contínuas são críticas: seguro build attestations, verificações de integridade e detecção de anomalias ajudam a bloquear adulterações.
  • Uma construção envenenada pode se tornar global: um único pipeline um compromisso pode criar uma crise de segurança mundial.

Xygeni: a plataforma de segurança de aplicativos completa e definitiva

Como os ataques à cadeia de suprimentos de software podem ocorrer em todas as etapas da SDLC,
a plataforma AppSec completa, Xygeni, protege os estágios de origem, compilação, pacote e dependência. Oferece aos desenvolvedores e equipes de segurança um único lugar para prevenir, detectar e corrigir riscos de forma simples. Como resultado, você não precisa mais lidar com várias ferramentas, pois o Xygeni cobre todo o ciclo de vida.

Proteção do Estágio de Origem

Na fase de origem, os riscos incluem riscos inseguros commits, repositórios envenenados ou arquivos alterados. Xygeni escaneia código em tempo real com profundo SAST e detecção de segredos.
Ele também bloqueia substâncias nocivas commits através CI/CD guardrails.
Dessa forma, os problemas são interrompidos antes mesmo de saírem do repositório.

Proteção do Estágio de Construção

Durante a fase de construção, os invasores podem tentar ignorar pipelines ou alterar artefatos.
Xygeni protege o processo de construção com verificações compatíveis com SLSA, validação de integridade e assinaturas sem chave. Ele também monitora comportamentos incomuns dentro CI/CD trabalhos. Como resultado, compilações adulteradas são sinalizadas imediatamente e bloqueadas antes do lançamento.

Proteção de Estágio de Pacote

No estágio de pacote, registros comprometidos ou bibliotecas modificadas geralmente introduzem malware. Detecção de malware e verificação de licenças da Xygeni revise cada artefato, enquanto O AutoFix sugere caminhos de atualização seguros com sua análise de Risco de Remediação. Somente pacotes verificados e em conformidade avançam no pipeline.

Proteção do Estágio de Dependência

Código de terceiros é a maior superfície de ataque. Análise de composição de software da Xygeni (SCA) faz mais do que listar CVEs; ele verifica se código de risco pode realmente ser explorado. Ele também sinaliza malware oculto e dependências transitivas arriscadas. Acima de tudo, isso garante que os desenvolvedores enviem apenas dependências seguras.

Segredos e Segurança de Infraestrutura

Além de código e pacotes, os ataques geralmente exploram segredos vazados ou infraestrutura fraca. O Xygeni verifica se há chaves, tokens e credenciais expostas em código, configurações e camadas do Docker. Ele também pode validar e revogar automaticamente segredos vazados com Correção AutoFix. Ao mesmo tempo, IaC exploração evita configurações incorretas que invasores podem abusar posteriormente.

Detecção e correções mais inteligentes

A maioria das ferramentas para em alertas. Xygeni vai além. Seu mecanismo AutoFix cria patches seguros, pull requests, ou orientações passo a passo, dependendo do problema. A visualização de Risco de Remediação também mostra qual versão de patch é mais segura, para que as equipes corrijam problemas sem adicionar novos.

Uma plataforma unificada

Porque Xygeni combina SAST, SCA, detecção de malware, gerenciamento de segredos, IaC digitalização, detecção de anomalias e controles de construção seguros em uma plataforma AppSec,
oferece cobertura total em todo o SDLC. Tanto os desenvolvedores quanto as equipes de segurança ganham uma única fonte de verdade com visibilidade clara, correções práticas e forte proteção contra ataques à cadeia de suprimentos.

Todas as coisas consideradas, Xygeni, a plataforma AppSec completa e definitiva, ajuda equipes a construir rapidamente e permanecerem seguras. Ao proteger os estágios de origem, construção, pacote e dependência, e ao adicionar correções automatizadas em cada etapa, ele garante que os ataques à cadeia de suprimentos de software sejam interrompidos antes que cheguem à produçã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