WO2018135098A1 - 監視装置、監視方法およびコンピュータプログラム - Google Patents

監視装置、監視方法およびコンピュータプログラム Download PDF

Info

Publication number
WO2018135098A1
WO2018135098A1 PCT/JP2017/040173 JP2017040173W WO2018135098A1 WO 2018135098 A1 WO2018135098 A1 WO 2018135098A1 JP 2017040173 W JP2017040173 W JP 2017040173W WO 2018135098 A1 WO2018135098 A1 WO 2018135098A1
Authority
WO
WIPO (PCT)
Prior art keywords
frame
determination
target frame
determined
unit
Prior art date
Application number
PCT/JP2017/040173
Other languages
English (en)
French (fr)
Inventor
安齋 潤
芳賀 智之
Original Assignee
パナソニックIpマネジメント株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from JP2017007043A external-priority patent/JP6782444B2/ja
Priority claimed from JP2017056570A external-priority patent/JP6846706B2/ja
Application filed by パナソニックIpマネジメント株式会社 filed Critical パナソニックIpマネジメント株式会社
Priority to DE112017006854.1T priority Critical patent/DE112017006854T5/de
Publication of WO2018135098A1 publication Critical patent/WO2018135098A1/ja
Priority to US16/505,628 priority patent/US10986093B2/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R16/00Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
    • B60R16/02Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
    • B60R16/023Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements for transmission of signals between vehicle parts or subsystems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/407Bus networks with decentralised control
    • H04L12/413Bus networks with decentralised control with random access, e.g. carrier-sense multiple-access with collision detection [CSMA-CD]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3242Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard
    • H04L2012/40215Controller Area Network CAN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40267Bus for use in transportation systems
    • H04L2012/40273Bus for use in transportation systems the transportation system being a vehicle
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/84Vehicles

