IP Library Granted Patent US 10,375,090
Granted Patent B2
US 10,375,090 · App. 15/469,716 · Granted Aug 6, 2019

Machine learning-based traffic classification using compressed network telemetry data

Inventors: David McGrew (Poolesville, MD); Blake Harrell Anderson (San Jose, CA)
Assignee: Cisco Technology, Inc.
H04L63/1416G06N20/00H04L47/2441H04L63/145H04L63/1408H04L67/02
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,375,090
App. No.
15/469,716
Granted
Aug 6, 2019
Kind
B2
Abstract

In one embodiment, a device in a network receives telemetry data regarding a traffic flow in the network. One or more features in the telemetry data are individually compressed. The device extracts the one or more individually compressed features from the received telemetry data. The device performs a lookup of one or more classifier inputs from an index of classifier inputs using the one or more individually compressed features from the received telemetry data. The device classifies the traffic flow by inputting the one or more classifier inputs to a machine learning-based classifier.

Claims (40)

1. A method comprising:

receiving, at a device in a network, telemetry data regarding a traffic flow in the network, wherein each of a plurality of features in the telemetry data are individually compressed so that a separate data compression context is maintained for each of the plurality of features in the telemetry data;

extracting, by the device, the plurality of individually compressed features from the received telemetry data;

performing, by the device, a lookup of one or more classifier inputs from an index of classifier inputs using at least one of the plurality of individually compressed features from the received telemetry data; and

classifying, by the device, the traffic flow by inputting the one or more classifier inputs to a machine learning-based classifier.

2. The method as in claim 1 , wherein classifying the traffic flow comprises:

determining, by the device, an application associated with the traffic flow.

3. The method as in claim 1 , wherein classifying the traffic flow comprises:

determining, by the device, whether the traffic flow is associated with malware.

4. The method as in claim 1 , wherein the plurality of individually compressed features in the telemetry data comprises at least one 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 received telemetry data comprises a NetFlow or Internet Protocol Flow Information Export (IPFIX) record.

6. The method as in claim 1 , wherein a particular one of the individually compressed one or more features in the telemetry data references a previously observed feature in the network.

7. The method as in claim 1 , wherein a particular one of the individually compressed one or more features in the telemetry data is compressed using Lempel-Ziv compression.

8. The method as in claim 1 , wherein the machine learning-based classifier comprises a random forest classifier or a regression-based classifier.

9. 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 a process; and

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

receive telemetry data regarding a traffic flow in the network, wherein each of a plurality of features in the telemetry data are individually compressed so that a separate data compression context is maintained for each of the plurality of features in the telemetry data;

extract the plurality of individually compressed features from the received telemetry data;

perform a lookup of one or more classifier inputs from an index of classifier inputs using at least one of the plurality of individually compressed features from the received telemetry data; and

classify the traffic flow by inputting the one or more classifier inputs to a machine learning-based classifier.

10. The apparatus as in claim 9 , wherein the apparatus classifies the traffic flow by:

determining an application associated with the traffic flow.

11. The apparatus as in claim 9 , wherein the apparatus classifies the traffic flow by:

determining whether the traffic flow is associated with malware.

12. The apparatus as in claim 9 , wherein the plurality of individually compressed features in the telemetry data comprises at least one 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 received telemetry data comprises a NetFlow or Internet Protocol Flow Information Export (IPFIX) record.

14. The apparatus as in claim 9 , wherein a particular one of the individually compressed one or more features in the telemetry data references a previously observed feature in the network.

15. The apparatus as in claim 9 , wherein a particular one of the individually compressed one or more features in the telemetry data is compressed using Lempel-Ziv compression.

16. The apparatus as in claim 9 , wherein the machine learning-based classifier comprises a random forest classifier or a regression-based classifier.

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

receiving, at the device, telemetry data regarding a traffic flow in the network, wherein each of a plurality of features in the telemetry data are individually compressed so that a separate data compression context is maintained for each of the plurality of features in the telemetry data;

extracting, by the device, the plurality of individually compressed features from the received telemetry data;

performing, by the device, a lookup of one or more classifier inputs from an index of classifier inputs using at least one of the plurality of individually compressed features from the received telemetry data; and

classifying, by the device, the traffic flow by inputting the one or more classifier inputs to a machine learning-based classifier.

18. The computer-readable medium as in claim 17 , wherein classifying the traffic flow comprises:

determining, by the device, an application associated with the traffic flow or whether the traffic flow is associated with malware.

19. The computer-readable medium as in claim 17 , wherein the plurality individually compressed features in the telemetry data comprises at least one 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.

20. The computer-readable medium as in claim 17 , wherein the received telemetry data comprises a NetFlow or Internet Protocol Flow Information Export (IPFIX) record.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 27, 2017
From: MCGREW, DAVID; ANDERSON, BLAKE HARRELL
To: CISCO TECHNOLOGY, INC.
Reel/Frame 041750/0334 →
Continuity (1)
Related Publication 20180278629A1 · Sep 27, 2018
Cited By (2)
US 12,248,616 US 12,463,909