WO2023136111A1 - 異常検知装置及び異常検知方法 - Google Patents

異常検知装置及び異常検知方法 Download PDF

Info

Publication number
WO2023136111A1
WO2023136111A1 PCT/JP2022/047828 JP2022047828W WO2023136111A1 WO 2023136111 A1 WO2023136111 A1 WO 2023136111A1 JP 2022047828 W JP2022047828 W JP 2022047828W WO 2023136111 A1 WO2023136111 A1 WO 2023136111A1
Authority
WO
WIPO (PCT)
Prior art keywords
ecu
attribute
communication
unit
electronic control
Prior art date
Application number
PCT/JP2022/047828
Other languages
English (en)
French (fr)
Inventor
貴洋 安達
良浩 氏家
剛 岸川
Original Assignee
パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ
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
Application filed by パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ filed Critical パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ
Publication of WO2023136111A1 publication Critical patent/WO2023136111A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/22Arrangements for preventing the taking of data from a data transmission channel without authorisation
    • 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/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0681Configuration of triggering conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters

Definitions

  • the present disclosure relates to an anomaly detection device and an anomaly detection method for detecting an anomaly in an in-vehicle network system.
  • Non-Patent Document 1 for SOME/IP frames, a service ID, a corresponding destination IP address, and a source IP address are set in advance as normal rules, the frames are monitored, and frames that do not follow the normal rules are detected. A technique has been disclosed that can be detected as an abnormal frame.
  • the present disclosure provides an anomaly detection device and an anomaly detection method that can detect anomalous communication by distinguishing whether or not an unusual communication content is by an attacker, and can improve the safety of the entire vehicle. intended to provide
  • An anomaly detection device is an anomaly detection device that detects an anomaly in an in-vehicle network system configured by two or more electronic control units and one or more networks, wherein the two or more electronic an ECU attribute storage unit that stores attributes of the electronic control unit set in each control unit; a communication unit that transmits and receives messages on the one or more networks; an anomaly detection unit that detects an abnormal communication by using, among the attributes, the attributes possessed by the electronic control unit that is the transmission source or the destination of the message, and the attributes stored in the ECU attribute storage unit; indicates the function of the electronic control unit having the attribute or the type of information handled by the electronic control unit having the attribute.
  • An anomaly detection method is an anomaly detection method for detecting an anomaly in an in-vehicle network system configured by two or more electronic control units and one or more networks, wherein the one or more networks Sending and receiving the above message, and using the attribute of the electronic control unit of the transmission source or destination of the message among the attributes of the electronic control unit set in each of the two or more electronic control units, abnormal communication is detected, and the attribute indicates the function of the electronic control unit having the attribute or the type of information handled by the electronic control unit having the attribute.
  • abnormal communication can be detected by distinguishing whether or not the content of communication that differs from usual is by an attacker, and the safety of the entire vehicle can be improved.
  • FIG. 1 is a diagram showing an example of the overall configuration of an in-vehicle network system according to Embodiment 1.
  • FIG. 2 is a diagram showing an example of a configuration of a TCU according to Embodiment 1.
  • FIG. 3 is a diagram showing an example of a configuration of a central ECU according to Embodiment 1.
  • FIG. 4 is a diagram showing an example of a configuration of a user interface ECU according to Embodiment 1.
  • FIG. FIG. 5 is a diagram showing an example of the configuration of an abnormality detection ECU according to the first embodiment.
  • FIG. 6 is a diagram showing an example of a configuration of a zone ECU according to Embodiment 1.
  • FIG. 7 is a diagram showing an example of a configuration of a brake control ECU according to Embodiment 1.
  • FIG. 8 is a diagram showing an example of a SOME/IPSD message format in the first embodiment.
  • FIG. 9 is a diagram showing an example of a SOME/IPSD message according to the first embodiment.
  • 10 is a diagram showing an example of a communication log stored in a communication log storage unit according to Embodiment 1.
  • FIG. 11 is a diagram showing an example of ECU attribute information in Embodiment 1.
  • FIG. FIG. 12 is a diagram showing an example of an abnormality detection rule using ECU attributes according to the first embodiment.
  • FIG. 13 is a diagram showing an example of a sequence for changing attributes of an ECU according to the first embodiment.
  • FIG. 14 is a diagram showing an example of a flowchart relating to the operation of an abnormality detection ECU when receiving a frame, according to the first embodiment.
  • FIG. 15 is a diagram showing an example of a flowchart relating to ECU attribute setting according to the first embodiment.
  • FIG. 16 is a diagram showing an example of a flowchart relating to ECU role attribute setting according to the first embodiment.
  • FIG. 17 is a diagram showing an example of a flowchart relating to ECU domain attribute setting according to the first embodiment.
  • FIG. 18 is a diagram showing an example of a sequence regarding abnormality detection using ECU attributes according to the first embodiment.
  • FIG. 19 is a diagram showing an example of a flowchart relating to abnormality detection using ECU attributes according to the first embodiment.
  • FIG. 15 is a diagram showing an example of a flowchart relating to ECU attribute setting according to the first embodiment.
  • FIG. 16 is a diagram showing an example of a flowchart relating to ECU role
  • FIG. 20 is a diagram showing an example of an abnormality detection rule based on ECU attributes in Modification 1 of Embodiment 1.
  • FIG. FIG. 21 is a diagram showing an example of a flowchart relating to abnormality detection using source ECU attributes and frames in Modification 1 of Embodiment 1.
  • FIG. 22 is a diagram showing an example of a flowchart relating to abnormality detection using ECU attributes in Modification 2 of Embodiment 1.
  • FIG. FIG. 23 is a diagram showing an example of a sequence relating to addition of attributes of an ECU according to Modification 3 of Embodiment 1.
  • FIG. 24 is a diagram showing an example of ECU attribute information in Modification 3 of Embodiment 1.
  • FIG. 25 is a diagram showing an example of a flowchart relating to ECU domain attribute setting according to the third modification of the first embodiment.
  • FIG. 26 is a diagram showing an example of a flowchart relating to abnormality detection using ECU attributes in Modification 3 of Embodiment 1.
  • FIG. 27 is a diagram showing an example of a log notified when an abnormality is detected in another modified example.
  • FIG. 28 is a diagram showing an example of displaying anomaly detection results on a graphical user interface in another modified example.
  • ECUs electronice control units
  • Ethernet registered trademark
  • IEEE 802.3 Ethernet (registered trademark) specified by IEEE 802.3
  • SOME/IP Scalable Service-Oriented Middleware over IP
  • SOME/IP stores the service ID of the service it wants to use or the service ID of the service that can be provided in advance, it can dynamically acquire the IP address and MAC address of the communication destination ECU and communicate. Therefore, developers do not need to set in advance information such as IP addresses and MAC addresses that depend on the system environment, and can easily design software with excellent portability.
  • Non-Patent Document 1 for SOME/IP frames, the service ID, the corresponding destination IP address, and the source IP address are set in advance as normal rules, and the frame is monitored, and frames that do not follow the normal rule can be detected as abnormal frames.
  • Non-Patent Document 1 a method of setting a normal communication connection in advance from the IP address or MAC address of the source ECU or the destination ECU as disclosed in Non-Patent Document 1 is used, in-vehicle applications, ECU update programs, etc. It is necessary to update the detection rules every time the system is installed in the vehicle OTA, and maintaining a high level of accuracy in anomaly detection is a challenge.
  • the present disclosure classifies what kind of communication tendency and communication content the ECU has according to changes in the in-vehicle network, and a safer in-vehicle network is realized by an abnormality detection ECU equipped with an abnormality detection function using the classification result.
  • the purpose is to provide a system.
  • An anomaly detection device is an anomaly detection device that detects an anomaly in an in-vehicle network system configured by two or more electronic control units and one or more networks, wherein the two or more a communication unit for transmitting and receiving messages on the one or more networks; and an abnormality detection unit that detects abnormal communication by using the attributes possessed by the electronic control unit that is the source or destination of the message among the attributes that are stored in the ECU attribute storage unit.
  • the attribute indicates the function of the electronic control unit having the attribute or the type of information handled by the electronic control unit having the attribute.
  • An anomaly detection device is the anomaly detection device according to the first aspect, wherein the attribute stored in the ECU attribute storage unit is an electronic control device operating in the in-vehicle network system.
  • a sensor attribute that indicates that the electronic control unit has the function of sensing information inside and outside the vehicle, and a brain attribute that indicates that the electronic control unit has the function of processing the sensed information and issuing control instructions.
  • an actuator attribute indicating that the electronic control unit has a function of performing control according to the control instruction.
  • An anomaly detection device is the anomaly detection device according to the first aspect, wherein the attribute stored in the ECU attribute storage unit is an electronic control unit in the in-vehicle network system. Indicates the type of information to be handled, power train attribute indicating that control information related to vehicle driving is handled, infotainment attribute indicating that information related to vehicle status notification to the driver is handled, and vehicle body system control information body attributes that indicate handling, ADAS attributes that indicate handling information related to advanced driving assistance functions that assist or replace the driver's vehicle operation, and connectivity that indicates handling information obtained from outside the one or more networks attributes, and any one of
  • An anomaly detection device is the anomaly detection device according to the first aspect, wherein the anomaly detection unit includes the attribute of the electronic control unit that is the transmission source of the message and the Based on the combination of the attribute of the destination electronic control unit and the attribute, it is determined whether or not the message received by the communication unit is abnormal.
  • An anomaly detection device is the anomaly detection device according to the first aspect, wherein the anomaly detection unit includes the attribute of the electronic control unit that is the source of the message or the destination of the message. and the information included in the message received from the communication section, it is determined whether or not the message received by the communication section is abnormal.
  • An anomaly detection device is the anomaly detection device according to the fifth aspect, wherein the in-vehicle network system transmits and receives messages by service-oriented communication, and receives from the communication unit
  • the information contained in the message is information stored in the SOME/IP communication message format.
  • An anomaly detection device is the anomaly detection device according to the fourth aspect, further comprising a communication log storage unit for storing messages received by the communication unit, wherein the anomaly detection The unit refers to the message stored in the communication log storage unit and the ECU attribute storage unit, and establishes the relationship indicating the combination of the attributes of the source and destination electronic control units with which the message is exchanged. for a newly received message, determine that a message between electronic control units having a combination of attributes in which the message exchange occurs in the relationship is normal, and exchange the message in the relationship A message between the electronic control units having a combination of attributes for which no error has occurred is judged to be abnormal.
  • An anomaly detection device is the anomaly detection device according to the second aspect or the third aspect, wherein the in-vehicle network system exchanges messages by service-oriented communication,
  • the abnormality detection device further comprises a communication log storage unit for storing messages received by the communication unit, and an ECU attribute setting unit for setting the attributes of the electronic control unit stored in the ECU attribute storage unit,
  • the ECU attribute setting section refers to the message stored in the communication log storage section, determines whether the electronic control unit is on the server side or the client side from the message type included in the message, and performs server communication and client side.
  • the attribute of the electronic control unit is determined according to the ratio with the communication.
  • the attributes of the electronic control unit can be defined from the communication log, and the attributes of the electronic control unit can be automatically updated.
  • An anomaly detection device is the anomaly detection device according to the second aspect or the third aspect, wherein the anomaly detection device further stores a message received by the communication unit. a communication log storage unit; and an ECU attribute setting unit that refers to messages stored in the communication log storage unit and sets attributes of the electronic control unit stored in the ECU attribute storage unit,
  • the ECU attribute setting unit refers to the messages stored in the communication log storage unit and the ECU attribute storage unit, and according to the appearance frequency of the attribute of the electronic control unit with which the first electronic control unit communicates, , determining the attributes of the first electronic control unit.
  • the attributes of the electronic control unit can be defined from the communication log, and the attributes of the electronic control unit can be automatically updated.
  • An abnormality detection device is the abnormality detection device according to the eighth aspect or the ninth aspect, wherein the ECU attribute setting unit determines attributes of the electronic control unit and then If a predetermined period of time has elapsed or the communication unit has received a message that causes a change in the communication trend of the one or more networks, the attribute of the electronic control unit is determined. .
  • An anomaly detection device is the anomaly detection device according to the tenth aspect, wherein the message that causes a change in the communication tendency of the one or more networks is different from the in-vehicle network system, These are messages that occur when data is acquired from a network or server and installed, or messages that occur when changing, deleting, or updating the function settings of the in-vehicle network system.
  • An anomaly detection device is the anomaly detection device according to the ninth aspect, wherein the anomaly detection unit detects, from a message stored in the communication log storage unit, a first electronic control Calculate the appearance frequency of the attribute of the electronic control unit with which the unit communicates, refer to the appearance frequency of the attribute of the first electronic control unit stored in the ECU attribute storage section, and exceed a certain standard If it is disconnected, it is determined that the communication of the first electronic control unit is abnormal.
  • An anomaly detection method is an anomaly detection method for detecting an anomaly in an in-vehicle network system configured by two or more electronic control units and one or more networks, wherein the one or more of the attributes of the electronic control unit set in each of the two or more electronic control units, using the attributes of the electronic control unit that is the source or the destination of the message to detect an abnormality
  • the attribute indicates the function of the electronic control unit having the attribute or the type of information handled by the electronic control unit having the attribute.
  • FIG. 1 is a diagram showing an example of the overall configuration of an in-vehicle network system according to the present embodiment.
  • the in-vehicle network system is mounted on a vehicle 10 and configured to communicate with an OTA server 30 via an external network 20 .
  • the in-vehicle network system includes a TCU (Telematics Control Unit) 100, a central ECU 200, a user interface ECU 300, an abnormality detection ECU 400, a zone ECU 500a, a zone ECU 500b, a brake control ECU 600a, a vehicle speed detection ECU 600b, and an electric lock control ECU 600c. , an electric lock opening/closing ECU 600d, and a camera ECU 600e.
  • TCU Transmission Control Unit
  • the vehicle 10 may include many other ECUs.
  • the central ECU 200 is communicably connected to the TCU 100, the user interface ECU 300, the abnormality detection ECU 400, the zone ECU 500a, the zone ECU 500b, and the camera ECU 600e via Ethernet.
  • the zone ECU 500a is communicably connected to the brake control ECU 600a and the vehicle speed detection ECU 600b via the Controller Area Network (CAN) 1.
  • CAN Controller Area Network
  • the zone ECU 500b is communicably connected to the electric lock control ECU 600c and the electric lock opening/closing ECU 600d via CAN2.
  • the network to which the zone ECU 500a and the zone ECU 500b are connected is not limited to CAN, and may be another network such as FlexRay, dedicated communication line, or wireless communication.
  • the OTA server 30 distributes system update files for the vehicle 10, and has platform functions for in-vehicle applications.
  • the TCU 100 has a communication interface for communicating with the external network 20 .
  • TCU 100 transmits the frame transmitted from central ECU 200 to OTA server 30 via external network 20 .
  • the TCU 100 also receives frames transmitted from the OTA server 30 and transmits the frames to the central ECU 200 .
  • the central ECU 200 is an ECU that plays a central role in the in-vehicle network system, runs various applications, and implements various functions of the vehicle 10 .
  • the central ECU 200 has a switch function and transfers frames received via Ethernet to appropriate ECUs.
  • the central ECU 200 transfers the received frame to the abnormality detection ECU 400 using a switch function. Furthermore, upon receiving the frame detection result from the abnormality detection ECU 400 , the central ECU 200 transfers the notification result to the user interface ECU 300 .
  • the central ECU 200 transmits and receives frames regarding acquisition of in-vehicle applications, update programs, etc. to and from the TCU 100 .
  • the central ECU 200 can execute applications for performing advanced processing such as automatic driving, and can share information necessary for performing advanced processing, control information for performing advanced processing, etc. with other ECUs. communicates between them via Ethernet or CAN.
  • the user interface ECU 300 provides a user interface for controlling the vehicle 10. Specifically, it is communicably connected to devices such as a controller for controlling steering, a controller for controlling acceleration and deceleration, an input device such as a switch and a touch panel, a USB port, and a Wi-Fi module.
  • the user interface ECU receives user operations via these devices and notifies the central ECU 200 of the contents of the user operations.
  • the abnormality detection ECU 400 is communicably connected to the central ECU 200, acquires frames received from the central ECU 200, and detects whether or not there is an abnormality in the frames.
  • the abnormality detection ECU 400 transmits the detection result of the abnormality detection to the central ECU 200 .
  • the zone ECU 500a transfers the received frame to an appropriate ECU with the function of a switch. Further, the zone ECU 500a converts the CAN frame received by CAN1 into an Ethernet frame when transferring it to an appropriate ECU via Ethernet. Further, the zone ECU 500a converts an Ethernet frame received via Ethernet into a CAN frame when transferring it to an appropriate ECU of CAN1. Since the zone ECU 500b has the same configuration as the zone ECU 500a, the description thereof will be omitted.
  • the zone ECU 500a and the zone ECU 500b may use FlexRay, dedicated Any one of communication line and wireless communication network frames and Ethernet frames can be bi-directionally converted. That is, when the zone ECU 500a and the zone ECU 500b are communicably connected to two different types of networks, they can convert one of two different types of frames to the other.
  • the brake control ECU 600a controls the brakes of the vehicle 10.
  • the vehicle speed detection ECU 600b measures the speed of the vehicle 10 with a sensor.
  • the electric lock control ECU 600c controls the opening and closing of electric locks provided in the vehicle 10.
  • the electric lock opening/closing ECU 600d opens and closes the electric locks of the vehicle 10.
  • the camera ECU 600e acquires the image of the camera provided in the vehicle 10.
  • FIG. 2 is a diagram showing an example of the configuration of the TCU in this embodiment.
  • TCU 100 includes external communication section 101 , conversion section 102 and internal communication section 103 .
  • the external communication unit 101 is a communication interface that communicates with the external network 20 and communicates with the OTA server 30 via the external network 20 .
  • the external communication unit 101 exchanges information with the conversion unit 102 .
  • the internal communication unit 103 is a communication interface and communicates with the central ECU 200 via Ethernet.
  • the internal communication unit 103 notifies the conversion unit 102 of the frame received from the central ECU 200, receives a frame transmission request from the conversion unit 102, and transmits the frame to the Ethernet.
  • Conversion unit 102 converts the data required to transfer a message received from one of internal communication unit 103 and external communication unit 101 via internal communication unit 103 and external communication unit 101 into a predetermined format. and send to the other.
  • FIG. 3 is a diagram showing an example of the configuration of the central ECU in this embodiment.
  • the central ECU 200 in FIG. 3 includes a communication unit 201 , a host OS unit 202 and a guest OS unit 203 .
  • the communication unit 201 is communicably connected to the TCU 100, the user interface ECU 300, the abnormality detection ECU 400, the zone ECUs 500a, 500b, and the camera ECU 600e via Ethernet. Transfers frames using the switch function. Also, the communication unit 201 transfers the received frame to the abnormality detection ECU 400 in order to monitor the received frame. Furthermore, the communication unit 201 transmits and receives information to and from the host OS unit 202 .
  • the host OS unit 202 is the main operating system (OS) of the central ECU 200.
  • the host OS unit 202 exchanges information with the communication unit 201 and notifies the guest OS unit 203 of the content of communication.
  • the host OS section 202 has authority to change the system settings of the guest OS section 203.
  • the host OS unit 202 acquires operation information indicating a user's operation received by the user interface ECU 300 via the communication unit 201, and downloads the in-vehicle application instructed to be downloaded based on the operation information from the OTA server 30. A message is sent to the TCU 100 to download to the guest OS unit 203 .
  • the host OS unit 202 acquires operation information indicating a user's operation received by the user interface ECU 300 via the communication unit 201, and deletes the guest OS for which the deletion instruction has been issued based on the operation information. Install the guest OS of Thus, the host OS section 202 can perform system management.
  • the guest OS unit 203 is an OS on which applications of the central ECU 200 operate. As an example of an application, the guest OS unit 203 acquires video data from the camera ECU 600e via the communication unit 201, and if the vehicle 10 is within a certain distance from an object recognized as a person in the video data, It has a function of requesting the brake control ECU 600 a to decelerate the vehicle 10 .
  • the guest OS unit 203 may be host-type virtualization software or hypervisor-type virtualization software.
  • FIG. 4 is a diagram showing an example of the configuration of the user interface ECU in the present embodiment.
  • the user interface ECU 300 includes a communication section 301 and an external device connection section 302 .
  • the communication unit 301 is communicably connected to the central ECU 200 and exchanges information with the central ECU 200 .
  • the communication unit 301 mainly plays a role of notifying the central ECU 200 of information received from the external device connection unit 302 .
  • the external device connection unit 302 is communicably connected to the device operated by the user or the interface of the external connection device, and notifies the communication unit 301 of the information acquired from these devices.
  • the externally connected device may be, for example, a controller for controlling steering, a controller for controlling acceleration/deceleration, a switch, an input device such as a touch panel, or the like.
  • the externally connected device may be, for example, a USB port, a Wi-Fi module, a diagnostic port, or a communication interface device such as Bluetooth.
  • FIG. 5 is a diagram showing an example of the configuration of an abnormality detection ECU in the present embodiment.
  • the abnormality detection ECU 400 includes a communication unit 401, an abnormality detection unit 402, a communication log generation unit 403, a communication log storage unit 404, an ECU attribute setting unit 405, an ECU attribute storage unit 406, and an abnormality detection rule. and a storage unit 407 .
  • the communication unit 401 is communicably connected to the central ECU 200 and exchanges information with the central ECU 200 .
  • the communication unit 401 receives frames transmitted from the central ECU 200 and transfers the received frames to the abnormality detection unit 402 and the communication log generation unit 403 .
  • the communication unit 401 transmits the frame including the abnormality determination result to the central ECU 200 .
  • the anomaly detection unit 402 receives the frame transferred from the communication unit 401, and if the received frame conforms to the service-oriented communication protocol, performs anomaly detection on the received frame.
  • the abnormality detection unit 402 When an abnormality is detected, the abnormality detection unit 402 creates a frame containing the detection result, notifies the communication unit 401 of the frame, and transmits the frame to the central ECU 200 .
  • the anomaly detection unit 402 refers to the ECU attribute storage unit 406 from the IP address (source IP address or destination IP address) included in the received frame and acquires the ECU attribute corresponding to the IP address in the anomaly detection. In addition, the anomaly detection unit 402 acquires an anomaly detection rule used for anomaly detection from the anomaly detection rule storage unit 407 in the anomaly detection. A method of abnormality detection by the abnormality detection unit 402 will be described later.
  • the abnormality detection unit 402 determines whether the frame transferred from the communication unit 401 is a frame containing information that causes a change in the communication tendency of the in-vehicle network. If the transferred frame is a frame containing information that causes a change in the communication trend of the in-vehicle network, abnormality detection unit 402 refers to the destination IP address (destination IP address) of the frame, and ECU attribute storage unit 406 , the attribute setting flag corresponding to the IP address of is turned ON.
  • the frame containing information that causes a change in the communication tendency of the in-vehicle network is a frame generated when an application is downloaded to the guest OS unit 203, a frame generated when an update file is transmitted to the ECU, or the like. be.
  • a frame (message) containing information that causes a change in the communication trend of an in-vehicle network is a message that occurs when data is acquired from a network or server and installed, or an in-vehicle system This is a message that occurs when changing, deleting, or updating the function settings of .
  • the communication log generation unit 403 receives the frame transferred from the communication unit 401, extracts part of the information contained in the received frame, creates a communication log, and stores the created communication log in the communication log storage unit 404. to add.
  • the communication log generation unit 403 also has a function of measuring time in order to add a time stamp indicating the time when the communication log was created to the communication log.
  • the communication log storage unit 404 stores communication logs transferred from the communication log generation unit 403. Details of the communication log stored in the communication log storage unit will be described later.
  • the ECU attribute setting unit 405 acquires the communication log from the communication log storage unit 404, and for each IP address, what kind of communication tendency is observed and what kind of role attribute the ECU has, or what kind of information is handled to guess what kind of domain attribute the ECU has, and the result of the guess is stored in the ECU attribute storage unit 406 .
  • ECU communication trends can change due to OTA system updates, termination of in-vehicle subscription services, changes in vehicle settings by the driver, etc. Therefore, what kind of role attributes and domain attributes does the ECU have at a specific timing? Verify whether or not Here, the specific timing is, for example, when the abnormality detection unit 402 receives a notification of system shutdown, or any timing during the night when the user does not operate the vehicle 10 . A detailed method of setting the role attribute of the ECU and the domain attribute of the ECU will be described later.
  • the ECU attribute storage unit 406 stores ECU attributes for each IP address estimated by the ECU attribute setting unit 405 .
  • the ECU attribute represents both the role attribute of the ECU and the domain attribute of the ECU.
  • the role attribute of the ECU is an attribute that indicates the function of the ECU that operates in the in-vehicle network system from the viewpoint of the role that the ECU plays in the vehicle 10 .
  • the role attributes of the ECU are the sensor attribute (sensor), which indicates that the ECU has the function of sensing information inside and outside the vehicle, and the brain attribute (brain attribute), which indicates that the ECU has the function of processing the sensed information and giving control instructions. (brain), and an actuator attribute (actuator) indicating that the ECU has a function of performing control according to a control instruction.
  • the ECU's domain attribute is an attribute that indicates the type of information handled by the ECU in the in-vehicle network system from the perspective of the role of data sent to the in-vehicle network.
  • the ECU domain attributes include a power train attribute (power train) indicating handling of control information related to running of the vehicle 10 such as running, turning, and stopping, and information relating to notification of the state of the vehicle 10 to the driver (operator).
  • infotainment indicating that the vehicle 10 controls the body system of the vehicle 10
  • ADAS ADAS
  • connectivity attribute indicating that information acquired from the external network 20 is handled.
  • the anomaly detection rule storage unit 407 stores an anomaly determination rule necessary when the anomaly detection unit 402 determines an anomaly of a frame. Details of the abnormality determination rule stored in the abnormality determination rule storage unit 407 will be described later.
  • FIG. 6 is a diagram showing an example of the configuration of a zone ECU in the present embodiment.
  • the zone ECU 500 a includes a host section 501 and a communication section 502 .
  • the zone ECU 500b is connected to a different ECU, it has the same configuration as the zone ECU 500a, so a description thereof will be omitted.
  • the host unit 501 is the main part of the zone ECU 500a, is implemented by a CPU and a memory, and executes processing according to the content of communication received from the communication unit 502. For example, the zone ECU 500a receives frames notified from the camera ECU 600e and the vehicle speed detection sensor ECU 600b when the user of the vehicle 10 parks in the back (backward direction). The zone ECU 500a transmits a control message to the brake control ECU 600a based on the image of the rear of the vehicle 10 and the speed of the vehicle 10 obtained from the received frame so as not to contact the obstacle.
  • the communication unit 502 is communicably connected to the central ECU 200 via Ethernet, and is communicably connected to the brake control ECU 600a and the vehicle speed detection ECU 600b via CAN1.
  • the communication unit 502 has a switch function of transferring frames according to the contents of the received frames.
  • the communication unit 502 also has a function of converting from a CAN frame to an Ethernet frame, and from an Ethernet frame to a CAN frame.
  • FIG. 7 is a diagram showing an example of the configuration of the brake control ECU in the present embodiment. Since the vehicle speed detection ECU 600b, the electric lock control ECU 600c, the electric lock opening/closing ECU 600d, and the camera ECU 600e have the same configuration as the brake ECU 600a, descriptions thereof will be omitted.
  • the brake ECU 600a includes a communication section 601, a host section 602, and an external device connection section 603.
  • a communication unit 601 is a communication interface for communicating with a network (CAN1), and is communicably connected to CAN1.
  • the communication unit 601 receives a frame flowing through the network, notifies the host unit 602 of the received frame, receives a transmission request from the host unit 602, and transmits the frame to the CAN1.
  • the host unit 602 generates a frame including information acquired from an externally connected device such as a sensor or actuator, and requests the communication unit 601 to transmit the generated frame. Also, the host unit 602 performs control processing for externally connected devices based on frame information notified from the communication unit 601 .
  • the external device connection unit 603 Based on the control information notified from the host unit 602, the external device connection unit 603 performs a control operation of the external device, or converts the control operation of the external device into control information, and transmits the control information to the host unit 602. to notify.
  • SOME/IP defines four types of communication methods: Request/Response, Fire/Forget, Events, and Get/Set/Notifier. Combining these methods realizes service-oriented communication. be.
  • SOME/IP provides a method for establishing a session with a communication partner, and this method is called Service Discovery (SD).
  • SD Service Discovery
  • FIG. 8 is a diagram showing an example of the SOME/IP SD message format in this embodiment.
  • the message format is stored in the Ethernet payload section.
  • the message format consists of a SOME/IP header and a SOME/IP SD, and one line is 32 bits long.
  • the SOME/IP header includes Message ID, Length, Request ID, Protocol Version, Interface Version, Message Type, and Return Code.
  • the Message ID is 0xFFFF8100.
  • Length stores the number of bytes of data after the Length field.
  • the Request ID stores a numerical value that is the sum of the Client ID and Session ID.
  • the Protocol Version is 0x01
  • the Interface Version is 0x01
  • the Message Type is 0x02
  • the Return Code is 0x00.
  • SOME/IP SD includes Flags, Reserved, Length of Entries Array in Bytes, Entries Array, Length of Options Array in Bytes, and Options Array.
  • the Length of Entries Array in Bytes stores the number of bytes in the Entry Array.
  • the Length of Options Array in Bytes stores the number of bytes in the Options Array.
  • FIG. 9 is a diagram showing an example of a SOME/IP SD message in this embodiment.
  • the Entry Array includes Index 1st Options, Index 2nd Options, #ofop1, #ofop2, Service ID, Instance ID, Major Version, TTL, and Minor Version.
  • the Options Array includes Length, Type, Reserved, IPv4 Address, Reserved, L4-Proto, and Port number.
  • SOME/IP SD is a message indicating that the Service ID is 0x1000 and that the service with the Service ID of 0x1000 can be provided.
  • 0x80 is set in Flags, and 0x80 indicates the Reboot Flag.
  • the Reserved area is set to 0.
  • 16 bytes are set in Length of Entries Array in Bytes.
  • Type can be set to 0x00 or 0x01, with 0x00 meaning Find and 0x01 meaning Offer. Find is used when a client ECU receiving a service requests the provision of a necessary service, and Offer is used when a server ECU that provides a service notifies of services that it can provide. .
  • Type is set to 0x01.
  • Index 1st options indicates the position of the first option, and 0 is set in FIG. 9, indicating that it is the first option area.
  • Index 2nd options indicates the position of the second option, and 0 is set in FIG.
  • #of opt1 is a field indicating the number of options 1, and 1 is set in FIG.
  • #of opt2 is a field indicating the number of option 2, and in FIG. 9, 0 is set, indicating that option 2 is not used.
  • Service ID is a field indicating an ID indicating the type of service, and is set to 0x1000 in FIG.
  • “Instance ID” is an ID that indicates the instance of the service, and in FIG. 9 it is shown as an instance of 0x0001.
  • TTL is a field for setting the expiration date (seconds) of the service, and is set to 0xFFFF in FIG. 0xFFFF means that the service is valid until the next activation timing of the ECU.
  • Minor Version is used for service version management, and is set to 0x00000002 in FIG.
  • the length of the Option area is set in the Length of Options Array in Bytes, and 12 bytes are set in FIG.
  • Length is determined according to the type of option.
  • FIG. 9 shows an example of communication using IPv4, where Length is set to 9, Type is set to 0x04, and Reserved is set to 0x00.
  • the IPv4 address is the IP address of the server, and 192.168.0.1 is set in FIG.
  • 0 is set in the Reserved area.
  • 0x11 is set in L4-Proto, and 0x11 indicates that User Datagram Protocol (UDP) is used.
  • UDP User Datagram Protocol
  • port number is set, and in FIG. 9 it is shown to be port number 35000.
  • FIG. 10 is a diagram illustrating an example of a communication log stored in the communication log storage unit.
  • the communication log includes timestamp, source IP address, destination IP address, source port, destination port, transport protocol, service ID, method ID, message type, and message size.
  • Each row in FIG. 10 represents one SOME/IP message transferred from the communication unit 401 to the communication log generation unit 403 .
  • the time stamp included in the communication log is the time acquired by the communication log generation unit 403 when generating the communication log.
  • Information other than the time stamp included in the communication log is part of the information extracted from the Ethernet frame received by the communication log generator 403 .
  • the source IP address is extracted from the source IP address field included in the Ethernet frame.
  • the destination IP address is extracted from the destination IP address field included in the Ethernet frame.
  • the source port is extracted from the source port included in the Ethernet frame.
  • the destination port is extracted from the destination port contained in the Ethernet frame.
  • the transport protocol is extracted from the protocol contained in the Ethernet frame.
  • the service ID is extracted from the SOME/IP message format ServiceID contained in the Ethernet frame.
  • the merit ID is extracted from the MethodID of the SOME/IP message format included in the Ethernet frame.
  • the message type is extracted from the SOME/IP message format Message Type contained in the Ethernet frame.
  • the message size is extracted from the Length of the SOME/IP message format contained in the Ethernet frame.
  • FIG. 11 is a diagram showing an example of ECU attribute information stored in the ECU attribute storage section.
  • the ECU attribute information includes an IP address, an ECU attribute, an attribute setting flag, the date and time when the flag is set to OFF, and the date and time when the flag is set to ON.
  • the ECU attribute includes two items, an ECU role attribute and an ECU domain attribute.
  • the role attribute of ECU has three attributes of sensor, brain, and actuator, and the domain attribute of ECU has five attributes of connectivity, powertrain, ADAS, body, and infotainment.
  • the IP address is the source IP address included in the frame received by the anomaly detection unit 402 .
  • the abnormality detection unit 402 receives a frame including an IP address that is not recorded in the ECU attribute storage unit 406, it adds a new IP address line to the ECU attribute information.
  • the added line contains, as initial values, all 0 when the attribute of the ECU and the flag are set to OFF, the attribute setting flag to ON, and the time stamp included in the received frame when the flag is set to ON. Record.
  • the ECU attribute is set by the ECU attribute setting unit 405 .
  • a method of setting the ECU attribute by the ECU attribute setting unit 405 will be described later.
  • the ECU attributes are used to refer to what attributes the ECU has when the abnormality detection unit 402 detects an abnormality.
  • the attribute setting flag is a flag used by the ECU attribute setting unit 405 to determine whether or not to reset the ECU attribute. If the attribute setting flag is ON, the ECU attribute setting unit 405 will reset the ECU attribute at the next opportunity, and if the attribute setting flag is OFF, the ECU attribute setting unit 405 will 405 indicates that the resetting of ECU attributes is not performed.
  • the ECU attribute setting unit 405 sets the attribute setting flag to OFF at the timing when the ECU attribute setting process is completed.
  • the ECU attribute setting unit 405 sets the attribute setting flag to ON when it detects that a predetermined time has passed since the date and time when the flag was set to OFF.
  • the ECU attribute setting unit 405 sets the attribute setting flag to ON.
  • the time when the attribute setting flag is set to OFF by the ECU attribute setting unit 405 is set in UNIX (registered trademark) time. If a value has already been recorded at the date and time when the flag is set to OFF, a value with a larger UNIX time is set. This value is referenced at a specific timing by the ECU attribute setting unit 405 and used to determine whether or not a predetermined time or more has elapsed from the recorded UNIX time.
  • the time when the attribute setting flag is set to ON by the ECU attribute setting unit 405 is set in UNIX time. If a value has already been recorded for the date and time when the flag is set to ON, a value with a larger UNIX time is set. This value is referenced by the ECU attribute setting unit 405 at the timing of setting the attributes of the ECU, and is used to acquire the communication log necessary for the attribute setting from the communication log storage unit 404 .
  • FIG. 12 is a diagram showing an example of an abnormality detection rule using an ECU attribute, which is stored in the abnormality detection rule storage unit.
  • the anomaly detection rule is used to determine whether the communication of the target frame is normal or abnormal.
  • the abnormality detection rule indicates whether the combination of the ECU attribute of the source ECU and the ECU attribute of the destination ECU is OK or NG.
  • the anomaly detection rule indicates that the communication of the combination of the source ECU and the destination ECU for which OK is indicated is normal, and indicates that the communication for the combination of the source ECU and the destination ECU for which NG is indicated is abnormal.
  • the anomaly detection rule if communication with an OK combination occurs, the communication is determined to be normal, and if communication with an NG combination occurs, the communication is determined to be abnormal.
  • the target frame is determined to be normal because the role attribute of the source ECU is the sensor and the destination ECU
  • the role attribute of is a combination of Brain
  • the role attribute of the source ECU is Brain
  • the role attribute of the destination ECU is a combination of Sensor, Brain, and Actuator
  • the role attribute of the source ECU is Actuator and the role attribute of the destination ECU is It is a combination of brains.
  • the target frame is determined to be normal only when the domain attribute of the source ECU is ADAS and the role attribute is brain.
  • the domain attribute of the ECU is a combination of the body and the role attribute of the brain. This is because when an ECU whose domain attribute is body and whose role attribute is actuator receives a control command such as opening/closing an electric lock or opening/closing an airbag, the ECU that detects the operation of the car key and controls the electric lock receives the control command. or the ECU that controls automatic driving detects danger to the driver and sends a control command to open the airbag.
  • a frame in which the domain attribute of the source ECU is connectivity and the domain attribute of the destination ECU is a combination of power trains is defined as abnormal communication. This is because the vehicle may be remotely controlled if the connectivity ECU, which handles communication information with the outside, communicates with the powertrain ECU, which handles control information for driving the vehicle.
  • FIG. 13 is a diagram showing an example of a sequence for changing the attributes of the ECU according to the present embodiment.
  • the user of the vehicle 10 operates the touch panel of the user interface ECU 300 to uninstall the ADAS-related application installed in the guest OS unit 203 of the central ECU 200 and install the infotainment-related application
  • an abnormality is detected.
  • the ECU 400 detects a change in the in-vehicle network and resets the ECU attribute information used for abnormality detection.
  • the user interface ECU 300 receives an operation from the user to uninstall the ADAS-related application installed in the guest OS section 203 of the central ECU 200, and request that the infotainment-related application be installed.
  • the central ECU 200 uninstalls the ADAS-related application (ADAS application) of the guest OS unit 203.
  • ADAS application ADAS-related application
  • the central ECU 200 requests the OTA server 30 to transmit the installer of the infotainment-related application (infotainment app) to the guest OS unit 203.
  • the OTA server 30 transmits a frame including the installer to the guest OS section 203 of the central ECU 200.
  • the abnormality detection unit 402 of the abnormality detection ECU 400 extracts the IP address of the central ECU stored in the transferred frame. Furthermore, the abnormality detection unit 402 refers to the IP address stored in the ECU attribute storage unit 406, and if the extracted IP address is included, sets the attribute setting flag corresponding to the IP address to ON. do.
  • the central ECU 200 installs the infotainment application using the received installer.
  • FIG. 14 is a diagram showing an example of a flowchart concerning the operation of abnormality detection ECU 400 when receiving a frame according to the present embodiment.
  • the communication unit 401 receives a frame transferred from the central ECU 200.
  • the ECU attribute setting unit 405 determines whether the source IP address and the destination IP address stored in the frame received in step S201 are stored in the ECU attribute storage unit 406. If at least one of the source IP address and the destination IP address is not stored in the ECU attribute storage unit 406 (No in S202), the ECU attribute setting unit 405 executes the process of step S203. If both the source IP address and the destination IP address are stored in the ECU attribute storage unit 406 (Yes in S202), the ECU attribute setting unit 405 executes the process of step S204.
  • the ECU attribute setting unit 405 newly stores in the ECU attribute storage unit 406 an IP address that is not stored in the ECU attribute storage unit 406, out of the source IP address and the destination IP address of the received frame. Turn on the attribute setting flag. Furthermore, the ECU attribute setting unit 405 acquires the date and time in UNIX time, and stores the acquired UNIX time in the ECU attribute storage unit 406 as the time when the attribute setting flag is turned ON.
  • the ECU attribute setting unit 405 determines whether the source IP address of the received frame is a specific IP address. If the source IP address of the received frame is the specific IP address (Yes in S204), the ECU attribute setting unit 405 executes the process of step S205, and the source IP address of the received frame is the specific IP address. If it is not an IP address (No in S204), the ECU attribute setting unit 405 executes the process of step S206.
  • a frame transmitted from a specific IP address is a frame containing information that causes a change in the communication tendency of the in-vehicle network. This is a frame generated when sending a file to the ECU.
  • the ECU attribute setting unit 405 turns on the attribute setting flag of the corresponding IP address in the ECU attribute storage unit 406 for the destination IP address of the received frame. Furthermore, the ECU attribute setting unit 405 acquires the date and time in UNIX time, and stores the acquired UNIX time in the ECU attribute storage unit 406 as the time when the attribute setting flag is turned ON.
  • the abnormality detection unit 402 determines whether or not the received frame is abnormal using the ECU attribute. The details of the abnormality detection process using the ECU attribute will be described later.
  • the anomaly detection unit 402 stores the received frame in the communication log storage unit 404.
  • FIG. 15 is an example of a flowchart regarding ECU attribute setting according to the present embodiment.
  • An ECU attribute setting unit 405 sets an attribute for each IP address of the ECU.
  • the ECU attribute setting process is performed at specific timings, such as when the vehicle system is shut down or at any time during the night when the vehicle is not being operated. To distinguish between normal communication caused by a change in tendency and abnormal communication by an attacker.
  • the ECU attribute setting unit 405 acquires the start date and time in UNIX time at the start of processing.
  • the ECU attribute setting unit 405 refers to the IP addresses for which the attribute setting flag is set to OFF among the IP addresses stored in the ECU attribute storage unit 406, and refers to the date and time when the flag is set to OFF.
  • the ECU attribute setting unit 405 determines whether or not there is an IP address whose attribute setting flag is ON among the IP addresses stored in the ECU attribute storage unit 406. If there is an IP address whose attribute setting flag is ON (Yes in S302), the ECU attribute setting unit 405 executes step S303. If there is no IP address whose attribute setting flag is ON (No in S302), the ECU attribute setting unit 405 terminates the ECU attribute setting process.
  • the ECU attribute setting unit 405 acquires the ECU attribute information of the IP address for which the attribute setting flag of the ECU attribute storage unit 406 is ON.
  • the ECU attribute setting unit 405 sequentially selects one IP address from the acquired ECU attribute information of the IP address.
  • the ECU attribute setting unit 405 acquires the date and time when the flag of the selected IP address is set to ON.
  • the ECU attribute setting unit 405 acquires a set of communication logs from the communication log storage unit 404 for the selected IP address.
  • the collection of communication logs is the communication logs in which the selected IP address is included in the source IP address or the destination IP address from among the communication logs stored in the communication log storage unit 404, and the time stamp is selected. This is a collection of communication logs recorded after the set date and time when the flag of the IP address that was set to ON.
  • the ECU attribute setting unit 405 determines whether or not the set of acquired communication logs includes a predetermined number or more of communication logs. If the set of acquired communication logs includes a predetermined number or more of communication logs (Yes in S307), the ECU attribute setting unit 405 executes the process of step S308. If the acquired set of communication logs does not include a predetermined number or more of communication logs (No in S307), the ECU attribute setting unit 405 executes the process of step S311.
  • the ECU attribute setting unit 405 uses the selected IP address and the set of acquired communication logs to set the role attribute of the ECU. Details will be described later.
  • the ECU attribute setting unit 405 sets the domain attribute of the ECU using the selected IP address and the set of acquired communication logs. Details will be described later.
  • the ECU attribute setting unit 405 turns OFF the attribute setting flag of the ECU attribute storage unit 406 for the selected IP address.
  • the ECU attribute setting unit 405 acquires the date and time in UNIX time, and stores the acquired date and time in the flag OFF setting date and time as the time when the attribute setting flag is turned OFF.
  • the ECU attribute setting unit 405 determines whether or not all target ECU attribute information has been selected. If all target ECU attribute information has been selected (Yes in S311), the ECU attribute setting unit 405 terminates the process. If all the target ECU attribute information has not been selected (No in S311), the ECU attribute setting unit 405 executes the process of step S304.
  • FIG. 16 is an example of a flowchart for ECU role attribute setting by the ECU attribute setting unit 405 according to the present embodiment.
  • the ECU attribute setting unit 405 confirms whether the selected IP address is included in the source IP address or the destination IP address and what the message type is for the set of acquired communication logs. do.
  • the message type is Notification
  • the ECU attribute setting unit 405 determines that the source IP address is the server side and the destination IP address is the client side. If the address is determined to be on the server side and the message type is Response, it is determined that the source IP address is on the server side and the destination IP address is on the client side.
  • the ECU attribute setting unit 405 calculates the ratio of the server-side communication log and the client-side communication log of the selected IP address in the acquired set of communication logs, and furthermore, with respect to the selected IP address, Count the number of times a Request message type is received and the number of times a Response message type is sent.
  • the ECU attribute setting unit 405 determines whether or not the communication log on the server side accounts for 90% or more of the set of acquired communication logs. When the communication log on the server side is 90% or more (Yes in S402), the ECU attribute setting unit 405 executes the process of step S403. If the communication log on the server side is less than 90% (No in S402), the ECU attribute setting unit 405 executes the process of step S405.
  • the ECU attribute setting unit 405 determines whether or not the number of times the Request message is received matches the number of times the Response message is transmitted for the selected IP address in the set of acquired communication logs. . When the number of times the Request message is received matches the number of times the Response message is transmitted (Yes in S403), the ECU attribute setting unit 405 executes the process of step S404. If the number of times the Request message is received does not match the number of times the Response message is transmitted (No in S403), the ECU attribute setting unit 405 executes the process of step S406.
  • the ECU attribute setting unit 405 determines that the ECU with the selected IP address has a sensor role, and sets 1 to the ECU role attribute sensor with the selected IP address in the ECU attribute storage unit 406.
  • the ECU attribute setting unit 405 determines whether or not communication on the client side accounts for 70% or more of the set of acquired communication logs. If the communication on the client side is 70% or more (Yes in S405), the ECU attribute setting unit 405 executes the process of step S407. If the communication on the client side is less than 70% (No in S405), the ECU attribute setting unit 405 executes the process of step S406.
  • the ECU attribute setting unit 405 determines that the ECU with the selected IP address has the role of the actuator, and sets 1 to the actuator of the ECU role attribute with the selected IP address in the ECU attribute storage unit 406.
  • the ECU attribute setting unit 405 determines that the ECU of the selected IP address has the role of the brain, and sets 1 to the brain of the ECU role attribute of the selected IP address in the ECU attribute storage unit 406.
  • step S402 it is determined whether or not communication logs on the server side account for 90% or more of the acquired set of communication logs. is 70% or more, but the ratios used as thresholds in steps S402 and S405 are not limited to 90% and 70%, respectively. These threshold ratios may be adjusted appropriately according to the communication tendency of the vehicle type.
  • FIG. 17 is an example of a flowchart for ECU domain attribute setting by the ECU attribute setting unit according to the present embodiment.
  • the ECU attribute setting unit 405 acquires the domain attribute of the IP address of the communication destination of the selected IP address from the ECU attribute storage unit 406 for the set of acquired communication logs. counts the number of appearances for each of the five domain attributes of connectivity, powertrain, ADAS, body, and infotainment, and extracts the domain attribute with the highest number of appearances.
  • the ECU attribute setting unit 405 excludes, from the acquired set of communication logs, the communication log in which the attribute setting flag of the IP address of the communication destination of the selected IP address is ON from the acquired set of communication logs. Then, as in step S501, the number of occurrences of each domain attribute is counted, and the domain attribute with the highest number of occurrences is extracted.
  • the IP address of the communication destination of the selected IP address is the IP address of the destination paired with the IP address of the transmission source when the ECU of the selected IP address is the IP address of the transmission source. If the ECU of the address is the IP address of the destination, it is the IP address of the transmission source paired with the IP address of the destination.
  • the ECU attribute setting unit 405 determines whether the domain attribute extracted in step S501 and the domain attribute extracted in step S502 are the same. If they match (Yes in S503), the ECU attribute setting unit 405 executes step S504. If they do not match (No in S503), the ECU attribute setting unit 405 executes step S505.
  • the ECU attribute setting unit 405 sets the domain attribute extracted in step S501 as the domain attribute of the selected IP address, and stores the ECU attribute storage unit 406 in the ECU domain attribute of the selected IP address in step S501. Set the domain attribute extracted in to 1.
  • the ECU attribute setting unit 405 refers to the ECU attribute storage unit 406 and acquires the domain attribute of the selected IP address.
  • the ECU attribute setting unit 405 determines whether the domain attribute extracted in step S501 and the domain attribute acquired in step S505 are the same. If the domain attribute extracted in step S501 and the domain attribute acquired in step S505 are the same (Yes in S506), the ECU attribute setting unit 405 executes step S504. If the domain attribute extracted in step S501 and the domain attribute acquired in step S505 are not the same (No in S506), the ECU attribute setting unit 405 executes step S507.
  • the ECU attribute setting unit 405 sets the domain attribute extracted in step S502 as the domain attribute of the selected IP address, and stores the ECU attribute storage unit 406 in the ECU domain attribute of the selected IP address in step S502. Set the domain attribute extracted in to 1.
  • FIG. 18 shows an example of a sequence related to abnormality detection using ECU attributes by the abnormality detection ECU according to the present embodiment. It is assumed that the attacker has obtained the operation authority due to the vulnerability of the camera ECU 600e.
  • the vehicle speed detection ECU 600b sends a SOME/IP message frame with vehicle speed information to the electric lock control ECU 600c.
  • the frame is transmitted to central ECU 200 via zone ECU 500a.
  • the central ECU 200 transfers the frame (communication frame) received from the vehicle speed detection ECU 600b to the abnormality detection ECU 400.
  • the abnormality detection ECU 400 confirms that the frame (communication frame) transferred from the central ECU 200 complies with the service-oriented communication protocol, and determines whether the frame is abnormal using the ECU attributes. detect. The details of the abnormality detection processing by the abnormality detection ECU 400 will be described later.
  • the abnormality detection ECU 400 determines that the frame is normal as a result of the abnormality detection.
  • the camera ECU 600e transmits a SOME/IP message frame requesting unlocking of the electric lock to the electric lock opening/closing ECU 600d.
  • the central ECU 200 transfers the frame (communication frame) acquired from the camera ECU 600e to the abnormality detection ECU 400.
  • the anomaly detection ECU 400 determines that the frame is an anomaly, and transmits an alert notification frame to the user interface ECU 300.
  • FIG. 19 is a flowchart related to abnormality detection processing using ECU attributes to determine whether SOME/IP communication frames are performing abnormal communication by the abnormality detection unit 402 according to the present embodiment. is an example.
  • the abnormality detection unit 402 acquires the source IP address and the destination IP address included in the received SOME/IP message frame, and refers to the ECU attribute storage unit 406 to determine the source IP address and the destination IP address. Get each ECU attribute.
  • the anomaly detection unit 402 uses the anomaly detection rule stored in the anomaly detection rule storage unit 407 to determine whether the combination of the acquired source IP address ECU attribute and the destination IP address ECU attribute is correct. judge.
  • a vehicle speed detection ECU 600b having an address has an ECU role attribute of sensor and an ECU domain attribute of power train.
  • An electric lock control ECU 600c having a destination IP address has an ECU role attribute of brain and an ECU domain attribute of body. I understand.
  • a combination of these ECU attributes is defined as OK in the abnormality detection rule stored in the abnormality detection rule storage unit 407 of FIG. Therefore, the abnormality detection unit 402 determines that the frame communicated from the vehicle speed detection ECU 600b to the electric lock control ECU 600c is a normal frame.
  • the role attribute of the ECU is the sensor
  • the role attribute of the ECU is ADAS
  • the electric lock opening/closing ECU 600d having the destination IP address has the role attribute of the ECU as the actuator and the role attribute of the ECU as the body.
  • a combination of these ECU attributes is defined as NG in the abnormality detection rule stored in the abnormality detection rule storage unit 407 of FIG. Therefore, the abnormality detection unit 402 determines that the frame communicated from the camera ECU 600e to the electric lock opening/closing ECU 600d is an abnormal frame.
  • the abnormality detection unit 402 determines that the combination of the ECU attribute of the source IP address and the ECU attribute of the destination IP address is correct (Yes in S702), it executes the process of step S703. If the abnormality detection unit 402 determines that the combination of the ECU attribute of the source IP address and the ECU attribute of the destination IP address is incorrect (abnormal) (No in S702), it executes the process of step S704. .
  • the abnormality detection unit 402 determines that the received frame is normal.
  • the abnormality detection unit 402 determines that the received frame is abnormal, and transmits the frame to the user interface ECU 300 so as to display an alert.
  • the abnormality detection unit 402 may output information indicating whether or not the attribute setting flag is ON.
  • Effect of Embodiment 1 In the in-vehicle network system shown in the first embodiment, what kind of function the abnormality detection ECU 400 has for each ECU and what kind of information is handled are labeled as ECU attributes. Abnormal communication is detected by defining whether communication between ECU attributes is abnormal. As a result, if the attributes of the ECU with the source IP address and the ECU with the destination IP address are known, it becomes possible to determine whether the communication is normal or abnormal, and security is enhanced. .
  • the anomaly detection ECU 400 detects a change in the communication tendency of the in-vehicle network, such as when the driver changes the settings of the vehicle system or when the ECU system is updated by OTA, and labels the ECU attributes at a specific timing. do in As a result, it is possible to detect abnormal communications while distinguishing between cases where unusual communication content occurs due to OTA or vehicle system changes and cases where unusual communication content occurs due to an attacker. Improve safety.
  • the anomaly detection ECU 400 (anomaly detection device) according to the present embodiment is an anomaly detection device that detects an anomaly in an in-vehicle network system composed of two or more ECUs and one or more networks.
  • the abnormality detection ECU 400 has an ECU attribute storage section 406 , a communication section 401 and an abnormality detection section 402 .
  • the ECU attribute storage unit 406 stores attributes of ECUs set for each of two or more ECUs.
  • the communication unit 401 transmits and receives messages on one or more networks.
  • the anomaly detection unit 402 detects an abnormal communication by using the attribute of the ECU of the transmission source (source IP address) or the destination (destination IP address) of the message among the attributes stored in the ECU attribute storage unit 406. detect.
  • the attributes stored in the ECU attribute storage unit 406 indicate the function of the ECU having the attribute or the type of information handled by the ECU having the attribute.
  • the attributes stored in the ECU attribute storage unit 406 indicate functions of the ECU operating in the in-vehicle network system.
  • the attributes include any one of sensor attributes, brain attributes, and actuator attributes.
  • the sensor attribute indicates that the ECU has a function of sensing information inside and outside the vehicle.
  • the brain attribute indicates that the ECU has a function of processing sensed information and issuing a control instruction.
  • the actuator attribute indicates that the ECU has a function of performing control according to the control instruction.
  • the attributes stored in the ECU attribute storage unit indicate the types of information handled by the ECU in the in-vehicle network system.
  • the attributes include any one of powertrain attributes, infotainment attributes, body attributes, ADAS attributes, and connectivity attributes.
  • the power train attribute indicates handling of control information related to running of the vehicle.
  • the infotainment attribute indicates handling information related to vehicle status notification to the driver.
  • the body attribute indicates handling of vehicle body system control information.
  • the ADAS attribute indicates handling information regarding advanced driver assistance features that assist or replace the driver's vehicle operation.
  • the connectivity attribute indicates handling of information acquired from outside one or more networks.
  • abnormality detection unit 402 causes communication unit 401 to receive a Determines whether the received message is abnormal.
  • the abnormality detection unit 402 detects the attributes of the source ECU of the frame (message) or the attributes of the destination ECU of the frame, information included in the frame received from the communication unit, Based on the relationship of , it is determined whether or not the frame received by the communication unit 401 is abnormal.
  • the in-vehicle network system exchanges messages by service-oriented communication.
  • Information included in the message received from the communication unit 401 is information stored in the message format of SOME/IP communication.
  • abnormal communication can be determined from the relationship between the information stored in the message format of the SOME/IP communication and the attributes of the ECU, improving vehicle safety.
  • the abnormality detection ECU 400 further includes a communication log storage unit 404 .
  • the communication log storage unit 404 stores frames (messages) received by the communication unit 401 .
  • the anomaly detection unit 402 refers to the frames (messages) stored in the communication log storage unit 404 and the ECU attribute storage unit 406 to identify the source and destination ECUs at which frame (message) exchange occurs. Identify relationships that indicate combinations of attributes. For a newly received frame (message), the abnormality detection unit 402 determines that a message between ECUs having a combination of attributes in which frame (message) exchange occurs in the relationship is normal, and determines that the frame (message) in the relationship is normal. A message between ECUs having a combination of attributes in which exchange of message) does not occur is judged to be abnormal.
  • the in-vehicle network system exchanges messages by service-oriented communication.
  • the abnormality detection ECU 400 further includes a communication log storage section 404 and an ECU attribute setting section 405 .
  • the communication log storage unit 404 stores frames (messages) received by the communication unit 401 .
  • the ECU attribute setting unit 405 sets attributes of the ECU stored in the ECU attribute storage unit 406 .
  • the ECU attribute setting unit 405 refers to the frames (messages) stored in the communication log storage unit 404, determines whether the ECU is on the server side or the client side from the message type included in the frames (messages), and determines whether the ECU is on the server side or the client side.
  • the attributes of the ECU are determined according to the ratio of communication and client communication.
  • the anomaly detection ECU 400 further includes a communication log storage section 404 and an ECU attribute setting section 405 .
  • the communication log storage unit 404 stores frames (messages) received by the communication unit 401 .
  • the ECU attribute setting unit 405 refers to frames (messages) stored in the communication log storage unit 404 and sets attributes of the ECU stored in the ECU attribute storage unit 406 .
  • the ECU attribute setting unit 406 refers to the frames (messages) stored in the communication log storage unit 404 and the ECU attribute storage unit 406, and according to the appearance frequency of the attribute of the ECU with which the first ECU communicates, Determining attributes of the first ECU.
  • ECU attribute setting unit 405 sets frame (message) for which a predetermined period of time has passed since the attributes of the ECU were determined, or a change occurs in the communication tendency of one or more networks. is received by the communication unit 401, the attributes of the ECU are determined.
  • a frame (message) that causes a change in the communication tendency of one or more networks is a message generated when data is acquired from a network or a server different from the in-vehicle network and installed. , or a message that occurs when changing, deleting, or updating the function settings of the in-vehicle system.
  • abnormality detection unit 402 calculates, from frames (messages) stored in communication log storage unit 404, the appearance frequency of attributes of ECUs communicated by the first ECU.
  • the appearance frequency of the attributes of the first ECU stored in the attribute storage unit 406 is referred to, and if the appearance frequency exceeds a certain standard, the communication of the first ECU is determined to be abnormal.
  • an abnormality detection rule is defined in advance in the abnormality detection rule storage unit 407 based on the relationship between the ECU attribute of the source IP address and the ECU attribute of the destination IP address.
  • an abnormality detection rule may be defined in advance based on the relationship between the ECU attribute of the source IP address and the feature amount of the communication frame.
  • FIG. 20 is an example of an abnormality detection rule that uses the ECU attributes of an ECU with a source IP address and a frame according to a service-oriented communication protocol, which is stored in the abnormality detection rule storage unit. It is a figure which shows.
  • the maximum and minimum values for the frame message size are stored for the combination of the ECU role attribute and domain attribute of the source IP address.
  • an ECU whose domain attribute is connectivity and whose role attribute is sensor transmits a frame with a minimum message size of 500 bytes and a maximum message size of 600 bytes.
  • These values may be set by researching the in-vehicle network in advance, or the maximum value specified by extracting communication logs for a predetermined time from the communication log storage unit 404 at a specific timing and referring to the message size. and minimum value information may be stored.
  • FIG. 21 shows an example in which the processing flow relating to step S603 of FIG. 18 is changed to a processing flow for detecting an abnormality based on the ECU attribute of the ECU of the source IP address and the message size of the frame.
  • the abnormality detection unit 402 acquires the source IP address included in the received SOME/IP communication message frame, refers to the ECU attribute storage unit 406, and acquires the ECU attribute. Further, the anomaly detection unit 402 refers to Length in the SOME/IP message format of the same frame and acquires the message size.
  • the anomaly detection unit 402 refers to the minimum and maximum values of the message size corresponding to the ECU attribute of the acquired source IP address from the anomaly detection rule storage unit 407, and the message size of the acquired message is the minimum value. and the maximum value. If the size of the acquired message is a value between the minimum value and the maximum value (Yes in S802), the abnormality detection unit 402 performs the process of step S803. If the acquired message size is not between the minimum and maximum values (No in S802), the abnormality detection unit 402 performs the process of step S804.
  • the abnormality detection unit 402 determines that the received frame is normal.
  • the abnormality detection unit 402 determines that the received frame is abnormal, and transmits the frame to the user interface ECU 300 so as to display an alert.
  • the anomaly detection unit 402 uses the maximum and minimum values of the message size for anomaly detection. Other metrics may be used.
  • an anomaly is defined from the relationship between the frame message size and the ECU attribute of the source IP address ECU.
  • the abnormality may be defined from the message size of the frame, the ECU attributes of the ECU of the source IP address, and the ECU of the destination IP address.
  • an anomaly may be defined based on the message ID or service ID stored in the frame, or the relationship between the message type and the ECU attribute.
  • an abnormality detection rule may be defined by specifying the message ID of a frame to be transmitted when the ECU attribute of the ECU of the source IP address is body and actuator. If a frame containing a message ID that does not exist is transmitted, the frame may be determined to be abnormal.
  • FIG. 22 shows the processing flow of step S603 in FIG. An example is shown.
  • the abnormality detection unit 402 acquires the source IP address and the destination IP address included in the received SOME/IP message frame, refers to the ECU attribute storage unit 406, and determines the source IP address and the destination IP address, respectively. Get the ECU attribute of
  • the abnormality detection unit 402 refers to the ECU attribute storage unit 406 and acquires an IP address set having the same ECU attribute as the ECU attribute of the acquired source IP address.
  • the abnormality detection unit 402 acquires the communication log stored in the communication log storage unit 404 for a predetermined period of time, and for the communication log whose transmission source is the acquired source IP address, the ECU of the destination IP address Attributes are referenced to obtain a set of ECU attributes for the destination IP address.
  • the abnormality detection unit 402 determines whether or not the ECU attribute of the acquired destination IP address is included in the set of ECU attributes of the acquired destination IP address. If the ECU attribute of the acquired destination IP address is included in the set of ECU attributes of the acquired destination IP address (Yes in S904), the abnormality detection unit 402 executes the process of step S905. If the ECU attribute of the acquired destination IP address is not included in the set of ECU attributes of the acquired destination IP address (No in S904), the abnormality detection unit 402 executes the process of step S906.
  • the abnormality detection unit 402 determines that the received frame is normal.
  • the abnormality detection unit 402 determines that the received frame is abnormal, and transmits the frame to the user interface ECU 300 so as to display an alert.
  • the anomaly detection method in the in-vehicle network system shown in Modification 2 of Embodiment 1 does not require an anomaly detection rule to be defined in advance, and anomaly detection is performed by grasping the communication tendency of the in-vehicle network from collected past communication logs. Therefore, anomaly detection rules can be created according to the communication tendency of each vehicle, and the accuracy of anomaly detection can be improved.
  • the anomaly detection ECU 400 in the in-vehicle network system shown in the first embodiment selects one domain attribute of the IP address and stores it in the ECU attribute storage unit 406 as described with reference to FIG.
  • the domain attribute of the IP address may be set assuming that the IP address has multiple domain attributes.
  • the sequence relating to IP address attribute addition, the flow chart for IP address domain attribute setting, and the flowchart stored in the ECU attribute storage unit 406, which are different in configuration, are shown here.
  • An example of the ECU attribute information that is used and a flowchart of anomaly detection using the ECU attributes will be used to describe how anomalies are detected in a frame when a new function is added to the IP address and the ECU has multiple domain attributes. Only whether to determine as
  • FIG. 23 shows that the operator operates the touch panel of the user interface ECU 300 to additionally install an infotainment application to the ADAS application installed in the guest OS unit 203 of the central ECU 200.
  • An example of a sequence in which the abnormality detection ECU 400 detects a change in the in-vehicle network and resets the ECU attribute information used for abnormality detection is shown.
  • the user interface ECU 300 receives an operation from the user and requests the guest OS section 203 of the central ECU 200 to newly install an infotainment-related application (infotainment app).
  • the central ECU 200 requests the OTA server 30 to transmit the installer of the infotainment-related application (infotainment app) to the guest OS unit 203.
  • the OTA server 30 transmits an installer of an infotainment-related application (infotainment app) to the guest OS unit 203 of the central ECU 200.
  • the abnormality detection unit 402 of the abnormality detection ECU 400 receives the frame for transmitting the installer from the OTA server 30 to the guest OS unit 203, and acquires the destination IP address stored in the frame. Further, the abnormality detection unit 402 refers to the IP address stored in the ECU attribute storage unit 406, and if the acquired IP address is included, sets ON the attribute setting flag corresponding to the IP address.
  • FIG. 24 shows an example of ECU attribute information stored in the ECU attribute storage unit 406 when an IP address has a plurality of domain attributes.
  • one line is represented by a set of an IP address, an ECU attribute, an attribute setting flag, the date and time when the flag is set to OFF, and the date and time when the flag is set to ON.
  • the brake control ECU stores 0.8 in the power train attribute, 0.1 in the ADAS attribute, and 0.1 in the body attribute. It represents that it has three domain attributes.
  • the stored value represents the ratio of the domain attribute, and the larger the value, the more communication related to that domain attribute.
  • FIG. 25 is a processing flow for setting the domain attribute of an IP address assuming that a plurality of domain attributes can be provided instead of selecting one domain attribute of the IP address in the processing flow for setting the domain attribute of the IP address in FIG. indicates Note that the same processing steps as in the first embodiment are given the same numbers, and the description thereof is omitted.
  • step S503 When step S503 returns Yes, the ECU attribute setting unit 405 divides the appearance count of the domain attribute extracted in step S501 by the total appearance count of the domain attribute of the IP address of the communication destination in step S501. , the domain attribute appearance ratio is calculated, and the appearance ratio of the domain attribute extracted in step S501 is set in the ECU attribute storage unit 406 .
  • step S1107) If the determination in step S506 is No, the ECU attribute setting unit 405 sets the appearance count of the domain attribute extracted in step S502 to the domain attribute of the IP address of the communication destination excluding the attribute setting flag ON in step S502. By dividing by the total number of appearances, the appearance ratio of the domain attribute is calculated, and the appearance ratio of the domain attribute extracted in step S502 is set in the ECU attribute storage unit 406 .
  • FIG. 26 shows an example in which the processing flow relating to step S603 in FIG. 18 is changed to a processing flow in the case where an IP address has a plurality of domain attributes.
  • the abnormality detection unit 402 acquires the source IP address and the destination IP address included in the received frame, refers to the ECU attribute storage unit 406, and acquires the ECU attributes of the acquired IP addresses.
  • the anomaly detection unit 402 refers to each value of the ECU attribute of the acquired IP address, and determines whether the ECU role attribute and the domain attribute of the source IP address store the maximum value, For the ECU role attribute and the domain attribute of the destination IP address, the attribute storing the maximum value is extracted, and a combination of the ECU attributes of the source IP address and the destination IP address is created.
  • the ECU of the source IP address is the vehicle speed detection ECU
  • the ECU's role attribute has a maximum value of 1 for sensor
  • the ECU's domain attribute has a maximum value of 0.7 for power train. Therefore, the sensor is extracted as the role attribute of the ECU of the source IP address, and the power train is extracted as the domain attribute of the ECU.
  • the destination IP address ECU is the brake control ECU
  • brain is extracted as the ECU role attribute of the destination IP address ECU
  • powertrain is extracted as the ECU domain attribute.
  • the abnormality detection unit 402 uses the abnormality detection rule stored in the abnormality detection rule storage unit 407 to determine whether or not the extracted combination of ECU attributes is abnormal communication. If it is determined that the extracted combination of ECU attributes is abnormal (Yes in S1203), the abnormality detection unit 402 executes the process of step S1204. If it is determined that the combination of extracted ECU attributes is normal (No in S1203), the abnormality detection unit 402 executes the process of step S1212.
  • the anomaly detection unit 402 determines whether at least one of the source IP address and the destination IP address has multiple domain attributes. If neither the source IP address nor the destination IP address has multiple domain attributes (No in S1204), the abnormality detection unit 402 executes the process of S1205. If either the source IP address or the destination IP address has multiple domain attributes (Yes in S1204), the anomaly detection unit 402 executes the process of step S1206.
  • the abnormality detection unit 402 determines that the received frame is abnormal, and transmits the frame to the user interface ECU 300 so as to display an alert.
  • the abnormality detection unit 402 creates a combination of ECU attributes other than the combination of ECU attributes created in step S1202.
  • the ECU of the source IP address is the vehicle speed detection ECU
  • the combination of the role attribute of the ECU of the source IP address and the domain attribute of the ECU is sensor and power train, sensor and ADAS, sensor and body.
  • the abnormality detection unit 402 extracts five combinations excluding the combination of ECU attributes extracted in step S1202 as a list.
  • the abnormality detection unit 402 selects one combination from the extracted list of ECU attribute combinations.
  • the abnormality detection unit 402 determines whether or not the communication is abnormal based on the detection rule stored in the abnormality detection rule storage unit 407 for the combination of ECU attributes selected in step S1207. If it is determined that there is an abnormality (Yes in S1208), step S1209 is executed. If it is determined to be normal (No in S1208), S1210 is executed.
  • the abnormality detection unit 402 determines whether or not all combinations of ECU attributes in the extracted list have been selected. If all combinations of ECU attributes in the extracted list have been selected (Yes in S1209), the abnormality detection unit 402 executes the process of step S1205, and if not all combinations of ECU attributes in the extracted list have been selected (Yes in S1209). No), the abnormality detection unit 402 executes the process of step S1207.
  • the anomaly detection unit 402 refers to the communication log storage unit 404, acquires a predetermined number of communication logs in order of the time stamp value, that is, in the order in which the communication logs are newly recorded, and acquires them in step S1201. It is calculated how often the transmitted source IP address transmitted to which IP address in the past. Further, a weighted average is calculated by using the ECU attribute of the destination IP address as a weight and the total number of occurrences of the destination IP address as the sum of the weights. Further, from the obtained weighted average and the ECU attribute of the source IP address, the absolute value of the value difference is calculated for each element of the domain attribute.
  • the source IP address in step S1201 is 192.168.1.1
  • the communication log storage unit 404 sends data from 192.168.1.1 to 192.168.1.2 eight times.
  • the weighted average of the ECU attributes of the destination ECU takes the number of data transmissions as the weight, and 192.168. It can be calculated from the sum of the value obtained by multiplying the ECU attribute of 1.2 by 0.8 and the value obtained by multiplying the ECU attribute of 192.168.1.11 by 0.2.
  • the weighted average of the domain attributes of the destination ECU of 192.168.1.1 is connectivity (0), powertrain (0.58), ADAS (0.16), body (0.26 ) and infotainment (0).
  • the ECU attributes of 192.168.1.1 are connectivity (0), powertrain (0.8), ADAS (0.1), body (0.1), and infotainment (0)
  • the absolute value of the difference for each element of the domain attributes is connectivity (0), powertrain (0.22), ADAS (0.06), body (0.16), infotainment (0).
  • the abnormality detection unit 402 refers to the absolute value of the domain attribute calculated in step S1210 corresponding to the domain attribute of the destination ECU of the combination selected in step S1207, and determines whether it is within the threshold value. If the calculated absolute value is within the threshold (Yes in S1211), the abnormality detection unit 402 executes the process of step S1212. If the calculated absolute value exceeds the threshold (No in S1211), the abnormality detection unit 402 executes the process of step S1209.
  • the abnormality detection unit 402 determines that the received frame is normal.
  • the anomaly detection method in the in-vehicle network system shown in Modification 3 of Embodiment 1 assumes a plurality of communication patterns and establishes an anomaly detection rule when the ECU has a plurality of domain attributes and performs frame communication. Applicable. As a result, even if another domain attribute is added to the ECU later by OTA, the abnormality detection ECU can determine an abnormality by considering that the ECU has a plurality of domain attributes.
  • Ethernet and CAN protocol are used as the in-vehicle network, but the present invention is not limited to this.
  • CAN-FD CAN with Flexible Data Rate
  • LIN Local Interconnect Network
  • MOST Media Oriented Systems Transport
  • the network configuration may be a combination of these networks as sub-networks.
  • the role attributes of the three ECUs of sensor/brain/actuator are defined by the ratio of client communication and server communication and whether or not to always return a Response message when a Request message is received,
  • Each ECU is labeled according to which role attribute it is applied to, but the present invention is not limited to this.
  • three message types, Notification, Request, and Response may be used to define multiple labels from the ratio of message types to be sent.
  • the role attributes of the three ECUs of sensor/brain/actuator are determined based on the ratio of client communication and server communication based on the message type of SOME/IP communication. is not limited to By referring to SOME/IP-SD messages, the ratio of client communication to server communication may be calculated based on whether an Offer message or a Subscribe message is being sent.
  • ECU domain attributes of powertrain/infotainment/body/ADAS/connectivity are defined and labeled for each ECU, but the present invention is not limited to this.
  • domain attributes are defined in two categories: the ECU for which communication occurs when driving completely autonomously, and the ECU for which communication occurs when assisting the driver's driving. good too.
  • the abnormality detecting ECU 400 detects an abnormal communication frame by looking at the combination of the source IP address ECU attribute and the destination IP address ECU attribute from one communication frame. However, it may be determined from a plurality of communication frames whether or not abnormal communication has occurred. For example, by monitoring communication frames generated at regular time intervals and calculating the appearance ratio of the ECU attribute that is communicating, if the appearance ratio of the ECU attribute changes suddenly, the abnormality detection ECU determines that there is an abnormality. You may With this anomaly detection method, when a vehicle receives a DoS attack from an external network during autonomous driving, the communication ratio between the power train and ECUs with ADAS attributes decreases sharply, and the communication ratio between ECUs with connectivity attributes decreases. Since it is possible to check chronological changes, such as sudden increases, it is possible to detect abnormalities in the in-vehicle network, making security more robust.
  • the abnormality detection ECU 400 detects an abnormal communication frame by looking at the combination of the source IP address ECU attribute and the destination IP address ECU attribute from one communication frame.
  • the abnormality detection ECU can determine that there is an abnormality, and security is robust.
  • the IP address and the attribute information of the ECU are linked and stored, and used for abnormality detection. good.
  • the MAC address of the ECU and corresponding information may be included in the frame, and attribute information labeling may be performed for each MAC address.
  • the role attribute and the domain attribute of the ECU are defined, and the combination of the ECU attribute of the source IP address and the ECU attribute of the destination IP address is examined from one communication frame.
  • labeling may be performed by defining only the role attribute, or labeling may be performed by defining only the domain attribute, and abnormality detection may be performed.
  • three ECU role attributes of sensor/brain/actuator may be defined for each ECU, and it may be defined which combination is normal by the combination of the source IP address ECU attribute and the destination ECU attribute. Complications such as multiple attributes increase the calculation cost of anomaly detection. Therefore, depending on the situation, it may be possible to determine whether or not to use a combination of simple attributes.
  • a frame that causes a change in the in-vehicle network is detected and the attributes of the ECU are set again.
  • an input interface such as a button that can be actively reset by the operator may be prepared so that the reset can be performed at any time.
  • location information may be acquired from the GPS function installed in the in-vehicle system, and the ECU attribute may be reset by detecting movement from an area where the V2X function can be used to an area where the V2X function cannot be used.
  • the attribute information of the ECU is overwritten and stored when the attributes are reset. You can store it by attaching it to It is conceivable that false detections may occur due to the lack of sufficient data for the reset attribute information of the ECU. It can be used as an index to
  • the anomaly detection ECU when it detects an anomalous frame, it transmits a frame for notifying the user interface ECU 300 of an alert.
  • An alert may be notified to the OTA server 30, or a log related to abnormality detection may be notified.
  • Fig. 27 shows an example of a log related to anomaly detection notified to the OTA server outside the vehicle.
  • the log ID which is the serial ID of the abnormality detection log, is 10001
  • the abnormality code that conveys the type of abnormality is 0x01 (violation of communication rules between ECU attributes).
  • the ECU attributes of the source ECU are sensor and ADAS
  • the ECU attributes of the destination ECU are actuator and body, indicating that an abnormal combination of ECU attributes has been detected.
  • IP addresses and ECU attributes for the source ECU and the destination ECU It also shows the time stamp, message size, and inclusion of the original packet for the frame that detected the anomaly.
  • the anomaly detection results may be displayed on a graphical user interface connected to the OTA server.
  • FIG. 28 shows an example of an anomaly detection result displayed on a graphical user interface.
  • FIG. 28 shows that in a vehicle with a vehicle ID of 101, abnormal communication occurs from the camera ECU to the electric lock opening/closing ECU, the abnormality detection unit of the vehicle detects the abnormal communication, and the detection result is sent to the OTA server.
  • the vehicle ID is a number for identifying which vehicle the data is sent from, and is set by the OTA server using vehicle-specific information included in the data sent from the TCU.
  • the display result consists of three elements.
  • the communication path in the in-vehicle network where an abnormality was detected is highlighted with a thick arrow. Communication paths that are not connected are connected by dotted lines.
  • the abnormality detection log as shown in FIG. 27 is visualized.
  • a part of the diagram is highlighted with a bold line or characters are bolded.
  • the ECU attribute is highlighted because the communication rule between the ECU attributes is violated.
  • the anomaly detection logs received from the vehicle with the vehicle ID of 101 are collectively displayed in the form of a table.
  • the first row of the table contains the elements of the anomaly detection log, and the second and subsequent rows contain the values of the anomaly detection log.
  • a part or all of the components constituting each device in the above embodiments may be configured from one system LSI (Large Scale Integration).
  • a system LSI is an ultra-multifunctional LSI manufactured by integrating multiple components on a single chip. Specifically, it is a computer system that includes a microprocessor, ROM, RAM, etc. . A computer program is recorded in the RAM. The system LSI achieves its functions by the microprocessor operating according to the computer program. Further, each part of the constituent elements constituting each of the above devices may be individually integrated into one chip, or may be integrated into one chip so as to include part or all of them.
  • system LSI may also be called IC, LSI, super LSI, or ultra LSI depending on the degree of integration.
  • the method of circuit integration is not limited to LSI, and may be realized by a dedicated circuit or a general-purpose processor.
  • An FPGA Field Programmable Gate Array
  • a reconfigurable processor that can reconfigure the connections and settings of the circuit cells inside the LSI may be used.
  • an integration technology that replaces the LSI appears due to advances in semiconductor technology or another derived technology, the technology may naturally be used to integrate the functional blocks. Application of biotechnology, etc. is possible.
  • a part or all of the components that make up each device described above may be configured from an IC card or a single module that can be attached to and removed from each device.
  • An IC card or module is a computer system composed of a microprocessor, ROM, RAM and the like.
  • the IC card or module may include the super multifunctional LSI.
  • the IC card or module achieves its function by the microprocessor operating according to the computer program. This IC card or this module may have tamper resistance.
  • the present disclosure may be a program (computer program) that implements an abnormality detection method by a computer, or it may be a digital signal composed of a computer program.
  • computer-readable recording media such as flexible discs, hard disks, CD-ROMs, MOs, DVDs, DVD-ROMs, DVD-RAMs, BDs (Blue - ray (registered trademark) Disc), semiconductor memory or the like.
  • it may be a digital signal recorded on these recording media.
  • the computer program or digital signal may be transmitted via an electric communication line, a wireless or wired communication line, a network represented by the Internet, data broadcasting, or the like.
  • one aspect of the present disclosure may be a computer system including a microprocessor and memory, the memory recording the computer program, and the microprocessor operating according to the computer program.
  • the program or digital signal may be recorded on a recording medium and transferred, or the program or digital signal may be transferred via a network or the like to be implemented by another independent computer system.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Computer Security & Cryptography (AREA)
  • Small-Scale Networks (AREA)

