IP Library Granted Patent US 11,909,760
Granted Patent B2
US 11,909,760 · App. 17/395,968 · Granted Feb 20, 2024

Malware classification and attribution through server fingerprinting using server certificate data

Inventors: Blake Harrell Anderson (Chapel Hill, NC); David McGrew (Poolesville, MD); Subharthi Paul (San Jose, CA); Ivan Nikolaev (Prague, CZ); Martin Grill (Prague, CZ)
Assignee: CISCO TECHNOLOGY, INC.
H04L63/145H04L63/0428H04L63/1408G06N20/00
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 11,909,760
App. No.
17/395,968
Granted
Feb 20, 2024
Kind
B2
Abstract

In one embodiment, a device in a network receives certificate data for an encrypted traffic flow associated with a client node in the network. The device determines one or more data features from the certificate data. The device determines one or more flow characteristics of the encrypted traffic flow. The device performs a classification of an application executed by the client node and associated with the encrypted traffic flow by using a machine learning-based classifier to assess the one or more data features from the certificate data and the one or more flow characteristics of the traffic flow. The device causes performance of a network action based on a result of the classification of the application.

Claims (45)

1. A method comprising:

obtaining, by a device in a network, certificate data of a presently encrypted traffic flow sent from a client node in the network to a remote server, wherein the certificate data of the encrypted traffic flow is passively intercepted by an intermediary device between the client node and the remote server without a man-in-the-middle;

determining, by the device, one or more data features from the certificate data of the encrypted traffic flow;

determining, by the device, one or more flow characteristics of the encrypted traffic flow;

performing, by the device, a classification of an application executed by the client node and associated with the encrypted traffic flow by using a machine learning-based classifier to assess the one or more data features from the certificate data of the encrypted traffic flow and the one or more flow characteristics of the encrypted traffic flow, wherein the machine learning-based classifier assesses the certificate data of the encrypted traffic flow without decrypting the encrypted traffic flow; and

causing, by the device, performance of a network action based on a result of the classification of the application.

2. The method as in claim 1 , wherein the classification indicates that the application is malware.

3. The method as in claim 1 , wherein the network action comprises at least one of: blocking the encrypted traffic flow or sending a notification in the network regarding the classification.

4. The method as in claim 1 , wherein the one or more flow characteristics comprise one or more of: sequence of packet lengths and time (SPLT) data regarding the encrypted traffic flow, sequence of application lengths and time (SALT) data regarding the encrypted traffic flow, byte distribution (BD) data regarding the encrypted traffic flow, a ciphersuite, or a Transport Layer Security (TLS) extension.

5. The method as in claim 1 , wherein the one or more data features from the certificate data comprise one or more of: a subjectAltName entry, a certificate validity time period, or a subject common name identifier.

6. The method as in claim 1 , wherein the machine learning-based classifier is configured to assess one or more of: a length of a subject common name identifier, a character frequency of the subject common name identifier, a certificate validity time period, or a number of subjectAltName entries.

7. The method as in claim 1 , further comprising:

performing, by the device, the classification of the application based in part on an assessment of the one or more data features from the certificate data by a rule-based analyzer.

8. The method as in claim 1 , further comprising:

using, by the device, a training set of one or more data features of a plurality of certificates to train the machine learning-based classifier.

9. The method as in claim 1 , wherein obtaining the certificate data of the encrypted traffic flow comprises:

receiving, by the device, the certificate data of the encrypted traffic flow from the intermediary device that passively intercepts the certificate data of the encrypted traffic flow.

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:

obtain certificate data of a presently encrypted traffic flow sent from a client node in the network to a remote server, wherein the certificate data of the encrypted traffic flow is passively intercepted by an intermediary device between the client node and the remote server without a man-in-the-middle;

determine one or more data features from the certificate data of the encrypted traffic flow;

determine one or more flow characteristics of the encrypted traffic flow;

perform a classification of an application executed by the client node and associated with the encrypted traffic flow by using a machine learning-based classifier to assess the one or more data features from the certificate data of the encrypted traffic flow and the one or more flow characteristics of the encrypted traffic flow, wherein the machine learning-based classifier assesses the certificate data of the encrypted traffic flow without decrypting the encrypted traffic flow; and

cause performance of a network action based on a result of the classification of the application.

11. The apparatus as in claim 10 , wherein the classification indicates that the application is malware.

12. The apparatus as in claim 10 , wherein the network action comprises at least one of: blocking the encrypted traffic flow or sending a notification in the network regarding the classification.

13. The apparatus as in claim 10 , wherein the one or more flow characteristics comprise one or more of: sequence of packet lengths and time (SPLT) data regarding the encrypted traffic flow, sequence of application lengths and time (SALT) data regarding the encrypted traffic flow, byte distribution (BD) data regarding the encrypted traffic flow, a ciphersuite, or a Transport Layer Security (TLS) extension.

14. The apparatus as in claim 10 , wherein the one or more data features from the certificate data comprise one or more of: a subjectAltNarne entry, a certificate validity time period, or a subject common name identifier.

15. The apparatus as in claim 10 , wherein the machine learning-based classifier is configured to assess one or more of: a length of a subject common name identifier, a character frequency of the subject common name identifier, a certificate validity time period, or a number of subjectAltName entries.

16. The apparatus as in claim 10 , wherein the process when executed is further operable to:

perform the classification of the application based in part on an assessment of the one or more data features from the certificate data by a rule-based analyzer.

17. The apparatus as in claim 10 , wherein the process when executed is further operable to:

use a training set of one or more data features of a plurality of certificates to train the machine learning-based classifier.

18. The apparatus as in claim 10 , wherein the apparatus obtains the certificate data of the encrypted traffic flow by receiving the certificate data of the encrypted traffic flow from the intermediary device that passively intercepts the certificate data of the encrypted traffic flow.

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

obtaining, by the device, certificate data of a presently encrypted traffic flow sent from a client node in the network to a remote server, wherein the certificate data of the encrypted traffic flow is passively intercepted by an intermediary device between the client node and the remote server without a man-in-the-middle;

determining, by the device, one or more data features from the certificate data of the encrypted traffic flow;

determining, by the device, one or more flow characteristics of the encrypted traffic flow;

performing, by the device, a classification of an application executed by the client node and associated with the encrypted traffic flow by using a machine learning-based classifier to assess the one or more data features from the certificate data of the encrypted traffic flow and the one or more flow characteristics of the encrypted traffic flow, wherein the machine learning-based classifier assesses the certificate data of the encrypted traffic flow without decrypting the encrypted traffic flow; and

causing, by the device, performance of a network action based on a result of the classification of the application.

20. The tangible, non-transitory, computer-readable medium as in claim 19 , wherein:

the one or more data features from the certificate data comprises one or more of: a subjectAltName entry, a certificate validity time period, or a subject common name identifier, and

the one or more flow characteristics comprise one or more of: sequence of packet lengths and time (SPLT) data regarding the encrypted traffic flow, sequence of application lengths and time (SALT) data regarding the encrypted traffic flow, byte distribution (BD) data regarding the encrypted traffic flow, a ciphersuite, or a Transport Layer Security (TLS) extension.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 6, 2021
From: ANDERSON, BLAKE HARRELL; MCGREW, DAVID; PAUL, SUBHARTHI; NIKOLAEV, IVAN; GRILL, MARTIN
To: CISCO TECHNOLOGY, INC.
Reel/Frame 057104/0907 →
Continuity (3)
Continuation 16869726 · May 8, 2020
Continuation 15353160 · Nov 16, 2016
Related Publication 20210377283A1 · Dec 2, 2021