O que é um ataque à cadeia de suprimentos?

Durante um ataque à cadeia de suprimentos, os invasores exploram dependências de terceiros a fim de se infiltrarem no sistema ou na rede de um alvo.

Objetivos de aprendizado

Após ler este artigo, você será capaz de:

  • Definir "ataque à cadeia de suprimentos"
  • Explicar como um ataque à cadeia de suprimentos é realizado
  • Aprender como deter os ataques à cadeia de suprimentos

Copiar o link do artigo

O que é um ataque à cadeia de suprimentos?

Um ataque à cadeia de suprimentos usa ferramentas ou serviços de terceiros — coletivamente chamados de "cadeia de suprimentos" — para se infiltrar no sistema ou na rede de um alvo. Esses ataques às vezes são chamados de “ataques de cadeia de valor” ou “ataques de terceiros”.

Por natureza, os ataques à cadeia de suprimentos são indiretos: eles visam as dependências de terceiros das quais seus alvos finais dependem (muitas vezes sem saber). Uma dependência é um programa ou pedaço de código (geralmente escrito em JavaScript) de provedores de terceiros que aprimora a funcionalidade do aplicativo. Uma dependência usada por um varejista de comércio eletrônico, por exemplo, pode ajudar a executar chatbots de atendimento ao cliente ou capturar informações sobre a atividade do visitante do site. Centenas, senão milhares, dessas dependências podem ser encontradas em uma ampla variedade de softwares, aplicativos e serviços que os alvos usam para manter seus aplicativos e redes.

Em um ataque à cadeia de suprimentos, um invasor pode ter como alvo um fornecedor de segurança cibernética e adicionar um código malicioso (ou "malware") ao software, que é enviado em uma atualização do sistema para os clientes desse fornecedor. Quando os clientes baixam a atualização, acreditando ser de uma fonte confiável, o malware concede aos invasores acesso aos sistemas e informações desses clientes. (É essencialmente assim que o ataque SolarWinds foi realizado contra 18.000 clientes em 2020.)

Como é realizado um ataque à cadeia de suprimentos?

Antes que um ataque à cadeia de suprimentos possa ser realizado, os invasores precisam obter acesso ao sistema, aplicativo ou ferramenta de terceiros que planejam explorar (também conhecido como ataque “upstream”). Isso pode ser feito usando credenciais roubadas, visando fornecedores com acesso temporário ao sistema de uma organização ou explorando uma vulnerabilidade de software desconhecida, entre outros métodos.

Depois que o acesso a essa dependência de terceiros estiver garantido, o ataque “downstream” — o ataque que atinge o alvo final, geralmente por meio de seu navegador ou dispositivo — pode ser realizado de várias maneiras.

Voltando ao exemplo anterior, o ataque “upstream” ocorre quando o invasor adiciona um código malicioso ao software de um fornecedor de segurança cibernética. Em seguida, o ataque “downstream” é executado quando esse malware é executado nos dispositivos do usuário final por meio de uma atualização de software de rotina.

Quais são os tipos comuns de ataques à cadeia de suprimentos?

Os ataques à cadeia de suprimentos podem ter como alvo hardware, software, aplicativos ou dispositivos gerenciados por terceiros. Alguns tipos de ataques comuns incluem:

Ataques baseados em navegadores, que rodam código malicioso em navegadores de usuários finais.Os invasores podem ter como alvo bibliotecas JavaScript ou extensões de navegador que executam automaticamente o código nos dispositivos do usuário.Alternativamente, podem também roubar informações confidenciais do usuário que são armazenadas no navegador (através de cookies, armazenamento de sessão, etc.).

Ataques de software que disfarçam o malware em atualizações de software.Como no ataque do SolarWinds, os sistemas dos usuários podem baixar estas atualizações automaticamente — permitindo inadvertidamente que os invasores infectem seus dispositivos e executem outras ações.

Ataques de código aberto que exploram vulnerabilidades em código aberto.Os pacotes de código aberto podem ajudar as organizações a acelerar o desenvolvimento de aplicativos e software, mas também podem permitir que os invasores adulterem vulnerabilidades conhecidas ou escondam malware que depois é usado para infiltrar-se no sistema ou dispositivo do usuário.

Ataques JavaScript que exploram as vulnerabilidades existentes no código JavaScript ou incorporam scripts maliciosos em páginas web que são executadas automaticamente quando carregadas por um usuário.

Ataques Magecart que usam código JavaScript malicioso para obter informações de cartão de crédito de formulários de checkout de sites, que muitas vezes são gerenciados por terceiros.Isto também é conhecido como "formjacking".

Ataques watering hole que identificam sites que são comumente usados por um grande número de usuários (por exemplo, um construtor de sites ou um site do governo).Os invasores podem usar uma série de táticas para identificar vulnerabilidades de segurança dentro do site, depois usar essas vulnerabilidades para entregar malware a usuários desavisados.