Abstract

異常検知装置は、2以上の電子制御ユニットと、1以上のネットワークと、によって構成される車載ネットワークシステムにおける異常を検知する異常検知装置であって、2以上の電子制御ユニットそれぞれに設定された電子制御ユニットが有する属性を記憶しているECU属性記憶部(406)と、1以上のネットワーク上のメッセージを送受信する通信部(401)と、ECU属性記憶部(406)に記憶されている属性のうち、メッセージの送信元または宛先の電子制御ユニットが有する属性を用いて、異常な通信を検知する異常検知部(402)と、を有し、ECU属性記憶部(406)に記憶されている属性は、当該属性を有する電子制御ユニットの機能、または、当該属性を有する電子制御ユニットが扱う情報の種類を示す。

Description

異常検知装置及び異常検知方法
 本開示は、車載ネットワークシステムにおいて、異常を検出するための異常検知装置及び異常検知方法に関する。
 非特許文献1には、SOME/IPのフレームに対して、サービスIDと対応する宛先IPアドレス、送信元IPアドレスを正常ルールとして事前に設定し、フレームを監視し、正常ルールに従わないフレームを異常なフレームとして検知することができる技術が開示されている。
N.Herold,et al、"Anomaly Detection for SOME/IPusing Complex Event Processing"、NOMS3016,IEEE/IFIP Network Operations and Management Symposium、2016
 本開示は、普段と異なる通信内容が攻撃者によるものであるのか否かを区別することで異常な通信を検知することができ、車両全体の安全性を向上できる異常検知装置及び異常検知方法を提供することを目的とする。
 本開示の一態様に係る異常検知装置は、2以上の電子制御ユニットと、1以上のネットワークと、によって構成される車載ネットワークシステムにおける異常を検知する異常検知装置であって、前記2以上の電子制御ユニットそれぞれに設定された電子制御ユニットが有する属性を記憶しているECU属性記憶部と、前記1以上のネットワーク上のメッセージを送受信する通信部と、前記ECU属性記憶部に記憶されている前記属性のうち、前記メッセージの送信元または宛先の電子制御ユニットが有する前記属性を用いて、異常な通信を検知する異常検知部と、を有し、前記ECU属性記憶部に記憶されている前記属性は、当該属性を有する前記電子制御ユニットの機能、または、当該属性を有する前記電子制御ユニットが扱う情報の種類を示す。
 本開示の一態様に係る異常検知方法は、2以上の電子制御ユニットと、1以上のネットワークと、によって構成される車載ネットワークシステムにおける異常を検知する異常検知方法であって、前記1以上のネットワーク上のメッセージを送受信し、前記2以上の電子制御ユニットそれぞれに設定された電子制御ユニットが有する属性のうち、前記メッセージの送信元または宛先の電子制御ユニットが有する前記属性を用いて、異常な通信を検知し、前記属性は、当該属性を有する前記電子制御ユニットの機能、または、当該属性を有する前記電子制御ユニットが扱う情報の種類を示す。
 なお、これらの包括的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータで読み取り可能なCD-ROMなどの非一時的な記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラム及び非一時的な記録媒体の任意な組み合わせで実現されてもよい。
 本開示によれば、普段と異なる通信内容が攻撃者によるものであるのか否かを区別することで異常な通信を検知することができ、車両全体の安全性を向上できる。