Definitions

  • the present invention relates to data processing technology, and more particularly to a monitoring device, a monitoring method, and a computer program.
  • ECUs electronice control units
  • a network connecting these ECUs is called an in-vehicle network.
  • CAN Controller Area Network
  • MAC Message Authentication Code
  • the present invention improves the security of the communication system.
  • the monitoring device includes a receiving unit and a processing unit.
  • the receiving unit receives a frame from the communication network.
  • the processing unit performs a first determination for determining whether the frame is illegal based on a result of message authentication for the frame, and a second determination for determining whether the frame is illegal based on a frame mode and a predetermined rule. Do.
  • the processing unit according to the combination of the first determination result and the second determination result, processing related to the frame, processing related to the transmission source device of the frame, change of content to be notified to the external device, and Perform at least one of the notification priority changes.
  • the monitoring method includes receiving a frame from a communication network.
  • the monitoring method also includes a first determination for determining whether the frame is illegal based on a result of message authentication for the frame, and a second determination for determining whether the frame is illegal based on a frame mode and a predetermined rule. And including.
  • the monitoring method includes a process related to the frame, a process related to the transmission source device of the frame, a change of content to be notified to the external device, and a change to the external device. Including performing at least one of the notification priority changes.
  • any combination of the above components, the aspect of the present invention converted between a computer program, a recording medium recording the computer program, a vehicle equipped with the apparatus, and the like are also effective as an aspect of the present invention. It is.
  • the security of the communication system can be improved.
  • FIG. 1 is a diagram illustrating a configuration of an in-vehicle network system according to the first embodiment.
  • FIG. 2 is a block diagram showing a functional configuration of the CGW of FIG.
  • FIG. 3 is a block diagram showing a functional configuration of the ECU of FIG.
  • FIG. 4 is a diagram illustrating fraud countermeasures for each fraud detection pattern.
  • FIG. 5 is a flowchart showing the operation of the CGW of FIG.
  • FIG. 6 is a flowchart showing the operation of the ECU of FIG.
  • FIG. 7 is a diagram illustrating a hardware configuration of a CGW according to a modification.
  • FIG. 8 is a diagram illustrating a configuration of the in-vehicle network system according to the second embodiment.
  • FIG. 9 is a block diagram showing a functional configuration of the ECU of FIG.
  • FIG. 10 is a diagram illustrating fraud detection patterns.
  • FIG. 11 is a flowchart showing the operation of the ECU of FIG.
  • FIG. 1 shows the configuration of the in-vehicle network system of the first embodiment.
  • the in-vehicle network system 12 is a communication system constructed in the vehicle 10 and has a function as a fraud detection system in the in-vehicle network.
  • the in-vehicle network system 12 includes an ECU 14a, an ECU 14b, an ECU 14c, an ECU 14d, an IVI (In-Vehicle Infotainment) device 16, an OBD (On-Board Diagnostics) adapter 18, a CGW (Central Gate Gateway) 20, and a CMI (Centralized). Monitoring and Interceptor) 22. These devices are connected via the CAN 24.
  • Each of the plurality of ECUs 14 is connected to a sensor or actuator (not shown), and transmits a frame indicating the content detected by the sensor to the CAN 24 or controls the actuator based on a command indicated by the frame received from the CAN 24.
  • the ECU 14a connected to the powertrain bus 26a among the plurality of buses of the CAN 24 is, for example, an engine ECU.
  • the ECU 14b connected to the driving support bus 26b is, for example, a steering ECU.
  • the ECU 14c connected to the chassis bus 26c is, for example, a suspension ECU.
  • the ECU 14d connected to the body bus 26d is, for example, a power window ECU.
  • the IVI device 16 is an information device that presents various information to the occupant, such as a car navigation device.
  • the IVI device 16 is connected to an external communication network 28 that is a communication network (such as the Internet) outside the vehicle 10.
  • the vehicle 10 is connected to the rule generation device 29 via the external communication network 28.
  • the rule generation device 29 is a server that generates a behavior rule described later.
  • the OBD adapter 18 is an adapter that outputs various information flowing through the CAN 24, for example, information indicating the operation state of the vehicle 10 to an external device.
  • the IVI device 16 and the OBD adapter 18 are connected to the external bus 26e among the plurality of buses of the CAN 24.
  • the external bus 26e is a bus through which a frame transmitted from a device other than the ECU 14 flows.
  • the frame flowing through the external bus 26e includes, for example, a frame transmitted from a device on the external communication network 28 side and a frame transmitted from a device connected to the OBD adapter 18.
  • the CGW 20 is a gateway ECU that is connected to a plurality of buses of the CAN 24 and executes frame relay processing and routing processing between the buses.
  • the CMI 22 is an ECU that is connected to a plurality of buses of the CAN 24 and monitors frames flowing through each bus.
  • the CMI 22 may be configured not to be connected to the CAN 24. In other words, the in-vehicle network system 12 may not include the CMI 22.
  • a monitoring module is introduced into a plurality of devices that support message authentication using MAC.
  • a monitoring module is introduced into the CGW 20 and some ECUs 14.
  • the CGW 20 and the ECU 14 in which the monitoring module is introduced function as a monitoring device that monitors an unauthorized frame (in other words, an unauthorized command) flowing through the CAN 24 and executes an unauthorized countermeasure.
  • a configuration in which a monitoring module is introduced only into the CGW 20 may be used, (2) a configuration in which a monitoring module is introduced only into the CMI 22, and (3) monitoring is performed only by the ECU 14 corresponding to message authentication using the MAC.
  • a configuration in which a module is introduced may be used.
  • FIG. 2 is a block diagram showing a functional configuration of the CGW 20 of FIG.
  • the CGW 20 includes a frame reception unit 30, a frame transmission unit 32, a MAC verification unit 34, a behavior verification unit 36, and a fraud countermeasure unit 38.
  • the functional configuration of the CMI 22 is the same as that in FIG.
  • one processing unit 110 may be configured as a monitoring module including the MAC verification unit 34, the behavior verification unit 36, and the fraud countermeasure unit 38.
  • each block shown in the block diagram can be realized by hardware such as a computer CPU (Central Processing Unit) and a memory and other elements and mechanical devices, and can be realized by a computer program and the like in software.
  • a computer program including a module corresponding to each block in FIG. 2 may be stored in the memory of the CGW 20.
  • the CPU of the CGW 20 may exhibit the function of each block by appropriately reading and executing the computer program.
  • the frame receiving unit 30 receives a frame from each CAN 24 bus.
  • the frame receiving unit 30 inputs the received frame data to the fraud countermeasure unit 38 through the MAC verification unit 34 and the behavior verification unit 36 together with the identification information of the bus that has received the frame.
  • the frame transmission unit 32 transmits a frame to each bus of the CAN 24. For example, the frame transmission unit 32 transfers a frame received from a certain bus to other buses other than the bus.
  • the MAC verification unit 34 performs message authentication on a frame (hereinafter also referred to as “target frame”) received by the frame reception unit 30. For example, the MAC verification unit 34 generates a MAC based on a predetermined common key for message authentication (hereinafter referred to as “MAC key”). The MAC verification unit 34 compares the generated MAC with the MAC previously added to the target frame by the transmission source device (for example, the ECU 14). The MAC verification unit 34 determines that the message authentication has succeeded when both MACs match, and determines that the message authentication has failed when both MACs do not match. The MAC verification unit 34 determines that the target frame is valid when the message authentication is successful, and determines that the target frame is invalid when the message authentication fails.
  • target frame a frame received by the frame reception unit 30.
  • MAC key a predetermined common key for message authentication
  • the behavior verification unit 36 determines whether or not the target frame is illegal based on the mode of the target frame and a predetermined behavior rule as the behavior verification processing.
  • the behavior verification unit 36 holds the behavior rule provided from the rule generation device 29 in a predetermined storage area.
  • the behavior rule includes a rule regarding the format of a frame (in other words, a message).
  • the specifications relating to the format specifically include provisions for fixed values in ID (IDentification), DLC (Data Length Code: data length code), payload and the like.
  • ID IDentification
  • DLC Data Length Code: data length code
  • payload and the like.
  • the behavior rule may specify that a specific fixed value is set at a predetermined position of the frame.
  • the behavior rule includes a rule regarding the behavior of the frame.
  • the rules relating to behavior specifically include the provision of variable values relating to period, frequency, and payload.
  • the behavior rule may include, for each of a plurality of IDs (also referred to as frame IDs and CAN-IDs), a range of time intervals from the previous frame reception to the current frame reception or a difference definition.
  • the behavior rule includes, for each frame ID, a restriction on the difference (allowable range, etc.) from the previously received frame for a data item set at a predetermined position in the payload or a data item with a predetermined name in the payload. May be included.
  • the behavior rule can include both a black list and a white list.
  • the behavior verification unit 36 determines that the target frame is invalid when the target frame satisfies the rule as a black list. Further, the behavior verification unit 36 determines that the target frame is illegal when the target frame deviates from the rule as the white list.
  • the fraud countermeasure unit 38 performs processing related to the target frame (also referred to as “command countermeasure”) and the frame transmission source in accordance with the combination of the fraud determination result by the MAC verification unit 34 and the fraud determination result by the behavior verification unit 36. At least one of processing related to the apparatus (also referred to as “ECU countermeasure”) is executed.
  • the fraud countermeasure unit 38 passes the target frame to the frame transmission unit 32 and transmits it to the CAN 24 when the target frame is determined to be valid in both the MAC verification and the behavior verification.
  • the fraud countermeasure unit 38 includes an invalidation unit 40, a received frame storage unit 42, a log storage unit 44, a rule update unit 46, a configuration information storage unit 48, a target detection unit 50, a program update unit 52, and a key update unit 54.
  • the invalidation unit 40 executes a process of deleting the target frame existing on the CAN 24 bus as the target frame invalidation process. Specifically, the invalidation unit 40 generates an error frame for the target frame, and causes the frame transmission unit 32 to output the error frame to the CAN 24. As a result, the target frame in another device (such as the ECU 14) on the CAN 24 is also invalidated.
  • the technique described in Non-Patent Document 1 may be applied to the frame invalidation process.
  • the CGW 20 executes an invalidation process for an unauthorized frame, but may perform a discard process (in other words, a filter process) for an unauthorized frame as in the ECU 14 described later.
  • the received frame storage unit 42 stores and accumulates a plurality of frames received by the frame receiving unit 30 in a predetermined storage area.
  • the received frame storage unit 42 may sequentially erase frames that have passed a predetermined time (such as 30 minutes) from the storage area.
  • the received frame storage unit 42 may store the frame data in association with the determination result by the MAC verification unit 34 and the determination result by the behavior verification unit 36 for the frame.
  • the log storage unit 44 stores at least log data related to the target frame when the MAC verification unit 34 determines that the target frame is invalid and the behavior verification unit 36 determines that the target frame is valid. Then, the stored log data is collected offline (for example, in maintenance at a dealer), and the determination result is transmitted to the rule generation device 29. As a result, the rule generation device 29 updates the behavior rule so that the target frame is determined to be invalid in the behavior verification.
  • the log storage unit 44 stores, as log data, rule update instruction data including a past frame whose ID matches the target frame among the frames held in the received frame storage unit 42 and the target frame. . For example, both the target frame and the past frame may designate a steering control command and designate a steering rotation angle.
  • the past frame may be a frame in which the combination of the determination result by the MAC verification unit 34 and the determination result by the behavior verification unit 36 is different from the target frame. Therefore, by providing the rule generation device 29 including the past frames, the behavior rule update by the rule generation device 29 can be supported.
  • the log storage unit 44 may include the determination result by the MAC verification unit 34 and the determination result by the behavior verification unit 36 for each of the past frame and the target frame in the rule update instruction data as log data.
  • a frame whose ID matches the target frame among frames received after the target frame may be included in the rule update data.
  • the rule generation device 29 distributes the generated or updated behavior rule to the vehicle 10 via the external communication network 28.
  • the rule update unit 46 acquires the behavior rule provided from the rule generation device 29 via the CAN 24. Then, the rule update unit 46 passes the acquired behavior rule to the behavior verification unit 36, and updates the behavior rule held by the behavior verification unit 36.
  • the configuration information storage unit 48 stores attribute information (herein referred to as “configuration information”) regarding various components of the CAN 24.
  • the configuration information of the embodiment includes the identification information of the bus to which each of the plurality of ECUs 14 is connected, and the ID of the frame transmitted by each of the plurality of ECUs 14.
  • the target detection unit 50 detects an ECU (hereinafter referred to as “target ECU”) that is a target of fraud countermeasures from the plurality of ECUs 14 based on the presence or absence of fraud in the plurality of frames transmitted from the plurality of ECUs 14.
  • the target detection unit 50 may detect the target ECU based on the fraud rate or the number of frauds of the frame transmitted from each ECU 14.
  • the target ECU may be an unauthorized ECU or an ECU taken over by an unauthorized person.
  • the object detection unit 50 accumulates the number of fraud determinations for each ID for a frame that is determined to be illegal by at least one of MAC verification and behavior verification.
  • the target detection unit 50 detects an ID whose number of fraud determinations is equal to or greater than a predetermined threshold (for example, five times), refers to the configuration information storage unit 48, and sends the ECU 14 that transmits the frame of the ID to the target ECU. Detect as.
  • any one measure may be executed, or a combination of two or more measures may be executed.
  • the invalidation unit 40 refers to the configuration information stored in the configuration information storage unit 48 and executes a process of invalidating all ID frames that can be transmitted from the target ECU.
  • the invalidation unit 40 refers to the configuration information stored in the configuration information storage unit 48, identifies the bus of the CAN 24 to which the target ECU is connected, and all the frames received by the frame reception unit 30 from the identified bus. Execute processing to invalidate the frame.
  • the program update unit 52 executes a process (that is, reprogramming) for updating a computer program stored in a ROM (Read-Only Memory) of the target ECU.
  • the CGW 20 may hold a regular program for each ECU 14 in advance, and the program update unit 52 may overwrite and store the regular program for the target ECU in the ROM of the target ECU.
  • the program update unit 52 may acquire a regular program for the target ECU from an external server via the external communication network 28 and overwrite-save it in the ROM of the target ECU.
  • the key update unit 54 updates the MAC key, which is a common key used across the plurality of ECUs 14.
  • the key update unit 54 distributes the updated MAC key to the plurality of ECUs 14.
  • the key update unit 54 transmits the updated MAC key to all the ECUs 14 to change the MAC keys used by all the ECUs 14. .
  • the key update unit 54 transmits the updated MAC key to the remaining ECUs 14 excluding the target ECU, and changes the MAC key used by the ECUs 14 other than the target ECU.
  • the key update unit 54 may distribute a MAC key encrypted using a different key (a key different from the MAC key) for each predetermined ECU to each ECU.
  • the key update unit 54 is a case where the MAC verification unit 34 determines that the target frame is valid, and the behavior verification unit 36 determines that the target frame is invalid, and the target frame is from other than the ECU 14.
  • the MAC keys used by all the ECUs 14 are updated. In this determination, since the MAC verification is successful, the MAC key may be leaked. An illegal frame is injected from the outside. Therefore, updating the MAC keys used by all ECUs 14 eliminates the risk of MAC key leakage and improves security.
  • the key update unit 54 updates the MAC key used by the ECU 14 other than the target ECU.
  • FIG. 3 is a block diagram showing a functional configuration of the ECU 14 of FIG.
  • FIG. 3 shows a functional configuration of the ECU 14 corresponding to message authentication using the MAC among the plurality of ECUs 14 in FIG.
  • the same reference numerals are given to the functional blocks that are the same as or correspond to the functional blocks of the CGW 20 described in FIG. 2.
  • the content already described in relation to FIG. 2 will be omitted as appropriate.
  • the ECU 14 includes a frame reception unit 30, a frame transmission unit 32, a MAC verification unit 34, a behavior verification unit 36, a fraud countermeasure unit 38, a command execution unit 56, and a frame generation unit 58.
  • the command execution unit 56 executes a command specified by the frame.
  • the command execution unit 56 controls an actuator connected to its own ECU according to the command.
  • the frame generation unit 58 generates a frame specifying a command for an external device (for example, another ECU 14), and passes the generated frame to the frame transmission unit 32 for transmission.
  • the fraud countermeasure unit 38 of the ECU 14 includes a received frame storage unit 42, a log storage unit 44, a rule update unit 46, a configuration information storage unit 48, a target detection unit 50, a program update unit 52, a key update unit 54, a filter unit 60, a mode.
  • a switching unit 62 is included.
  • the filter unit 60 corresponds to the invalidation unit 40 in the CGW 20 and executes a command countermeasure of the ECU 14. Specifically, the filter unit 60 discards the target frame determined to be illegal, in other words, discards the command specified in the target frame. For example, the filter unit 60 may delete the data of the target frame from a memory (not shown) inside the ECU 14.
  • the ECU 14 executes the ECU measures described above. However, in the ECU countermeasures (1) and (2) in the CGW 20 of the embodiment, the frame invalidation process is executed. In the ECU countermeasures (1) and (2) in the ECU 14, the frame discarding process, in other words, the filtering process is performed. Execute. ECU measures (3) and (4) are the same as those of CGW20.
  • the mode switching unit 62 determines that the frame transmitted via the CGW 20 is invalid in the behavior verification, the mode switching unit 62 is connected to a plurality of buses and the security function of the CGW 20 that is the key of the in-vehicle network is broken. It judges that there exists, and switches the mode of the automatic driving
  • the mode switching unit 62 may refer to the configuration information stored in the configuration information storage unit 48 and specify the transmission source ECU 14 based on the ID of the target frame determined to be illegal.
  • the mode switching unit 62 may determine that the target frame has been relayed by the CGW 20.
  • the fail safe mode may be a state in which automatic driving control (in other words, electric driving support processing) is turned off.
  • the mode switching unit 62 according to the embodiment further increases the safety of vehicle driving by shifting the automatic driving to the fail-safe mode when the frame transmitted via the CGW 20 is illegal.
  • the CMI 22 may include a mode switching unit 62.
  • the mode switching unit 62 may be switched to the fail-safe mode.
  • the security basic device corresponds to, for example, a device (CGW 20, ECU 14, etc.) that holds a key for each ECU 14 and distributes the MAC key encrypted with the key for each ECU to each ECU 14.
  • the mode switching unit 62 refers to the configuration information stored in the configuration information storage unit 48 and determines whether the transmission source of the target frame is a security basic device based on the ID of the target frame determined to be illegal. Good.
  • Fig. 4 shows fraud countermeasures by fraud detection pattern.
  • the devices into which the monitoring module can be introduced that is, for example, the ECU 14, the CGW 20, and the CMI 22 are collectively referred to as “monitoring devices”.
  • the command countermeasure column in FIG. 4 shows processing when the monitoring device is the ECU 14, CGW 20, or CMI 22.
  • the fraud countermeasure unit 38 of the monitoring device discards or invalidates the target frame as a command countermeasure. Note that the reason why the command countermeasure in the ECU 14 in the pattern 2 is “none” is that the ECU 14 corresponding to the message authentication normally executes error processing along with NG of the MAC verification. In Pattern 2, the command countermeasure of the CGW 20 is invalid because it is effective as a countermeasure against a DoS attack (Denial of Service attack).
  • the fraud countermeasure unit 38 executes one or more of the four types of ECU countermeasures. In the case of pattern 5, the fraud countermeasure unit 38 updates the MAC keys of all ECUs 14 as an ECU countermeasure.
  • the fraud countermeasure unit 38 of the monitoring device uses the rule update instruction data including the target frame and the frames before and after the target frame. Is stored as log data, the rule generation device 29 is made to update the behavior rule based on the target frame and the frames before and after the target frame. For example, when the monitoring device receives the target frame again, the rule generation device 29 updates the behavior rule so as to detect fraud in the behavior verification.
  • the pattern 4 and 4 are patterns in which a frame transmitted from the ECU 14 that does not support message authentication using the MAC is illegal. That is, since the MAC is not added to the frame, the MAC verification cannot be performed, and the fraud is detected by the behavior verification.
  • the pattern 3 is a pattern in which the target frame determined to be illegal is transmitted from the ECU 14, and the pattern 4 is a pattern in which the target frame determined to be illegal is injected from the outside (in other words, received from the external bus 26 e). ) Pattern.
  • the fraud countermeasure unit 38 of the monitoring device discards or invalidates the target frame as a command countermeasure.
  • Pattern 4 is a situation in which an illegal frame is injected externally, and since there is no leakage of the MAC key, the ECU countermeasure is not executed.
  • the fraud countermeasure unit 38 executes the same ECU countermeasure as in pattern 1 and the like.
  • FIG. 5 is a flowchart showing the operation of the CGW 20 of FIG.
  • the frame receiving unit 30 receives a frame from the CAN 24 (S10).
  • the MAC verification unit 34 performs MAC verification on the received target frame to determine whether the target frame is valid or illegal (S12).
  • the behavior verification unit 36 performs behavior verification on the received target frame to determine whether the target frame is valid or invalid (S14).
  • the fraud countermeasure unit 38 passes the target frame to the frame transmission unit 32, and the frame transmission unit 32 receives the frame ID, the transfer source, and so on.
  • the target frame is transferred according to the routing table in which the bus and the destination bus are associated (S18).
  • the fraud countermeasure unit 38 causes the rule generation device 29 to update the behavior rule. Log data including the target frame and the frames before and after it are stored (S22).
  • the fraud countermeasure unit 38 is shown in FIG. Command countermeasures are executed (S24).
  • the fraud countermeasure unit 38 identifies a target ECU that has a high possibility of being hijacked (S28). The fraud countermeasure unit 38 executes ECU countermeasures regarding at least one of the target ECU and the other ECU 14 (S30). If ECU countermeasures are unnecessary (N in S26), S28 and S30 are skipped.
  • FIG. 6 is a flowchart showing the operation of the ECU 14 of FIG.
  • the processing of S40 to S44 is the same as S10 to S14 of FIG.
  • the fraud countermeasure unit 38 passes the target frame to the command execution unit 56, and the command execution unit 56 is designated by the target frame.
  • Data processing is executed according to the command (S48).
  • the fraud countermeasure unit 38 shifts the automatic driving of the vehicle 10 to the fail-safe mode ( S52). After N in S50, the processes in S54 to S64 are the same as S20 to S30 in FIG.
  • the monitoring device for example, ECU 14, CGW 20
  • the type of security threat is recognized in detail, and the appropriate type according to the type of threat Command measures and ECU measures are automatically executed.
  • the security of the vehicle-mounted network system 12 can be secured. For example, it is possible to detect the leakage of the MAC key and take over of the MAC-compatible ECU, and appropriately update the MAC key and reprogram the ECU. Further, when there is an ECU 14 that does not support MAC in the in-vehicle network system 12 and the ECU 14 that does not support MAC is exposed to a threat, it is easy to ensure security.
  • the behavior verification unit 36 of the embodiment classifies the target frame as legitimate or illegal, as a modification, the behavior verification unit 36 determines the degree of deviation (or the degree of matching) between the mode of the target frame and the behavior rule. Accordingly, the target frame may be classified into one of valid, illegal, and gray.
  • the log storage unit 44 of the fraud countermeasure unit 38 stores rule update instruction data including the target frame and a past frame having the same ID as log data.
  • the rule update instruction data may include a frame with the same ID received after the target frame. Thereby, the stored log data is collected offline and notified to the rule generation device 29, and the rule generation device 29 behaves so as to determine, for example, that the target frame is invalid, and updates the rule.
  • the behavior verification unit 36 evaluates a target frame with each of a plurality of detection parameters, and determines an intermediate determination result based on each detection parameter (whether the data of the target frame conforms to a rule corresponding to each detection parameter.
  • the final determination result may be invalid when four or more intermediate determination results are invalid.
  • the final determination result may be justified as long as the number of intermediate determination results that are incorrect is three or less.
  • the behavior verification unit 36 accumulates the number of times that the intermediate determination result is invalid for each frame ID (or command ID) specified in each frame.
  • the behavior verification unit 36 determines that the frame of the ID whose cumulative number of intermediate determination results is invalid exceeds a predetermined threshold (for example, 10 times) is gray.
  • the behavior verification unit 36 may accumulate the number of times that the intermediate determination result is invalid with all frames as a population without being distinguished by the frame ID (command ID). The behavior verification unit 36 may determine that the intermediate number is gray when the cumulative total number of invalid intermediate determination results exceeds a predetermined threshold (for example, 10 times). In this case, the log storage unit 44 may store rule update instruction data including all frames received during a certain past period as log data.
  • the behavior rule can be updated appropriately, and the security of the in-vehicle network system 12 can be improved.
  • the behavior verification unit 36 may set the final determination result of the target frame as “invalid” when the cumulative number of fraud determinations associated with the ID of the target frame exceeds a predetermined threshold.
  • the command countermeasure and the ECU countermeasure are executed based on the frame determined to be gray, and the security of the in-vehicle network system 12 can be further enhanced.
  • FIG. 7 shows a hardware configuration of the CGW 20 according to the modification.
  • the CGW 20 includes a CPU 70, a monitoring module 72, a LAN (Local Area Network) controller 74, and a LAN controller 76.
  • the LAN controller 74 and the LAN controller 76 are connected to each bus of the CAN 24.
  • the CPU 70 controls the overall operation of the CGW 20 and executes the functions of the functional blocks shown in FIG.
  • the monitoring module 72 is an LSI (Large-Scale Integration) that is physically different from the CPU 70, in other words, an LSI that is physically separated or independently mounted from the CPU 70.
  • the monitoring module 72 executes the functions of the MAC verification unit 34, the behavior verification unit 36, and the fraud countermeasure unit 38 among the functional blocks shown in FIG.
  • the function of the fraud countermeasure unit 38 included in the monitoring module 72 includes at least the function of determining the command countermeasure and ECU countermeasure for each pattern shown in FIG.
  • the CPU 70 and the monitoring module 72 execute fraud determination processing for the same target frame in parallel with each other.
  • the monitoring module 72 determines whether or not the CPU 70 is normal based on the result of the fraud determination process and the content of the frame processing in the CPU 70. For example, the monitoring module 72 determines that the CPU 70 (especially the routing function of the CPU 70) is the case where the target frame is determined to be invalid in at least one of MAC verification and behavior verification and the CPU 70 transmits the target frame to the CAN 24. ) Is determined to be abnormal.
  • the monitoring module 72 determines that the CPU 70 is abnormal when the target frame is determined to be valid in both the MAC verification and the behavior verification, and when the CPU 70 discards or invalidates the target frame.
  • the monitoring module 72 may execute at least one of predetermined error processing, recovery processing, and notification processing to a passenger or an external person.
  • the CPU 70 of the CGW 20 is hijacked by an unauthorized person, the fact can be detected by the monitoring module 72 and processing for eliminating the security threat can be executed.
  • the CPU 70 and the monitoring module 72 may be implemented by being separated virtually or logically.
  • the example of CGW20 was shown here, the structure of this modification is applicable also in ECU14 which operate
  • the in-vehicle network is CAN.
  • the in-vehicle network may be Ethernet (registered trademark, hereinafter the same), and in this case, the ECU 14 and the CGW 20 have the same configuration as the embodiment. Can be applied.
  • CAN and Ethernet may be mixed in the in-vehicle network.
  • the CGW 20 as the monitoring device may further have a function of connecting the CAN and the Ethernet and mutually converting the CAN frame and the Ethernet frame.
  • the CGW 20 suppresses conversion of a CAN frame determined to be invalid into at least one of MAC verification and behavior verification into an Ethernet frame. Similarly, the conversion of the Ethernet frame determined to be illegal to a CAN frame is suppressed.
  • the CGW 20 may be connected to a plurality of CAN buses and a plurality of Ethernet buses. In this case, if a certain frame is determined to be illegal in at least one of the MAC verification and the behavior verification, the CGW 20 may suppress the conversion and relay of all frames from the bus through which the frame flows to another bus. Good. Furthermore, the CGW 20 may suppress conversion and relay of all frames from another bus to a bus through which a frame determined to be illegal flows.
  • the CGW 20 may have an Ethernet security function (for example, a firewall function, a MAC address filter, etc.).
  • the CGW 20 may handle the fact that the target frame is determined to be illegal in at least one of the security function and the MAC verification in Ethernet in the same manner as the case where the MAC verification determines that it is illegal in the embodiment.
  • the CGW 20 determines that the accuracy of the fraud is high when the target frame is determined to be illegal by both the security function and the MAC verification in the Ethernet, and instead of executing the command countermeasure and the ECU countermeasure, Along with the execution of the ECU countermeasure, the automatic driving mode of the vehicle 10 may be shifted to the fail safe mode.
  • the fourth modified example is not limited to the CGW 20 and can be applied to all devices that connect different types of networks.
  • the ECU 14 and the CGW 20 of the in-vehicle network system 12 may be equipped with a security chip (Trusted Platform Module, hereinafter referred to as “TPM”) that determines whether or not the device itself has been tampered with.
  • TPM Trusted Platform Module
  • the target detection unit 50 of the monitoring device may inquire at least whether or not the TPM of the ECU that has transmitted the frame determined to be illegal by the behavior verification is falsified (Attestation).
  • the target detection unit 50 may inquire whether or not the SoC (System ⁇ ⁇ ⁇ ⁇ on Chip) of the CGW 20 has been tampered with.
  • SoC System ⁇ ⁇ ⁇ ⁇ on Chip
  • the target detection unit 50 determines that the inquiry target device (for example, the CGW 20 or the ECU 14) is illegal, in other words, determines that it is a target device for fraud countermeasures.
  • the monitoring device includes a receiving unit and a processing unit.
  • the receiving unit receives a frame from the communication network.
  • the processing unit performs a first determination for determining whether the frame is illegal based on a result of message authentication for the frame, and a second determination for determining whether the frame is illegal based on a frame mode and a predetermined rule. Do.
  • the processing unit executes at least one of a process related to the frame and a process related to the frame transmission source device in accordance with the combination of the result of the first determination and the result of the second determination.
  • This monitoring device can improve the security of the communication system.
  • the processing unit may execute a process of discarding or invalidating the determination target frame.
  • the processing unit may detect a fraud countermeasure target device from the plurality of transmission source devices based on the presence / absence of fraud in the plurality of frames transmitted from the plurality of transmission source devices. Good. Further, in these cases, the processing unit (1) discards or invalidates the frame transmitted from the target device, (2) updates the computer program in the target device, and (3) transmits other than the target device. At least one of processing for updating a message authentication key in the source device and (4) processing for discarding or invalidating a frame received from the bus of the communication network to which the target device is connected may be executed.
  • the processing unit may execute a process of updating a message authentication key in a predetermined transmission source device.
  • the message authentication key can be updated to reduce the security risk.
  • the processing unit may store at least log data regarding the determination target frame.
  • the processing unit classifies the determination target frame as one of valid, illegal, and gray according to the degree of deviation between the mode of the determination target frame and the rule, and if the determination target frame is classified as gray, at least the determination target Log data regarding the frame may be stored.
  • the monitoring device may be an electronic control unit mounted on the vehicle.
  • the processing unit may switch the automatic driving mode of the vehicle to the fail-safe mode when a frame transmitted via a predetermined gateway device in the in-vehicle network is determined to be illegal by the second determination.
  • the vehicle driving safety can be further improved.
  • the monitoring method performed by the computer includes receiving a frame from the communication network.
  • the monitoring method also includes a first determination for determining whether the frame is illegal based on a result of message authentication for the received frame, and whether the frame is illegal based on a received frame mode and a predetermined rule. And performing a second determination for determining. Further, the monitoring method executes at least one of processing related to the received frame and processing related to the transmission source device of the received frame according to a combination of the result of the first determination and the result of the second determination. Including.
  • the computer program causes the computer to receive a frame from the communication network. Further, the computer program determines whether the frame is illegal based on a first determination for determining whether the frame is illegal based on a result of message authentication for the received frame, and a mode of the received frame and a predetermined rule. And causing the computer to execute the second determination. Further, the computer program executes at least one of a process related to the received frame and a process related to the transmission source device of the received frame according to a combination of the result of the first determination and the result of the second determination. Let the computer run.
  • This computer program can improve the security of the communication system.
  • the security state of the vehicle is determined based on the result of the MAC verification and the result of the behavior verification, and appropriate content is determined at an appropriate timing according to the security state of the vehicle.
  • An in-vehicle network system that transmits to the cloud will be described.
  • the same or corresponding blocks as those of the first embodiment are denoted by the same reference numerals as those of the first embodiment. Further, the contents already described in the first embodiment are omitted as appropriate, and a configuration different from the first embodiment will be mainly described.
  • FIG. 8 shows the configuration of the in-vehicle network system according to the second embodiment.
  • the hardware configuration of the in-vehicle network system 12 is the same as that in the first embodiment.
  • the vehicle 10 is connected to the vehicle monitoring server 100 via the external communication network 28.
  • the vehicle monitoring server 100 provides a service according to the security state of the vehicle 10.
  • the vehicle monitoring server 100 may have a function corresponding to the fraud countermeasure unit 38 implemented in the CGW 20, the ECU 14, or the like in the first embodiment.
  • the vehicle monitoring server 100 may instruct the vehicle 10 to perform reprogramming or key update of the ECU 14 according to the security state of the vehicle 10 notified from the vehicle 10.
  • the vehicle monitoring server 100 includes the function of the rule generation device 29 according to the first embodiment.
  • a monitoring module is introduced into the ECU 14 corresponding to message authentication using MAC.
  • the ECU 14 in which the monitoring module is introduced functions as a monitoring device that monitors an illegal frame (in other words, an illegal command) flowing through the CAN 24 and notifies the vehicle monitoring server 100 of the monitoring result.
  • a configuration in which the monitoring module is introduced only into the CGW 20 may be used, or (ii) a configuration in which the monitoring module is introduced into only the CMI 22 may be used.
  • the ECU 14 corresponding to message authentication using the CGW 20 and MAC Alternatively, a configuration may be adopted in which a monitoring module is introduced.
  • FIG. 9 is a block diagram showing a functional configuration of the ECU 14 of FIG.
  • the ECU 14 includes a frame reception unit 30, a frame transmission unit 32, a MAC verification unit 34, a behavior verification unit 36, a rule update unit 46, a command execution unit 56, a frame generation unit 58, and a notification unit 114.
  • the configuration is the same as that of FIG.
  • the 9 may configure the processing unit 110 as a monitoring module.
  • the frame reception unit 30, the frame transmission unit 32, the MAC verification unit 34, the behavior verification unit 36, the rule update unit 46, the command execution unit 56, and the frame generation unit 58 in FIG. 9 have the same functions as those in the first embodiment. Therefore, the description is omitted.
  • the reporting unit 114 receives a frame (hereinafter also referred to as “target frame”) received from the CAN 24 from the frame receiving unit 30. In addition, the reporting unit 114 acquires the result of MAC verification for the target frame from the MAC verification unit 34 and acquires the result of behavior verification for the target frame from the behavior verification unit 36. The reporting unit 114 sets the content to be reported to the vehicle monitoring server 100 or the priority of the report based on the combination of the MAC verification result and the behavior verification result for the target frame, and the vehicle between the target frames The content to be notified to the monitoring server 100 or the priority of the notification is changed. In the embodiment, both the contents to be reported and the priority of the report are changed.
  • the reporting unit 114 includes a received frame storage unit 42, a configuration information storage unit 48, an analysis unit 120, a message generation unit 122, and a message output unit 124.
  • the received frame storage unit 42 stores and accumulates a plurality of frames received by the frame receiving unit 30 in a predetermined storage area.
  • the reception frame storage unit 42 may sequentially erase frames from which the predetermined time has elapsed after being received (preset) from the storage area.
  • the reception frame storage unit 42 may store the frame data, the determination result by the MAC verification unit 34, and the determination result by the behavior verification unit 36 in association with each other.
  • the configuration information storage unit 48 stores attribute information (herein referred to as “configuration information”) regarding various components of the CAN 24.
  • the configuration information of the embodiment includes IDs of a plurality of ECUs 14 and IDs of commands included in a frame transmitted by each of the plurality of ECUs 14.
  • the configuration information may include a frame ID (in other words, CAN-ID) instead of the command ID.
  • the configuration information may include a frame ID (CAN-ID) together with the command ID.
  • the configuration information of the embodiment includes information in which IDs of a plurality of commands are associated with the transmission frequency of each command.
  • the command transmission frequency may be a frequency (for example, the number of transmissions per unit time) at which the transmission source ECU transmits a frame including the command.
  • the configuration information of the embodiment includes information in which IDs of a plurality of commands are associated with IDs of other commands related to each command.
  • the other command related to the specific command may be another command having a dependency relationship with the specific command, or may be another command transmitted in pairs with the specific command.
  • another command related to the vehicle speed control command may be a brake actuator control command.
  • the analysis unit 120 identifies the fraud detection pattern of the target frame based on the combination of the MAC verification result and the behavior verification result for the target frame.
  • FIG. 10 shows a fraud detection pattern.
  • the analysis unit 120 identifies one of the seven fraud detection patterns illustrated in FIG. 10 as the fraud detection pattern of the target frame.
  • the analysis unit 120 indicates that the MAC verification result for a frame including a certain command ID (which may be a frame ID) indicates valid (“OK” in FIG. 10), and the behavior verification result indicates invalid (“NG” in FIG. 10).
  • the reception frame storage unit 42 is referred to, and the reception frequency of the frame including the command ID is specified.
  • the identified reception frequency matches the transmission frequency of the command ID stored in the configuration information storage unit 48 (for example, the difference between the identified reception frequency and the transmission frequency of the command ID is within a predetermined range) It is identified as pattern 1.
  • the specified reception frequency exceeds the transmission frequency (for example, when the difference between the specified reception frequency and the transmission frequency of the command ID exceeds a predetermined threshold)
  • the pattern 5 is identified.
  • pattern 1 when the ECU is hijacked (pattern 1), the transmission frequency does not change, but when an illegal command is injected externally (pattern 5), the command transmitted by the normal ECU and the external This is because the presence of both injected commands increases the reception frequency.
  • the target frames that can be classified into the pattern 3 or the pattern 4 are frames to which no MAC code value is added, in other words, frames that are not subject to MAC verification by the MAC verification unit 34.
  • the analysis unit 120 does not have a MAC verification result for a frame including a certain command ID (may be a frame ID) (“n / a” in FIG. 10), and the behavior verification result indicates invalid (“NG” in FIG. 10).
  • the reception frequency of the frame including the command ID is specified. When the identified reception frequency matches the transmission frequency of the command ID stored in the configuration information storage unit 48, it is identified as pattern 3. On the other hand, if the specified reception frequency exceeds the transmission frequency, the pattern 4 is identified.
  • the analysis unit 120 identifies the ID of the ECU that may have been hijacked when the pattern 1 or the pattern 3 is identified as the fraud detection pattern of the target frame. For example, the analysis unit 120 refers to the configuration information storage unit 48 and identifies the ECU associated with the command ID indicated by the target frame as an ECU that may have been hijacked.
  • the hijacking of the ECU includes that an unexpected program is being executed by the ECU.
  • the message generation unit 122 generates a message for reporting the information about the target frame to the vehicle monitoring server 100 according to the fraud detection pattern of the target frame identified by the analysis unit 120. This message indicates the security state of the vehicle 10.
  • the message generator 122 includes the report content and additional information of FIG. 10 corresponding to the fraud detection pattern of the target frame in the message.
  • the message generation unit 122 is a frame in which the above message is set in the payload, and generates a notification frame for reporting the security state (specifically, the fraud detection state) of the vehicle 10 to the vehicle monitoring server 100.
  • the message generator 122 may divide the message into a plurality of pieces and generate a plurality of notification frames each including the divided messages.
  • the message output unit 124 outputs the notification frame generated by the message generation unit 122 to the frame transmission unit 32 and causes the frame transmission unit 32 to output it to the CAN 24.
  • the notification frame is transmitted to the vehicle monitoring server 100 via the CAN 24, the external bus 26e, and the external communication network 28.
  • the message generator 122 includes the report content of pattern 1 in FIG. 10 in the message.
  • the message generator 122 includes additional information (A), (B), and (C) in the message.
  • the text in the “proposed threat” column in FIG. 10 may be included in the message instead of the text in the “report content” column in FIG.
  • the message generator 122 includes the result of MAC verification and behavior verification as additional information (A) in the message. Further, the message generator 122 includes the command ID included in the target frame in the message as additional information (B). Further, the message generation unit 122 includes the ID of the ECU (referred to herein as “illegal ECU”) identified by the analysis unit 120 as additional information (C) in the message.
  • the message generation unit 122 refers to the configuration information storage unit 48 and identifies the command ID associated with the unauthorized ECU, that is, the command ID transmitted by the unauthorized ECU, and adds the command ID to the additional information ( Include in the message as C).
  • the message generation unit 122 includes only (A) and (B) as additional information in the message. This is because both MAC verification and behavior verification are functioning, and the problem is smaller than in the case of pattern 1 (intentionally, in this case, by reducing the additional information, the effect of reducing the amount of communication is increased. ) As a modification, additional information similar to pattern 1 (that is, (A) to (C)) may be included in the message.
  • the processing of the message generator 122 when the fraud detection pattern of the target frame is pattern 6 will be described.
  • the pattern 6 may have been OK where the behavior verification should originally be NG, that is, the behavior verification rule may be incomplete.
  • the message generator 122 includes the report content of pattern 6 in FIG. 10 in the message.
  • the message generator 122 includes additional information (A), (B), (D), and (E) in the message.
  • the message generation unit 122 refers to the received frame storage unit 42, is a frame in which the same ID as the frame ID of the target frame is set, and a predetermined number (for example, 10) received before the target frame. Frames).
  • the message generation unit 122 refers to the received frame storage unit 42 and is a frame in which the same ID as the frame ID of the target frame is set, and a predetermined number (for example, 10) of frames received after the target frame. Is identified.
  • the message generator 122 includes the command ID included in each identified frame as additional information (D) in the message.
  • the message generation unit 122 may include the entire data of a predetermined number of frames received before and after the target frame as additional information (D) in the message.
  • the message generation unit 122 refers to the information stored in the configuration information storage unit 48, specifies the ID of another command related to the command included in the target frame, and sets the ID of the other command as additional information (E ) In the message.
  • the message generation unit 122 may include, as additional information (E), the entire data of a predetermined number of frames including the IDs of the other commands in the message.
  • the message generator 122 separately generates the first message including the report content and the additional information (A) and (B) and the second message including the additional information (D) and (E).
  • the reason for generating in this way is that the notification timing of the first message is different from the notification timing of the second message, as will be described later.
  • the message generator 122 does not generate a frame when the fraud detection pattern of the target frame is the pattern 7. However, if the state in which the fraud detection pattern is pattern 7 continues for a predetermined time or longer, the message generator 122 may generate a frame indicating that there is no abnormality in security periodically (for example, every 1 minute). Good.
  • the message generator 122 sets the priority (FIG. 10) according to the fraud detection pattern of the target frame to the notification frame. If the fraud detection pattern of the target frame is pattern 1 or 5, the message generator 122 sets the priority to high, that is, sets a higher priority to the report frame than other communications other than the report frame. This is because pattern 1 or 5 has a high possibility that the MAC key has been leaked or the ECU has been hijacked, and should be dealt with immediately.
  • the message generator 122 sets the priority to low, that is, sets a lower priority to the communication frame than other communications other than the notification frame. This is because the illegal commands can be detected without any problem in the patterns 2 to 4. Moreover, this is because the determination target frames of the patterns 3 and 4 are not assigned MAC, and the determination target frame to which no MAC is assigned is low in driving importance.
  • the message generator 122 sets the priority of the frame of the first message including the report content and the additional information (A) (B) to medium. In other words, the same priority is set for the report frame as for other communications other than the report frame. This is because the MAC verification is NG, so damage caused by an illegal command can be avoided, but the behavior verification is OK, and the behavior verification rules should be improved. Further, the message generator 122 sets the priority of the frame of the second message including the additional information (D) and (E) to low. This is because the additional information (D) and (E) has a large amount of data. However, when the amount of communication such as CAN 24 is free, the frame priority of the second message including the additional information (D) and (E) may be set to medium.
  • the message generation unit 122 may give an ID preferentially transmitted by the CAN 24 to the notification frame whose priority is set high.
  • the message output unit 124 may immediately output the notification frame having a high priority set to the CAN 24 regardless of whether other frames are being transmitted.
  • the message generator 122 gives data instructing the IVI device 16 connected to the external communication network 28 to transmit the notification frame with priority set to high priority over other communications. May be.
  • the other communication may include transmission / reception of information necessary for the automatic driving of the vehicle 10, and may include, for example, uploading and downloading of a dynamic map and sign information.
  • the message generation unit 122 may give an ID that is handled by the CAN 24 with the same priority as other types of frames to the notification frame with the priority set to medium.
  • the message output unit 124 may output the notification frame with the medium priority set to the CAN 24 while no other frame is transmitted. Further, the message generation unit 122 gives data instructing the IVI device 16 to handle and transmit the notification frame set to the medium priority in the same manner as other communication (for example, to transmit by first-come-first-served basis). May be.
  • the message generation unit 122 may give an ID that is handled by the CAN 24 with a lower priority than other types of frames to the notification frame whose priority is set to low.
  • the message output unit 124 may output a report whose priority is set to low to the CAN 24 during communication idle time such as ignition off or power off.
  • the message generation unit 122 may add data instructing the IVI device 16 to transmit to the notification frame whose priority is set to low so that it is transmitted with a lower priority than other communications.
  • the message generation unit 122 may add data instructing the IVI device 16 to transmit to the vehicle monitoring server 100 during the idle state of the communication process to the notification frame whose priority is set to low.
  • the message generation unit 122 may save the notification frame set with a priority other than high as a log in the non-volatile memory as in the first embodiment.
  • the message output unit 124 may read the notification frame stored in the non-volatile memory and output the notification frame to the CAN 24 when the transmission of the notification frame becomes possible, such as when the CAN 24 is empty.
  • the vehicle 10 may include a plurality of communication devices, and may include, for example, an IVI device 16, a TCU (Telematics Communication Unit) (not shown), and an emergency communication unit (not shown).
  • the IVI device 16 may be connected to WiFi (Wireless Fidelity) (registered trademark).
  • the TCU may be connected to a 4G / LTE (Long Term Evolution) (registered trademark) network.
  • the emergency communication unit may be connected to a 3G network.
  • the emergency communication unit may be used to execute the notification process.
  • the notification processing may be executed using the TCU.
  • the notification priority is low, the notification processing may be executed using the IVI device 16.
  • the communication processing may be executed by selecting an available communication network from among a plurality of types of communication networks.
  • the priority of the notification is high, the use of the high-speed communication network by other communication may be stopped and the notification processing may be executed using the high-speed communication network.
  • FIG. 11 is a flowchart showing the operation of the ECU 14 of FIG.
  • the frame receiving unit 30 receives a frame from the CAN 24 (S70).
  • the MAC verification unit 34 performs MAC verification on the received target frame to determine whether the target frame is valid or illegal (S72).
  • the behavior verification unit 36 performs behavior verification on the received target frame to determine whether the target frame is valid or invalid (S74).
  • the message output unit 124 of the reporting unit 114 passes the target frame to the command execution unit 56.
  • the command execution unit 56 executes data processing according to the command specified in the target frame (S78).
  • the message generation unit 122 periodically generates a frame indicating that the security state of the vehicle 10 is normal.
  • the message output unit 124 transmits the frame to the vehicle monitoring server 100.
  • the analysis unit 120 of the reporting unit 114 selects the fraud detection pattern of the target frame from the seven patterns in FIG. One pattern is specified (S80).
  • the message generation unit 122 sets a message to be notified to the vehicle monitoring server 100 and the priority of notification according to the specified fraud detection pattern of the target frame (S82).
  • the message output unit 124 transmits a notification frame including the message generated by the message generation unit 122 to the vehicle monitoring server 100 according to the priority set by the message generation unit 122 (S84).
  • the reporting unit 114 changes the content and priority of the reporting frame for each frame in which fraud is detected according to the fraud detection pattern.
  • the communication unit (not shown) of the vehicle 10 downloads and uploads a dynamic map for automatic driving (hereinafter referred to as “other communication”). .) May be processed with higher priority, and the notification frame may be transmitted to the vehicle monitoring server 100.
  • the communication unit may process the notification frame with the same priority (for example, first-come-first-served basis) as other communications.
  • the communication unit may postpone processing of the notification frame if other communication is being processed.
  • reporting the appropriate content to the vehicle monitoring server 100 at an appropriate timing according to the security state of the vehicle 10 (in other words, each device in the in-vehicle network system 12). Can do.
  • the behavior verification unit 36 performs a plurality of intermediate determinations based on the form of the target frame and a plurality of predetermined rules, and derives the result of the behavior verification according to the results of the plurality of intermediate determinations.
  • the behavior verification unit 36 outputs a plurality of intermediate determination results to the reporting unit 114 together with the result of the behavior verification.
  • the message generation unit 122 generates a notification frame including a plurality of intermediate determination results when there is a result indicating that the rule does not conform to the plurality of intermediate determination results.
  • the message output unit 124 transmits the above notification frame to the vehicle monitoring server 100.
  • the message generator 122 changes the priority of the notification according to the number of intermediate determination results indicating that the rule is incompatible.
  • the behavior verification unit 36 evaluates data of one target frame with each of a plurality of detection parameters, and determines an intermediate determination result based on each detection parameter (the rule corresponding to the detection parameter data corresponding to each detection parameter). A determination result as to whether or not to match may be generated. If the number of intermediate determination results that are NG among a plurality of intermediate determination results is 3 or more, the behavior verification unit 36 may make the final determination result of the target frame incorrect. NG includes, for example, that the data of the determination target frame is incompatible with the rules of each intermediate determination.
  • the message generation unit 122 may generate a notification frame including all intermediate determination results when one or more results indicating rule nonconformity exist among the plurality of intermediate determination results.
  • the intermediate determination result may include information on parameters used in the intermediate determination, and may include data of a frame for which correctness is determined in the intermediate determination.
  • the message generation part 122 may change the priority of the report to the vehicle monitoring server 100 according to the number of intermediate determination results being NG. For example, when five intermediate determinations are performed, if the number of NG of the intermediate determination result is 1 or 2, the low priority of the embodiment may be set. Further, if the intermediate determination result NG number is 3 or 4, medium priority may be set, and if the intermediate determination result NG number is 5, high priority may be set.
  • the message generation unit 122 stores, for each command ID (or for each frame ID), a cumulative value of NG numbers (referred to herein as “intermediate NG cumulative number by command”) of the intermediate determination result by the behavior verification unit 36. Also good.
  • the command-specific intermediate NG cumulative number exceeds the first threshold (for example, 20 times)
  • the message generation unit 122 reports that the command-specific intermediate NG cumulative number exceeds the first threshold and the command ID.
  • Frames may be generated and notification priority set low.
  • the cumulative number of intermediate NGs by command exceeds a second threshold (for example, 40 times)
  • the message generator 122 obtains information indicating that the cumulative number of intermediate NGs by command exceeds the second threshold and the command ID.
  • a report frame including the message priority may be generated and the priority of the report may be set to medium.
  • the message generation unit 122 determines the cumulative value of the NG number of intermediate determination results input from the behavior verification unit 36 for a plurality of commands (multiple target frames) (here, “total intermediate NG cumulative number”). May be stored.
  • total intermediate NG cumulative number exceeds a first threshold (for example, 100 times)
  • the message generation unit 122 generates a notification frame including information indicating that the total intermediate NG cumulative number exceeds the first threshold.
  • the priority of may be set low.
  • the message generation unit 122 when the total intermediate NG cumulative number exceeds the second threshold (for example, 200 times), the message generation unit 122 generates a notification frame including information indicating that the total intermediate NG cumulative number exceeds the second threshold.
  • the priority of the notification may be set to medium.
  • the CGW 20 of the vehicle 10 may have a function of discarding or invalidating a frame that is determined to be invalid by MAC verification and behavior verification.
  • the configuration information storage unit 48 of the ECU 14 stores configuration information in which the command ID is associated with the ECU-ID that transmits the command.
  • the configuration information storage unit 48 may store configuration information in which the command ID and the ID of the CGW 20 are associated with each other for a command transmitted by an ECU connected to a bus of the CAN 24 different from the own device. . This is because the frame transmitted from the ECU connected to the bus of the CAN 24 different from the own machine is relayed by the CGW 20.
  • the analysis unit 120 of the second modification may have been hijacked.
  • the ID of the CGW 20 is specified.
  • the configuration information in the configuration information storage unit 48 associates the command ID included in the target frame with the ID of the CGW 20.
  • the analysis unit 120 refers to the configuration information, and specifies the ID of the CGW 20 when the target frame is received via the CGW 20.
  • the message generator 122 generates a notification frame indicating that the CGW 20 may have been hijacked.
  • the configuration of the second modification can also be applied when a monitoring module is introduced into the CMI 22.
  • the monitoring device includes a receiving unit and a processing unit.
  • the receiving unit receives a frame from the communication network.
  • the processing unit performs a first determination for determining whether the frame is illegal based on a result of message authentication for the frame, and a second determination for determining whether the frame is illegal based on a frame mode and a predetermined rule. Do. Further, the processing unit changes at least one of the content to be notified to the external device or the priority of the notification according to the combination of the first determination result and the second determination result.
  • this monitoring device it is possible to execute a report to an external device with an appropriate content or timing according to the security status of the own device.
  • the processing unit gives higher priority to report information about the determination target frame to other communication. It may be set to degrees.
  • the processing unit gives priority to report information on the determination target frame to a lower priority than other communication It may be set to degrees.
  • the processing unit may set the priority as follows. That is, in this case, the processing unit has a lower priority for reporting information on the determination target frame than when the determination target frame is determined to be valid by the first determination and the determination target frame is determined to be illegal by the second determination.
  • the priority may be set to a higher priority than when the determination target frame is determined to be illegal by the first determination and the determination target frame is determined to be incorrect by the second determination.
  • damage caused by an illegal frame can be avoided by detecting fraud in the first determination, but the second determination rule may be incomplete. Can be reported.
  • the processing unit When the determination target frame is determined to be valid by the first determination and the determination target frame is determined to be illegal by the second determination, the processing unit at least includes information on the command included in the determination target frame and the transmission source device of the determination target frame You may report the information.
  • the processing unit may report at least information on commands included in the determination target frame.
  • the processing unit may report at least information on a command included in the determination target frame.
  • the monitoring device since the monitoring device can correctly detect the fraud of the determination target frame, it is possible to suppress an increase in communication traffic by suppressing the content of the report to the information of the command in which the fraud is detected.
  • the processing unit When the determination target frame is determined to be invalid by the first determination and the determination target frame is determined to be valid by the second determination, the processing unit at least includes information on the command included in the determination target frame and other information related to the command. Command information may be reported.
  • it is a frame that does not have a message authentication code, and it is possible to detect that an illegal frame has been injected from the outside and to report appropriate contents with appropriate priority.
  • the processing unit may execute a plurality of intermediate determinations based on the aspect of the determination target frame and a plurality of predetermined rules, and derive a second determination result according to the plurality of intermediate determination results. Good.
  • the processing unit notifies the external device of the result of the plurality of intermediate determinations and indicates that the rule does not conform. You may change the priority of a report according to the number of results.
  • This monitoring device can increase the strength of security through behavior verification.
  • the monitoring method performed by the computer includes receiving a frame from the communication network.
  • the monitoring method also includes a first determination for determining whether the frame is illegal based on a result of message authentication for the frame, and a second determination for determining whether the frame is illegal based on a frame mode and a predetermined rule. And including.
  • the monitoring method includes changing at least one of the content to be notified to the external device or the priority of the notification according to the combination of the result of the first determination and the result of the second determination.
  • this monitoring method it is possible to execute a report to an external device with an appropriate content or timing according to the security status of the own device.
  • the computer program causes the computer to receive a frame from the communication network.
  • the computer program also determines a first determination for determining whether the frame is invalid based on a result of message authentication for the frame, and a second determination for determining whether the frame is illegal based on a frame mode and a predetermined rule. And causing the computer to execute.
  • the computer program causes the computer to change at least one of the content to be notified to the external device or the priority of the notification in accordance with the combination of the first determination result and the second determination result.
  • this computer program it is possible to execute a report to an external device with an appropriate content or timing according to the security status of the own device.
  • the present invention is useful for a monitoring device, a monitoring method, a computer program, and the like.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Small-Scale Networks (AREA)
  • Mechanical Engineering (AREA)