Criptojacking que permite que invasores roubem recursos computacionais necessários para minerar criptomoedas.Eles podem fazer isso de várias maneiras: injetando código malicioso ou anúncios em um site, incorporando scripts de criptomineração em repositórios de código-fonte aberto ou usando táticas de phishing para fornecer links infectados por malware para usuários desavisados.

Como se defender contra os ataques à cadeia de suprimentos

Qualquer ataque que explora ou manipula com software, hardware ou aplicações de terceiros é considerado um ataque à cadeia de suprimentos. As organizações normalmente trabalham com uma variedade de fornecedores externos, cada um dos quais pode utilizar dezenas de dependências em suas ferramentas e serviços.

Por essa razão, pode ser difícil, se não impossível, para as organizações se isolarem completamente dos ataques à cadeia de suprimentos. Entretanto, há várias estratégias que as organizações podem utilizar para se defender preventivamente contra métodos de ataque comuns:

  • Executar uma avaliação de risco de terceiros: isso pode incluir testar software de terceiros antes da implantação, exigir que os fornecedores cumpram políticas de segurança específicas, implementar políticas de segurança de conteúdo (CSP) para controlar quais recursos um navegador pode executar ou usar Integridade de sub-recursos (SRI) para verificar o JavaScript em busca de conteúdo suspeito.
  • Implementar Zero Trust: o Zero Trust garante que cada usuário — desde funcionários até prestadores de serviços e fornecedores — esteja sujeito à validação e monitoramento contínuo dentro da rede de uma organização.A verificação da identidade e dos privilégios do usuário e do dispositivo ajuda a garantir que os invasores não possam se infiltrar em uma organização simplesmente roubando credenciais de usuários legítimos (ou se mover lateralmente dentro da rede se violarem as medidas de segurança existentes).
  • Usar prevenção contra malware: as ferramentas de prevenção contra malware, como software antivírus, verificam automaticamente os dispositivos em busca de código malicioso a fim de evitar que ele seja executado.
  • Adotar o isolamento do navegador: as ferramentas de isolamento do navegador isolam (ou colocam em sandbox) o código da página web antes de executá-lo nos dispositivos do usuário final, para que qualquer malware seja detectado e mitigado antes de atingir seu alvo pretendido.
  • Detectar TI invisível: "TI invisível" refere-se a aplicações e serviços que os funcionários usam sem a aprovação do departamento de TI de sua organização.Essas ferramentas não autorizadas podem conter vulnerabilidades que não podem ser corrigidas pela TI, pois elas desconhecem seu uso.O uso de um agente de segurança de acesso à nuvem (CASB) com recursos de detecção de TI invisível pode ajudar as organizações a catalogar melhor as ferramentas que seus funcionários estão usando e analisá-las para detectar quaisquer vulnerabilidades de segurança.
  • Permitir a correção e detecção de vulnerabilidades: as organizações que utilizam ferramentas de terceiros têm a responsabilidade de garantir que essas ferramentas estejam livres de vulnerabilidades de segurança.Embora a identificação e correção de todas as vulnerabilidades possa não ser possível, as organizações devem, ainda assim, realizar o processo de due diligence para encontrar e revelar vulnerabilidades conhecidas em software, aplicativos e outros recursos de terceiros.
  • Prevenir explorações de dia zero*: muitas vezes, os ataques à cadeia de suprimentos fazem uso de explorações de dia zero que ainda não foram corrigidas.Embora não exista um método infalível para antecipar ameaças de dia zero, as ferramentas de isolamento do navegador e firewalls podem ajudar a isolar e bloquear o código malicioso antes que ele seja executado.

*Parar explorações de dia zero ainda é uma tarefa particularmente desafiadora para a maioria das organizações. Em 2021, uma vulnerabilidade de dia zero foi descoberta no Log4j, uma biblioteca de software de código aberto que ajuda os desenvolvedores a registrar dados em aplicativos Java. Isso permitiu que os invasores infectassem e controlassem centenas de milhões de dispositivos, a partir dos quais realizaram outros ataques, incluindo ataques de ransomware e criptomineração ilegal. Leia mais sobre como a Cloudflare se defende contra a vulnerabilidade do Log4j.

Como a Cloudflare impede os ataques à cadeia de suprimentos?

O Zero Trust da Cloudflare ajuda a impedir os ataques à cadeia de suprimentos bloqueando o acesso a sites com potencial de risco, impedindo o carregamento e o download maliciosos e auditando os aplicativos SaaS (tanto aprovados como não aprovados) em sua organização.

O Cloudflare Zaraz é um gerente de ferramentas de terceiros que carrega aplicativos em nuvem, portanto o código malicioso não pode ser executado no navegador do usuário final.O Zaraz dá aos usuários visibilidade e controle sobre os scripts de terceiros que rodam em seus sites, permitindo-lhes isolar e bloquear comportamentos de risco.