O que é fingerprint do navegador?

Publicado:

11 min de leitura

Acar Diveroli
Autor: Acar Diveroli
Ícone de impressão digital desenhado com linhas neon

Você apagou os cookies, abriu uma janela anônima e até trocou o endereço IP. Mesmo assim, um site consegue reconhecer você. O método por trás disso se chama fingerprint do navegador (browser fingerprinting). A combinação de dezenas de pequenas informações que o seu navegador expõe forma uma identidade única o suficiente para diferenciar você entre milhões de visitantes.

Neste artigo explicamos de quais sinais o fingerprint é extraído, por que os sites o usam, em que ele difere de um cookie e de um IP, como testar no seu próprio navegador e o que isso significa para quem usa proxy.

Como o fingerprint do navegador é formado?

Quando uma página carrega, o navegador expõe ao site muitas informações sobre si mesmo para conseguir exibir o conteúdo corretamente. Isoladas, nenhuma dessas informações identifica você. Mas juntas, formam uma combinação rara. Os sinais mais usados no fingerprint são:

  • User-Agent e versão do navegador: nome do navegador, versão e sistema operacional. Navegadores atuais simplificaram esse cabeçalho e moveram o detalhe para o mecanismo Client Hints, mas a informação básica ainda fica exposta.
  • Informações de tela: resolução, profundidade de cor, densidade de pixels, tamanho da janela.
  • Idioma e fuso horário: idioma do navegador, fuso horário do sistema e formato de data.
  • Fontes instaladas: a lista de fontes do sistema varia surpreendentemente entre dispositivos. O site descobre indiretamente a presença de fontes específicas medindo a largura do texto.
  • Fingerprint de canvas: o site desenha texto e formas em uma área invisível. O mesmo desenho gera um resultado diferente em nível de pixel dependendo da placa de vídeo, do driver e do sistema operacional. O resumo desse resultado é um valor bem distintivo. A infraestrutura de desenho é descrita na documentação da Canvas API no MDN.
  • Informações WebGL: fabricante e modelo da GPU e os recursos que ela suporta.
  • Fingerprint de áudio: pequenas diferenças na forma como um som gerado pela Web Audio API é processado.
  • Sinais de hardware: número de núcleos do processador, quantidade de memória, suporte a tela sensível ao toque.
  • Recursos do navegador: APIs suportadas, extensões instaladas, codecs de mídia, esquema de cores preferido.

O W3C trata de como esses sinais devem ser limitados nos padrões da web no guia Mitigating Browser Fingerprinting.

Como o fingerprint vira um valor?

Os sinais coletados não são guardados um a um; geralmente são combinados e reduzidos a um valor resumo (hash). O site associa esse valor ao visitante e, se o mesmo valor aparecer na próxima visita, considera "o mesmo dispositivo".

Dois conceitos são importantes aqui:

  • Entropia: o quanto um sinal diferencia bem os visitantes. O fuso horário tem entropia baixa (milhões de pessoas estão no mesmo fuso); a lista de fontes e a saída do canvas têm entropia alta. Conforme os sinais se combinam, a entropia total aumenta e a combinação se torna única.
  • Estabilidade: o quanto o sinal permanece constante ao longo do tempo. Uma atualização do navegador muda o User-Agent; o driver da placa de vídeo pode mudar a saída do canvas. Por isso, sistemas mais avançados também associam ao mesmo dispositivo fingerprints "suficientemente parecidos", não apenas correspondências exatas.

Para ver o quão único o seu navegador parece e quais sinais carregam mais informação, você pode testar a ferramenta Cover Your Tracks da EFF. A página de resultado mostra a entropia de cada sinal separadamente.

CritérioCookieFingerprint do navegador
Onde fica armazenado?No seu navegadorEm lugar nenhum; recalculado a cada visita
Pode ser apagado?SimNão pode ser apagado diretamente
Funciona em janela anônima?Geralmente nãoSim
Funciona entre sites diferentes?Cookies de terceiros cada vez mais restritosSim, os mesmos sinais são gerados em cada site
O usuário percebe?Pelos avisos de cookiesNa maioria das vezes, não
EstabilidadeFixo até ser apagadoPode mudar com atualizações de navegador e driver

O cookie é um documento de identidade que você carrega; o fingerprint é o site reconhecendo você pela sua aparência. Você pode jogar o documento fora, mas não pode mudar seu rosto.