Abstract

監視装置は、受信部と、処理部と、を有する。受信部は、通信網からフレームを受信する。処理部は、フレームに対するメッセージ認証の結果に基づいてフレームが不正かを判定する第1判定と、フレームの態様と予め定められたルールとに基づいてフレームが不正かを判定する第2判定とを行う。また、処理部は、第1判定の結果と第2判定の結果との組み合わせに応じて、フレームに関する処理、フレームの送信元装置に関する処理、外部装置へ通報する内容の変更、及び外部装置への通報の優先度の変更の少なくともひとつを実行する。

Description

監視装置、監視方法およびコンピュータプログラム
 本発明はデータ処理技術に関し、特に監視装置、監視方法およびコンピュータプログラムに関する。
 近年、自動車には、多数の電子制御ユニット(Electronic Control Unit、以下「ECU」と呼ぶ。)が搭載されている。これらのECUを繋ぐネットワークは車載ネットワークと呼ばれる。車載ネットワークには多数の規格が存在するが、広く普及した規格としてCAN(Controller Area Network)がある。
 自動車の電動化に伴い、車載ネットワーク経由でステアリング等のアクチュエータを制御することが可能である。一方で、車載ネットワークで不正コマンドが伝送されることによるアクチュエータの不正操作等を防止するため、メッセージ認証コード(Message Auth entication Code、以下「MAC」と呼ぶ。)を用いたメッセージ認証が実行されることがある(例えば特許文献1参照)。
