IP Library Granted Patent US 10,686,831
Granted Patent B2
US 10,686,831 · App. 15/353,160 · Granted Jun 16, 2020

Malware classification and attribution through server fingerprinting using server certificate data

Inventors: Blake Harrell Anderson (San Jose, CA); David McGrew (Poolesville, MD); Subharthi Paul (Fremont, CA); Ivan Nikolaev (Praha-Vinohrady, 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 10,686,831
App. No.
15/353,160
Filed
Nov 16, 2016
Granted
Jun 16, 2020
Kind
B2
Art Unit
2435
USPC
726/23
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 (42)

1. A method comprising:

obtaining, by a device in a network, telemetry data regarding an encrypted traffic flow, the encrypted traffic flow passively intercepted in the network and associated with a client node in the network, wherein the telemetry data comprises certificate data captured from the encrypted traffic flow, wherein the device passively intercepts the telemetry data without a man-in-the-middle;

determining, by the device, one or more data features from the certificate data;

determining, by the device, one or more flow characteristics of the intercepted encrypted traffic flow from the telemetry data;

performing, by the device, a classification of an application executed by the client node and associated with the intercepted 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, wherein the machine learning 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 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 traffic flow, sequence of application lengths and time (SALT) data regarding the traffic flow, byte distribution (BD) data regarding the 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 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. An apparatus, comprising:

one or more network interfaces to communicate with a network;

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

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

obtain telemetry data regarding an encrypted traffic flow, the encrypted traffic flow passively intercepted in the network and associated with a client node in the network, wherein the telemetry data comprises certificate data captured from the encrypted traffic flow, wherein the apparatus passively intercepts the telemetry data without a man-in-the-middle;

determine one or more data features from the certificate data;

determine one or more flow characteristics of the intercepted encrypted traffic flow from the telemetry data;

perform a classification of an application executed by the client node and associated with the intercepted 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, wherein the machine learning 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.

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

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

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

13. The apparatus as in claim 9 , 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.

14. The apparatus as in claim 9 , wherein the machine-learning 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.

15. The apparatus as in claim 9 , 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.

16. The apparatus as in claim 9 , 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.

17. The apparatus as in claim 9 , wherein the apparatus receives the certificate data for the encrypted traffic flow by intercepting the traffic flow.

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

obtaining, by a device in a network, telemetry data regarding an encrypted traffic flow, the encrypted traffic flow passively intercepted in the network and associated with a client node in the network, wherein the telemetry data comprises certificate data captured from the encrypted traffic flow, wherein the device passively intercepts the telemetry data without a man-in-the-middle;

determining, by the device, one or more data features from the certificate data;

determining, by the device, one or more flow characteristics of the intercepted encrypted traffic flow from the telemetry data;

performing, by the device, a classification of an application executed by the client node and associated with the intercepted 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, wherein the machine learning 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.

19. The computer-readable medium as in claim 18 , 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.

20. The computer-readable medium as in claim 18 , wherein the one or more flow characteristics comprise one or more of: sequence of packet lengths and time (SPLT) data regarding the traffic flow, sequence of application lengths and time (SALT) data regarding the traffic flow, byte distribution (BD) data regarding the traffic flow, a ciphersuite, or a Transport Layer Security (TLS) extension.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 11, 2020
From: MCGREW, DAVID
To: CISCO TECHNOLOGY, INC.
Reel/Frame 051787/0345 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 16, 2016
From: ANDERSON, BLAKE HARRELL; MCGREW, DAVID; PAUL, SUBHARTHI; NIKOLAEV, IVAN; GRILL, MARTIN
To: CISCO TECHNOLOGY, INC.
Reel/Frame 040346/0036 →
Continuity (1)
Related Publication 20180139214A1 · May 17, 2018
Cited By (2)
US 12,248,616 US 12,506,772