IP Library Granted Patent US 11,048,828
Granted Patent B2
US 11,048,828 · App. 16/614,452 · Granted Jun 29, 2021

Message source detection in a vehicle bus system

Inventors: Charly Bitton (Pardes Hana, IL); Alexander Fok (Rehovot, IL); Eyal Kamir (Ganei Tikva, IL); Yoni Malka (Aley Zahav, IL); Orit Fredkof (Rishon LeZion, IL); Liran Zwickl (Or Yehuda, IL); Meni Dali (Petah Tikva, IL); Uriel Friedman (Aley Zahav, IL)
Assignee: ENIGMATOS LTD.
G06F21/85G06F21/64G06N20/00H04L12/40104H04L2012/40215H04L2012/40273
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,048,828
App. No.
16/614,452
Granted
Jun 29, 2021
Kind
B2
Abstract

Systems and methods for identifying the source of a message transmitted on the CAN bus of a vehicle, by creating a unique signature for each ECU. The system is further configured to detest malicious activities on a CAN bus system having a given physical configuration. The signature of an ECU is created based on the non-linearity of the CAN bus, by determining from at least one pulse of a read message a training-signature that includes a pair of sub-signatures: a rising-sub-signature of the rising response, and a falling-sub-signature of the falling response, as viewed by said message generating ECU. By reading a plurality of messages from the ECUs operationally integrated on the CAN bus system, a classification & prediction methodology is used to create, for each message generating ECU, from the respective training-signatures, a unique ECU-signature.

Claims (135)

1. A method for creating an ECU-signature for an Electronic Control Unit (ECU), the ECU being integrally operating within a Controller Area Network (CAN)-bus sub-system of a vehicle, the CAN-bus sub-system having at least two ECUs, the method comprising the steps of:

a) reading and storing into a memory storage a plurality of CAN-bus messages, wherein each of said CAN-bus messages is generated by a message generating ECU of said at least two ECUs;

b) based on a non-linearity of the CAN bus sub-system, determining from at least one pulse of each of said read messages a training-signature, wherein each of said training-signatures comprises a pair of sub-signatures:

i) a rising-sub-signature of a rising response, being an impulse response of a rising section of said at least one pulse of the CAN-bus sub-system, as viewed by said message generating ECU; and

ii) a falling-sub-signature of a falling response, being an impulse response of a falling section of said at least one pulse of the CAN-bus sub-system, as viewed by said message generating ECU; and

c) for each of said message generating ECUs, determine a unique ECU-signature from said respective training-signatures.

2. The ECU-signature creating method of claim 1 , wherein said creating of an ECU-signature is performed for all ECUs operating in the CAN-bus sub-system of the vehicle, and wherein said method further comprises the steps of:

d) extracting from each of said read CAN-bus messages a respective training message-ID;

e) associating each of said training message-ID with a respective training signature that correspond to a mutual read message;

f) recording each of associated pair of the training signature and theft training message-ID; and

g) classifying all of said pairs of said respective training message-IDs and training signatures, yielding a number K of trained-classes, each of said trained-class having a unique signature-vector, wherein each of said trained-classes represents an ECU of said at least two ECUs, and said unique signature-vector is the ECU-signature of that ECU.

3. The ECU-signature creating method of claim 2 , further comprising the steps of:

h) recording triplets of ECU-features, each comprising a training signature, a training message-ID and respective ECU-ID, in a non-volatile memory storage.

4. The ECU-signature creating method of claim 1 , wherein said read messages are stored in a temporary memory storage.

5. The ECU-signature creating method of claim 1 , wherein the CAN-bus sub-system is replaced by a vehicle bus sub-system selected from the group including Can-FD, Flexray, and Automotive Ethernet Standards.

6. A system for creating a unique ECU-signature for an ECU, the ECU being integrally operating within a Controller Area Network (CAN)-bus sub-system of a vehicle, the CAN-bus sub-system having at least two ECUs, the system comprises a classifier comprising:

a) a controller;

