IP Library › Granted Patent US 11,012,409
Granted Patent B2
US 11,012,409 · App. 15/942,031 · Granted May 18, 2021

Anomaly detection in a controller area network

Inventors: Liuyang Lily Yang (Portland, OR); Huaxin Li (Dearborn, MI); Li Zhao (Beaverton, OR); Marcio Juliato (Portland, OR); Shabbir Ahmed (Beaverton, OR); Manoj R. Sastry (Portland, OR)
Assignee: Intel Corporation
H04L63/02G06F9/45558G06F21/50H04L63/1425G06F2009/45595
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,012,409
App. No.
15/942,031
Granted
May 18, 2021
Kind
B2
Abstract

There is disclosed in one example a computing apparatus, including: a hardware platform; a network interface to communicatively couple to a bus lacking native support for authentication; and an anomaly detection engine to operate on the hardware platform and configured to: receive a first data stream across a first time; symbolize and approximate the first data stream, including computing a first window sum; receive a second data stream across a second time substantially equal in length to the first time, the second data stream including data across the plurality of dimensions from the first data stream; symbolize and approximate the second data stream, including computing a second window sum; compute a difference between the first window sum and the second window sum; determine that difference exceeds a threshold and that the correlation across the plurality of dimensions is broken; and flag a potential anomaly.

Claims (57)

1. A computing apparatus, comprising:

a hardware platform;

a network interface to communicatively couple to a bus lacking native support for authentication; and

an anomaly detection engine to operate on the hardware platform and configured to:

receive a first data stream across a first time;

symbolize and approximate the first data stream, comprising computing a first window sum and dividing the data stream into frames;

symbolize at least a portion of each frame, wherein symbolizing comprises dividing a data space of potential values for data units of the frame into a plurality of n bucket symbols, and assigning each data unit a symbol according to its bucket;

compute a first sum across the time, wherein computing the first sum comprises dividing the data stream into a plurality of sequences of length L s symbols, with each sequence overlapping with a previous sequence by L o symbols, and tallying a number of occurrences of each sequence;

receive a second data stream across a second time substantially equal in length to the first time, the second data stream comprising data across a plurality of dimensions from the first data stream;

symbolize and approximate the second data stream, comprising computing a second window sum;

compute a difference between the first window sum and the second window sum;

determine that the difference exceeds a threshold and that a correlation across the plurality of dimensions is broken; and

flag a potential anomaly.

2. The computing apparatus of claim 1 , wherein tallying the number of occurrences of each sequence comprises recording a tally in an n×n×L s array, wherein each cell in the array represents a possible value for a symbol sequence.

3. The computing apparatus of claim 2 , wherein computing the difference between the first window sum and the second window sum comprises computing an absolute value of a cell-wise difference between each cell in the array, and summing the absolute values of the cell-wise differences.

4. The computing apparatus of claim 1 , wherein a data unit is an 8-bit byte, and wherein a portion of each frame is a fixed byte of each frame.

5. The computing apparatus of claim 4 , wherein the fixed byte is a first byte.

6. The computing apparatus of claim 1 , wherein n=8.

7. The computing apparatus of claim 1 , wherein n=4.

8. The computing apparatus of claim 7 , wherein L o =1.

9. The computing apparatus of claim 8 , wherein the first time is two seconds.

10. The computing apparatus of claim 9 , wherein the threshold is 3,000.

11. The computing apparatus of claim 1 , wherein the anomaly detection engine is further to identify the anomaly as a potential intrusion.

12. The computing apparatus of claim 11 , wherein the anomaly detection engine is further to take remedial action, or to notify a security agent to take remedial action.

13. The computing apparatus of claim 1 , wherein the bus is a controller area network (CAN) bus for an automobile.

14. The computing apparatus of claim 13 , wherein the computing apparatus is configured to operate as an in-vehicle network gateway for the CAN bus.

15. One or more tangible, non-transitory computer-readable storage mediums having stored thereon executable instructions to:

communicatively couple a network interface to a bus lacking native support for authentication;