図1は、実施の形態1における、車載ネットワークシステムの全体構成の一例を示す図である。 図2は、実施の形態1における、TCUの構成の一例を示す図である。 図3は、実施の形態1における、セントラルECUの構成の一例を示す図である。 図4は、実施の形態1における、ユーザインタフェースECUの構成の一例を示す図である。 図5は、実施の形態1における、異常検知ECUの構成の一例を示す図である。 図6は、実施の形態1における、ゾーンECUの構成の一例を示す図である。 図7は、実施の形態1における、ブレーキ制御ECUの構成の一例を示す図である。 図8は、実施の形態1における、SOME/IP SDのメッセージフォーマットの一例を示す図である。 図9は、実施の形態1における、SOME/IP SDのメッセージの一例を示す図である。 図10は、実施の形態1における、通信ログ記憶部に格納される通信ログの一例を示す図である。 図11は、実施の形態1における、ECU属性情報の一例を示す図である。 図12は、実施の形態1における、ECU属性を用いた異常検知ルールの一例を示す図である。 図13は、実施の形態1における、ECUの属性変更のシーケンスの一例を示す図である。 図14は、実施の形態1における、異常検知ECUのフレーム受信時の動作に関するフローチャートの一例を示す図である。 図15は、実施の形態1における、ECUの属性設定に関するフローチャートの一例を示す図である。 図16は、実施の形態1における、ECUの役割属性設定に関するフローチャートの一例を示す図である。 図17は、実施の形態1における、ECUのドメイン属性設定に関するフローチャートの一例を示す図である。 図18は、実施の形態1における、ECU属性を用いた異常検知に関するシーケンスの一例を示す図である。 図19は、実施の形態1における、ECU属性を用いた異常検知に関するフローチャートの一例を示す図である。 図20は、実施の形態1の変形例1における、ECU属性による異常検知ルールの一例を示す図である。 図21は、実施の形態1の変形例1における、送信元ECU属性とフレームを用いた異常検知に関するフローチャートの一例を示す図である。 図22は、実施の形態1の変形例2における、ECU属性を用いた異常検知に関するフローチャートの一例を示す図である。 図23は、実施の形態1の変形例3における、ECUの属性追加に関するシーケンスの一例を示す図である。 図24は、実施の形態1の変形例3における、ECU属性情報の一例を示す図である。 図25は、実施の形態1の変形例3における、ECUのドメイン属性設定に関するフローチャートの一例を示す図である。 図26は、実施の形態1の変形例3における、ECU属性を用いた異常検知に関するフローチャートの一例を示す図である。 図27は、その他の変形例における異常検知時に通知されるログの一例を示す図である。 図28は、その他の変形例における異常検知結果をグラフィカルユーザインタフェースに表示する一例を示す図である。
 (本開示の基礎となった知見)
 近年、自動車の中のシステムには、電子制御装置(ECU:Electronic Control Unit)と呼ばれる装置が多数配置されていて、これらのECUをつなぐネットワークは車載ネットワークと呼ばれる。
 車載ネットワークには、多数の規格が存在する。例えば、IEEE 802.3で規定されているEthernet(登録商標)が利用された車載ネットワークが存在し、先進運転支援システムや自動運転においては、膨大な情報を処理する必要があり、データ伝送速度が高いEthernetの導入が進んでいる。
 Ethernet上の通信プロトコルとして、SOME/IP(Scalable Service-Oriented MiddlewarE over IP)の規格が存在する。SOME/IPでは、Ethernetに接続される各ECUがヘッダに記載されるサービスIDによって通信内容を決定するため、サービス指向型通信と呼ばれる。
 SOME/IPは、事前に利用したいサービスのサービスIDまたは提供可能なサービスのサービスIDを記憶していれば、通信先ECUのIPアドレスやMACアドレスを動的に取得して通信できる。そのため、開発者はシステム環境に依存するIPアドレスやMACアドレスなどの情報を事前に設定する必要はなく、可搬性に優れたソフトウェアを容易に設計することができる。
 また、車載ネットワークのシステム更新には、OTA(Over The Air)でオンラインに対応することが進んでおり、車載アプリケーションや更新プログラム等の開発内容を車両に容易に反映でき、車載ネットワークの通信傾向がいっそう動的に変化することが見込まれる。
 SOME/IP等のサービス指向型通信において、送信元を認証する仕組みがないため、1つのECUが不正に乗っ取られると、乗っ取られたECUが送受信するサービスIDの通信を用いた不正な送受信が可能になるだけでなく、乗っ取られたECU以外の他のECUが送信するサービスIDを含む通信を、乗っ取られたECUが他のECUになりすまして、不正な通信を可能にしたり、通信を停止させたりできる、という脅威の可能性がある。
 これらの脅威に対し、非特許文献1に開示されているように、SOME/IPのフレームに対して、サービスIDと対応する宛先IPアドレス、送信元IPアドレスを正常ルールとして事前に設定し、フレームを監視し、正常ルールに従わないフレームを異常なフレームとして検知することができることが知られている。
 しかしながら、車載アプリケーションやECU更新プログラム等をOTAで車両にインストールされることで、車載ネットワークの通信傾向に変化が生じる。この変化は、具体的には、(i)新たな機能が追加され、2つのECU間のこれまでなかった通信が発生すること、及び、(ii)これまで存在した機能が消去されて、2つのECU間で新たな通信が発生する、または、2つのECU間でこれまで存在した通信が発生しなくなることを含むと考えられる。
 このような場合、非特許文献1に開示されているような送信元ECUまたは宛先ECUのIPアドレスやMACアドレスから正常な通信接続を事前に設定する手法を用いると、車載アプリケーションやECU更新プログラム等をOTAで車両にインストールの度に検知ルールを更新する必要があり、異常検知の精度を高く維持することが課題になる。
 本開示は、車載ネットワークの変化に応じて、ECUがどのような通信傾向と通信内容をもつのかを分類し、その分類結果を用いた異常検知機能を備える異常検知ECUによって、より安全な車載ネットワークシステムを提供することを目的とする。
 本開示の第1の態様に係る異常検知装置は、2以上の電子制御ユニットと、1以上のネットワークと、によって構成される車載ネットワークシステムにおける異常を検知する異常検知装置であって、前記2以上の電子制御ユニットそれぞれに設定された電子制御ユニットが有する属性を記憶しているECU属性記憶部と、前記1以上のネットワーク上のメッセージを送受信する通信部と、前記ECU属性記憶部に記憶されている前記属性のうち、前記メッセージの送信元または宛先の電子制御ユニットが有する前記属性を用いて、異常な通信を検知する異常検知部と、を有し、前記ECU属性記憶部に記憶されている前記属性は、当該属性を有する前記電子制御ユニットの機能、または、当該属性を有する前記電子制御ユニットが扱う情報の種類を示す。
 これにより、電子制御ユニット間でメッセージの授受が発生した際に、電子制御ユニットそれぞれの機能と電子制御ユニットが扱う情報の種類とを示す属性を参照することで、異常なメッセージの授受が発生しているのか判定することが可能となり、車両の安全性を向上できる。
 本開示の第2の態様に係る異常検知装置は、第1の態様に係る異常検知装置であって、前記ECU属性記憶部に記憶されている前記属性は、前記車載ネットワークシステムにおいて動作する電子制御ユニットの機能を示し、電子制御ユニットが車内外の情報をセンシングする機能を備えることを示すセンサ属性と、電子制御ユニットがセンシングされた情報を処理し制御指示を行う機能を備えることを示すブレイン属性と、電子制御ユニットが制御指示に従い制御を行う機能を備えることを示すアクチュエータ属性と、のいずれか1つを含む。
 これにより、電子制御ユニット間の機能の関係性から異常な通信か否かの判定が可能になり、車両の安全性を向上できる。
 本開示の第3の態様に係る異常検知装置は、第1の態様に係る異常検知装置であって、前記ECU属性記憶部に記憶されている前記属性は、前記車載ネットワークシステムにおいて電子制御ユニットが扱う情報の種類を示し、車両の走行に関する制御情報を扱うことを示すパワートレーン属性と、操縦者への車両の状態通知に関する情報を扱うことを示すインフォテイメント属性と、車両のボディ系の制御情報を扱うことを示すボディ属性と、操縦者の車両操作を支援または代替する先進運転支援機能に関する情報を扱うことを示すADAS属性と、前記1以上のネットワーク外から取得した情報を扱うことを示すコネクティビティ属性と、のいずれか1つを含む。
 これにより、電子制御ユニット間の扱う情報の種類の関係性から異常な通信か否かの判定が可能になり、車両の安全性を向上できる。
 本開示の第4の態様に係る異常検知装置は、第1の態様に係る異常検知装置であって、前記異常検知部は、前記メッセージの送信元の電子制御ユニットの前記属性と、前記メッセージの宛先の電子制御ユニットの前記属性と、の組み合せに基づいて、前記通信部が受信したメッセージが異常か否かを判定する。
 これにより、メッセージの送信元及び宛先の電子制御ユニット間の属性の組合せに基づいて、異常な通信か否かの判定が可能になり、車両の安全性を向上できる。
 本開示の第5の態様に係る異常検知装置は、第1の態様に係る異常検知装置であって、前記異常検知部は、前記メッセージの送信元の電子制御ユニットの前記属性または前記メッセージの宛先の電子制御ユニットの前記属性と、前記通信部から受信したメッセージに含まれる情報と、の関係性に基づいて、前記通信部が受信したメッセージが異常か否かを判定する。
 これにより、改ざんしたメッセージを送信する攻撃であっても、異常な通信か判定が可能になり、車両の安全性を向上できる。
 本開示の第6の態様に係る異常検知装置は、第5の態様に係る異常検知装置であって、前記車載ネットワークシステムは、サービス指向型通信によりメッセージの授受を行い、前記通信部から受信したメッセージに含まれる情報は、SOME/IP通信のメッセージフォーマットに格納される情報である。
 これにより、SOME/IP通信にメッセージフォーマットに格納される情報と電子制御ユニットの属性との関係性から異常な通信を判定することが可能となり、車両の安全性を向上できる。
 本開示の第7の態様に係る異常検知装置は、第4の態様に係る異常検知装置であって、さらに、前記通信部が受信したメッセージを記憶する通信ログ記憶部を、備え、前記異常検知部は、前記通信ログ記憶部に記憶されているメッセージと前記ECU属性記憶部とを参照して、メッセージの授受が発生している送信元及び宛先の電子制御ユニットの前記属性の組み合わせを示す関係性を特定し、新たに受信したメッセージについて、前記関係性において前記メッセージの授受が発生している組み合わせの属性を有する電子制御ユニット間のメッセージを正常と判定し、前記関係性において前記メッセージの授受が発生していない組み合わせの属性を有する電子制御ユニット間のメッセージを異常と判定する。
 これにより、電子制御ユニットの属性を用いた異常な通信の定義を、通信ログから機械的に生成することが可能となり、異常な通信の定義を自動更新することが可能となる。
 本開示の第8の態様に係る異常検知装置は、第2の態様または第3の態様に係る異常検知装置であって、前記車載ネットワークシステムは、サービス指向型通信によりメッセージの授受を行い、前記異常検知装置は、さらに、前記通信部が受信したメッセージを記憶する通信ログ記憶部と、前記ECU属性記憶部に格納される電子制御ユニットの前記属性を設定するECU属性設定部と、を備え、前記ECU属性設定部は、前記通信ログ記憶部に記憶されているメッセージを参照して、前記メッセージに含まれるメッセージタイプから、電子制御ユニットがサーバ側かクライアント側かを判定し、サーバ通信とクライアント通信との割合によって、当該電子制御ユニットの前記属性の決定を行う。
 これにより、電子制御ユニットの属性を、通信ログから定義することが可能となり、電子制御ユニットの属性を自動更新することが可能となる。
 本開示の第9の態様に係る異常検知装置は、第2の態様または第3の態様に係る異常検知装置であって、前記異常検知装置は、さらに、前記通信部が受信したメッセージを記憶する通信ログ記憶部と、前記通信ログ記憶部に記憶されているメッセージを参照して、前記ECU属性記憶部に記憶されている電子制御ユニットの属性を設定するECU属性設定部と、を備え、前記ECU属性設定部は、前記通信ログ記憶部に記憶されているメッセージと前記ECU属性記憶部とを参照して、第一の電子制御ユニットが通信する電子制御ユニットの前記属性の出現頻度に応じて、前記第一の電子制御ユニットの前記属性の決定を行う。
 これにより、電子制御ユニットの属性を、通信ログから定義することが可能となり、電子制御ユニットの属性を自動更新することが可能となる。
 本開示の第10の態様に係る異常検知装置は、第8の態様または第9の態様に係る異常検知装置であって、前記ECU属性設定部は、前記電子制御ユニットの属性を決定してから所定時間経過している、または、前記1以上のネットワークの通信傾向に変化が生じるメッセージを前記通信部が受信している、の条件を満たす場合は、前記電子制御ユニットの属性の前記決定を行う。
 これにより、最新の車載ネットワークの状態に応じた異常検知が可能となり、時間経過に応じて誤検知が多くなる問題を防ぎ、車両の安全性を向上できる。
 本開示の第11の態様に係る異常検知装置は、第10の態様に係る異常検知装置であって、前記1以上のネットワークの通信傾向に変化が生じるメッセージは、前記車載ネットワークシステムとは異なる、ネットワークまたはサーバからデータを取得してインストールする際に発生するメッセージ、または、前記車載ネットワークシステムの機能設定の変更、削除、または、更新において発生するメッセージである。
 これにより、外部からデータを取得してインストールする、または車載システムの機能設定を変更する、といった車載ネットワークの変化を検知して、電子制御ユニットの属性を再度設定することが可能となり、異常検知の誤検知を減らすことが可能となる。
 本開示の第12の態様に係る異常検知装置は、第9の態様に係る異常検知装置であって、前記異常検知部は、前記通信ログ記憶部に格納されるメッセージから、第一の電子制御ユニットが通信する電子制御ユニットの前記属性の出現頻度を計算し、前記ECU属性記憶部に格納される前記第一の電子制御ユニットの前記属性の出現頻度を参照して、一定の基準を超えて外れている場合は、前記第一の電子制御ユニットの通信は異常と判断する。
 これにより、車載ネットワーク全体の電子制御ユニットの属性の出現傾向を捉えて異常な通信を検知することが可能となり、特定の電子制御ユニットから通信量が急増するなどの異常を検知できる。
 本開示の第13の態様に係る異常検知方法は、2以上の電子制御ユニットと、1以上のネットワークと、によって構成される車載ネットワークシステムにおける異常を検知する異常検知方法であって、前記1以上のネットワーク上のメッセージを送受信し、前記2以上の電子制御ユニットそれぞれに設定された電子制御ユニットが有する属性のうち、前記メッセージの送信元または宛先の電子制御ユニットが有する前記属性を用いて、異常な通信を検知し、前記属性は、当該属性を有する前記電子制御ユニットの機能、または、当該属性を有する前記電子制御ユニットが扱う情報の種類を示す。
 これにより、複数の機器に異常検知の仕組みを組み込むことが可能となり、車両の安全性を向上できる。
 以下、図面を参照しながら、本開示の実施の形態に関わる異常検知装置について説明する。なお、以下で説明する実施の形態は、いずれも本開示の好ましい一具体例を示す。つまり、以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置および接続形態、ステップ、ステップの順序などは、本開示の一例であり、本開示を限定する主旨ではない。本開示は、請求の範囲の記載に基づいて特定される。したがって、以下の実施の形態における構成要素のうち、本開示の最上位概念を示す独立請求項に記載されていない構成要素は、本開示の課題を達成するために必ずしも必要ではないが、より好ましい形態を構成する構成要素として説明される。
 (実施の形態1)
 以下、複数のECUがイーサネット(登録商標)を介したサービス指向通信を行う車載ネットワークシステムにおける、異常検知方法について説明する。
 1. 車載ネットワークシステムの全体構成
 図1は、本実施の形態における、車載ネットワークシステムの全体構成の一例を示す図である。図1において、車載ネットワークシステムは、車両10に搭載され、外部ネットワーク20を介してOTAサーバ30に通信可能に構成されている。
 車載ネットワークシステムは、TCU(Telematics Control Unit)100と、セントラルECU200と、ユーザインタフェースECU300と、異常検知ECU400と、ゾーンECU500aと、ゾーンECU500bと、ブレーキ制御ECU600aと、車速検知ECU600bと、電気錠制御ECU600cと、電気錠開閉ECU600dと、カメラECU600eとを備える。
 図1には図示していないが、車両10には、他にも多くのECUが含まれうる。
 セントラルECU200は、Ethernetを介してTCU100と、ユーザインタフェースECU300と、異常検知ECU400と、ゾーンECU500aと、ゾーンECU500bと、カメラECU600eとに通信可能に接続されている。
 ゾーンECU500aは、Controller Area Network(CAN)1を介して、ブレーキ制御ECU600aと、車速検知ECU600bとに通信可能に接続されている。
 ゾーンECU500bは、CAN2を介して電気錠制御ECU600cと電気錠開閉ECU600dとに通信可能に接続されている。
 なお、ゾーンECU500a及びゾーンECU500bが接続されているネットワークは、CANに限らず、例えば、FlexRay、専用通信線、無線通信などの他のネットワークであってもよい。
 OTAサーバ30は、車両10のシステムアップデートファイルを配信するとともに、車載アプリのプラットフォーム機能を備える。
 TCU100は、外部ネットワーク20との間で通信を行う通信インタフェースを備える。TCU100は、セントラルECU200から送信されたフレームを、外部ネットワーク20を介して、OTAサーバ30へ送信する。また、TCU100は、OTAサーバ30から送信されたフレームを受信して、セントラルECU200へ送信する。
 セントラルECU200は、車載ネットワークシステムの中心的な役割を担うECUであり、様々なアプリケーションが動作し、車両10の様々な機能を実現する。セントラルECU200は、スイッチ機能を有し、Ethernetを経由して受信したフレームを適切なECUへ転送する。
 また、セントラルECU200は、受信したフレームをスイッチ機能で、異常検知ECU400へ転送する。さらにセントラルECU200は、異常検知ECU400からフレームの検知結果を受信すると、ユーザインタフェースECU300へ通知結果を転送する。
 また、セントラルECU200は、TCU100との間で、車載アプリケーションや更新プログラム等の取得に関するフレームの送受信を行う。
 また、セントラルECU200は、自動運転などの高度な処理を行うアプリケーションを実行することができ、高度な処理を行うのに必要な情報、または高度な処理を実行する制御情報等を、他のECUとの間でEthernetまたはCANを介して通信を行う。
 ユーザインタフェースECU300は、車両10を制御するためのユーザインタフェースを提供する。具体的には、ステアリングを制御するためのコントローラ、加減速を制御するためのコントローラや、スイッチ、タッチパネルのような入力装置、USBポート、Wi-Fiモジュール等の機器と通信可能に接続される。ユーザインタフェースECUこれらの機器経由でユーザの操作を受け付け、ユーザの操作の内容をセントラルECU200へ通知する。
 異常検知ECU400は、セントラルECU200と通信可能に接続され、セントラルECU200から受信されるフレームを取得し、フレームに異常が存在するか否かを検知する。異常検知ECU400は、異常検知の検知結果をセントラルECU200に送信する。
 ゾーンECU500aは、受信したフレームをスイッチの機能で適切なECUへ転送する。さらに、ゾーンECU500aは、CAN1で受信したCANのフレームを、Ethernetを介して適切なECUに転送する場合、Ethernetのフレームに変換する。また、ゾーンECU500aは、Ethernetで受信したEthernetのフレームをCAN1の適切なECUに転送する場合、CANのフレームに変換する。ゾーンECU500bは、ゾーンECU500aと同様の構成であるため、説明を省略する。なお、ゾーンECU500a及びゾーンECU500bが接続されるネットワークがCANの代わりにFlexRay、専用通信線、及び、無線通信のいずれか1つのネットワークである場合、ゾーンECU500a及びゾーンECU500bは、CAN同様にFlexRay、専用通信線、及び、無線通信のいずれか1つネットワークのフレームと、Ethernetのフレームとを相方向に変換可能である。つまり、ゾーンECU500a及びゾーンECU500bは、異なる2種類のネットワークに通信可能に接続されている場合、異なる2種類のフレームの一方から他方への変換が可能である。
 ブレーキ制御ECU600aは、車両10が備えるブレーキの制御を行う。
 車速検知ECU600bは、車両10の速度をセンサで計測する。
 電気錠制御ECU600cは、車両10が備える電気錠の開閉を制御する。
 電気錠開閉ECU600dは、車両10が備える電気錠の開閉を行う。
 カメラECU600eは、車両10が備えるカメラの映像を取得する。
 2. TCU100の構成
 図2は、本実施の形態における、TCUの構成の一例を示す図である。図2において、TCU100は、外部通信部101と、変換部102と、内部通信部103と、を備える。
 外部通信部101は、外部ネットワーク20との間で通信を行う通信インタフェースであり、外部ネットワーク20を介してOTAサーバ30との間で通信を行う。外部通信部101は、変換部102と情報の授受を行う。
 内部通信部103は、通信インタフェースであり、Ethernetを介して、セントラルECU200と通信する。内部通信部103は、セントラルECU200から受信したフレームを変換部102へ通知するとともに、変換部102からのフレームの送信要求を受けて、Ethernetにフレームの送信を行う。
 変換部102は、内部通信部103と、外部通信部101とを介して、内部通信部103及び外部通信部101の一方から受信したメッセージの転送が必要となるデータを予め決められたフォーマットへ変換し、他方へと送信する。
 3. セントラルECU200の構成
 図3は、本実施形態における、セントラルECUの構成の一例を示す図である。図3においてセントラルECU200は、通信部201と、ホストOS部202と、ゲストOS部203と、を備える。
 通信部201は、Ethernetを介してTCU100と、ユーザインタフェースECU300と、異常検知ECU400と、ゾーンECU500aと、ゾーンECU500bと、カメラECU600eと通信可能に接続されており、受信したフレームの内容に応じて、スイッチ機能でフレームの転送を行う。また通信部201は、受信したフレームの監視を行うため、異常検知ECU400に、受信したフレームを転送する。さらに通信部201は、ホストOS部202と、情報の送受信を行う。
 ホストOS部202は、セントラルECU200のメインのOperating System(OS)である。ホストOS部202は、通信部201と情報の授受を行い、通信内容をゲストOS部203に通知する。
 また、ホストOS部202は、ゲストOS部203のシステム設定を変更可能な権限を有する。ホストOS部202は、通信部201を介してユーザインタフェースECU300により受け付けられたユーザの操作を示す操作情報を取得し、当該操作情報に基づいてダウンロードの指示のあった車載アプリケーションを、OTAサーバ30からゲストOS部203へダウンロードするように、TCU100へメッセージを送信する。また、ホストOS部202は、通信部201を介してユーザインタフェースECU300により受け付けられたユーザの操作を示す操作情報を取得し、当該操作情報に基づいて削除指示のあったゲストOSを消去して別のゲストOSをインストールする。このように、ホストOS部202は、システム管理を実行できる。
 また、セキュアなホストOS部202を実現するため、OTAによるシステム更新を除いて、ユーザインタフェースECU300からホストOS部202の機能を変更することは制限される。
 ゲストOS部203は、セントラルECU200のアプリケーションが動作するOSである。ゲストOS部203は、アプリケーションの一例として、例えば、通信部201を介してカメラECU600eから映像データを取得し、車両10が映像データ中の人と認識された物体と一定の距離以内であれば、ブレーキ制御ECU600aに車両10の減速要求を行う機能を有する。
 本開示の実施の形態1では、ホストOS部202の上に1つのゲストOS部203が設けられる例を示しているが、ゲストOS部203の数は2つ以上であってもよい。また、ゲストOS部203は、ホスト型の仮想化ソフトウェアであってもよいし、ハイパーバイザ型の仮想化ソフトウェアであってもよい。
 4. ユーザインタフェースECU300の構成
 図4は、本実施の形態における、ユーザインタフェースECUの構成の一例を示す図である。図4において、ユーザインタフェースECU300は、通信部301と、外部機器接続部302と、を備える。
 通信部301は、セントラルECU200に通信可能に接続されており、セントラルECU200との間で情報の授受を行う。通信部301は、主に外部機器接続部302から受信した情報をセントラルECU200へ通知する役割を担う。
 外部機器接続部302は、ユーザが操作する機器、あるいは外部接続機器のインタフェースに通信可能に接続されており、これらの機器から取得した情報を通信部301に通知する。
 外部接続機器は、例えば、ステアリングを制御するためのコントローラ、加減速を制御するためのコントローラ、スイッチ、タッチパネルのような入力装置等であってもよい。さらに、外部接続機器は、例えば、USBポート、Wi-Fiモジュール、診断ポート、Bluetooth等の通信インタフェースの機器であってもよい。
 5. 異常検知ECU400の構成
 図5は、本実施の形態における、異常検知ECUの構成の一例を示す図である。図5において異常検知ECU400は、通信部401と、異常検知部402と、通信ログ生成部403と、通信ログ記憶部404と、ECU属性設定部405と、ECU属性記憶部406と、異常検知ルール記憶部407と、を備える。
 通信部401は、セントラルECU200に通信可能に接続されており、セントラルECU200との間で情報の授受を行う。通信部401は、セントラルECU200から送信されたフレームを受信し、受信したフレームを異常検知部402と通信ログ生成部403とに転送する。
 また通信部401は、異常検知部402からフレームの異常判定結果が通知されると、異常判定結果を含むフレームをセントラルECU200に送信する。
 異常検知部402は、通信部401から転送されたフレームを受信し、受信したフレームがサービス指向通信プロトコルに従うフレームである場合、受信したフレームに対する異常検知を行う。
 異常を検知した場合は、異常検知部402は、検知結果を格納したフレームを作成して通信部401へ通知し、当該フレームをセントラルECU200へ送信する。
 異常検知部402は、異常検知において、受信したフレームに含まれるIPアドレス(送信元IPアドレスまたは宛先IPアドレス)から、ECU属性記憶部406を参照してIPアドレスに対応するECU属性を取得する。また、異常検知部402は、異常検知において、異常検知ルール記憶部407から、異常検知に用いる異常検知ルールを取得する。異常検知部402による異常検知の方法については後述する。
 また、異常検知部402は、通信部401から転送されたフレームが、車載ネットワークの通信傾向に変化が生じる情報が含まれるフレームであるか否かを判定する。異常検知部402は、転送されたフレームが、車載ネットワークの通信傾向に変化が生じる情報が含まれるフレームである場合、フレームの宛先IPアドレス(送信先IPアドレス)を参照し、ECU属性記憶部406のIPアドレスと対応する属性設定フラグをONにする。ここで、車載ネットワークの通信傾向に変化が生じる情報が含まれるフレームとは、ゲストOS部203へアプリケーションをダウンロードする際に発生するフレームや、アップデートファイルをECUへ送信する際に発生するフレーム等である。言い換えると、車載ネットワークの通信傾向に変化が生じる情報が含まれるフレーム(メッセージ)とは、車載ネットワークとは異なる、ネットワークまたはサーバからデータを取得してインストールする際に発生するメッセージ、または、車載システムの機能設定の変更、削除、または、更新において発生するメッセージである。
 通信ログ生成部403は、通信部401から転送されたフレームを受信し、受信したフレームに含まれる一部の情報を抽出して通信ログを作成し、通信ログ記憶部404に作成した通信ログを追加する。また、通信ログ生成部403は、通信ログを作成した時刻を示すタイムスタンプを通信ログに付与するため、時間を計測する機能を有する。
 通信ログ記憶部404は、通信ログ生成部403より転送される通信ログを格納している。通信ログ記憶部に格納される通信ログの詳細は後述する。
 ECU属性設定部405は、通信ログ記憶部404から通信ログを取得し、IPアドレスごとに、どのような通信傾向がみられてECUはどのような役割属性をもっているのか、または、どのような情報を扱ってECUはどのようなドメイン属性をもっているのか、を推測し、推測結果をECU属性記憶部406に格納する。
 ECUの通信傾向は、OTAによるシステム更新、車載サブスクリプションサービスの終了、操縦者による車両設定の変更等の影響で変化されうるため、特定のタイミングでECUがどのような役割属性とドメイン属性をもつのか検証を行う。ここで、特定のタイミングとは、異常検知部402が、システムシャットダウンの通知を受け取った時や、ユーザが車両10の操縦を行っていない時間帯である夜間における任意のタイミング等である。ECUの役割属性とECUのドメイン属性との詳細な設定方法は後述する。
 ECU属性記憶部406は、ECU属性設定部405によって推定された、IPアドレスごとのECU属性を格納している。ここで、ECU属性とは、ECUの役割属性とECUのドメイン属性との両方を表す。
 ECUの役割属性は、車両10におけるECUの果たす役割の観点で、車載ネットワークシステムにおいて動作するECUの機能を示す属性である。ECUの役割属性は、ECUが車内外の情報をセンシングする機能を備えることを示すセンサ属性(センサ)と、ECUがセンシングされた情報を処理し制御指示を与える機能を備えることを示すブレイン属性(ブレイン)、ECUが制御指示に従い制御を行う機能を備えることを示すアクチュエータ属性(アクチュエータ)、の3つに分類される。
 ECUのドメイン属性は、車載ネットワークに送信するデータの役割の観点で、車載ネットワークシステムにおいてECUが扱う情報の種類を示す属性である。ECUのドメイン属性は、走る、曲がる、止まるなどの車両10の走行に関する制御情報を扱うことを示すパワートレーン属性(パワートレーン)と、ドライバ(操縦者)への車両10の状態通知に関する情報を扱うことを示すインフォテイメント属性(インフォティメント)と、車両10のボディ系の制御情報を扱うことを示すボディ属性(ボディ)と、カメラ画像やセンシング情報などのドライバ(操縦者)の車両操作を支援または代替する先進運転支援機能に関する情報を扱うことを示すADAS属性(ADAS)と、車載ネットワークが備える1以上のネットワーク外、つまり、外部ネットワーク20から取得した情報を扱うことを示すコネクティビティ属性(コネクティビティ)、の5つに分類される。ECU属性情報の詳細は後述する。
 異常検知ルール記憶部407は、異常検知部402がフレームの異常判定を行う際に必要な異常判定ルールを格納している。異常判定ルール記憶部407に格納される異常判定ルールの詳細は後述する。
 6. ゾーンECU500aの構成
 図6は、本実施の形態における、ゾーンECUの構成の一例を示す図である。ゾーンECU500aは、ホスト部501と、通信部502と、を備える。ゾーンECU500bは接続されるECUが異なるが、ゾーンECU500aと同様の構成であるため、説明を省略する。
 ホスト部501は、ゾーンECU500aのメイン部分であり、CPUとメモリとによって実現され、通信部502から受信した通信内容に応じて処理を実行する。例えば、ゾーンECU500aは、車両10のユーザがバックで(後ろ向きに)駐車を行う際に、カメラECU600eと車速検知センサECU600bとから通知されるフレームを受信する。ゾーンECU500aは、受信したフレームから得られた、車両10の後方の映像と車両10の速度とに基づいて、障害物に接触しないように、ブレーキ制御ECU600aに制御メッセージを送信する。
 通信部502は、セントラルECU200にEthernetを介して通信可能に接続されており、ブレーキ制御ECU600a及び車速検知ECU600bにCAN1を介して通信可能に接続されている。通信部502は、受信したフレームの内容に応じて、フレームの転送を行うスイッチ機能を有する。
 また通信部502は、CANのフレームからEthernetのフレームへ、EthernetのフレームからCANのフレームへ変換する機能を有する。
 7. ブレーキ制御ECU600aの構成
 図7は、本実施の形態における、ブレーキ制御ECUの構成の一例を示す図である。車速検知ECU600b、電気錠制御ECU600c、電気錠開閉ECU600d、カメラECU600eは、ブレーキECU600aと同様の構成のため、これらの説明を省略する。
 図7においてブレーキECU600aは、通信部601と、ホスト部602と、外部機器接続部603と、を備える。
 通信部601は、ネットワーク(CAN1)との間で通信を行う通信インタフェースであり、CAN1に通信可能に接続される。通信部601は、ネットワークに流れるフレームを受信し、受信したフレームをホスト部602に通知するとともに、ホスト部602からの送信要求を受けて、CAN1にフレームの送信を行う。
 ホスト部602は、センサまたはアクチュエータ等の外部接続機器から取得した情報を含むフレームを生成し、生成したフレームの送信要求を通信部601へ行う。また、ホスト部602は、通信部601から通知されるフレームの情報に基づいて、外部接続機器の制御処理を行う。
 外部機器接続部603は、ホスト部602から通知された制御情報に基づいて、外部機器の制御操作を行う、または、外部機器の制御操作を制御情報に変換して、当該制御情報をホスト部602へ通知する。
 8. SOME/IPメッセージフォーマット
 SOME/IPには、Request/Response、Fire/Forget、Events、Get/Set/Notifierの4種類の通信方法が規定されており、これらを組み合わせることで、サービス指向通信が実現される。SOME/IPでは、通信相手とセッションを確立する方法が準備されており、この方法は、Service Discovery(SD)と呼ばれる。
 図8は、本実施の形態におけるSOME/IP SDのメッセージのフォーマットの一例を示す図である。メッセージフォーマットは、イーサネットのペイロード部に格納される。
 図8において、メッセージフォーマットは、SOME/IPヘッダと、SOME/IP SDで構成されており、一つの行は32ビット長である。
 SOME/IPヘッダは、Message ID、Length、Request ID、Protocol Version、Interface Version、Message Type、及び、Return Codeを含む。
 Message IDは、0xFFFF8100である。
 Lengthには、Lengthフィールドより後のデータのバイト数が格納されている。
 Request IDは、Client IDとSession IDとを合わせた数値が格納されている。
 Protocol Versionは0x01であり、Interface Versionは0x01であり、Message Typeは0x02であり、Return Codeは0x00である。
 SOME/IP SDは、Flags、Reserved、Length of Entries Array in Bytes、Entries Array、Length of Options Array in Bytes、及び、Options Arrayを含む。Length of Entries Array in Bytesには、Entry Arrayのバイト数が格納される。Length of Options Array in Bytesには、Options Arrayのバイト数が格納される。
 図9は、本実地の形態における、SOME/IP SDのメッセージの一例を示す図である。
 Entry Arrayは、Index 1st Options、Index 2nd options、#of op1、#of op2、Service ID、Instance ID、Major Version、及び、TTL、Minor Versionを含む。
 Options Arrayは、Length、Type、Reserved、IPv4アドレス、Reserved、L4-Proto、及び、Port番号を含む。
 図9においてSOME/IP SDは、Service IDが0x1000番であり、Service IDが0x1000番のサービスを提供可能であることを示すメッセージである。
 Flagsには0x80が設定されており、0x80は、Reboot Flagを示している。Reserved領域は0に設定されている。
 Length of Entries Array in Bytesには16バイトが設定されている。
 Typeには0x00または0x01が設定可能で、0x00は、Findを意味し、0x01は、Offerを意味する。Findは、サービスの提供を受けるクライアントECUが、必要なサービスの提供を要求するときに用いられ、Offerは、サービスの提供を行うサーバECUが、自身の提供可能なサービスを通知する場合に用いられる。図9では、Typeには0x01が設定されている。
 Index 1st optionsは、1つ目のオプションの位置を示し、図9では0が設定されており、つまりオプション領域の最初であることが示されている。
 Index 2nd optionsは、2つ目のオプションの位置を示し、図9では0が設定されている。
 #of opt1はオプション1の個数を示すフィールドであり、図9では1が設定されている。
 #of opt2はオプション2の個数を示すフィールドであり、図9では0が設定されており、オプション2を用いないことが示されている。
 Service IDは、サービスの種類を示すIDを示すフィールドであり、図9では0x1000が設定されている。
 Instance IDは、サービスのインスタンスを示すIDであり、図9では0x0001のインスタンスであることが示されている。
 Major Versionは、サービスのバージョン管理に用いられ、図9では0x01に設定されている。
 TTLは、サービスの有効期限(秒)を設定するフィールドであり、図9では0xFFFFが設定されている。0xFFFFは、ECUの次の起動タイミングまでサービスが有効であることを意味する。
 Minor Versionは、サービスのバージョン管理に用いられ、図9では0x00000002が設定されている。
 次にOptionの領域では、まずLength of Options Array in ByteにOption領域の長さが設定され、図9では12バイトが設定されている。
 Lengthは、オプションの種類に応じて設定される値が決まる。図9では、IPv4を用いた通信例が示されており、Lengthは9、Typeは0x04、Reservedは0x00が設定されている。
 IPv4アドレスは、サーバのIPアドレスであり、図9では、192.168.0.1が設定されている。
 Reserved領域は0が設定される。L4-Protoには0x11が設定されており、0x11はUser Datagram Protocol(UDP)を用いることが示されている。
 最後にポート番号が設定されており、図9では、35000番のポートであることが示されている。
 9. 通信ログ記憶部に格納される通信ログの一例
 図10は、通信ログ記憶部に格納される通信ログの一例を示す図である。図10において通信ログは、タイムスタンプ、送信元IPアドレス、宛先IPアドレス、送信元ポート、宛先ポート、トランスポートプロトコル、サービスID、メソッドID、メッセージタイプ、及び、メッセージサイズを含む。図10の各行は、通信ログ生成部403が通信部401から転送されたSOME/IPメッセージの一つを表す。
 通信ログに含まれるタイムスタンプは、通信ログ生成部403が通信ログ生成時に取得した時刻である。通信ログに含まれるタイムスタンプ以外の情報は、通信ログ生成部403が受信したEthernetフレームから抽出した情報の一部である。
 送信元IPアドレスはEthernetフレームに含まれる送信元IPアドレスのフィールドから抽出される。宛先IPアドレスはEthernetフレームに含まれる宛先IPアドレスのフィールドから抽出される。送信元ポートはEthernetフレームに含まれる送信元ポートから抽出される。宛先ポートはEthernetフレームに含まれる宛先ポートから抽出される。トランスポートプロトコルはEthernetフレームに含まれるプロトコルから抽出される。サービスIDはEthernetフレームに含まれるSOME/IPメッセージフォーマットのServiceIDから抽出される。メリットIDはEthernetフレームに含まれるSOME/IPメッセージフォーマットのMethodIDから抽出される。メッセージタイプはEthernetフレームに含まれるSOME/IPメッセージフォーマットのMessage Typeから抽出される。メッセージサイズはEthernetフレームに含まれるSOME/IPメッセージフォーマットのLengthから抽出される。
 10. ECU属性記憶部に格納されるECU属性情報の一例
 図11は、ECU属性記憶部に格納されるECU属性情報の一例を示す図である。図11においてECU属性情報は、IPアドレス、ECU属性、属性設定フラグ、フラグOFFの設定日時、及び、フラグONの設定日時を含む。さらに、ECU属性は、ECUの役割属性と、ECUのドメイン属性との2つの項目を含む。ECUの役割属性は、センサ、ブレイン、及び、アクチュエータの3つの属性を有し、ECUのドメイン属性は、コネクティビティ、パワートレーン、ADAS、ボディ、及び、インフォテイメントの5つの属性を有する。
 IPアドレスは、異常検知部402が受信したフレームに含まれる送信元IPアドレスである。異常検知部402は、ECU属性記憶部406に記録されていないIPアドレスを含むフレーム受信した場合、ECU属性情報に新たなIPアドレスの行を追加する。その際、追加した行には、初期値として、ECUの属性及びフラグOFFの設定日時には全て0を、属性設定フラグにはONを、フラグONの設定日時には受信したフレームに含まれるタイムスタンプを記録する。
 ECU属性は、ECU属性設定部405により設定される。ECU属性設定部405によるECU属性の設定方法は後述する。ECU属性は、異常検知部402が異常検知する際に、ECUがどのような属性をもつのか参照するために用いられる。
 属性設定フラグは、ECU属性設定部405が、ECU属性の再設定を行うか否かを判定するために用いられるフラグである。属性設定フラグがONであることは、次の機会でECU属性設定部405がECU属性の再設定を実行することを示し、属性設定フラグがOFFであることは、次の機会でECU属性設定部405がECU属性の再設定を実行しないことを示す。
 ECU属性設定部405は、ECU属性の設定処理を完了したタイミングで、属性設定フラグをOFFに設定する。ECU属性設定部405は、フラグOFFの設定日時から所定時間の経過を検知した場合、属性設定フラグをONに設定する。または異常検知部402がECUの通信傾向に変化が生じる情報が含まれるフレームを検知した場合、ECU属性設定部405は、属性設定フラグをONに設定する。
 フラグOFFの設定日時は、ECU属性設定部405より属性設定フラグがOFFに設定された時間が、UNIX(登録商標)時間で設定される。フラグOFFの設定日時には、既に値が記録されている場合、UNIX時間が大きい値が設定される。この値は、ECU属性設定部405より特定のタイミングで参照されて、記録されたUNIX時間から所定時間以上経過しているか否かを判定するために用いられる。
 フラグONの設定日時は、ECU属性設定部405より属性設定フラグがONに設定された時間が、UNIX時間で設定される。フラグONの設定日時には、既に値が記録されている場合、UNIX時間が大きい値が設定される。この値は、ECU属性設定部405よりECUの属性設定を行うタイミングで参照されて、通信ログ記憶部404から属性設定に必要な通信ログを取得するために用いられる。
 11. ECU属性による異常検知ルール
 図12は、異常検知ルール記憶部に格納される、ECU属性を用いた異常検知ルールの一例を示す図である。図12において、異常検知ルールは、対象フレームの通信が正常であるか異常であるかの判定に用いられる。異常検知ルールは、送信元ECUのECU属性と、宛先ECUのECU属性との組み合わせがOKかNGかを示している。異常検知ルールは、OKが示される送信元ECUと宛先ECUとの組み合わせの通信は正常であることを示し、NGが示される送信元ECUと宛先ECUの組み合わせの通信は異常であることを示す。異常検知ルールにおいて、OKの組み合わせの通信が発生していれば当該通信は正常であると判定され、NGの組み合わせの通信が発生していれば当該通信は異常であると判定される。
 図12において、例えば、送信元ECUのドメイン属性がコネクティビティで、宛先ECUのドメイン属性がコネクティビティである場合、対象のフレームが正常と判断されるのは、送信元ECUの役割属性がセンサで宛先ECUの役割属性がブレインの組み合わせ、送信元ECUの役割属性がブレインで宛先ECUの役割属性がセンサ、ブレイン、及び、アクチュエータの組み合わせ、並びに、送信元ECUの役割属性がアクチュエータで宛先ECUの役割属性がブレインの組み合わせである。
 さらに図12おいて、宛先ECUのドメイン属性がボディで役割属性がアクチュエータである場合、対象のフレームが正常と判断されるのは、送信元ECUのドメイン属性がADASで役割属性がブレイン、送信元ECUのドメイン属性がボディで役割属性がブレインの組み合わせである。なぜなら、電気錠の開閉やエアバッグの開閉などドメイン属性がボディで役割属性がアクチュエータのECUが制御命令を受信する場合は、車の鍵の操作を検知して電気錠を制御するECUが制御命令を送信する場合と、自動運転を制御するECUが操縦者の危険を検知してエアバッグを開く制御命令を送信する場合とがあるためである。
 さらに図12において、送信元ECUのドメイン属性がコネクティビティで、宛先ECUのドメイン属性がパワートレーンの組み合わせとなるフレームは、異常な通信と定義される。なぜなら、外部との通信情報を扱うコネクティビティECUが、車両走行の制御情報を扱うパワートレーンECUと通信を行うことは、車両が遠隔操作される恐れがあるためである。
 12. ECUの属性変更に関するシーケンス
 図13は、本実施の形態における、ECUの属性変更のシーケンスの一例を示す図である。図13において、車両10のユーザがユーザインタフェースECU300のタッチパネルを操作して、セントラルECU200のゲストOS部203に搭載されたADASに関するアプリケーションをアンインストールし、さらにインフォテイメントに関するアプリケーションをインストールする場合、異常検知ECU400が車載ネットワークの変化を検知して、異常検知に用いるECU属性情報を再設定する。
 (S101)ユーザインタフェースECU300は、ユーザからの操作を受け付けて、セントラルECU200のゲストOS部203にインストールされていたADASに関するアプリケーションをアンインストールし、インフォテイメントに関するアプリケーションをインストールするように要求する。
 (S102)セントラルECU200は、ゲストOS部203のADASに関するアプリケーション(ADASアプリ)のアンインストールを実行する。
 (S103)セントラルECU200は、OTAサーバ30に対して、インフォテイメントに関するアプリケーション(インフォティメントアプリ)のインストーラをゲストOS部203へ送信するように要求する。
 (S104)OTAサーバ30は、セントラルECU200のゲストOS部203に、インストーラを含むフレームを送信する。
 (S105)セントラルECU200は、ステップS104で受信したフレームを、異常検知ECU400に転送する。
 (S106)異常検知ECU400の異常検知部402は、転送されたフレームに格納されているセントラルECUのIPアドレスを抽出する。さらに、異常検知部402は、ECU属性記憶部406に格納されているIPアドレスを参照して、抽出したIPアドレスが含まれている場合は、そのIPアドレスに対応する属性設定フラグをONに設定する。
 (S107)セントラルECU200は、受信したインストーラを用いてインフォテイメントのアプリケーションのインストールを実行する。
 13. 異常検知ECU400のフレーム受信時の動作に関するフローチャート
 図14は、本実施の形態における、異常検知ECU400のフレーム受信時の動作に関するフローチャートの一例を示す図である。
 (S201)通信部401は、セントラルECU200から転送されたフレームを受信する。
 (S202)ECU属性設定部405は、ステップS201で受信したフレームに格納される送信元IPアドレス及び宛先IPアドレスが、ECU属性記憶部406に格納されているか否か判定する。送信元IPアドレス及び宛先IPアドレスの少なくとも一方が、ECU属性記憶部406に格納されていない場合(S202でNo)、ECU属性設定部405は、ステップS203の処理を実行する。送信元IPアドレス及び宛先IPアドレスの両方が、ECU属性記憶部406に格納されている場合(S202でYes)、ECU属性設定部405は、ステップS204の処理を実行する。
 (S203)ECU属性設定部405は、受信したフレームの送信元IPアドレス及び宛先IPアドレスのうちECU属性記憶部406に格納されていないIPアドレスを、ECU属性記憶部406に新たに記憶して、属性設定フラグをONにする。さらに、ECU属性設定部405は、日時をUNIX時間で取得し、属性設定フラグがONになった時間として、取得したUNIX時間をECU属性記憶部406に格納する。
 (S204)ECU属性設定部405は、受信したフレームの送信元IPアドレスが、特定のIPアドレスか否かを判定する。受信したフレームの送信元IPアドレスが、特定のIPアドレスである場合(S204でYes)、ECU属性設定部405は、ステップS205の処理を実行し、受信したフレームの送信元IPアドレスが、特定のIPアドレスでない場合(S204でNo)、ECU属性設定部405は、ステップS206の処理を実行する。特定のIPアドレスから送信されるフレームは、車載ネットワークの通信傾向に変化が生じる情報が含まれるフレームであり、具体的には、ゲストOS部203へアプリケーションをダウンロードする際に発生するフレームや、アップデートファイルをECUへ送信する際に発生するフレームである。
 (S205)ECU属性設定部405は、受信したフレームの宛先IPアドレスについて、ECU属性記憶部406の該当するIPアドレスの属性設定フラグをONにする。さらにECU属性設定部405は、日時をUNIX時間で取得し、属性設定フラグがONになった時間として、取得したUNIX時間をECU属性記憶部406に格納する。
 (S206)異常検知部402は、受信したフレームが、異常であるか否かを、ECU属性を用いて判定する。ECU属性を用いた異常検知処理の詳細は後述する。
 (S207)異常検知部402は、受信したフレームを、通信ログ記憶部404に格納する。
 14. ECU属性設定処理のフローチャート
 図15は、本実施の形態における、ECUの属性設定に関するフローチャートの一例である。ECU属性設定部405により、ECUのIPアドレスごとに属性を設定する。ECUの属性設定処理は、車両システムのシャットダウン時や、操縦を行っていない夜間における任意のタイミング等の特定のタイミングで行い、異常検知処理で用いるECU属性情報を更新することで、車載ネットワークの通信傾向の変化に伴い発生した正常通信と、攻撃者による異常通信と、を区別可能にする。
 (S301)ECU属性設定部405は、処理開始時に開始日時をUNIX時間で取得する。ECU属性設定部405は、ECU属性記憶部406に格納されている各IPアドレスのうち、属性設定フラグがOFFに設定されているIPアドレスに対して、フラグOFFの設定日時を参照し、記録されているUNIX時間と、開始日時との差を算出する。算出した差が所定の時間以上である場合(つまり、所定の時間以上経過している場合)は、ECU属性設定部405は、対象のIPアドレスの属性設定フラグをONに設定して、日時をUNIX時間で取得し、フラグONの設定日時に取得した日時をECU属性記憶部406に格納する。
 (S302)ECU属性設定部405は、ECU属性記憶部406に格納されているIPアドレスのうち、属性設定フラグがONになっているIPアドレスが存在するか否かを判定する。属性設定フラグがONになっているIPアドレスが存在する場合(S302でYes)、ECU属性設定部405は、ステップS303を実行する。属性設定フラグがONになっているIPアドレスが存在しない場合(S302でNo)、ECU属性設定部405は、ECU属性設定処理を終了する。
 (S303)ECU属性設定部405は、ECU属性記憶部406の属性設定フラグがONになっているIPアドレスのECU属性情報を取得する。
 (S304)ECU属性設定部405は、取得したIPアドレスのECU属性情報から、順にIPアドレスを1つ選択する。
 (S305)ECU属性設定部405は、選択したIPアドレスのフラグONの設定日時を取得する。
 (S306)ECU属性設定部405は、選択したIPアドレスに関して、通信ログ記憶部404から通信ログの集合を取得する。通信ログの集合は、通信ログ記憶部404に記憶される通信ログのうちで、選択したIPアドレスが送信元IPアドレスまたは宛先IPアドレスに含まれている通信ログであり、かつ、タイムスタンプが選択したIPアドレスのフラグONの設定日時より後に記録された通信ログの集合である。
 (S307)ECU属性設定部405は、取得した通信ログの集合が、所定数以上の通信ログを含むか否かを判定する。取得した通信ログの集合が、所定数以上の通信ログを含む場合(S307でYes)、ECU属性設定部405は、ステップS308の処理を実行する。取得した通信ログの集合が、所定数以上の通信ログを含まない場合(S307でNo)、ECU属性設定部405は、ステップS311の処理を実行する。
 (S308)ECU属性設定部405は、選択したIPアドレスと、取得した通信ログの集合と用いて、ECUの役割属性を設定する。詳細は後述する。
 (S309)ECU属性設定部405は、選択したIPアドレスと、取得した通信ログの集合と用いて、ECUのドメイン属性を設定する。詳細は後述説明する。
 (S310)ECU属性設定部405は、選択したIPアドレスに関して、ECU属性記憶部406の属性設定フラグをOFFにする。ECU属性設定部405は、日時をUNIX時間で取得し、取得した日時を属性設定フラグがOFFになった時間としてフラグOFFの設定日時に格納する。
 (S311)ECU属性設定部405は、対象のECU属性情報を全て選択したか否かを判定する。対象のECU属性情報を全て選択した場合(S311でYes)、ECU属性設定部405は、処理を終了する。対象のECU属性情報をすべて選択していない場合(S311でNo)、ECU属性設定部405は、ステップS304の処理を実行する。
 15. ECUの役割属性設定のフローチャート
 図16は、本実施の形態におけるECU属性設定部405のECUの役割属性設定に関するフローチャートの一例である。
 (S401)ECU属性設定部405は、取得した通信ログの集合に対して、選択したIPアドレスが送信元IPアドレスに含まれるのか、宛先IPアドレスに含まれるのか、メッセージタイプは何か、を確認する。ECU属性設定部405は、メッセージタイプがNothficationの場合は、送信元IPアドレスがサーバ側、宛先IPアドレスがクライアント側と判定し、メッセージタイプがRequestの場合、送信元IPアドレスがクライアント側、宛先IPアドレスがサーバ側と判定し、メッセージタイプがResponseであれば、送信元IPアドレスがサーバ側、宛先IPアドレスがクライアント側と判定する。
 そして、ECU属性設定部405は、取得した通信ログの集合において、選択したIPアドレスのサーバ側としての通信ログとクライアント側としての通信ログとの比率を計算し、さらに、選択したIPアドレスに関して、メッセージタイプがRequestのメッセージを受信した回数と、メッセージタイプがResponseのメッセージを送信した回数をカウントする。
 (S402)ECU属性設定部405は、取得した通信ログの集合においてサーバ側としての通信ログが9割以上か否かを判定する。サーバ側としての通信ログが9割以上である場合(S402でYes)、ECU属性設定部405は、ステップS403の処理を実行する。サーバ側としての通信ログが9割以上でない場合(S402でNo)、ECU属性設定部405は、ステップS405の処理を実行する。
 (S403)ECU属性設定部405は、取得した通信ログの集合において、選択したIPアドレスに関して、Requestのメッセージを受信した回数と、Responseのメッセージを送信した回数とが一致するか否かを判定する。Requestのメッセージを受信した回数と、Responseのメッセージを送信した回数とが一致する場合(S403でYes)、ECU属性設定部405は、ステップS404の処理を実行する。Requestのメッセージを受信した回数と、Responseのメッセージを送信した回数とが一致しない場合(S403でNo)、ECU属性設定部405は、ステップS406処理を実行する。
 (S404)ECU属性設定部405は、選択したIPアドレスのECUはセンサの役割をもつと判断し、ECU属性記憶部406の選択したIPアドレスのECU役割属性のセンサに1を設定する。
 (S405)ECU属性設定部405は、取得した通信ログの集合においてクライアント側としての通信が7割以上であるか否かを判定する。クライアント側としての通信が7割以上である場合(S405でYes)、ECU属性設定部405は、ステップS407の処理を実行する。クライアント側としての通信が7割以上でない場合(S405でNo)、ECU属性設定部405は、ステップS406の処理を実行する。
 (S406)ECU属性設定部405は、選択したIPアドレスのECUはアクチュエータの役割をもつと判断し、ECU属性記憶部406の選択したIPアドレスのECU役割属性のアクチュエータに1を設定する。
 (S407)ECU属性設定部405は、選択したIPアドレスのECUはブレインの役割をもつと判断し、ECU属性記憶部406の選択したIPアドレスのECU役割属性のブレインに1を設定する。
 なお、ステップS402の処理において、取得した通信ログの集合においてサーバ側としての通信ログが9割以上か否かを判定し、ステップS405の処理において、取得した通信ログの集合においてクライアント側としての通信が7割以上か否かを判定したが、ステップS402及びステップS405において閾値として用いられる割合はそれぞれ9割及び7割に限定されない。これらの閾値としての割合は、車種の通信傾向に応じて、適切に調整されてもよい。
 16. ECUのドメイン属性設定のフローチャート
 図17は、本実施の形態におけるECU属性設定部のECUのドメイン属性設定に関するフローチャートの一例である。
 (S501)ECU属性設定部405は、取得した通信ログの集合に対して、選択したIPアドレスの通信先のIPアドレスのドメイン属性をECU属性記憶部406から取得し、ドメイン属性ごとに、具体的には、コネクティビティ、パワートレーン、ADAS、ボディ、及び、インフォテイメントの5つのドメイン属性ごとの出現回数をカウントし、最も出現回数の多いドメイン属性を抽出する。
 (S502)ECU属性設定部405は、取得した通信ログの集合のうち、選択したIPアドレスの通信先のIPアドレスの属性設定フラグがONになっている通信ログを、取得した通信ログ集合から除外し、ステップS501と同様に、ドメイン属性ごとの出現回数をカウントし、最も出現回数の多いドメイン属性を抽出する。なお、選択したIPアドレスの通信先のIPアドレスとは、選択したIPアドレスのECUが送信元のIPアドレスの場合、当該送信元のIPアドレスと対になる宛先のIPアドレスであり、選択したIPアドレスのECUが宛先のIPアドレスの場合、当該宛先のIPアドレスと対になる送信元のIPアドレスである。
 (S503)ECU属性設定部405は、ステップS501で抽出したドメイン属性と、ステップS502で抽出したドメイン属性が同じであるか否かを判定する。一致する場合(S503でYes)、ECU属性設定部405は、ステップS504を実行する。一致しない場合(S503でNo)、ECU属性設定部405は、ステップS505を実行する。
 (S504)ECU属性設定部405は、ステップS501で抽出したドメイン属性を、選択したIPアドレスのドメイン属性とし、ECU属性記憶部406に対して、選択したIPアドレスのECUドメイン属性のうち、ステップS501で抽出したドメイン属性を1に設定する。
 (S505)ECU属性設定部405は、ECU属性記憶部406を参照して、選択したIPアドレスのドメイン属性を取得する。
 (S506)ECU属性設定部405は、ステップS501で抽出したドメイン属性と、ステップS505で取得したドメイン属性が同じであるか否かを判定する。ステップS501で抽出したドメイン属性と、ステップS505で取得したドメイン属性が同じである場合(S506でYes)、ECU属性設定部405は、ステップS504を実行する。ステップS501で抽出したドメイン属性と、ステップS505で取得したドメイン属性が同じでない場合(S506でNo)、ECU属性設定部405は、ステップS507を実行する。
 (S507)ECU属性設定部405は、ステップS502で抽出したドメイン属性を、選択したIPアドレスのドメイン属性とし、ECU属性記憶部406に対して、選択したIPアドレスのECUドメイン属性のうち、ステップS502で抽出したドメイン属性を1に設定する。
 17. ECU属性を用いた異常検知のシーケンス
 図18は、本実施の形態における異常検知ECUによるECU属性を用いた異常検知に関するシーケンスの一例を示す。攻撃者はカメラECU600eの脆弱性から操作権限を奪取しているものとする。
 (S601)車速検知ECU600bは、車両の速度情報を電気錠制御ECU600cに向けて、SOME/IPメッセージのフレームを送信する。フレームは、ゾーンECU500aを経由して、セントラルECU200に送信される。
 (S602)セントラルECU200は、車速検知ECU600bから受信したフレーム(通信フレーム)を、異常検知ECU400へ転送する。
 (S603)異常検知ECU400は、セントラルECU200から転送されたフレーム(通信フレーム)が、サービス指向通信プロトコルに従うことを確認し、フレームが異常であるか否かをECU属性を用いて判定することで異常検知を行う。異常検知ECU400による異常検知処理の詳細は後述する。
 (S604)異常検知ECU400は、異常検知を行った結果、フレームは正常であると判断する。
 (S605)カメラECU600eは、電気錠開閉ECU600dに、電気錠の解錠を要求するSOME/IPメッセージのフレームを送信する。
 (S606)セントラルECU200は、カメラECU600eから取得したフレーム(通信フレーム)を異常検知ECU400に転送する。
 (S607)異常検知ECU400は、異常検知を行った結果、フレームは異常であると判断し、ユーザインタフェースECU300に、アラートを通知するフレームを送信する。
 (S608)ユーザインタフェースECU300は、アラートを通知するフレームを受信すると、モニタ等の外部機器を通して操縦者にアラートを通知(表示)する。
 18. ECU属性を用いた異常検知のフローチャート
 図19は、本実施の形態における異常検知部402による、SOME/IP通信のフレームが異常な通信を行っていないか、ECU属性を用いる異常検知処理に関わるフローチャートの一例である。
 (S701)異常検知部402は、受信したSOME/IPメッセージのフレームに含まれる送信元IPアドレス及び宛先IPアドレスを取得し、ECU属性記憶部406を参照して送信元IPアドレス及び宛先IPアドレスのECU属性をそれぞれ取得する。
 (S702)異常検知部402は、異常検知ルール記憶部407に格納される異常検知ルールを用いて、取得した送信元IPアドレスのECU属性と宛先IPアドレスのECU属性との組み合わせが正しいか否かを判定する。
 具体的には、例えば、図18で説明した、車速検知ECU600bから電気錠制御ECU600cへの通信の場合、図11のECU属性記憶部406に格納されているECU属性情報を参照すると、送信元IPアドレスを有する車速検知ECU600bはECUの役割属性がセンサでECUのドメイン属性がパワートレーンであり、宛先IPアドレスを有する電気錠制御ECU600cはECUの役割属性がブレインでECUのドメイン属性がボディであることがわかる。これらのECUの属性の組み合わせは、図12の異常検知ルール記憶部407に格納されている異常検知ルールにおいてOKと定義されている。従って、異常検知部402は、車速検知ECU600bから電気錠制御ECU600cへ通信されるフレームが正常なフレームであると判断する。
 さらに、図18で説明した、カメラECU600eから電気錠開閉ECU600dへの通信の場合、図11のECU属性記憶部406に格納されているECU属性情報を参照すると、送信元IPアドレスを有するカメラECU600eはECUの役割属性がセンサでECUの役割属性がADASで、宛先IPアドレスを有する電気錠開閉ECU600dはECUの役割属性がアクチュエータでECUの役割属性がボディであることがわかる。これらのECUの属性の組み合わせは、図12の異常検知ルール記憶部407に格納されている異常検知ルールにおいてNGと定義されている。従って、異常検知部402は、カメラECU600eから電気錠開閉ECU600dへ通信されるフレームが異常なフレームであると判断する。
 異常検知部402は、取得した送信元IPアドレスのECU属性と宛先IPアドレスのECU属性との組み合わせが正しいと判定した場合(S702でYes)、ステップS703の処理を実行する。異常検知部402は、取得した送信元IPアドレスのECU属性と宛先IPアドレスのECU属性との組み合わせが正しくない(異常である)と判定した場合(S702でNo)、ステップS704の処理を実行する。
 (S703)異常検知部402は、受信したフレームは正常であると判断する。
 (S704)異常検知部402は、受信したフレームは異常であると判断し、ユーザインタフェースECU300に対してアラートを表示するようにフレームを送信する。
 また、フレームが異常な通信であると判定された際に、送信元IPアドレスと宛先IPアドレスとに関して、ECU属性記憶部406の属性設定フラグがONに設定されている場合は、ECU属性の再設定を行う前の異常検知で正常な通信を異常な通信と誤検知した可能性がある。このため、ステップS704で、異常検知部402は、属性設定フラグがONになっているか否かを示す情報を出力してもよい。
 (実施の形態1の効果)
 実施の形態1で示した車載ネットワークシステムでは、異常検知ECU400が各ECUそれぞれに対してどのような機能をもつのか、どのような情報を扱うのかを、ECU属性としてラベル付けを行い、さらに、どのECU属性間の通信が異常であるのか定義しておくことで、異常通信を検知する。これにより、どのECU間の通信であっても、送信元IPアドレスのECUと宛先IPアドレスのECUの属性が分かっているならば、正常な通信と異常な通信の判別可能になり、セキュリティが高まる。
 また、操縦者によって車両システムの設定を変更する、またはOTAによるECUのシステム更新が発生する、など車載ネットワークの通信傾向の変化を異常検知ECU400が検知して、ECU属性のラベル付けを特定のタイミングで行う。これにより、OTAや車両のシステム変更に伴って普段と違う通信内容が発生した場合と、攻撃者によって普段と違う通信内容が発生した場合と、を区別しながら異常通信を検知可能となり、車両の安全性を向上させる。
 以上のように本実施の形態に係る異常検知ECU400(異常検知装置)は、2以上のECUと、1以上のネットワークと、によって構成される車載ネットワークシステムにおける異常を検知する異常検知装置である。異常検知ECU400は、ECU属性記憶部406と、通信部401と、異常検知部402とを有する。ECU属性記憶部406は、2以上のECUそれぞれに設定されたECUが有する属性を記憶している。通信部401は、1以上のネットワーク上のメッセージを送受信する。異常検知部402は、ECU属性記憶部406に記憶されている属性のうち、メッセージの送信元(送信元IPアドレス)または宛先(宛先IPアドレス)のECUが有する属性を用いて、異常な通信を検知する。ECU属性記憶部406に記憶されている属性は、当該属性を有するECUの機能、または、当該属性を有するECUが扱う情報の種類を示す。
 これにより、ECU間でメッセージの授受が発生した際に、ECUそれぞれの機能とECUが扱う情報の種類とを示す属性を参照することで、異常なメッセージの授受が発生しているのか判定することが可能となり、車両10の安全性を向上できる。
 本実施の形態に係る異常検知ECU400において、ECU属性記憶部406に記憶されている属性は、車載ネットワークシステムにおいて動作するECUの機能を示す。属性は、センサ属性と、ブレイン属性と、アクチュエータ属性とのいずれか1つを含む。センサ属性は、ECUが車内外の情報をセンシングする機能を備えることを示す。ブレイン属性は、ECUがセンシングされた情報を処理し制御指示を行う機能を備えることを示す。アクチュエータ属性は、ECUが制御指示に従い制御を行う機能を備えることを示す。
 これにより、ECU間の機能の関係性から異常な通信か否かの判定が可能になり、車両の安全性を向上できる。
 本実施の形態に係る異常検知ECU400において、ECU属性記憶部に記憶されている属性は、車載ネットワークシステムにおいてECUが扱う情報の種類を示す。属性は、パワートレーン属性と、インフォテイメント属性と、ボディ属性と、ADAS属性と、コネクティビティ属性とのいずれか1つを含む。パワートレーン属性は、車両の走行に関する制御情報を扱うことを示す。インフォテイメント属性は、操縦者への車両の状態通知に関する情報を扱うことを示す。ボディ属性は、車両のボディ系の制御情報を扱うことを示す。ADAS属性は、操縦者の車両操作を支援または代替する先進運転支援機能に関する情報を扱うことを示す。コネクティビティ属性は、1以上のネットワーク外から取得した情報を扱うことを示す。
 これにより、ECU間の扱う情報の種類の関係性から異常な通信か否かの判定が可能になり、車両の安全性を向上できる。
 本実施の形態に係る異常検知ECU400において、異常検知部402は、フレーム(メッセージ)の送信元のECUの属性と、フレームの宛先のECUの属性と、の組み合せに基づいて、通信部401が受信したメッセージが異常か否かを判定する。
 これにより、フレームの送信元及び宛先のECU間の属性の組合せに基づいて、異常な通信か否かの判定が可能になり、車両10の安全性を向上できる。
 本実施の形態に係る異常検知ECU400において、異常検知部402は、フレーム(メッセージ)の送信元のECUの属性またはフレームの宛先のECUの属性と、通信部から受信したフレームに含まれる情報と、の関係性に基づいて、通信部401が受信したフレームが異常か否かを判定する。
 これにより、改ざんしたメッセージを送信する攻撃であっても、異常な通信か判定が可能になり、車両の安全性を向上できる。
 本実施の形態に係る異常検知ECU400において、車載ネットワークシステムは、サービス指向型通信によりメッセージの授受を行う。通信部401から受信したメッセージに含まれる情報は、SOME/IP通信のメッセージフォーマットに格納される情報である。
 これにより、SOME/IP通信にメッセージフォーマットに格納される情報とECUの属性との関係性から異常な通信を判定することが可能となり、車両の安全性を向上できる。
 本実施の形態に係る異常検知ECU400は、さらに、通信ログ記憶部404を備える。通信ログ記憶部404は、通信部401が受信したフレーム(メッセージ)を記憶する。異常検知部402は、通信ログ記憶部404に記憶されているフレーム(メッセージ)とECU属性記憶部406とを参照して、フレーム(メッセージ)の授受が発生している送信元及び宛先のECUの属性の組み合わせを示す関係性を特定する。異常検知部402は、新たに受信したフレーム(メッセージ)について、関係性においてフレーム(メッセージ)の授受が発生している組み合わせの属性を有するECU間のメッセージを正常と判定し、関係性においてフレーム(メッセージ)の授受が発生していない組み合わせの属性を有するECU間のメッセージを異常と判定する。
 これにより、ECUの属性を用いた異常な通信の定義を、通信ログから機械的に生成することが可能となり、異常な通信の定義を自動更新することが可能となる。
 本実施の形態に係る異常検知ECU400において、車載ネットワークシステムは、サービス指向型通信によりメッセージの授受を行う。異常検知ECU400は、さらに、通信ログ記憶部404と、ECU属性設定部405とを備える。通信ログ記憶部404は、通信部401が受信したフレーム(メッセージ)を記憶する。ECU属性設定部405は、ECU属性記憶部406に格納されるECUの属性を設定する。ECU属性設定部405は、通信ログ記憶部404に記憶されているフレーム(メッセージ)を参照して、フレーム(メッセージ)に含まれるメッセージタイプから、ECUがサーバ側かクライアント側かを判定し、サーバ通信とクライアント通信との割合によって、当該ECUの属性の決定を行う。
 これにより、ECUの属性を、通信ログから定義することが可能となり、ECUの属性を自動更新することが可能となる。
 本実施の形態に係る異常検知ECU400は、さらに、通信ログ記憶部404と、ECU属性設定部405と、を備える。通信ログ記憶部404は、通信部401が受信したフレーム(メッセージ)を記憶する。ECU属性設定部405は、通信ログ記憶部404に記憶されているフレーム(メッセージ)を参照して、ECU属性記憶部406に記憶されているECUの属性を設定する。ECU属性設定部406は、通信ログ記憶部404に記憶されているフレーム(メッセージ)とECU属性記憶部406とを参照して、第一のECUが通信するECUの属性の出現頻度に応じて、第一のECUの属性の決定を行う。
 これにより、ECUの属性を、通信ログから定義することが可能となり、ECUの属性を自動更新することが可能となる。
 本実施の形態に係る異常検知ECU400において、ECU属性設定部405は、ECUの属性を決定してから所定時間経過している、または、1以上のネットワークの通信傾向に変化が生じるフレーム(メッセージ)を通信部401が受信している、の条件を満たす場合は、ECUの属性の決定を行う。
 これにより、最新の車載ネットワークの状態に応じた異常検知が可能となり、時間経過に応じて誤検知が多くなる問題を防ぎ、車両の安全性を向上できる。
 本実施の形態に係る異常検知ECU400において、1以上のネットワークの通信傾向に変化が生じるフレーム(メッセージ)は、車載ネットワークとは異なる、ネットワークまたはサーバからデータを取得してインストールする際に発生するメッセージ、または、車載システムの機能設定の変更、削除、または、更新において発生するメッセージである。
 これにより、外部からデータを取得してインストールする、または車載システムの機能設定を変更する、といった車載ネットワークの変化を検知して、ECUの属性を再度設定することが可能となり、異常検知の誤検知を減らすことが可能となる。
 本実施の形態に係る異常検知ECU400において、異常検知部402は、通信ログ記憶部404に格納されるフレーム(メッセージ)から、第一のECUが通信するECUの属性の出現頻度を計算し、ECU属性記憶部406に格納される第一のECUの属性の出現頻度を参照して、一定の基準を超えて外れている場合は、第一のECUの通信は異常と判断する。
 これにより、車載ネットワーク全体のECUの属性の出現傾向を捉えて異常な通信を検知することが可能となり、特定のECUから通信量が急増するなどの異常を検知できる。
 (実施の形態1の変形例1)
 実施の形態1で示した車載ネットワークシステムにおける異常検知ECU400において、異常検知ルール記憶部407に、送信元IPアドレスのECU属性と宛先IPアドレスのECU属性との関係性から、異常検知ルールを予め定義しておく例を示したが、送信元IPアドレスのECU属性と通信フレームの特徴量との関係性から、異常検知ルールを予め定義してもよい。
 なお、本変形例では実施の形態1と同様の図面については説明を省略するため、異常検知ルール記憶部407に格納される異常検知ルールの一例と、その異常検知ルールを用いて、フレームをどのように異常と判定するかについてのみ説明する。
 19. 送信元ECUのECU属性と通信内容による異常検知
 図20は、異常検知ルール記憶部に格納される、送信元IPアドレスのECUのECU属性とサービス指向通信プロトコルに従うフレームを用いた異常検知ルールの一例を示す図である。
 同図に示すように、送信元IPアドレスのECUの役割属性とドメイン属性との組み合せに対して、フレームのメッセージサイズに関する最大値及び最小値が格納されている。例えば、ドメイン属性がコネクティビティであり、かつ役割属性がセンサであるECUは、メッセージサイズの最小値が500Byteで、最大値が600Byteのフレームを送信することが示されている。これらの値は、事前に車載ネットワークを調査して設定してもよいし、特定のタイミングで通信ログ記憶部404から所定時間分の通信ログを抽出し、メッセージサイズを参照して特定した最大値及び最小値の情報を格納してもよい。
 図21は、図18のステップS603に関する処理フローを、送信元IPアドレスのECUのECU属性とフレームのメッセージサイズから、異常を検知する処理フローに変更した一例を示す。
 (S801)異常検知部402は、受信したSOME/IP通信メッセージのフレームに含まれる送信元IPアドレスを取得し、ECU属性記憶部406を参照してECU属性を取得する。さらに、異常検知部402は、同フレームのSOME/IPメッセージフォーマットにおけるLengthを参照し、メッセージサイズを取得する。
 (S802)異常検知部402は、異常検知ルール記憶部407より、取得した送信元IPアドレスのECU属性に対応するメッセージサイズの最小値及び最大値を参照し、取得したメッセージのメッセージサイズが最小値及び最大値の間の値であるか否かを判定する。取得したメッセージのサイズが最小値及び最大値の間の値であれば(S802でYes)、異常検知部402は、ステップS803の処理を実施する。取得したメッセージのサイズが最小値と最大値の間の値でない場合(S802でNo)、異常検知部402は、ステップS804の処理を実施する。
 (S803)異常検知部402は、受信したフレームは正常であると判断する。
 (S804)異常検知部402は、受信したフレームは異常であると判断し、ユーザインタフェースECU300に対してアラートを表示するようにフレームを送信する。
 異常検知部402は、異常検知に、メッセージサイズの最大値及び最小値を利用する例を示したが、メッセージサイズの平均値や中央値からの差が閾値以上であれば異常と判断するなど、別の評価指標が用いられてもよい。
 また、異常検知ルールでは、フレームのメッセージサイズと送信元IPアドレスのECUのECU属性との関係性から異常が定義されるが、フレームのメッセージサイズと宛先IPアドレスのECUのECU属性との関係性から異常が定義されてもよいし、フレームのメッセージサイズと送信元IPアドレスのECUと宛先IPアドレスのECUのECU属性とから異常が定義されてもよい。
 また、異常検知ルールでは、フレームのメッセージサイズではなく、フレームに格納されているメッセージID、またはサービスID、またはメッセージタイプとECU属性の関係性から異常が定義されてもよい。例えば、送信元IPアドレスのECUのECU属性が、ボディかつアクチュエータである場合の送信されるフレームのメッセージIDを特定して異常検知ルールが定義されてもよく、異常検知部402は、定義されていないメッセージIDを含むフレームが送信された場合に当該フレームを異常と判断してもよい。
 (実施の形態1の変形例1の効果)
 実施の形態1の変形例1で示した車載ネットワークシステムにおける異常検知方法により、攻撃者がフレーム内の情報を改ざんして、異常なフレームを送信した場合に、異常検知ECU400は、異常なフレームを検知することが可能となり、セキュリティが高まる。
 (実施の形態1の変形例2)
 実施の形態1で示した車載ネットワークシステムにおける異常検知ECU400において、異常検知ルール記憶部407に、異常検知ルールを予め定義する例を示したが、異常検知ルール記憶部407を参照せずに、通信ログ記憶部404に格納されている過去の通信ログを参照して、異常の判断をしてもよい。なお、実施の形態1と同様の図面については説明を省略するため、構成が異なる異常検知のフローチャートの一例を示し、フレームの異常検知についてのみ説明する。
 20. 送信元IPアドレスのECU属性と通信ログによる異常検知
 図22は、図18のステップS603に関する処理フローについて、通信ログ記憶部404に格納されている通信ログを用いて、異常検知する処理フローに変更した一例を示す。
 (S901)異常検知部402は、受信したSOME/IPメッセージのフレームに含まれる送信元IPアドレス及び宛先IPアドレスを取得し、ECU属性記憶部406を参照して送信元IPアドレス及び宛先IPアドレスそれぞれのECU属性を取得する。
 (S902)異常検知部402は、ECU属性記憶部406を参照し、取得した送信元IPアドレスのECU属性と、同じECU属性をもつIPアドレス集合を取得する。
 (S903)異常検知部402は、通信ログ記憶部404に格納されている通信ログを所定時間分取得し、取得した送信元IPアドレスが送信元になっている通信ログについて、宛先IPアドレスのECU属性を参照し、宛先IPアドレスのECU属性の集合を取得する。
 (S904)異常検知部402は、取得した宛先IPアドレスのECU属性が、取得した宛先IPアドレスのECU属性の集合に含まれているか否かを判定する。取得した宛先IPアドレスのECU属性が、取得した宛先IPアドレスのECU属性の集合に含まれている場合(S904でYes)、異常検知部402は、ステップS905の処理を実行する。取得した宛先IPアドレスのECU属性が、取得した宛先IPアドレスのECU属性の集合に含まれていない場合(S904でNo)、異常検知部402は、ステップS906の処理を実行する。
 (S905)異常検知部402は、受信したフレームは正常であると判断する。
 (S906)異常検知部402は、受信したフレームは異常であると判断し、ユーザインタフェースECU300に対してアラートを表示するようにフレームを送信する。
 また、本変形例では、送信元IPアドレスのECU属性に焦点をあてて、宛先IPアドレスがどのようなECU属性を含むかを通信ログ記憶部404の過去の通信ログで確認したが、宛先IPアドレスのECU属性に焦点をあてて、送信元IPアドレスがどのようなECU属性を含むかを通信ログ記憶部404の過去の通信ログで確認してもよい。または、これらの両方の確認を組み合わせてもよい。
 (実施の形態1の変形例2の効果)
 実施の形態1の変形例2で示した車載ネットワークシステムにおける異常検知方法は、事前に異常検知ルールを定義する必要がなく、収集した過去の通信ログから車載ネットワークの通信傾向を捉えて異常検知を行うため、車両それぞれの通信傾向に応じた異常検知ルールを作成し、異常検知の精度を高めることができる。
 (実施の形態1の変形例3)
 実施の形態1で示した車載ネットワークシステムにおける異常検知ECU400は、図17で説明したように、IPアドレスのドメイン属性を1つ選択して、ECU属性記憶部406に格納する例を示したが、IPアドレスは複数のドメイン属性をもつとして、IPアドレスのドメイン属性の設定をしてもよい。なお、実施の形態1と同様の図面については説明を省略するため、ここでは構成が異なる、IPアドレスの属性追加に関するシーケンスと、IPアドレスのドメイン属性設定のフローチャートと、ECU属性記憶部406に格納されるECU属性情報の一例と、ECU属性を用いた異常検知のフローチャートと、を用いて、IPアドレスに新たな機能が追加されてECUが複数のドメイン属性をもつとき、フレームをどのように異常として判定するかについてのみ説明する。
 21. ECU属性追加に関するシーケンスの一例
 図23は、操縦者がユーザインタフェースECU300のタッチパネルを操作して、セントラルECU200のゲストOS部203に搭載されたADASに関するアプリケーションに対して、インフォテイメントに関するアプリケーションを追加でインストールする場合に、異常検知ECU400が車載ネットワークの変化を検知して、異常検知に用いるECU属性情報を再設定するシーケンスの一例を示す。
 (S1001)ユーザインタフェースECU300は、ユーザからの操作を受け付けて、セントラルECU200のゲストOS部203にインフォテイメントに関するアプリケーション(インフォティメントアプリ)を新たにインストールするように要求する。
 (S1002)セントラルECU200は、OTAサーバ30に対して、インフォテイメントに関するアプリケーション(インフォティメントアプリ)のインストーラをゲストOS部203へ送信するように要求する。
 (S1003)OTAサーバ30は、セントラルECU200のゲストOS部203に、インフォテイメントに関するアプリケーション(インフォティメントアプリ)のインストーラを送信する。
 (S1004)セントラルECU200は、受信したフレームを、異常検知ECU400に転送する。
 (S1005)異常検知ECU400の異常検知部402は、OTAサーバ30からゲストOS部203へのインストーラを送信するフレームを受信し、フレームに格納されている宛先IPアドレスを取得する。さらに異常検知部402は、ECU属性記憶部406に格納されているIPアドレスを参照し、取得したIPアドレスが含まれている場合は、そのIPアドレスに対応する属性設定フラグにONを設定する。
 (S1006)セントラルECU200は、インフォテイメントのアプリケーションをインストールする。
 22. ECU属性の設定に関するシーケンスの一例
 図24は、IPアドレスが複数のドメイン属性をもつとしたとき、ECU属性記憶部406に格納されるECU属性情報の一例を示す。図11と同様に、IPアドレス、ECU属性、属性設定フラグ、フラグOFFの設定日時、及び、フラグONの設定日時の組で一行が表される。図11に示したECU属性情報の一例と比較して、ブレーキ制御ECUは、パワートレーンの属性に0.8が、ADASの属性に0.1が、ボディ属性に0.1が、格納されており3つのドメイン属性をもつことを表している。格納される値はドメイン属性の比率を表しており、値が大きいほどそのドメイン属性に関連した通信が発生することを示す。
 図25は、図17のIPアドレスのドメイン属性設定に関する処理フローを、IPアドレスのドメイン属性を1つ選択するのではなく、ドメイン属性を複数もち得るとして、IPアドレスのドメイン属性を設定する処理フローを示す。なお、実施の形態1と同一の処理ステップに関しては同一の番号を付与し、その説明を省略する。
 (S1104)ステップS503でYesと判定された場合、ECU属性設定部405は、ステップS501で抽出したドメイン属性の出現回数を、ステップS501の通信先のIPアドレスのドメイン属性の総出現回数で割ることで、ドメイン属性の出現割合を算出し、ECU属性記憶部406に対して、ステップS501で抽出したドメイン属性を算出したドメイン属性の出現割合を設定する。
 (S1107)ステップS506でNoと判定された場合、ECU属性設定部405は、ステップS502で抽出したドメイン属性の出現回数を、ステップS502の属性設定フラグONを除く通信先のIPアドレスのドメイン属性の総出現回数で割ることで、ドメイン属性の出現割合を算出し、ECU属性記憶部406に対して、ステップS502で抽出したドメイン属性を算出したドメイン属性の出現割合を設定する。
 23. ECU属性を用いた異常検知に関するフローチャートの一例
 図26は、図18のステップS603に関する処理フローについて、IPアドレスが複数のドメイン属性をもつ場合の処理フローに変更した一例を示す。
 (S1201)異常検知部402は、受信したフレームに含まれる送信元IPアドレス及び宛先IPアドレスを取得し、ECU属性記憶部406を参照して、取得したIPアドレスのECU属性をそれぞれ取得する。
 (S1202)異常検知部402は、取得したIPアドレスのECU属性のそれぞれの値を参照し、送信元IPアドレスのECUの役割属性及びドメイン属性について、それぞれ最大の値が格納されている属性と、宛先IPアドレスのECUの役割属性及びドメイン属性について、それぞれ最大の値が格納されている属性とを抽出し、送信元IPアドレス及び宛先IPアドレスのECU属性の組合せを作成する。
 例えば、図24において、送信元IPアドレスのECUが車速検知ECUの場合は、ECUの役割属性は最大の値1がセンサであり、ECUのドメイン属性は最大の値0.7がパワートレーンであるので、送信元IPアドレスのECUの役割属性としてセンサ、ECUのドメイン属性としてパワートレーンが抽出される。
 また図24において、宛先IPアドレスのECUがブレーキ制御ECUの場合は、宛先IPアドレスのECUのECU役割属性としてブレイン、ECUのドメイン属性としてパワートレーンが抽出される。
 (S1203)異常検知部402は、抽出したECU属性の組合せについて、異常検知ルール記憶部407に格納される異常検知ルールを用いて、異常な通信であるか否かを判定する。抽出したECU属性の組合せが異常であると判定した場合(S1203でYes)、異常検知部402は、ステップS1204の処理を実行する。抽出したECU属性の組合せが正常であると判定した場合(S1203でNo)、異常検知部402は、ステップS1212の処理を実行する。
 (S1204)異常検知部402は、送信元IPアドレス及び宛先IPアドレスの少なくとも一方が複数のドメイン属性を持つか否かを判定する。送信元IPアドレスと宛先IPアドレスのどちらも複数のドメイン属性を持たない場合(S1204でNo)、異常検知部402は、S1205の処理を実行する。送信元IPアドレス及び宛先IPアドレスのいずれかのIPアドレスが複数のドメイン属性を持つ場合(S1204でYes)、異常検知部402は、ステップS1206の処理を実行する。
 (S1205)異常検知部402は、受信したフレームは異常であると判断し、ユーザインタフェースECU300に対してアラートを表示するようにフレームを送信する。
 (S1206)異常検知部402は、ステップS1202で作成したECU属性の組み合わせ以外で、ECU属性の組み合わせを作成する。
 例えば、図24において、送信元IPアドレスのECUが車速検知ECUの場合は、送信元IPアドレスのECUの役割属性とECUのドメイン属性の組み合わせは、センサ及びパワートレーンと、センサ及びADASと、センサ及びボディと、の3通りである。
 また図24において、宛先IPアドレスのECUがブレーキ制御ECUの場合は、宛先IPアドレスのECUの役割属性とECUのドメイン属性の組み合わせは、ブレイン及びパワートレーンと、ブレイン及びADASと、の2通りである。
 従って、送信元IPアドレス及び宛先IPアドレスのECU属性の組合せは6通りあり、ステップS1202で抽出したECU属性の組合せを除く5通りの組み合わせを異常検知部402はリストとして抽出する。
 (S1207)異常検知部402は、抽出したECU属性の組み合わせのリストから1つの組み合わせを選択する。
 (S1208)異常検知部402は、ステップS1207で選択したECU属性の組合せに関して、異常検知ルール記憶部407に格納される検知ルールから、異常な通信であるか否かを判定する。異常であると判定された場合(S1208でYes)、ステップS1209を実行する。正常であると判定された場合(S1208でNo)、S1210を実行する。
 (S1209)異常検知部402は、抽出したリストのECU属性の組み合わせを全て選択したか否かを判定する。抽出したリストのECU属性の組み合わせを全て選択した場合(S1209でYes)、異常検知部402は、ステップS1205の処理を実行し、抽出したリストのECU属性の組み合わせを全て選択していない場合(S1209でNo)、異常検知部402は、ステップS1207の処理を実行する。
 (S1210)異常検知部402は、通信ログ記憶部404を参照して、タイムスタンプの値が大きい順つまり新しく通信ログが記録された順に、所定数分の通信ログを取得し、ステップS1201で取得した送信元IPアドレスが、過去にどのIPアドレスに対してどのくらいの頻度で送信を行ったのか計算する。さらに、宛先IPアドレスのECU属性を重みとし、宛先IPアドレスの総出現数を重みの総和とした加重平均を計算する。さらに、得られた加重平均と、送信元IPアドレスのECU属性から、ドメイン属性の要素ごとに値の差の絶対値を計算する。
 例えば、ステップS1201の送信元IPアドレスが192.168.1.1であり、通信ログ記憶部404より192.168.1.1から192.168.1.2へのデータ送信が8回、192.168.1.1から192.168.1.11へのデータ送信が2回で記憶されているとき、宛先ECUのECU属性の加重平均は、データ送信の回数を重みとし、192.168.1.2のECU属性を0.8倍した値と192.168.1.11のECU属性を0.2倍した値の和より算出できる。つまり図24にあてはめると、192.168.1.1の宛先ECUのドメイン属性の加重平均は、コネクティビティ(0)、パワートレーン(0.58)、ADAS(0.16)、ボディ(0.26)、インフォテイメント(0)となる。ここで192.168.1.1のECU属性はコネクティビティ(0)、パワートレーン(0.8)、ADAS(0.1)、ボディ(0.1)、インフォテイメント(0)であることから、ドメイン属性の要素ごとの差の絶対値は、コネクティビティ(0)、パワートレーン(0.22)、ADAS(0.06)、ボディ(0.16)、インフォテイメント(0)となる。
 (S1211)異常検知部402は、ステップS1207で選択した組合せの宛先ECUのドメイン属性に対応する、ステップS1210で計算したドメイン属性の絶対値を参照し、閾値以内か否かを判定する。算出した絶対値が閾値以内の場合(S1211でYes)、異常検知部402は、ステップS1212の処理を実行する。算出した絶対値が閾値を超える場合(S1211でNo)、異常検知部402は、ステップS1209の処理を実行する。
 (S1212)異常検知部402は、受信したフレームは正常であると判断する。
 (実施の形態1の変形例3の効果)
 実施の形態1の変形例3で示した車載ネットワークシステムにおける異常検知方法は、ECUが複数のドメイン属性を持ち、フレームの通信を行う場合に、複数の通信パターンを想定して異常検知のルールを適用できる。これにより、ECUに別のドメイン属性が、OTAで後から追加された場合でも、異常検知ECUはECUが複数のドメイン属性を持つことを考慮して、異常の判定をすることが可能になる。
 24.その他変形例
 なお、本開示を上記各実施の形態に基づいて説明してきたが、本開示は、上記各実施の形態に限定されないのはもちろんである。以下のような場合も本開示に含まれる。
 (1)上記の実施の形態では、車載ネットワークとしてEthernet、CANプロトコルを用いていたが、これに限るものではない。例えば、CAN-FD(CAN with Frexible Data Rate)、LIN(Local Interconnect Network)、MOST(Media Oriented Systems Transport)などを用いてもよい。あるいはこれらのネットワークをサブネットワークとして、組み合わせたネットワーク構成であってもよい。
 (2)上記の実施の形態では、センサ/ブレイン/アクチュエータの3つのECUの役割属性を、クライアント通信とサーバ通信の比率と、Requestメッセージを受信した際にResponseメッセージを必ず返すかによって定義し、どの役割属性にあてはまるかECUごとにラベル付けを行っていたが、これに限るものではない。例えば、クライアント通信とサーバ通信の比率ではなく、Notification、Request、及び、Responseの3つのメッセージタイプを用いて、送信するメッセージタイプの割合から複数のラベルが定義されてもよい。
 (3)上記の実施の形態では、センサ/ブレイン/アクチュエータの3つのECUの役割属性が、SOME/IP通信のメッセージタイプに基づくクライアント通信及びサーバ通信の比率に基づいて決定されているが、これに限るものではない。SOME/IP-SDのメッセージを参照して、Offerのメッセージを送信しているか、Subscribeのメッセージを送信しているか、などからクライアント通信とサーバ通信の比率を計算してもよい。
 (4)上記の実施の形態では、パワートレーン/インフォテイメント/ボディ/ADAS/コネクティビティの5つのECUのドメイン属性を定義して、ECUごとにラベル付けが行われるが、これに限るものではない。ADASの属性の中で、完全に自律走行する際に通信が発生するECUと、操縦者の運転のアシストを行う際に通信が発生するECUとの、2つに分けてドメイン属性が定義されてもよい。
 (5)上記の実施の形態では、1つの通信フレームから、送信元IPアドレスのECUの属性と宛先IPアドレスのECUの属性との組み合せ等をみて、異常検知ECU400は、異常な通信フレームであるか否かの判定を行っているが、複数の通信フレームから異常な通信が発生しているか判定してもよい。例えば、一定の時間間隔で発生した通信フレームを監視し、通信を行っているECU属性の出現割合を計算して、ECU属性の出現割合が急激に変化した場合は、異常検知ECUは異常と判定してもよい。この異常検知方法により、自動車が自動走行中に外部ネットワークからDoS攻撃を受けた際など、パワートレーンとADASの属性をもつECUの通信割合が急激に減り、コネクティビティの属性をもつECUの通信割合が急激に増えるなど時系列変化が確認できるため、車載ネットワークに異常が発生していることが検知でき、セキュリティが頑強になる。
 (6)上記の実施の形態では、1つの通信フレームから、送信元IPアドレスのECUの属性と宛先IPアドレスのECUの属性との組み合せ等をみて、異常検知ECU400は、異常な通信フレームであるか否かの判定を行っているが、属性の組み合せごとに通信先IPアドレスのECUの属性の割合を記憶して、記憶した割合と大きく異なる通信が検知されたら異常と判定してもよい。例えば、ECUの属性がセンサとボディをもつ場合は、ブレインとボディの属性をもつECUとブレインとパワートレーンの属性をもつECUの2種類と通信することが正常と記憶するのではなく、ブレインとボディの属性をもつECUと9割のフレームが発生し、ブレインとパワートレーンの属性をもつECUと残り1割のフレームが発生すると記憶することで、ある時間幅で複数のフレームを監視したときに、センサとボディの属性をもつECUからブレインとパワートレーンの属性をもつECUにのみフレームを送信していた場合は、異常検知ECUは異常と判断することができ、セキュリティが頑強になる。
 (7)上記の実施の形態では、IPアドレスとECUの属性情報を紐づけして記憶し、異常検知に利用しているが、別の識別情報で属性情報を紐づけして記憶してもよい。例えば、ECUのMACアドレスと対応する情報をフレームに含むようにして、MACアドレス単位で属性情報のラベリングを行ってもよい。
 (8)上記の実施の形態では、ECUの役割属性とドメイン属性を定義して、1つの通信フレームから、送信元IPアドレスのECUの属性と宛先IPアドレスのECUの属性の組合せ等をみて、異常な通信フレームであるか判定を行っているが、役割属性のみを定義してラベリング、もしくはドメイン属性のみを定義してラベリングをして、異常検知を行ってもよい。例えば、ECUごとにセンサ/ブレイン/アクチュエータの3つのECUの役割属性を定義して、送信元IPアドレスのECUの属性と宛先ECUの属性の組合せで、どの組合せが正常か定義してもよい。属性が複数になるなど複雑化することで、異常検知の計算コストが大きくなるため、状況に応じて簡単な属性の組合せで判定するか切り替えてもよい。
 (9)上記の実施の形態では、車載ネットワークに変化が生じるフレームを検知して、ECUの属性を再度設定するとしたが、フレームを検知すること以外から、ECUの属性を再度設定してもよい。例えば、操縦者が能動的に再設定可能なボタン等の入力インタフェースを用意して、いつでも再設定できるようにしてもよい。または車載システムに搭載されるGPS機能から位置情報を取得し、V2X機能を活用できる地域から、活用できない地域に移動するなどを検知して、ECU属性の再設定をしてもよい。
 (10)上記の実施の形態では、属性の再設定に伴い、ECUの属性情報を上書きして記憶する例を示したが、上書きせずにECUごとに複数の属性情報を設定した時間と紐づけして記憶してもよい。再設定したECUの属性情報は十分なデータがない影響で誤検知が発生することが考えられるが、再設定前の属性情報を用いて異常検知を行うことで、異常検知の結果が正しいか判定する指標にできる。
 (11)上記の実施の形態では、セントラルECUが送受信するフレームを、異常検知ECUに転送して異常検知を行う例を示したが、これに限るものではない。セントラルECUにECUの属性を用いた異常検知機能を組み込んでもよいし、車載ネットワークを一定の単位で区切って、複数設置してもよい。
 (12)上記の実施の形態では、異常検知ECUが異常なフレームを検知したとき、ユーザインタフェースECU300にアラートを通知するフレームを送信するとしたが、TCU100を介して、セキュリティ監視者が管理する車外のOTAサーバ30にアラートを通知してもよいし、異常検知に関するログを通知してもよい。
 図27に車外のOTAサーバに通知する異常検知に関するログの一例を示す。図27では、異常検知ログのシリアルIDであるログIDが10001であり、異常の種類を伝える異常コードが0x01(ECU属性間の通信ルール違反)であることが示されている。また検知内容については、送信元ECUのECU属性がセンサ及びADASであり、宛先ECUのECU属性がアクチュエータ及びボディであり、異常なECU属性の組み合せを検知したことを示している。また、送信元ECU及び宛先ECUに関するIPアドレスとECU属性が示されている。また、異常を検知したフレームに関するタイムスタンプと、メッセージサイズと、オリジナルパケットを含むこととが示されている。
 また、OTAサーバに通知された異常検知に関するログを分析しやすくするため、異常検知結果をOTAサーバに接続されたグラフィカルユーザインタフェース上に表示してもよい。図28に、異常検知結果をグラフィカルユーザインタフェース上に表示した一例を示す。図28は、車両IDが101の車両において、カメラECUから電気錠開閉ECUへの異常な通信が発生し、車両の異常検知部が異常通信を検知してOTAサーバに検知結果が送信されたことを示している。ここで車両IDとは、どの車両からデータが送られているか識別する番号であり、TCUから送信されるデータに含まれる車両固有の情報を利用して、OTAサーバ側で設定される。表示結果は3つの要素で構成されている。画面上部は、車載ネットワークのどの通信経路に異常が検知されたか太線の矢印で強調表示しており、送信元となったカメラECUが異常検知ルールより接続しうる通信経路は細線で、接続し得ない通信経路は点線で繋がっている。画面中央部では、異常検知結果の詳細を表示しており、図27のような異常検知ログを可視化している。異常と判断した根拠を示すため、異常コードの内容に応じて、図の一部を太線にする、または、文字を太字にするなど強調表示する。図28では、ECU属性間の通信ルール違反であるため、ECU属性が強調表示されている。画面下部では、車両IDが101の車両から受信した異常検知ログを、表の形式でまとめて表示している。表の1行目に異常検知ログの要素が含まれており、2行目以降に異常検知ログの値が含まれている。
 (13)上記実施の形態における各装置を構成する構成要素の一部又は全部は、1個のシステムLSI(Large Scale Integration:大規模集積回路)から構成されているとしても良い。システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM、RAM等を含んで構成されるコンピュータシステムである。RAMには、コンピュータプログラムが記録されている。マイクロプロセッサが、コンピュータプログラムに従って動作することにより、システムLSIは、その機能を達成する。また、上記各装置を構成する構成要素の各部は、個別に1チップ化されていても良いし、一部又は全部を含むように1チップ化されても良い。また、ここでは、システムLSIとしたが、集積度の違いにより、IC、LSI、スーパーLSI、ウルトラLSIと呼称されることもある。また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセッサで実現しても良い。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用しても良い。更には、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行っても良い。バイオ技術の適用等が可能性としてあり得る。
 (14)上記各装置を構成する構成要素の一部又は全部は、各装置に脱着可能なICカード又は単体のモジュールから構成されているとしても良い。ICカード又はモジュールは、マイクロプロセッサ、ROM、RAM等から構成されるコンピュータシステムである。ICカード又はモジュールは、上記の超多機能LSIを含むとしても良い。マイクロプロセッサが、コンピュータプログラムに従って動作することにより、ICカード又はモジュールは、その機能を達成する。このICカード又はこのモジュールは、耐タンパ性を有するとしてもよい。
 (15)本開示の一態様としては、異常検知の方法をコンピュータにより実現するプログラム(コンピュータプログラム)であるとしても良いし、コンピュータプログラムからなるデジタル信号であるとしても良い。また、本開示の一態様としては、コンピュータプログラム又はデジタル信号をコンピュータで読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD-ROM、MO、DVD、DVD-ROM、DVD-RAM、BD(Blue―ray(登録商標) Disc)、半導体メモリ等に記録したものとしても良い。また、これらの記録媒体に記録されているデジタル信号であるとしても良い。また、本開示の一態様としては、コンピュータプログラム又はデジタル信号を、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしても良い。また、本開示の一態様としては、マイクロプロセッサとメモリを備えたコンピュータシステムであって、メモリは、上記コンピュータプログラムを記録しており、マイクロプロセッサは、コンピュータプログラムに従って動作するとしても良い。また、プログラム若しくはデジタル信号を記録媒体に記録して移送することにより、又は、プログラム若しくはデジタル信号を、ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
 (16)上記実施の形態及び上記変形例で示した各構成要素及び機能を任意に組み合わせることで実現される形態も本開示の範囲に含まれる。
 本開示により、車載ネットワークシステムにおいて、システム更新や機能の追加及び変更による車載ネットワークの変化に応じて、異常な通信の検知が可能となり、車両の安全性を向上できる。
 1、2 CAN
 10 車両
 20 外部ネットワーク
 30 OTAサーバ
 100 TCU
 101 外部通信部
 102 変換部
 103 内部通信部
 200 セントラルECU
 201 通信部
 202 ホストOS部
 203 ゲストOS部
 300 ユーザインタフェースECU
 301、401、601 通信部
 302、603 外部機器接続部
 400 異常検知ECU
 402 異常検知部
 403 通信ログ生成部
 404 通信ログ記憶部
 405 ECU属性設定部
 406 ECU属性記憶部
 407 異常検知ルール記憶部
 500a、500b ゾーンECU
 501、602 ホスト部
 502 通信部
 600a ブレーキ制御ECU
 600b 車速検知ECU
 600c 電気錠制御ECU
 600d 電気錠開閉ECU
 600e カメラECU