国際公開第2013/065689号 特開2014-146868号公報
T. Matsumoto, M. Hata, M. Tanabe, K. Yoshioka, and K. Oishi, "A Method of Preventing Unauthorized Data Transmission in Controller Area Network," Vehicular Technology Conference, 2012.
 本願発明は、通信システムのセキュリティを向上させる。
 本発明の一態様の監視装置は、受信部と、処理部と、を有する。受信部は、通信網からフレームを受信する。処理部は、フレームに対するメッセージ認証の結果に基づいてフレームが不正かを判定する第1判定と、フレームの態様と予め定められたルールとに基づいてフレームが不正かを判定する第2判定とを行う。また、処理部は、第1判定の結果と第2判定の結果との組み合わせに応じて、フレームに関する処理、フレームの送信元装置に関する処理、外部装置へ通報する内容の変更、及び外部装置への通報の優先度の変更の少なくともひとつを実行する。
 本発明の別の態様は、コンピュータが実行する監視方法である。監視方法は、通信網からフレームを受信することを含む。また、監視方法は、フレームに対するメッセージ認証の結果に基づいてフレームが不正かを判定する第1判定と、フレームの態様と予め定められたルールとに基づいてフレームが不正かを判定する第2判定と、を行うことを含む。さらに、監視方法は、第1判定の結果と第2判定の結果との組み合わせに応じて、フレームに関する処理、フレームの送信元装置に関する処理、外部装置へ通報する内容の変更、及び外部装置への通報の優先度の変更の少なくともひとつを実行する、ことを含む。
 なお、以上の構成要素の任意の組合せ、本発明の態様を、コンピュータプログラム、コンピュータプログラムを記録した記録媒体、本装置を搭載した車両などの間で変換したものもまた、本発明の態様として有効である。
 本発明によれば、通信システムのセキュリティを向上させることができる。
