5 pontos por GN⁺ 2025-11-17 | 1 comentários | Compartilhar no WhatsApp
  • Técnica de rastreamento que usa o cache de favicon para atribuir um identificador único aos visitantes de um site, mantendo a identificação mesmo que o usuário apague o cache ou os cookies
  • Esse método funciona mesmo com modo anônimo, VPN e bloqueadores de anúncios, e persiste após reiniciar o navegador ou o sistema
  • Gera um número de identificação único por meio da combinação dos padrões em que o navegador solicita o favicon ou o carrega do cache
  • Principais navegadores como Chrome, Firefox, Safari e Edge, além de navegadores móveis, são afetados por essa vulnerabilidade
  • Do ponto de vista de segurança do navegador e privacidade, ganha destaque a importância do gerenciamento do cache de favicon

Visão geral do Supercookie

  • Supercookie é uma técnica para identificar usuários usando o cache de favicon (F-Cache)
    • O favicon é o pequeno ícone de um site, exibido na barra de endereços do navegador ou na lista de favoritos
    • Para exibi-lo rapidamente, o navegador o armazena em um banco de dados local separado (F-Cache)
  • O F-Cache inclui informações como URL visitada, ID do favicon e TTL (tempo de validade)
  • Explorando essa estrutura, é possível gerar um padrão único do navegador combinando a presença ou ausência de requisições de favicon em caminhos de URL específicos

Modelo de ameaça

  • O servidor web pode determinar se o navegador já visitou anteriormente com base em o navegador solicitar novamente o favicon ou não
    • Se o favicon não estiver no cache, ocorre uma requisição GET ao servidor; se estiver, a requisição é omitida
  • Ao combinar o estado das requisições de favicon em vários caminhos, é possível gerar um número identificador único por navegador
  • Esse identificador não é afetado por medidas tradicionais de prevenção de rastreamento, como exclusão de cookies, limpeza de cache, uso de VPN ou manipulação de cabeçalhos

Comparação com cookies tradicionais

  • Segundo a tabela, o Supercookie tem 100% de precisão de identificação e
    • permite detectar o modo anônimo, persistir mesmo após apagar cache e cookies, identificar entre várias janelas e contornar softwares antirrastreamento
  • Já os cookies comuns não oferecem essas capacidades

Navegadores afetados

  • Chrome, Safari, Edge e Firefox estão entre os principais navegadores vulneráveis
    • Chrome: afetado em Windows, macOS, Linux e Android
    • Safari: afetado em macOS e iOS
    • Edge: afetado em Windows, macOS e Android
    • Firefox: em algumas plataformas, gera uma impressão digital diferente no modo anônimo
    • Brave: nas versões mais recentes, é bloqueado na maior parte dos casos
  • Versões anteriores do Brave (1.14.0) e do Firefox (<84.0) são vulneráveis a esse ataque

Escalabilidade e desempenho

  • Ajustando o número de caminhos de redirecionamento (N), é possível distinguir 2^N usuários únicos
  • À medida que aumenta o número de usuários distinguíveis, também cresce o tempo de leitura e gravação
  • É possível ajustar dinamicamente o tamanho de N para minimizar o número de redirecionamentos

Métodos de defesa

  • A forma mais confiável é desativar completamente o cache de favicon ou apagá-lo manualmente
    • Chrome(macOS): excluir ~/Library/Application Support/Google/Chrome/Default/Favicons e Favicons-journal
    • Chrome(Windows): excluir C:\Users\username\AppData\Local\Google\Chrome\User Data\Default
    • Safari(macOS): excluir o conteúdo de ~/Library/Safari/Favicon Cache
    • Edge(macOS): excluir ~/Library/Application Support/Microsoft Edge/Default/Favicon e Favicons-journal

Objetivo e contexto do projeto

  • Este repositório foi criado para fins educacionais e de demonstração, com o objetivo de aumentar a conscientização em segurança sobre a possibilidade de rastreamento por favicon
  • A inspiração veio de um artigo de pesquisa da University of Illinois Chicago e de uma matéria do heise.de
  • O projeto inclui um portal de demonstração implementado em 2 dias como parte de uma pesquisa pessoal

Outros

  • O desenvolvedor é um estudante alemão de 20 anos, com interesse em design de software e segurança de TI
  • O projeto está disponível publicamente no GitHub e pode ser executado em ambiente Docker ou Node.js
  • O tema também foi coberto por grandes veículos como Vice, Gizmodo, TechRadar e Schneier.com

1 comentários

 
GN⁺ 2025-11-17
Comentários no Hacker News
  • Parece que esse problema existe há muito tempo. No Safari, acontece com frequência de o favicon de certos sites ser exibido incorretamente
    Por exemplo, no Reddit aparece o favicon do Ars Technica
    • No meu caso, o ícone do Hacker News fica preso como o ícone de um site de previsão do tempo
      Continua assim mesmo depois de atualizações do iOS, e persiste no perfil e também no modo anônimo
    • O cache de favicon do Safari dura tempo demais
      Para forçar a atualização, é preciso adiantar o relógio do sistema em alguns anos
    • Achei que só acontecia comigo, mas parece que o cache da UI está corrompido
      Isso acontece no meu MacBook há anos, então simplesmente desisti
    • No Chrome para celular, o favicon do HN também aparece errado
    • No Firefox o mesmo bug também acontece às vezes
  • Fico feliz em saber que o Brave corrigiu esse problema
  • Já houve uma discussão antiga (2021) — thread de comentários relacionada
  • Não entendi o que a demo ao vivo deveria fazer
    No Safari do iOS, o contador vai de 1 até 18 e depois entra em um loop infinito de redirecionamento
    • Nós relatamos esse problema enquanto trabalhávamos no artigo, e ele foi corrigido depois
    • No Android/Firefox, depois das 18 primeiras vezes apareceu o meu ID único, e quando cliquei para tentar de novo, caiu no mesmo loop
  • Acho que deveriam adicionar (2023) ao título
    • Na verdade, talvez o certo seja (2021). Fico me perguntando se algo tão antigo ainda não foi corrigido
  • No Safari do macOS há um comportamento em que ele carrega favicons com frequência toda vez que a página de nova aba é aberta
    Isso é um comportamento indesejado, então estou pensando em apagar os favoritos ou salvá-los em HTML
    Eu uso principalmente janela privada, e descobri isso graças ao Little Snitch
  • Há também a discussão relacionada "Tales of Favicons and Caches: Persistent Tracking in Modern Browsers" (janeiro de 2021, 53 comentários)
  • Eu uso um ambiente de navegador baseado em VM não persistente
    É uma combinação de qemu + cage + firefox, e a imagem é apagada ao encerrar
    É mais lento, mas passa mais segurança. Dá para containerizar também, mas me incomoda que o navegador tenha acesso ao kernel do host
    Como controlar isso com políticas de eBPF também é complicado, eu simplesmente isolo tudo em VM
    • Eu também tentei algo parecido, mas em ambiente de VM os captchas aparecem com frequência
      Por exemplo, são detectadas características como o renderizador SwiftShader ou a ausência de fontes
      Mesmo tentando disfarçar isso, coisas como manipulação de ruído de canvas são descobertas rapidamente. Se alguém tiver uma solução, gostaria que compartilhasse
    • Abordagem interessante. Fico curioso se existe algum material documentando isso
  • Eu também vi o contador ir só de 1/18 até 18/18 e depois recarregar
    Senti que perdi uns 20 segundos nisso
  • É uma pena que o mecanismo do ataque não esteja explicado em detalhes no repositório do GitHub, e o link para o artigo também esteja quebrado