Pular para o conteúdo
Glossary 5 min de leitura 928 visualizações

Impressão digital JA3

Conheça as impressões digitais JA3: como funcionam para identificar configurações de cliente TLS e detectar conexões via proxy. Um ponto-chave da segurança moderna.

Security
Impressão digital JA3

Uma impressão digital JA3 é um hash MD5 derivado de campos específicos dentro de uma mensagem TLS Client Hello, usada para identificar de forma única a aplicação ou biblioteca cliente que inicia uma conexão TLS, servindo assim como um método robusto de fingerprinting de cliente TLS e de detecção de proxy.

Entendendo o fingerprinting de cliente TLS

Quando um cliente inicia um handshake TLS, ele envia uma mensagem Client Hello contendo diversos parâmetros necessários para estabelecer uma conexão segura. Esses parâmetros incluem a versão do TLS, uma lista de cipher suites suportadas, extensões, curvas elípticas e formatos de curvas elípticas. A combinação e a ordem específicas desses parâmetros costumam ser únicas para uma determinada aplicação cliente, sistema operacional e biblioteca TLS. Essa assinatura distinta permite identificar o cliente, mesmo que outras informações de identificação (como as strings de user-agent) sejam modificadas ou estejam ausentes.

O que é uma impressão digital JA3?

Desenvolvido pela Salesforce, o JA3 é um método para criar uma impressão digital padronizada da mensagem Client Hello. Ele se concentra em cinco campos-chave do Client Hello:

  1. Versão do TLS: A versão mais alta do TLS que o cliente suporta.
  2. Cipher Suites: Uma lista separada por vírgulas das cipher suites que o cliente suporta, ordenada por preferência.
  3. Extensões TLS: Uma lista separada por vírgulas das extensões TLS que o cliente inclui, ordenada por tipo.
  4. Curvas Elípticas: Uma lista separada por vírgulas das curvas elípticas suportadas.
  5. Formatos de Curva Elíptica: Uma lista separada por vírgulas dos formatos de curva elíptica suportados.

Esses cinco valores são concatenados em uma única string, usando "," como separador das listas e "-" como separador entre os cinco campos principais. Essa string concatenada é então processada com MD5 para produzir a impressão digital JA3 final de 32 caracteres. O uso do MD5 é por brevidade e consistência, não por segurança criptográfica.

Exemplo de cálculo de JA3

Considere um Client Hello hipotético com os seguintes parâmetros:

  • Versão do TLS: 0x0303 (TLS 1.2)
  • Ciphers: 0xc02c,0xc02b,0xc030,0xc02f,0x009c,0x0095
  • Extensões: 0x0000,0x000b,0x000a,0x0012,0x0023,0x0017,0x0010,0x0035,0xff01,0x000d,0x0005
  • Curvas Elípticas: 0x001d,0x0023,0x0024
  • Formatos de Curva Elíptica: 0x0000,0x0001,0x0002

A string concatenada seria:
769,49164-49163-49168-49167-156-149,0-11-10-18-35-23-16-53-65281-13-5,29-35-36,0-1-2

O hash MD5 dessa string seria a impressão digital JA3, por exemplo, e66a3d11b302c086d0b604e769494441.

JA3 na detecção de proxy

Proxies, em especial os forward proxies e aqueles que fazem interceptação TLS, frequentemente modificam ou encerram e reiniciam conexões TLS. Esse processo altera inerentemente a mensagem Client Hello, resultando em uma impressão digital JA3 diferente da do cliente original.