図1は、第1の実施の形態の車載ネットワークシステムの構成を示す図である。 図2は、図1のCGWの機能構成を示すブロック図である。 図3は、図1のECUの機能構成を示すブロック図である。 図4は、不正検出パターン別の不正対策を示す図である。 図5は、図1のCGWの動作を示すフローチャートである。 図6は、図1のECUの動作を示すフローチャートである。 図7は、変形例のCGWのハードウェア構成を示す図である。 図8は、第2の実施の形態の車載ネットワークシステムの構成を示す図である。 図9は、図8のECUの機能構成を示すブロック図である。 図10は、不正検出パターンを示す図である。 図11は、図8のECUの動作を示すフローチャートである。
 [第1の実施の形態]
 第1の実施の形態の説明に先立ち、従来の技術における問題点を簡単に説明する。メッセージ認証を実行する場合も、MACの鍵が漏洩するリスクがあり、また、MAC対応のECUごと不正者に乗っ取られるリスクもある。このため、通信システムにおけるセキュリティの一層の向上が必要である。
 第1の実施の形態の詳細な構成を説明する前にまず概要を述べる。実施の形態の車載ネットワークシステムでは、MACを用いたメッセージ認証(以下「MAC検証」とも呼ぶ。)と、車載ネットワークを流れるフレーム(言い換えればコマンド)に対する振る舞い検証を併用する。振る舞い検証は、振る舞い検知技術と言え、侵入検知技術とも言える。振る舞い検証には、例えば特許文献2に記載された技術を適用してもよい。実施の形態の車載ネットワークシステムでは、MAC検証の結果と、振る舞い検証の結果の両方を総合的に判断して、不正対策アクション(言い換えれば防御アクション)を実行する。
 図1は、第1の実施の形態の車載ネットワークシステムの構成を示す。実施の形態の車載ネットワークシステム12は、車両10に構築された通信システムであり、車載ネットワークにおける不正検知システムとしての機能を有する。車載ネットワークシステム12は、ECU14で総称されるECU14a、ECU14b、ECU14c、ECU14d、IVI(In-Vehicle Infotainment)装置16、OBD(On-Board Diagnostics)アダプタ18、CGW(Central Gate Way)20、CMI(Centralized Monitoring and Interceptor)22を有する。これらの装置はCAN24を介して接続される。
 複数のECU14のそれぞれは、不図示のセンサまたはアクチュエータに接続され、センサによる検知内容を示すフレームをCAN24へ送信し、または、CAN24から受信したフレームが示すコマンドに基づいてアクチュエータを制御する。CAN24の複数のバスのうちパワートレインバス26aに接続されるECU14aは、例えばエンジンECUである。また、運転支援バス26bに接続されるECU14bは、例えばステアリングECUである。また、シャーシバス26cに接続されるECU14cは、例えばサスペンションECUである。また、ボディバス26dに接続されるECU14dは、例えばパワーウィンドウECUである。
 IVI装置16は、様々な情報を乗員へ提示する情報機器であり、例えばカーナビゲーション装置である。IVI装置16は、車両10外部の通信網(インターネット等)である外部通信網28と接続される。車両10は、外部通信網28を介してルール生成装置29と接続される。ルール生成装置29は、後述の振る舞いルールを生成するサーバである。OBDアダプタ18は、CAN24を流れる様々な情報、例えば車両10の動作状態を示す情報を外部装置へ出力するアダプタである。IVI装置16およびOBDアダプタ18は、CAN24の複数のバスのうち外部バス26eに接続される。外部バス26eは、ECU14以外の装置から送信されたフレームが流れるバスである。外部バス26eを流れるフレームは、例えば、外部通信網28側の装置から送信されたフレーム、および、OBDアダプタ18に接続された装置から送信されたフレームを含む。
 CGW20は、CAN24の複数のバスに接続され、バス間でのフレームの中継処理およびルーティング処理を実行するゲートウェイECUである。CMI22は、CAN24の複数のバスに接続され、各バスを流れるフレームを監視するECUである。変形例として、CMI22がCAN24に非接続の構成であってもよく、言い換えれば、車載ネットワークシステム12は、CMI22を有しなくてもよい。
 実施の形態では、MACを用いたメッセージ認証に対応する複数の装置に監視モジュールが導入される。具体的には、CGW20と一部のECU14に監視モジュールが導入される。監視モジュールが導入されたCGW20とECU14は、CAN24を流れる不正フレーム(言い換えれば不正コマンド)を監視し、不正対策を実行する監視装置として機能する。変形例として、(1)CGW20にのみ監視モジュールを導入する構成でもよく、(2)CMI22にのみ監視モジュールを導入する構成でもよく、(3)MACを用いたメッセージ認証に対応するECU14にのみ監視モジュールを導入する構成でもよい。
 図2は、図1のCGW20の機能構成を示すブロック図である。CGW20は、フレーム受信部30、フレーム送信部32、MAC検証部34、振る舞い検証部36、不正対策部38を有する。なお、図1のCMI22が監視モジュールを有する場合、CMI22の機能構成は図2と同様になる。また、MAC検証部34、振る舞い検証部36、不正対策部38を含めて、監視モジュールとして1つの処理部110を構成してもよい。
 実施の形態においてブロック図に示される各ブロックは、ハードウェア的には、コンピュータのCPU(Central Processing Unit)、メモリをはじめとする素子や機械装置で実現でき、ソフトウェア的にはコンピュータプログラム等によって実現されるが、ここでは、それらの連携によって実現される機能ブロックを描いている。これらの機能ブロックはハードウェア、ソフトウェアの組合せによっていろいろなかたちで実現できることは、当業者には理解されるところである。例えば、図2の各ブロックに対応するモジュールを含むコンピュータプログラムがCGW20のメモリに格納されてもよい。CGW20のCPUは、そのコンピュータプログラムを適宜読み出して実行することにより、各ブロックの機能を発揮してもよい。
 フレーム受信部30は、CAN24の各バスからフレームを受信する。フレーム受信部30は、受信したフレームのデータを、当該フレームを受信したバスの識別情報とともにMAC検証部34、振る舞い検証部36を経て、不正対策部38へ入力する。フレーム送信部32は、CAN24の各バスへフレームを送信する。例えば、フレーム送信部32は、あるバスから受信したフレームを、そのバスを除く他のバスへ転送する。
 MAC検証部34は、フレーム受信部30により受信されたフレーム(以下「対象フレーム」とも呼ぶ。)に対するメッセージ認証を実行する。例えば、MAC検証部34は、予め定められたメッセージ認証用の共通鍵(以下「MAC鍵」と呼ぶ。)に基づいてMACを生成する。MAC検証部34は、生成したMACと、予め送信元装置(例えばECU14)が対象フレームに付加したMACとを比較する。MAC検証部34は、両者のMACが一致する場合、メッセージ認証に成功したと判定し、両者のMACが不一致の場合、メッセージ認証に失敗したと判定する。MAC検証部34は、メッセージ認証に成功した場合、対象フレームを正当と判定し、メッセージ認証に失敗した場合、対象フレームを不正と判定する。
 振る舞い検証部36は、振る舞い検証処理として、対象フレームの態様と予め定められた振る舞いルールとに基づいて、対象フレームが不正か否かを判定する。振る舞い検証部36は、ルール生成装置29から提供された振る舞いルールを所定の記憶領域に保持する。振る舞いルールは、フレーム(言い換えればメッセージ)のフォーマットに関する規定を含む。フォーマットに関する規定は、具体的には、ID(IDentification)、DLC(Data Length Code:データ長コード)、ペイロード等における固定値の規定を含む。例えば、振る舞いルールは、フレームの所定位置に特定の固定値が設定されることを規定してもよい。
 また、振る舞いルールは、フレームの振る舞いに関する規定を含む。振る舞いに関する規定は、具体的には、周期、頻度、ペイロードに関する可変値の規定を含む。例えば、振る舞いルールは、複数のID(フレームIDとも言え、CAN-IDとも言える)のそれぞれについて、前回のフレーム受信から今回のフレーム受信までの時間間隔の範囲または差分の規定を含んでもよい。また、振る舞いルールは、フレームIDごとに、ペイロードの所定位置に設定されたデータ項目、または、ペイロード内の所定名称のデータ項目について、前回受信したフレームからの差分の制限(許容する範囲等)を含んでもよい。
 なお、振る舞いルールは、ブラックリストとホワイトリストのいずれも含みうる。振る舞い検証部36は、対象フレームがブラックリストとしてのルールを充足する場合、対象フレームを不正と判定する。また、振る舞い検証部36は、対象フレームがホワイトリストとしてのルールから逸脱する場合、対象フレームを不正と判定する。
 不正対策部38は、MAC検証部34による不正判定結果と、振る舞い検証部36による不正判定結果との組み合わせに応じて、対象フレームに関する処理(「コマンド対策」とも呼ぶ。)と、フレームの送信元装置に関する処理(「ECU対策」とも呼ぶ。)の少なくとも一方を実行する。なお、不正対策部38は、MAC検証と振る舞い検証の両方で対象フレームが正当と判定された場合、対象フレームをフレーム送信部32に渡してCAN24へ送信させる。
 不正対策部38は、無効化部40、受信フレーム記憶部42、ログ保存部44、ルール更新部46、構成情報記憶部48、対象検出部50、プログラム更新部52、鍵更新部54を含む。
 無効化部40は、対象フレームの無効化処理として、CAN24のバス上に存在する対象フレームを消去する処理を実行する。具体的には、無効化部40は、対象フレームに対するエラーフレームを生成し、フレーム送信部32からCAN24へエラーフレームを出力させる。これにより、CAN24上の他の装置(ECU14等)における対象フレームも無効にする。フレームの無効化処理には、非特許文献1に記載の技術を適用してもよい。実施の形態のCGW20は、不正なフレームに対して無効化処理を実行するが、後述のECU14と同様に、不正なフレームに対して破棄処理(言い換えればフィルタ処理)を実行してもよい。
 受信フレーム記憶部42は、フレーム受信部30により受信された複数のフレームを所定の記憶領域に記憶させ、蓄積する。受信フレーム記憶部42は、受信されてから所定時間(30分等)が経過したフレームを記憶領域から順次消去しても良い。受信フレーム記憶部42は、フレームのデータと、そのフレームに対するMAC検証部34による判定結果と振る舞い検証部36による判定結果を対応付けて蓄積してもよい。
 ログ保存部44は、MAC検証部34により対象フレームが不正と判定され、振る舞い検証部36により対象フレームが正当と判定された場合に、少なくとも対象フレームに関するログデータを保存する。そして、オフライン上で(例えばディーラーでのメンテナンスにおいて)、保存されたログデータを収集し、上記判定結果をルール生成装置29へ送信する。これにより、ルール生成装置29は、振る舞い検証において対象フレームが不正と判断されるように、振る舞いルールを更新する。具体的には、ログ保存部44は、受信フレーム記憶部42に保持されたフレームのうち対象フレームとIDが一致する過去のフレームと、対象フレームとを含むルール更新指示データをログデータとして保存する。例えば、対象フレームと過去のフレームはともに、ステアリングの制御コマンドを指定し、かつ、ステアリングの回動角度を指定するものであってもよい。
 過去のフレームは、MAC検証部34による判定結果と振る舞い検証部36による判定結果の組み合わせが対象フレームとは異なるフレームであってもよい。そのため、過去のフレームを含めてルール生成装置29へ提供することにより、ルール生成装置29による振る舞いルール更新を支援できる。また、ログ保存部44は、過去のフレームと対象フレームそれぞれの、MAC検証部34による判定結果と振る舞い検証部36による判定結果を、ログデータとしてルール更新指示データに含めてもよい。また、対象フレームより後に受信されたフレームのうち対象フレームとIDが一致するフレームをルール更新データに含めてもよい。
 ルール生成装置29は、生成または更新した振る舞いルールを外部通信網28を介して車両10へ配信する。ルール更新部46は、ルール生成装置29から提供された振る舞いルールをCAN24を介して取得する。そしてルール更新部46は、取得した振る舞いルールを振る舞い検証部36に渡し、振る舞い検証部36が保持する振る舞いルールを更新させる。
 構成情報記憶部48は、CAN24の様々な構成要素に関する属性情報(ここでは「構成情報」と呼ぶ。)を記憶する。実施の形態の構成情報は、複数のECU14のそれぞれが接続されたバスの識別情報と、複数のECU14のそれぞれが送信するフレームのIDとを含む。
 対象検出部50は、複数のECU14から送信された複数のフレームにおける不正有無に基づいて、複数のECU14の中から不正対策の対象となるECU(以下「対象ECU」と呼ぶ。)を検出する。対象検出部50は、各ECU14から送信されたフレームの不正率または不正回数に基づいて、対象ECUを検出してもよい。対象ECUは、不正なECUともいえ、不正者により乗っ取られたECUとも言える。
 実施の形態の対象検出部50は、MAC検証と振る舞い検証の少なくとも一方で不正と判定されたフレームについて、IDごとの不正判定回数を蓄積する。対象検出部50は、不正判定回数が予め定められた閾値(例えば5回)以上になったIDを検出し、構成情報記憶部48を参照して、そのIDのフレームを送信するECU14を対象ECUとして検出する。
 以下、ECU対策のための4種類の構成(1)~(4)を説明する(図4参照)。実際にはいずれか1つの対策が実行されてもよく、2つ以上の対策の組み合わせが実行されてもよい。
 (1)無効化部40は、構成情報記憶部48に記憶した構成情報を参照して、対象ECUから送信されうる全てのIDのフレームを無効化する処理を実行する。
 (2)無効化部40は、構成情報記憶部48に記憶した構成情報を参照して、対象ECUが接続されたCAN24のバスを識別し、識別したバスからフレーム受信部30が受信した全てのフレームを無効化する処理を実行する。
 (3)プログラム更新部52は、対象ECUのROM(Read-Only Memory)に格納されたコンピュータプログラムを更新させるための処理(すなわちリプログラミング)を実行する。例えば、CGW20は、個々のECU14ごとの正規のプログラムを予め保持し、プログラム更新部52は、対象ECU用の正規のプログラムを、対象ECUのROMに上書き保存してもよい。また、プログラム更新部52は、対象ECU用の正規のプログラムを、外部通信網28を介して外部のサーバから取得し、対象ECUのROMに上書き保存してもよい。
 (4)鍵更新部54は、複数のECU14に亘り使用される共通鍵であるMAC鍵を更新する。鍵更新部54は、更新したMAC鍵を複数のECU14へ配布する。後述するように、MAC検証の結果と振る舞い検証の結果の組み合わせに応じて、鍵更新部54は、全てのECU14へ更新したMAC鍵を送信して、全てのECU14が使用するMAC鍵を変更させる。または、鍵更新部54は、対象ECUを除く残りのECU14へ更新したMAC鍵を送信して、対象ECU以外のECU14が使用するMAC鍵を変更させる。なお、鍵更新部54は、予め定められたECUごとに異なる鍵(MAC鍵とは異なる鍵)を使用して暗号化したMAC鍵を各ECUへ配布してもよい。
 実施の形態では、鍵更新部54は、MAC検証部34により対象フレームが正当と判定され、振る舞い検証部36により対象フレームが不正と判定された場合であり、かつ、対象フレームが、ECU14以外から送信されたフレームが流れるバス(実施の形態では外部バス26e)から受信されたものであるとき、全てのECU14が使用するMAC鍵を更新する。この判定の場合、MAC検証は成功したため、MAC鍵が漏洩している可能性がある。また、不正フレームは外部から注入されたものである。そこで、全てのECU14が使用するMAC鍵を更新することで、MAC鍵の漏洩リスクを解消し、セキュリティを向上させる。
 その一方、不正フレームが外部バス26e以外のバス(パワートレインバス26a等)から受信された場合、対象ECUが不正者により乗っ取られ、さらにMAC鍵を不正者が使用可能である状況が想定される。そこで、不正フレームが外部バス26e以外のバスから受信された場合、鍵更新部54は、対象ECU以外のECU14が使用するMAC鍵を更新する。
 図3は、図1のECU14の機能構成を示すブロック図である。図3では、図1の複数のECU14のうちMACを用いたメッセージ認証に対応するECU14の機能構成を示している。また、図3では、図2で説明したCGW20の機能ブロックと同一または対応する機能ブロックに同一の符号を付している。以下、図2に関連して説明済みの内容は適宜省略する。
 ECU14は、フレーム受信部30、フレーム送信部32、MAC検証部34、振る舞い検証部36、不正対策部38、コマンド実行部56、フレーム生成部58を有する。コマンド実行部56は、フレームで指定されたコマンドを実行する。例えば、コマンド実行部56は、自ECUに接続されたアクチュエータをコマンドにしたがって制御する。フレーム生成部58は、外部装置(例えば他のECU14)に対するコマンドを指定したフレームを生成し、生成したフレームをフレーム送信部32に渡して送信させる。
 ECU14の不正対策部38は、受信フレーム記憶部42、ログ保存部44、ルール更新部46、構成情報記憶部48、対象検出部50、プログラム更新部52、鍵更新部54、フィルタ部60、モード切替部62を含む。フィルタ部60は、CGW20における無効化部40に対応し、ECU14のコマンド対策を実行する。具体的には、フィルタ部60は、不正と判定された対象フレームを破棄し、言い換えれば、対象フレームで指定されたコマンドを破棄する。例えば、フィルタ部60は、対象フレームのデータをECU14内部のメモリ(不図示)から消去してもよい。
 また、ECU14は、既述したECU対策を実行する。ただし、実施の形態のCGW20におけるECU対策(1)と(2)ではフレームの無効化処理を実行したが、ECU14におけるECU対策(1)と(2)ではフレームの廃棄処理、言い換えればフィルタ処理を実行する。ECU対策(3)と(4)はCGW20と同様である。
 モード切替部62は、CGW20を経由して伝送されたフレームが振る舞い検証で不正と判定された場合、複数のバスに接続して車載ネットワークの要であるCGW20のセキュリティ機能が突破されている状態であると判断し、車両10の自動運転のモードをフェイルセーフモードへ切り替える。例えば、モード切替部62は、構成情報記憶部48に記憶した構成情報を参照して、不正と判定された対象フレームのIDに基づいて送信元のECU14を特定してもよい。そして、送信元のECU14が、自ECUが接続されたバスとは異なるバスに接続されたものである場合に、モード切替部62は、対象フレームがCGW20により中継されたと判定してもよい。また、フェイルセーフモードは、自動運転制御(言い換えれば電動による運転支援処理)をオフにした状態であってもよい。
 CGW20を経由して伝送されたフレームが不正であることは、CGW20が不正者に乗っ取られた可能性が高いことを意味する。CAN24におけるCGW20は、複数のECU14間の通信の基盤であり、CGW20が乗っ取られたことはセキュリティ上、重大な問題である。そこで、実施の形態のモード切替部62は、CGW20を経由して伝送されたフレームが不正である場合に自動運転をフェイルセーフモードへ移行させることで、車両運転の安全性を一層高める。なお、CMI22に監視モジュールが導入される場合、CMI22は、モード切替部62を有してもよい。
 変形例として、CGW20を経由して伝送されたフレームが不正である場合に限らず、車載ネットワークシステム12のセキュリティの根幹装置から送信されたフレームが不正である場合に、モード切替部62は、車両10の自動運転のモードをフェイルセーフモードへ切り替えてもよい。セキュリティの根幹装置は、例えば、個々のECU14ごとの鍵を保持し、ECUごとの鍵で暗号化したMAC鍵を各ECU14へ配布する装置(CGW20、ECU14等)が該当する。モード切替部62は、構成情報記憶部48に記憶した構成情報を参照して、不正と判定された対象フレームのIDに基づいて、対象フレームの送信元がセキュリティの根幹装置かを判定してもよい。
 図4は、不正検出パターン別の不正対策を示す。ここでは、監視モジュールが導入されうる装置、すなわち、例えば、ECU14、CGW20、CMI22を総称して「監視装置」と呼ぶ。図4のコマンド対策欄では、監視装置がECU14、CGW20、CMI22の場合の処理をそれぞれ示している。
 MAC検証で対象フレームが正当と判定され、振る舞い検証で対象フレームが不正と判定された場合(パターン1およびパターン5)、または、MAC検証で対象フレームが不正と判定され、振る舞い検証で対象フレームが不正と判定された場合(パターン2)、監視装置の不正対策部38は、コマンド対策として、対象フレームを破棄または無効化する。なお、パターン2において、ECU14でのコマンド対策が「なし」であるのは、メッセージ認証に対応するECU14では、通常、MAC検証のNGに伴いエラー処理が実行されるからである。また、パターン2において、CGW20のコマンド対策が無効化であるのは、DoS攻撃(Denial of Service attack)への対策として有効だからである。
 パターン1およびパターン2の場合、不正対策部38は、4種類のECU対策のうち1つまたは複数を実行する。パターン5の場合、不正対策部38は、ECU対策として、全てのECU14のMAC鍵を更新する。
 MAC検証で対象フレームが不正と判定され、振る舞い検証で対象フレームが正当と判定された場合(パターン6)、監視装置の不正対策部38は、対象フレームとその前後のフレームを含むルール更新指示データをログデータとして保存することにより、ルール生成装置29に対象フレームとその前後のフレームに基づいて振る舞いルールを更新させる。例えば、ルール生成装置29は、監視装置が再度対象フレームを受け付けた場合、振る舞い検証において不正を検出するように振る舞いルールを更新する。
 図4のパターン3とパターン4は、MACを用いたメッセージ認証に対応しないECU14から送信されたフレームが不正であるパターンである。すなわち、フレームにMACが付加されないためMAC検証はできず、振る舞い検証にて不正が検出されたパターンである。なお、パターン3は、不正と判定された対象フレームがECU14から送信されたパターンであり、パターン4は、不正と判定された対象フレームが外部から注入された(言い換えれば外部バス26eから受信された)パターンである。
 パターン3とパターン4のいずれでも、監視装置の不正対策部38は、コマンド対策として、対象フレームを破棄または無効化する。パターン4は、不正フレームが外部注入された状況であり、MAC鍵の漏洩はないため、ECU対策は実行しない。その一方、パターン3では対象ECUが乗っ取られた可能性が高いため、不正対策部38は、パターン1等と同様のECU対策を実行する。
 以上の構成による車載ネットワークシステム12の動作を説明する。図5は、図1のCGW20の動作を示すフローチャートである。フレーム受信部30は、CAN24からフレームを受信する(S10)。MAC検証部34は、受信された対象フレームに対するMAC検証を実行して、対象フレームが正当か不正かを判定する(S12)。振る舞い検証部36は、受信された対象フレームに対する振る舞い検証を実行して、対象フレームが正当か不正かを判定する(S14)。なお、S12とS14の実行順序に制限はなく、並行して実行してもよい。
 MAC検証と振る舞い検証の両方で対象フレームが正当と判定された場合(S16のY)、不正対策部38は、対象フレームをフレーム送信部32に渡し、フレーム送信部32は、フレームID、転送元バス、転送先バスを対応付けたルーティングテーブルにしたがって、対象フレームを転送する(S18)。MAC検証で対象フレームが不正と判定され、振る舞い検証で対象フレームが正当と判定された場合(S16のN、S20のY)、不正対策部38は、ルール生成装置29に振る舞いルールを更新させるためのログデータであり、対象フレームとその前後のフレームを含むログデータを保存する(S22)。MAC検証結果が不正かつ振る舞い検証結果が不正となった場合、または、MAC検証結果が正当かつ振る舞い検証結果が不正となった場合(S20のN)、不正対策部38は、図4に示したコマンド対策を実行する(S24)。
 不正検出パターン(図4)にしたがってECU対策が必要な場合(S26のY)、不正対策部38は、乗っ取られた可能性が高い対象ECUを特定する(S28)。不正対策部38は、対象ECUおよび他のECU14の少なくとも一方に関するECU対策を実行する(S30)。ECU対策が不要であれば(S26のN)、S28、S30をスキップする。
 図6は、図1のECU14の動作を示すフローチャートである。S40~S44の処理は図5のS10~S14と同じであるため説明を省略する。MAC検証と振る舞い検証の両方で対象フレームが正当と判定された場合(S46のY)、不正対策部38は、対象フレームをコマンド実行部56に渡し、コマンド実行部56は、対象フレームで指定されたコマンドにしたがいデータ処理を実行する(S48)。対象フレームがCGW20経由のフレームであり、かつ、少なくとも振る舞い検証により不正と判定された場合(S46のN、S50のY)、不正対策部38は、車両10の自動運転をフェイルセーフモードへ移行させる(S52)。S50のN以降、S54~S64の処理は図5のS20~S30と同じであるため説明を省略する。
 実施の形態の監視装置(例えばECU14、CGW20)によると、メッセージ認証の結果と振る舞い検証の結果との組み合わせに基づいて、セキュリティの脅威の種類をきめ細かに認識し、脅威の種類に応じた適切なコマンド対策およびECU対策を自動実行する。これにより、車載ネットワークシステム12のセキュリティを担保できる。例えば、MAC鍵の漏洩、および、MAC対応ECUの乗っ取りを検知し、MAC鍵の更新およびECUのリプログラミングを適切に実行できる。また、車載ネットワークシステム12内にMAC未対応のECU14が存在し、MAC未対応のECU14が脅威にさらされた場合も、セキュリティを担保しやすくなる。
 以上、本発明を第1の実施の形態をもとに説明した。この実施の形態は例示であり、それらの各構成要素あるいは各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
 第1変形例を説明する。実施の形態の振る舞い検証部36は、対象フレームを正当または不正に分類したが、変形例として、振る舞い検証部36は、対象フレームの態様と振る舞いルールとの乖離の度合い(もしくは一致の度合い)に応じて、対象フレームを正当、不正、グレーのいずれかに分類してもよい。不正対策部38のログ保存部44は、対象フレームがグレーに分類された場合、対象フレームと、同じIDの過去のフレームとを含むルール更新指示データをログデータとして保存する。既述したように、ルール更新指示データは、対象フレームより後に受信された同IDのフレームを含んでもよい。これにより、保存されたログデータはオフライン上で収集されてルール生成装置29に通知され、ルール生成装置29は、例えば対象フレームを不正と判定するように振る舞いルール更新する。
 具体例として、振る舞い検証部36は、複数の検知パラメータのそれぞれで対象フレームを評価し、各検知パラメータによる中間判定結果(当該対象フレームのデータが各検知パラメータに対応するルールに適合するか否かの判定結果)を生成し、4つ以上の中間判定結果が不正となった場合に最終判定結果を不正としてもよい。また、不正となった中間判定結果の個数が3個以下であれば最終判定結果を正当としてもよい。この構成において、振る舞い検証部36は、各フレームで指定されるフレームID(コマンドIDでもよい)ごとに中間判定結果が不正となった回数を累計していく。振る舞い検証部36は、中間判定結果が不正となった累計数が所定の閾値(例えば10回等)を超えたIDのフレームをグレーと判定する。
 また、振る舞い検証部36は、フレームID(コマンドID)で区別せずに全てのフレームを母集団として、中間判定結果が不正となった回数を累計してもよい。振る舞い検証部36は、中間判定結果が不正となった累計数が所定の閾値(例えば10回等)を超えた場合にグレーと判定してもよい。この場合、ログ保存部44は、過去の一定期間に受信した全フレームを含むルール更新指示データをログデータとして保存してもよい。
 フレームの正当性がグレーと判定されることは本来望ましくないが、第1変形例によると、振る舞いルールを適切に更新し、車載ネットワークシステム12のセキュリティを向上させることができる。なお、振る舞い検証部36は、対象フレームの振る舞い検証において、対象フレームのIDに紐付く不正判定累計数が所定の閾値を超過した場合、対象フレームの最終判定結果を「不正」としてもよい。この態様によると、グレー判定となったフレームに基づいてコマンド対策およびECU対策が実行され、車載ネットワークシステム12のセキュリティを一層高めることができる。
 第2変形例を説明する。図7は、変形例のCGW20のハードウェア構成を示す。CGW20は、CPU70、監視モジュール72、LAN(Local Area Network)コントローラ74、LANコントローラ76を有する。LANコントローラ74およびLANコントローラ76は、CAN24の各バスに接続される。CPU70は、CGW20全体の動作を制御するとともに、図2に示した各機能ブロックの機能を実行する。
 監視モジュール72は、CPU70と物理的に異なるLSI(Large-Scale Integration)であり、言い換えれば、CPU70と物理的に分離または独立して実装されたLSIである。監視モジュール72は、図2に示した機能ブロックのうちMAC検証部34、振る舞い検証部36、不正対策部38の機能を実行する。監視モジュール72が有する不正対策部38の機能は、図4に示したパターン別のコマンド対策およびECU対策を決定する機能を少なくとも含む。
 CPU70と監視モジュール72は、互いに並行して、同じ対象フレームに対する不正判定処理を実行する。監視モジュール72は、不正判定処理の結果と、CPU70におけるフレーム処理の内容に基づいて、CPU70が正常か否かを判定する。例えば、監視モジュール72は、MAC検証と振る舞い検証の少なくとも一方で対象フレームが不正と判定された場合であって、かつ、CPU70が対象フレームをCAN24へ送信した場合に、CPU70(特にCPU70のルーティング機能)が異常と判定する。また、監視モジュール72は、MAC検証と振る舞い検証の両方で対象フレームが正当と判定された場合であって、かつ、CPU70が対象フレームを破棄または無効化した場合に、CPU70が異常と判定する。
 CPU70が異常と判定した場合、監視モジュール72は、所定のエラー処理、リカバリー処理、乗員または外部の人等への通知処理のうち少なくとも1つを実行してもよい。第2変形例によると、CGW20のCPU70が不正者により乗っ取られた場合も、その事実を監視モジュール72により検出して、セキュリティの脅威を解消するための処理を実行可能になる。なお、CPU70と監視モジュール72は、仮想的または論理的に分離して実装されてもよい。また、ここではCGW20の例を示したが、監視装置として動作するECU14においても本変形例の構成を適用可能である。
 第3変形例を説明する。上記実施の形態では、車載ネットワークをCANとしたが、変形例として、車載ネットワークをイーサネット(登録商標、以下同様)にしてもよく、この場合も、ECU14およびCGW20には実施の形態と同様の構成を適用できる。
 第4変形例を説明する。第3変形例に関連して、車載ネットワークにおいてCANとイーサネットが混在してもよい。監視装置としてのCGW20は、CANとイーサネットを接続し、CANのフレームとイーサネットフレームとを相互に変換する機能をさらに有してもよい。CGW20は、MAC検証と振る舞い検証の少なくとも一方で不正と判定されたCANフレームをイーサネットフレームへ変換することを抑制する。同様に、上記不正と判定されたイーサネットフレームをCANフレームへ変換することを抑制する。
 また、CGW20は、CANの複数のバスと、イーサネットの複数のバスに接続されてもよい。この場合に、或るフレームがMAC検証と振る舞い検証の少なくとも一方で不正と判定された場合、CGW20は、そのフレームが流れるバスから他のバスへの、全フレームの変換および中継を抑制してもよい。さらにまた、CGW20は、不正と判定されたフレームが流れるバスへの他のバスからの、全フレームの変換および中継を抑制してもよい。
 さらにまた、CGW20は、イーサネットにおけるセキュリティ機能(例えばファイヤウォール機能、MACアドレスフィルタ等)を有してもよい。CGW20は、イーサネットにおけるセキュリティ機能とMAC検証との少なくとも一方で対象フレームが不正と判定されたことを、実施の形態においてMAC検証で不正と判定した場合と同等に取り扱ってもよい。なお、CGW20は、イーサネットにおけるセキュリティ機能とMAC検証の両方で対象フレームが不正と判定された場合、不正の確度が高いと判定して、コマンド対策およびECU対策の実行に代えて、もしくはコマンド対策およびECU対策の実行とともに、車両10の自動運転のモードをフェイルセーフモードへ移行させてもよい。なお、第4変形例は、CGW20に限らず、異なる種類のネットワークを接続する装置全般に適用可能である。
 第5変形例を説明する。車載ネットワークシステム12のECU14、CGW20には、自装置の改ざん有無を判定するセキュリティチップ(Trusted Platform Module、以下「TPM」と呼ぶ。)が搭載されてもよい。監視装置(例えばCGW20、ECU14)の対象検出部50は、少なくとも振る舞い検証で不正と判定されたフレームを送信したECUのTPMに対して改ざん有無を問い合わせてもよい(Attestation)。なお、第2変形例との組み合わせ時、対象検出部50は、CGW20のSoC(System on Chip)に対して改ざん有無を問い合わせてもよい。対象検出部50は、問い合わせの結果が改ざんありを示す場合、問い合わせ先の装置(例えばCGW20、ECU14)を不正と判定し、言い換えれば、不正対策の対象装置と判定する。
 第1の実施の形態および変形例に記載の技術は、以下の項目によって特定されてもよい。
 [項目1]
 監視装置は、受信部と、処理部と、を有する。受信部は、通信網からフレームを受信する。処理部は、フレームに対するメッセージ認証の結果に基づいてフレームが不正かを判定する第1判定と、フレームの態様と予め定められたルールとに基づいてフレームが不正かを判定する第2判定とを行う。また、処理部は、第1判定の結果と第2判定の結果との組み合わせに応じて、フレームに関する処理とフレームの送信元装置に関する処理の少なくとも一方を実行する。
 この監視装置によると、通信システムのセキュリティを向上させることができる。
 [項目2]
 第1判定により判定対象フレームが正当と判定され、第2判定により判定対象フレームが不正と判定された場合、または、第1判定により判定対象フレームが不正と判定され、第2判定により判定対象フレームが不正と判定された場合、処理部は、判定対象フレームを破棄または無効化する処理を実行してもよい。
 この態様によると、不正なフレームによるセキュリティのリスクを低減できる。
 [項目3]
 第1判定により判定対象フレームが正当と判定され、第2判定により判定対象フレームが不正と判定された場合、または、第1判定により判定対象フレームが不正と判定され、第2判定により判定対象フレームが不正と判定された場合に、処理部は、複数の送信元装置から送信された複数のフレームにおける不正有無に基づいて、複数の送信元装置の中から不正対策の対象装置を検出してもよい。また、処理部は、これらの場合に、(1)対象装置から送信されるフレームを破棄または無効化する処理、(2)対象装置におけるコンピュータプログラムを更新する処理、(3)対象装置以外の送信元装置におけるメッセージ認証の鍵を更新する処理、(4)対象装置が接続された通信網のバスから受信されたフレームを破棄または無効化する処理、のうち少なくとも1つを実行してもよい。
 この態様によると、不正なフレームの検出に基づいて、フレームの送信元装置に関する不正対策を実施できる。
 [項目4]
 第1判定により判定対象フレームが正当と判定され、第2判定により判定対象フレームが不正と判定された場合であり、かつ、判定対象フレームが、所定の送信元装置以外から送信されたフレームが流れるバスから受信されたものであるとき、処理部は、所定の送信元装置におけるメッセージ認証の鍵を更新する処理を実行してもよい。
 この態様によると、外部から不正なフレームが注入され、メッセージ認証の鍵が漏洩している可能性がある場合に、メッセージ認証の鍵を更新し、セキュリティのリスクを低減できる。
 [項目5]
 第1判定により判定対象フレームが不正と判定され、第2判定により判定対象フレームが正当と判定された場合に、処理部は、少なくとも判定対象フレームに関するログデータを保存してもよい。
 この態様によると、第2判定のためのルールが不完全であることが想定される場合に、ルールの改善を支援できる。
 [項目6]
 処理部は、判定対象フレームの態様とルールとの乖離の度合いに応じて、判定対象フレームを正当、不正、グレーのいずれかに分類し、判定対象フレームがグレーに分類された場合、少なくとも判定対象フレームに関するログデータを保存してもよい。
 この態様によると、本来望ましくないグレー判定に伴い、第2判定のためのルールの改善を支援できる。
 [項目7]
 監視装置は、車両に搭載された電子制御ユニットであってもよい。処理部は、車載ネットワークにおける所定のゲートウェイ装置を経由して伝送されたフレームが第2判定により不正と判定された場合、車両の自動運転のモードをフェイルセーフモードへ切り替えてもよい。
 この態様によると、車両運転の安全性を一層高めることができる。
 [項目8]
 コンピュータが実行する監視方法は、通信網からフレームを受信することを含む。また、監視方法は、受信されたフレームに対するメッセージ認証の結果に基づいてフレームが不正かを判定する第1判定と、受信されたフレームの態様と予め定められたルールとに基づいてフレームが不正かを判定する第2判定と、を行うことを含む。さらに、監視方法は、第1判定の結果と第2判定の結果との組み合わせに応じて、受信されたフレームに関する処理と受信されたフレームの送信元装置に関する処理の少なくともひとつを実行する、ことを含む。
 この監視方法によると、通信システムのセキュリティを向上させることができる。
 [項目9]
 コンピュータプログラムは、通信網からフレームを受信することをコンピュータに実行させる。また、コンピュータプログラムは、受信されたフレームに対するメッセージ認証の結果に基づいてフレームが不正かを判定する第1判定と、受信されたフレームの態様と予め定められたルールとに基づいてフレームが不正かを判定する第2判定と、を行うことをコンピュータに実行させる。さらに、コンピュータプログラムは、第1判定の結果と第2判定の結果との組み合わせに応じて、受信されたフレームに関する処理と受信されたフレームの送信元装置に関する処理の少なくとも一方を実行する、ことをコンピュータに実行させる。
 このコンピュータプログラムによると、通信システムのセキュリティを向上させることができる。
 [第2の実施の形態]
 第2の実施の形態の説明に先立ち、従来の技術における問題点を簡単に説明する。今後、インターネットへ常時接続される車両の普及に伴い、インターネットを介して車両と接続された装置群(以下「クラウド」とも呼ぶ。)が、車両のセキュリティ状態を常時監視することが考えられる。このようなクラウドサービスを利用する車両は、自車のセキュリティ状態をクラウドへ通報する必要があるが、通信量が過度に増加することは好ましくない。
 第2の実施の形態の詳細な構成を説明する前にまず概要を述べる。コネクテッドカー等、インターネットへ常時接続される車両の普及に伴い、クラウド側で車両を常時監視し、クラウドから適切なサービスを車両へ提供することが考えられる。このようなクラウドサービスを利用する車両は、自車のセキュリティ状態をリアルタイムにクラウドへ伝える必要があるが、リアルタイム性を重視するほど通信量は増大する。そのため車両には、セキュリティ状態の検知結果に応じた適切な通信が求められる。
 第2の実施の形態では、MAC検証の結果と、振る舞い検証の結果とに基づいて、車両のセキュリティ状態を判定し、車両のセキュリティ状態に応じて、適切なタイミングで、かつ、適切な内容をクラウドへ送信する車載ネットワークシステムを説明する。以下の図面において、第1の実施の形態と同一または対応するブロックには、第1の実施の形態と同一の符号を付している。また、第1の実施の形態で説明済みの内容は適宜省略し、主に、第1の実施の形態と異なる構成を説明する。
 図8は、第2の実施の形態の車載ネットワークシステムの構成を示す。車載ネットワークシステム12のハードウェア構成は第1の実施の形態と同様である。第2の実施の形態では、車両10は、外部通信網28を介して車両監視サーバ100と接続される。
 車両監視サーバ100は、車両10のセキュリティ状態に応じたサービスを提供する。車両監視サーバ100は、第1の実施の形態においてCGW20、ECU14等に実装された不正対策部38に対応する機能を有してもよい。例えば、車両監視サーバ100は、車両10から通報された車両10のセキュリティ状態に応じて、ECU14のリプログラミングまたは鍵更新を車両10に指示してもよい。なお、車両監視サーバ100は、第1の実施の形態のルール生成装置29の機能を含む。
 第2の実施の形態の車載ネットワークシステム12では、MACを用いたメッセージ認証に対応するECU14に監視モジュールが導入される。監視モジュールが導入されたECU14は、CAN24を流れる不正フレーム(言い換えれば不正コマンド)を監視し、その監視結果を車両監視サーバ100へ通報する監視装置として機能する。変形例として、(i)CGW20にのみ監視モジュールを導入する構成でもよく、(ii)CMI22にのみ監視モジュールを導入する構成でもよく、(iii)CGW20と、MACを用いたメッセージ認証に対応するECU14とに監視モジュールを導入する構成でもよい。
 図9は、図8のECU14の機能構成を示すブロック図である。ECU14は、フレーム受信部30、フレーム送信部32、MAC検証部34、振る舞い検証部36、ルール更新部46、コマンド実行部56、フレーム生成部58、通報部114を有する。図8のCGW20またはCMI22が監視モジュールを有する場合も、図9と同様の構成になる。
 図9のMAC検証部34、振る舞い検証部36、ルール更新部46、通報部114は、監視モジュールとして処理部110を構成してもよい。また、図9のフレーム受信部30、フレーム送信部32、MAC検証部34、振る舞い検証部36、ルール更新部46、コマンド実行部56、フレーム生成部58は、第1の実施の形態と同じ機能であるため説明を省略する。
 通報部114は、CAN24から受信されたフレーム(以下「対象フレーム」とも呼ぶ。)をフレーム受信部30から受信する。また、通報部114は、対象フレームに対するMAC検証の結果をMAC検証部34から取得し、対象フレームに対する振る舞い検証の結果を振る舞い検証部36から取得する。通報部114は、対象フレームに対するMAC検証の結果と振る舞い検証の結果の組み合わせに基づいて、車両監視サーバ100へ通報する内容または通報の優先度を設定し、また、複数の対象フレーム間で、車両監視サーバ100へ通報する内容または通報の優先度を変更する。実施の形態では、通報する内容と通報の優先度の両方を変更する。
 通報部114は、受信フレーム記憶部42、構成情報記憶部48、解析部120、メッセージ生成部122、メッセージ出力部124を含む。
 受信フレーム記憶部42は、フレーム受信部30により受信された複数のフレームを所定の記憶領域に記憶し、蓄積する。受信フレーム記憶部42は、受信されてから(予め設定された)所定時間が経過したフレームを記憶領域から順次消去しても良い。受信フレーム記憶部42は、フレームのデータと、MAC検証部34による判定結果と振る舞い検証部36による判定結果とを対応付けて蓄積してもよい。
 構成情報記憶部48は、CAN24の様々な構成要素に関する属性情報(ここでは「構成情報」と呼ぶ。)を記憶する。実施の形態の構成情報は、複数のECU14のIDと、複数のECU14のそれぞれが送信するフレームに含まれるコマンドのIDを含む。なお、構成情報は、コマンドのIDに代えて、フレームID(言い換えればCAN-ID)を含んでもよい。もしくは、構成情報は、コマンドのIDとともに、フレームのID(CAN-ID)を含んでもよい。
 また、実施の形態の構成情報は、複数のコマンドのIDと、各コマンドの送信頻度とを対応付けた情報を含む。コマンドの送信頻度は、送信元のECUが当該コマンドを含むフレームを送信する頻度(例えば単位時間あたりの送信個数)であってもよい。また、実施の形態の構成情報は、複数のコマンドのIDと、各コマンドに関連する他のコマンドのIDとを対応付けた情報を含む。特定のコマンドに関連する他のコマンドは、特定のコマンドと依存関係を有する他のコマンドでもよく、特定のコマンドと対になって送信される他のコマンドでもよい。例えば、車速制御コマンドに関連する他のコマンドは、ブレーキアクチュエータ制御コマンドでもよい。
 解析部120は、対象フレームに対するMAC検証の結果と振る舞い検証の結果との組み合わせに基づいて、対象フレームの不正検出パターンを識別する。図10は、不正検出パターンを示す。解析部120は、対象フレームの不正検出パターンとして、図10に示す7つの不正検出パターンのうちいずれかを特定する。
 パターン1とパターン5の識別方法を説明する。解析部120は、あるコマンドID(フレームIDでもよい)を含むフレームに対するMAC検証結果が正当(図10における「OK」)を示すと共に、振る舞い検証結果が不正(図10における「NG」)を示す場合、受信フレーム記憶部42を参照して、そのコマンドIDを含むフレームの受信頻度を特定する。特定した受信頻度が、構成情報記憶部48に記憶された当該コマンドIDの送信頻度と整合する(例えば、特定した受信頻度と当該コマンドIDの送信頻度との差異が所定の範囲内)の場合、パターン1と識別する。その一方、特定した受信頻度が、送信頻度を上回る場合(例えば、特定した受信頻度と当該コマンドIDの送信頻度との差異が所定の閾値を超過する場合)、パターン5と識別する。
 このように識別する理由は、ECUが乗っ取られた場合(パターン1)は、送信頻度が変わらないが、不正コマンドが外部注入された場合(パターン5)は、正常なECUが送信するコマンドと外部注入されたコマンドの両方が存在することで受信頻度が高くなるからである。
 パターン3とパターン4の識別方法を説明する。パターン3またはパターン4に分類されうる対象フレームは、MACのコード値が付加されていないフレームであり、言い換えれば、MAC検証部34によるMAC検証の対象外となるフレームである。解析部120は、あるコマンドID(フレームIDでもよい)を含むフレームに対するMAC検証結果がなく(図10における「n/a」)、振る舞い検証結果が不正(図10における「NG」)を示す場合、受信フレーム記憶部42を参照して、そのコマンドIDを含むフレームの受信頻度を特定する。特定した受信頻度が、構成情報記憶部48に記憶された当該コマンドIDの送信頻度と整合する場合、パターン3と識別する。その一方、特定した受信頻度が、送信頻度を上回る場合、パターン4と識別する。
 解析部120は、対象フレームの不正検出パターンとしてパターン1またはパターン3を識別した場合、乗っ取られた可能性があるECUのIDを特定する。例えば、解析部120は、構成情報記憶部48を参照して、対象フレームが示すコマンドIDに対応づけられたECUを、乗っ取られた可能性があるECUとして特定する。なお、ECUが乗っ取られていることは、当該ECUで想定外のプログラムが実行されていることを含む。
 図9に戻り、メッセージ生成部122は、解析部120により識別された対象フレームの不正検出パターンに応じて、対象フレームに関する情報を車両監視サーバ100へ通報するためのメッセージを生成する。このメッセージは、車両10のセキュリティ状態を示す。メッセージ生成部122は、対象フレームの不正検出パターンに該当する図10の通報内容および付加情報をメッセージに含める。
 メッセージ生成部122は、上記メッセージをペイロードに設定したフレームであり、車両10のセキュリティ状態(具体的には不正検出状態)を車両監視サーバ100へ通報するための通報フレームを生成する。メッセージ生成部122は、上記メッセージを複数に分割し、分割後のメッセージをそれぞれ含む複数の通報フレームを生成してもよい。メッセージ出力部124は、メッセージ生成部122により生成された通報フレームをフレーム送信部32へ出力し、フレーム送信部32からCAN24へ出力させる。通報フレームは、CAN24~外部バス26e~外部通信網28を介して車両監視サーバ100へ伝送される。
 メッセージ内容の設定処理の詳細を説明する。対象フレームの不正検出パターンがパターン1であるとき、メッセージ生成部122は、図10のパターン1の通報内容をメッセージに含める。また、メッセージ生成部122は、付加情報(A)、(B)、(C)をメッセージに含める。なお、いずれのパターンにおいても、図10の「通報内容」欄の文章に代えて、図10の「想定される脅威」欄の文章をメッセージに含めてもよい。
 具体的には、メッセージ生成部122は、MAC検証と振る舞い検証の結果を付加情報(A)としてメッセージに含める。また、メッセージ生成部122は、対象フレームが含むコマンドIDを付加情報(B)としてメッセージに含める。また、メッセージ生成部122は、解析部120により特定されたECU(ここでは「不正ECU」と呼ぶ。)のIDを付加情報(C)としてメッセージに含める。また、メッセージ生成部122は、構成情報記憶部48を参照して、不正ECUに対応づけられたコマンドIDであり、すなわち、不正ECUが送信するコマンドIDを特定し、そのコマンドIDを付加情報(C)としてメッセージに含める。
 対象フレームの不正検出パターンがパターン2であるとき、メッセージ生成部122は、付加情報として(A)と(B)のみをメッセージに含める。この理由は、MAC検証と振る舞い検証のいずれも機能しており、パターン1の場合よりも問題が小さいからである(つもり、この場合、付加情報を減らすことによって、通信量の削減効果を高めている)。変形例として、パターン1と同様の付加情報(すなわち(A)~(C))をメッセージに含めてもよい。
 次に、対象フレームの不正検出パターンがパターン6であるときの、メッセージ生成部122の処理を説明する。第1の実施の形態でも言及したように、パターン6は、振る舞い検証が本来NGになるべきところがOKになった可能性があり、すなわち、振る舞い検証ルールが不完全の可能性がある。メッセージ生成部122は、図10のパターン6の通報内容をメッセージに含める。また、メッセージ生成部122は、付加情報(A)、(B)、(D)、(E)をメッセージに含める。
 具体的には、メッセージ生成部122は、受信フレーム記憶部42を参照して、対象フレームのフレームIDと同じIDが設定されたフレームであり、対象フレームより前に受信された所定個数(例えば10個)のフレームを特定する。また、メッセージ生成部122は、受信フレーム記憶部42を参照して、対象フレームのフレームIDと同じIDが設定されたフレームであり、対象フレームより後に受信された所定個数(例えば10個)のフレームを特定する。メッセージ生成部122は、特定した各フレームに含まれるコマンドIDを付加情報(D)としてメッセージに含める。変形例として、メッセージ生成部122は、付加情報(D)として、対象フレームの前後で受信した所定個数のフレームの全体データをメッセージに含めてもよい。
 また、メッセージ生成部122は、構成情報記憶部48に記憶した情報を参照して、対象フレームに含まれるコマンドに関連する他のコマンドのIDを特定し、他のコマンドのIDを付加情報(E)としてメッセージに含める。変形例として、メッセージ生成部122は、付加情報(E)として、上記他のコマンドのIDを含む所定個数のフレームの全体データをメッセージに含めてもよい。
 なお、メッセージ生成部122は、通報内容および付加情報(A)、(B)を含む第1メッセージと、付加情報(D)、(E)を含む第2メッセージとを別個に生成する。このように生成する理由は、後述するように、第1メッセージの通報タイミングと、第2メッセージの通報タイミングとが異なるからである。
 メッセージ生成部122は、対象フレームの不正検出パターンがパターン7であるとき、フレームを生成しない。ただし、不正検出パターンがパターン7である状態が所定時間以上継続する場合、メッセージ生成部122は、セキュリティに異常がないことを示すフレームを定期的(例えば1分経過毎に)に生成してもよい。
 次に、通報の優先度の設定処理の詳細を説明する。メッセージ生成部122は、対象フレームの不正検出パターンに応じた優先度(図10)を通報フレームに設定する。メッセージ生成部122は、対象フレームの不正検出パターンがパターン1または5の場合、優先度を高に設定し、すなわち、通報フレーム以外の他の通信より高い優先度を通報フレームに設定する。この理由は、パターン1または5は、MAC鍵が漏洩もしくはECUが乗っ取られている可能性が高いため、早急に対処すべきだからである。
 また、対象フレームの不正検出パターンがパターン2~4の場合、メッセージ生成部122は、優先度を低に設定し、すなわち、通報フレーム以外の他の通信より低い優先度を通報フレームに設定する。この理由は、パターン2~4では、不正コマンドを問題なく検出できているからである。また、この理由は、パターン3および4の判定対象フレームにはMACが付与されず、MACが付与されない判定対象フレームは、運転上重要性が低いからである。
 また、対象フレームの不正検出パターンがパターン6の場合、メッセージ生成部122は、通報内容および付加情報(A)(B)を含む第1メッセージのフレームの優先度を中に設定する。すなわち、通報フレーム以外の他の通信と同程度の優先度を通報フレームに設定する。この理由は、MAC検証がNGであるため、不正コマンドによる被害は回避できているが、振る舞い検証ではOKとなっているため、振る舞い検証のルールを改善すべきだからである。また、メッセージ生成部122は、付加情報(D)、(E)を含む第2メッセージのフレームの優先度を低に設定する。この理由は、付加情報(D)、(E)はデータ量が多いからである。ただし、CAN24などの通信量が空いている場合には、付加情報(D)、(E)を含む第2メッセージのフレームの優先度を中に設定してもよい。
 メッセージ生成部122は、優先度を高に設定された通報フレームに、CAN24で優先的に伝送されるIDを付与してもよい。メッセージ出力部124は、優先度を高に設定された通報フレームを、他のフレームが送信中か否かに関わらず、即時にCAN24へ出力してもよい。また、メッセージ生成部122は、外部通信網28と接続されたIVI装置16に対して、優先度を高に設定され通報フレームを、他の通信に優先して送信するように指示するデータを付与してもよい。他の通信は、車両10の自動運転に必要な情報の送受信を含んでもよく、例えば、ダイナミックマップや標識情報のアップロードおよびダウンロードを含んでもよい。
 メッセージ生成部122は、優先度を中に設定された通報フレームに、CAN24で他の種類のフレームと同等の優先度で扱われるIDを付与してもよい。メッセージ出力部124は、優先度を中に設定された通報フレームを、他のフレームが送信されていない間にCAN24へ出力してもよい。また、メッセージ生成部122は、優先度を中に設定された通報フレームに、他の通信と同等に扱って送信する(例えば早い者勝ちで送信する)ようにIVI装置16に指示するデータを付与してもよい。
 メッセージ生成部122は、優先度を低に設定された通報フレームに、CAN24で他の種類のフレームより低い優先度で扱われるIDを付与してもよい。メッセージ出力部124は、優先度を低に設定された通報を、イグニッションオフまたは電源オフ等、通信の空き時間にCAN24へ出力してもよい。また、メッセージ生成部122は、優先度を低に設定された通報フレームに、他の通信より低い優先度で送信するようにIVI装置16指示するデータを付与してもよい。例えば、メッセージ生成部122は、優先度を低に設定された通報フレームに、通信処理のアイドル中に車両監視サーバ100へ送信するようにIVI装置16に指示するデータを付与してもよい。
 なお、メッセージ生成部122は、優先度が高以外に設定された通報フレームを、第1の実施の形態と同様に、ログとして不揮発メモリに保存してもよい。メッセージ出力部124は、CAN24が空いた場合等、通報フレームの送信が可能になった場合に、不揮発メモリに保存された通報フレームを読み出し、通報フレームをCAN24へ出力してもよい。
 車両10が複数種類の通信網に接続されるケースを説明する。例えば、車両10は、複数の通信装置を有してもよく、例えば、IVI装置16、TCU(Telematics Communication Unit)(不図示)、緊急通信ユニット(不図示)を有してもよい。IVI装置16は、WiFi(Wireless Fidelity)(登録商標)に接続されてもよい。また、TCUは、4G/LTE(Long Term Evolution)(登録商標)ネットワークに接続されてもよい。また、緊急通信ユニットは、3Gネットワークに接続されてもよい。上述した通信網および各装置との組合せは一例であり、その他にも組み合わせることが可能であることは、当業者にとっては理解されよう。
 車両10において、通報の優先度が高の場合、緊急通信ユニットを使用して通報処理を実行してもよい。また、通報の優先度が中の場合、TCUを使用して通報処理を実行してもよい。また、通報の優先度が低の場合、IVI装置16を使用して通報処理を実行してもよい。あるいは、通報の優先度が低の場合、複数種類の通信網のうち空いている通信網を選択して通報処理を実行してもよい。その一方、通報の優先度が高の場合、他の通信による高速な通信網の使用を中止させ、その高速な通信網を使用して通報処理を実行してもよい。上述に挙げた優先度の設定および各処理との組合せは一例であり、その他にも組み合わせることが可能であることは、当業者にとっては理解されよう。
 以上の構成によるECU14の動作を説明する。図11は、図8のECU14の動作を示すフローチャートである。フレーム受信部30は、CAN24からフレームを受信する(S70)。MAC検証部34は、受信された対象フレームに対するMAC検証を実行して、対象フレームが正当か不正かを判定する(S72)。振る舞い検証部36は、受信された対象フレームに対する振る舞い検証を実行して、対象フレームが正当か不正かを判定する(S74)。
 MAC検証と振る舞い検証の両方で対象フレームが正当と判定された場合(S76のY)、通報部114のメッセージ出力部124は、対象フレームをコマンド実行部56に渡す。コマンド実行部56は、対象フレームで指定されたコマンドにしたがいデータ処理を実行する(S78)。
 また、MAC検証と振る舞い検証の両方で対象フレームが正当と判定される状態が継続する場合、メッセージ生成部122は、車両10のセキュリティ状態が正常であることを示すフレームを定期的に生成する。メッセージ出力部124は、当該フレームを車両監視サーバ100へ送信する。
 MAC検証と振る舞い検証の少なくとも一方で対象フレームが不正と判定された場合(S76のN)、通報部114の解析部120は、対象フレームの不正検出パターンとして、図10の7つのパターンの中から1つのパターンを特定する(S80)。メッセージ生成部122は、特定された対象フレームの不正検出パターンにしたがって、車両監視サーバ100へ通報するメッセージと、通報の優先度を設定する(S82)。メッセージ出力部124は、メッセージ生成部122により生成されたメッセージを含む通報フレームを、メッセージ生成部122により設定された優先度にしたがって車両監視サーバ100へ送信する(S84)。このように、通報部114は、不正が検出されたフレームごとに、その不正検出パターンに応じて、通報フレームの内容および優先度を変更する。
 対象フレームの不正検出パターンがパターン1または5の場合(優先度高)、車両10の通信部(不図示)は、自動運転のためのダイナミックマップのダウンロードおよびアップロード(以下「他の通信」と呼ぶ。)より優先して通報フレームを処理し、通報フレームを車両監視サーバ100へ送信してもよい。また、対象フレームの不正検出パターンがパターン6の場合、上記通信部は、他の通信と同程度の優先度(例えば早い者勝ち)で通報フレームを処理してもよい。また、対象フレームの不正検出パターンがパターン2~4の場合、上記通信部は、他の通信を処理中であれば、通報フレームの処理を後回しにしてもよい。
 第2の実施の形態のECU14によると、車両10(言い換えれば車載ネットワークシステム12内の各装置)のセキュリティ状態に応じた適切なタイミングで、かつ、適切な内容を車両監視サーバ100へ通報することができる。
 以上、本発明を第2の実施の形態をもとに説明した。この実施の形態は例示であり、それらの各構成要素あるいは各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
 第1変形例を説明する。本変形例は、第1の実施の形態の第1変形例に対応する。振る舞い検証部36は、対象フレームの態様と、予め定められた複数のルールとに基づいて、複数の中間判定を実行し、複数の中間判定の結果に応じて、振る舞い検証の結果を導出する。振る舞い検証部36は、振る舞い検証の結果とともに、複数の中間判定の結果を通報部114へ出力する。メッセージ生成部122は、複数の中間判定結果の中にルールに不適合であることを示す結果が存在する場合、複数の中間判定結果を含む通報フレームを生成する。メッセージ出力部124は、上記の通報フレームを車両監視サーバ100へ送信する。また、メッセージ生成部122は、ルールに不適合であることを示す中間判定結果の数に応じて、通報の優先度を変更する。
 具体例として、振る舞い検証部36は、1つの対象フレームのデータを、複数の検知パラメータのそれぞれで評価し、各検知パラメータによる中間判定結果(当該対象フレームのデータが各検知パラメータに対応するルールに適合するか否かの判定結果)を生成してもよい。振る舞い検証部36は、複数の中間判定結果のうちNGとなった中間判定結果の個数が3以上であれば、対象フレームの最終判定結果を不正としてもよい。NGとは、例えば、判定対象フレームのデータが、個々の中間判定のルールに不適合であることを含む。
 1)フレーム単位での通報処理を説明する。メッセージ生成部122は、複数の中間判定結果の中にルール不適合を示す結果が1つ以上存在する場合、全ての中間判定結果を含む通報フレームを生成してもよい。中間判定結果は、中間判定で使用されたパラメータの情報を含んでよく、また、中間判定で正否が判定されたフレームのデータを含んでもよい。また、メッセージ生成部122は、中間判定結果がNGになった数に応じて、車両監視サーバ100への通報の優先度を変更してもよい。例えば、5つの中間判定が行われる場合、中間判定結果のNG数が1または2であれば実施の形態の優先度低を設定してもよい。また、中間判定結果のNG数が3または4であれば実施の形態の優先度中を設定し、中間判定結果のNG数が5であれば優先度高を設定してもよい。
 次に、2)コマンド単位での通報処理を説明する。メッセージ生成部122は、コマンドIDごと(もしくはフレームIDごと)に、振る舞い検証部36による中間判定結果のNG数の累計値(ここでは「コマンド別中間NG累計数」と呼ぶ。)を記憶してもよい。メッセージ生成部122は、コマンド別中間NG累計数が第1閾値(例えば20回)を超えた場合に、コマンド別中間NG累計数が第1閾値を超えた旨の情報とコマンドIDとを含む通報フレームを生成し、通報の優先度を低に設定してもよい。また、メッセージ生成部122は、コマンド別中間NG累計数が第2閾値(例えば40回)を超えた場合に、コマンド別中間NG累計数が第2閾値を超えた旨の情報とコマンドIDとを含む通報フレームを生成し、通報の優先度を中に設定してもよい。
 次に、3)車両10全体としての通報処理を説明する。メッセージ生成部122は、コマンドIDに関係なく、複数のコマンド(複数の対象フレーム)について振る舞い検証部36から入力された中間判定結果のNG数の累計値(ここでは「全体中間NG累計数」と呼ぶ。)を記憶してもよい。メッセージ生成部122は、全体中間NG累計数が第1閾値(例えば100回)を超えた場合に、全体中間NG累計数が第1閾値を超えた旨の情報を含む通報フレームを生成し、通報の優先度を低に設定してもよい。また、メッセージ生成部122は、全体中間NG累計数が第2閾値(例えば200回)を超えた場合に、全体中間NG累計数が第2閾値を超えた旨の情報を含む通報フレームを生成し、通報の優先度を中に設定してもよい。
 第2変形例を説明する。第1の実施の形態の任意の構成要素と第2の実施の形態の任意の構成要素の組み合わせが可能である。例えば、第1の実施の形態に記載したように、車両10のCGW20は、MAC検証および振る舞い検証により不正と判定したフレームを破棄または無効化する機能を有してもよい。上記第2の実施の形態では、ECU14の構成情報記憶部48は、コマンドIDと、そのコマンドを送信するECU-IDとを対応付けた構成情報を記憶する。変形例として、構成情報記憶部48は、自機とは異なるCAN24のバスに接続されたECUが送信するコマンドについて、そのコマンドIDとCGW20のIDとを対応付けた構成情報を記憶してもよい。この理由は、自機とは異なるCAN24のバスに接続されたECUから送信されるフレームは、CGW20により中継されるからである。
 第2変形例の解析部120は、対象フレームの不正検出パターンがパターン1またはパターン3であり、かつ、その対象フレームがCGW20を経由して受信されたものである場合、乗っ取られた可能性があるECUとして、CGW20のIDを特定する。具体的には、構成情報記憶部48の構成情報は、当該対象フレームに含まれるコマンドIDとCGW20のIDとを対応付けている。解析部120は、その構成情報を参照することにより、対象フレームがCGW20を経由して受信されたものである場合、CGW20のIDを特定する。メッセージ生成部122は、CGW20が乗っ取られた可能性があることを示す通報フレームを生成する。
 既述したように、CGW20が正常に動作していれば、不正フレームを破棄または無効化する。そのため、CGW20により中継されたフレームの不正がECU14で検出された場合、CGW20の動作が異常であり、乗っ取られた可能性がある。本変形例の態様によると、CGW20の異常を精度よく検出して、車両監視サーバ100へ通報することができる。なお、第2変形例の構成は、CMI22に監視モジュールが導入される場合も適用可能である。
 第2の実施の形態および変形例に記載の技術は、以下の項目によって特定されてもよい。
 [項目1]
 監視装置は、受信部と、処理部と、を有する。受信部は、通信網からフレームを受信する。処理部は、フレームに対するメッセージ認証の結果に基づいてフレームが不正かを判定する第1判定と、フレームの態様と予め定められたルールとに基づいてフレームが不正かを判定する第2判定とを行う。また、処理部は、第1判定の結果と第2判定の結果との組み合わせに応じて、外部装置へ通報する内容または通報の優先度の少なくとも一方を変更する。
 この監視装置によると、自装置のセキュリティ状態に応じた適切な内容またはタイミングで、外部装置への通報を実行することができる。
 [項目2]
 第1判定により判定対象フレームが正当と判定され、第2判定により判定対象フレームが不正と判定された場合、処理部は、判定対象フレームに関する情報を通報する優先度を、他の通信より高い優先度に設定してもよい。
 この態様によると、メッセージ認証の鍵が漏洩している危険がある場合に、外部装置への通報を迅速に実行することができる。
 [項目3]
 第1判定により判定対象フレームが不正と判定され、第2判定により判定対象フレームが不正と判定された場合、処理部は、判定対象フレームに関する情報を通報する優先度を、他の通信より低い優先度に設定してもよい。
 この態様によると、第1判定と第2判定のいずれでも判定対象フレームが不正と判定された場合、不正フレームによる被害は回避できているため、他の通信を阻害してしまうことを抑制した通報を実現できる。
 [項目4]
 第1判定により判定対象フレームが不正と判定され、第2判定により判定対象フレームが正当と判定された場合、処理部は、優先度を次のように設定してもよい。すなわち、この場合、処理部は、判定対象フレームに関する情報を通報する優先度を、第1判定により判定対象フレームが正当と判定され、第2判定により判定対象フレームが不正と判定された場合より低い優先度であり、かつ、第1判定により判定対象フレームが不正と判定され、第2判定により判定対象フレームが不正と判定された場合より高い優先度に設定してもよい。
 この態様によると、第1判定により不正が検出されることで、不正フレームによる被害は回避できているが、第2判定のルールが不完全である可能性があるため、中程度の優先度での通報を実現できる。
 [項目5]
 第1判定により判定対象フレームが正当と判定され、第2判定により判定対象フレームが不正と判定された場合、処理部は、少なくとも判定対象フレームに含まれるコマンドの情報および判定対象フレームの送信元装置の情報を通報してもよい。
 この態様によると、不正が検出されたコマンドに加えて、乗っ取られた可能性があるECUの情報を外部装置へ通報することにより、外部装置側での適切なデータ処理を支援することができる。
 [項目6]
 第1判定により判定対象フレームが正当と判定され、第2判定により判定対象フレームが不正と判定された場合であって、かつ、判定対象フレームと同じIDのフレームの受信頻度が所定値を超える場合、処理部は、少なくとも判定対象フレームに含まれるコマンドの情報を通報してもよい。
 この態様によると、不正なフレームが外部から注入されたことを検出して、適切な内容を通報することができる。
 [項目7]
 第1判定により判定対象フレームが不正と判定され、第2判定により判定対象フレームが不正と判定された場合、処理部は、少なくとも判定対象フレームに含まれるコマンドの情報を通報してもよい。
 この態様によると、監視装置では判定対象フレームの不正を正しく検知できているため、通報内容を不正が検出されたコマンドの情報に抑えることで、通信トラフィックの増加を抑制することができる。
 [項目8]
 第1判定により判定対象フレームが不正と判定され、第2判定により判定対象フレームが正当と判定された場合、処理部は、少なくとも判定対象フレームに含まれるコマンドの情報および当該コマンドに関連する他のコマンドの情報を通報してもよい。
 この態様によると、ルールが不完全である可能性がある場合に、ルールの改善を支援することができる。
 [項目9]
 第1判定の対象外となったフレームが第2判定により不正と判定された場合であって、かつ、フレームと同じIDのフレームの受信頻度が所定値に整合する場合、処理部は、他の通信より低い優先度で、少なくともフレームに含まれるコマンドの情報およびフレームの送信元装置の情報を通報してもよい。
 この態様によると、メッセージ認証用の鍵を有しない電子機器が乗っ取られたことを検出して、適切な優先度で適切な内容を通報することができる。
 [項目10]
 第1判定の対象外となったフレームが第2判定により不正と判定された場合であって、かつ、フレームと同じIDのフレームの受信頻度が所定値を超える場合、処理部は、他の通信より低い優先度で、少なくともフレームに含まれるコマンドの情報を通報してもよい。
 この態様によると、メッセージ認証用のコードを持たないフレームであり、不正なフレームが外部から注入されたことを検出して、適切な優先度で適切な内容を通報することができる。
 [項目11]
 処理部は、判定対象フレームの態様と、予め定められた複数のルールとに基づいて、複数の中間判定を実行し、複数の中間判定の結果に応じて第2判定の結果を導出してもよい。また、処理部は、複数の中間判定の結果の中にルールに不適合であることを示す結果が存在する場合、複数の中間判定の結果を外部装置へ通報し、ルールに不適合であることを示す結果の数に応じて、通報の優先度を変更してもよい。
 この監視装置によると、振る舞い検証によるセキュリティの強度を高めることができる。
 [項目12]
 コンピュータが実行する監視方法は、通信網からフレームを受信することを含む。また、監視方法は、フレームに対するメッセージ認証の結果に基づいてフレームが不正かを判定する第1判定と、フレームの態様と予め定められたルールとに基づいてフレームが不正かを判定する第2判定と、を行うことを含む。さらに、監視方法は、第1判定の結果と第2判定の結果との組み合わせに応じて、外部装置へ通報する内容または通報の優先度の少なくとも一方を変更することを含む。
 この監視方法によると、自装置のセキュリティ状態に応じた適切な内容またはタイミングで、外部装置への通報を実行することができる。
 [項目13]
 コンピュータプログラムは、通信網からフレームを受信することをコンピュータに実行させる。また、コンピュータプログラムは、フレームに対するメッセージ認証の結果に基づいてフレームが不正かを判定する第1判定と、フレームの態様と予め定められたルールとに基づいてフレームが不正かを判定する第2判定と、を行うことをコンピュータに実行させる。さらに、コンピュータプログラムは、第1判定の結果と第2判定の結果との組み合わせに応じて、外部装置へ通報する内容または通報の優先度の少なくとも一方を変更する、ことをコンピュータに実行させる。
 このコンピュータプログラムによると、自装置のセキュリティ状態に応じた適切な内容またはタイミングで、外部装置への通報を実行することができる。
 上述した実施の形態および変形例の任意の組み合わせもまた本発明の実施の形態として有用である。組み合わせによって生じる新たな実施の形態は、組み合わされる実施の形態および変形例それぞれの効果をあわせもつ。また、請求項に記載の各構成要件が果たすべき機能は、実施の形態および変形例において示された各構成要素の単体もしくはそれらの連携によって実現されることも当業者には理解されるところである。
 本発明は、監視装置、監視方法およびコンピュータプログラム等に有用である。
 10 車両
 12 車載ネットワークシステム
 14,14a,14b,14c,14d ECU(監視装置)
 16 IVI装置
 18 OBDアダプタ
 20 CGW(監視装置)
 22 CMI(監視装置)
 24 CAN
 26a パワートレインバス
 26b 運転支援バス
 26c シャーシバス
 26d ボディバス
 26e 外部バス
 28 外部通信網
 29 ルール生成装置
 30 フレーム受信部(受信部)
 32 フレーム送信部
 34 MAC検証部
 36 振る舞い検証部
 38 不正対策部
 40 無効化部
 42 受信フレーム記憶部
 44 ログ保存部
 46 ルール更新部
 48 構成情報記憶部
 50 対象検出部
 52 プログラム更新部
 54 鍵更新部
 56 コマンド実行部
 58 フレーム生成部
 60 フィルタ部
 62 モード切替部
 72 監視モジュール
 74 LANコントローラ
 76 LANコントローラ
 100 車両監視サーバ
 110 処理部
 114 通報部
 120 解析部
 122 メッセージ生成部
 124 メッセージ出力部

