O Mark estava a ler o New York Times na hora de almoço. Não carregou em nenhum link, não descarregou nenhum anexo, não instalou nada. Uma semana depois, o portátil do trabalho dele e mais quatro da equipa apareciam num dashboard de ransomware na dark web. A análise forense só encontrou um denominador comum: um banner publicitário na homepage de um site de notícias, envenenado entre as onze e o meio-dia.
Isto é o malvertising. Um atacante enfia código malicioso num ad network legítimo e qualquer pessoa que carregue aquele banner no seu navegador é atacada sem ter clicado fosse no que fosse. O site onde estás é legítimo. O ad network é legítimo. O que se passa é que a ad unit está a servir JavaScript que sonda o teu navegador e, se encontrar uma vulnerabilidade conhecida, executa código antes de acabares de ler esta frase.
O que é realmente o malvertising
Os anúncios na web não são servidos pelo editor do site. São leiloados em tempo real em marketplaces programáticos, passam por dezenas de intermediários e, ao fim de um a quatro redirects, o creative final acaba dentro de um iframe na página que estás a ler. Cada redirect é mais uma hipótese de entregar algo diferente daquilo que o editor aprovou.
É precisamente desta complexidade que o malvertising vive. O atacante compra ad space como faria qualquer cliente. Começa por servir creatives limpas, passa o processo de revisão e, uns dias depois, troca para o payload malicioso. Em alternativa, fica com a conta de um comprador legítimo e empurra o seu código através de campanhas que já estão a correr.
O resultado é o mesmo. Um site com boa reputação mostra-te um banner capaz de te atacar. O site não fez nada de errado. Tu também não. O ataque acontece dentro de uma frame que nem tu nem o site controlam.
Como um anúncio malicioso te assalta o navegador

O ataque corre em quatro fases, e todas as quatro acontecem antes de o banner sequer aparecer no ecrã.
Probe. O script dentro do iframe do anúncio lê o teu user agent, a versão do navegador, os plugins, o fuso horário e um punhado de características do dispositivo. Em menos de 50 milissegundos percebe se vales a pena como alvo. Portáteis corporativos com navegadores desatualizados passam à frente, os Android pessoais são postos de lado, e ambientes conhecidos de investigadores de segurança são filtrados.
Match. O script compara a tua assinatura com um catálogo de exploits. Exploit kits como o RIG, o Fallout ou os sucessores mais recentes ao estilo do Magnitude têm prontas a usar bibliotecas de vulnerabilidades conhecidas, muitas vezes ainda por corrigir.
Deliver. Se um exploit serve, o iframe carrega um payload de segunda fase. Pode ser uma chamada manipulada ao leitor de PDF, um shader WebGL ou um bug JIT no motor JavaScript, qualquer coisa que rebente a sandbox do navegador na tua build específica.
Execute. A partir daqui, há código estranho a correr com as tuas permissões. Instala um infostealer, um cryptominer ou o acesso inicial que um grupo de ransomware vai reaproveitar. O banner continua a aparecer com toda a naturalidade, para não te dar nas vistas.
Incidentes em sites que conheces
O malvertising não é um risco teórico. O New York Times, a BBC, o MSN, a AOL e a homepage do Yahoo já serviram, todos, de ponto de distribuição de malware através de ad networks, quase sempre sem se darem conta enquanto algum investigador de segurança não tornava a campanha pública.
A Forbes esteve alguns anos a barrar leitores com ad blocker e a pedir-lhes que os desligassem. Quando muitos leitores alinharam, a própria revista acabou a servir malware a partir do seu inventário publicitário, duas vezes, em poucas semanas. O problema não é o editor. O problema é a cadeia de fornecimento da publicidade.
impressões publicitárias pode servir código malicioso
tempo de vida médio de uma campanha antes da deteção
aumento dos incidentes de malvertising reportados em 2024-2025
Porque é que antivírus e ad blockers não chegam

O antivírus clássico compara ficheiros com assinaturas de malware conhecido. O malvertising serve código que nunca chega a tocar no disco. O payload corre diretamente em memória, muitas vezes a partir de um blob WebAssembly, e no fim arruma-se sozinho. Não há nada que um scanner AV consiga ver no sentido clássico. A versão longa está em Why Antivirus Fails.
Os ad blockers ajudam, mas não resolvem o problema. Bloqueiam ad servers conhecidos. Os atacantes que compram campanhas através de ad networks legítimos, por definição, não estão em listas de bloqueio. Além disso, cada vez mais sites servem os anúncios a partir da própria infraestrutura, onde os blockers não conseguem mexer sem partir a página.
Os navegadores recebem patches todos os meses, mas entre a disclosure e o rollout em larga escala passam várias semanas. É nessa janela que os exploit kits se atualizam. Se o teu navegador foi corrigido ontem mas os atacantes conhecem o exploit há quatro semanas, têm quatro semanas de avanço.
Navegar sem seres o alvo

A única defesa verdadeiramente fiável contra o malvertising é separar o navegador da máquina onde vivem os teus dados. Se o teu navegador correr dentro de um ambiente isolado, o exploit dispara na mesma, só que vai bater numa VM descartável que desaparece no fim da sessão. O payload não cai na tua máquina, cai num contentor que a plataforma reconstrói antes de o entregar ao utilizador seguinte.
Para a navegação sensível, faz desta separação o teu modo por defeito. Pesquisa em sites que não conheces, leitura de notícias em plena campanha ativa, abrir um link vindo de uma newsletter, são todos momentos em que um navegador isolado limita o estrago antes de acontecer fosse o que fosse. O navegador do dia a dia fica reservado aos sites de confiança nos quais já estás autenticado.
Pronto para teres um desktop completo em qualquer dispositivo?
Experimenta o Browser.lol grátis e sente a produtividade de um PC a partir do telemóvel.
Abrir o meu navegador desktopSem instalações • Funciona em qualquer dispositivo



