Fingerprinting JavaScript e Detecço de Bots: Como Websites o Identificam

1,437 visualizações · curtidas · 19 compartilhamentos
Compartilhar em
Por Unled Network 5 de abr de 2026 - 17 min de leitura
JavaScript Fingerprinting e Detecço de Bots: Como Sites o Identificam

Pontos Principais

  • Fingerprinting JavaScript recolhe mais de 50 características do navegador para gerar um identificador único, muito mais resistente que cookies e bem mais difícil de bloquear.
  • Os sinais principais de fingerprinting incluem Canvas, WebGL, AudioContext, fontes, propriedades de tela e dados da API navigator.
  • Sistemas anti-bot combinam fingerprinting JS com Impresso digital de TLS (JA3/JA4) com análise comportamental para detecço de bots com preciso máxima.
  • Navegadores headless (Puppeteer, Playwright) e ferramentas de automaço deixam rastros identificáveis que a impresso digital revela, como APIs ausentes, respostas idênticas e anomalias temporais.
  • É possível falsificar impressões digitais, mas cada vez mais complexo, já que sistemas anti-bot usam verificações de consistência que capturam valores falsificados descombinados.

Sempre que você acessa um website, seu navegador revela silenciosamente dezenas de características únicas, desde a resoluço da tela e modelo da GPU até fontes instaladas, peculiaridades no processamento de áudio e a forma exata como seu navegador renderiza elementos canvas invisíveis. No conjunto, esses sinais compõem uma impresso digital do navegador to exclusiva quanto uma impresso digital humana.

Essa tecnologia está por trás dos sistemas modernos de detecço de bots, prevenço de fraudes e defesas contra automaço. Saber como funciona é fundamental tanto para quem protege um website contra bots quanto para quem quer entender por que certos sistemas de segurança questionam seu tráfego.

O Que É Fingerprinting via JavaScript?

Fingerprinting via JavaScript é uma técnica que usa APIs JavaScript do lado do navegador para coletar características do dispositivo e do ambiente, gerando um identificador único para cada sesso de navegaço. Diferente de cookies (que os usuários conseguem apagar) ou endereços IP (que mudam), as impressões digitais têm:

Dados de singularidade: O projeto Panopticlick da EFF revelou que 83,6% dos navegadores possuem uma impresso única. Ao incluir canvas fingerprinting, a singularidade ultrapassa 95%. Sistemas modernos que usam mais de 50 sinais conseguem alcançar unicidade próxima a 100% em populações típicas de usuários.

Como Funciona a Impresso Digital do Navegador

Um script de fingerprinting normalmente executa três fases:

  1. Coleta: APIs JavaScript consultam propriedades do navegador, objeto navigator, características da tela, renderizaço canvas, capacidades WebGL, processamento de AudioContext, entre outros.
  2. Criptografia: Os valores coletados so combinados e criptografados, normalmente com SHA-256 ou MurmurHash3, gerando uma sequência compacta de impresso digital
  3. Comparaço: O hash é confrontado com impressões já conhecidas, identificando um visitante anterior, uma ferramenta de bot conhecida ou um ambiente falsificado

Principais Sinais de Fingerprinting

Fingerprinting de Canvas

O sinal mais potente para fingerprinting. Um elemento <canvas> oculto desenha textos, formas e gradientes. O resultado pixel a pixel varia conforme a GPU, verso do driver, engine de renderizaço de fontes e implementaço de anti-aliasing. Dois dispositivos diferentes quase nunca produzem a mesma saída de canvas.

Impresso Digital por WebGL

WebGL expõe informações da GPU, como renderizador e fabricante, e gera saídas de renderizaço únicas. A extenso WEBGL_debug_renderer_info identifica o modelo exato da placa gráfica. Quando combinados com testes de renderizaço WebGL, esses dados formam uma impresso digital robusta baseada em hardware.

Impresso Digital por AudioContext

A Web Audio API processa sinais sonoros de forma distinta em cada dispositivo, devido às diferenças de hardware e software. Scripts de impresso digital geram osciladores e analisam a saída para capturar características únicas do processamento de áudio.

Impresso Digital por Fontes

Versões diferentes de sistemas operacionais, pacotes de idioma e aplicações instaladas criam conjuntos únicos de fontes. Ao medir a largura e altura da renderizaço de texto em várias fontes, scripts identificam quais esto instaladas, construindo uma impresso digital baseada em fontes.

Propriedades do Navegador e Tela

SinalO Que RevelaEntropia
navigator.userAgentVerso do navegador, sistema operacional, tipo de dispositivoMédia (fácil de falsificar)
navigator.languageIdioma(s) preferido(s)Baixo-Médio
navigator.hardwareConcurrencyQuantidade de núcleos de CPUBaixo
navigator.deviceMemoryQuantidade de RAM (aproximada)Baixo
screen.width/heightResoluço do ecrãMédio
screen.colorDepthCapacidade de profundidade de corBaixo
navigator.platformCadeia de identificaço do sistema operativoBaixo (descontinuado)
navigator.maxTouchPointsCapacidade tátilBaixo
Intl.DateTimeFormat().resolvedOptions().timeZoneFuso horárioMédio