Claims (19)

  1.  通信網からフレームを受信する受信部と、
     前記フレームに対するメッセージ認証の結果に基づいて前記フレームが不正かを判定する第1判定と、前記フレームの態様と予め定められたルールとに基づいて前記フレームが不正かを判定する第2判定とを行い、前記第1判定の結果と前記第2判定の結果との組み合わせに応じて、前記フレームに関する処理、前記フレームの送信元装置に関する処理、外部装置へ通報する内容の変更、及び前記外部装置への通報の優先度の変更の少なくともひとつを実行する処理部と、
     を備える監視装置。
  2.  前記第1判定により判定対象フレームが正当と判定され、前記第2判定により前記判定対象フレームが不正と判定された場合、または、前記第1判定により前記判定対象フレームが不正と判定され、前記第2判定により前記判定対象フレームが不正と判定された場合、前記処理部は、前記判定対象フレームを破棄または無効化する処理を実行する、
     請求項1に記載の監視装置。
  3.  前記第1判定により判定対象フレームが正当と判定され、前記第2判定により前記判定対象フレームが不正と判定された場合、または、前記第1判定により前記判定対象フレームが不正と判定され、前記第2判定により前記判定対象フレームが不正と判定された場合に、
      前記処理部は、複数の送信元装置から送信された複数のフレームにおける不正有無に基づいて、前記複数の送信元装置の中から不正対策の対象装置を検出し、
    (1)前記対象装置から送信されるフレームを破棄または無効化する処理、
    (2)前記対象装置におけるコンピュータプログラムを更新する処理、
    (3)前記対象装置以外の送信元装置における前記メッセージ認証の鍵を更新する処理、
    (4)前記対象装置が接続された前記通信網のバスから受信されたフレームを破棄または無効化する処理、
     のうち少なくとも1つを実行する、請求項1または2に記載の監視装置。
  4.  前記第1判定により判定対象フレームが正当と判定され、前記第2判定により前記判定対象フレームが不正と判定された場合であり、かつ、前記判定対象フレームが、所定の送信元装置以外から送信されたフレームが流れるバスから受信されたものであるとき、前記処理部は、前記所定の送信元装置における前記メッセージ認証の鍵を更新する処理を実行する、請求項1または2に記載の監視装置。
  5.  前記第1判定により判定対象フレームが不正と判定され、前記第2判定により前記判定対象フレームが正当と判定された場合に、前記処理部は、少なくとも前記判定対象フレームに関するログデータを保存する、
     請求項1から4のいずれかに記載の監視装置。
  6.  前記処理部は、判定対象フレームの態様と前記ルールとの乖離の度合いに応じて、前記判定対象フレームを正当、不正、グレーのいずれかに分類し、前記判定対象フレームがグレーに分類された場合、少なくとも前記判定対象フレームに関するログデータを保存する、
     請求項1から5のいずれかに記載の監視装置。
  7.  前記監視装置は、車両に搭載された電子制御ユニットであり、
     前記処理部は、車載ネットワークにおける所定のゲートウェイ装置を経由して伝送されたフレームが前記第2判定により不正と判定された場合、前記車両の自動運転のモードをフェイルセーフモードへ切り替える、請求項1から6のいずれかに記載の監視装置。
  8.  前記第1判定により判定対象フレームが正当と判定され、前記第2判定により前記判定対象フレームが不正と判定された場合、前記処理部は、前記判定対象フレームに関する情報を通報する優先度を、他の通信より高い優先度に設定する、
     請求項1に記載の監視装置。
  9.  前記第1判定により判定対象フレームが不正と判定され、前記第2判定により前記判定対象フレームが不正と判定された場合、前記処理部は、前記判定対象フレームに関する情報を通報する優先度を、他の通信より低い優先度に設定する、
     請求項1または8に記載の監視装置。
  10.  前記第1判定により判定対象フレームが不正と判定され、前記第2判定により前記判定対象フレームが正当と判定された場合、前記処理部は、前記判定対象フレームに関する情報を通報する優先度を、前記第1判定により判定対象フレームが正当と判定され、前記第2判定により前記判定対象フレームが不正と判定された場合より低い優先度であり、かつ、前記第1判定により判定対象フレームが不正と判定され、前記第2判定により前記判定対象フレームが不正と判定された場合より高い優先度に設定する、
     請求項1、8、または9のいずれか1項に記載の監視装置。
  11.  前記第1判定により判定対象フレームが正当と判定され、前記第2判定により前記判定対象フレームが不正と判定された場合、前記処理部は、少なくとも前記判定対象フレームに含まれるコマンドの情報および前記判定対象フレームの送信元装置の情報を通報する、
     請求項1または8に記載の監視装置。
  12.  前記第1判定により判定対象フレームが正当と判定され、前記第2判定により前記判定対象フレームが不正と判定された場合であって、かつ、前記判定対象フレームと同じID(IDentification)のフレームの受信頻度が所定値を超える場合、前記処理部は、少なくとも前記判定対象フレームに含まれるコマンドの情報を通報する、
     請求項1または8に記載の監視装置。
  13.  前記第1判定により判定対象フレームが不正と判定され、前記第2判定により前記判定対象フレームが不正と判定された場合、前記処理部は、少なくとも前記判定対象フレームに含まれるコマンドの情報を通報する、
     請求項1、8、または9のいずれか1項に記載の監視装置。
  14.  前記第1判定により判定対象フレームが不正と判定され、前記第2判定により前記判定対象フレームが正当と判定された場合、前記処理部は、少なくとも前記判定対象フレームに含まれるコマンドの情報および当該コマンドに関連する他のコマンドの情報を通報する、
     請求項1、8、9、または10のいずれか1項に記載の監視装置。
  15.  前記第1判定の対象外となったフレームが前記第2判定により不正と判定された場合であって、かつ、前記フレームと同じID(IDentification)のフレームの受信頻度が所定値に整合する場合、前記処理部は、他の通信より低い優先度で、少なくとも前記フレームに含まれるコマンドの情報および前記フレームの送信元装置の情報を通報する、
     請求項1、8、9、または10のいずれか1項に記載の監視装置。
  16.  前記第1判定の対象外となったフレームが前記第2判定により不正と判定された場合であって、かつ、前記フレームと同じIDのフレームの受信頻度が所定値を超える場合、前記処理部は、他の通信より低い優先度で、少なくとも前記フレームに含まれるコマンドの情報を通報する、
     請求項1、8、9、または10のいずれか1項に記載の監視装置。
  17.  前記処理部は、判定対象フレームの態様と、予め定められた複数のルールとに基づいて、複数の中間判定を実行し、複数の中間判定の結果に応じて前記第2判定の結果を導出し、
     前記処理部は、前記複数の中間判定の結果の中にルールに不適合であることを示す結果が存在する場合、前記複数の中間判定の結果を外部装置へ通報し、前記ルールに不適合であることを示す結果の数に応じて、通報の優先度を変更する、
     請求項1、8、9、10、11、12、13、14、15または16のいずれか1項に記載の監視装置。
  18.  通信網からフレームを受信し、
     前記フレームに対するメッセージ認証の結果に基づいて前記フレームが不正かを判定する第1判定と、
     前記フレームの態様と予め定められたルールとに基づいて前記フレームが不正かを判定する第2判定と、を行い、
     前記第1判定の結果と前記第2判定の結果との組み合わせに応じて、前記フレームに関する処理、前記フレームの送信元装置に関する処理、外部装置へ通報する内容の変更、及び前記外部装置への通報の優先度の変更の少なくともひとつを実行する、
     ことをコンピュータが実行する監視方法。
  19.  通信網からフレームを受信し、
     前記フレームに対するメッセージ認証の結果に基づいて前記フレームが不正かを判定する第1判定と、
     前記フレームの態様と予め定められたルールとに基づいて前記フレームが不正かを判定する第2判定と、を行い、
     前記第1判定の結果と前記第2判定の結果との組み合わせに応じて、前記フレームに関する処理、前記フレームの送信元装置に関する処理、外部装置へ通報する内容の変更、及び前記外部装置への通報の優先度の変更の少なくともひとつを実行する、
     ことをコンピュータに実行させるためのコンピュータプログラム。