Por que os sites usam o fingerprint?

O único objetivo do fingerprint não é o rastreamento publicitário. A maior parte do uso é voltada à segurança:

  • Prevenção de fraude. Bancos e sistemas de pagamento direcionam para verificação adicional um login vindo de um dispositivo incomum.
  • Segurança de conta. Mesmo com a senha correta, um login com um fingerprint nunca visto pode ser considerado suspeito. É daí que costumam vir os e-mails de "login feito a partir de um novo dispositivo".
  • Detecção de bots. Ferramentas de automação costumam carregar inconsistências que as denunciam: User-Agent de desktop com tamanho de tela mobile, ou um navegador que diz Windows mas tem fontes típicas do Linux.
  • Detecção de múltiplas contas. Marketplaces e redes sociais associam entre si várias contas abertas a partir do mesmo dispositivo.
  • Publicidade e analytics. Com a restrição dos cookies de terceiros, alguns sistemas de rastreamento migraram para o fingerprint; é por isso que os fabricantes de navegadores vêm tomando medidas contra esse uso.

Por que trocar o IP não basta?

O proxy muda o IP que o site de destino enxerga. Já o fingerprint é independente do IP. Se você se conectar ao mesmo site com o mesmo navegador através de proxies diferentes, o site vê o seguinte: o mesmo dispositivo, a partir de locais diferentes. Esse padrão pode ser ainda mais suspeito do que vir de um único IP.

Preste atenção também ao inverso: uma sessão com fingerprint aparentemente impecável, mas vinda de um IP de datacenter, também é inconsistente. Explicamos como os tipos de IP são diferenciados no artigo Diferença entre proxy residencial e datacenter. O caminho para parecer confiável é tornar as duas camadas coerentes:

  • Coerência de localização e idioma: um IP de Istambul com o fuso horário do navegador em America/New_York é uma contradição. Idioma, fuso horário e localização do IP devem contar a mesma história.
  • Coerência de tipo de IP: um perfil de dispositivo móvel combinar com um Proxies móveis, e um perfil de desktop combinar com um Proxies residenciais, parece mais natural.
  • Continuidade de sessão: abrir uma conta todo dia com um IP e um fingerprint diferentes coloca a conta em risco. Um Proxies ISP fixo por conta, junto com um perfil de navegador estável, é mais consistente.

Exemplos de inconsistência: no que os sites reparam?

Sistemas de detecção de bots costumam olhar não para o fingerprint em si, mas para a contradição entre sinais. Exemplos frequentes:

ContradiçãoPor que é suspeito?
User-Agent diz "Windows", lista de fontes tem fontes de macOSO cabeçalho foi alterado, o sistema por baixo não mudou
Tela 1920×1080, janela 800×600 e nunca mudaTamanho de janela padrão de ferramentas de automação
Fuso horário Istambul, idioma en-US, IP na AlemanhaTrês sinais indicando três lugares diferentes
Mesmo fingerprint, dez países diferentes em uma horaUm único dispositivo, proxy rotativo
navigator.webdriver ativadoO próprio navegador informa que está sob automação
WebGL desligado, canvas aleatório, lista de extensões vaziaEsforço de ocultação; usuários comuns não desligam isso

A última linha dessa tabela mostra um ponto importante: bloquear ou randomizar sinais também é, em si, um sinal.

É possível ocultar totalmente o fingerprint?

Ocultar completamente não é viável na prática, porque bloquear sinais também é um sinal. Um navegador que desativa totalmente o desenho de canvas ou retorna valores aleatórios a cada requisição se destaca ainda mais entre os usuários comuns.

O objetivo realista não é "ficar invisível", mas parecer comum em meio à multidão. Para isso, usar versões de navegador populares, configurações consistentes e um perfil que não muda entre sessões é mais eficaz do que embaralhar sinais aleatoriamente.

Os fabricantes de navegadores também avançam nessa direção: alguns navegadores restringem o acesso a APIs de alta entropia ou diferenciam a saída do canvas entre sites adicionando um pequeno ruído aleatório. Essas medidas dificultam o rastreamento, mas não impedem totalmente o uso com fins de segurança.

Como testar o seu próprio fingerprint?