b) a listening-sensor; and

c) a temporary memory storage, wherein, during a training stage, said classifier is configured to:

a) by said listening-sensor, read from the CAN-bus sub-system a plurality of CAN-bus messages, wherein each of said CAN-bus message is generated by a message generating ECU of said at least two ECUs, and store said read CAN-bus messages in said temporary memory storage;

b) based on a non-linearity of the CAN bus sub-system, determining from at least one pulse of each of said read message a training-signature, wherein each of said training-signatures comprises a pair of sub-signatures:

i) a rising-sub-signature of a rising response, being an impulse response of a rising section of said at least one pulse of the CAN-bus sub-system, as viewed by said message generating ECU; and

ii) a falling-sub-signature of a falling response, being an impulse response of a falling section of said at least one pulse of the CAN-bus sub-system, as viewed by said message generating ECU; and

c) for each of said message generating ECUs, determine by said controller a unique ECU-signature from said respective training-signatures.

7. The ECU-signature creating system of claim 6 , wherein, during the training stage, said classifier is further configured to:

d) extract from each of said read CAN-bus messages a respective training message-ID;

e) associate each of said training message-ID with a respective training signature that correspond to a mutual read message;

f) store ECU-IDs in a non-volatile memory storage, wherein said stored ECU-ID is associated with a single ECU-signature and with one or more message-IDs; and

g) classify all of said pairs of said respective training message-IDs and training signatures, yielding a number K of trained-classes, each of said trained-class having a unique signature-vector, wherein each of said trained-classes represents an ECU of said at least two ECUs, and said unique signature-vector is the ECU-signature of that ECU.

8. The ECU-signature creating system of claim 7 , wherein during the training stage, said classifier is further configured to:

h) store triplets of ECU-features, each comprising a training signature, a training message-ID and respective ECU-ID, in a non-volatile memory storage.

9. The ECU-signature creating system of claim 6 , wherein said classifier is an ECU.

10. The ECU-signature creating system of claim 6 , wherein the CAN-bus sub-system is replaced by a vehicle bus system selected from the group including Can-FD, Flexray, and Automotive Ethernet Standards.

11. A method for detecting unauthorized messages on a Controller Area Network (CAN)bus sub-system of a vehicle, comprising:

during a training stage:

a) creating of an ECU-signature for all ECUs operating in the CAN-bus sub-system of the vehicle; and

during realtme operation:

b) reading a CAN-bus message generated by an unknown ECU;

c) extracting from said read CAN-bus message a real-time message-ID;

d) based on a non-linearity of the CAN bus, determining from at least one pulse of said read CAN-bus message a real-time-signature, wherein said real-time-signature comprises a pair of sub-signatures:

i) a rising-sub-signature of a rising response, being an impulse response of a rising section of said at least one pulse of the CAN-bus sub-system, as viewed by said message generating ECU; and

ii) a failing-sub-signature of a falling response, being an impulse response of a falling section of said at least one pulse of the CAN-bus sub-system, as viewed by said message generating ECU;

e) determining a specific class x from a group containing K trained-classes, to which said real-time-signature belongs;

f) identifying an ECU x associated with class x ;

g) if no class x is found, then it is determined that an unauthorized message was sent from an ECU that was installed without authorization;

h) extracting one or more training message-IDs associated with ECU x ;

i) comparing said real-time message-ID with any one of said extracted training message-IDs;

j) if a match is detected, go back to step (b) for reading a next message; and

k) if no match is found, then:

i) it is concluded that an unauthorized actor took control of an ECU;

ii) taking a preconfigured appropriate action; and

iii) go back to step (b) for reading a next message.

12. The method for detecting unauthorized messages of claim 11 , wherein said taking an appropriate action comprises issuing an alert for an unauthorized message.

13. The method for detecting unauthorized messages of claim 12 , wherein said unauthorized message is a malicious message.

14. The method for detecting unauthorized messages of claim 11 , wherein the CAN-bus sub-system is replaced by a vehicle bus system selected from the group including Can-FD, Flexray, and Automotive Ethernet Standards.

