IP Library Granted Patent US 10,623,283
Granted Patent B2
US 10,623,283 · App. 15/173,489 · Granted Apr 14, 2020

Anomaly detection through header field entropy

Inventors: Navindra Yadav (Cupertino, CA); Mohammadreza Alizadeh Attar (Cambridge, MA); Shashidhar Gandham (Fremont, CA); Jackson Ngoc Ki Pang (Sunnyvale, CA); Roberto Fernando Spadaro (Milpitas, CA)
Assignee: CISCO TECHNOLOGY, INC.
H04L43/045G06F3/0482G06F3/04842G06F3/04847G06F9/45558G06F16/122G06F16/137G06F16/162G06F16/17G06F16/173G06F16/174G06F16/1744G06F16/1748G06F16/235G06F16/2322G06F16/2365G06F16/248G06F16/24578G06F16/285G06F16/288G06F16/29G06F16/9535G06F21/53G06F21/552G06F21/566G06N20/00G06N99/00G06T11/206H04J3/0661H04J3/14H04L1/242H04L9/0866H04L9/3239H04L9/3242H04L41/046H04L41/0668H04L41/0803H04L41/0806H04L41/0816H04L41/0893H04L41/12H04L41/16H04L41/22H04L43/02H04L43/04H04L43/062H04L43/08H04L43/0805H04L43/0811H04L43/0829H04L43/0841H04L43/0858H04L43/0864H04L43/0876H04L43/0882H04L43/0888H04L43/10H04L43/106H04L43/12H04L43/16H04L45/306H04L45/38H04L45/46H04L45/507H04L45/66H04L45/74H04L47/11H04L47/20H04L47/2441H04L47/2483H04L47/28H04L47/31H04L47/32H04L61/2007H04L63/0227H04L63/0263H04L63/06H04L63/0876H04L63/145H04L63/1408H04L63/1416H04L63/1425H04L63/1433H04L63/1441H04L63/1458H04L63/1466H04L63/16H04L63/20H04L67/10H04L67/1002H04L67/12H04L67/16H04L67/36H04L67/42H04L69/16H04L69/22H04W72/08H04W84/18G06F2009/4557G06F2009/45587G06F2009/45591G06F2009/45595G06F2221/033G06F2221/2101G06F2221/2105G06F2221/2111G06F2221/2115G06F2221/2145H04L67/22
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,623,283
App. No.
15/173,489
Granted
Apr 14, 2020
Kind
B2
Abstract

An approach for detecting anomalous flows in a network using header field entropy. This can be useful in detecting anomalous or malicious traffic that may attempt to “hide” or inject itself into legitimate flows. A malicious endpoint might attempt to send a control message in underutilized header fields or might try to inject illegitimate data into a legitimate flow. These illegitimate flows will likely demonstrate header field entropy that is higher than legitimate flows. Detecting anomalous flows using header field entropy can help detect malicious endpoints.

Claims (64)

1. A computer-implemented method comprising:

detecting, using a sensor installed on an endpoint, a first plurality of flows associated with the endpoint;

determining a first entropy associated with at least one of a plurality of header fields for the first plurality of flows, the plurality of header fields having various entropy values and determined to indicate malicious flows;

determining whether the first entropy is greater than a predetermined amount, the predetermined amount being a cutoff level indicative of a malicious flow and based on a second entropy associated with a second plurality of flows;

determining the first plurality of flows is anomalous when the first entropy is determined to be greater than the predetermined amount; and

cutting off the first plurality of flows when the first plurality of flows is determined to be anomalous,

wherein,

the at least one of the plurality of header fields includes multiple ones of the plurality of header fields, and

the first entropy is determined based on a combined entropy of the multiple ones of the plurality of header fields.

2. The computer-implemented method of claim 1 , further comprising:

detecting the second plurality of flows;

determining the second plurality of flows are regular;

determining the second entropy associated with the at least one of the plurality of header fields for the second plurality of flows; and

determining the predetermined amount is a value greater than the second entropy to provide a buffer.

3. The computer-implemented method of claim 1 , wherein the endpoint is a destination for the first plurality of flows and the detecting of the first plurality of flows comprises:

detecting, using a second sensor associated with a second endpoint, the first plurality of flows, wherein the second endpoint is a source for the first plurality of flows.

4. The computer-implemented method of claim 1 , wherein the at least one of the plurality of header fields is a packet identification field of Internet Protocol version 4 standard.

5. The computer-implemented method of claim 1 , wherein the at least one of the plurality of header fields is a time to live field and/or a sequence identifier field.

6. The computer-implemented method of claim 1 , wherein determining the first entropy associated with the at least one of the plurality of header fields associated with the first plurality of flows comprises:

determining an expected sequence identifier field for each of the first plurality of flows; and

determining a difference between the expected sequence identifier field and a detected sequence identifier field.

7. A non-transitory computer-readable medium having computer readable instructions that, when executed by a processor of a computer, cause the computer to:

detect, using a sensor installed on an endpoint, a first plurality of flows associated with the endpoint;

determine a first entropy associated with at least one of a plurality of header fields for the first plurality of flows, the plurality of header fields having various entropy values and determined to indicate malicious flows;

determine whether the first entropy is greater than a predetermined amount, the predetermined amount being a cutoff level indicative of a malicious flow and based on a second entropy associated with a second plurality of flows;

determine the first plurality of flows is anomalous when the first entropy is determined to be greater than the predetermined amount; and

cutoff the first plurality of flows when the first plurality of flows is determined to be anomalous,

wherein,

the at least one of the plurality of header fields includes multiple ones of the plurality of header fields, and

the first entropy is determined based on a combined entropy of the multiple ones of the plurality of header fields.

8. The non-transitory computer-readable medium of claim 7 , wherein the instructions further cause the computer to:

detect the second plurality of flows;

determine the second plurality of flows are regular;

determine the second entropy associated with the at least one of the plurality of header fields for the second plurality of flows; and

determine the predetermined amount is a value greater than the second entropy to provide a buffer.

9. The non-transitory computer-readable medium of claim 7 , wherein the endpoint is a destination for the first plurality of flows and the instructions that cause the computer to detect the first plurality of flows further cause the computer to detect, using a second sensor associated with a second endpoint, the first plurality of flows, wherein the second endpoint is a source for the first plurality of flows.

10. The non-transitory computer-readable medium of claim 7 , wherein the at least one of the plurality of header fields is a packet identification field of Internet Protocol version 4 standard.

11. The non-transitory computer-readable medium of claim 7 , wherein the at least one of the plurality of header fields is a time to live field and/or a sequence identifier field.

12. The non-transitory computer-readable medium of claim 7 , wherein the instructions that cause the computer to determine the first entropy associated with the at least one of the plurality of header fields associated with the first plurality of flows further cause the computer to:

determine an expected sequence identifier field for each of the first plurality of flows; and

determine a difference between the expected sequence identifier field and a detected sequence identifier field.

13. A system comprising:

a processor;

a memory including instructions that when executed by the processor, cause the system to:

detect, using a sensor installed on an endpoint, a first plurality of flows associated with the endpoint;

determine first entropy associated with at least one of a plurality of header fields for the first plurality of flows, the plurality of header fields having various entropy values and determined to indicate malicious flows;

determine whether the first entropy is greater than a predetermined amount, the predetermined amount being a cutoff level indicative of a malicious flow and based on a second entropy associated with a second plurality of flows;

determine the first plurality of flows is anomalous when the first entropy is determined to be greater than the predetermined amount; and

cut off the first plurality of flows when the first plurality of flows is determined to be anomalous,

wherein,

the at least one of the plurality of header fields includes multiple ones of the plurality of header fields, and

the first entropy is determined based on a combined entropy of the multiple ones of the plurality of header fields.

14. The system of claim 13 , wherein the instructions further cause the system to:

detect the second plurality of flows;

determine the second plurality of flows are regular;

determine the second entropy associated with the at least one of the plurality of header fields for the second plurality of flows; and

determine the predetermined amount is a value greater than the second entropy to provide a buffer.

15. The system of claim 13 , wherein the endpoint is a destination for the first plurality of flows and wherein the instructions further cause the system to:

detect, using a second sensor associated with a second endpoint, the first plurality of flows, wherein the second endpoint is a source for the first plurality of flows.

16. The system of claim 13 , wherein the at least one of the plurality of header fields is a packet identification field of Internet Protocol version 4 standard.

17. The system of claim 13 , wherein the at least one of the plurality of header fields is a time to live field and/or a sequence identifier field.

18. The system of claim 13 , wherein the instructions further cause the system to:

determine an expected sequence identifier field for each of the first plurality of flows; and

determine a difference between the expected sequence identifier field and a detected sequence identifier field.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 12, 2016
From: YADAV, NAVINDRA; ATTAR, MOHAMMADREZA ALIZADEH; GANDHAM, SHASHIDHAR; PANG, JACKSON NGOC KI; SPADARO, ROBERTO FERNANDO
To: CISCO TECHNOLOGY, INC.
Reel/Frame 039671/0124 →
Continuity (2)
Provisional Application 62171899 · Jun 5, 2015
Related Publication 20160359881A1 · Dec 8, 2016
Cited By (1)
US 12,489,773