How to defend against Account Takeovers
Learn about account takeover threats, protection strategies, and detection methods to secure your digital accounts and prevent unauthorised access.
JA3 is a method for creating a fingerprint of a client's TLS implementation based on the parameters in its initial Client Hello
packet. When a client (like a browser or a script) initiates a secure connection, it sends a Client Hello
message that advertises its capabilities, such as the TLS version, cipher suites it supports, extensions, and elliptic curves.
JA3 works by concatenating the decimal values of these fields in a specific order and then generating an MD5 hash of the resulting string.
JA3 = MD5(TLSVersion,Ciphers,Extensions,EllipticCurves,EllipticCurvePointFormats)
This 32-character hash is the JA3 fingerprint. Different clients (e.g., Chrome on Windows, a Python requests
script, a piece of malware) will have different TLS implementations, resulting in a unique JA3 fingerprint. Security tools use this to identify and block malicious clients, as malware often has a different, and more static, JA3 hash than a standard web browser.
While powerful, JA3 has some limitations that attackers have learned to exploit:
JA4 is a suite of TLS fingerprinting methods designed by the same creators as JA3 to address these limitations. It's not a single fingerprint but a collection of related fingerprints that provide more context and are more resilient to evasion. The main components are JA4, JA4S (for the server side), and JA4X (for certificate data). Here, we'll focus on the client-side JA4.
The JA4 fingerprint is a string composed of three distinct parts, separated by underscores.
JA4 = Protocol_CipherCount+CipherList_ExtensionCount+ExtensionList_SignatureAlgorithms
Let's break it down:
Part 1: Protocol and TLS Version (t
or q
)
t
for TLS 1.2 and below.q
for TLS 1.3.t12
for TLS 1.2, q13
for TLS 1.3).Part 2: Cipher Suites (Sorted)
_
.Part 3: Extensions and Signature Algorithms
_
._
.A typical JA4 fingerprint for a Chrome browser might look like this:
t13_17_15ae45e35b_13_22a2da45a2_0017
This is far more readable and useful than a simple MD5 hash. You can immediately see it's a TLS 1.3 client offering 17 ciphers and 13 extensions.
The JA4 suite also introduces JA4+, which combines the JA4 network fingerprint with application-layer data from the HTTP request, such as:
This creates a much richer fingerprint that links the underlying TLS implementation to the specific application behavior, making it significantly harder for malware to impersonate a legitimate browser.
Feature | JA3 | JA4 |
---|---|---|
Format | Single 32-character MD5 hash | Multi-part, human-readable string |
Cipher Suite Order | Sensitive to order (problematic for Go) | Insensitive to order (solves the randomization problem) |
Granularity | Opaque; no insight into the components | Transparent; shows protocol, counts, and hashes of individual parts |
Extensibility | Limited | Part of a larger suite (JA4S, JA4X, JA4+) that adds server-side, certificate, and application data |
Resilience | Can be brittle and easy to change | More robust and harder for attackers to mimic |
JA4 is a significant advancement in TLS fingerprinting. By providing a more granular, readable, and resilient fingerprint, it gives security teams a much more powerful tool for identifying malicious clients, tracking threat actors, and defending against sophisticated botnets and malware. As it sees wider adoption, it will raise the bar for attackers and improve the state of network threat detection.
Learn about account takeover threats, protection strategies, and detection methods to secure your digital accounts and prevent unauthorised access.
An overview of Account Takeover Attacks
A step-by-step breakdown of how credential stuffing attacks are carried out, from obtaining stolen credentials to bypassing defenses and taking over accounts.
An introduction to Anycast DNS
A quick description about what an Apex Domain is.
Learn the essential best practices for managing and rotating API keys to enhance security, prevent unauthorized access, and minimize the impact of key compromise.
© PEAKHOUR.IO PTY LTD 2025 ABN 76 619 930 826 All rights reserved.