Skip to main content
Blog
Blog

Não implemente scripts em todo o site

Os scripts de terceiros são frequentemente implementados em todo o site, normalmente injetados nas tags head em frameworks web como o Next.js através do ficheiro '_document.js'. Esta implementação generalizada, embora conveniente para os programadores e muitas vezes recomendada pelos guias de onboarding, significa que estes scripts são executados em todo o site. É mais simples de implementar, mas também introduz riscos de segurança e problemas de desempenho que costumam ser ignorados. A recente fuga de dados da Kaiser Permanente mostra os perigos de ter scripts de terceiros mal gerid

Jul 22, 2024 6 min read
Não implemente scripts em todo o site, porque a injeção indiscriminada de scripts é arriscada

Resumo: porque não deve implementar scripts de análise em todo o site

  • A conveniência gerou fuga: Os documentos de onboarding continuam a dizer aos programadores para colarem tags de análise no _document.js e a avançarem, mas foi precisamente essa conveniência que levou a Kaiser Permanente a enviar 13,4 milhões de registos de membros a fornecedores terceiros que nunca deveriam tê-los visto.
  • PCI torna obrigatório: O PCI DSS 4.0 torna o inventário e a integridade dos scripts obrigatórios até março de 2025. O agente JavaScript first-party da cside observa o comportamento em tempo de execução de cada script de terceiros em 100% das sessões, em todas as páginas, com bloqueio autónomo por cima.
  • Delimite antes de auditar: Antes da próxima auditoria de framework, decida se os pixéis de análise e marketing precisam mesmo de acesso ao DOM nas suas páginas de login, KYC e conta, ou se uma implementação limitada à página fecha, sem custos, um vetor de ataque à cadeia de fornecimento.

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

Os scripts de terceiros são frequentemente implementados em todo o site, normalmente injetados nas tags head em frameworks web como o Next.js através do ficheiro '_document.js'. Esta implementação generalizada, embora conveniente para os programadores e muitas vezes recomendada pelos guias de onboarding, significa que estes scripts são executados em todo o site. É mais simples de implementar, mas também introduz riscos de segurança e problemas de desempenho que costumam ser ignorados.

A recente fuga de dados da Kaiser Permanente mostra os perigos de ter scripts de terceiros mal geridos. Como escrevemos na nossa análise completa do incidente:

A 29 de abril, a gigante da saúde Kaiser Permanente divulgou uma fuga de dados que afetou 13,4 milhões de membros atuais e antigos do seguro. O incidente teve origem em scripts de terceiros geridos de forma inadequada. A Kaiser Permanente utilizava códigos de rastreio para monitorizar a forma como os membros navegavam no seu site e nas aplicações móveis. Algumas destas páginas continham dados de saúde sensíveis, o que levou os scripts de terceiros a transmitir inadvertidamente informação a fornecedores terceiros que não deveriam ter acesso a ela. Embora a violação não tenha resultado de um sequestro de script, ela evidencia uma falha significativa na gestão de scripts de terceiros.

Mas o problema é mais amplo do que a fuga de informação potencialmente sensível para fornecedores terceiros. Os scripts de terceiros são usados por todo o lado, mas raramente são examinados, monitorizados ou protegidos.

Os riscos de implementar scripts de terceiros em todo o site

Vejamos agora alguns dos problemas que surgem quando se implementam scripts globalmente.

1. Acesso descontrolado a dados

Foi isto que aconteceu no caso da Kaiser Permanente. Os scripts de terceiros implementados globalmente têm frequentemente acesso a dados sensíveis nas páginas web. Isto pode incluir dados introduzidos pelo utilizador, informação de sessão e outros dados confidenciais. Sem controlos rigorosos, estes scripts podem, de forma inadvertida ou maliciosa, deixar escapar dados para partes não autorizadas. No caso da Kaiser Permanente e de outras entidades de saúde, os scripts de terceiros frequentemente não cumprem a Health Insurance Portability and Accountability Act (HIPAA), o que torna uma fuga de dados para esses fornecedores um incidente grave.

2. Ataques à cadeia de fornecimento

Os atacantes podem comprometer a cadeia de fornecimento web ao visarem serviços de terceiros e injetarem código malicioso nos scripts. Estes scripts comprometidos podem depois propagar malware, roubar dados ou realizar outras ações prejudiciais em todos os sites onde estão implementados. Isto já é grave por si só, mas piora ainda mais quando os scripts são implementados globalmente e têm acesso a mais dados e utilizadores.

Como é evidente, a cside protege contra isto.

3. Aplicações Web de Página Única (SPAs)

As SPAs não lidam nada bem com scripts. A menos que o programador force uma atualização completa da página ao navegar para uma página sensível, todos os scripts previamente carregados permanecem presentes. Qualquer script de terceiros carregado inicialmente continua em execução e pode potencialmente aceder a dados sensíveis durante toda a sessão do utilizador, a não ser que a página seja completamente atualizada, o que aumenta o risco de fugas de dados e acessos não autorizados.

4. Riscos de conformidade e regulamentação

As organizações têm de cumprir diversas regulamentações de proteção de dados, como o RGPD, a HIPAA e o PCI DSS 4.0. Uma gestão inadequada dos scripts de terceiros pode levar ao incumprimento, o que arrisca coimas avultadas e consequências legais.

O PCI DSS 4.0 exige a monitorização de scripts de terceiros até março de 2025, pelo que é agora o momento de começar e de implementar a cside. Isto garante-lhe a conformidade e acrescenta bloqueio autónomo para se proteger ainda mais.

5. Problemas de desempenho e estabilidade

Talvez menos evidente, mas definitivamente percetível, scripts de terceiros mal otimizados tornam os sites mais lentos. Qualquer indisponibilidade ou problema no serviço de terceiros pode afetar diretamente a funcionalidade e a disponibilidade do site que os aloja. Um site que carrega em 1 segundo tem uma taxa de conversão 3x superior à de um site que demora 5 segundos a carregar.

Proteja-se contra estes problemas

Tal como as diretrizes do PCI DSS 4.0, somos defensores da monitorização contínua de segurança e incentivamos todos os proprietários de sites a adotá-la. Acreditamos que aplicá-la a todas as páginas é a abordagem mais eficaz.

Pode fazê-lo utilizando o nosso plano gratuito. É self-service, deixando-o em conformidade e seguro em minutos. Como é óbvio, estamos sempre por perto para ajudar sempre que necessário.

O nosso script reescreve as origens dos outros scripts do seu site para os canalizar através da cside. Também realiza algumas deteções do lado do browser. Isto permite que a cside faça a mediação do fluxo de pedidos entre o utilizador e o script de terceiros sem acrescentar latência. Em alguns casos, pode até melhorar o desempenho ao colocar em cache scripts estáticos.

Isto dá visibilidade total sobre todos os scripts servidos, em 100% das sessões, em todas as páginas.

Para mais informações sobre em que difere a nossa abordagem, leia aqui.

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.

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