PCT/JP2017/040173 2017-01-18 2017-11-08 監視装置、監視方法およびコンピュータプログラム WO2018135098A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE112017006854.1T DE112017006854T5 (de) 2017-01-18 2017-11-08 Überwachungsvorrichtung, Überwachungsverfahren und Computerprogramm
US16/505,628 US10986093B2 (en) 2017-01-18 2019-07-08 Monitoring device, monitoring method, and computer program

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2017007043A JP6782444B2 (ja) 2017-01-18 2017-01-18 監視装置、監視方法およびコンピュータプログラム
JP2017-007043 2017-01-18
JP2017-056570 2017-03-22
JP2017056570A JP6846706B2 (ja) 2017-03-22 2017-03-22 監視装置、監視方法およびコンピュータプログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US16/505,628 Continuation US10986093B2 (en) 2017-01-18 2019-07-08 Monitoring device, monitoring method, and computer program

Publications (1)

Publication Number Publication Date
WO2018135098A1 true WO2018135098A1 (ja) 2018-07-26

Family

ID=62908577

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2017/040173 WO2018135098A1 (ja) 2017-01-18 2017-11-08 監視装置、監視方法およびコンピュータプログラム

Country Status (3)

Country Link
US (1) US10986093B2 (ja)
DE (1) DE112017006854T5 (ja)
WO (1) WO2018135098A1 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020090146A1 (ja) * 2018-01-12 2020-05-07 パナソニックIpマネジメント株式会社 車両用システム及び制御方法
EP3661130A1 (en) * 2018-11-29 2020-06-03 Toyota Jidosha Kabushiki Kaisha A relay device for an in-vehicle network
WO2020121849A1 (ja) * 2018-12-12 2020-06-18 株式会社オートネットワーク技術研究所 判定装置、判定プログラム、判定方法及びニューラルネットワークモデルの生成方法
CN113595990A (zh) * 2018-10-31 2021-11-02 百度在线网络技术(北京)有限公司 车辆网络通信方法和装置
WO2022069915A1 (ja) 2020-09-29 2022-04-07 日産自動車株式会社 通信システム、中継装置、受信装置及び通信制御方法
US12009945B2 (en) 2020-09-29 2024-06-11 Nissan Motor Co., Ltd. Communication system, relay device, reception device, and communication control method

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6333871B2 (ja) * 2016-02-25 2018-05-30 ファナック株式会社 入力画像から検出した対象物を表示する画像処理装置
JP6956624B2 (ja) * 2017-03-13 2021-11-02 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 情報処理方法、情報処理システム、及びプログラム
JP2018157463A (ja) * 2017-03-21 2018-10-04 オムロンオートモーティブエレクトロニクス株式会社 車載通信システム、通信管理装置、車両制御装置
US10756926B2 (en) * 2018-07-01 2020-08-25 Benchmark Electronics, Inc. System and method for transmission of video and controller area network (CAN) data over a power slip ring assembly
JP7003976B2 (ja) 2018-08-10 2022-01-21 株式会社デンソー 車両用マスタ装置、更新データの検証方法及び更新データの検証プログラム
WO2021084928A1 (ja) * 2019-10-28 2021-05-06 住友電気工業株式会社 中継装置、車載通信システム、車両および車載通信方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001358774A (ja) * 2000-06-13 2001-12-26 Mitsubishi Electric Corp データ不正流出防止方法および装置
JP2005343430A (ja) * 2004-06-07 2005-12-15 Denso Corp 車両制御システム
JP2015114907A (ja) * 2013-12-12 2015-06-22 日立オートモティブシステムズ株式会社 ネットワーク装置およびネットワークシステム
WO2015170451A1 (ja) * 2014-05-08 2015-11-12 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 車載ネットワークシステム、電子制御ユニット及び不正検知方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5770602B2 (ja) 2011-10-31 2015-08-26 トヨタ自動車株式会社 通信システムにおけるメッセージ認証方法および通信システム
JP5522160B2 (ja) 2011-12-21 2014-06-18 トヨタ自動車株式会社 車両ネットワーク監視装置
WO2013171829A1 (ja) 2012-05-14 2013-11-21 トヨタ自動車 株式会社 車両用ネットワークの通信管理装置及び通信管理方法
JP5967822B2 (ja) 2012-10-12 2016-08-10 ルネサスエレクトロニクス株式会社 車載通信システム及び装置
JP5919205B2 (ja) 2013-01-28 2016-05-18 日立オートモティブシステムズ株式会社 ネットワーク装置およびデータ送受信システム
KR101725129B1 (ko) * 2013-02-22 2017-04-10 한국전자통신연구원 무선랜 취약성 분석 장치
JP2014183395A (ja) 2013-03-18 2014-09-29 Hitachi Automotive Systems Ltd 車載ネットワークシステム
KR101572935B1 (ko) * 2014-10-02 2015-12-11 현대자동차주식회사 메시지 인증 코드 혼합을 통한 can 패킷 인증 방법 및 그 장치
JP2017004220A (ja) * 2015-06-09 2017-01-05 株式会社東芝 通信装置、通信システム、通信方法およびプログラム
JP6477281B2 (ja) * 2015-06-17 2019-03-06 株式会社オートネットワーク技術研究所 車載中継装置、車載通信システム及び中継プログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001358774A (ja) * 2000-06-13 2001-12-26 Mitsubishi Electric Corp データ不正流出防止方法および装置
JP2005343430A (ja) * 2004-06-07 2005-12-15 Denso Corp 車両制御システム
JP2015114907A (ja) * 2013-12-12 2015-06-22 日立オートモティブシステムズ株式会社 ネットワーク装置およびネットワークシステム
WO2015170451A1 (ja) * 2014-05-08 2015-11-12 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 車載ネットワークシステム、電子制御ユニット及び不正検知方法

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020090146A1 (ja) * 2018-01-12 2020-05-07 パナソニックIpマネジメント株式会社 車両用システム及び制御方法
CN113595990A (zh) * 2018-10-31 2021-11-02 百度在线网络技术(北京)有限公司 车辆网络通信方法和装置
CN113595990B (zh) * 2018-10-31 2023-04-25 百度在线网络技术(北京)有限公司 车辆网络通信方法和装置
EP3661130A1 (en) * 2018-11-29 2020-06-03 Toyota Jidosha Kabushiki Kaisha A relay device for an in-vehicle network
CN111246435A (zh) * 2018-11-29 2020-06-05 丰田自动车株式会社 中继装置
CN111246435B (zh) * 2018-11-29 2023-10-27 丰田自动车株式会社 中继装置
WO2020121849A1 (ja) * 2018-12-12 2020-06-18 株式会社オートネットワーク技術研究所 判定装置、判定プログラム、判定方法及びニューラルネットワークモデルの生成方法
JP2020096286A (ja) * 2018-12-12 2020-06-18 株式会社オートネットワーク技術研究所 判定装置、判定プログラム、判定方法及びニューラルネットワークモデルの生成方法
JP7215131B2 (ja) 2018-12-12 2023-01-31 株式会社オートネットワーク技術研究所 判定装置、判定プログラム、判定方法及びニューラルネットワークモデルの生成方法
WO2022069915A1 (ja) 2020-09-29 2022-04-07 日産自動車株式会社 通信システム、中継装置、受信装置及び通信制御方法
US12009945B2 (en) 2020-09-29 2024-06-11 Nissan Motor Co., Ltd. Communication system, relay device, reception device, and communication control method

