The present application is based on and claims priority of Japanese Patent Application No. 2019-152453 filed on Aug. 23, 2019.
The present disclosure relates to an information processing device, an information processing system, and a recording medium for detecting a malicious message in a network in which a plurality of electronic control units (hereinafter, abbreviated to ECUs) are connected.
The Society of Automotive Engineers (SAE) J1939 standard serves as a control bus standard applied to trucks, busses, construction machines, tractors, trailers, ships, or the like. In these moving bodies, ECUs transmit and receive messages to and from each other based on the SAE J1939 standard, for example. The presence of an attack has been pointed out. Specifically, through malicious use of an address claim (hereinafter, abbreviated to ACL) massage used in the SAE J1939 standard, an ECU transmits a malicious message to a controller area network (CAN) in which ECUs are connected to spoof a valid ECU. In this respect, Pal-Stefan Murvay and Bogdan Groza, “Security Shortcomings and Countermeasures for the SAE J1939 Commercial Vehicle Bus Protocol,” IEEE Transactions on Vehicular Technology, Volume 67, Issue 5, May 2018 discloses a technique for detecting a malicious message where an ACL message of the SAE J1939 standard is used maliciously. Specifically, public key encryption-based or private key encryption-based authentication and key sharing are performed between ECUs, and a code for detecting alteration (message authentication code (MAC)) is added to a CAN message packet through the shared key. Thus, a malicious message can be detected.
However, the technique disclosed in Murvay and Groza, 2018 can be improved upon.
In view of this, the present disclosure provides an information processing device capable of improving upon the above related art.
In addressing the above, an information processing device according to one aspect of the present disclosure is an information processing device that detects a malicious message in a network in which a plurality of electronic control units are connected. The plurality of electronic control units are each a device that transmits, to the network, a claim message claiming a source address that the device desires to use in the network and then starts transmitting a normal message that includes the source address to the network. The information processing device includes a malicious message detector and an outputter. The malicious message detector detects a malicious message in the network based on a source address included in a claim message received from the network, a period that is based on a time at which the claim message is received, and a message received from the network before or after the claim message. The outputter outputs a detection result of the malicious message detector.
In addition, in addressing the above, an information processing system according to one aspect of the present disclosure includes the above information processing device, the above plurality of electronic control units, and the above network.
Furthermore, in addressing the above, a recording medium according to one aspect of the present disclosure is a non-transitory computer-readable recording medium having a program recorded thereon. The program is to be executed by an information processing device that detects a malicious message in a network in which a plurality of electronic control units are connected. The plurality of electronic control units are each a device that transmits, to the network, a claim message claiming a source address that the device desires to use in the network and then starts transmitting a normal message that includes the source address to the network. The program includes: detecting a malicious message in the network based on a source address included in a claim message received from the network, a period that is based on a time at which the claim message is received, and a message received from the network before or after the claim message; and outputting a result of the detecting.
The information processing device according to one aspect of the present disclosure can improve upon the above related art.
These and other objects, advantages and features of the disclosure will become apparent from the following description thereof taken in conjunction with the accompanying drawings that illustrate a specific embodiment of the present disclosure.
The technique disclosed in Murvay and Groza, 2018 requires communication for authentication and key sharing. This leads to a problem in that this communication causes a delay each time when CAN communication starts. In addition, a field of as large as 8 bites is required within a CAN message packet for storing a MAC, and the amount of data that can be transmitted with a single CAN message is reduced. This disadvantageously increases the time it takes to transmit a message. In this manner, detecting a malicious message in a network, such as a CAN, with the technique disclosed in Murvay and Groza, 2018 may cause the communication quality to deteriorate.
Accordingly, an information processing device and so on that can detect a malicious message in a network while keeping the communication quality from deteriorating will be described below.
Information processing system 1 according to an embodiment will be described below with reference to the drawings.
Information processing system 1 is an in-vehicle network provided in a vehicle, for example. Information processing system 1 includes information processing device 10, a plurality of ECUs, and network 300. Network 300 is, for example, a CAN that is based on the SAE J1939 standard. The plurality of ECUs transmit and receive messages to and from each other via network 300 in accordance with the SAE J1939 standard. For example, in one embodiment, information processing system 1 includes, as the plurality of ECUs, ECUs 100a to 100e. If ECU 100a is described in particular, ECU 100a transmits and receives messages to and from ECUs 100b to 100e via network 300. In the embodiment, ECUs 100a to 100e are also referred to collectively as ECUs 100. In other words, an ECU referred to as ECU 100 in the embodiment may be any one of ECUs 100a to 100e. Information processing device 10 is one type of ECU. Information processing device 10 transmits and receives messages to and from the plurality of ECUs 100 via network 300.
The SAE J1939 standard is a control bus standard applied to trucks, busses, construction machines, tractors, trailers, ships, or the like. ECUs in such moving bodies transmit and receive messages to and from each other in accordance with the SAE J1939 standard. In other words, ECUs 100 transmit and receive messages via network 300 within a moving body in accordance with the SAE J1939 standard. In the following, information processing system 1 applied to a construction machine will be described.
Information processing device 10 detects a malicious message in network 300 in which the plurality of ECUs 100 are connected. Information processing device 10 is, for example, a malicious message detecting ECU. Details of information processing device 10 will be described later.
ECU 100a is an inertial measurement unit (IMU) that detects the attitude angle, the angular velocity, and so on of boom 110a of the construction machine. ECU 100b is an IMU that detects the attitude angle, the angular velocity, and so on of arm 110b of the construction machine. ECU 100c is an IMU that detects the attitude angle, the angular velocity, and so on of bucket 110c of the construction machine. ECU 100d controls hydraulic pump 110d that, for example but not limited to, changes the attitude of or moves boom 110a, arm 110b, bucket 110c, and soon. For example, ECU 100d successively receives sensing data on the attitude angles, the angular velocities, and so on transmitted periodically from ECUs 100a to 100c. Thus, ECU 100d estimates the position and the velocity of bucket 110c at the distal end of boom 110a and arm 110b and automatically controls boom 110a, arm 110b, bucket 110c, and so on via hydraulic pump 110d so as to keep bucket 110c from colliding with the ground surface and to keep the construction machine from being damaged. ECU 100e controls engine 110e of the construction machine. One or more ECUs other than ECUs 100 described above may also be connected to network 300.
Information processing device 10 and ECUs 100 each include a processor (microprocessor), a digital circuit such as a memory, an analog circuit, and a communication circuit, for example. The memory is, for example but not limited to, a read-only memory (ROM) or a random-access memory (RAM) and can store a program to be executed by the processor. For example, as the processor operates in accordance with the program, information processing device 10 and ECUs 100 each implement various functions.
The plurality of ECUs 100 each receive, from network 300, a message transmitted by others ECU 100. In addition, the plurality of ECUs 100 each generate a message that includes the content to be transmitted to other ECUs 100 and transmit the generated message to network 300. Specifically, the plurality of ECUs 100 each perform a process corresponding to the content of a received message. In addition, the plurality of ECUs 100 each generate a normal message that includes data indicating the status of the device connected to each ECU 100 (e.g., sensing data on the attitude angle, the angular velocity, and so on) or data on the command value (control value) or the like for other ECUs 100 and transmit the generated message periodically. Furthermore, the plurality of ECUs 100 each transmit, to network 300, a claim message claiming a source address (hereinafter, abbreviated to SA) that is unique in network 300 and that each ECU 100 desires to use in network 300. Then, the plurality of ECUs 100 each start transmitting a normal message that includes the SA to network 300. Specifically, the plurality of ECUs 100 each start transmitting, to network 300, the normal message including the SA that each ECU 100 desires to use in network 300 if ECU 100 that has transmitted the claim message receives no response to the transmitted claim message from other ECU(s) 100 within a prescribed time (e.g., 250 ms) from the transmission of the claim message. The claim message to be transmitted to network 300 by each of the plurality of ECUs 100 further includes a device name (hereinafter, abbreviated to DN) assigned in advance and unique to each of the plurality of ECUs 100. The claim message will be described later. Herein, a message that includes data indicating the status of a device or data on a command value or the like is called a normal message in order to distinguish it from a claim message. A normal message includes a CAN ID, and the plurality of ECUs 100 each receive only a message that includes a specific CAN ID. Thus, the plurality of ECUs 100 can each transmit a normal message to target ECU 100.
The plurality of ECUs 100 each have a 64-bit unique DN assigned thereto in advance at the time of its manufacture or the like, for example. The DN needs to be unique to each ECU 100. Thus, a DN that is different from the DNs of any other ECUs in or outside network 300 is assigned to each ECU 100. In one embodiment, for example, as illustrated in
Now, a format of a CAN ID to be included in a normal message used in the SAE J1939 standard will be described.
The present disclosure may be applied to standards other than the SAE J1939 standard. For example, the present disclosure can be applied to, for example but not limited to, a standard that is an application of the SAE J1939 standard (e.g., International Organization for Standardization (ISO) 11783, National Marine Electronics Association (NMEA) 2000, ISO 11992, or Fleet Management System (FMS)).
Now, how each ECU 100 claims an SA that each ECU 100 desires to use in network 300 will be described.
Each ECU 100 transmits a claim message to network 300 in order to use an SA that makes itself recognized by other ECUs 100 in information processing system 1 and that does not compete with the SAs of other ECUs 100. Now, with reference to
First, ECU 100 starts (step S11). After starting, the plurality of ECUs 100 each perform an operation for acquiring an 8-bit SA that each ECU 100 desires.
Upon completion of initialization after starting (step S12), ECU 100 transmits, to network 300, a claim message that includes an SA that ECU 100 desires (e.g., ECU 100 desires X as its SA in this example) and the DN (e.g., N) of ECU 100 (step S13). In other words, ECU 100 broadcasts such a claim message to other ECUs 100 via network 300 to claim to other ECUs 100 that ECU 100 is to use X as its SA.
According to the SAE J1939 standard, the plurality of ECUs 100 each store in itself information that ECU 100 having N assigned thereto as its DN uses X as its SA, unless the plurality of ECUs 100 have objections to the claim message. On the other hand, if there is ECU 100 that has an objection to the claim message—for example, if the claimed SA is in competition, the rule states that objecting ECU 100 sends a response to the claim message within a prescribed time (250 ms in the SAE J1939 standard) from the reception of the claim message. Therefore, if ECU 100 receives no response (no objection) from other ECUs 100 in regard to the transmitted claim message within the prescribed time from the transmission of the claim message, ECU 100 concludes that other ECUs 100 have accepted that ECU 100 uses X as its SA. Thus, using the SA that ECU 100 desires to use, ECU 100 starts transmitting (periodically transmitting) a normal message that includes this SA to network 300 (step S14). Since the normal message includes X as the SA, other ECUs 100 can identify ECU 100 having N assigned thereto as its DN as the sender of the message by confirming that the SA included in this message is X.
Now, with reference to
As illustrated in
ECU 100b starts, for example, after ECU 100a has started (step S31). Because the claim message has been transmitted from ECU 100a before ECU 100b completes initialization, ECU 100b cannot receive the claim message from ECU 100a. ECU 100a receives no response to the transmitted claim message from other ECUs 100 including ECU 100b. Therefore, using X as its SA, ECU 100a starts transmitting a normal message that includes X as the SA.
Upon completion of initialization after starting (step S32), because ECU 100b is not aware that ECU 100a has claimed its desire to use X as the SA, ECU 100b transmits, to ECU 100a, a claim message that includes an SA that ECU 100b desires to use in network 300 (in this example, the SA is X that is identical to the SA that ECU 100a has desired to use and has started using) and Nb, which is the DN of ECU 100b, (step S33).
SAE J1939 defines a rule that states that, when an SA is in competition, ECU 100 whose value indicated by its DN (specifically, a 64-bit integer value) is smaller has priority in acquiring the SA. Therefore, ECU 100 whose value indicated by the DN is larger is set to give up acquiring the competing SA and retransmits a claim message that includes a different SA.
ECU 100a has acquired X as its SA, and ECU 100b has transmitted the claim message announcing that ECU 100b desires to use X as its SA. This results in a competition for the SA. The assumption is that Na, which is the DN of ECU 100a, is smaller than Nb, which is the DN of ECU 100b. In this case, ECU 100a has priority in acquiring the SA over ECU 100b. Thus, ECU 100a retransmits, to ECU 100b, a claim message that includes X as its SA and Na, which is the DN of ECU 100a, as an objection to the claim message transmitted by ECU 100b (step S24).
ECU 100b recognizes that ECU 100a having Na smaller than Nb, which is the DN of ECU 100b, assigned thereto has priority in using X as the SA and transmits a claim message that includes Y (e.g., an address adjacent to X, Y=X+1) as another SA (step S34). ECU 100b uses Y as its SA if ECU 100b receives no response, from other ECUs 100, to the claim message that ECU 100b has transmitted, within a prescribed time (250 ms) from the transmission of the claim message.
Now, with reference to
ECU 100 receives a claim message from other ECU 100 (step S101). For example, ECU 100 receives, from other ECU 100, a claim message that includes an SA identical to the SA that ECU 100 uses.
ECU 100 compares the value indicated by its own DN (own DN) with the value indicated by the DN (the contender's DN) included in the received claim message and determines whether the value indicated by the own DN is greater than or equal to the value indicated by the contender's DN (step S102).
If the value indicated by the own DN is smaller than the value indicated by the contender's DN (No in step S102), ECU 100 has priority over the contender. Thus, ECU 100 transmits, to other ECU 100, a claim message that includes the SA that ECU 100 has acquired and the DN of ECU 100 without stopping transmission of normal messages (step S104). This allows other ECU 100 to recognize that other ECU 100 cannot acquire that SA.
Meanwhile, if the value indicated by the own DN is greater than or equal to the value indicated by the contender's DN (Yes in step S102), the contender has priority over ECU 100. Thus, ECU 100 stops transmission of normal messages and tries to change the SA (step S103). For example, ECU 100 transmits, to network 300, a claim message that includes an SA that is an address adjacent to the SA that ECU 100 has been using.
Here, as indicated by step S102, the SAE J1939 standard defines that a party determines that it has lower priority than the contender when the value indicated by the contender's DN included in the received message is equal to or smaller than the value indicated by the own DN. Therefore, if ECU 100 receives a malicious claim message that includes an SA identical to the SA of ECU 100, ECU 100 may be forced to stop transmitting a normal message and even to change the SA that ECU 100 has been using. Now, with reference to
As shown in the section “NETWORK SITUATION IN NORMAL OPERATION” in
Meanwhile, as shown in the section “NETWORK SITUATION IN ATTACK” in
Valid ECU 100 uses Y as its SA thereafter if valid ECU 100 receives no response to the transmitted claim message from other ECUs 100 within a prescribed time (250 ms) from the transmission of the claim message. In this manner, valid ECU 100 is forced to change the SA that valid ECU 100 has been using.
For example, even if someone sees, as a normal message, data that includes a specific SA and sensor values of the attitude angle, the angular velocity, and so on, he/she cannot figure out which ECU is ECU 100 that is using this SA. Yet, he/she can recognize that a specific SA is used by ECU 100a that detects the attitude angle, the angular velocity, and so on of boom 110a by checking the SA included in the data in which the sensor values change greatly in response to him/her moving boom 110a. Ina similar manner, he/she can recognize that a specific SA is used by ECU 100b that detects the attitude angle, the angular velocity, and so on of arm 110b by checking the SA included in the data in which the sensor values change greatly in response to him/her moving arm 110b. In a similar manner, he/she can recognize that a specific SA is used by ECU 100c that detects the attitude angle, the angular velocity, and so on of bucket 110c by checking the SA included in the data in which the sensor values change greatly in response to him/her moving bucket 110c.
In this manner, in a hydraulic shovel in a construction machine, for example, the correspondence relationship between ECUs 100a to 100c that detect the attitude angles, the angular velocities, and so on of boom 110a, arm 110b, and bucket 110c and the respective SAs that ECUs 100a to 100c use is managed. Therefore, if the SA that ECU 100 has been using is changed due to a malicious message in network 300, the actual correspondence relationship fails to match the managed correspondence relationship, and this may cause a problem.
As a spoof of valid ECU 100, a malicious ECU takes over the function of valid ECU 100 and periodically transmits, to network 300, a normal message that includes X as the SA with a period that does not deviate from the period of normal messages that valid ECU 100 has transmitted so far. For example, ECU 100d that controls hydraulic pump 110d determines whether the period of normal messages (periodic signals) received from valid ECUs 100a to 100c has not changed and can detect a malicious message in network 300 based on any change in the period of the received normal messages. Therefore, the malicious ECU may skillfully spoof valid ECUs 100a to 100c and so on so that the malicious message is not detected from a change in the period and may conceivably take over the function of transmitting normal messages while maintaining the periodicity of the normal messages that valid ECUs 100a to 100c and so on have transmitted so far. Therefore, ECU 100d mistakenly recognizes that a received normal message is a message from valid ECUs 100a to 100c and so on and controls hydraulic pump 110d in accordance with the normal message received from the malicious ECU. As a result, for example, although bucket 110c is actually about to collide with the ground surface, the malicious ECU may transmit a normal message that includes the sensor values of the attitude angles, the angular velocities, and so on of boom 110a, arm 110b, and bucket 110c indicating that none of boom 110a, arm 110b, and bucket 110c are to collide with the ground surface, and this may cause the construction machine to be damaged.
Accordingly, in one embodiment of the present disclosure, information processing device 10 that detects a malicious message in network 300 is connected to network 300 in which a plurality of ECUs 100 are connected. In the following, a configuration and an operation of information processing device 10 will be described.
Information processing device 10 includes malicious message detector 11, outputter 12, preventer 13, and transmission and reception interface 14.
Transmission and reception interface 14 receives a message flowing in network 300 and also transmits a message to network 300. For example, transmission and reception interface 14 is implemented by a communication circuit, an input and output interface, and so on provided in information processing device 10.
Malicious message detector 11 is a characteristic configuration of information processing device 10 and is a functional component for detecting a malicious message in network 300. Malicious message detector 11 detects a malicious message in network 300 based on an SA included in a claim message received from network 300, a period that is based on the time at which the claim message is received, and a message received from network 300 before or after the claim message (step S111).
With regard to the method with which malicious message detector 11 detects a malicious message, first to fourth examples will be described in the present disclosure.
In the first to third examples, malicious message detector 11 detects a malicious message in network 300 based on an SA included in a claim message received from network 300 and a message received from network 300 in a predetermined period that is based on the time at which the claim message is received. For example, in the first and second examples, malicious message detector 11 detects a malicious message in network 300 based on an SA included in a claim message received from network 300 and a normal message received from network 300 in a predetermined period that is based on the time at which the claim message is received. Meanwhile, for example, in the third example, malicious message detector 11 detects a malicious message in network 300 based on an SA included in a claim message received from network 300 and another claim message received from network 300 in a predetermined period that is based on the time at which the claim message is received. In other words, in the first and second examples, a malicious message in network 300 is detected based on a normal message received from network 300 in a predetermined period. In the third example, a malicious message in network 300 is detected based on a claim message received from network 300 in a predetermined period.
In the fourth example, malicious message detector 11 detects a malicious message in network 300 based on an SA included in a claim message received from network 300 and a plurality of normal messages received from network 300 after a predetermined time has passed since the time at which the claim message was received.
Details of the first to fourth examples of the method with which malicious message detector 11 (information processing device 10) detects a malicious message will be described with reference to
Outputter 12 outputs a detection result of malicious message detector 11 (step S112). For example, outputter 12 outputs the detection result to preventer 13. In addition, outputter 12 may output the detection result to, for example but not limited to, a user of a vehicle or the like in which information processing device 10 is provided or a central management center that manages the vehicle, via transmission and reception interface 14.
In the first and second examples described later, if the detection result of malicious message detector 11 indicates that the claim message is a malicious message, malicious message detector 11 transmits, to network 300, a signal that disables the claim message. The signal that disables the claim message is, for example, an error frame, and this can force the claim message to result in an error before valid ECU 100 in network 300 finishes receiving the claim message (the malicious message). In other words, the signal can keep valid ECU 100 from being forced to change the SA that valid ECU has been using by the claim message.
For example, a processor provided in information processing device 10 operates in accordance with a program stored in a memory provided in information processing device 10, and thus the functions of malicious message detector 11, outputter 12, and preventer 13 are implemented.
As shown in the section “NETWORK SITUATION IN NORMAL OPERATION” in
Meanwhile, as shown in the section “NETWORK SITUATION IN ATTACK” in
Accordingly, if an SA included in a normal message received from network 300 in the first period, serving as the predetermined period, that ends at the time at which a claim message is received is identical to an SA included in the claim message received at the stated time, information processing device 10 can determine that the claim message received at the stated time is a malicious message.
There is no particular limitation on the method of determining whether an SA included in a normal message received from network 300 in the first period is identical to an SA included in a claim message received at the stated time. The following two methods serve as examples.
For example, information processing device 10 starts a timer for the first period when information processing device 10 receives a normal message from network 300. Since a normal message is transmitted periodically, information processing device 10 resets the timer for the first period each time information processing device 10 receives a normal message from network 300. If information processing device 10 has received a claim message that includes an SA identical to the SA included in a normal message, information processing device 10 checks the timer (i.e., the timer started when information processing device 10 has received the most recent normal message that includes this SA) and determines whether the first period has expired. If the timer indicates that the first period has expired, information processing device 10 determines that the claim message is a legitimate message. Meanwhile, if the timer indicates that the first period has not expired, information processing device 10 determines that the claim message is a malicious message.
Alternatively, for example, information processing device 10 records the time at which information processing device 10 has received a normal message from network 300. Since a normal message is transmitted periodically, information processing device 10 rerecords the time at which information processing device 10 has received the most recent normal message each time information processing device 10 receives a normal message from network 300. Then, if information processing device 10 has received a claim message that includes an SA identical to the SA included in a normal message, information processing device 10 determines whether the difference between the time at which information processing device 10 has received this claim message and the time at which information processing device 10 has received the most recent normal message that includes the same SA is greater than the first period. If the difference is greater than the first period, information processing device 10 determines that the claim message is a legitimate message. Meanwhile, if the difference is less than or equal to the first period, information processing device 10 determines that the claim message is a malicious message.
The first period may be defined based on the time it takes for ECU 100 to be initialized, for example. In addition, the first period may be defined based on the period of normal messages. For example, when the period of the normal messages is T, the first period may be set to 2T.
As shown in the section “NETWORK SITUATION IN NORMAL OPERATION” in
Meanwhile, as shown in the section “NETWORK SITUATION IN ATTACK” in
Accordingly, if an SA included in a normal message received from network 300 in the second period, serving as the predetermined period, that starts at the time at which a claim message is received is identical to an SA included in the claim message received at the stated time, information processing device 10 can determine that the claim message received at the stated time is a malicious message.
There is no particular limitation on the method of determining whether an SA included in a normal message received from network 300 in the second period is identical to an SA included in a claim message received at the stated time. The following two methods serve as examples.
For example, information processing device 10 starts a timer for the second period when information processing device 10 receives a claim message from network 300. Then, if information processing device 10 has received a normal message that includes an SA identical to the SA included in the claim message, information processing device 10 checks the timer to determine whether the second period has expired. If the timer indicates that the second period has expired, information processing device 10 determines that the claim message is a legitimate message. Meanwhile, if the timer indicates that the second period has not expired, information processing device 10 determines that the claim message is a malicious message.
Alternatively, for example, information processing device 10 records the time at which information processing device 10 has received a claim message from network 300. Then, if information processing device 10 has received a normal message that includes an SA identical to the SA included in the claim message, information processing device 10 determines whether the difference between the time at which information processing device 10 has received this claim message and the time at which information processing device 10 has received the normal message that includes the same SA is greater than the second period. If the difference is greater than the second period, information processing device 10 determines that the claim message is a legitimate message. Meanwhile, if the difference is less than or equal to the second period, information processing device 10 determines that the claim message is a malicious message.
The second period may be defined based on the prescribed time (e.g., 250 ms), for example.
As shown in the section “NETWORK SITUATION IN ATTACK” in
In addition, although not illustrated, valid ECU 100 may, for example, restart and transmit, to network 300, a claim message that includes X as the SA that valid ECU 100 desires to use. At this point, in order to cause interference with this claim message, a malicious ECU may transmit, to network 300, a claim message that includes Y as the SA and a DN identical to the DN of valid ECU 100 in the third period that follows when valid ECU 100 transmits the claim message. In this case, since the SAs are not in competition, the two ECUs (one of which is the malicious ECU) with the identical DN transmit, to network 300, normal messages using the different SAs, and this may cause a problem in network 300.
Meanwhile, in a normal operation, after a claim message that includes X as the SA and a specific DN has flowed in network 300, no claim message that includes, as the SA, Y different from X and the specific DN flows in network 300 in the third period. Therefore, in a normal operation, if information processing device 10 receives, from network 300, a claim message that includes X as the SA and a specific DN, information processing device 10 does not receive any claim message that includes, as the SA, Y different from X and the same DN in the third period that follows when information processing device 10 receives the claim message.
Accordingly, if the DN included in a claim message (referred to as a second claim message) received from network 300 in the third period, serving as a predetermined period, that starts at the time at which information processing device 10 has received a claim message (referred to as a first claim message) is identical to the DN included in the first claim message and if the SA included in the second claim message is different from the SA included in the first claim message, information processing device 10 can determine that the first claim message or the second claim message is a malicious message.
There is no particular limitation on the method of determining whether a DN included in a second claim message received from network 300 in the third period is identical to a DN included in a first claim message and whether an SA included in the second claim message is different from an SA included in the first claim message. The following two methods serve as examples.
For example, information processing device 10 starts a timer for the third period when information processing device 10 receives a first claim message from network 300. Then, if information processing device 10 has received a second claim message that includes a DN identical to the DN included in the first claim message and an SA different from the SA included in the first claim message, information processing device 10 checks the timer to determine whether the third period has expired. If the timer indicates that the third period has expired, information processing device 10 determines that the first claim message and the second claim message are legitimate messages. Meanwhile, if the timer indicates that the third period has not expired, information processing device 10 determines that the first claim message or the second claim message is a malicious message.
Alternatively, for example, information processing device 10 records the time at which information processing device 10 has received a first claim message from network 300. Then, if information processing device 10 has received a second claim message that includes a DN identical to the DN included in the first claim message and an SA different from the SA included in the first claim message, information processing device 10 determines whether the difference between the time at which information processing device 10 has received the first claim message and the time at which information processing device 10 has received the second claim message is greater than the third period. If the difference is greater than the third period, information processing device 10 determines that the first claim message and the second claim message are legitimate messages. Meanwhile, if the difference is less than or equal to the third period, information processing device 10 determines that the first claim message or the second claim message is a malicious message.
The third period may be defined based on the time it takes for valid ECU 100 to transmit a claim message upon selecting a different SA when valid ECU 100 has received a claim message that includes a competing SA.
As shown in the section “NETWORK SITUATION IN ATTACK” illustrated in
In other words, a normal message that is transmitted by the malicious ECU and that includes, as the SA, X that valid ECU 100 was using originally and another normal message that is transmitted by valid ECU 100 and that includes Y as the changed SA flow in network 300. Even in a case where valid ECU 100 has had its SA to use changed, the identifier (PGN) included in a normal message transmitted by valid ECU 100 remains the same as before the change. In order to spoof a normal message transmitted by valid ECU 100, a normal message transmitted by the malicious ECU includes an identifier (PGN) identical to the identifier of the normal message transmitted by valid ECU 100.
Accordingly, information processing device 10 can detect a malicious message in network 300 if, of a plurality of normal messages received after a predetermined time has passed since information processing device 10 received a claim message, one of the normal messages includes an SA included in the claim message and another one of the normal messages includes an SA different from the SA included in the claim message and if the one of the normal messages and the other one of the normal messages include the same identifier.
The predetermined time may be defined based on the prescribed time (e.g., 250 ms), for example.
The fourth example leads to a network situation identical to that in the third example if the DN of valid ECU 100 and the DN of a malicious ECU are identical. In other words, the fourth example can be applied to the third example.
Information processing device 10 detects a malicious message in network 300 in which a plurality of ECUs 100 are connected. The plurality of ECUs 100 are each a device that transmits, to network 300, a claim message claiming an SA that the device desires to use in network 300 and then starts transmitting a normal message that includes this SA to network 300. Information processing device 10 includes malicious message detector 11 and outputter 12. Malicious message detector 11 detects a malicious message in network 300 based on an SA included in a claim message received from network 300, a period that is based on the time at which the claim message is received, and a message received from network 300 before or after the claim message. Outputter 12 outputs a detection result of malicious message detector 11.
When a claim message that includes a specific SA flows in network 300, in a normal operation, a message (e.g., a normal message or another claim message) that flows in network 300 before or after the claim message flows in network 300 follows a certain rule that is based on this specific SA and the period that is based on the time at which this claim message is received. Therefore, information processing device 10 can detect a malicious message in network 300 if information processing device 10 has received, from network 300, a message that deviates from the rule before or after information processing device 10 has received the claim message from network 300. In other words, no communication for authentication or key sharing is carried out in order to detect a malicious message. Thus, no delay associated with such communication occurs, no field for storing a MAC is required in a normal message, and an increase in the time it takes to transmit a normal message can be suppressed. This makes it possible to detect a malicious message in network 300 while keep the communication quality from deteriorating.
Malicious message detector 11 may detect a malicious message in network 300 based on an SA included in a claim message received from network 300 and a message received from network 300 in a predetermined period that is based on the time at which the claim message is received.
When a claim message that includes a specific SA flows in network 300, in a normal operation, a message that flows in network 300 in a predetermined period that is based on the time at which the claim message flows in network 300 follows a certain rule that is based on this specific SA. Therefore, information processing device 10 can detect a malicious message in network 300 if information processing device 10 has received, from network 300, a message that deviates from the rule in the predetermined period that is based on the time at which information processing device 10 has received the claim message from network 300.
Malicious message detector 11 may detect a malicious message in network 300 based on an SA included in a claim message received from network 300 and a normal message received from network 300 in a predetermined period that is based on the time at which the claim message is received.
When a claim message that includes a specific SA flows in network 300, in a normal operation, a normal message that flows in network 300 in a predetermined period that is based on the time at which the claim message flows in network 300 follows a certain rule that is based on this specific SA. Therefore, information processing device 10 can detect a malicious message in network 300 if information processing device 10 has received, from network 300, a normal message that deviates from the rule in the predetermined period that is based on the time at which information processing device 10 has received the claim message from network 300.
If an SA included in a normal message received from network 300 in a first period, serving as a predetermined period, that ends at the time at which a claim message is received is identical to an SA included in the claim message received at the stated time, malicious message detector 11 may determine that the claim message received at the stated time is a malicious message.
In a normal operation, the plurality of ECUs 100 each transmit a claim message only upon starting or restarting except when the plurality of ECUs 100 are each instructed by other ECUs 100 to transmit a claim message. In other words, the plurality of ECUs 100 each perform an initialization operation and so on at the time of starting or restarting and do not transmit a normal message that includes a specific SA in the first period that precedes when the plurality of ECUs 100 transmit a claim message that includes the specific SA. Therefore, in a normal operation, if information processing device 10 has received, from network 300, a claim message that includes a specific SA, information processing device 10 does not receive any normal message that includes the specific SA in the first period that precedes when information processing device 10 receives the claim message. To rephrase, in a normal operation, information processing device 10 does not receive a claim message that includes the specific SA in the first period that follows when information processing device 10 has received a normal message that includes the specific SA. Accordingly, if an SA included in a normal message received from network 300 in the first period, serving as a predetermined period, that ends at the time at which a claim message is received is identical to an SA included in the claim message received at the stated time, information processing device 10 can determine that the claim message received at the stated time is a malicious message.
Information processing device 10 may further include preventer 13. When the detection result of malicious message detector 11 indicates that the claim message received at the stated time is a malicious message, preventer 13 may transmit a signal that disables the claim message to network 300.
The plurality of ECUs 100 each operate so as to change the SA that each ECU 100 is using depending on the content of a claim message received from other ECUs 100. In other words, the plurality of ECUs 100 may be caused to change the SA that each ECU 100 is using by a malicious claim message. In this respect, information processing device 10 can keep the SA that ECU 100 is using from being changed by disabling a malicious claim message immediately upon detecting the malicious claim message that flows in network 300 (e.g., before ECU 100 finishes receiving the malicious claim message from network 300).
If an SA included in a normal message received from network 300 in a second period, serving as a predetermined period, that starts at the time at which a claim message is received is identical to an SA included in another claim message received at the stated time, malicious message detector 11 may determine that the claim message received at the stated time is a malicious message.
In a normal operation, the plurality of ECUs 100 each start transmitting a normal message that includes a specific SA after having waited to see whether each ECU 100 receives any response to the transmitted claim message from other ECUs 100 within a prescribed time (e.g., 250 ms) from the transmission of the claim message that includes the specific SA. In other words, the plurality of ECUs 100 each refrain from transmitting a normal message that includes the specific SA in the second period that follows when each ECU 100 has transmitted a claim message that includes the specific SA. Therefore, in a normal operation, if information processing device 10 has received, from network 300, a claim message that includes a specific SA, information processing device 10 does not receive any normal message that includes the specific SA in the second period that follows when information processing device 10 has received the claim message. Accordingly, if an SA included in a normal message received from network 300 in the second period, serving as a predetermined period, that starts at the time at which the claim message is received is identical to an SA included in the claim message received at the stated time, information processing device 10 can determine that the claim message received at the stated time is a malicious message.
Malicious message detector 11 may detect a malicious message in network 300 based on an SA included in a claim message received from network 300 and another claim message received from network 300 in a predetermined period that is based on the time at which the claim message is received.
When a claim message that includes a specific SA flows in network 300, in a normal operation, another claim message different from the claim message that flows in network 300 in a predetermined period that is based on the time at which the claim message flows in network 300 follows a certain rule that is based on the specific SA. Therefore, information processing device 10 can detect a malicious message in network 300 if information processing device 10 has received, from network 300, another claim message that deviates from the rule in the predetermined period that is based on the time at which information processing device 10 has received the claim message from network 300.
A claim message to be transmitted to network 300 by each of the plurality of ECUs 100 further includes a DN assigned in advance and unique to each of the plurality of ECUs 100. If a DN included in a claim message received from network 300 in a third period, serving as a predetermined period, that starts at the time at which a claim message is received is identical to a DN included in the claim message received at the stated time and if an SA included in the claim message received in the third period is different from an SA included in the claim message received at the stated time, malicious message detector 11 may determine that the claim message received at the stated time or the claim message received in the third period is a malicious message.
In a normal operation, after a claim message that includes a specific SA and a specific DN has flowed in network 300, a claim message that includes an SA different from the specific SA and the specific DN does not flow in network 300 in the third period. Therefore, in a normal operation, if information processing device 10 has received, from network 300, a claim message that includes a specific SA and a specific DN, information processing device 10 does not receive any claim message that includes an SA different from the specific SA and the DN in the third period that follows when information processing device 10 has received the claim message. Accordingly, if a DN included in a claim message (referred to as a second claim message) received from network 300 in the third period, serving as a predetermined period, that starts at the time at which information processing device 10 has received another claim message (referred to as a first claim message) is identical to a DN included in the first claim message and if an SA included in the second claim message is different from an SA included in the first claim message, information processing device 10 can determine that the first claim message or the second claim message is a malicious message.
Malicious message detector 11 may detect a malicious message in network 300 based on an SA included in a claim message received from network 300 and a plurality of normal messages received from network 300 after a predetermined time has passed since the time at which the claim message was received.
When a claim message that includes a specific SA flows in network 300, in a normal operation, a plurality of normal messages that flow in network 300 after a predetermined time has passed since the time at which the claim message flowed in network 300 follow a certain rule that is based on the specific SA. Therefore, information processing device 10 can detect a malicious message in network 300 if information processing device 10 has received, from network 300, a normal message that deviates from the rule after the predetermined time has passed since the time at which information processing device 10 received the claim message from network 300.
A normal message to be transmitted to network 300 by each of the plurality of ECUs 100 further includes an identifier that uniquely determines the format of the normal message. Malicious message detector 11 may detect a malicious message in network 300 if, of a plurality of normal messages received after a predetermined time has passed, one of the normal messages includes an SA included in the claim message received at the stated time and another one of the normal messages includes an SA different from the SA included in the claim message received at the stated time and if the one of the normal messages and the other one of the normal messages include the same identifier.
The plurality of ECUs 100 each operate so as to change the SA that each ECU 100 is using depending on the content of a claim message received from other ECUs 100. In other words, the plurality of ECUs 100 may be caused to change the SA that each ECU 100 is using by a malicious claim message. Therefore, when network 300 is attacked, a normal message that is a malicious normal message and that includes X as the SA that valid ECU 100 has been using originally and another normal message that is transmitted by valid ECU 100 and that includes the changed SA flow in network 300. Even in a case where valid ECU 100 has had its SA to use changed, the identifier included in a normal message transmitted by valid ECU 100 remains the same as before the change. In order to spoof a normal message transmitted by valid ECU 100, a normal message transmitted by a malicious ECU includes an identifier identical to the identifier in the normal message transmitted by valid ECU 100. Accordingly, information processing device 10 can detect a malicious message in network 300 if, of a plurality of normal messages received after a predetermined time has passed, one of the normal messages includes the SA included in the claim message and another one of the normal messages includes an SA different from the SA included in the claim message and if the one of the normal messages and the other one of the normal messages include the same identifier.
The plurality of ECUs 100 may each start transmitting, to network 300, a normal message including an SA that each ECU 100 desires to use in network 300 if each ECU 100 receives no response to a transmitted claim message from other ECUs 100 within a prescribed time from the transmission of the claim message.
In this manner, each ECU 100 can transmit, to network 300, a normal message using the desired SA thereafter if each ECU 100 receives no response to the transmitted claim message from other ECUs 100.
Network 300 may a CAN that is based on the SAE J1939 standard, and a claim message may be an ACL message defined in the SAE J1939 standard.
In this manner, the present disclosure can be applied to a CAN that is based on the SAE J1939 standard.
Information processing system 1 includes information processing device 10, a plurality of ECUs 100, and network 300.
This makes it possible to provide information processing system 1 that can detect a malicious message in network 300 while keeping the communication quality from deteriorating.
Thus far, some embodiments have been described to illustrate the techniques according to the present disclosure. However, the techniques according to the present disclosure are not limited to the foregoing embodiments and can also be applied to other embodiments that include modifications, substitutions, additions, omissions, and so on, as appropriate. For example, the following variations are also encompassed by an embodiment of the present disclosure.
For example, in the embodiments described above, information processing device 10 includes preventer 13, but information processing device 10 does not need to include preventer 13.
For example, in the embodiments described above, information processing system 1 includes ECUs 100a to 100e, but it suffices that information processing system 1 include at least two ECUs 100.
The present disclosure can be implemented not only in the form of information processing device 10 and information processing system 1 but also in the form of an information processing method that includes steps (processes) performed by the components constituting information processing device 10.
For example, the steps in the information processing method may be executed by a computer (computer system). Then, the present disclosure can be implemented in the form of a program that causes the computer to execute the steps included in the information processing method.
This program is to be executed by information processing device 10 that detects a malicious message in network 300 in which a plurality of ECUs 100 are connected. The plurality of ECUs 100 are each a device that transmits, to network 300, a claim message claiming an SA that the device desires to use in network 300 and then starts transmitting a normal message that includes this SA to network 300. As illustrated in
Furthermore, the present disclosure can be implemented in the form of a non-transitory computer-readable recording medium, such as a CD-ROM, that stores the above program.
For example, in a case where the present disclosure is implemented in the form of a program (software), each step is executed as the program is executed with the use of hardware resources, such as a CPU, a memory, and an input and output circuit, of a computer. In other words, each step is executed as the CPU acquires data from the memory, the input and output circuit, or the like and performs an arithmetic operation on the data or as the CPU outputs the arithmetic operation result to the memory, the input and output circuit, or the like.
Each component included in information processing device 10 according to the foregoing embodiments may be implemented in the form of a dedicated or general-purpose circuit.
Each component included in information processing device 10 according to the foregoing embodiments may be implemented in the form of a large-scale integration (LSI), which is an integrated circuit (IC).
The integrated circuit is not limited to an LSI and may be implemented by a dedicated circuit or a general-purpose processor. A field-programmable gate array (FPGA) that can be programmed or a reconfigurable processor that can have circuit cell connections and configurations within the LSI reconfigured may be used.
Furthermore, when a circuit integration technique that replaces LSI appears through the advancement in the semiconductor technology or through derived different technology, each component included in information processing device 10 may be integrated into a circuit through that circuit integration technique.
An embodiment obtained by making various modifications that a person skilled in the art can conceive of to the foregoing embodiments and an embodiment achieved by combining, as desired, the components and the functions of the foregoing embodiments within the scope that does not depart from the spirit of the present disclosure are also encompassed by the present disclosure.
While various embodiments have been described herein above, it is to be appreciated that various changes in form and detail may be made without departing from the spirit and scope of the present disclosure as presently or hereafter claimed.
The disclosure of the following Japanese Patent Application including specification, drawings and claims are incorporated herein by reference in its entirety: 2019-152453 filed on Aug. 23, 2019.
The present disclosure can be applied to a device for handling a malicious message that flows in a network in a truck, a bus, a construction machine, a tractor, a trailer, a ship, or the like, for example.
Number | Date | Country | Kind |
---|---|---|---|
JP2019-152453 | Aug 2019 | JP | national |
Number | Name | Date | Kind |
---|---|---|---|
9398043 | Yang | Jul 2016 | B1 |
11075930 | Xavier | Jul 2021 | B1 |
20060123479 | Kumar | Jun 2006 | A1 |
20080141372 | Massey | Jun 2008 | A1 |
20120254999 | Sallam | Oct 2012 | A1 |
20160352765 | Mermoud | Dec 2016 | A1 |
20180351980 | Galula | Dec 2018 | A1 |
20180375879 | Carlesimo | Dec 2018 | A1 |
20190052654 | Juliato | Feb 2019 | A1 |
20200389469 | Litichever | Dec 2020 | A1 |
20210105299 | Ma | Apr 2021 | A1 |
Number | Date | Country |
---|---|---|
2003-218869 | Jul 2003 | JP |
Entry |
---|
Murvay et al., “Security Shortcomings and Countermeasures for the SAE JI939 Commercial Vehicle Bus Protocol”, IEEE Transactions on Vehicular Technology, vol. 67, No. 5, May 2018, pp. 4325-4339. |
Japan Office Action issued in Japan Patent Application No. 2019-152453, dated Feb. 7, 2023, together with English translation thereof. |
Number | Date | Country | |
---|---|---|---|
20210058413 A1 | Feb 2021 | US |