IP Library Granted Patent US 12684008
Granted Patent B2
US 12684008 · App. 18/441,414 · Granted Jul 14, 2026

Analyzing encrypted traffic behavior using contextual traffic data

Inventors: Jan Kohout (Roudnice Nad Labem, CZ); Blake Harrell Anderson (Chapel Hill, NC); Martin Grill (Prague, CZ); David McGrew (Poolesville, MD); Martin Kopp (Beroun, CZ); Tomas Pevny (Praha-Modrany, CZ)
Assignee: Cisco Technology, Inc.
H04L63/1441G06N20/00H04L41/0686H04L47/2441H04L63/0428H04L63/1416H04L63/1425H04L63/145H04L63/168G06N20/20
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12684008
App. No.
18/441,414
Granted
Jul 14, 2026
Kind
B2
Abstract

In one embodiment, a device in a network detects an encrypted traffic flow associated with a client in the network. The device captures contextual traffic data regarding the encrypted traffic flow from one or more unencrypted packets associated with the client. The device performs a classification of the encrypted traffic flow by using the contextual traffic data as input to a machine learning-based classifier. The device generates an alert based on the classification of the encrypted traffic flow.

Claims (39)

1 . A method, comprising:

detecting, at a device in a network, an encrypted traffic flow comprising one or more encrypted packets sent by a client in the network;

capturing, at the device, one or more initial packets of the encrypted traffic flow sent by the client, wherein at least one of the one or more initial packets is a packet captured as part of a local context and is determined based on information associated with a request by the client to initiate the encrypted traffic flow, wherein the local context comprises one or more packets from one or more additional traffic flows associated with the client that are distinct from the encrypted traffic flow;

performing, by the device, a classification of the encrypted traffic flow by using the one or more initial packets from both the encrypted traffic flow and the one or more additional traffic flows as input to a machine learning-based classifier, wherein the machine learning-based classifier uses information from the one or more additional traffic flows to characterize the encrypted traffic flow; and

generating, by the device, an alert based on the classification of the encrypted traffic flow.

2 . The method as in claim 1 , wherein the machine learning-based classifier is trained using sample contextual traffic data for encrypted traffic flows that are known to be either benign or malicious.

3 . The method as in claim 1 , wherein the one or more initial packets comprise one or more HTTP Secure (HTTPS) packets.

4 . The method as in claim 1 , wherein capturing the one or more initial packets of the encrypted traffic flow is based on a predefined fixed-size set of packets: 1) sent sequentially before or after a request packet of the encrypted traffic flow, 2) sent by the client within a predefined timespan of the request packet of the encrypted traffic flow, or 3) associated with a predefined micro-activity performed by the client.

5 . The method as in claim 4 , wherein the predefined fixed-size set of packets defines a fixed number of requests issued by the client sequentially before or after a request packet of the encrypted traffic flow.

6 . The method as in claim 4 , wherein the predefined timespan defines a window within which the request packet of the encrypted traffic flow and at least one other request packet are issued by the client.

7 . The method as in claim 4 , wherein the predefined micro-activity represents an activity performed by a user of the client.

8 . The method as in claim 1 , wherein capturing the one or more initial packets of the encrypted traffic flow comprises:

extracting, by the device, header information from the one or more initial packets sent by the client; and

constructing, by the device, a feature vector for input to the machine learning-based classifier based on the header information that is extracted.

9 . The method as in claim 8 , wherein the header information is extracted from one or more of: a content-type header field, a user-agent header field, an accept-language header field, a server header field, or a status-code header field.

10 . An apparatus, comprising:

one or more network interfaces to communicate with a network;

a processor coupled to the one or more network interfaces and configured to execute one or more processes; and

a memory configured to store a process that is executable by the processor, the process when executed operable to:

detect an encrypted traffic flow comprising one or more encrypted packets sent by a client in the network;

capture one or more initial packets of the encrypted traffic flow sent by the client, wherein at least one of the one or more initial packets is a packet captured as part of a local context and is determined based on information associated with a request by the client to initiate the encrypted traffic flow, wherein the local context comprises one or more packets from one or more additional traffic flows associated with the client that are distinct from the encrypted traffic flow;

perform a classification of the encrypted traffic flow by using the one or more initial packets from both the encrypted traffic flow and the one or more additional traffic flows as input to a machine learning-based classifier, wherein the machine learning-based classifier uses information from the one or more additional traffic flows to characterize the encrypted traffic flow; and

generate an alert based on the classification of the encrypted traffic flow.

11 . The apparatus as in claim 10 , wherein the machine learning-based classifier is trained using sample contextual traffic data for encrypted traffic flows that are known to be either benign or malicious.

12 . The apparatus as in claim 10 , wherein the one or more initial packets comprise one or more HTTP Secure (HTTPS) packets.

13 . The apparatus as in claim 10 , wherein capturing the one or more initial packets of the encrypted traffic flow is based on a predefined fixed-size set of packets: 1) sent sequentially before or after a request packet of the encrypted traffic flow, 2) sent by the client within a predefined timespan of the request packet of the encrypted traffic flow, or 3) associated with a predefined micro-activity performed by the client.

14 . The apparatus as in claim 13 , wherein the predefined fixed-size set of packets defines a fixed number of requests issued by the client sequentially before or after a request packet of the encrypted traffic flow.

15 . The apparatus as in claim 13 , wherein the predefined timespan defines a window within which the request packet of the encrypted traffic flow and at least one other request packet are issued by the client.

16 . The apparatus as in claim 13 , wherein the predefined micro-activity represents an activity performed by a user of the client.

17 . The apparatus as in claim 10 , wherein capturing the one or more initial packets of the encrypted traffic flow comprises:

extracting header information from the one or more initial packets sent by the client; and

constructing a feature vector for input to the machine learning-based classifier based on the header information that is extracted.

18 . The apparatus as in claim 17 , wherein the header information is extracted from one or more of: a content-type header field, a user-agent header field, an accept-language header field, a server header field, or a status-code header field.

19 . A tangible, non-transitory, computer-readable medium that stores program instructions that cause a device in a network to execute a process comprising:

detecting, at the device, an encrypted traffic flow comprising one or more encrypted packets sent by a client in the network;

capturing, at the device, one or more initial packets of the encrypted traffic flow sent by the client, wherein at least one of the one or more initial packets is a packet captured as part of a local context and is determined based on information associated with a request by the client to initiate the encrypted traffic flow, wherein the local context comprises one or more packets from one or more additional traffic flows associated with the client that are distinct from the encrypted traffic flow;

performing, by the device, a classification of the encrypted traffic flow by using the one or more initial packets from both the encrypted traffic flow and the one or more additional traffic flows as input to a machine learning-based classifier, wherein the machine learning-based classifier uses information from the one or more additional traffic flows to characterize the encrypted traffic flow; and

generating, by the device, an alert based on the classification of the encrypted traffic flow.

20 . The tangible, non-transitory, computer-readable medium as in claim 19 , wherein capturing the one or more initial packets of the encrypted traffic flow is based on a predefined fixed-size set of packets: 1) sent sequentially before or after a request packet of the encrypted traffic flow, 2) sent by the client within a predefined timespan of the request packet of the encrypted traffic flow, or 3 ) associated with a predefined micro-activity performed by the client.