Como os proxies influenciam as impressões digitais JA3

  • Forward proxies (HTTPS): Quando um cliente se conecta a um proxy HTTPS, o proxy estabelece uma nova conexão TLS com o servidor de destino. A mensagem Client Hello observada pelo servidor de destino tem origem no software do proxy, e não no cliente final. Como consequência, a impressão digital JA3 reflete a stack TLS do proxy (por exemplo, Squid, Nginx, HAProxy ou software de proxy customizado) em vez do navegador ou aplicação realmente usados pelo usuário final. Essa discrepância é um forte indício de uso de proxy.

  • Proxies de interceptação TLS (MITM): Esses proxies encerram explicitamente a conexão TLS vinda do cliente e estabelecem uma nova conexão TLS, separada, com o destino. Isso é comum em ambientes corporativos para inspeção ou por parte de agentes maliciosos. O Client Hello enviado ao servidor de destino é gerado pelo proxy de interceptação, resultando em uma impressão digital JA3 característica do software de interceptação.

  • Proxies SOCKS: Proxies SOCKS podem operar em um nível mais baixo, tunelando conexões TCP brutas. Se um proxy SOCKS simplesmente encaminha o fluxo TCP sem modificar o handshake TLS, o Client Hello original do cliente pode passar intacto, e a impressão digital JA3 permaneceria a mesma. No entanto, muitas implementações SOCKS ou configurações específicas ainda podem encerrar e reiniciar o TLS ou alterar informações de cabeçalho, levando a um JA3 modificado.

Identificando proxies com JA3

Ao analisar as mensagens Client Hello recebidas, um servidor pode:

  1. Detectar discrepâncias: Comparar a impressão digital JA3 com outros indicadores do cliente, como o cabeçalho User-Agent. Um User-Agent que afirma ser Chrome no Windows, mas apresenta uma impressão digital JA3 conhecida por pertencer a um servidor proxy ou a uma biblioteca de scraping específica, indica uso de proxy ou spoofing.
  2. Categorizar o tráfego: Identificar tráfego originado de serviços de proxy conhecidos, data centers ou botnets que usam stacks TLS consistentes.
  3. Bloquear/limitar: Implementar políticas para bloquear ou limitar conexões de impressões digitais JA3 específicas associadas a tráfego indesejado (por exemplo, scrapers, bots ou sistemas comprometidos).

JA3 vs. JA3S

Enquanto o JA3 gera a impressão digital do Client Hello do cliente, o JA3S (JA3 Server) gera a impressão digital da mensagem Server Hello do servidor. O JA3S se concentra na versão do TLS, na cipher suite e nas extensões do Server Hello. Embora seja útil para identificar implementações TLS do lado servidor, é menos diretamente aplicável à detecção de proxy no cliente.

Limitações e técnicas de evasão

Apesar de poderoso, o fingerprinting JA3 não é infalível:

  • Spoofing: Clientes sofisticados, bots ou serviços de proxy podem ser configurados para imitar intencionalmente impressões digitais JA3 específicas, falsificando de forma eficaz um navegador legítimo. Isso exige controle sobre os parâmetros do Client Hello da biblioteca TLS.
  • Atualizações de bibliotecas TLS: Atualizações em bibliotecas TLS (por exemplo, OpenSSL, NSS, BoringSSL) ou em sistemas operacionais podem alterar os parâmetros do Client Hello, mudando a impressão digital JA3 de um cliente que, no restante, é idêntico. Isso exige monitoramento e atualização contínuos das bases de assinaturas JA3.
  • Diversidade de bibliotecas: Diferentes bibliotecas de cliente HTTP (por exemplo, requests do Python, net/http do Go, https do Node.js) e suas implementações TLS subjacentes (por exemplo, OpenSSL, GnuTLS, BoringSSL, crypto/tls do Go) produzirão naturalmente impressões digitais JA3 distintas.

Variações comuns de impressão digital JA3

| Tipo de cliente | Características típicas do JA3
O JA3 é uma ferramenta poderosa para identificar e detectar diversos tipos de tráfego de clientes, particularmente no contexto de serviços de proxy e detecção de bots. Saber interpretar e mitigar impressões digitais JA3 é fundamental tanto para provedores quanto para consumidores de proxy.

Atualizado: 04.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.