Para ver com quais sinais um site reconhece você, siga estes passos:

  1. Rode o teste Cover Your Tracks em uma janela normal e anote o resultado.
  2. Repita o mesmo teste em uma janela anônima. Os cookies terão sumido, mas você verá que o resultado do fingerprint permanece, em grande parte, o mesmo.
  3. Ligue um proxy ou VPN e rode o teste de novo. O IP e a localização mudam; os sinais de tela, fonte, canvas e hardware não mudam.
  4. Tente com um navegador diferente. Mesmo no mesmo dispositivo, o fingerprint muda ao trocar de navegador, porque o motor de renderização e o conjunto de APIs são diferentes.

Esses quatro passos mostram em poucos minutos por que a suposição "troquei o IP, então não sou mais reconhecido" está errada.

O que isso significa para automação e coleta de dados?

Scripts que rodam com navegadores headless se destacam facilmente de usuários humanos nas configurações padrão. Os sinais mais comuns são: navigator.webdriver ativado, lista de extensões vazia, tamanhos de tela irreais e interações concluídas em segundos.

Por isso, mesmo em trabalhos de coleta de dados permitidos pelo site, três regras valem:

  • Mantenha a velocidade das requisições razoável. Mesmo que o fingerprint pareça totalmente comum, uma sessão que abre dezenas de páginas por segundo não parece humana.
  • Use um perfil de navegador consistente. Tamanho de janela, idioma e fuso horário devem refletir um dispositivo real e não mudar durante a sessão.
  • Mantenha o mesmo IP durante toda a sessão. Em fluxos com login, mudar o IP no meio quebra o sinal do fingerprint e do IP ao mesmo tempo; o Proxies de sessão fixa foi feito para essa necessidade.

Explicamos por que o CAPTCHA aparece em navegadores headless no artigo Puppeteer e CAPTCHA, e as proteções de nova geração que analisam comportamento no artigo Cloudflare Precursor. Para os limites das ferramentas do lado Python, veja Undetected ChromeDriver.

Perguntas frequentes

O uso com fins de segurança e prevenção de fraude é comum. Quando tratado como uma informação capaz de identificar a pessoa, pode entrar no escopo de regulamentações como o GDPR e a LGPD. Os sites são obrigados a explicar em suas políticas de privacidade para qual finalidade essa informação é processada.

A janela anônima muda o fingerprint?

Em grande parte, não. A janela anônima não guarda cookies nem histórico; mas os sinais de tela, fonte, canvas e hardware continuam os mesmos.

VPN ou proxy mudam o fingerprint?

Não. Os dois apenas mudam o endereço IP e, consequentemente, a localização aparente. As informações que o próprio navegador envia sobre si permanecem as mesmas. Explicamos a diferença entre as duas ferramentas no artigo Diferença entre proxy e VPN.

Uma atualização do navegador muda o fingerprint?

Parcialmente. A informação de versão e alguns sinais de API mudam, mas tela, fonte, hardware e fuso horário permanecem os mesmos. Sistemas mais avançados toleram essa mudança parcial e continuam associando ao mesmo dispositivo.

O que um navegador antidetect faz?

Gera um conjunto de fingerprint separado e consistente para cada perfil e isola os perfis entre si. O objetivo não é ocultar os sinais, mas fazer com que cada perfil pareça, internamente, um dispositivo comum e coerente. Quando cada perfil não recebe um IP próprio, esse isolamento fica incompleto.

O fingerprint é mais fraco em dispositivos móveis?

Dispositivos móveis se parecem mais entre si por modelo (mesma tela, mesmo conjunto de fontes), então a entropia de sinais isolados é menor. Porém, comportamento de toque, dados de sensores e sinais de nível de aplicativo compensam essa diferença. Explicamos por que o tráfego móvel é avaliado de forma diferente no artigo Proxies móveis 101.

Em resumo

O fingerprint do navegador é uma forma de identificar o seu dispositivo sem precisar de cookies e é usado em um espectro amplo, da segurança à publicidade. O endereço IP é apenas uma parte desse quadro; o proxy muda o IP, mas não toca no fingerprint. Para parecer confiável, o tipo de IP, a localização e o perfil do navegador precisam ser coerentes entre si e não mudar durante a sessão. Você encontra os tipos de IP adequados para gestão de contas e perfis em nossas soluções de proxy.