Claims (13)

  1.  2以上の電子制御ユニットと、1以上のネットワークと、によって構成される車載ネットワークシステムにおける異常を検知する異常検知装置であって、
     前記2以上の電子制御ユニットそれぞれに設定された電子制御ユニットが有する属性を記憶しているECU属性記憶部と、
     前記1以上のネットワーク上のメッセージを送受信する通信部と、
     前記ECU属性記憶部に記憶されている前記属性のうち、前記メッセージの送信元または宛先の電子制御ユニットが有する前記属性を用いて、異常な通信を検知する異常検知部と、を有し、
     前記ECU属性記憶部に記憶されている前記属性は、当該属性を有する前記電子制御ユニットの機能、または、当該属性を有する前記電子制御ユニットが扱う情報の種類を示す
     異常検知装置。
  2.  前記ECU属性記憶部に記憶されている前記属性は、前記車載ネットワークシステムにおいて動作する電子制御ユニットの機能を示し、
     電子制御ユニットが車内外の情報をセンシングする機能を備えることを示すセンサ属性と、
     電子制御ユニットがセンシングされた情報を処理し制御指示を行う機能を備えることを示すブレイン属性と、
     電子制御ユニットが制御指示に従い制御を行う機能を備えることを示すアクチュエータ属性と、のいずれか1つを含む
     請求項1に記載の異常検知装置。
  3.  前記ECU属性記憶部に記憶されている前記属性は、前記車載ネットワークシステムにおいて電子制御ユニットが扱う情報の種類を示し、
     車両の走行に関する制御情報を扱うことを示すパワートレーン属性と、
     操縦者への車両の状態通知に関する情報を扱うことを示すインフォテイメント属性と、
     車両のボディ系の制御情報を扱うことを示すボディ属性と、
     操縦者の車両操作を支援または代替する先進運転支援機能に関する情報を扱うことを示すADAS属性と、
     前記1以上のネットワーク外から取得した情報を扱うことを示すコネクティビティ属性と、のいずれか1つを含む
     請求項1に記載の異常検知装置。
  4.  前記異常検知部は、前記メッセージの送信元の電子制御ユニットの前記属性と、前記メッセージの宛先の電子制御ユニットの前記属性と、の組み合せに基づいて、前記通信部が受信したメッセージが異常か否かを判定する
     請求項1に記載の異常検知装置。
  5.  前記異常検知部は、前記メッセージの送信元の電子制御ユニットの前記属性または前記メッセージの宛先の電子制御ユニットの前記属性と、前記通信部から受信したメッセージに含まれる情報と、の関係性に基づいて、前記通信部が受信したメッセージが異常か否かを判定する
     請求項1に記載の異常検知装置。
  6.  前記車載ネットワークシステムは、サービス指向型通信によりメッセージの授受を行い、
     前記通信部から受信したメッセージに含まれる情報は、SOME/IP通信のメッセージフォーマットに格納される情報である
     請求項5に記載の異常検知装置。
  7.  さらに、
     前記通信部が受信したメッセージを記憶する通信ログ記憶部を、備え、
     前記異常検知部は、
      前記通信ログ記憶部に記憶されているメッセージと前記ECU属性記憶部とを参照して、メッセージの授受が発生している送信元及び宛先の電子制御ユニットの前記属性の組み合わせを示す関係性を特定し、
      新たに受信したメッセージについて、前記関係性において前記メッセージの授受が発生している組み合わせの属性を有する電子制御ユニット間のメッセージを正常と判定し、前記関係性において前記メッセージの授受が発生していない組み合わせの属性を有する電子制御ユニット間のメッセージを異常と判定する
     請求項4に記載の異常検知装置。
  8.  前記車載ネットワークシステムは、サービス指向型通信によりメッセージの授受を行い、
     前記異常検知装置は、さらに、
     前記通信部が受信したメッセージを記憶する通信ログ記憶部と、
     前記ECU属性記憶部に格納される電子制御ユニットの前記属性を設定するECU属性設定部と、を備え、
     前記ECU属性設定部は、前記通信ログ記憶部に記憶されているメッセージを参照して、前記メッセージに含まれるメッセージタイプから、電子制御ユニットがサーバ側かクライアント側かを判定し、サーバ通信とクライアント通信との割合によって、当該電子制御ユニットの前記属性の決定を行う
     請求項2または3に記載の異常検知装置。
  9.  前記異常検知装置は、さらに、
     前記通信部が受信したメッセージを記憶する通信ログ記憶部と、
     前記通信ログ記憶部に記憶されているメッセージを参照して、前記ECU属性記憶部に記憶されている電子制御ユニットの属性を設定するECU属性設定部と、を備え、
     前記ECU属性設定部は、前記通信ログ記憶部に記憶されているメッセージと前記ECU属性記憶部とを参照して、第一の電子制御ユニットが通信する電子制御ユニットの前記属性の出現頻度に応じて、前記第一の電子制御ユニットの前記属性の決定を行う
     請求項2または3に記載の異常検知装置。
  10.  前記ECU属性設定部は、前記電子制御ユニットの属性を決定してから所定時間経過している、または、前記1以上のネットワークの通信傾向に変化が生じるメッセージを前記通信部が受信している、の条件を満たす場合は、前記電子制御ユニットの属性の前記決定を行う
     請求項8に記載の異常検知装置。
  11.  前記1以上のネットワークの通信傾向に変化が生じるメッセージは、前記車載ネットワークシステムとは異なる、ネットワークまたはサーバからデータを取得してインストールする際に発生するメッセージ、または、前記車載ネットワークシステムの機能設定の変更、削除、または、更新において発生するメッセージである
     請求項10に記載の異常検知装置。
  12.  前記異常検知部は、
      前記通信ログ記憶部に格納されるメッセージから、第一の電子制御ユニットが通信する電子制御ユニットの前記属性の出現頻度を計算し、
      前記ECU属性記憶部に格納される前記第一の電子制御ユニットの前記属性の出現頻度を参照して、一定の基準を超えて外れている場合は、前記第一の電子制御ユニットの通信は異常と判断する
     請求項9に記載の異常検知装置。
  13.  2以上の電子制御ユニットと、1以上のネットワークと、によって構成される車載ネットワークシステムにおける異常を検知する異常検知方法であって、
     前記1以上のネットワーク上のメッセージを送受信し、
     前記2以上の電子制御ユニットそれぞれに設定された電子制御ユニットが有する属性のうち、前記メッセージの送信元または宛先の電子制御ユニットが有する前記属性を用いて、異常な通信を検知し、
     前記属性は、当該属性を有する前記電子制御ユニットの機能、または、当該属性を有する前記電子制御ユニットが扱う情報の種類を示す
     異常検知方法。
