Skip to main content
Blog
Blog

O Risco da Cadeia de Abastecimento Não Termina no NPM

Ao verificar apenas o NPM (ou outro registo), não está protegido contra ataques através de scripts de terceiros.

May 30, 2024 4 min read
Ilustração mostrando que a segurança do lado do cliente não é apenas o npm
Índice

TL;DR: scripts de terceiros obtidos pelo navegador fora da cobertura da análise de registos

  • Verde não é o fim: Toda a gente trata uma análise verde do Socket como cadeia de abastecimento resolvida, mas os ataques à cadeia de abastecimento nos EUA aumentaram 115% entre 2022 e 2023 e 95% dos scripts obtidos pelo navegador não têm proteção contra sequestro de DNS, pelo que o registo é apenas uma camada entre muitas.
  • Verificação do código completo: A cside verifica o código completo de cada fonte de terceiros 100% das vezes antes de ser renderizado no navegador do utilizador, monitoriza mais de 60 atributos com IA e tem em conta o contexto histórico, algo que um scanner de registo não consegue fazer quando o código é entregue dinamicamente a sessões de produção.
  • A fatia não vigiada: O Socket trata do passo de instalação, o WAF da Cloudflare trata do tráfego de entrada, e o Hadrian e a Cycognito tratam da superfície externa, portanto a decisão não é qual deles manter, é se a fatia de execução no navegador entre a instalação e a entrada é monitorizada da mesma forma ou deixada à confiança.

Sem tempo? Veja o bloqueio de Magecart e skimmers no navegador da cside. Cobre tudo o que se segue numa única implementação.

Os ataques à cadeia de abastecimento são hoje um problema prioritário. O número destes ataques nos EUA aumentou 115% entre 2022 e 2023, de acordo com a Statista. Ferramentas como o Socket e o Coana detetam código malicioso em registos como o NPM. Mas o risco da cadeia de abastecimento não termina aí.

Diagrama dos riscos de segurança do lado do cliente provocados por conteúdo de terceiros injetado dinamicamente

Algumas ferramentas são scripts de terceiros que são obtidos pelo navegador do utilizador. Ao verificar apenas o NPM (ou outro registo), não está protegido contra ataques através destes scripts.

Estes scripts, usados para rastreamento de marketing, anúncios, captchas e muito mais, são frequentemente implementados em sites inteiros por conveniência. Estes scripts são poderosos e podem fazer coisas como reescrever código, redirecionar utilizadores, exfiltrar dados e até minerar criptomoedas no seu navegador.

O método de entrega destes scripts permite um comportamento dinâmico. Qualquer utilizador pode receber uma entrega diferente de cada vez, especialmente quando um script foi comprometido.

À medida que mais pessoas adotam melhores abordagens de segurança de dependências, os scripts dinâmicos obtidos no lado do navegador tornam-se um vetor de ataque cada vez mais interessante e substancial. Isto torna arriscado verificar apenas as fontes. A melhor abordagem é verificar o código completo sempre que é entregue, que é o que a cside faz.

Muitos destes scripts também não são mantidos por empresas centradas em tecnologia. As ferramentas podem ficar negligenciadas à medida que as empresas se dissolvem ou são adquiridas, tornando-as suscetíveis a sequestros. Mesmo serviços respeitados e amplamente utilizados não estão isentos de falhas, como demonstrado pelos problemas do cdnjs em 2021 ou por esta pessoa que comprou um domínio expirado da polícia e dos serviços sociais na Bélgica e obteve acesso a informação privada dessa forma.

Por fim, 95% destes scripts não têm proteções contra sequestros de DNS. Até a rede em que está pode influenciar o script que recebe.

O que fazer em relação a tudo isto

Aqui está o que recomendamos:

Utilize uma ferramenta como o Socket (ou alternativas) para o risco da cadeia de abastecimento ao nível do registo e utilize a cside para monitorizar o comportamento dos scripts de terceiros no lado do navegador. Verificamos o código completo das fontes de terceiros, 100% das vezes, antes de ser entregue ao navegador do seu utilizador. Protegendo por completo este lado da cadeia de abastecimento.

Por último, deve proteger a sua infraestrutura contra ataques de entrada. Para isso, utilize algo como o Web Application Firewall da Cloudflare.

Coisas mais específicas, como carregamentos de formulários e deteção de bots, podem exigir ferramentas especializadas.

Utilize ferramentas de monitorização proativa como o Hadrian ou a Cycognito para monitorizar a superfície de ameaça.

Diagrama que mostra as camadas de risco da cadeia de abastecimento para além dos pacotes npm

Simon Wijckmans
Founder & CEO

Founder and CEO of cside. Previously a product manager on Cloudflare Page Shield (now Cloudflare Client-Side Security). Co-chair of the W3C Anti-Fraud Community Group and a Forbes 30 Under 30 honoree. Building accessible security against client-side attacks, web security is not an enterprise-only problem.

FAQ

Frequently Asked Questions

As dependências em tempo de build são uma fonte de risco, mas os scripts de terceiros em tempo de execução, as CDNs e o conteúdo carregado dinamicamente também são executados no navegador. Um atacante só precisa de comprometer uma dessas camadas para chegar aos seus utilizadores.

Abranja CDNs, gestores de tags, ferramentas de testes A/B, analytics, SDKs de pagamento e qualquer script que carregue outros scripts. A monitorização do lado do cliente, como a da cside, acompanha cada um destes elementos em tempo de execução, em vez de apenas no passo de instalação.

Monitore e proteja seus scripts de terceiros

Gain full visibility and control over every script delivered to your users to enhance site security and performance.

Comece grátis ou experimente o Business com um teste de 14 dias.

Interface do painel cside mostrando monitoramento de scripts e análises de segurança
Related Articles
Agende uma demonstração

Quer ver isso em detalhe com um engenheiro?

Trinta minutos, no seu próprio site. Sem slides.

Vamos mostrar:

Quais scripts de terceiros estão rodando no seu site agora
Como você está em relação aos requisitos 6.4.3 e 11.6.1 do PCI DSS
Qual parte do seu tráfego é de bots e agentes de IA

Prefere só mandar uma pergunta?

Procurando horários livres…

Apenas humanos de verdade. A gente saberia.

Problemas para agendar? Abrir o agendador em uma nova aba

O que você está tentando resolver?

Conte em uma linha e voltamos com algo útil, não com um discurso genérico.

Costumamos ajudar com:

Ver quais scripts de terceiros rodam no seu site
Evidências para PCI DSS 6.4.3 e 11.6.1
Bots, agentes de IA e roubo de contas

Prefere agendar um horário? Escolher um horário