- Polyfill.js é uma biblioteca open source para dar suporte a navegadores antigos e é usada em mais de 100 mil sites
- Em fevereiro deste ano, após uma empresa chinesa adquirir o domínio e a conta do GitHub do Polyfill.js, passou a injetar malware em dispositivos móveis por meio desse domínio
- Atualização de 25 de junho: o Google já começou a bloquear anúncios do Google de sites de e-commerce que usam polyfill.io
- Método do ataque: o código gerado dinamicamente com base em cabeçalhos HTTP é ativado apenas em determinados horários e em dispositivos móveis específicos, e adia a execução ao detectar usuários administradores ou serviços de análise web
- Exemplo do malware: redireciona usuários móveis para sites de apostas esportivas por meio de um domínio falso do Google Analytics (
www. googie-anaiytics .com)
- Resposta recomendada: o autor original do Polyfill.js recomenda não usar mais essa biblioteca, já que ela não é mais necessária em navegadores modernos, e Fastly e Cloudflare oferecem alternativas confiáveis
- Este incidente é um exemplo típico de ataque à cadeia de suprimentos
- Ferramentas adicionais: o serviço gratuito de monitoramento CSP da Sansec, Sansec Watch, e o scanner de backend eComscan oferecem suporte à detecção de Polyfill.io
Opinião do GN⁺
- Risco de ataques à cadeia de suprimentos: este caso mostra bem os riscos de segurança que podem surgir quando um projeto open source é adquirido. Especialmente no caso de bibliotecas usadas por muitos sites, o impacto pode ser enorme.
- Uso de bibliotecas alternativas: é importante usar alternativas confiáveis, como as da Fastly e da Cloudflare. Além disso, se o suporte a navegadores modernos já for suficiente, vale considerar descontinuar o uso do Polyfill.js.
- Necessidade de monitoramento de segurança: é importante usar ferramentas de segurança, como serviços de monitoramento de CSP, para acompanhar alterações de código em tempo real.
- Detecção de administradores e execução adiada: o fato de o malware detectar administradores ou serviços de análise e atrasar sua execução é uma tentativa de contornar soluções de segurança, e exige medidas de resposta adequadas.
- Educação e conscientização: é importante que desenvolvedores e operadores reconheçam os riscos de ataques à cadeia de suprimentos e acompanhem treinamentos periódicos e as tendências mais recentes de segurança.
3 comentários
Dizem que é preciso bloquear não só o domínio polyfill.io, mas também bootcdn.net, bootcss.com, staticfile.net, staticfile.org, unionadjs.com, xhsbpza.com, union.macoms.la, newcrbpc.com, entre outros.
https://pt.news.hada.io/topic?id=15118
Há cerca de um mês, vi esse problema ser tratado no GN e venho acompanhando com interesse. Mesmo que a causa do problema seja esclarecida até certo ponto, parece ser uma estrutura em que muitos lugares inevitavelmente continuarão expostos a ataques durante o tempo necessário para a contenção e as medidas posteriores. Isso me preocupa, porque os incidentes de segurança continuam aumentando e a escassez de especialistas em segurança parece que deve se agravar ainda mais por algum tempo.
Comentários do Hacker News
Riscos de usar CDNs públicos: usar um CDN público pode permitir a injeção de malware em dispositivos móveis. É possível mitigar isso com SRI (Subresource Integrity), mas a melhor solução é hospedar diretamente por conta própria em vez de depender do serviço de CDN.
Perspectiva de teoria dos jogos: a manutenção de software de código aberto precisa dar suporte a muitos sites sem compensação, e isso pode acabar causando problemas de segurança.
Conteúdo externo no Washington Post e na Fox News: ambos os sites incluem muito conteúdo externo, o que pode virar alvo de ataque.
Previsão da Cloudflare: a Cloudflare já havia previsto esse tipo de problema e oferece soluções para reduzi-lo.
Opinião do criador do Polyfill Service: ele criou o projeto Polyfill Service, mas não tinha a propriedade do domínio, e o domínio atualmente está injetando malware. Recomendação de parar de usar imediatamente.
Problema previsível: era algo esperado desde 4 meses atrás, e mais pessoas deveriam ter percebido isso e tomado providências.
Redirecionamento para sites de apostas esportivas: em alguns casos, usuários são redirecionados para sites que não desejam visitar, e isso pode acabar funcionando com parte deles.
Falta de menção ao SRI: surpreende que o artigo não mencione SRI. É uma solução de baixo custo e alta eficiência.
Conversa com desenvolvedores: muitos desenvolvedores demonstram indiferença em relação ao sequestro de CDN, o que pode levar a problemas de segurança.
Recomendação de auto-hospedagem: o ideal é sempre hospedar diretamente as próprias dependências, o que também ajuda a proteger a privacidade dos usuários.