Pular para o conteúdo
Glossary 9 min de leitura 933 visualizações

Fingerprinting de navegador

Conheça o fingerprinting de navegador, método discreto que sites usam para rastrear você online. Descubra como proteger sua identidade digital.

Browser Security
Fingerprinting de navegador

O fingerprinting de navegador é um método de rastrear usuários online coletando atributos únicos e não relacionados ao IP do dispositivo e da configuração do navegador, para criar um perfil persistente e identificável. Essa técnica permite que sites e anunciantes identifiquem usuários individuais em sessões diferentes, mesmo quando métodos tradicionais de rastreamento, como cookies, estão bloqueados ou o endereço IP está mascarado por serviços como proxies.

O que é fingerprinting de navegador?

O fingerprinting de navegador funciona agregando inúmeros pontos de dados aparentemente inofensivos disponíveis no navegador e no sistema operacional do usuário. Isoladamente, esses pontos de dados (por exemplo, resolução de tela, fontes instaladas, string do user-agent) não são únicos. No entanto, a combinação específica deles costuma formar uma assinatura altamente distintiva, muito parecida com uma impressão digital humana. Essa assinatura digital pode então ser usada para rastrear a atividade do usuário pela internet, ligando sessões de navegação distintas ao mesmo dispositivo e usuário. O objetivo principal é estabelecer rastreamento e identificação persistentes, contornando medidas criadas para reforçar a privacidade, como limpar cookies, usar o modo anônimo ou alternar endereços IP por meio de servidores proxy.

Como funciona o fingerprinting de navegador

Sites e scripts de rastreamento usam JavaScript e outras APIs web para consultar características específicas do navegador e do sistema operacional. Essas características são então combinadas e transformadas em hash para gerar um identificador único. A eficácia do fingerprinting vem do enorme número de combinações possíveis desses atributos, o que torna estatisticamente improvável que dois usuários tenham um conjunto idêntico de características, a menos que haja contramedidas específicas em uso.

Principais pontos de dados usados no fingerprinting:

  • String do user-agent: essa string traz detalhes sobre tipo e versão do navegador, sistema operacional e arquitetura de hardware. Sozinha não é única, mas contribui para o perfil geral.
  • Resolução de tela e profundidade de cor: são coletadas as dimensões do display (por exemplo, 1920x1080), a proporção de pixels (devicePixelRatio) e o número de cores que a tela pode exibir (screen.colorDepth).
  • Fontes instaladas: os sites conseguem detectar quais fontes estão instaladas no sistema do usuário tentando renderizar texto em várias fontes comuns e incomuns e medindo suas dimensões. A combinação única de fontes instaladas é um identificador forte.
  • Canvas fingerprinting: essa técnica instrui o navegador a renderizar um gráfico ou texto oculto em um elemento HTML <canvas>. Por causa de diferenças sutis de GPU, drivers gráficos, sistema operacional e mecanismos de renderização do navegador, a saída exata em nível de pixel dessa imagem varia levemente entre sistemas diferentes. Os dados da imagem são então extraídos e transformados em hash para criar um identificador único.
  • WebGL fingerprinting: semelhante ao Canvas fingerprinting, o WebGL usa os recursos de renderização gráfica 3D do navegador. Ele consulta o fabricante da GPU, o renderizador e capacidades específicas. Pequenas variações de hardware, drivers e pilhas de software geram saídas únicas ao renderizar cenas 3D complexas.
  • Audio fingerprinting: esse método gera um sinal de áudio curto (por exemplo, um tom específico) e o processa pela pilha de áudio do navegador. Diferenças no hardware de áudio, nos drivers e no processamento de áudio do sistema operacional podem resultar em uma saída de áudio única, que depois é transformada em hash.
  • Plugins e extensões do navegador: a lista de plugins instalados (por exemplo, visualizadores de PDF, hoje menos comuns) e às vezes até extensões pode ser enumerada, aumentando a unicidade.
  • Concorrência de hardware: o número de núcleos lógicos de processador disponíveis para o navegador (navigator.hardwareConcurrency).
  • Memória do dispositivo: a quantidade aproximada de memória do dispositivo em gigabytes (navigator.deviceMemory).
  • Configurações de idioma: o cabeçalho HTTP Accept-Language e a propriedade navigator.language indicam o idioma preferido do usuário.
  • Fuso horário: o deslocamento do fuso horário local do usuário em relação ao UTC.
  • Cabeçalhos HTTP: outros cabeçalhos HTTP, como DNT (Do Not Track), podem fornecer pontos de dados adicionais, ainda que menos únicos.
  • Exposição do IP local via WebRTC: embora não seja estritamente um atributo de fingerprinting, o WebRTC pode, em algumas configurações, revelar os endereços IP local e público reais do usuário, mesmo atrás de um proxy ou VPN. Navegadores modernos já implementaram mitigações para isso.