receive a first data stream across a first time, the first data stream comprising data across a plurality of dimensions, wherein data of the plurality of dimensions are correlated with one another;

symbolize and approximate the first data stream, comprising computing a first window sum and dividing the data stream into frames;

symbolize at least a portion of each frame, wherein symbolizing comprises dividing a data space of potential values for data units of the frame into a plurality of n bucket symbols, and assigning each data unit a symbol according to its bucket;

compute a first sum across the time, wherein computing the first sum comprises dividing the data stream into a plurality of sequences of length L s symbols, with each sequence overlapping with a previous sequence by L o symbols, and tallying a number of occurrences of each sequence;

receive a second data stream across a second time substantially equal in length to the first time, the second data stream comprising data across the plurality of dimensions from the first data stream;

symbolize and approximate the second data stream, comprising computing a second window sum;

compute a difference between the first window sum and the second window sum;

determine that the difference exceeds a threshold and that the correlation across the plurality of dimensions is broken; and

flag a potential anomaly.

16. The one or more tangible, non-transitory computer-readable mediums of claim 15 , wherein tallying the number of occurrences of each sequence comprises recording a tally in an n×n×L s array, wherein each cell in the array represents a possible value for a symbol sequence.

17. The one or more tangible, non-transitory computer-readable mediums of claim 15 , wherein computing the difference between the first window sum and the second window sum comprises computing an absolute value of a cell-wise difference between each cell in the array, and summing the absolute values of the cell-wise differences.

18. The one or more tangible, non-transitory computer-readable mediums of claim 15 , wherein a data unit is an 8-bit byte, and wherein a portion of each frame is a fixed byte of each frame.

19. The one or more tangible, non-transitory computer-readable mediums of claim 18 , wherein the fixed byte is a first byte.

20. The one or more tangible, non-transitory computer-readable mediums of claim 15 , wherein n=4 and L o =1.

21. The one or more tangible, non-transitory computer-readable mediums of claim 20 , wherein the first time is two seconds.

22. A computer-implemented method of providing anomaly detection on a bus lacking native support for authentication, comprising:

communicatively couple a network interface to the bus;

receiving a first data stream across a first time, the first data stream comprising data across a plurality of dimensions, wherein data of the plurality of dimensions are correlated with one another;

symbolizing and approximating the first data stream, comprising computing a first window sum and dividing the data stream into frames;

symbolizing at least a portion of each frame, wherein symbolizing comprises dividing a data space of potential values for data units of the frame into a plurality of n bucket symbols, and assigning each data unit a symbol according to its bucket;

computing a first sum across the time, wherein computing the first sum comprises dividing the data stream into a plurality of sequences of length L s symbols, with each sequence overlapping with a previous sequence by L o symbols, and tallying a number of occurrences of each sequence;

receiving a second data stream across a second time substantially equal in length to the first time, the second data stream comprising data across the plurality of dimensions from the first data stream;

symbolizing and approximating the second data stream, comprising computing a second window sum;

computing a difference between the first window sum and the second window sum;

determining that the difference exceeds a threshold and that the correlation across the plurality of dimensions is broken; and

flagging a potential anomaly.

23. The method of claim 22 , wherein tallying the number of occurrences of each sequence comprises recording a tally in an n×n×L s array, wherein each cell in the array represents a possible value for a symbol sequence.

24. The method of claim 23 , wherein computing the difference between the first window sum and the second window sum comprises computing an absolute value of a cell-wise difference between each cell in the array, and summing the absolute values of the cell-wise differences.

25. The method of claim 22 , wherein a data unit is an 8-bit byte, and wherein a portion of each frame is a fixed byte of each frame.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 11, 2018
From: YANG, LIUYANG LILY; LI, HUAXIN; ZHAO, LI; JULIATO, MARCIO; AHMED, SHABBIR; SASTRY, MANOJ R.
To: INTEL CORPORATION
Reel/Frame 045779/0424 →
Continuity (1)
Related Publication 20190044912A1 · Feb 7, 2019