- 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
Comentários no Hacker News
Por exemplo, no Reddit aparece o favicon do Ars Technica
Continua assim mesmo depois de atualizações do iOS, e persiste no perfil e também no modo anônimo
Para forçar a atualização, é preciso adiantar o relógio do sistema em alguns anos
Isso acontece no meu MacBook há anos, então simplesmente desisti
No Safari do iOS, o contador vai de 1 até 18 e depois entra em um loop infinito de redirecionamento
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
É 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
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
Senti que perdi uns 20 segundos nisso