Por que o fingerprinting de navegador é uma ameaça

O fingerprinting de navegador impõe desafios significativos à privacidade e ao anonimato online:

  • Rastreamento persistente: permite rastrear usuários pela internet independentemente de mudanças de IP, bloqueio de cookies ou uso de modo anônimo. Isso reduz a eficácia de muitas ferramentas comuns de privacidade.
  • Erosão da privacidade: organizações podem construir perfis detalhados de comportamento, interesses e dados demográficos sem consentimento explícito, gerando preocupações com agregação de dados e vigilância.
  • Publicidade direcionada e discriminação de preços: perfis derivados de fingerprints podem ser usados para publicidade altamente segmentada. Em alguns casos, isso leva à discriminação de preços, em que usuários veem preços diferentes para os mesmos produtos ou serviços com base no perfil inferido (por exemplo, poder aquisitivo ou localização presumidos).
  • Medidas antibot e controle de acesso: embora muitas vezes usado para fins legítimos de segurança (por exemplo, detectar fraude ou botnets), o fingerprinting também pode restringir o acesso de usuários legítimos que usam ferramentas de privacidade.
  • Contornar proxies: para quem usa serviços de proxy para mascarar o endereço IP, o fingerprinting de navegador pode anular boa parte do anonimato pretendido, fornecendo um identificador persistente que liga sessões mesmo com IP rotativo.

Estratégias de proteção contra fingerprinting de navegador

Proteger-se contra o fingerprinting de navegador exige uma abordagem em camadas, já que nenhuma solução isolada oferece imunidade completa.

Serviços de proxy e suas limitações

Serviços de proxy são essenciais para mascarar seu endereço IP, o que impede rastreamento baseado em IP e geolocalização. No entanto, um proxy não altera os atributos internos do seu navegador ou sistema operacional. Portanto, mesmo com o IP oculto, a impressão digital única do seu navegador continua visível para os sites. O proxy é um componente fundamental do anonimato online, mas precisa ser complementado por outras contramedidas de fingerprinting.