PCT/JP2022/047828 2022-01-14 2022-12-26 異常検知装置及び異常検知方法 WO2023136111A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2022-004257 2022-01-14
JP2022004257 2022-01-14

Publications (1)

Publication Number Publication Date
WO2023136111A1 true WO2023136111A1 (ja) 2023-07-20

Family

ID=87279043

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/047828 WO2023136111A1 (ja) 2022-01-14 2022-12-26 異常検知装置及び異常検知方法

Country Status (1)

Country Link
WO (1) WO2023136111A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117857387A (zh) * 2024-01-10 2024-04-09 江苏征途技术股份有限公司 一种网关机设备的io模块读写功能检测装置和检测方法
CN117857387B (zh) * 2024-01-10 2024-06-07 江苏征途技术股份有限公司 一种网关机设备的io模块读写功能检测装置和检测方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019146145A (ja) * 2018-02-21 2019-08-29 パナソニックIpマネジメント株式会社 通信装置、通信方法及びプログラム
KR20200073362A (ko) * 2018-12-13 2020-06-24 한국전자통신연구원 차량 이더넷 네트워크에서 이상 징후 탐지 장치 및 방법
JP2021090160A (ja) * 2019-12-05 2021-06-10 パナソニックIpマネジメント株式会社 情報処理装置、異常検知方法およびコンピュータプログラム
WO2021177319A1 (ja) * 2020-03-04 2021-09-10 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 不正通信検知方法、不正通信検知装置、及びプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019146145A (ja) * 2018-02-21 2019-08-29 パナソニックIpマネジメント株式会社 通信装置、通信方法及びプログラム
KR20200073362A (ko) * 2018-12-13 2020-06-24 한국전자통신연구원 차량 이더넷 네트워크에서 이상 징후 탐지 장치 및 방법
JP2021090160A (ja) * 2019-12-05 2021-06-10 パナソニックIpマネジメント株式会社 情報処理装置、異常検知方法およびコンピュータプログラム
WO2021177319A1 (ja) * 2020-03-04 2021-09-10 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 不正通信検知方法、不正通信検知装置、及びプログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117857387A (zh) * 2024-01-10 2024-04-09 江苏征途技术股份有限公司 一种网关机设备的io模块读写功能检测装置和检测方法
CN117857387B (zh) * 2024-01-10 2024-06-07 江苏征途技术股份有限公司 一种网关机设备的io模块读写功能检测装置和检测方法