15. A system for detecting unauthorized messages on a Controller Area Network (CAN)-bus sub-system of a vehicle, the CAN-bus sub-system having at least two ECUs, the system comprises a classifier comprising

a) a controller;

b) a listening-sensor; and

c) a temporary memory storage;

wherein, during a training stage, said classifier is configured to:

a) create of an ECU signature for all ECUs operating in the CAN-bus sub-system of the vehicle; and

during real-time operation, said classifier is configured to:

b) read a CAN-bus message generated by an unknown ECU;

c) extract from said read CAN-bus message a real-time message-ID;

d) based on a non-linearity of the CAN-bus sub-system, determine from at least one pulse of said read CAN-bus message a real-time-signature, wherein said real-time-signature comprises a pair of sub-signatures:

i) a rising-sub-signature of a rising response, being an impulse response of a rising section of said at least one pulse of the CAN-bus sub-system, as viewed by said message generating ECU; and

ii) a falling-sub-signature of a falling response, being an impulse response of a falling section of said at least one pulse of the CAN-bus sub-system, as viewed by said message generating ECU;

e) determine a specific class x , from a group containing K trained-classes, to which said real-time-signature belongs;

f) identify an ECU x associated with class x ;

g) extract one or more training message-IDs associated with ECU x ;

h) compare said real-time message-ID with any one of said extracted training message-IDs;

i) if a match is found, go back to step (b) for a next message; and

j) if no match is found, then:

i) conclude that said read CAN-bus message an unauthorized message;

ii) take a preconfigured appropriate action; and iii) go back to step (b) for a next message.

16. The system for detecting unauthorized messages of claim 15 , wherein said classifier is an ECU.

17. The system for detecting unauthorized messages of claim 15 , wherein said unauthorized message is a malicious message.

18. The system for detecting unauthorized messages of claim 15 , wherein if no class x is found, it is determined that an unauthorized message was sent from an ECU that was installed without authorization.

19. The system for detecting unauthorized messages of claim 15 , wherein if no match found when comparing said real-time message-ID with any one of said extracted training message-IDs, it is concluded that an unauthorized actor took control of an ECU.

20. The system for detecting unauthorized messages of claim 15 , wherein the CAN-bus sub-system is replaced by a vehicle bus system selected from the group including Can-FD, Flexray, and Automotive Ethernet Standard.

21. A method for detecting unauthorized messages on a Controller Area Network (CAN)-bus sub-system of a vehicle, wherein arbitration noise exists on the CAN bus, the method comprising: during a training stage:

a) creating of an ECU-signature for all ECUs operating in the CAN-bus sub-system of the vehicle; and during real-time operation:

b) reading a CAN-bus message generated by an unknown ECU;

c) if reached an end of the message, then;

i) it is concluded that an unauthorized actor took control of an ECU;

ii) taking a preconfigured appropriate action; and

iii) return to step (b) for a next message;

d) selecting a next pulse of said read CAN-bus message;

e) based on a non-linearity of the CAN-bus sub-system, determining from said selected pulse of said read CAN-bus message a real-time-signature, wherein said real-time-signature comprises a pair of sub-signatures:

i) a rising-sub-signature of a rising response, being an impulse response of a rising section of said at least one pulse of the CAN-bus sub-system, as viewed by said message generating ECU; and

ii) a failing-sub-signature of a falling response, being an impulse response of a falling section of said at least one pulse of the CAN-bus sub-system, as viewed by said message generating ECU;

f) determining a specific class x from a group containing K trained-classes, to which said real-time-signature belongs;

g) if no class x is found, then go back to step (d) to select the next pulse; h) extracting from said read CAN-bus message a real-time message-ID;

i) identifying an ECU associated with class x ;

j) extracting one or more training message-IDs associated with ECU x ;

k) comparing said real-time message-ID with any one of said extracted training message-IDs;

l) if a match is detected, go back to step (b) for reading a next message; and