Configuração do navegador e práticas de uso

  • Use navegadores focados em privacidade:
    • Tor Browser: projetado especificamente para fazer todos os usuários parecerem o mais idênticos possível, padronizando muitos atributos de fingerprinting. Também roteia o tráfego pela rede Tor para anonimato de IP.
    • Brave Browser: inclui bloqueio nativo de anúncios e rastreadores e, por padrão, randomiza ou bloqueia muitos vetores de fingerprinting.
    • Firefox com privacy.resistFingerprinting: ativar privacy.resistFingerprinting no about:config do Firefox faz o navegador apresentar uma impressão digital genérica. Isso inclui padronizar a resolução de tela via "letterboxing", reduzir as informações disponíveis nos objetos navigator e desativar certas APIs.
    • Navegadores baseados em Chromium com hardening: alguns forks especializados do Chromium focam em privacidade reforçada e costumam incorporar defesas contra fingerprinting.
  • Desativar JavaScript (seletivamente): a maioria das técnicas sofisticadas de fingerprinting depende de JavaScript. Desativá-lo reduz bastante a superfície de ataque, mas quebra funcionalidades em muitos sites. Use extensões como NoScript para habilitar JavaScript apenas em domínios confiáveis.
  • Bloquear cookies e armazenamento de terceiros: embora não trate diretamente do fingerprinting, bloquear cookies de terceiros e outros mecanismos de armazenamento persistente (localStorage, sessionStorage, IndexedDB) impede o rastreamento tradicional e reduz a pegada geral de dados.
  • Falsificar o user-agent: é possível alterar manualmente sua string de user-agent, mas isso costuma ser ineficaz isoladamente. Os sites detectam inconsistências se outros atributos do navegador (por exemplo, resolução de tela, fontes instaladas) não corresponderem ao user-agent falsificado.
  • Bloqueio de Canvas/WebGL: configure seu navegador ou use extensões para bloquear ou randomizar a saída das APIs Canvas e WebGL. O resistFingerprinting do Firefox já inclui mitigações para elas.
  • Limitar o acesso a APIs: desative ou restrinja o acesso a certas APIs do navegador (por exemplo, Battery Status API, WebRTC se não for necessário e seu navegador não oferecer mitigações robustas).
  • Limpar os dados do navegador com regularidade: embora menos eficaz contra fingerprinting persistente, limpar cookies, cache e dados de sites com frequência ajuda a evitar outras formas de rastreamento e reduz a retenção de dados.

Extensões de navegador

  • uBlock Origin: além de bloquear anúncios, o uBlock Origin bloqueia muitos scripts e requisições de rede de domínios de rastreamento conhecidos, reduzindo a quantidade de dados disponíveis para fingerprinting.
  • CanvasBlocker: criado especificamente para impedir ou falsificar o fingerprinting de Canvas e WebGL, alterando a saída dessas APIs.
  • Privacy Badger: aprende a identificar e bloquear rastreadores invisíveis com base em seu comportamento, ajudando a reduzir o rastreamento entre sites.
  • NoScript: oferece controle granular sobre JavaScript, plugins e outros conteúdos executáveis por site, permitindo desativar scripts que contribuem para o fingerprinting.

Medidas no nível do sistema operacional

  • Máquinas virtuais (VMs): usar uma instância nova de máquina virtual para navegação sensível oferece um ambiente consistente e isolado. Redefinir ou excluir a VM após o uso garante uma impressão digital nova e genérica nas sessões seguintes.
  • Ambientes de navegação dedicados: sistemas operacionais como o Tails OS são projetados para anonimato máximo, aplicando medidas rígidas de privacidade e roteando todo o tráfego de internet pela rede Tor.

Técnicas avançadas

  • Randomizar atributos do navegador: usuários avançados ou ferramentas especializadas podem tentar randomizar ativamente vários atributos do navegador (por exemplo, alterar levemente a saída do canvas, rotacionar strings de user-agent, forjar resoluções de tela). Isso é complexo e exige implementação cuidadosa para não criar uma impressão digital "inconsistente" que, por si só, possa ser detectada como tentativa de evadir rastreamento.

Comparação de resistência ao fingerprinting de navegador

Recurso/Navegador Tor Browser Brave Browser Firefox (resistFingerprinting) Chrome/Edge padrão
Mascaramento de IP Nativo (Tor) Não (requer VPN/proxy) Não (requer VPN/proxy) Não (requer VPN/proxy)
Spoofing de Canvas Sim Sim Sim Não
Spoofing de WebGL Sim Sim Sim Não
Enumeração de fontes Padronizada Mitigada Mitigada Total
User-Agent Padronizado Padrão Padronizado Total
Resolução de tela Letterboxing Padrão Letterboxing Total
Controle de JavaScript Sim (NoScript) Parcial Parcial Total
Resistência geral Alta (meta de projeto) Média-alta Média-alta Baixa

