PowerScan
PT

Impressão digital do navegador: o que os sites realmente leem

Impressões digitais do navegador · 10 min de leitura · por PowerOps

Foto: Unsplash

Um passeio campo a campo pelos valores que um site coleta, de canvas e WebGL a áudio, fontes, tela e fuso horário, e por que uma identidade coerente vale mais do que uma aleatória.

A impressão digital do navegador (browser fingerprinting) é a prática de identificar um navegador pelos valores que ele informa, e não por algo que ele armazena. Não é preciso nenhum cookie. O navegador simplesmente responde às perguntas que qualquer página web pode fazer, e as respostas, em conjunto, são distintivas o bastante para serem reconhecidas de novo.

Os valores coletados

A maioria dos scripts de fingerprinting lê das mesmas poucas superfícies.

Os óbvios

Os de renderização

São os valores a que as pessoas se referem quando falam de fingerprinting, porque são indiretos. Uma página pede ao navegador que desenhe algo e depois lê exatamente o que foi desenhado.

Os de rede

Por que randomizar todos os campos é o instinto errado

A defesa intuitiva é mudar tudo a cada visita. Ela sai pela culatra, por dois motivos.

O primeiro é a contradição. Campos randomizados não sabem uns dos outros. Um user agent que afirma Windows ao lado de uma string de renderizador WebGL que só existe em hardware Apple é um sinal mais forte do que qualquer um dos valores jamais seria sozinho. Máquinas reais são internamente consistentes; só as sintéticas discordam de si mesmas.

O segundo é a instabilidade. Uma conta que informa um dispositivo diferente a cada visita está descrevendo algo que nenhuma pessoa real possui. Consistência ao longo do tempo é a aparência de um usuário comum.

O que a identidade de um perfil cobre

SuperfícieTratada por
User agent e plataformaGerados juntos, de modo que a plataforma declarada combina com os valores ao redor
Tela e proporção de pixelsFixos por perfil, tirados de tamanhos que telas reais de fato informam
Fuso horário e localidadeDefinidos por perfil e conferidos com a rota de rede que ele usa
Canvas, WebGL e áudioRecebem um tratamento estável por perfil, idêntico a cada abertura
FontesUm conjunto por perfil, consistente com a plataforma que o perfil declara
WebRTCRestringido para não contradizer a rota de rede do perfil

Conferindo o seu próprio trabalho

Abra um perfil e visite uma página de teste de fingerprinting. Várias publicam, de graça, os valores que leem. As duas coisas que vale a pena conferir não são as que você poderia esperar:

  1. Os valores concordam entre si? Plataforma, fontes, strings gráficas e fuso horário devem descrever uma única máquina plausível.
  2. São os mesmos da última vez? Feche o perfil, abra-o de novo e recarregue o teste. Um perfil cujos valores mudam entre aberturas não é estável, e a estabilidade é a propriedade que importa.

Uma pontuação de raridade numa página de teste é o número menos útil de todos. Ela mede você em relação aos visitantes daquela página, que são, em sua esmagadora maioria, pessoas testando navegadores antidetect.

Todos os artigos · Executar a verificação