Sinais Adicionais de Alto Valor

Fingerprinting TLS (JA3/JA4)

O fingerprinting TLS funciona no nível da conexo, antes de qualquer JavaScript ser executado:

Fingerprinting JA3

Desenvolvido pela Salesforce, o JA3 cria um hash dos componentes da mensagem TLS Client Hello: verso SSL, cifras, extensões, curvas elípticas e formatos de ponto EC. Cada cliente HTTP (Chrome, Firefox, Python requests, Go http, curl) produz um hash JA3 único. Isso identifica o software cliente real mesmo quando os headers de user-agent so falsificados.

Fingerprinting JA4

O padro JA4 mais recente melhora o JA3 com um formato mais legível e rastreamento de verso superior. Ele cria uma string de fingerprint como "t13d1715h2_8daaf6152771_b0da82dd1658" que codifica verso TLS, contagem de cifras, contagem de extensões e valores ALPN.

Por que o fingerprinting TLS é devastador para bots: Falsificar um fingerprint TLS exige modificar a biblioteca TLS no nível C/C++, muito mais complexo que alterar strings de user-agent. A maioria dos operadores de bots usa bibliotecas HTTP Python, Go ou Node.js que possuem hashes JA3 distintivos que os identificam instantaneamente como clientes no-navegador.

Como Sistemas Anti-Bot Usam Fingerprinting

Soluções anti-bot modernas como Cloudflare Bot Management, Akamai Bot Manager e DataDome combinam fingerprinting com múltiplas camadas de detecço:

  1. Verificaço de impresso TLS: Confirma se a conexo parte de um navegador legítimo, no de uma biblioteca HTTP
  2. Execuço de JavaScript: Executa scripts de coleta de impresso digital, marcando instantaneamente bots incapazes de rodar JS
  3. Validaço de coerência: Controla se a impresso JS bate com a impresso TLS (por exemplo, se JA3 indica Chrome mas canvas mostra headless, dispara um alerta)
  4. Comparaço com bots conhecidos: Confronta a impresso com banco de dados de assinaturas de ferramentas de bot catalogadas
  5. Camada comportamental: Mescla a pontuaço de impresso com movimento do mouse, temporizaço de cliques e padrões de scroll

Identificando Navegadores Headless

Navegadores headless (Chrome headless, Puppeteer, Playwright) deixam rastros óbvios:

Spoofing de Impresso Digital e Anti-Detecço

Várias ferramentas tentam modificar impressões digitais do navegador:

FerramentaMetodologiaRisco de Detecço
GoLoginChromium personalizado com perfis de impresso digital configuráveisMédio
MultiloginNavegador simulado com personalizaço profunda de impresso digitalMédio
Puppeteer Extra (Stealth)Plugin que corrige rastros detectáveis do PuppeteerMédio-Alto
undetected-chromedriverChromeDriver modificado que contorna detecções comunsMédio-Alto
Extensões de navegadorBloqueador de canvas, falsificaço de WebGLAlto (introduz artefatos detectáveis)
O desafio central da falsificaço: Para alterar a saída de canvas e simular uma GPU diferente, é preciso reproduzir com preciso o pipeline de renderizaço dessa GPU. Sistemas anti-bot testam centenas de micro-variações que so quase impossíveis de falsificar de forma consistente. A inconsistência entre valores falsificados costuma ser mais detectável do que a impresso digital original.

Estratégias de Defesa para Proprietários de Sites

Se você está protegendo seu site contra bots, implemente fingerprinting como parte de uma defesa em camadas:

Questões de Privacidade

A identificaço por impresso digital do navegador traz preocupações sérias com privacidade. Os principais navegadores restringem cada vez mais essas capacidades:

Defenda Seu Site Contra Ataques de Bots

Nossa equipe de segurança implementa detecço avançada de bots, fingerprinting, proteço contra DDoS e configuraço de WAF para websites e aplicações sob ataque.

Telegram: @unlednetwork →    Fale conosco no WhatsApp →

Comentários

Tem uma pergunta ou experiência direta? Participe da conversa. Seu email fica privado.

    Jordan P.

    How long does it typically take to see results?

    Author

    Great question! This is something we see frequently with our clients. The key is consistency rather than a one-time fix.

Participe da conversa

Sem HTML. Comentários moderados.

What You Get

High Trust Score

Pre-established account with positive activity history and cleared standing

Ready to Spend

Skip the warm-up phase - accounts are ready for immediate campaign launch

High Spend Ceiling

Elevated daily and monthly spend limits from day one

30-Day Replacement

Full replacement if account triggers suspension within 30 days

24h Delivery

Credentials delivered within 24 hours of payment confirmation

Dedicated Support

Direct Telegram/WhatsApp line to your account manager

WhatsApp Telegram