Exemplo de código: acesso a dados de fingerprinting em JavaScript

Os trechos de JavaScript a seguir ilustram como os sites acessam atributos comuns do navegador usados para fingerprinting.

// Acessando propriedades do objeto navigator
console.log("User Agent:", navigator.userAgent);
console.log("Platform:", navigator.platform);
console.log("Language:", navigator.language);
console.log("Hardware Concurrency (CPU cores):", navigator.hardwareConcurrency);
console.log("Device Memory (GB):", navigator.deviceMemory || 'N/A');

// Acessando propriedades do objeto screen
console.log("Screen Resolution:", screen.width + "x" + screen.height);
console.log("Color Depth:", screen.colorDepth);
console.log("Pixel Ratio:", window.devicePixelRatio);

// Acessando informações de fuso horário
console.log("Time Zone Offset (minutes from UTC):", new Date().getTimezoneOffset());

// Exemplo conceitual de fingerprinting de Canvas
function getCanvasFingerprint() {
    const canvas = document.createElement('canvas');
    const ctx = canvas.getContext('2d');
    canvas.width = 200;
    canvas.height = 20;

    // Desenha um texto com estilos específicos
    ctx.textBaseline = 'top';
    ctx.font = '14px Arial';
    ctx.fillStyle = '#f60';
    ctx.fillRect(125, 1, 62, 20);
    ctx.fillStyle = '#069';
    ctx.fillText('Browser Fingerprint Test', 2, 15);
    ctx.fillStyle = 'rgba(102, 204, 0, 0.7)';
    ctx.fillText('Browser Fingerprint Test', 4, 17);

    // Retorna a data URL do conteúdo do canvas, que varia conforme a renderização
    return canvas.toDataURL();
}
// Para não registrar uma string muito longa, mostramos apenas parte dela, conceitualmente:
// console.log("Canvas Fingerprint (partial data URL):", getCanvasFingerprint().substring(0, 100) + "...");
Atualizado: 03.03.2026
Voltar à categoria

Leia também

Glossary 3 min

O que é um proxy móvel? Proxies 4G/5G explicados

Um proxy móvel roteia o tráfego através de um dispositivo 4G/5G real, te dando um IP de operadora compartilhado por milhares de usuários reais — o tipo mais difícil de bloquear. Veja como funcionam e quando usá-los.

Glossary 3 min

O que é um proxy ISP? Proxies residenciais estáticos explicados

Um proxy ISP é um IP estático hospedado em datacenter mas registrado em um ISP residencial — confiança residencial com velocidade de datacenter e IP fixo. Veja como funcionam e quando usá-los.

Glossary 3 min

Proxy HTTP vs HTTPS: qual é a diferença?

Um proxy HTTP pode ler seu tráfego web; um proxy HTTPS o tunela criptografado via CONNECT. Veja a diferença real, o que o proxy consegue ver e qual usar.

Glossary 4 min

O que é um proxy? Guia completo para iniciantes

Um servidor proxy é um intermediário que esconde seu IP real roteando o tráfego por outro IP. Veja como os proxies funcionam, os principais tipos e como escolher o certo.

Glossary 4 min

SOCKS5 vs proxy HTTP: diferenças, velocidade e quando usar cada um

Proxies SOCKS5 e HTTP resolvem problemas diferentes. Um proxy HTTP entende tráfego web e consegue cacheá-lo ou filtrá-lo; o SOCKS5 encaminha às cegas qualquer conexão TCP/UDP — torrents, jogos, e-mail, não só navegação. Nenhum dos dois criptografa o tráfego sozinho. Veja exatamente quando cada um ganha.

Glossary 1 min

CDN e proxies: como funcionam

CDN e proxies — como funcionam juntos — um termo da área de proxies e tecnologias de rede.

Experimente nossos proxies

20,000+ proxies em 100+ países do mundo

support_agent
GProxy Support
Usually replies within minutes
Hi there!
Send us a message and we'll reply as soon as possible.