Similar Documents

Publication Publication Date Title
JP6847101B2 (ja) 情報処理方法、情報処理システム、及びプログラム
US11570184B2 (en) In-vehicle network system, fraud-detection electronic control unit, and fraud-detection method
JP6574535B2 (ja) グローバル自動車安全システム
JP6839963B2 (ja) 異常検知方法、異常検知装置及び異常検知システム
CN107925600B (zh) 安全处理方法以及服务器
US10798114B2 (en) System and method for consistency based anomaly detection in an in-vehicle communication network
US10484401B2 (en) In-vehicle network attack detection method and apparatus
JP2018144800A (ja) 連携クラウド・エッジ車両異常検出
JP2021083125A (ja) ゲートウェイ装置、方法及び車載ネットワークシステム
CN112367318B (zh) 安全处理方法以及计算机
JPWO2019142458A1 (ja) 車両監視装置、不正検知サーバ、および、制御方法
US20140089507A1 (en) Application independent content control
US11887411B2 (en) Vehicle data extraction service
CN110546921B (zh) 不正当检测方法、不正当检测装置以及程序
JP7312769B2 (ja) 統計情報生成装置、統計情報生成方法、および、プログラム
JP2017112598A (ja) 評価装置、評価システム及び評価方法
WO2021145144A1 (ja) 侵入経路分析装置および侵入経路分析方法
EP4092972A1 (en) Vehicle log transmission device, vehicle log collection system, vehicle log transmission method, and preservation priority change device
Frassinelli et al. I know where you parked last summer: Automated reverse engineering and privacy analysis of modern cars
JPWO2019021995A1 (ja) 通信装置、通信方法及び通信システム
JPWO2019225259A1 (ja) 通信制御装置、不正検知電子制御ユニット、モビリティネットワークシステム、通信制御方法、不正検知方法およびプログラム
JP2019061726A (ja) 情報処理装置及び情報処理方法
WO2023136111A1 (ja) 異常検知装置及び異常検知方法
JP2019146145A (ja) 通信装置、通信方法及びプログラム
CN113542304A (zh) 信息处理装置以及信息处理方法

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: 22920628

Country of ref document: EP

Kind code of ref document: A1