Also Published As

Publication number Publication date
US20190334897A1 (en) 2019-10-31
US10986093B2 (en) 2021-04-20
DE112017006854T5 (de) 2019-10-02

Similar Documents

Publication Publication Date Title
WO2018135098A1 (ja) 監視装置、監視方法およびコンピュータプログラム
JP6846706B2 (ja) 監視装置、監視方法およびコンピュータプログラム
US11277427B2 (en) System and method for time based anomaly detection in an in-vehicle communication
JP7492622B2 (ja) 車両異常検知サーバ、車両異常検知システム及び車両異常検知方法
JP6782444B2 (ja) 監視装置、監視方法およびコンピュータプログラム
US10708293B2 (en) System and method for time based anomaly detection in an in-vehicle communication network
US10440120B2 (en) System and method for anomaly detection in diagnostic sessions in an in-vehicle communication network
JP6807906B2 (ja) 車両へのコンピュータ攻撃を阻止するためのルールを生成するシステムおよび方法
JP6382724B2 (ja) グローバル自動車安全システム
JP6762347B2 (ja) 交通手段に対するコンピュータ攻撃を阻止するためのシステムおよび方法
KR102524204B1 (ko) 차량용 네트워크의 침입 대응 장치 및 방법
JP2018133743A (ja) 監視装置、通信システム、車両、監視方法、およびコンピュータプログラム
JP2013131907A (ja) 車両ネットワーク監視装置
WO2019193786A1 (ja) ログ出力方法、ログ出力装置及びプログラム
JP2022541489A (ja) 車両環境における侵入異常監視
US11971982B2 (en) Log analysis device
JP7024069B2 (ja) 車両の制御機器に対する攻撃を検出する方法
CN113169966B (zh) 用于监控数据传输系统的方法、数据传输系统和机动车
US20220157090A1 (en) On-vehicle security measure device, on-vehicle security measure method, and security measure system
JP6913869B2 (ja) 監視装置、監視システムおよびコンピュータプログラム
CN114834393B (zh) 车辆控制系统
JP2021167985A (ja) 車載セキュリティシステムおよび攻撃対処方法
WO2022091778A1 (ja) 管理装置、管理方法及びプログラム
US20230267204A1 (en) Mitigating a vehicle software manipulation
Bertschy Vehicle computer and network security: Vulnerabilities and recommendations

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17893214

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 17893214

Country of ref document: EP

Kind code of ref document: A1