m) if no match is found, then:

i) it is concluded that an unauthorized actor took control of an ECU;

ii) taking a preconfigured appropriate action; and

iii) go back to step (b) for reading a next message.

22. The method for detecting unauthorized messages of claim 21 , wherein said taking an appropriate action comprises issuing an alert for an unauthorized message.

23. The method for detecting unauthorized messages of claim 22 , wherein said unauthorized message is a malicious message.

24. The method for detecting unauthorized messages of claim 21 , wherein the CAN-bus sub-system is replaced by a vehicle bus system selected from the group including Can-FD, Flexray, and Automotive Ethernet Standards.

25. A system for detecting unauthorized messages on a Controller Area Network (CAN)-bus sub-system of a vehicle, the CAN-bus sub-system having at least two ECUs, the system comprises a classifier comprising:

a) a controller;

b) a listening-sensor; and

c) a temporary memory storage;

wherein, during a training stage, said classifier is configured to:

a) create of an ECU-signature for all ECUs operating in the CAN-bus sub-system of the vehicle; and during real-time operation, said classifier is configured to:

b) read a CAN-bus message generated by an unknown ECU;

c) if reached an end of the message, then:

i) it is concluded that an unauthorized actor took control of an ECU;

ii) take a preconfigured appropriate action; and

iii) return to step (b) for a next message;

d) select a next pulse of said read CAN-bus message

e) based on a non-linearity of the CAN-bus sub-system, determine from at least one pulse of said read CAN-bus message a real-time-signature, wherein said real-time-signature comprises a pair of sub-signatures:

i) a rising-sub-signature of a rising response, being an impulse response of a rising section of said at least one pulse of the CAN-bus sub-system, as viewed by said message generating ECU; and

ii) a failing-sub-signature of a falling response, being an impulse response of a falling section of said at least one pulse of the CAN-bus sub-system, as viewed by said message generating ECU;

f) determine a specific class x , from a group containing K trained-classes, to which said real-time-signature belongs;

g) if no class x is found, then go back to step (d) to select the next pulse;

h) extract from said read CAN-bus message a real-time message-ID;

i) identify an ECU x associated with class x ;

j) extract one or more training message-IDs associated with ECU x ;

k) compare said real-time message-ID with any one of said extracted training message-IDs;

l) if a match is found, go back to step (b) for a next message; and

m) if no match is found, then:

i) conclude that said read CAN-bus message is an unauthorized message;

ii) take a preconfigured appropriate action; and

iii) go back to step (b) for a next message.

26. The system for detecting unauthorized messages of claim 25 , wherein said classifier is an ECU.

27. The system for detecting unauthorized messages of claim 25 , wherein said unauthorized message is a malicious message.

28. The system for detecting unauthorized messages of claim 25 , wherein if no class x is found, it is determined that an unauthorized message was sent from an ECU that was installed without authorization.

29. The system for detecting unauthorized messages of claim 25 , wherein if no match found when comparing said real-time message-ID with any one of said extracted training message-IDs, it is concluded that an unauthorized actor took control of an ECU.

30. The system for detecting unauthorized messages of claim 25 , wherein the CAN-bus sub-system is replaced by a vehicle bus system selected from the group including Can-FD, Flexray, and Automotive Ethernet Standard.

Assignments (2)
SECURITY INTEREST Recorded Nov 16, 2023
From: ENIGMATOS LTD.
To: SHAYKE AVIZARIM UMAARACHOT STERIO LARECHEV LTD.
Reel/Frame 065590/0016 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 10, 2019
From: BITTON, CHARLY; FOK, ALEXANDER; KAMIR, EYAL; MALKA, YONI; FREDKOF, ORIT; ZWICKL, LIRAN; DALI, MENI; FRIEDMAN, URIEL
To: ENIGMATOS LTD
Reel/Frame 051229/0333 →
Continuity (2)
Provisional Application 62702371 · Jul 24, 2018
Related Publication 20200394341A1 · Dec 17, 2020