JA3

sigla

segurançacriptografia

Significa: JA3 TLS client fingerprint

Uma impressão digital de um cliente TLS construída a partir dos campos do seu ClientHello.

O JA3 transforma um conjunto de campos do ClientHello - versão do TLS, lista de cifras, extensões - em uma assinatura curta (um hash MD5) que muitas vezes identifica o software cliente ou a família de malware, independentemente do IP. O JA4 é seu sucessor mais robusto.

O JA3 transforma um Client Hello de TLS numa impressão digital curta ao aplicar hash sobre a lista ordenada do que o cliente oferece: versão, conjuntos de cifras, extensões, curvas e formatos de ponto. Softwares diferentes fazem escolhas diferentes em ordem diferente, então o hash identifica a implementação sem descriptografar absolutamente nada.

Essa propriedade explica sua difusão. Um defensor consegue reconhecer uma família de malware conhecida pelo handshake, mesmo dentro de tráfego criptografado, e consegue sinalizar um cliente que se diz navegador no user agent enquanto negocia como uma biblioteca de script. O sinal é metadado, e não conteúdo, que é exatamente o que o torna utilizável onde a inspeção é impossível ou indesejada.

Seus limites merecem a mesma ênfase. Uma impressão digital identifica software, não intenção, então uma correspondência é uma pista, não um veredito, e ferramentas legítimas compartilham hashes com outras desagradáveis. Atacantes aprenderam a imitar handshakes de navegador deliberadamente, o que é simples quando se conhece o alvo. E bibliotecas de TLS passaram a aleatorizar a ordem das extensões, quebrando a premissa em que a técnica se apoia, e é por isso que existe o JA4 e por que tratar uma impressão digital como identidade, e não como indício, envelhece mal.

Também conhecido como: ja3, JA3 fingerprint

Todos os verbetes do glossário