What is JA3 and JA3S Fingerprinting?

JA3 and JA3S fingerprinting analyze TLS handshake behavior to identify client and server communication in encrypted traffic. By focusing on connection patterns, they help detect malware, uncover anomalies, and support threat hunting and investigation without accessing payload data.

Definition

JA3 and JA3S fingerprinting are techniques used to identify encrypted network communication by analyzing how TLS connections are initiated and negotiated. Developed by Salesforce in 2017, they focus on connection behavior rather than content and generate unique identifiers based on how the connection is set up.

 

JA3 represents the client, while JA3S represents the server. Together, they help make sense of encrypted communication without needing to access the underlying data. These techniques are widely used in network detection and response (NDR) environments to identify suspicious activity such as malware, unauthorized applications, and command and control communication.

 

 

 

Why JA3 and JA3S Are Important

Encryption protects data but reduces visibility for security teams. JA3 and JA3S address this by shifting analysis from content to behavior, specifically how a connection is made rather than what is sent through it.

 

This matters because IP addresses and domains change often, but the way software connects usually stays the same, making fingerprints a more reliable signal. In the context of David Bianco’s Pyramid of Pain, a framework that ranks how difficult various indicators are for attackers to change, JA3 and JA3S sit high up. Changing an IP costs an attacker nothing. Changing the fundamental way their tool negotiates a connection is significantly harder.

 

 

 

How JA3 Works (Client Side)

When a client connects to a server, it sends a Client Hello message announcing what security settings it supports. JA3 extracts specific fields from this message: TLS version, accepted cipher suites, list of extensions, elliptic curves, and elliptic curve formats. These values are combined in a defined order and processed into a 32-character fingerprint.

 

A good way to think about JA3 is as the modern equivalent of a browser User-Agent string, but for encrypted traffic. Just as a User-Agent identifies what browser is connecting, a JA3 fingerprint reveals the nature of the client, whether that is Chrome, a Python script, or malware like Trickbot, without relying on anything the client declares about itself.

 

 

 

How JA3S Works (Server Side)

After receiving the Client Hello, the server responds with a Server Hello, selecting one option from what the client offered. JA3S extracts the TLS version, chosen cipher suite, and extensions from this response, then processes them into a fingerprint.

 

Crucially, servers respond differently to different clients but consistently to the same client. This means combining JA3 and JA3S into a pair significantly reduces false alarms compared to using either fingerprint alone.

 

 

 

JA3 vs JA3S

JA3 and JA3S capture different parts of a TLS connection. JA3 focuses on how the client initiates the connection, while JA3S reflects how the server responds. Looking at both together provides a more complete view of the interaction.

 

Aspect JA3 JA3S
Focus Client behavior Server behavior
Based on Client Hello Server Hello
Identifies Applications, devices, tools Server configurations
Fields extracted 5 field groups 3 field groups

 

Together, these fingerprints provide both sides of the connection, improving accuracy and reducing ambiguity during analysis.

 

 

 

Use Cases

 

Threat Detection and Malware Identification

JA3 and JA3S are widely used to detect malware and command and control communication. Malware families such as Trickbot use specific connection settings that produce recognizable fingerprints, enabling detection even when traffic is fully encrypted.

 

These techniques are also effective in identifying command and control channels between infected systems and attacker-controlled servers. Even when those servers rotate IP addresses and domains, their connection fingerprints often remain consistent, making JA3 and JA3S pairs a reliable way to track them.

 

 

Threat Hunting and Anomaly Discovery

Analysts use JA3 and JA3S to search for rare or unknown fingerprints across network traffic. These low-frequency or previously unseen values often indicate activity that does not match known applications, making them strong candidates for further investigation.

 

This approach helps surface hidden threats that may not trigger traditional detection methods.

 

 

Application and Behavior Profiling

JA3 helps identify client-side applications, while JA3S provides insight into server configurations. Together, they allow teams to understand what types of software are communicating across the network without relying on installed agents.

 

They are also useful for detecting automated tools. Bots, scanners, and scrapers tend to use distinct connection patterns, making them easier to distinguish from normal user-driven activity.

 

 

Investigation and Forensics

During incident analysis, JA3 and JA3S help reconstruct communication patterns when payload data is unavailable or cannot be inspected. This is especially useful in environments where only network logs are available.

 

By correlating fingerprints across sessions, analysts can trace activity, identify affected systems, and build a clearer picture of how an incident unfolded.

 

 

 

Where JA3 and JA3S Fit in Network Security

JA3 and JA3S fingerprinting are commonly used in network-centric security approaches, including network detection and response (NDR), that focus on analyzing traffic behavior rather than inspecting content. They are particularly relevant in environments where encryption limits traditional visibility and where understanding how systems communicate becomes more important than what is being transmitted.

 

In such environments, these techniques support multiple layers of analysis:

 

  • Detection: Identifying suspicious communication patterns, including malware and command and control traffic, based on consistent connection behavior
  • Hunting: Surfacing rare or unknown fingerprints that do not match expected application behavior
  • Profiling: Understanding which applications and tools are operating on a network without relying on endpoint data
  • Investigation: Reconstructing sessions and correlating activity across multiple connections to understand how an incident unfolded

 

By relying on metadata from TLS handshakes, JA3 and JA3S remain effective even when payload data is encrypted or unavailable. This makes them particularly useful in large-scale or privacy-sensitive environments where decryption is not feasible.

 

Rather than acting as standalone indicators, these fingerprints are most effective when used as part of a broader analytical workflow that combines multiple signals to build context and support decision-making.

 

 

 

Benefits

JA3 and JA3S provide several practical advantages in encrypted traffic analysis.

 

Here’s how:

 

  • Provides visibility into encrypted traffic without decryption
  • Does not rely on IP addresses or domains, which attackers change easily
  • Produces consistent, stable signals that remain valid over time
  • Works at scale since it is based on metadata rather than content
  • Supported natively by widely used security tools including Zeek and Suricata
  • The JA3+JA3S pair significantly reduces false alarms compared to either fingerprint used alone

 

 

 

Best Practices

  • Use the JA3+JA3S pair together rather than either value in isolation
  • Build a baseline of normal connection behavior so deviations stand out
  • Focus on rare or unknown fingerprints, not just known-bad lists
  • Correlate findings with traffic logs, DNS records, and endpoint activity
  • Treat matches as starting points for investigation, not conclusions

 

 

 

What Comes Next: JA4

Modern browsers now introduce random variations into TLS handshakes, and the method JA3 uses to generate its codes has certain limitations, such as sensitivity to minor changes and reduced effectiveness with TLS 1.3.

 

To address these challenges, JA4 produces more consistent fingerprints in the face of browser randomization, is harder to spoof, and supports newer protocols that JA3 was not built to handle.

 

 

 

Conclusion

JA3 and JA3S fingerprinting offer a proven way to analyze encrypted traffic by focusing on how connections are made rather than what is transmitted. JA3 identifies the client, functioning like a User-Agent string for encrypted traffic. JA3S identifies the server. Together, they provide a more precise view of network communication while making evasion significantly harder for attackers.

 

Combined with strong baselines and good investigative practices, and with JA4 continuing to evolve the approach, these techniques ensure that security visibility is not lost as encryption becomes the norm, only shifted from content to behavior.

Related Products

Network detection and response platform for high-stakes enterprise environments
Battle-tested NDR for high stakes environments
Network forensics solution for tracing attacker footprints and breach analysis
Trace Attacker Footprints. Reconstruct Breaches. Uncover the truth in network data.

Related Contents

Read More
Read More
Read More