WO2021039523A1 - 車両監視装置および車両監視方法 - Google Patents

車両監視装置および車両監視方法 Download PDF

Info

Publication number
WO2021039523A1
WO2021039523A1 PCT/JP2020/031228 JP2020031228W WO2021039523A1 WO 2021039523 A1 WO2021039523 A1 WO 2021039523A1 JP 2020031228 W JP2020031228 W JP 2020031228W WO 2021039523 A1 WO2021039523 A1 WO 2021039523A1
Authority
WO
WIPO (PCT)
Prior art keywords
vehicle
credit score
frame
monitoring
activity
Prior art date
Legal status (The legal status 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 status listed.)
Ceased
Application number
PCT/JP2020/031228
Other languages
English (en)
French (fr)
Inventor
剛 岸川
平野 亮
良浩 氏家
芳賀 智之
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Intellectual Property Corp of America
Original Assignee
Panasonic Intellectual Property Corp of America
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 Panasonic Intellectual Property Corp of America filed Critical Panasonic Intellectual Property Corp of America
Priority to CN202080009672.2A priority Critical patent/CN113348683B/zh
Priority to EP20859607.2A priority patent/EP4024250A4/en
Priority to JP2021517062A priority patent/JP7558157B2/ja
Publication of WO2021039523A1 publication Critical patent/WO2021039523A1/ja
Priority to US17/380,209 priority patent/US11995181B2/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/40Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W40/00Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models
    • B60W40/08Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models related to drivers or passengers
    • B60W40/09Driving style or behaviour
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W40/00Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models
    • B60W40/12Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models related to parameters of the vehicle itself, e.g. tyre models
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W50/08Interaction between the driver and the control system
    • B60W50/14Means for informing the driver, warning the driver or prompting a driver intervention
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/14Protecting executable software against software analysis or reverse engineering, e.g. by obfuscation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C5/00Registering or indicating the working of vehicles
    • G07C5/08Registering or indicating performance data other than driving, working, idle, or waiting time, with or without registering driving, working, idle or waiting time
    • G07C5/0808Diagnosing performance data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40006Architecture of a communication node
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/12Detection or prevention of fraud
    • H04W12/121Wireless intrusion detection systems [WIDS]; Wireless intrusion prevention systems [WIPS]
    • H04W12/122Counter-measures against attacks; Protection against rogue devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W50/08Interaction between the driver and the control system
    • B60W50/14Means for informing the driver, warning the driver or prompting a driver intervention
    • B60W2050/143Alarm means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W50/08Interaction between the driver and the control system
    • B60W50/14Means for informing the driver, warning the driver or prompting a driver intervention
    • B60W2050/146Display means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2540/00Input parameters relating to occupants
    • B60W2540/10Accelerator pedal position
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2540/00Input parameters relating to occupants
    • B60W2540/12Brake pedal position
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2540/00Input parameters relating to occupants
    • B60W2540/18Steering angle
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2756/00Output or target parameters relating to data
    • B60W2756/10Involving external transmission of data to or from the vehicle
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/034Test or assess a computer or a system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard
    • H04L2012/40215Controller Area Network CAN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/40Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
    • H04W4/48Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P] for in-vehicle communication

Definitions

  • the present disclosure relates to a vehicle monitoring device and a vehicle monitoring method for monitoring an in-vehicle network system composed of one or more electronic control units (hereinafter, ECU (Electronic Control Unit)).
  • ECU Electronic Control Unit
  • in-vehicle network There are many standards for in-vehicle networks, but one of the most mainstream in-vehicle networks is a standard called Controller Area Network (hereinafter, CAN (registered trademark, the same applies hereinafter)). Further, with the spread of autonomous driving or connected cars, in-vehicle Ethernet (registered trademark, the same applies hereinafter) is becoming more and more popular in order to cope with an increase in traffic of an in-vehicle network.
  • CAN Controller Area Network
  • in-vehicle Ethernet registered trademark, the same applies hereinafter
  • Non-Patent Document 1 discloses a method of preventing unauthorized control by communication of an unauthorized node by using encrypted communication used in conventional Internet Protocol (IP) communication. Further, Patent Document 1 discloses a method of detecting abnormal communication of an in-vehicle network and blocking an illegal frame.
  • IP Internet Protocol
  • Non-Patent Document 1 uses encrypted communication, encryption / decryption processing by a transmitting / receiving node is required, which causes overhead.
  • key management used for encrypted communication becomes important, control of the ECU is deprived, and when a legitimate key is used, illegal control by illegal frame transmission becomes possible.
  • Patent Document 1 is a coping method when an illegal frame is transmitted by an attacker, and does not prevent the occurrence of an attack. As described above, there is room for improvement in the safety of the in-vehicle network.
  • the present disclosure provides a vehicle monitoring device and a vehicle monitoring method that can further enhance the safety of the in-vehicle network.
  • the vehicle monitoring device is a vehicle monitoring device that monitors an in-vehicle network system including one or more electronic control units, and includes a frame receiving unit that receives a frame flowing through the in-vehicle network system and the frame. Detects and detects suspicious behavior different from normal driving behavior based on the frame received by the receiving unit and vehicle data including information about one or more frames received by the frame receiving unit before the reception of the frame.
  • a credit score calculation unit for calculating a credit score indicating the possibility that reverse engineering has been performed on a vehicle equipped with the in-vehicle network system based on the result is provided.
  • the vehicle monitoring method is a vehicle monitoring method for monitoring an in-vehicle network system including one or more electronic control units, and is a reception step for receiving a frame flowing through the in-vehicle network system and the reception step.
  • a suspicious behavior different from the normal driving behavior is detected based on the frame received in the above frame and vehicle data including information about one or more frames received before the reception of the frame, and the in-vehicle network is based on the detection result. It includes a credit score calculation step to calculate a credit score indicating the possibility that reverse engineering has been performed on the vehicle equipped with the system.
  • the safety of the in-vehicle network can be further enhanced.
  • FIG. 1 is a diagram showing an overall configuration of an in-vehicle network system according to the first embodiment.
  • FIG. 2 is a diagram showing the configuration of the ECU according to the first embodiment.
  • FIG. 3 is a diagram showing a gateway configuration according to the first embodiment.
  • FIG. 4A is a diagram showing an example of the credit score in the first embodiment.
  • FIG. 4B is a diagram showing an example of vehicle data according to the first embodiment.
  • FIG. 5 is a diagram showing an example of a forwarding rule according to the first embodiment.
  • FIG. 6 is a flowchart showing the processing of the gateway according to the first embodiment.
  • FIG. 7 is a flowchart for calculating the credit score of the gateway according to the first embodiment.
  • FIG. 1 is a diagram showing an overall configuration of an in-vehicle network system according to the first embodiment.
  • FIG. 2 is a diagram showing the configuration of the ECU according to the first embodiment.
  • FIG. 3 is a diagram showing a gateway configuration according to the
  • FIG. 8 is a flowchart of changing the monitoring level of the gateway according to the first embodiment.
  • FIG. 9 is a diagram showing an operation sequence of the gateway according to the first embodiment.
  • FIG. 10 is a diagram showing an operation sequence of the gateway according to the first embodiment.
  • FIG. 11A is a diagram showing an example of display contents to be notified to the driver in the first embodiment.
  • FIG. 11B is a diagram showing another example of the display content to be notified to the driver in the first embodiment.
  • FIG. 12 is a flowchart showing the processing of the gateway according to the second embodiment.
  • FIG. 13 is a flowchart for calculating the suspicious score of the gateway according to the second embodiment.
  • FIG. 14 is a flowchart of changing the monitoring level of the gateway according to the second embodiment.
  • Patent Document 1 and Non-Patent Document 1 have room for improvement from the viewpoint of enhancing the safety of the in-vehicle network.
  • the reverse engineering by the attacker can be hindered or the target vehicle can be monitored intensively as a sign of the occurrence of the attack. It can be linked to actions such as grasping the details of the attack.
  • the inventors of the present application have diligently studied a vehicle monitoring device or the like capable of grasping the activity of an attacker at the investigation stage of the in-vehicle network, and devised a vehicle monitoring device or the like described below.
  • the inventors of the present application monitor a frame in an in-vehicle network, capture an unusual vehicle behavior generated by an attacker's reverse engineer, and calculate the possibility that the vehicle is a reverse engineer. We found that it is possible to grasp the activities of attackers at the investigation stage of in-vehicle networks.
  • the vehicle monitoring device is a vehicle monitoring device that monitors an in-vehicle network system including one or more electronic control units, and includes a frame receiving unit that receives a frame flowing through the in-vehicle network system and the frame. Detects and detects suspicious behavior different from normal driving behavior based on the frame received by the receiving unit and vehicle data including information about one or more frames received by the frame receiving unit before the reception of the frame.
  • a credit score calculation unit for calculating a credit score indicating the possibility that reverse engineering has been performed on a vehicle equipped with the in-vehicle network system based on the result is provided.
  • the vehicle monitoring device can grasp the attacker's activity in the investigation stage for the in-vehicle network before performing the illegal control of the vehicle based on the credit score, so that the safety of the in-vehicle network of the vehicle is further enhanced. be able to.
  • the suspicious behavior is detected as a passive monitoring activity when any of the connection of the monitoring device, the error frame, the momentary interruption of the network, and the battery removal is detected, and the credit score calculation unit performs the passive monitoring activity.
  • the credit score may be reduced.
  • the vehicle monitoring device can grasp the passive monitoring activity based on the credit score, so that the safety of the vehicle-mounted network of the vehicle can be further enhanced.
  • either the number of button operations in the vehicle or the number of detections of abnormal driving behavior within a predetermined first time is equal to or greater than a predetermined number, or the activation interval of the driving support function is a predetermined value. If it is less than, it is detected as an active monitoring activity, and the driving support function is any of automatic parking support, auto cruise control, emergency braking, and lane keep assist, and the abnormal driving behavior is the accelerator opening, The amount of change in the braking pressure and the steering angle within a predetermined time is equal to or greater than a predetermined value, and the credit score calculation unit may reduce the credit score when the active monitoring activity is detected.
  • the suspicious behavior is detected as an injection activity when either the reception amount of the frame or the reception amount of the diagnostic command is equal to or more than a predetermined number within the predetermined first time, and the credit score calculation unit , The credit score may be reduced when the injection activity is detected.
  • the suspicious behavior is detected as a refinement activity when either the reception amount of the update command or the reception amount of the frame of the same attribute is equal to or more than a predetermined number within the predetermined first time, and the same attribute is detected.
  • the frame is a frame in which any one or a combination of two or more of the identifier, IP address, MAC address, and port number included in the frame is the same, and the credit score calculation unit is the refinement. The credit score may be reduced when ment activity is detected.
  • the vehicle monitoring device further includes a monitoring level changing unit, and when the credit score becomes less than a predetermined value, the monitoring level changing unit of the vehicle is based on the value of the credit score.
  • a monitoring level changing unit when the credit score becomes less than a predetermined value, the monitoring level changing unit of the vehicle is based on the value of the credit score.
  • the suspicious behavior may have a plurality of types indicating each stage of the reverse engineering, and the credit score calculation unit may calculate a credit score for each of the plurality of types of the suspicious behavior.
  • the vehicle monitoring device can grasp the stage (phase) of the attacker's activity in the investigation stage of the in-vehicle network before performing the fraud control of the vehicle based on a plurality of types of credit scores.
  • the safety of the in-vehicle network can be further enhanced.
  • the plurality of types of the suspicious behavior include at least two of a passive monitoring activity, an active monitoring activity, an injection activity, and a refinement activity
  • the passive monitoring activity is an action for acquiring the vehicle data.
  • the active monitoring activity is an operation for trying to acquire the vehicle data during a specific function operation or a specific situation of the vehicle
  • the injection activity is for trying to inject a frame into the in-vehicle network system.
  • the refinement activity may be an action for attempting injection of a frame for improving the accuracy of the frame injected into the in-vehicle network system.
  • the vehicle monitoring device can acquire the stage of the reverse engineering activity currently being performed in more detail, so that the safety of the vehicle-mounted network of the vehicle can be further enhanced.
  • the suspicious behavior is detected as the passive monitoring activity when any of the connection of the monitoring device, the error frame, the momentary interruption of the network, and the removal of the battery is detected, and the driving support within the predetermined first time.
  • the number of times the function is activated the number of times the button is operated in the vehicle, and the number of times abnormal driving behavior is detected is equal to or greater than a predetermined number
  • the active monitoring activity is detected, and the frame is detected within a predetermined first time.
  • the number of receptions or the number of receptions of the diagnostic command is equal to or greater than the predetermined number, it is detected as the injection activity, and either the number of receptions of the update command or the number of receptions of frames of the same attribute within the predetermined first time. Is detected as the refinement when is equal to or greater than a predetermined number.
  • the vehicle monitoring device further includes a monitoring level changing unit, and the monitoring level changing unit has a credit score corresponding to each of the plurality of types of the suspicious behavior and the plurality of types of the suspicious behavior. Based on the value, one or more of limiting some functions of the vehicle, alerting the driver of the vehicle, and notifying neighboring vehicles or servers of the credit score may be executed.
  • the credit score calculation unit may increase the credit score when the predetermined second time elapses or when the predetermined first operation is executed on the vehicle. Further, the credit score calculation unit may reset the credit score when a predetermined third time elapses or a predetermined second operation is executed on the vehicle.
  • the credit score can be automatically corrected when the driver of the vehicle (a normal driver who is not an attacker) drives a vehicle whose credit score is lowered. Therefore, the vehicle monitoring device can more reliably grasp the activity of the attacker at the investigation stage of the in-vehicle network.
  • the vehicle monitoring method is a vehicle monitoring method for monitoring an in-vehicle network system including one or more electronic control units, which includes a reception step for receiving a frame flowing through the in-vehicle network system and the reception. Suspicious behavior different from normal driving behavior is detected based on the frame received in the step and vehicle data including information about one or more frames received before the reception of the frame, and the vehicle-mounted vehicle is based on the detection result. It includes a credit score calculation step of calculating a credit score indicating the possibility that reverse engineering has been performed on a vehicle equipped with a network system.
  • the vehicle monitoring method it is possible to calculate the suspicion of reverse engineering an in-vehicle network system, and it is effective to grasp a more suspicious vehicle.
  • each figure is a schematic view and is not necessarily exactly illustrated. Further, in each figure, substantially the same configuration may be designated by the same reference numerals, and duplicate description may be omitted or simplified.
  • a vehicle monitoring device and a vehicle monitoring method in a vehicle equipped with an in-vehicle network in which a plurality of electronic control units (ECUs) communicate with each other will be described. More specifically, based on the frame flowing through the in-vehicle network system, a credit score indicating the degree of fraudulent vehicle behavior caused by the attacker performing reverse engineering is calculated, and the vehicle monitoring function is calculated according to the calculated credit score.
  • in-vehicle network security technology that changes the above will be described.
  • FIG. 1 is a diagram showing an overall configuration of an in-vehicle network system according to the present embodiment.
  • the in-vehicle network system includes ECUs 10, 11, 20, 21, 30, 31, 40, 41, a diagnostic port 50, and a gateway 60.
  • the ECU 10 and the ECU 11 are connected to the bus 1
  • the ECU 20 and the ECU 21 are connected to the bus 2
  • the ECU 30 and the ECU 31 are connected to the bus 3
  • the ECU 40 and the ECU 41 are connected to the bus 4.
  • the diagnostic port 50 is connected to the bus 5.
  • the gateway 60 is connected to all buses.
  • Each ECU is connected to each other by a controller Area Network (CAN) and communicates with a frame.
  • Each bus may be domain-separated for each function of the vehicle 200, for example.
  • a powertrain system ECU is arranged on the bus 1, and communication related to engine control and the like is performed.
  • a chassis-type ECU is arranged on the bus 2, and communication for realizing steering control or brake control is performed.
  • an information system ECU is arranged on the bus 3, and car navigation and infotainment system communication are performed.
  • a body-based ECU is arranged on the bus 4, and communication is performed to control the air conditioner or the power window by pressing a button of the passenger.
  • the gateway 60 receives information on all buses, and if necessary, transfers the received frames to another bus. For example, when a frame for diagnosis is flowing on the bus 5, a process of transferring the frame to the buses 1 to 4 is performed.
  • the gateway 60 is an example of a vehicle monitoring device.
  • the gateway 60 performs processing in an in-vehicle network system composed of one or more ECUs.
  • each bus is realized by CAN, but the communication protocol is not limited to this.
  • it may be CAN-FD (CAN with FlexRay Data Rate), FlexRay (registered trademark, the same applies hereinafter), Ethernet, or the communication protocol may be different for each bus.
  • FIG. 2 is a diagram showing a configuration of the ECU 10 according to the present embodiment.
  • the ECU 11, ECU 20, ECU 21, ECU 30, ECU 31, ECU 40, and ECU 41 have the same configuration as the ECU 10, but the sensors or actuators to which they are connected are different, so that the functions to be realized are different.
  • the ECU 10 is realized by a computer including, for example, a processor, a memory, a communication interface, and the like. As shown in FIG. 2, the ECU 10 has a communication unit 100 and a host unit 101.
  • the communication unit 100 connects to the bus 1 and transmits / receives frames flowing through the bus 1. It can be said that the communication unit 100 transmits and receives frames flowing through the in-vehicle network system.
  • the communication unit 100 is realized by a communication controller, a transceiver, or the like.
  • the host unit 101 is a part that performs the main processing of the ECU 10, and is realized by a CPU (Central Processing Unit) and a memory.
  • the host unit 101 interprets the frame received from the communication unit 100 and executes processing according to the communication content (interpretation result).
  • the ECU 10 is an ECU that controls an engine.
  • the cruise control function receives a frame for requesting an increase in vehicle speed from another ECU
  • the host unit 101 of the ECU 10 controls to increase the engine speed so that the desired vehicle speed is obtained.
  • the host unit 101 of the ECU 10 performs a process such as transmitting a frame to notify another ECU.
  • FIG. 3 is a diagram showing a configuration of the gateway 60 in the present embodiment.
  • the gateway 60 is realized by a computer including, for example, a processor, a memory, a communication interface, and the like.
  • the gateway 60 includes a frame transmission / reception unit 61, a frame interpretation unit 62, a credit score calculation unit 63, a monitoring control unit 64, a transfer control unit 65, a frame generation unit 66, and server communication. It has a unit 67, a credit score holding unit 68, and a forwarding rule holding unit 69.
  • the frame transmission / reception unit 61 is a communication interface connected to buses 1 to 5, and is realized by a communication controller, a transceiver, or the like.
  • the frame transmission / reception unit 61 transfers the frame received by each bus to the frame interpretation unit 62. Further, the frame transmission / reception unit 61 transmits a frame in accordance with a transmission request from the frame generation unit 66.
  • the frame transmission / reception unit 61 is an example of a frame reception unit.
  • the frame interpretation unit 62 interprets the frame transferred from the frame transmission / reception unit 61, and performs processing according to the frame. Further, the frame transmission / reception unit 61 notifies the credit score calculation unit 63 of the received frame.
  • the credit score calculation unit 63 calculates the credit score of the vehicle 200 based on the frame notified from the frame interpretation unit 62 and the vehicle information (vehicle data) held in the credit score holding unit 68, and calculates the credit score.
  • the credit score and vehicle information of the vehicle 200 stored in the holding unit 68 are updated.
  • the credit score calculation unit 63 calculates the degree to which the vehicle 200 is used differently than usual as a credit score.
  • the credit score calculation unit 63 calculates the credit score in order to catch a sign that the attacker is working for the purpose of reverse engineering the vehicle 200 in particular.
  • the credit score is, for example, an index indicating the possibility that reverse engineering is being performed (for example, the suspicion that an attacker is reverse engineering). Further, the credit score is, for example, an index capable of determining the possibility that reverse engineering is being performed. Further, the credit score can be said to be an index indicating, for example, that the vehicle 200 is used in a vehicle 200 that is not performed or is unlikely to be performed by a normal driver.
  • the reverse engineering in the present specification is to analyze an in-vehicle network system. Therefore, it can be said that the credit score is, for example, an index indicating the possibility that the in-vehicle network system of the vehicle 200 is being analyzed or the degree of analysis.
  • the credit score calculation unit 63 performs normal operation based on the frame received by the frame transmission / reception unit 61 and the vehicle data related to one or more frames received by the frame transmission / reception unit 61 before the reception of the frame.
  • a suspicious behavior different from the behavior is detected, and a credit score indicating the possibility that reverse engineering is being performed on the vehicle 200 equipped with the in-vehicle network system is calculated based on the detection result of the suspicious behavior. It can be said that the credit score calculation unit 63 updates the credit score before receiving the frame based on the frame received by the frame transmission / reception unit 61 and the vehicle data.
  • the credit score calculation unit 63 calculates the credit score based on the time series data of the frames including the frames received by the frame transmission / reception unit 61.
  • the credit score calculation unit 63 calculates the current credit score based on, for example, the currently received frame and the frame received in the past (frame included in the vehicle data).
  • the normal driving behavior is a driving behavior that is assumed to be possible when a driver who does not perform reverse engineering drives the vehicle 200.
  • the driving behavior here includes the behavior of the driving state when the vehicle 200 is running (for example, the emergency brake activation interval shown in FIG. 4B described later) and the behavior in the internal processing of the vehicle 200 (for example, described later). Both of the error frame occurrence intervals shown in FIG. 4B, etc.) are included.
  • the following exemplifies what kind of suspicious behavior the credit score is reduced, but the suspicious behavior is not limited to the following.
  • the high ratio of the stopped time to the ignition time may be a sign that some kind of investigation is being conducted on the stopped vehicle 200. Therefore, the credit score calculation unit 63 reduces the credit score.
  • the driving support function of the vehicle 200 for example, one or more of emergency braking, cruise control, automatic parking support, etc.
  • the attacker may be illegal. Since there is a possibility that the log acquisition of the vehicle-mounted network is performed in order to analyze the frame that causes the control, the credit score calculation unit 63 reduces the credit score.
  • the driving support function may include a lane keep assist function (lane departure prevention support function).
  • the credit score calculation unit 63 reduces the credit score because there is a possibility that the attacker has acquired the log for the in-vehicle network analysis even when the button is repeatedly pressed.
  • the credit score calculation unit 63 reduces the credit score. ..
  • the credit score calculation unit 63 reduces the credit score.
  • the attacker when the amount of diagnostic commands flowing through the in-vehicle network exceeds a predetermined amount, the attacker repeatedly investigates the effect on the vehicle 200 when the diagnostic command is injected, or erases the failure code caused by the effect of the attack trial.
  • the credit score calculation unit 63 reduces the credit score because it may have been damaged.
  • the credit score calculation unit 63 credits the credit score calculation unit 63 according to the number of frames for updating, the frequency of battery voltage drop or battery removal, the number of packets including IP addresses or port numbers that are not normally observed, and the like. The score can be reduced.
  • the credit score calculation unit 63 holds the calculated credit score in the non-volatile memory, and when a predetermined time (an example of a predetermined second time) elapses (for example, every other day), the credit score is set to a predetermined value (for example, every other day). For example, it may be increased by 1).
  • the credit score calculation unit 63 may also perform a process of recovering the credit score so as to appropriately detect the vehicle 200 in which the activity of reducing the credit score is repeatedly observed.
  • the credit score calculation unit 63 may increase the credit score by a predetermined value when a predetermined operation (an example of a predetermined first operation) is executed on the vehicle 200.
  • the predetermined first operation may be, for example, an operation of turning on the ignition, or another operation.
  • the credit score calculation unit 63 notifies the monitoring control unit 64 of the received frame.
  • the monitoring control unit 64 determines the processing for the notified frame based on the credit score held in the credit score holding unit 68.
  • the monitoring control unit 64 changes, for example, the monitoring level indicating the level of monitoring for reverse engineering based on the credit score.
  • the monitoring control unit 64 is an example of a monitoring level changing unit.
  • the monitoring control unit 64 discards the notified frame or notifies the transfer control unit 65 of the degenerate mode notification frame in order to enter the degenerate mode.
  • the degenerate mode notification frame is a notification indicating that a frame for giving a notification indicating that the degenerate mode is entered is transmitted to another ECU. Further, in order to notify that the credit score has decreased, the monitoring and control unit 64 notifies the server communication unit 67 of the vehicle log (vehicle data) and the credit score.
  • the vehicle log may include information on frames observed in the in-vehicle network.
  • the transfer control unit 65 notifies the frame generation unit 66 to transfer the notified frame based on the transfer rule held in the transfer rule holding unit 69.
  • the frame generation unit 66 makes a transmission request for the frame notified from the transfer control unit 65 to the frame transmission / reception unit 61.
  • the server communication unit 67 notifies the server of the content notified from the monitoring / control unit 64, receives the notification from the server, and notifies the monitoring / control unit 64 of the content.
  • the credit score holding unit 68 stores the credit score of the vehicle 200 and the data for calculating the credit score. Details of the information stored in the credit score holding unit 68 will be described later with reference to FIGS. 4A and 4B.
  • the transfer rule holding unit 69 stores the rules used for frame transfer. The details of the transfer rule will be described later with reference to FIG.
  • the components of the gateway 60 may be possessed by an external device (for example, a server device) of the vehicle 200.
  • the vehicle 200 transmits the received frame and vehicle data to an external device.
  • the external device calculates the credit score based on the frame from the vehicle 200 and the vehicle data and transmits it to the vehicle 200.
  • FIG. 4A is a diagram showing an example of a credit score according to the present embodiment.
  • FIG. 4B is a diagram showing an example of vehicle data in the present embodiment.
  • the credit score and vehicle data are stored in the credit score holding unit 68.
  • the vehicle data may also be used to calculate the credit score.
  • the items shown in FIG. 4B are items that can be determined to be suspicious behavior.
  • FIG. 4A shows that the credit score is 80.
  • the credit score takes a value of 0 to 100, and the initial value is 100. That is, FIG. 4A shows an example in which the credit score having an initial value of 100 is reduced to 80 due to the detection of suspicious behavior. Note that 80 shown in FIG. 4A indicates, for example, the current credit score.
  • the current value and the previous value are stored as the data after the ignition is turned on.
  • the previous value stores data for the period from when the ignition was turned on last time to when it was turned off.
  • the stop time ratio indicating the ratio at which the speed of the vehicle 200 is 0 km / h
  • the emergency brake activation interval indicating the interval at which the emergency brake is turned on after the emergency brake is turned on
  • the cruise control activation interval indicating the interval at which the emergency brake is turned on next.
  • Automatic parking support activation interval Sudden accelerator detection interval indicating the interval at which the frame indicating the accelerator opening of 100% is received, Sudden braking detection interval, Sudden handle detection interval, Error frame occurrence interval indicating the interval at which the error frame is received, Buttons that control message momentary interruption time, battery voltage drop or battery removal, diagnostic command reception count, update command reception count, air conditioner or light in the vehicle, etc. are pressed within a unit time (for example, 1 minute). Information on the number of times the button has been pressed continuously and whether or not a third-party device is connected is stored.
  • the activation interval means the activation time interval
  • the detection interval means the detection time interval.
  • the third party device is an example of a monitoring device.
  • the number of times of reception is an example of the amount of reception
  • the number of times of continuous button pressing is an example of the number of operations.
  • the amount of reception is not limited to the number of receptions, and may be the amount of data.
  • FIG. 4B may be the amount of data of the diagnostic command (total amount of data in the predetermined first time) instead of the number of times the diagnostic command is received.
  • FIG. 4B shows that the stopped time ratio was 70% this time and 50% last time as the stored vehicle data.
  • the emergency brake activation interval is 60 seconds this time, whereas it is "-" last time, indicating that the emergency brake has not been activated more than once this time.
  • the activation interval of cruise control is "-" this time, which indicates that it has not been activated more than once this time, whereas the previous time it has been activated at 1000 second intervals.
  • the automatic parking support activation interval is "-" last time, while the automatic parking support activation interval is activated at 30-second intervals this time, indicating that the automatic parking assistance has not been activated twice or more.
  • the sudden accelerator detection interval is "-" both this time and the previous time, indicating that two or more sudden accelerators have not been detected.
  • the sudden brake detection interval and the sudden steering wheel detection interval are both "-" both last time and this time, indicating that the corresponding frame has not been received more than once. Sudden accelerator, sudden braking, and sudden steering are examples of abnormal driving behavior.
  • the error frame occurrence interval is 1 second interval this time, and "-" last time. This time, the corresponding frame is received at 1-second intervals, whereas the previous time, it indicates that the corresponding frame was not received more than once. Further, the message interruption time is 3 seconds this time, and 0 seconds (that is, less than 1 second) last time.
  • this time it indicates that the battery voltage drop was detected, and the previous time it indicates that the battery voltage drop was not detected. It shows that the number of times the diagnostic command is received and the number of times the update command is received are 0 both last time and this time.
  • the item related to the time interval shown in FIG. 4B may be the number of activations or the number of detections within a predetermined first time.
  • the items related to the number of times shown in FIG. 4B are the previous reception time or the time of pressing, and the time interval based on the current reception time or the pressing time. There may be.
  • the credit score calculation unit 63 may calculate the credit score using either the time interval or the number of times in the item shown in FIG. 4B.
  • the vehicle data includes, for example, frame information for each item observed in the vehicle-mounted network.
  • the vehicle data includes, for example, time information indicating a frame reception time or information indicating a frame reception amount. It can be said that the vehicle data includes, for example, information about one or more frames received by the frame transmission / reception unit 61 before (in the past) before the present.
  • the vehicle data shown in FIG. 4B is an example of log information. In addition, vehicle data is also described as vehicle log or vehicle information.
  • the credit score and the vehicle data are held in plain text, but may be encrypted and held.
  • FIG. 5 is an example of a transfer rule in the present embodiment.
  • the forwarding rule holding unit 69 stores a table (forwarding rule) in which the forwarding source and the forwarding destination are stored for each frame ID.
  • FIG. 5 shows that the transfer source of the frame having the ID of 0x100 is bus 1, and the frame is transferred to buses 2, 3, and 4.
  • the transfer source of the frame having the ID of 0x200 is the bus 2, which indicates that the frame is transferred to the bus 3
  • the transfer source of the frame having the ID of 0x250 is the bus 2, which is transferred to the bus 4. It is shown that the transfer source of the frame having the ID of 0x300 is the bus 3, and the frame is transferred to the bus 1.
  • FIG. 6 is a flowchart showing the processing of the gateway 60 in the present embodiment.
  • the gateway 60 determines whether or not a frame is being received (S10).
  • the gateway 60 calculates the credit score (S11). If the frame has not been received (No in S10), the gateway 60 waits until the frame is received.
  • the gateway 60 After calculating the credit score, the gateway 60 confirms whether or not the calculated credit score is equal to or less than a predetermined value (S12).
  • the monitoring control unit 64 determines whether or not the credit score calculated by the credit score calculation unit 63 is equal to or less than a predetermined value.
  • the gateway 60 changes the monitoring level (S13) and executes the transfer process (S14).
  • the gateway 60 executes the transfer process without changing the monitoring level (S14).
  • the credit score calculation unit 63 of the gateway 60 determines whether or not a predetermined time has elapsed (S15).
  • the predetermined time is, for example, the elapsed time since the determination of Yes in the previous step S15, but is not limited to this, and may be the elapsed time since the credit score was reset, or the credit score is It may be the operation time after being reset.
  • the credit score calculation unit 63 increments the credit score by 1 or resets the credit score (S16), and ends the process.
  • the credit score is incremented by 1
  • the credit score calculation unit 63 stores the credit score incremented by 1 in the current credit score in the credit score holding unit 68. Further, when resetting the credit score, the credit score calculation unit 63 stores the initial value (for example, 100) of the credit score in the credit score holding unit 68 regardless of the current credit score.
  • the credit score calculation unit 63 ends the process without changing the credit score.
  • the determination in step S15 is not limited to the determination based on a predetermined time, and may be performed by executing a predetermined operation on the vehicle 200.
  • the predetermined operation may be, for example, an operation indicating that the process of step S16 is executed (for example, an operation for a button), or an operation for turning on or off the ignition.
  • the operation for incrementing the credit score is an example of a predetermined first operation
  • the operation for resetting the credit score is an example of a predetermined second operation.
  • the credit score may be reset after being incremented multiple times. That is, the time when the credit score is reset (an example of a predetermined third time) may be longer than the time when the credit score is incremented (an example of a predetermined second time).
  • FIG. 7 is a flowchart for calculating the credit score of the gateway 60 according to the present embodiment. Specifically, FIG. 7 is a flowchart showing details of the process of calculating the credit score in step S11 of FIG.
  • the items determined as suspicious behavior are the number of times a diagnostic command or update command is received, the reception interval of a command for turning on the driving support function (for example, the activation interval of the emergency brake), and sudden braking and sudden braking.
  • the detection interval of the steering wheel and the sudden accelerator will be described.
  • the gateway 60 confirms whether or not the received frame is a diagnostic command or an update command (S1101).
  • the credit score calculation unit 63 determines whether or not the received frame is a diagnostic command or an update command.
  • the credit score calculation unit 63 updates the number of times the corresponding command is received (S1102).
  • the credit score calculation unit 63 increments, for example, the number of times the corresponding command received in the credit score holding unit 68 is received by 1.
  • the gateway 60 determines whether or not the number of times the corresponding command is received is a predetermined value or more (for example, 100 times or more) (S1103).
  • the credit score calculation unit 63 determines, for example, whether or not the number of times the updated command is received is equal to or greater than a predetermined value.
  • the predetermined value used in the determination in step S1103 is stored in advance in the credit score holding unit 68.
  • the gateway 60 decrements the credit score by 1 (S1104) and ends the process. If the number of times the corresponding command is received within the predetermined first time is smaller than the predetermined value (No in S1103), the gateway 60 ends the process. That is, the credit score calculation unit 63 updates the credit score when the number of times the corresponding command is received is equal to or greater than the predetermined value, and does not update the credit score when the number of times the corresponding command is received is smaller than the predetermined value.
  • the predetermined first time may be, for example, the time used for the determination in step S15, or the dedicated time used for the determination process shown in FIG. 7.
  • the predetermined first time is stored in advance in, for example, the credit score holding unit 68. The same applies to the other predetermined first time used in the description of FIG. 7.
  • the credit score calculation unit 63 reduces the credit score when the suspicious behavior is greater than or equal to the predetermined number of times the diagnosis command or the update command is received within the predetermined first time.
  • the credit score calculation unit 63 detects the suspicious behavior as an injection activity when the number of times of receiving the diagnostic command is equal to or more than the predetermined number within the predetermined first time, and when the injection activity is detected, the credit score calculation unit 63 detects the suspicious behavior. It can also be said to reduce the credit score.
  • the suspicious behavior detected as the injection activity is not limited to the number of times the diagnostic command is received, and may be, for example, the number of times a frame is received within a predetermined first time.
  • the credit score calculation unit 63 detects the suspicious behavior as a refinement activity when the number of times the update command is received is equal to or more than the predetermined number within the predetermined first time, and when the refinement activity is detected. In addition, the credit score may be reduced.
  • the suspicious behavior detected as a refinement activity is not limited to the number of times the update command is received is not limited to the predetermined number of times or more. For example, the number of times the frame of the same attribute is received within the predetermined first time is the predetermined number of times or more. It may be that.
  • a frame with the same attribute is a frame in which any one of the identifier, IP address, MAC address, and port number included in the frame, or a combination of two or more of them is the same.
  • the attribute is information for specifying the frame, and is an identifier, an IP address, a MAC address, a port number, etc. included in the frame.
  • step S1101 when the received frame is not a diagnostic command or an update command (No in S1101), the gateway 60 confirms whether or not the received frame is a command for turning on the driving support function (S1105). It can be said that the credit score calculation unit 63 proceeds to step S1105 when the suspicious behavior is not detected as an injection activity or a refinement activity.
  • the gateway 60 starts from the time when the function was turned ON last time (for example, the time when the ON command was received).
  • the elapsed time of is updated (S1106).
  • the credit score calculation unit 63 acquires the time when the frame of the driving support function ON command was last received from the credit score holding unit 68, and elapses based on the acquired time and the time when the frame determined to be Yes in step S1105 is received. Update the time.
  • the credit score calculation unit 63 sets, for example, the elapsed time as the time difference between the two times.
  • the gateway 60 confirms whether or not the updated elapsed time is less than a predetermined value (for example, less than 5 minutes) (S1107).
  • the credit score calculation unit 63 determines whether or not the updated elapsed time is less than a predetermined value.
  • the predetermined value used in the determination in step S1107 is stored in advance in the credit score holding unit 68.
  • the gateway 60 decrements the credit score by 1 (S1104) and ends.
  • the gateway 60 ends the process without doing anything in particular. That is, the credit score calculation unit 63 updates the credit score when the elapsed time is less than the predetermined value, and does not update the credit score when the elapsed time is equal to or more than the predetermined value.
  • the credit score calculation unit 63 reduces the credit score when the suspicious behavior is less than the predetermined value at the activation interval of the driving support function within the predetermined first time.
  • the credit score calculation unit 63 may determine Yes in step S1107 when the number of times the driving support function is activated is equal to or greater than the predetermined number within the predetermined first time.
  • the number of times the driving support function is activated may be the number of times the driving support function is activated or the number of times the driving support function ON command is received.
  • the credit score calculation unit 63 determines that the elapsed time within the predetermined first hour is less than the predetermined value, or the number of times the driving support function is activated within the predetermined first hour is equal to or greater than the predetermined number.
  • the suspicious behavior may be detected as an active monitoring activity, and the credit score may be reduced when the active monitoring activity is detected.
  • the suspicious behavior detected as an active monitoring activity is not limited to that related to the driving support function, and for example, the number of button operations in the vehicle (for example, the number of continuous button presses shown in FIG. 4B) within a predetermined first time is predetermined. It may be more than the number of times.
  • step S1105 if the received frame is not a driving support function ON command (No in S1105), the gateway 60 confirms whether or not any of sudden braking, sudden steering, and sudden accelerator is detected from the received frame. (S1108).
  • the credit score calculation unit 63 determines whether or not the received frame is a sudden brake, a sudden steering wheel, or a sudden accelerator.
  • the gateway 60 updates the elapsed time from the previous detection time (S1109).
  • the credit score calculation unit 63 acquires the time of the previous reception of any of the frames of sudden braking, sudden steering, and sudden accelerator from the credit score holding unit 68, and receives the acquired time and the frame determined to be Yes in step S1108. Update the elapsed time based on the time.
  • the credit score calculation unit 63 sets, for example, the elapsed time as the time difference between the two times.
  • the elapsed time is an example of the detection interval.
  • the gateway 60 confirms whether the elapsed time is less than a predetermined value (for example, less than 5 minutes) (S1110).
  • the credit score calculation unit 63 determines whether or not the updated elapsed time is less than a predetermined value.
  • the predetermined value used in the determination in step S1110 is stored in advance in the credit score holding unit 68.
  • the gateway 60 decrements the credit score by 1 (S1104) and ends.
  • the gateway 60 ends without doing anything in particular. That is, the credit score calculation unit 63 updates the credit score when the elapsed time is less than the predetermined value, and does not update the credit score when the elapsed time is equal to or more than the predetermined value.
  • the elapsed time of any one of sudden braking, sudden steering, and sudden acceleration (an example of abnormal driving behavior) within the predetermined first time is less than the predetermined value. In some cases, it can be said to reduce the credit score.
  • the credit score calculation unit 63 detects the suspicious behavior as an active monitoring activity when the elapsed time of any of the brake, the sudden steering wheel, and the sudden accelerator is less than the predetermined value within the predetermined first time. It can also be said that the credit score is reduced when active monitoring activity is detected.
  • the suspicious behavior may be that the number of detections of abnormal driving behavior within a predetermined first time is equal to or greater than a predetermined value.
  • the abnormal driving behavior may be that the accelerator opening, the brake pressure, and the amount of change in the steering angle within a predetermined time are equal to or more than a predetermined value.
  • step S1108 when the received frame does not detect any of sudden braking, sudden steering, and sudden accelerator (No in S1108), the gateway 60 confirms whether or not the received frame is an error frame (S1111).
  • the credit score calculation unit 63 determines whether or not the received frame is an error frame.
  • the gateway 60 ends the process without doing anything.
  • the gateway 60 updates the elapsed time from the previous detection time (S1112).
  • the credit score calculation unit 63 acquires the time when the error frame was last received from the credit score holding unit 68, and updates the elapsed time based on the acquired time and the time when the frame determined to be Yes in step S1111 is received.
  • the credit score calculation unit 63 sets, for example, the elapsed time as the time difference between the two times.
  • the elapsed time is an example of the occurrence interval.
  • the gateway 60 confirms whether the elapsed time is less than a predetermined value (for example, less than 5 minutes) (S1113).
  • the credit score calculation unit 63 determines whether or not the updated elapsed time is less than a predetermined value.
  • the predetermined value used in the determination in step S1113 is stored in advance in the credit score holding unit 68.
  • the gateway 60 decrements the credit score by 1 (S1104) and ends.
  • the gateway 60 ends without doing anything. That is, the credit score calculation unit 63 updates the credit score when the elapsed time is less than the predetermined value, and does not update the credit score when the elapsed time is equal to or more than the predetermined value.
  • the credit score calculation unit 63 reduces the credit score when the suspicious behavior is less than the elapsed time of the error frame within the predetermined first time.
  • the credit score calculation unit 63 detects the suspicious behavior as a passive monitoring activity when the elapsed time of the error frame is equal to or longer than the predetermined value within the predetermined first time, and when the passive monitoring activity is detected. In addition, it can be said that the credit score is reduced.
  • the suspicious behavior detected as a passive monitoring activity may be that an error frame is detected.
  • Suspicious behavior detected as a passive monitoring activity can be either a connection to a third-party device (an example of a monitoring device), a network interruption (eg, a message interruption), a low battery voltage, or a battery removal. It may have been detected, or the elapsed time of any of the above may be less than a predetermined value.
  • the suspicious behavior detected as the passive monitoring activity may be that the stop time ratio (for example, the ratio of the stopped time to the predetermined first time) is equal to or more than the predetermined ratio.
  • the credit score calculation unit 63 may make at least one determination in steps S1101, S1105, S1108 and S1111 shown in FIG. 7.
  • the credit score calculation unit 63 may be able to detect at least one of passive monitoring activity, active monitoring activity, injection activity, and refinement activity as suspicious behavior, for example.
  • FIG. 8 is a flowchart of changing the monitoring level of the gateway 60 in the present embodiment. Specifically, FIG. 8 is a flowchart showing details of the process of changing the monitoring level in step S13 of FIG. The operation shown in FIG. 8 is executed by, for example, the monitoring control unit 64.
  • step S12 when the credit score is equal to or less than a predetermined value (Yes in S12), the gateway 60 determines whether or not the credit score is 30 or less (S1301).
  • the monitoring control unit 64 determines, for example, whether or not the credit score calculated in step S11 is equal to or less than a predetermined value.
  • the predetermined value used in the determination in step S1301 is stored in advance in the credit score holding unit 68.
  • the credit score 30 is an example of the first threshold value.
  • the gateway 60 shifts to the degenerate mode (S1302).
  • the degenerate mode is a mode in which some or all of the driving support functions are disabled.
  • the gateway 60 notifies other ECUs, displays a notification (warning) to the driver that the function has been invalidated, or the gateway 60 displays. Stops the transfer of some frames. After that, the gateway 60 ends the process.
  • the transition to the degenerate mode is an example of limiting the functions of the vehicle 200.
  • the gateway 60 may also notify neighboring vehicles or servers of the current credit score.
  • shifting to the degenerate mode may be to enable the intrusion detection system.
  • Enabling an intrusion detection system is an example of enhancing monitoring of an in-vehicle network.
  • the gateway 60 limits the function of the vehicle 200, alerts the driver of the vehicle 200, notifies the neighboring vehicle or the server of the credit score, and strengthens the monitoring of the in-vehicle network. All you have to do is execute the above.
  • the gateway 60 determines whether or not the credit score is 50 or less (S1303). It can be said that the monitoring control unit 64 determines in step S1303 whether or not the credit score is greater than 30 and less than or equal to 50.
  • the credit score of 50 is an example of a second threshold.
  • the gateway 60 sends a frame for alerting the driver to an ECU that controls a display such as an instrument cluster, thereby transmitting the driver.
  • the credit score or the vehicle log is notified to the server (S1304), and the process is terminated.
  • step S1304 either the driver's attention or the server may be notified. Further, the gateway 60 may notify the neighboring vehicle of the credit score in step S1304.
  • the gateway 60 confirms whether the credit score is 80 or less (S1305). It can be said that the monitoring control unit 64 determines in step S1305 whether or not the credit score is greater than 50 and equal to or less than 80.
  • the credit score 80 is an example of a third threshold value.
  • the gateway 60 When the credit score is 80 or less (Yes in S1305), the gateway 60 notifies the server of the credit score (S1306).
  • the gateway 60 ends the process without doing anything. Even if No in step S1305, the server may be notified.
  • the monitoring control unit 64 limits the functions of the vehicle 200, alerts the driver of the vehicle 200, and neighbors vehicles based on the value of the credit score. Alternatively, notify the server of the credit score or strengthen the monitoring of the in-vehicle network at least one of them.
  • the monitoring control unit 64 executes any one or more of the above so as to increase the monitoring level when the credit score becomes low, for example.
  • the monitoring control unit 64 executes an operation corresponding to the first monitoring level, and the second threshold value is larger than the first threshold value and larger than the first threshold value.
  • the operation corresponding to the second monitoring level lower than the first monitoring level is executed, and the credit score is larger than the second threshold value and larger than the second threshold value. If it is below the threshold value, the operation corresponding to the third monitoring level, which is lower than the second monitoring level, is executed.
  • the first threshold is, for example, a value larger than the minimum value of the credit score (for example, 0)
  • the third threshold is, for example, a value lower than the initial value of the credit score (for example, 100).
  • the operations corresponding to the first threshold value to the third threshold value and the first monitoring level to the third monitoring level are stored in advance in the credit score holding unit 68.
  • FIG. 9 is a diagram showing an operation sequence of the gateway 60 according to the present embodiment. Specifically, FIG. 9 is a diagram showing an operation sequence when the credit score at the gateway 60 is 51 and the credit score is 50 or less due to suspicious driving behavior. It is assumed that the ECU 20 is an ECU that transmits a frame instructing an emergency brake, and the ECU 30 is an ECU that controls a display.
  • the ECU 20 transmits a frame requesting the emergency brake ON (S100), and the gateway 60 receives the transmitted frame requesting the emergency brake ON.
  • the ECU that controls the brake also receives the transmitted frame requesting the emergency brake to be turned on and activates the emergency brake, but the illustration is omitted.
  • the ECU 20 transmits a frame requesting the emergency brake OFF (S101) after the transmission of the emergency brake ON frame is completed, and the gateway 60 receives the transmitted frame requesting the emergency brake OFF.
  • the ECU 20 again transmits a frame requesting the emergency brake ON (S102), and the gateway 60 receives the transmitted frame requesting the emergency brake ON.
  • step S103 Decrease the credit score by 1 (S103).
  • the process of step S103 corresponds to the process of step S1104 executed after the determination of Yes in step S1107 shown in FIG. 7.
  • step S104 corresponds to the process of step S1304 shown in FIG.
  • the ECU 30 receives a frame for displaying a warning to the driver and displays the warning on the display (S105).
  • the content displayed on the display is, for example, the display shown in FIG. 11A.
  • FIG. 11A is a diagram showing an example of display contents to be notified to the driver in the present embodiment.
  • step S105 information indicating that an abnormal behavior has been detected and a response method (for example, notifying the center) are displayed.
  • the gateway 60 notifies the server of the vehicle log including the credit score (S106).
  • FIG. 10 is a diagram showing an operation sequence of the gateway 60 according to the present embodiment. Specifically, FIG. 10 is an operation sequence when the credit score at the gateway 60 is 31, and the credit score is 30 or less due to suspicious driving behavior. It is assumed that the ECU 20 and the ECU 30 have the same roles as those described in FIG.
  • the ECU 20 transmits a frame requesting the emergency brake ON (S110), and the gateway 60 receives the transmitted frame requesting the emergency brake ON.
  • the ECU 20 transmits a frame requesting the emergency brake OFF (S111) after the transmission of the frame for requesting the emergency brake OFF is completed, and the gateway 60 receives the transmitted frame requesting the emergency brake OFF.
  • the ECU 20 again transmits a frame requesting the emergency brake ON (S112), and the gateway 60 receives the transmitted frame requesting the emergency brake ON.
  • step S113 When the time (an example of the detection interval) from the reception of the frame requesting the emergency brake ON in step S110 to the reception of the frame requesting the emergency brake ON in step S112 is shorter than the predetermined value (for example, 5 minutes) of the gateway 60. , Decrease the credit score by 1 (S113).
  • the process of step S113 corresponds to the process of step S1104 executed after the determination of Yes in step S1107 shown in FIG. 7.
  • step S144 corresponds to the process of step S1302 shown in FIG.
  • the ECU 20 receives the transmitted degenerate mode request frame, and invalidates the transmission of the frame requesting the subsequent emergency brake ON (S115).
  • the ECU 30 receives the transmitted degenerate mode request frame and displays the display to notify that the function is restricted (S116).
  • the display content of the display is, for example, a display as shown in FIG. 11B.
  • FIG. 11B is a diagram showing another example of the display content to be notified to the driver in the present embodiment. As shown in FIG. 11B, in step S116, information indicating that the abnormal behavior has continued, information indicating that some functions have been restricted, and contact information are displayed.
  • a credit score is calculated for an activity in which an attacker suspects a reverse engineering activity of an in-vehicle network system.
  • the gateway 60 further determines the response based on the credit score.
  • the gateway 60 can grasp a suspicious vehicle on the server side and identify the vehicle as a priority monitoring target.
  • the gateway 60 can interfere with reverse engineering activities by partially restricting the functions of the vehicle for a more suspicious vehicle. As a result, the gateway 60 can enhance the safety of the in-vehicle network system.
  • the initial value of the credit score is, for example, 0.
  • the credit score whose score increases when suspicious behavior is detected will be described as suspicious score in distinction from the first embodiment.
  • FIG. 12 is a flowchart showing the processing of the gateway 60 in the present embodiment. Note that each of steps S20, 24, 25 and 26 shown in FIG. 12 corresponds to each of steps S10, 14, 15 and 16 shown in FIG. 6, and the description thereof will be omitted or simplified below.
  • the gateway 60 determines whether or not a frame is being received (S20).
  • the gateway 60 calculates various suspicious scores (S21). If the frame has not been received (No in S20), the gateway 60 waits until the frame is received.
  • the gateway 60 determines whether or not any of the calculated suspicious scores is equal to or higher than a predetermined value (S22).
  • the gateway 60 changes the monitoring level (S23).
  • the gateway 60 performs the transfer process (S24) and proceeds to step S25.
  • FIG. 13 is a flowchart for calculating the suspicious score of the gateway 60 according to the present embodiment. Specifically, FIG. 13 is a flowchart showing details of the suspicious score calculation process in step S21 of FIG.
  • the gateway 60 when receiving a frame, the gateway 60 detects a connection of a third-party device (an example of a monitoring device) to the diagnostic port 50, detects an error frame, detects a network interruption, and a battery. It is determined whether or not any of the removal detections has occurred (S2101). Further, the gateway 60 may determine in step S2101 whether or not the stop time ratio is equal to or greater than a predetermined ratio.
  • a third-party device an example of a monitoring device
  • the gateway 60 detects the suspicious behavior as a passing monitoring activity, increases the passive monitoring score by 1 (S2102), and ends the process.
  • the passing monitoring activity is, for example, an action for acquiring vehicle data in an in-vehicle network system.
  • the passive monitoring score indicates a suspicious score for passive monitoring activities among reverse engineering activities for in-vehicle network systems. That is, the passive monitoring score indicates that the passive monitoring activity is likely to be performed, and a high passive monitoring score indicates that the passive monitoring activity is likely to be performed on the vehicle 200. .. It can be said that the credit score calculation unit 63 updates the passive monitoring score before receiving the frame in step S2102 based on the frame received by the frame transmission / reception unit 61 and the vehicle data.
  • the gateway 60 further determines whether or not the driving support function such as emergency braking is ON or abnormal operation such as sudden braking is repeatedly detected (No). S2103). For example, in step S2103, the gateway 60 determines whether or not the number of times the driving support function is activated or the number of times the abnormal driving behavior is detected within a predetermined first time is equal to or greater than a predetermined number. Further, the gateway 60 may determine whether or not any of the number of times the driving support function is activated, the number of times the buttons in the vehicle are operated, or the number of times the abnormal driving behavior is detected is a predetermined number or more.
  • the gateway 60 detects the suspicious behavior as an active monitoring activity, increases the active monitoring score by 1 (S2104), and ends the process.
  • the active monitoring activity is, for example, an operation for acquiring vehicle data of an in-vehicle network during a specific function operation or a specific situation of the vehicle 200.
  • the active monitoring score indicates a suspicious score for active monitoring activities among reverse engineering activities for in-vehicle network systems. That is, the active monitoring score indicates that the active monitoring activity is likely to be performed, and a high active monitoring score indicates that the active monitoring activity is likely to be performed on the vehicle 200. .. It can be said that the credit score calculation unit 63 updates the active monitoring score before receiving the frame based on the frame received by the frame transmission / reception unit 61 and the vehicle data in step S2104.
  • the gateway 60 further determines whether the number of received frames or the number of received diagnostic commands is greater than a predetermined threshold value (S2105).
  • the number of receptions is an example of the amount of reception.
  • the gateway 60 detects the suspicious behavior as an injection activity, increases the injection score by 1 (S2106), and ends the process.
  • the injection activity is, for example, an action for attempting to inject a frame into an in-vehicle network system. In other words, the injection activity indicates that the attacker is attempting to inject an illegal frame.
  • the injection score indicates the suspicious score for the injection activity among the reverse engineering activities for the in-vehicle network system. That is, the injection score indicates the possibility that the injection activity is being performed, and a high injection score indicates that the vehicle 200 is likely to be the injection activity. It can be said that the credit score calculation unit 63 updates the injection score before receiving the frame based on the frame received by the frame transmission / reception unit 61 and the vehicle data in step S2106.
  • the gateway 60 When both reception times are equal to or less than the threshold value in step S2105 (No in S2105), the gateway 60 further determines whether or not the number of receptions of the update command or the same ID frame exceeds a predetermined threshold value (S2107).
  • the same ID frame is an example of being a frame having the same attribute.
  • the determination may be made based on the number of receptions of frames having the same attribute.
  • the number of receptions is an example of the amount of reception.
  • the gateway 60 detects the suspicious behavior as a refinement activity and increases the refinement score by 1 (S2108). , End the process.
  • the refinement activity is, for example, an action for trying to inject a frame to improve the accuracy of the frame to be injected into the in-vehicle network system. In other words, the refinement activity shows that the attack content of the attacker is more sophisticated than the injection activity.
  • the refinement score indicates the suspicious score for the refinement activity among the reverse engineering activities for the in-vehicle network system. That is, the refinement score indicates that the refinement activity is being carried out, and a high refinement score indicates that the refinement activity is likely to be carried out for the vehicle 200. .. It can be said that the credit score calculation unit 63 updates the refinement score before receiving the frame in step S2108 based on the frame received by the frame transmission / reception unit 61 and the vehicle data.
  • step S2107 If the update command or the number of receptions of the same ID frame is equal to or less than a predetermined threshold value in step S2107 (No in S2107), the credit score calculation unit 63 ends without doing anything.
  • connection detection of the third-party device can be detected from the fact that a specific diagnostic command flows from the diagnostic port 50.
  • the detection of the error frame can be detected by the error counter of the gateway 60 or the error interrupt processing.
  • the network momentary interruption detection can be detected when the frame reception time is always held and the difference between the time when the previous frame was received and the current time exceeds a predetermined threshold value at the time of frame reception.
  • the detection of battery removal can be detected by detecting that the power supply to the gateway 60 was cut off and the power supply was cut off last time when the power was supplied again.
  • the gateway 60 (specifically, the credit score calculation unit 63) is a passive monitoring activity, an active monitoring activity, an injection activity, and a refinement activity indicating each stage of reverse engineering.
  • the suspicious score is calculated.
  • Passive monitoring activities, active monitoring activities, injection activities and refinement activities are examples of multiple types that indicate each stage of reverse engineering. That is, the suspicious behavior has a plurality of types.
  • the credit score calculation unit 63 calculates the suspicious score for each of the plurality of types of suspicious behavior.
  • the plurality of types may include two or more types.
  • the plurality of types of suspicious behavior may include, for example, at least two of passive monitoring activity, active monitoring activity, injection activity and refinement activity.
  • the credit score calculation unit 63 may make at least two determinations in steps S2101, S2103, S2105 and S2107 shown in FIG.
  • the credit score calculation unit 63 may detect, for example, at least two of passive monitoring activity, active monitoring activity, injection activity, and refinement activity as suspicious behavior.
  • reverse engineering activity is progressing in the order of refinement activity, injection activity, active monitoring activity and passive monitoring activity, that is, the analysis of the in-vehicle network is progressing in this order.
  • FIG. 14 is a flowchart of changing the monitoring level of the gateway 60 in the present embodiment. Specifically, FIG. 14 is a flowchart showing details of the monitoring level change process in step S23 of FIG. The operation shown in FIG. 14 is executed by, for example, the monitoring control unit 64.
  • the gateway 60 determines whether or not the refinement score is greater than 3 (S2301).
  • Reference numeral 3 denotes a fourth threshold value for determining whether or not the refinement activity may be performed, and is stored in advance in, for example, the credit score holding unit 68.
  • the fourth threshold value is not limited to 3.
  • the gateway 60 transmits a request frame for shifting to the degenerate mode to each ECU, and notifies the server of vehicle data including each suspicious score (S2302). , End the process.
  • the gateway 60 further determines whether or not the injection score is greater than 3 (S2303).
  • Reference numeral 3 denotes a fifth threshold value for determining whether or not the injection activity may be performed, and is stored in advance in, for example, the credit score holding unit 68.
  • the fifth threshold value is not limited to 3.
  • the gateway 60 limits some functions of the vehicle 200, notifies the server of vehicle data including each suspicious score (S2304), and ends the process. ..
  • the gateway 60 further determines whether or not the active monitoring score is greater than 3 (S2305).
  • Reference numeral 3 denotes a sixth threshold value for determining whether or not an active monitoring activity may be performed, and is stored in advance in, for example, the credit score holding unit 68.
  • the sixth threshold value is not limited to 3.
  • the gateway 60 sends a frame to alert the driver and notifies the server of vehicle data including each suspicious score (S2306). End the process.
  • Reference numeral 3 denotes a seventh threshold value for determining whether or not a passive monitoring activity may be performed, and is stored in advance in, for example, the credit score holding unit 68.
  • the seventh threshold value is not limited to 3.
  • the gateway 60 notifies the server of vehicle data including each suspicious score (S2308), and ends the process.
  • the gateway 60 ends without doing anything.
  • the monitoring control unit 64 is one of the functions of the vehicle 200 based on the plurality of types of suspicious behavior and the value of the suspicious score (an example of the credit score) corresponding to each of the plurality of types of suspicious behavior.
  • One or more of the unit limitation, the alerting to the driver of the vehicle 200, and the notification of the credit score to the neighboring vehicle or the server are executed.
  • the monitoring control unit 64 may execute the monitoring enhancement of the in-vehicle network.
  • the monitoring control unit 64 for example, restricts some of the functions of the vehicle 200, alerts the driver of the vehicle 200, to a nearby vehicle or a server so as to increase the monitoring level as the stage of the reverse engineering activity progresses. Perform any one or more of the credit score notification and the in-vehicle network monitoring enhancement.
  • the monitoring control unit 64 executes the operation corresponding to the fourth monitoring level. Further, when the injection score is larger than the fifth threshold value and the refinement score is equal to or lower than the fourth threshold value, the monitoring control unit 64 corresponds to the fifth monitoring level, which is lower than the fourth monitoring level. Perform the action to be performed. Further, when the active monitoring score is larger than the sixth threshold value, the refinement score is equal to or less than the fourth threshold value, and the injection score is equal to or less than the fifth threshold value, the monitoring control unit 64 has a fifth monitoring level. The operation corresponding to the sixth monitoring level, which is the lower monitoring level, is executed.
  • the passive monitoring score is larger than the seventh threshold value
  • the refinement score is equal to or less than the fourth threshold value
  • the injection score is equal to or less than the fifth threshold value
  • the active monitoring score is equal to or less than the sixth threshold value.
  • the fourth threshold value is, for example, a value larger than the minimum value of the refinement score (for example, 0 and an initial value) and equal to or less than the maximum value of the refinement score (for example, 100).
  • the fifth threshold value is, for example, a value larger than the minimum value of the injection score (for example, 0 and an initial value) and equal to or less than the maximum value of the injection score (for example, 100).
  • the sixth threshold value is, for example, a value larger than the minimum value of the active monitoring score (for example, 0 and an initial value) and equal to or less than the maximum value of the active monitoring score (for example, 100).
  • the seventh threshold value is, for example, a value larger than the minimum value of the passive monitoring score (for example, 0 and an initial value) and equal to or less than the maximum value of the passive monitoring score (for example, 100).
  • the operations corresponding to the fourth monitoring level to the seventh monitoring level are stored in advance in the credit score holding unit 68.
  • a suspicious score is calculated according to the phase of the activity for the activity in which the attacker suspects the reverse engineering activity of the in-vehicle network system.
  • the gateway 60 can perform more focused monitoring on the vehicle 200 suspected of having advanced the attack phase. This makes it possible to further enhance the safety of the in-vehicle network system.
  • the bus is CAN, but the communication protocol is not limited to CAN, for example, CAN-FD (CAN with FlexRay Data Rate), FlexRay, Ethernet may be used.
  • CAN-FD CAN with FlexRay Data Rate
  • FlexRay Ethernet
  • the server communication unit exists as a component of the gateway, but the server communication unit does not have to be an essential component of the gateway. For example, there may be other devices that communicate with the server, and the gateway may make notifications via such devices.
  • the credit score calculation unit is a component of the gateway, but it does not necessarily have to be a component of the gateway.
  • it may be a component of another ECU, or the credit score calculation unit may function as an application on a virtual machine.
  • the credit score can take a value of 0 to 100, but the value that the credit score can take is not limited to this, for example, it may be in 10 steps of 0 to 10, or reverse. Anything can be used as long as the level of suspicion of engineering is shown in stages.
  • the credit score decreases when suspicious behavior is observed, assuming that the initial value of the credit score is 100, but the credit score does not have to be the suspicious score. As such, the score may increase when observing suspicious behavior.
  • the credit score can be anything as long as it indicates the level of suspicion of reverse engineering in stages.
  • the condition for decreasing the credit score is shown, but there may be a condition for increasing the credit score.
  • the credit score may increase every day (an example of a predetermined second hour), or the credit score may increase when the ignition is turned on. Further, for example, the credit score may be reset every day (an example of a predetermined third hour).
  • the credit score may be reset by the diagnostic command, or the credit score may be reset based on the notification from the server. This makes it possible for a legitimate driver to recover to a normal credit score even if the credit score drops as a result of accidentally repeating suspicious behavior.
  • the credit score is reduced by 1 when the condition for reducing the credit score is met, but the amount of decrease in the credit score is not limited to 1.
  • the amount of decrease may be changed according to the observed suspicious behavior, or the amount of decrease may be increased by repeatedly observing the suspicious behavior.
  • the credit score can be further reduced for suspicious behavior that is unlikely to be observed in normal use, and it becomes easier to identify the suspicious vehicle, which is effective.
  • the conditions for reducing the credit score are treated in the same manner, but the phases may be classified and the credit score may be calculated for each phase.
  • passive monitoring in which an attacker simply attempts to log an in-vehicle network
  • active monitoring in which an attacker attempts to acquire an in-vehicle network log during a specific function of a vehicle or in a specific situation
  • an attacker in-vehicle network It may be graded into injection, which attempts to inject frames into the log, and refinement, where the attacker attempts a more sophisticated attack.
  • Passive monitoring is based on, for example, detecting the connection of a third-party device to a diagnostic port, momentary interruption of the network to connect to a monitoring device (an example of a monitoring device), battery removal, error frame detection count or detection interval, etc. Can be judged.
  • Active monitoring can be determined based on, for example, the interval and amount of use of the driving support function, the number of times a button placed in the vehicle is pressed per unit time, the frequency of extreme accelerator, brake, and steering wheel operations observed. ..
  • the injection can be determined by the reception amount or reception interval of the frame, the reception amount or reception interval of the diagnostic command, and the like.
  • the refinement can be determined by an increase in the reception amount or a change in the reception interval for a frame having the same ID, a reception amount or a reception interval of the update command, and the like.
  • the credit score holding unit holds the current value and the previous value of the vehicle data used for calculating the credit score, but the credit score is reduced in the past instead of the previous value. Achievements may be saved. For example, the score may be retained in the amount deducted in the past week. Then, when the credit score calculation unit stores the record of the score deducted in the past in the credit score holding unit, the credit score decreases when the suspicious behavior with the record of the score deducted in the past is observed. The amount may be greater than the amount of decrease in credit score when suspicious behavior is observed with no record of deductions in the past or the amount of deductions is small, or a preset amount of decrease. This is effective because it can be determined that reverse engineering is more likely to be performed when suspicious behavior is repeatedly observed.
  • the credit score is notified to the server, but the notification destination is not limited to the server, and the credit score may be notified to the neighboring vehicle or the roadside machine by V2X communication. As a result, it is possible to detect a suspicious vehicle even for a vehicle whose internet connection is blocked and the credit score cannot be notified to the server, which is effective in improving security.
  • the credit score is calculated based on the log of the in-vehicle network frame, but the credit score of the neighboring vehicle may be used to calculate the credit score of the own vehicle.
  • the credit score calculation unit determines that, for example, when a plurality of vehicles having a credit score of a predetermined value or less exist in a predetermined area for a predetermined period of time, it is highly possible that the attacker also uses his / her own vehicle as an analysis target vehicle. The score may be corrected (eg reduced).
  • the credit score calculation unit is, for example, when a plurality of vehicles (also referred to as other vehicles) whose credit scores for each of a plurality of types of suspicious behavior are equal to or less than a predetermined value exist in a predetermined area for a predetermined period of time.
  • the credit score of the own vehicle may be corrected (for example, decreased) according to the type of suspicious behavior in which is less than or equal to a predetermined value.
  • the credit score calculation unit may reduce the credit score in the own vehicle of the same type of suspicious behavior as the type of suspicious behavior that is equal to or less than a predetermined value in another vehicle.
  • the score is calculated in the order of the passive monitoring score, the active monitoring score, the injection score, and the refinement score, but the order of processing is limited. is not it.
  • the order of determination processing of each suspicious score when the monitoring level is changed is not limited. For example, the order of the processes may be reversed, or the score may be calculated, the monitoring level may be changed, or the like after all the determination processes are executed.
  • the vehicle log may be notified to the server on a regular basis, or the notification frequency or the notification amount to the server may be changed according to the value of the credit score (suspicious score). As a result, it is effective to realize focused monitoring by notifying a more detailed vehicle log from a suspicious vehicle.
  • the vehicle log may include not only the credit score (suspicious score) of the vehicle but also the information acquired from the frame flowing through the in-vehicle network system. For example, it may be vehicle sensor information such as vehicle speed or steering angle, or may include vehicle data stored in the credit score holding unit, which is the basis for changing the credit score.
  • the score is calculated when the frame is received, but it is not necessary to calculate the score when the frame is received.
  • the score may be calculated periodically by the built-in timer.
  • the threshold value of the score is set when the monitoring level is changed, but the threshold value is not limited to the value shown in the present embodiment.
  • the threshold may be set higher (or lower) to increase the sensitivity of detecting and responding to suspicious vehicles, or it may be set to decrease the sensitivity.
  • the threshold value may be dynamically changed according to the situation in reverse engineering (for example, the speed of change of credit score, the stage of reverse engineering, etc.).
  • the refinement score is increased based on the received amount of the same ID frame, but in Ethernet, the received amount of the frame of the same port number, the same IP address, and the MAC address is used. May be good.
  • the received amount of the same flow defined by the combination of these header information may be used. Further, the received amount may be either the number of received packets or the received data size.
  • the calculation condition of the credit score (suspicious score) or the processing content according to the score may be held as a separate rule.
  • the credit score (suspicious score) is stored in the non-volatile memory and is retained even after the ignition is turned off, but it is not retained in the non-volatile memory and is retained for each ignition. It may be reset. As a result, the non-volatile memory becomes unnecessary, and the vehicle monitoring device can be realized at low cost.
  • server notification, vehicle function restriction, notification to the driver, etc. are performed according to the value of the credit score (suspicious score), but the response method is limited to these. Absent.
  • an intrusion detection system may exist in the vehicle-mounted network and the intrusion detection system may be enabled. As a result, it is not necessary to operate the intrusion detection system in normal times, which saves power and is effective.
  • the in-vehicle network log storage may be started. This makes it possible to retain the in-vehicle network log when suspicious behavior occurs, which is effective in reducing memory usage.
  • the notification amount and notification frequency of the in-vehicle network log to the server may be changed.
  • the mode is not set especially when calculating the credit score, but there may be a mode for calculating the credit score.
  • a test mode may be provided in order to prevent a low credit score from being calculated.
  • the credit score is set so that it is difficult to decrease for abnormal behavior.
  • the test mode may be activated by authenticating with the server, and the vehicle in the test mode may have the credit score known on the server.
  • the security measures in the in-vehicle network mounted on the automobile have been described, but the scope of application of the gateway in the above embodiment is not limited to this.
  • the gateway may be applied not only to automobiles but also to mobility of construction machinery, agricultural machinery, ships, railways, airplanes, and the like.
  • the gateway of the above embodiment can be applied as a cyber security measure in a mobility network and a mobility network system.
  • the gateway of the above embodiment may be applied to a communication network used in an industrial control system such as a factory or a building, a communication network for controlling an embedded device, or the like.
  • Each device in the above embodiment is specifically a computer system composed of a microprocessor, a ROM, a RAM, a hard disk unit, a display unit, a keyboard, a mouse, and the like.
  • Computer programs are recorded in the RAM or hard disk unit.
  • Each device achieves its function by operating the microprocessor according to a computer program.
  • a computer program is configured by combining a plurality of instruction codes indicating commands to a computer in order to achieve a predetermined function.
  • a part or all of the components constituting each device in the above embodiment may be composed of one system LSI (Large Scale Integration: large-scale integrated circuit).
  • a system LSI is an ultra-multifunctional LSI manufactured by integrating a plurality of components on a single chip, and specifically, is a computer system including a microprocessor, ROM, RAM, and the like. .. A computer program is recorded in the RAM. The system LSI achieves its function by operating the microprocessor according to the computer program.
  • each part of the component components constituting each of the above devices may be individually integrated into one chip, or may be integrated into one chip so as to include a part or all of them.
  • system LSI Although it is referred to as a system LSI here, it may be referred to as an IC, an LSI, a super LSI, or an ultra LSI due to the difference in the degree of integration. Further, the method of making an integrated circuit is not limited to LSI, and may be realized by a dedicated circuit or a general-purpose processor. An FPGA (Field Programmable Gate Array) that can be programmed after the LSI is manufactured, or a reconfigurable processor that can reconfigure the connection and settings of the circuit cells inside the LSI may be used.
  • FPGA Field Programmable Gate Array
  • Some or all of the components constituting each of the above devices may be composed of an IC card or a single module that can be attached to and detached 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 above-mentioned super multifunctional LSI.
  • the microprocessor operates according to a computer program, the IC card or module achieves its function. This IC card or this module may have tamper resistance.
  • the present disclosure may be the method shown above. Further, it may be a computer program that realizes these methods by a computer, or it may be a digital signal composed of a computer program.
  • the present disclosure also describes computer programs or recording media capable of computer-readable digital signals, such as flexible disks, hard disks, CD-ROMs, MOs, DVDs, DVD-ROMs, DVD-RAMs, and BDs (Blu-ray®). ) It may be recorded on a Disc), a semiconductor memory, or the like. Further, it may be a digital signal recorded on these recording media.
  • a computer program or a digital signal may be transmitted via a telecommunication line, a wireless or wired communication line, a network typified by the Internet, data broadcasting, or the like.
  • the present disclosure is a computer system including a microprocessor and a memory, in which the memory records the above-mentioned computer program, and the microprocessor may operate according to the computer program.
  • This disclosure is useful for mobility where an attacker may perform reverse engineering activities.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Transportation (AREA)
  • Mechanical Engineering (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Human Computer Interaction (AREA)
  • Small-Scale Networks (AREA)

Abstract

車両監視装置は、1以上の電子制御ユニットを備える車載ネットワークシステムにおける車両監視装置であって、前記車載ネットワークシステムに流れるフレームを受信するフレーム送受信部(61)と、フレーム送受信部(61)で受信したフレームと当該フレームの受信より前にフレーム送受信部(61)で受信した1以上のフレームに関する情報を含む車両データとに基づいて通常の運転挙動とは異なる不審挙動を検知し、検知結果に基づいて車載ネットワークシステムを搭載する車両(200)に対してリバースエンジニアリングが行われている可能性を示す信用スコアを算出する信用スコア算出部(63)とを備える。

Description

車両監視装置および車両監視方法
 本開示は、1以上の電子制御ユニット(以下、ECU(Electronic Control Unit))によって構成される車載ネットワークシステムを監視する車両監視装置および車両監視方法に関する。
 近年、自動車の中のシステムには、ECUと呼ばれる装置が多数配置されている。これらのECUをつなぐネットワークは車載ネットワークと呼ばれる。車載ネットワークには、多数の規格が存在するが、その中でも最も主流な車載ネットワークの一つに、Controller Area Network(以降、CAN(登録商標、以下同様))という規格が存在する。また、さらに、自動運転またはコネクテッドカーの普及に伴い、車載ネットワークのトラフィックの増大に対応するため車載Ethernet(登録商標、以下同様)の普及が進んでいる。
 一方で、車載ネットワークに侵入し、車両を不正制御する脅威も報告されている。このような脅威に対して、非特許文献1には、従来のInternet Protocol(IP)通信で用いられてきた暗号通信を用いて不正なノードの通信による不正制御を防ぐ方法が開示されている。また、特許文献1には、車載ネットワークの異常な通信を検知し、不正なフレームを遮断する方法が開示されている。
特許第5664799号公報
RFC5406:Guidelines for Specifying the Use of IPsec Version2、2009年2月
 しかしながら、非特許文献1の方法では、暗号通信を用いるため、送受信ノードによる暗号化・復号処理が必要となりオーバーヘッドが発生する。また、暗号通信に用いる鍵管理が重要となり、ECUの制御を奪われ、正規の鍵を利用された場合に、不正なフレーム送信による不正制御が可能となってしまう。
 また、特許文献1の方法は、攻撃者によって不正なフレームが送信されたときの対処方法であり、攻撃の発生を未然に防ぐわけではない。このように、車載ネットワークの安全性には、改善の余地がある。
 そこで、本開示は、車載ネットワークの安全性をより高めることができる車両監視装置および車両監視方法を提供する。
 本開示の一態様に係る車両監視装置は、1以上の電子制御ユニットを備える車載ネットワークシステムを監視する車両監視装置であって、前記車載ネットワークシステムに流れるフレームを受信するフレーム受信部と、前記フレーム受信部で受信した前記フレームと当該フレームの受信より前に前記フレーム受信部で受信した1以上のフレームに関する情報を含む車両データとに基づいて通常の運転挙動とは異なる不審挙動を検知し、検知結果に基づいて前記車載ネットワークシステムを搭載する車両に対してリバースエンジニアリングが行われている可能性を示す信用スコアを算出する信用スコア算出部と、を備える。
 本開示の一態様に係る車両監視方法は、1以上の電子制御ユニットを備える車載ネットワークシステムを監視する車両監視方法であって、前記車載ネットワークシステムに流れるフレームを受信する受信ステップと、前記受信ステップで受信した前記フレームと当該フレームの受信より前に受信した1以上のフレームに関する情報を含む車両データとに基づいて通常の運転挙動とは異なる不審挙動を検知し、検知結果に基づいて前記車載ネットワークシステムを搭載する車両に対してリバースエンジニアリングが行われている可能性を示す信用スコアを算出する信用スコア算出ステップとを含む。
 本開示の一態様に係る車両監視装置等によれば、車載ネットワークの安全性をより高めることができる。
図1は、実施の形態1における車載ネットワークシステムの全体構成を示す図である。 図2は、実施の形態1におけるECUの構成を示す図である。 図3は、実施の形態1におけるゲートウェイの構成を示す図である。 図4Aは、実施の形態1における信用スコアの一例を示す図である。 図4Bは、実施の形態1における車両データの一例を示す図である。 図5は、実施の形態1における転送ルールの一例を示す図である。 図6は、実施の形態1におけるゲートウェイの処理を示すフローチャートである。 図7は、実施の形態1におけるゲートウェイの信用スコア算出のフローチャートである。 図8は、実施の形態1におけるゲートウェイの監視レベル変更のフローチャートである。 図9は、実施の形態1におけるゲートウェイの動作シーケンスを示す図である。 図10は、実施の形態1におけるゲートウェイの動作シーケンスを示す図である。 図11Aは、実施の形態1における運転者へ通知する表示内容の一例を示す図である。 図11Bは、実施の形態1における運転者へ通知する表示内容の別の一例を示す図である。 図12は、実施の形態2におけるゲートウェイの処理を示すフローチャートである。 図13は、実施の形態2におけるゲートウェイの不審スコア算出のフローチャートである。 図14は、実施の形態2におけるゲートウェイの監視レベル変更のフローチャートである。
 (本開示に至った経緯)
 本開示の実施の形態等の説明に先立ち、本開示の基礎に至った経緯について説明する。
 上記のように、特許文献1および非特許文献1に開示されている技術では、車載ネットワークの安全性を高める観点から改善の余地がある。
 一般に、車両の不正制御を試みる攻撃者は、車両の不正制御を引き起こすためのフレームの調査等のリバースエンジニアを車載ネットワークに対して事前に行うことで攻撃方法を確立させていくことが想定される。
 車両の不正制御を実施する前の車載ネットワークの調査段階における攻撃者の活動を把握することができれば、攻撃発生の予兆として、攻撃者によるリバースエンジニアリングを妨害する、または、対象車両を重点的に監視し攻撃内容を未然に把握する等のアクションにつなげることができる。
 そこで、本願発明者らは、車載ネットワークの調査段階における攻撃者の活動を把握することができる車両監視装置等について鋭意検討を行い、以下に説明する車両監視装置等を創案した。例えば、本願発明者らは、車載ネットワークにおけるフレームを監視し、攻撃者のリバースエンジニアによって発生する通常とは異なる車両の挙動を捉え、車両がリバースエンジニアをされている可能性を算出することで、車載ネットワークの調査段階における攻撃者の活動を把握することができることを見出した。
 本開示の一実施態様の車両監視装置は、1以上の電子制御ユニットを備える車載ネットワークシステムを監視する車両監視装置であって、前記車載ネットワークシステムに流れるフレームを受信するフレーム受信部と、前記フレーム受信部で受信した前記フレームと当該フレームの受信より前に前記フレーム受信部で受信した1以上のフレームに関する情報を含む車両データとに基づいて通常の運転挙動とは異なる不審挙動を検知し、検知結果に基づいて前記車載ネットワークシステムを搭載する車両に対してリバースエンジニアリングが行われている可能性を示す信用スコアを算出する信用スコア算出部と、を備える。
 これにより、車載ネットワークシステムをリバースエンジニアリングしている疑わしさ(信用スコア)を算出することが可能となり、より疑わしい車両を把握することができ効果的である。つまり、車両監視装置は、信用スコアに基づいて、車両の不正制御を実施する前の車載ネットワークに対する調査段階における攻撃者の活動を把握することができるので、車両の車載ネットワークの安全性をより高めることができる。
 また、前記不審挙動は、監視装置の接続、エラーフレーム、ネットワークの瞬断、バッテリー取り外しのいずれかが検知された場合に、パッシブモニタリング活動として検知され、前記信用スコア算出部は、前記パッシブモニタリング活動が検知された場合に、前記信用スコアを減少させるとしてもよい。
 これにより、攻撃者が、車載ネットワークシステムのログを取得しようとする試行を捉えることが可能となり、効果的である。つまり、車両監視装置は、信用スコアに基づいて、パッシブモニタリング活動を把握することができるので、車両の車載ネットワークの安全性をより高めることができる。
 また、前記不審挙動は、所定の第1時間内における、車内のボタンの操作回数、異常な運転挙動の検知回数のいずれかが所定数以上である、または、運転支援機能の発動間隔が所定値未満である場合に、アクティブモニタリング活動として検知され、前記運転支援機能は、自動駐車支援、オートクルーズコントロール、緊急ブレーキ、レーンキープアシストのいずれかであり、前記異常な運転挙動は、アクセル開度、ブレーキ圧、所定時間内における操舵角の変化量が所定値以上であることであり、前記信用スコア算出部は、前記アクティブモニタリング活動が検知された場合に、前記信用スコアを減少させるとしてもよい。
 これにより、攻撃者が、不正制御を行うためのヒントを得るための車載ネットワークログを積極的に取得しようとする活動を捉えることが可能となり効果的である。つまり、車両監視装置は、信用スコアに基づいて、アクティブモニタリング活動を把握することができるので、車両の車載ネットワークの安全性をより高めることができる。
 また、前記不審挙動は、所定の第1時間内における、前記フレームの受信量、診断コマンドの受信量のいずれかが所定数以上である場合に、インジェクション活動として検知され、前記信用スコア算出部は、前記インジェクション活動が検知された場合に、前記信用スコアを減少させるとしてもよい。
 これにより、攻撃者が、車載ネットワークに対して、何らかのフレーム注入を試行する活動を捉えることが可能となり効果的である。つまり、車両監視装置は、信用スコアに基づいて、インジェクション活動を把握することができるので、車両の車載ネットワークの安全性をより高めることができる。
 また、前記不審挙動は、所定の第1時間内における、アップデートコマンドの受信量、同一属性のフレームの受信量のいずれかが所定数以上である場合に、リファインメント活動として検知され、前記同一属性のフレームとは、前記フレームに含まれる識別子、IPアドレス、MACアドレス、ポート番号のいずれか、または、いずれか2つ以上の組み合わせが同一であるフレームであり、前記信用スコア算出部は、前記リファインメント活動が検知された場合に、前記信用スコアを減少させるとしてもよい。
 これにより、攻撃者が車両の不正制御を実現するために、より洗練された攻撃を試行していることを捉えることが可能となり効果的である。つまり、車両監視装置は、信用スコアに基づいて、リファインメント活動を把握することができるので、車両の車載ネットワークの安全性をより高めることができる。
 また、前記車両監視装置は、さらに、監視レベル変更部を備え、前記監視レベル変更部は、前記信用スコアが所定の値未満となった場合に、前記信用スコアの値に基づいて、前記車両の機能の制限、前記車両の運転者への注意喚起、近隣車両またはサーバへの信用スコアの通知、および、前記車載ネットワークシステムの監視強化のいずれか1つ以上を実行するとしてもよい。
 これにより、攻撃者によるリバースエンジニアリング活動の疑わしさが高い車両を重点的に監視することが可能となり効率的である。また、監視レベル変更部によれば、信用スコアの値に基づいて各種対応を行うので、リバースエンジニアリングが行われている場合に、攻撃者がリバースエンジニアリングを継続して行うことを抑制する効果が期待できる。
 また、前記不審挙動は、前記リバースエンジニアリングの各段階を示す複数の種類を有し、前記信用スコア算出部は、前記不審挙動の前記複数の種類のそれぞれにおいて信用スコアを算出するとしてもよい。
 これにより、攻撃者のリバースエンジニアリング活動のフェーズごとに不審挙動の疑わしさを把握することが可能となり、効果的である。つまり、車両監視装置は、複数の種類の信用スコアに基づいて、車両の不正制御を実施する前の車載ネットワークに対する調査段階における攻撃者の活動の段階(フェーズ)を把握することができるので、車両の車載ネットワークの安全性をさらに高めることができる。
 また、前記不審挙動の前記複数の種類は、パッシブモニタリング活動、アクティブモニタリング活動、インジェクション活動、リファインメント活動の少なくとも2つを含み、前記パッシブモニタリング活動は、前記車両データを取得するための行動であり、前記アクティブモニタリング活動は、前記車両の特定機能動作中または特定状況における前記車両データを取得しようとするための動作であり、前記インジェクション活動は、前記車載ネットワークシステムへのフレームの注入を試行するための行動であり、前記リファインメント活動は、前記車載ネットワークシステムに注入されるフレームの精度を向上させるためのフレームの注入を試行するための行動であってもよい。
 これにより、攻撃者のリバースエンジニアリング活動の段階が、パッシブモニタリング活動、アクティブモニタリング活動、インジェクション活動およびリファインメント活動の少なくとも2つのうちのいずれの活動であるかを把握することができる。つまり、車両監視装置は、現在行われているリバースエンジニアリング活動の段階をより詳細に取得することができるので、車両の車載ネットワークの安全性をさらに高めることができる。
 また、前記不審挙動は、監視装置の接続、エラーフレーム、ネットワークの瞬断、バッテリー取り外しのいずれかが検知された場合に、前記パッシブモニタリング活動として検知され、所定の第1時間内における、運転支援機能の発動回数、車内のボタンの操作回数、異常な運転挙動の検知回数、のいずれかが所定数以上である場合に前記アクティブモニタリング活動として検知され、所定の第1時間内における、前記フレームの受信回数、診断コマンドの受信回数のいずれかが所定数以上である場合に前記インジェクション活動として検知され、所定の第1時間内における、アップデートコマンドの受信回数、同一属性のフレームの受信回数のいずれかが所定数以上である場合に前記リファインメントとして検知される。
 これにより、信用スコアを算出するための専用の情報を用いることなく、攻撃者のリバースエンジニアリング活動の段階を取得することができる。つまり、車両監視装置は、より簡単に攻撃者のリバースエンジニアリング活動の段階を取得することができる。
 また、前記車両監視装置は、さらに、監視レベル変更部を備え、前記監視レベル変更部は、前記不審挙動の前記複数の種類と、前記不審挙動の前記複数の種類のそれぞれに対応する信用スコアの値とに基づいて、前記車両の一部機能の制限、前記車両の運転者への注意喚起、および、近隣車両またはサーバへの信用スコアの通知のいずれか1つ以上を実行するとしてもよい。
 これにより、攻撃者のリバースエンジニアリング活動のフェーズに応じた対応が可能となり、車載ネットワークの安全性向上に効果的である。
 また、前記信用スコア算出部は、所定の第2時間が経過するまたは前記車両に対して所定の第1操作が実行されると、前記信用スコアを上昇させてもよい。また、前記信用スコア算出部は、所定の第3時間が経過するまたは前記車両に対して所定の第2操作が実行されると、前記信用スコアをリセットさせてもよい。
 これにより、信用スコア算出部は、信用スコアを回復させることが可能となる。車両の運転者(攻撃者ではない通常の運転者)により信用スコアが低下する運転が行われた場合に、信用スコアを自動で補正することができる。よって、車両監視装置は、車載ネットワークに対する調査段階における攻撃者の活動を、より確実に把握することができる。
 また本開示の一実施態様の車両監視方法は、1以上の電子制御ユニットを備える車載ネットワークシステムを監視する車両監視方法であって、前記車載ネットワークシステムに流れるフレームを受信する受信ステップと、前記受信ステップで受信した前記フレームと該フレームの受信より前に受信した1以上のフレームに関する情報を含む車両データとに基づいて通常の運転挙動とは異なる不審挙動を検知し、検知結果に基づいて前記車載ネットワークシステムを搭載する車両に対してリバースエンジニアリングが行われている可能性を示す信用スコアを算出する信用スコア算出ステップとを含む。
 これにより、上記の車両監視装置と同様の効果を奏する。例えば、車両監視方法によれば、車載ネットワークシステムをリバースエンジニアリングしている疑わしさを算出することが可能となり、より疑わしい車両を把握することができ効果的である。
 以下、図面を参照しながら、本開示の実施の形態に関わる車載ネットワーク異常検知システムについて説明する。なお、以下で説明する実施の形態は、いずれも本開示の好ましい一具体例を示す。つまり、以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置および接続形態、ステップ、ステップの順序などは、本開示の一例であり、本開示を限定する主旨ではない。本開示は、請求の範囲の記載に基づいて特定される。したがって、以下の実施の形態における構成要素のうち、本開示の最上位概念を示す独立請求項に記載されていない構成要素は、本開示の課題を達成するために必ずしも必要ではないが、より好ましい形態を構成する構成要素として説明される。
 また、各図は模式図であり、必ずしも厳密に図示されたものではない。また、各図において、実質的に同一の構成に対しては同一の符号を付し、重複する説明は省略または簡略化される場合がある。
 (実施の形態1)
 以下、複数の電子制御ユニット(ECU)が通信する車載ネットワーク(車載ネットワークシステム)を搭載した車両における、車両監視装置および車両監視方法について説明する。より具体的には、車載ネットワークシステムに流れるフレームに基づいて、攻撃者がリバースエンジニアリングを実施することによる車両挙動の不正度を表す信用スコアを算出し、算出した信用スコアに応じて車両の監視機能を変更する車載ネットワークセキュリティ技術について説明する。
 [1.1 車載ネットワークシステムの全体構成]
 図1は、本実施の形態における車載ネットワークシステムの全体構成を示す図である。図1に示すように、車載ネットワークシステムは、ECU10、11、20、21、30、31、40、41と、診断ポート50と、ゲートウェイ60とを備える。
 ECU10とECU11とはバス1に接続し、ECU20とECU21とはバス2に接続し、ECU30とECU31とはバス3に接続し、ECU40とECU41とはバス4に接続している。また、診断ポート50は、バス5に接続している。ゲートウェイ60は、全てのバスに接続している。
 各ECUは、互いにController Area Network(CAN)で接続されており、フレームの通信を行う。各バスは、例えば車両200の機能ごとにドメイン分離されていてもよい。例えばバス1は、パワートレイン系のECUが配置されており、エンジンの制御等に関わる通信が行われる。また、例えば、バス2、はシャシー系のECUが配置されており、ステアリングの制御またはブレーキ制御を実現するための通信が行われる。また、バス3は、情報系のECUが配置されており、カーナビやインフォテインメント系の通信が行われる。また、バス4は、ボディ系のECUが配置され、搭乗者のボタン押下によるエアコン制御またはパワーウインドウ等の制御を行うための通信が行われる。
 ゲートウェイ60は、全てのバスの情報を受信し、必要であれば受信したフレームを、他のバスへ転送する処理を行う。例えばバス5に、診断用のフレームが流れていた場合には、当該フレームをバス1~4に転送する処理等を行う。ゲートウェイ60は、車両監視装置の一例である。ゲートウェイ60は、1以上のECUによって構成される車載ネットワークシステムにおける処理等を行う。
 なお、本実施の形態では、各バスはCANで実現されているとしたが、通信プロトコルはこれに限らない。例えば、CAN-FD(CAN with Flexible Data Rate))、FlexRay(登録商標、以下同様)、Ethernetであってもよいし、バスごとに通信プロトコルが異なっていても構わない。
 [1.2 ECU10の構成]
 図2は、本実施の形態におけるECU10の構成を示す図である。なお、ECU11、ECU20、ECU21、ECU30、ECU31、ECU40、ECU41は、ECU10と同様の構成であるが、それぞれ接続されるセンサまたはアクチュエータが異なるので、実現する機能が異なる。
 ECU10は、例えばプロセッサ、メモリ、通信インタフェース等を備えるコンピュータにより実現される。図2に示すように、ECU10は、通信部100とホスト部101とを有する。
 通信部100は、バス1に接続し、バス1に流れるフレームの送受信を行う。通信部100は、車載ネットワークシステムに流れるフレームを送受信するとも言える。通信部100は通信コントローラまたはトランシーバ等によって実現される。
 ホスト部101は、ECU10のメイン処理を行う部分であり、CPU(Central Processing Unit)とメモリとによって実現される。ホスト部101は、通信部100から受信したフレームを解釈し、通信内容(解釈結果)に応じた処理を実施する。例えばECU10は、エンジン制御を行うECUであるとする。クルーズコントロールの機能で車両速度の増加要求フレームを他のECUから受信した場合に、所望の車両速度となるように、当該ECU10のホスト部101は、エンジン回転数を上昇させる制御等を行う。また、ECU10がエンジン回転数の情報を受信した場合に、当該ECU10のホスト部101は、他のECUへ通知するためにフレームを送信する等の処理を行う。
 [1.3 ゲートウェイ60の構成]
 図3は、本実施の形態におけるゲートウェイ60の構成を示す図である。ゲートウェイ60は、例えばプロセッサ、メモリ、通信インタフェース等を備えるコンピュータにより実現される。
 図3に示すように、ゲートウェイ60は、フレーム送受信部61と、フレーム解釈部62と、信用スコア算出部63と、監視制御部64と、転送制御部65と、フレーム生成部66と、サーバ通信部67と、信用スコア保持部68と、転送ルール保持部69とを有する。
 フレーム送受信部61は、バス1~5と接続される通信インタフェースであり、通信コントローラまたはトランシーバ等によって実現される。フレーム送受信部61は、各バスで受信したフレームをフレーム解釈部62へ転送する。また、フレーム送受信部61は、フレーム生成部66からの送信要求に従って、フレームの送信を行う。フレーム送受信部61は、フレーム受信部の一例である。
 フレーム解釈部62は、フレーム送受信部61から転送されたフレームの解釈を行い、フレームに応じた処理を行う。また、フレーム送受信部61は、受信したフレームを、信用スコア算出部63へ通知する。
 信用スコア算出部63は、フレーム解釈部62から通知されたフレームと、信用スコア保持部68に保持されている車両情報(車両データ)とに基づいて、車両200の信用スコアを算出し、信用スコア保持部68に格納されている車両200の信用スコアおよび車両情報を更新する。
 信用スコア算出部63は、車両200が通常とは異なる利用をされている度合いを信用スコアとして算出する。信用スコア算出部63は、特に攻撃者が車両200をリバースエンジニアリングする目的で活動している兆候を捉えるために信用スコアを算出する。
 信用スコアは、例えば、リバースエンジニアリングが行われている可能性(例えば、攻撃者がリバースエンジニアリングしている疑わしさ)を示す指標である。また、信用スコアは、例えば、リバースエンジニアリングが行われている可能性を判定可能な指標である。また、信用スコアは、例えば、通常の運転者であれば行わない、または、行う可能性が低い車両200における利用が行われていることを示す指標であるとも言える。なお、本明細書におけるリバースエンジニアリングは、車載ネットワークシステムを解析することである。よって、信用スコアは、例えば、車両200の車載ネットワークシステムの解析が行われている可能性、または、解析の度合いを示す指標であるとも言える。
 本実施の形態では、信用スコア算出部63は、フレーム送受信部61で受信したフレームと当該フレームの受信より前にフレーム送受信部61で受信した1以上のフレームに関する車両データとに基づいて通常の運転挙動とは異なる不審挙動を検知し、不審挙動の検知結果に基づいて車載ネットワークシステムを搭載する車両200に対してリバースエンジニアリングが行われている可能性を示す信用スコアを算出する。信用スコア算出部63は、フレーム送受信部61で受信したフレームと車両データとに基づいて、当該フレームを受信する前の信用スコアを更新するとも言える。
 このように、信用スコア算出部63は、フレーム送受信部61で受信したフレームを含むフレームの時系列データに基づいて信用スコアを算出する。信用スコア算出部63は、例えば、現在受信したフレームと、現在より過去に受信したフレーム(車両データに含まれるフレーム)とに基づいて現在の信用スコアを算出する。
 なお、通常の運転挙動とは、リバースエンジニアリングを行わない運転者が車両200を運転するときに行い得ると想定される運転挙動である。また、ここでの運転挙動には、車両200の走行時における運転状態の挙動(例えば、後述する図4Bに示す緊急ブレーキ発動間隔など)、および、車両200の内部処理における挙動(例えば、後述する図4Bに示すエラーフレーム発生間隔など)の両方が含まれる。また、以下において、どのような不審挙動のときに信用スコアを減少させるかを例示するが、不審挙動は以下に限定されない。
 例えば、イグニッションがかかっている時間に対して、停車している時間の割合が高いことは、停車中の車両200に対して、何らかの調査が行われている兆候とも考えられるため、信用スコア算出部63は、信用スコアを減少させる。
 また、数秒から数分といった短時間で、車両200の運転支援機能(例えば、緊急ブレーキ、クルーズコントロール、自動駐車支援などのいずれか1つ以上)が繰り返し利用される場合も、攻撃者により、不正制御を引き起こすフレームを解析するために、車載ネットワークのログ取得が行われている可能性があるので、信用スコア算出部63は、信用スコアを減少させる。また、運転支援機能には、レーンキープアシスト機能(車線逸脱防止支援機能)が含まれていてもよい。
 また、車両200の極端な運転状態(例えば、急アクセル、急ブレーキ、急ハンドルなど)の検知間隔が短い場合、または、エアコン、ライト等のボディ系を制御するために車内に配置されたボタンが繰り返し押下されている場合も、攻撃者により、車載ネットワーク解析のためのログ取得が行われている可能性があるので、信用スコア算出部63は、信用スコアを減少させる。
 また、車載ネットワークにおいてエラーフレームが発生する間隔が短い場合も、攻撃者によって不正なデバイスが接続されている影響が表れている可能性があるので、信用スコア算出部63は、信用スコアを減少させる。
 また、車載ネットワークのフレームが瞬断される時間が所定期間(例えば数秒程度)発生する場合も、攻撃者によって、車載ネットワークをロギングするためのデバイス、または、不正なフレームを注入するためのデバイスを接続する作業が行われている可能性があるので、信用スコア算出部63は、信用スコアを減少させる。
 また、車載ネットワークに流れる診断コマンドが所定量以上である場合は、攻撃者によって、診断コマンド注入時の車両200への影響調査、または、攻撃試行の影響で生じた故障コードの消去作業が繰り返し行われている可能性があるので、信用スコア算出部63は、信用スコアを減少させる。
 他にも、アップデートを行うためのフレーム数、バッテリーの電圧低下またはバッテリーの取り外しが行われる頻度、通常観測されないIPアドレスまたはポート番号を含むパケット数などに応じて、信用スコア算出部63は、信用スコアを減少させうる。
 上記の信用スコアを減少させる状況は、必ずしも攻撃者による活動とは限らない。そのため、信用スコア算出部63は、算出した信用スコアを不揮発メモリに保持しておき、所定の時間(所定の第2時間の一例)が経過すると(例えば1日おきに)信用スコアを所定値(例えば1)ずつ上昇させてもよい。信用スコア算出部63は、信用スコアを回復させる処理も行うことで、信用スコアを減少させる活動が繰り返し観測される車両200を適切に検出するようにしてもよい。なお、信用スコア算出部63は、車両200に対して所定の操作(所定の第1操作の一例)が実行されると信用スコアを所定値ずつ上昇させてもよい。所定の第1操作は、例えば、イグニッションONする操作であってもよいし、その他の操作であってもよい。
 信用スコア算出部63は、受信したフレームを監視制御部64に通知する。
 監視制御部64は、信用スコア保持部68に保持されている信用スコアに基づいて、通知されたフレームに対する処理を決定する。監視制御部64は、例えば、リバースエンジニアリングに対する監視のレベルを示す監視レベルを、信用スコアに基づいて変更する。監視制御部64は、監視レベル変更部の一例である。
 信用スコアが、所定の閾値よりも高い場合、通知されたフレームに対して特に何も行わず、信用スコア算出部63は、通知されたフレームを転送制御部65へ通知する。
 信用スコアが、所定の閾値以下の場合、縮退モードに入るために、監視制御部64は、通知されたフレームの破棄、または、転送制御部65への縮退モード通知フレームの通知などを行う。縮退モード通知フレームは、他のECUへ縮退モードに入ることを示す通知を行うためのフレームを送信することを示す通知である。また、信用スコアが減少してきたことを通知するために、監視制御部64は、車両ログ(車両データ)と信用スコアとをサーバ通信部67へ通知する。ここで、車両ログは、車載ネットワークで観測されたフレームの情報を含みうる。
 転送制御部65は、通知されたフレームを転送ルール保持部69に保持されている転送ルールに基づいて、転送を行うように、フレーム生成部66へ通知する。
 フレーム生成部66は、転送制御部65から通知されたフレームについての送信要求をフレーム送受信部61に対して行う。
 サーバ通信部67は、監視制御部64から通知された内容をサーバへ通知し、サーバからの通知を受け、監視制御部64へ内容を通知する。
 信用スコア保持部68は、車両200の信用スコアと、信用スコアを算出するためのデータとが格納されている。信用スコア保持部68に格納される情報の詳細は、図4Aおよび図4Bを用いて後述する。
 転送ルール保持部69は、フレームの転送に用いるルールが格納されている。転送ルールの詳細は、図5を用いて後述する。
 なお、ゲートウェイ60が有する各構成要素の一部または全部は、車両200の外部の装置(例えば、サーバ装置)が有していてもよい。この場合、車両200は、受信したフレームおよび車両データを外部の装置に送信する。外部の装置は、車両200からのフレームおよび車両データに基づいて信用スコアを算出し、車両200に送信する。
 [1.4 信用スコア保持部68に格納される信用スコアおよび車両データの一例]
 図4Aは、本実施の形態における信用スコアの一例を示す図である。図4Bは、本実施の形態における車両データの一例を示す図である。信用スコアおよび車両データは、信用スコア保持部68に格納されている。また、車両データは、信用スコアの算出に用いられてもよい。また、図4Bに示す項目は、不審挙動と判定されうる項目である。
 図4Aにおいて、信用スコアは80であることを示している。信用スコアは、0~100の値をとり、初期値は100である。つまり、図4Aでは、初期値が100である信用スコアが、挙動不審が検知されたことにより、80まで減少している例を示している。なお、図4Aに示す80は、例えば、現在の信用スコアを示す。
 また、図4Bの車両データにおいて、イグニッションがONされてからのデータとして、今回値と前回値が格納されている。前回値は、前回にイグニッションがONされてからOFFとなるまでの期間のデータが格納されている。車両データとして、車両200の速度が時速0キロである割合を示す停車時間割合、緊急ブレーキがONになってから、次に緊急ブレーキがONとなる間隔を示す緊急ブレーキ発動間隔、クルーズコントロール発動間隔、自動駐車支援発動間隔、アクセル開度が100%を示すフレームを受信した間隔を示す急アクセル検知間隔、急ブレーキ検知間隔、急ハンドル検知間隔、エラーフレームを受信した間隔を示すエラーフレーム発生間隔、メッセージ瞬断時間、バッテリー電圧低下有無またはバッテリーの取り外しの有無、診断コマンド受信回数、アップデートコマンド受信回数、車内に存在するエアコンまたはライト等を制御するボタンが単位時間内(例えば1分間)に押された回数を示すボタン連続押下回数、サードパーティ装置の接続の有無に関する情報が格納されている。なお、発動間隔は、発動する時間間隔を意味し、検知間隔は、検知する時間間隔を意味する。サードパーティ装置は、監視装置の一例である。また、上記の受信回数は、受信量の一例であり、ボタン連続押下回数は、操作回数の一例である。なお、受信量は受信回数に限定されず、データ量であってもよい。例えば、図4Bは、診断コマンド受信回数に代えて診断コマンドのデータ量(所定の第1時間におけるデータの合計量)であってもよい。
 図4Bでは、格納されている車両データとして、停車時間割合が今回は70%であるのに対して、前回は50%であったことを示している。また、緊急ブレーキ発動間隔は、今回が60秒であるのに対して、前回は、「-」であり、今回は緊急ブレーキが2回以上発動していないことを示している。また、クルーズコントロールの発動間隔は、今回は、「-」であり、今回は2回以上発動していないことを示しているのに対して、前回は1000秒間隔で発動していることを示している。また、自動駐車支援発動間隔は、今回が30秒間隔で発動しているのに対して、前回は、「-」であり、2回以上自動駐車支援が発動していないことを示している。
 急アクセル検知間隔は、今回、前回ともに、「-」であり、2回以上の急アクセルを検知していないことを示している。同様に、急ブレーキ検知間隔、急ハンドル検知間隔についても、前回、今回ともに「-」であり、2回以上の該当フレームを受信していないことを示している。なお、急アクセル、急ブレーキおよび急ハンドルは、異常な運転挙動の一例である。
 エラーフレーム発生間隔は、今回は1秒間隔であり、前回は「-」でありる。今回は、1秒間隔で該当フレームを受信しているのに対し、前回は、2回以上の該当フレームを受信していないことを示している。また、メッセージ瞬断時間は、今回は3秒であり、前回は、0秒(つまり1秒未満)であることを示している。
 バッテリー電圧低下有無については、今回はバッテリー電圧低下を検知しており、前回はバッテリー電圧低下を検知していないことを示している。診断コマンド受信回数と、アップデートコマンド受信回数は前回、今回ともに0回であることを示している。
 ボタン連続押下回数については、今回は30回押されたのに対して、前回は3回であることを示している。
 サードパーティ装置の接続の有無については、今回は接続されたのに対して、前回は接続されなかったことを示している。
 なお、図4Bに示す時間間隔に関する項目(例えば、緊急ブレーキ発動間隔、急アクセル検知間隔など)は、所定の第1時間内の発動回数または検知回数であってもよい。また、図4Bに示す回数に関する項目(例えば、診断コマンドまたはアップデートコマンド受信回数、ボタン連続押下回数など)は、前回の受信時刻または押下時刻、および、今回の受信時刻または押下時刻に基づく時間間隔であってもよい。信用スコア算出部63は、図4Bに示す項目における時間間隔または回数のいずれかを用いて信用スコアを算出すればよい。車両データには、例えば、車載ネットワークで観測された各項目におけるフレームの情報が含まれる。車両データには、例えば、フレームの受信時刻を示す時刻情報またはフレームの受信量を示す情報などが含まれる。車両データには、例えば、現在より前に(過去に)フレーム送受信部61で受信した1以上のフレームに関する情報が含まれるとも言える。また、図4Bに示す車両データは、ログ情報の一例である。また、車両データを車両ログまたは車両情報とも記載する。
 なお、本実施の形態では、信用スコアおよび車両データは平文で保持されているが、暗号化されて保持されていてもよい。
 [1.5 転送ルール保持部に格納される転送ルールの一例]
 図5は、本実施の形態における転送ルールの一例である。転送ルール保持部69は、同図に示すようにフレームのIDごとに、転送元および転送先が格納されたテーブル(転送ルール)を格納している。
 図5では、IDが0x100のフレームの転送元はバス1であり、当該フレームは、バス2、3、4に転送されることを示している。同様にIDが0x200のフレームの転送元はバス2であり、バス3に転送されることを示しており、IDが0x250のフレームの転送元はバス2であり、バス4に転送されることを示しており、IDが0x300のフレームの転送元はバス3であり、バス1に転送されることを示している。
 [1.6 ゲートウェイ60の処理を示すフローチャート]
 図6は、本実施の形態におけるゲートウェイ60の処理を示すフローチャートである。
 図6に示すように、ゲートウェイ60は、フレームを受信しているか否かを判定する(S10)。
 フレームを受信している場合(S10でYes)、ゲートウェイ60は、信用スコアを算出する(S11)。フレームを受信していない場合(S10でNo)、ゲートウェイ60は、フレームを受信するまで待機する。
 ゲートウェイ60は、信用スコアを算出後、算出した信用スコアが所定値以下であるか否かを確認する(S12)。監視制御部64は、信用スコア算出部63により算出された信用スコアが所定値以下であるか否かを判定する。
 信用スコアが所定値以下である場合(S12でYes)、ゲートウェイ60は、監視レベルを変更し(S13)、転送処理を実行する(S14)。
 信用スコアが所定値よりも大きい場合(S12でNo)、ゲートウェイ60は、監視レベルを変更せずに転送処理を実行する(S14)。
 次に、ゲートウェイ60の信用スコア算出部63は、所定の時間が経過したか否かを判定する(S15)。所定の時間は、例えば、前回ステップS15でYesと判定してからの経過時間であるが、これに限定されず、信用スコアがリセットされてからの経過時間であってもよいし、信用スコアがリセットされてからの運転時間であってもよい。
 信用スコア算出部63は、所定の時間経過した場合(S15でYes)、信用スコアを1インクリメントする、または、信用スコアをリセットし(S16)、処理を終了する。信用スコア算出部63は、信用スコアを1インクリメントする場合、現在の信用スコアに1インクリメントした信用スコアを信用スコア保持部68に格納する。また、信用スコア算出部63は、信用スコアをリセットする場合、現在の信用スコアに関わらず、信用スコアの初期値(例えば、100)を信用スコア保持部68に格納する。
 また、信用スコア算出部63は、所定の時間経過していない場合(S15でNo)、信用スコアを変更せずに処理を終了する。
 なお、ステップS15の判定は、所定の時間に基づいて判定されることに限定されず、車両200に対して所定の操作が実行されることにより行われてもよい。所定の操作は、例えば、ステップS16の処理を実行することを示す操作(例えば、ボタンに対する操作)であってもよいし、イグニッションONまたはOFFする操作であってもよい。信用スコアをインクリメントするための操作は、所定の第1操作の一例であり、信用スコアをリセットするための操作は、所定の第2操作の一例である。
 なお、信用スコアは、複数回インクリメントが行われた後に、リセットされてもよい。つまり、信用スコアがリセットされるときの時間(所定の第3時間の一例)は、信用スコアがインクリメントされるときの時間(所定の第2時間の一例)より長い時間であってもよい。
 [1.7 ゲートウェイ60の信用スコア算出のフローチャート]
 図7は、本実施の形態におけるゲートウェイ60の信用スコア算出のフローチャートである。具体的には、図7は、図6のステップS11の信用スコアを算出する処理の詳細を示すフローチャートである。なお、図7では、不審挙動として判定される項目が、診断コマンドまたはアップデートコマンドの受信回数、運転支援機能をONするコマンドの受信間隔(例えば、緊急ブレーキの発動間隔)、および、急ブレーキ、急ハンドル、急アクセルの検知間隔である例について説明する。
 図7に示すように、ゲートウェイ60は、受信したフレームが診断コマンドまたはアップデートコマンドであるか否かを確認する(S1101)。信用スコア算出部63は、受信したフレームが診断コマンドまたはアップデートコマンドであるか否かを判定する。
 信用スコア算出部63は、受信したフレームが診断コマンドまたはアップデートコマンドである場合(S1101でYes)、該当コマンドの受信回数を更新する(S1102)。信用スコア算出部63は、例えば、信用スコア保持部68に格納されている該当コマンドの受信回数を1インクリメントする。
 次にゲートウェイ60は、該当コマンドの受信回数が所定値以上(例えば100回以上)であるか否かを判定する(S1103)。信用スコア算出部63は、例えば、更新した当該コマンドの受信回数が、所定値以上であるか否かを判定する。ステップS1103の判定で用いる所定値は、信用スコア保持部68に予め格納されている。
 所定の第1時間内における該当コマンドの受信回数が所定値以上である場合(S1103でYes)、ゲートウェイ60は、信用スコアを1デクリメントして(S1104)、処理を終了する。また、所定の第1時間内における該当コマンドの受信回数が所定値よりも小さい場合(S1103でNo)、ゲートウェイ60は、処理を終了する。つまり、信用スコア算出部63は、該当コマンドの受信回数が所定値以上である場合、信用スコアを更新し、該当コマンドの受信回数が所定値よりも小さい場合、信用スコアの更新を行わない。なお、所定の第1時間は、例えば、ステップS15の判定に用いた時間であってもよいし、図7に示す判定処理に用いられる専用の時間であってもよい。所定の第1時間は、例えば、信用スコア保持部68に予め格納されている。また、図7の説明において使用する他の所定の第1時間においても同様である。
 このように、信用スコア算出部63は、不審挙動が、所定の第1時間内における診断コマンドまたはアップデートコマンドの受信回数のいずれかが所定数以上である場合に、信用スコアを減少させる。
 また、信用スコア算出部63は、所定の第1時間内における、診断コマンドの受信回数が所定数以上である場合に、当該不審挙動をインジェクション活動として検知し、インジェクション活動が検知された場合に、信用スコアを減少するとも言える。なお、インジェクション活動として検知される不審挙動は、診断コマンドの受信回数に限定されず、例えば、所定の第1時間内におけるフレームの受信回数であってもよい。
 また、信用スコア算出部63は、所定の第1時間内における、アップデートコマンドの受信回数が所定数以上である場合に、当該不審挙動をリファインメント活動として検知し、リファインメント活動が検知された場合に、信用スコアを減少してもよい。リファインメント活動として検知される不審挙動は、アップデートコマンドの受信回数が所定回数以上であることに限定されず、例えば、所定の第1時間内における同一属性のフレームの受信回数が所定回数以上であることであってもよい。
 同一属性のフレームとは、フレームに含まれる識別子、IPアドレス、MACアドレス、ポート番号のいずれか、または、いずれか2つ以上の組み合わせが同一であるフレームである。また、属性は、フレームを特定する情報であり、フレームに含まれる識別子、IPアドレス、MACアドレス、ポート番号などである。
 ステップS1101において、受信したフレームが診断コマンドまたはアップデートコマンドでない場合(S1101でNo)、ゲートウェイ60は、受信したフレームが、運転支援機能がONとなるコマンドであるか否かを確認する(S1105)。信用スコア算出部63は、不審挙動がインジェクション活動またはリファインメント活動として検知されなかった場合、ステップS1105に進むとも言える。
 次に、受信したフレームが運転支援機能ONコマンドである場合(S1105でYes)、ゲートウェイ60は、該当機能について前回に当該機能がONとなった時刻(例えば、当該ONコマンドを受信した時刻)からの経過時間を更新する(S1106)。信用スコア算出部63は、運転支援機能ONコマンドのフレームを前回受信した時刻を信用スコア保持部68から取得し、取得した時刻とステップS1105でYesと判定したフレームを受信した時刻とに基づいて経過時間を更新する。信用スコア算出部63は、例えば、経過時間を当該2つの時刻の時間差とする。
 次に、ゲートウェイ60は、更新した経過時間が所定値未満(例えば5分未満)であるか否かを確認する(S1107)。信用スコア算出部63は、更新した経過時間が所定値未満であるか否かを判定する。ステップS1107の判定で用いる所定値は、信用スコア保持部68に予め格納されている。
 所定の第1時間内における経過時間が所定値未満である場合(S1107でYes)、ゲートウェイ60は、信用スコアを1デクリメントし(S1104)、終了する。
 所定の第1時間内における経過時間が所定値以上である場合(S1107でNo)、ゲートウェイ60は、特に何もせずに処理を終了する。つまり、信用スコア算出部63は、経過時間が所定値未満である場合、信用スコアを更新し、経過時間が所定値以上である場合、信用スコアの更新を行わない。
 このように、信用スコア算出部63は、不審挙動が、所定の第1時間内における運転支援機能の発動間隔が所定値未満である場合に、信用スコアを減少させる。なお、信用スコア算出部63は、所定の第1時間内における、運転支援機能の発動回数が所定数以上である場合に、ステップS1107でYesと判定してもよい。運転支援機能の発動回数は、運転支援機能が発動した回数であってもよいし、運転支援機能ONコマンドを受信した回数であってもよい。
 また、信用スコア算出部63は、所定の第1時間内における経過時間が所定値未満である場合、または、所定の第1時間内における運転支援機能の発動回数が所定数以上である場合に、当該不審挙動をアクティブモニタリング活動として検知し、アクティブモニタリング活動が検知された場合に、信用スコアを減少させてもよい。アクティブモニタリング活動として検知される不審挙動は、運転支援機能に関するものに限定されず、例えば、所定の第1時間内における車内のボタンの操作回数(例えば、図4Bに示すボタン連続押下回数)が所定回数以上であることであってもよい。
 ステップS1105において、受信したフレームが運転支援機能ONコマンドでない場合(S1105でNo)、ゲートウェイ60は、受信したフレームから、急ブレーキ、急ハンドル、急アクセルのいずれかが検知されるか否かを確認する(S1108)。信用スコア算出部63は、受信したフレームが急ブレーキ、急ハンドル、急アクセルのいずれかであるか否かを判定する。
 急ブレーキ、急ハンドル、急アクセルのいずれかが検知される場合(S1108でYes)、ゲートウェイ60は、前回の検知時刻からの経過時間を更新する(S1109)。信用スコア算出部63は、急ブレーキ、急ハンドル、急アクセルのいずれかのフレームを前回受信した時刻を信用スコア保持部68から取得し、取得した時刻とステップS1108でYesと判定したフレームを受信した時刻とに基づいて経過時間を更新する。信用スコア算出部63は、例えば、経過時間を当該2つの時刻の時間差とする。経過時間は、検知間隔の一例である。
 ゲートウェイ60は、経過時間が、所定値未満(例えば5分未満)であるかを確認する(S1110)。信用スコア算出部63は、更新した経過時間が所定値未満であるか否かを判定する。ステップS1110の判定で用いる所定値は、信用スコア保持部68に予め格納されている。
 所定の第1時間内における経過時間が所定値未満である場合(S1110でYes)、ゲートウェイ60は、信用スコアを1デクリメントし(S1104)、終了する。
 所定の第1時間内における経過時間が所定値以上である場合(S1110でNo)、ゲートウェイ60は、特に何もせずに終了する。つまり、信用スコア算出部63は、経過時間が所定値未満である場合、信用スコアを更新し、経過時間が所定値以上である場合、信用スコアの更新を行わない。
 このように、信用スコア算出部63は、不審挙動が、所定の第1時間内における、急ブレーキ、急ハンドル、急アクセルのいずれか(異常な運転挙動の一例)の経過時間が所定値未満である場合に、信用スコアを減少するとも言える。
 また、信用スコア算出部63は、所定の第1時間内における、ブレーキ、急ハンドル、急アクセルのいずれかの経過時間が所定値未満である場合に、当該不審挙動をアクティブモニタリング活動として検知し、アクティブモニタリング活動が検知された場合に、信用スコアを減少するとも言える。
 なお、不審挙動は、所定の第1時間内における異常な運転挙動の検知回数が所定値以上であることであってもよい。異常な運転挙動は、アクセル開度、ブレーキ圧、所定時間内における操舵角の変化量が所定値以上であることであってもよい。
 ステップS1108において、受信したフレームが急ブレーキ、急ハンドルおよび急アクセルのいずれも検知されない場合(S1108でNo)、ゲートウェイ60は、受信したフレームがエラーフレームであるか否かを確認する(S1111)。信用スコア算出部63は、受信したフレームがエラーフレームであるか否かを判定する。
 エラーフレームでない場合(S1111でNo)、ゲートウェイ60は、何もせずに処理を終了する。
 エラーフレームである場合(S1111でYes)、ゲートウェイ60は、前回の検知時刻からの経過時間を更新する(S1112)。信用スコア算出部63は、エラーフレームを前回受信した時刻を信用スコア保持部68から取得し、取得した時刻とステップS1111でYesと判定したフレームを受信した時刻とに基づいて経過時間を更新する。信用スコア算出部63は、例えば、経過時間を当該2つの時刻の時間差とする。経過時間は、発生間隔の一例である。
 ゲートウェイ60は、経過時間が、所定値未満(例えば5分未満)であるかを確認する(S1113)。信用スコア算出部63は、更新した経過時間が所定値未満であるか否かを判定する。ステップS1113の判定で用いる所定値は、信用スコア保持部68に予め格納されている。
 所定の第1時間内における経過時間が所定値未満である場合(S1113でYes)、ゲートウェイ60は、信用スコアを1デクリメントし(S1104)、終了する。
 所定の第1時間内における経過時間が所定値以上である場合(S1113でNo)、ゲートウェイ60は、何もせずに終了する。つまり、信用スコア算出部63は、経過時間が所定値未満である場合、信用スコアを更新し、経過時間が所定値以上である場合、信用スコアの更新を行わない。
 このように、信用スコア算出部63は、不審挙動が、所定の第1時間内におけるエラーフレームの経過時間が所定値未満である場合に、信用スコアを減少させる。
 また、信用スコア算出部63は、所定の第1時間内における、エラーフレームの経過時間が所定値以上である場合に、当該不審挙動をパッシブモニタリング活動として検知し、パッシブモニタリング活動が検知された場合に、信用スコアを減少するとも言える。なお、パッシブモニタリング活動として検知される不審挙動は、エラーフレームが検知されたことであってもよい。また、パッシブモニタリング活動として検知される不審挙動は、サードパーティ装置(監視装置の一例)の接続、ネットワークの瞬断(例えば、メッセージの瞬断)、バッテリー電圧の低下またはバッテリーの取り外しのいずれかが検知されたことであってもよいし、当該いずれかの経過時間が所定値未満であることであってもよい。また、パッシブモニタリング活動として検知される不審挙動は、停車時間割合(例えば、所定の第1時間に対する停車している時間の割合)が所定割合以上であることであってもよい。
 なお、信用スコア算出部63は、図7に示すステップS1101、S1105、S1108およびS1111のうち、少なくとも1つの判定を行えばよい。信用スコア算出部63は、例えば、パッシブモニタリング活動、アクティブモニタリング活動、インジェクション活動およびリファインメント活動の少なくとも1つを不審挙動として検知可能であればよい。
 [1.8 ゲートウェイ60の監視レベル変更のフローチャート]
 図8は、本実施の形態におけるゲートウェイ60の監視レベル変更のフローチャートである。具体的には、図8は、図6のステップS13の監視レベルを変更する処理の詳細を示すフローチャートである。なお、図8に示す動作は、例えば、監視制御部64により実行される。
 図8に示すように、ゲートウェイ60は、ステップS12において、信用スコアが所定値以下である場合(S12でYes)、信用スコアが30以下であるか否かを判定する(S1301)。監視制御部64は、例えば、ステップS11において算出された信用スコアが所定値以下であるか否かを判定する。ステップS1301の判定で用いる所定値は、信用スコア保持部68に予め格納されている。また、信用スコア30は、第1の閾値の一例である。
 信用スコアが30以下の場合(S1301でYes)、ゲートウェイ60は、縮退モードへ移行する(S1302)。縮退モードとは、運転支援機能の一部またはすべてを無効化するモードである。縮退モードに移行する処理を行うために、ゲートウェイ60は、他のECUへ通知を行ったり、機能を無効化したことを運転者に通知する(注意喚起する)表示を行ったり、ゲートウェイ60で、一部のフレームの転送を止めたりする。その後、ゲートウェイ60は、処理を終了する。なお、縮退モードへ移行することは、車両200の機能を制限することの一例である。また、ゲートウェイ60は、近隣車両またはサーバへ現在の信用スコアを通知してもよい。
 また、車載ネットワークシステムに侵入検知システムが含まれる場合、縮退モードへ移行することは、侵入検知システムを有効化することであってもよい。侵入検知システムを有効化することは、車載ネットワークの監視を強化することの一例である。
 ゲートウェイ60は、信用スコアが30以下の場合、車両200の機能の制限、車両200の運転者への注意喚起、近隣車両またはサーバへの信用スコアの通知、車載ネットワークの監視強化のいずれか1つ以上を実行すればよい。
 信用スコアが30より大きい場合(S1301でNo)、ゲートウェイ60は、信用スコアが50以下であるか否かを判定する(S1303)。監視制御部64は、ステップS1303において、信用スコアが30より大きくかつ50以下であるか否かを判定するとも言える。また、信用スコア50は、第2の閾値の一例である。
 信用スコアが50以下である場合(S1303でYes)、ゲートウェイ60は、運転者に注意喚起を行うためのフレームを、例えばインストルメントクラスタ等のディスプレイの制御を行うECUへ送信することで、運転者への注意喚起を行うとともに、サーバへ信用スコアまたは車両ログを通知し(S1304)、処理を終了する。なお、ステップS1304では、運転者への注意喚起およびサーバへの通知のいずれかが行われればよい。また、ゲートウェイ60は、ステップS1304において、近隣車両へ信用スコアを通知してもよい。
 信用スコアが50より大きい場合(S1303でNo)、ゲートウェイ60は、信用スコアが80以下であるか否かを確認する(S1305)。監視制御部64は、ステップS1305において、信用スコアが50より大きくかつ80以下であるか否かを判定するとも言える。また、信用スコア80は、第3の閾値の一例である。
 信用スコアが80以下である場合(S1305でYes)、ゲートウェイ60は、サーバへ信用スコアを通知する(S1306)。
 信用スコアが80より大きい場合(S1305でNo)、ゲートウェイ60は、何もせずに処理を終了する。なお、ステップS1305でNoである場合も、サーバへの通知が行われてもよい。
 このように、監視制御部64は、信用スコアが所定の値以下となった場合に、信用スコアの値に基づいて、車両200の機能の制限、車両200の運転者への注意喚起、近隣車両またはサーバへの信用スコアの通知、車載ネットワークの監視強化のいずれか1つ以上を実行する。監視制御部64は、例えば、信用スコアが低くなると、監視レベルを強くするように、上記のいずれか1つ以上を実行する。監視制御部64は、信用スコアが第1の閾値以下である場合、第1の監視レベルに対応する動作を実行し、信用スコアが第1の閾値より大きくかつ当該第1の閾値より大きい第2の閾値以下である場合、第1の監視レベルより監視レベルが低い第2の監視レベルに対応する動作を実行し、信用スコアが第2の閾値より大きくかつ当該第2の閾値より大きい第3の閾値以下である場合、第2の監視レベルより監視レベルが低い第3の監視レベルに対応する動作を実行する。第1の閾値は、例えば、信用スコアの最小値(例えば、0)より大きな値であり、第3の閾値は、例えば、信用スコアの初期値(例えば、100)より低い値である。なお、第1の閾値~第3の閾値、および、第1の監視レベル~第3の監視レベルに対応する動作は、信用スコア保持部68に予め格納されている。
 [1.9 ゲートウェイ動作シーケンス(信用スコアが50以下となった場合)]
 図9は、本実施の形態におけるゲートウェイ60の動作シーケンスを示す図である。具体的には、図9は、ゲートウェイ60における信用スコアが51であった時に、不審な運転挙動によって信用スコアが50以下となった場合の動作シーケンスを示す図である。ECU20は、緊急ブレーキを指示するフレームを送信するECUであり、ECU30はディスプレイの制御を行うECUであるとする。
 図9に示すように、ECU20は、緊急ブレーキONを要求するフレームを送信し(S100)、ゲートウェイ60は、送信された緊急ブレーキONを要求するフレームを受信する。なお、ブレーキを制御するECUも送信された緊急ブレーキONを要求するフレームを受信し、緊急ブレーキを発動させるが、図示を省略する。
 次に、ECU20は、緊急ブレーキONのフレームの送信完了後に、緊急ブレーキOFFを要求するフレームを送信し(S101)、ゲートウェイ60は、送信された緊急ブレーキOFFを要求するフレームを受信する。
 その後、ECU20は、再度、緊急ブレーキONを要求するフレームを送信し(S102)、ゲートウェイ60は送信された緊急ブレーキONを要求するフレームを受信する。
 ゲートウェイ60は、ステップS100における緊急ブレーキONを要求するフレームの受信から、ステップS102における緊急ブレーキONを要求するフレームの受信までの時間(検知間隔の一例)が所定値(例えば5分)より短い場合、信用スコアを1減少させる(S103)。ステップS103の処理は、図7に示すステップS1107でYesと判定された後に実行されるステップS1104の処理に相当する。
 ゲートウェイ60は、信用スコアを1減少させた結果、現在の信用スコアが50になったため、運転者に注意喚起表示を行うためのフレームを送信する(S104)。ステップS104の処理は、図8に示すステップS1304の処理に相当する。
 ECU30は、運転者へ注意喚起表示を行うためのフレームを受信し、ディスプレイに注意喚起を表示する(S105)。ディスプレイへの表示内容は、例えば、図11Aのような表示である。図11Aは、本実施の形態における運転者へ通知する表示内容の一例を示す図である。図11Aに示すように、ステップS105では、異常な挙動を検知したことを示す情報、および、それに対する対応方法(例えば、センターへ通知)が表示される。
 ゲートウェイ60は、サーバに対して信用スコアを含む車両ログを通知する(S106)。
 [1.10 ゲートウェイ動作シーケンス(信用スコアが30以下となった場合)]
 図10は、本実施の形態におけるゲートウェイ60の動作シーケンスを示す図である。具体的には、図10は、ゲートウェイ60における信用スコアが31であった時に、不審な運転挙動によって信用スコアが30以下となった場合の動作シーケンスである。ECU20と、ECU30は、図9で説明した役割と同様であるとする。
 図10に示すように、ECU20は、緊急ブレーキONを要求するフレームを送信し(S110)、ゲートウェイ60は、送信された緊急ブレーキONを要求するフレームを受信する。
 次に、ECU20は、緊急ブレーキONのフレームの送信完了後に、緊急ブレーキOFFを要求するフレームを送信し(S111)、ゲートウェイ60は、送信された緊急ブレーキOFFを要求するフレームを受信する。
 その後、ECU20は、再度、緊急ブレーキONを要求するフレームを送信し(S112)、ゲートウェイ60は、送信された緊急ブレーキONを要求するフレームを受信する。
 ゲートウェイ60は、ステップS110における緊急ブレーキONを要求するフレームの受信から、ステップS112における緊急ブレーキONを要求するフレームの受信までの時間(検知間隔の一例)が所定値(例えば5分)より短い場合、信用スコアを1減少させる(S113)。ステップS113の処理は、図7に示すステップS1107でYesと判定された後に実行されるステップS1104の処理に相当する。
 ゲートウェイ60は、信用スコアを1減少させた結果、現在の信用スコアが30以下となったため、縮退モードへ移行するためのフレーム(縮退モード要求フレーム)を送信する(S114)。ゲートウェイ60は、縮退モードに緊急ブレーキを無効にすることが含まれる場合、EUC20に対して縮退モードへ移行するためのフレームを送信する。ステップS144の処理は、図8に示すステップS1302の処理に相当する。
 ECU20は、送信された縮退モード要求フレームを受信し、以降の緊急ブレーキONを要求するフレームの送信を無効にする(S115)。
 ECU30は、送信された縮退モード要求フレームを受信し、ディスプレイに機能制限していることを通知するための表示を行う(S116)。ディスプレイの表示内容は、例えば図11Bのような表示である。図11Bは、本実施の形態における運転者へ通知する表示内容の別の一例を示す図である。図11Bに示すように、ステップS116では、異常な挙動が継続したことを示す情報、一部の機能を制限したことを示す情報、および、問い合わせ先が表示される。
 [1.11 実施の形態1の効果]
 実施の形態1に係るゲートウェイ60(車両監視装置の一例)では、攻撃者による車載ネットワークシステムのリバースエンジニアリング活動が疑われる活動に対して、信用スコアを算出する。ゲートウェイ60は、さらに信用スコアに基づいて、対応を決定する。ゲートウェイ60は、サーバへ通知を行うことによって、サーバ側において疑わしい車両が把握され、当該車両を重点的な監視対象と特定することが可能となる。また、ゲートウェイ60は、より疑わしい車両に対しては車両の機能を一部制限することでリバースエンジニアリング活動を妨害することが可能となる。これにより、ゲートウェイ60は、車載ネットワークシステムの安全性を高めることができる。
 (実施の形態2)
 以下、複数の電子制御ユニット(ECU)が通信する車載ネットワーク(車載ネットワークシステム)を搭載した車両200における、車両監視方法について説明する。なお、本実施の形態は、実施の形態1と同様の車載ネットワークシステム構成のため、車載ネットワークシステムの全体構成を示す図を省略し、実施の形態1と異なるゲートウェイの処理フローチャートのみを説明する。
 なお、本実施の形態では、不審挙動を検知が検知された場合、信用スコアを増加する例について説明する。この場合、信用スコアの初期値は、例えば、0である。また、以下において、不審挙動が検知された場合にスコアが増加する信用スコアを、実施の形態1と区別して不審スコアと記載する。
 [2.1 ゲートウェイの処理を示すフローチャート]
 図12は、本実施の形態におけるゲートウェイ60の処理を示すフローチャートである。なお、図12に示すステップS20、24、25および26のそれぞれは、図6に示すステップS10、14、15および16のそれぞれに対応し、以下では説明を省略または簡略化する。
 図12に示すように、ゲートウェイ60は、フレームを受信しているか否かを判定する(S20)。
 フレームを受信している場合(S20でYes)、ゲートウェイ60は、各種不審スコアを算出する(S21)。フレームを受信していない場合(S20でNo)、ゲートウェイ60は、フレームを受信するまで待機する。
 ゲートウェイ60は、不審スコア算出後に、算出した不審スコアのうち、いずれかの不審スコアが所定値以上であるか否かを判定する(S22)。
 いずれかの不審スコアが所定値以上である場合(S22でYes)、ゲートウェイ60は、監視レベルを変更する(S23)。
 全ての不審スコアが所定値未満である場合(S22でNo)、ゲートウェイ60は、転送処理を行って(S24)、ステップS25に進む。
 [2.2 ゲートウェイにおける不審スコア算出のフローチャート]
 図13は、本実施の形態におけるゲートウェイ60の不審スコア算出のフローチャートである。具体的には、図13は、図12のステップS21の不審スコア算出処理の詳細を示すフローチャートである。
 図13に示すように、ゲートウェイ60は、フレームを受信した時点で、診断ポート50へのサードパーティ装置(監視装置の一例)の接続検知、エラーフレームの検知、ネットワークの瞬断検知、および、バッテリー外しの検知のいずれかが発生しているか否かを判定する(S2101)。また、ゲートウェイ60は、ステップS2101において、停車時間割合が所定割合以上であるか否かの判定を行ってもよい。
 ステップS2101でいずれかが検知された場合(S2101でYes)、ゲートウェイ60は、当該不審挙動をパッシングモニタリング活動として検知し、パッシブモニタリングスコアを1増加させ(S2102)、処理を終了する。パッシングモニタリング活動は、例えば、車載ネットワークシステムにおける車両データを取得するための行動である。パッシブモニタリングスコアは、車載ネットワークシステムに対するリバースエンジニアリング活動のうち、パッシブモニタリング活動に対する不審スコアを示す。つまり、パッシブモニタリングスコアは、パッシブモニタリング活動が行われている可能性を示しており、パッシブモニタリングスコアが高いことは、車両200に対してパッシブモニタリング活動が行われている可能性が高いことを示す。信用スコア算出部63は、ステップS2102において、フレーム送受信部61で受信したフレームと車両データとに基づいて、当該フレームを受信する前のパッシブモニタリングスコアを更新するとも言える。
 ステップS2101でいずれも検知されなかった場合(S2101でNo)、ゲートウェイ60は、さらに緊急ブレーキ等の運転支援機能のON、または、急ブレーキ等の異常動作が繰り返し検知されたか否かを判定する(S2103)。ゲートウェイ60は、例えば、ステップS2103において、所定の第1時間内における、運転支援機能の発動回数、または、異常な運転挙動の検知回数のいずれかが所定数以上であるか否かを判定する。また、ゲートウェイ60は、運転支援機能の発動回数、車内のボタンの操作回数、または、異常な運転挙動の検知回数のいずれかが所定数以上であるか否かを判定してもよい。
 ステップS2103でいずれかが検知された場合(S2103でYes)、ゲートウェイ60は、当該不審挙動をアクティブモニタリング活動として検知し、アクティブモニタリングスコアを1増加させ(S2104)、処理を終了する。アクティブモニタリング活動は、例えば、車両200の特定機能動作中または特定状況における車載ネットワークの車両データを取得しようとするための動作である。アクティブモニタリングスコアは、車載ネットワークシステムに対するリバースエンジニアリング活動のうち、アクティブモニタリング活動に対する不審スコアを示す。つまり、アクティブモニタリングスコアは、アクティブモニタリング活動が行われている可能性を示しており、アクティブモニタリングスコアが高いことは、車両200に対してアクティブモニタリング活動が行われている可能性が高いことを示す。信用スコア算出部63は、ステップS2104において、フレーム送受信部61で受信したフレームと車両データとに基づいて、当該フレームを受信する前のアクティブモニタリングスコアを更新するとも言える。
 ステップS2103でいずれも検知されなかった場合(S2103でNo)、ゲートウェイ60は、さらにフレームの受信回数、または、診断コマンドの受信回数が所定の閾値より大きいか否かを判定する(S2105)。受信回数は、受信量の一例である。
 ステップS2105でいずれかの受信回数が所定の閾値より大きい場合(S2105でYes)、ゲートウェイ60は、当該不審挙動をインジェクション活動として検知し、インジェクションスコアを1増加させ(S2106)、処理を終了する。インジェクション活動は、例えば、車載ネットワークシステムへのフレームの注入を試行するための行動である。つまり、インジェクション活動は、攻撃者による不正なフレームの注入の試行が行われている段階であることを示す。
 また、インジェクションスコアは、車載ネットワークシステムに対するリバースエンジニアリング活動のうち、インジェクション活動に対する不審スコアを示す。つまり、インジェクションスコアは、インジェクション活動が行われている可能性を示しており、インジェクションスコアが高いことは、車両200に対してインジェクション活動が行われている可能性が高いことを示す。信用スコア算出部63は、ステップS2106において、フレーム送受信部61で受信したフレームと車両データとに基づいて、当該フレームを受信する前のインジェクションスコアを更新するとも言える。
 ステップS2105でどちらの受信回数も閾値以下である場合(S2105でNo)、ゲートウェイ60は、さらにアップデートコマンドあるいは同一IDフレームの受信回数が、所定の閾値を超えるか否かを判定する(S2107)。なお、同一IDフレームは、同一属性のフレームであることの一例である。ステップS2107では、同一属性のフレームの受信回数に基づいて判定が行われてもよい。また、受信回数は、受信量の一例である。
 ステップS2107でアップデートコマンドあるいは同一IDフレームの受信回数が所定の閾値を超える場合(S2107でYes)、ゲートウェイ60は、当該不審挙動をリファインメント活動として検知し、リファインメントスコアを1増加させ(S2108)、処理を終了する。リファインメント活動は、例えば、車載ネットワークシステムに注入されるフレームの精度を向上させるためのフレームの注入を試行するための行動である。つまり、リファインメント活動は、インジェクション活動に比べて攻撃者の攻撃内容が洗練されている段階であることを示す。
 また、リファインメントスコアは、車載ネットワークシステムに対するリバースエンジニアリング活動のうち、リファインメント活動に対する不審スコアを示す。つまり、リファインメントスコアは、リファインメント活動が行われている可能性を示しており、リファインメントスコアが高いことは、車両200に対してリファインメント活動が行われている可能性が高いことを示す。信用スコア算出部63は、ステップS2108において、フレーム送受信部61で受信したフレームと車両データとに基づいて、当該フレームを受信する前のリファインメントスコアを更新するとも言える。
 ステップS2107でアップデートコマンドあるいは同一IDフレームの受信回数が所定の閾値以下である場合(S2107でNo)、信用スコア算出部63は、何もせずに終了する。
 ここで、サードパーティ装置の接続検知は、診断ポート50から特定の診断コマンドが流れることから検知されうる。エラーフレームの検知は、ゲートウェイ60のエラーカウンタまたはエラー割込み処理によって検知されうる。ネットワークの瞬断検知は、フレームの受信時刻を常に保持しておき、フレーム受信時に、前回フレームを受信した時刻と現在の時刻との差分が所定の閾値を超えた場合に検知されうる。バッテリー外しの検知は、ゲートウェイ60への電源供給が遮断され、再度電源が供給されたときに、前回電源供給が遮断されたことを検知することで検知されうる。
 上記のように、本実施の形態では、ゲートウェイ60(具体的には、信用スコア算出部63)は、リバースエンジニアリングの各段階を示すパッシブモニタリング活動、アクティブモニタリング活動、インジェクション活動およびリファインメント活動のそれぞれにおいて、不審スコアを算出する。パッシブモニタリング活動、アクティブモニタリング活動、インジェクション活動およびリファインメント活動は、リバースエンジニアリングの各段階を示す複数の種類の一例である。つまり、不審挙動は、複数の種類を有する。そして、信用スコア算出部63は、不審挙動の複数の種類のそれぞれに対する不審スコアを算出する。
 なお、複数の種類は、2つ以上の種類を含んでいればよい。不審挙動の複数の種類は、例えば、パッシブモニタリング活動、アクティブモニタリング活動、インジェクション活動およびリファインメント活動の少なくとも2つを含んでいればよい。言い換えると、信用スコア算出部63は、図13に示すステップS2101、S2103、S2105およびS2107のうち、少なくとも2つの判定を行えばよい。信用スコア算出部63は、例えば、パッシブモニタリング活動、アクティブモニタリング活動、インジェクション活動およびリファインメント活動の少なくとも2つを不審挙動として検知可能であればよい。
 なお、リファインメント活動、インジェクション活動、アクティブモニタリング活動およびパッシブモニタリング活動の順に、リバースエンジニアリング活動が進んでいる、つまりこの順に車載ネットワークの解析が進んでいることを示す。
 [2.3 ゲートウェイにおける監視レベル変更のフローチャート]
 図14は、本実施の形態におけるゲートウェイ60の監視レベル変更のフローチャートである。具体的には、図14は、図12のステップS23の監視レベル変更処理の詳細を示すフローチャートである。なお、図14に示す動作は、例えば、監視制御部64により実行される。
 図14に示すように、ゲートウェイ60は、リファインメントスコアが3より大きいか否かを判定する(S2301)。3は、リファインメント活動が行われている可能性があるか否かを判定するための第4の閾値であり、例えば、信用スコア保持部68に予め格納されている。なお、第4の閾値は、3であることに限定されない。
 リファインメントスコアが3より大きい場合(S2301でYes)、ゲートウェイ60は、縮退モードへ移行する要求フレームを各ECUに送信し、かつ、各不審スコアを含む車両データをサーバへ通知して(S2302)、処理を終了する。
 リファインメントスコアが3以下である場合(S2301でNo)、ゲートウェイ60は、さらにインジェクションスコアが3より大きいか否かを判定する(S2303)。3は、インジェクション活動が行われている可能性があるか否かを判定するための第5の閾値であり、例えば、信用スコア保持部68に予め格納されている。なお、第5の閾値は、3であることに限定されない。
 インジェクションスコアが3より大きい場合(S2303でYes)、ゲートウェイ60は、車両200の一部機能を制限し、かつ、各不審スコアを含む車両データをサーバへ通知して(S2304)、処理を終了する。
 インジェクションスコアが3以下である場合(S2303でNo)、ゲートウェイ60は、さらにアクティブモニタリングスコアが3より大きいか否かを判定する(S2305)。3は、アクティブモニタリング活動が行われている可能性があるか否かを判定するための第6の閾値であり、例えば、信用スコア保持部68に予め格納されている。なお、第6の閾値は、3であることに限定されない。
 アクティブモニタリングスコアが3より大きい場合(S2305でYes)、ゲートウェイ60は、運転者への注意喚起を行うフレームを送信し、かつ、各不審スコアを含む車両データをサーバへ通知して(S2306)、処理を終了する。
 アクティブモニタリングスコアが3以下である場合(S2305でNo)、ゲートウェイ60は、さらにパッシブモニタリングスコアが3より大きいか否かを判定する(S2307)。3は、パッシブモニタリング活動が行われている可能性があるか否かを判定するための第7の閾値であり、例えば、信用スコア保持部68に予め格納されている。なお、第7の閾値は、3であることに限定されない。
 パッシブモニタリングスコアが3より大きい場合(S2307でYes)、ゲートウェイ60は、各不審スコアを含む車両データをサーバへ通知して(S2308)、処理を終了する。
 パッシブモニタリングスコアが3以下である場合(S2307でNo)、ゲートウェイ60は、何もせずに終了する。
 このように、監視制御部64は、不審挙動の複数の種類と、不審挙動の複数の種類のそれぞれに対応する不審スコア(信用スコアの一例)の値とに基づいて、車両200の機能の一部の制限、車両200の運転者への注意喚起、近隣車両またはサーバへの信用スコアの通知のいずれか1つ以上を実行する。また、監視制御部64は、車載ネットワークの監視強化を実行してもよい。監視制御部64は、例えば、リバースエンジニアリング活動の段階が進むと、監視レベルを強くするように、車両200の機能の一部の制限、車両200の運転者への注意喚起、近隣車両またはサーバへの信用スコアの通知および車載ネットワークの監視強化のいずれか1つ以上を実行する。
 監視制御部64は、リファインメントスコアが第4の閾値より大きい場合、第4の監視レベルに対応する動作を実行する。また、監視制御部64は、インジェクションスコアが第5の閾値より大きく、かつ、リファインメントスコアが第4の閾値以下である場合、第4の監視レベルより監視レベルが低い第5の監視レベルに対応する動作を実行する。また、監視制御部64は、アクティブモニタリングスコアが第6の閾値より大きく、かつ、リファインメントスコアが第4の閾値以下、および、インジェクションスコアが第5の閾値以下である場合、第5の監視レベルより監視レベルが低い第6の監視レベルに対応する動作を実行する。また、監視制御部64は、パッシブモニタリングスコアが第7の閾値より大きく、かつ、リファインメントスコアが第4の閾値以下、インジェクションスコアが第5の閾値以下、および、アクティブモニタリングスコアが第6の閾値以下である場合、第6の監視レベルより監視レベルが低い第7の監視レベルに対応する動作を実行する。
 なお、第4の閾値は、例えば、リファインメントスコアの最小値(例えば、0であり、初期値)より大きく、かつ、リファインメントスコアの最大値(例えば、100)以下の値である。第5の閾値は、例えば、インジェクションスコアの最小値(例えば、0であり、初期値)より大きく、かつ、インジェクションスコアの最大値(例えば、100)以下の値である。第6の閾値は、例えば、アクティブモニタリングスコアの最小値(例えば、0であり、初期値)より大きく、かつ、アクティブモニタリングスコアの最大値(例えば、100)以下の値である。第7の閾値は、例えば、パッシブモニタリングスコアの最小値(例えば、0であり、初期値)より大きく、かつ、パッシブモニタリングスコアの最大値(例えば、100)以下の値である。
 なお、第4の監視レベル~第7の監視レベルに対応する動作は、信用スコア保持部68に予め格納されている。
 [2.4 実施の形態2の効果]
 実施の形態2に係るゲートウェイ60(車両監視装置の一例)では、攻撃者による車載ネットワークシステムのリバースエンジニアリング活動が疑われる活動に対して、活動のフェーズに応じて不審スコアを算出する。ゲートウェイ60は、さらに各種不審スコアの値に基づいて対応方法を決定することで、より攻撃フェーズの進んだことが疑われる車両200に対して、より重点的な監視を行うことが可能となり、これにより車載ネットワークシステムの安全性をさらに高めることができる。
 [その他変形例]
 なお、本開示を上記各実施の形態に基づいて説明してきたが、本開示は、上記各実施の形態に限定されないのはもちろんである。以下のような場合も本開示に含まれる。
 (1)上記の実施の形態では、バスはCANであったが、通信プロトコルはCANに限らない、例えばCAN-FD(CAN with Flexible Data Rate)、FlexRay、Ethernetであってもよい。
 (2)上記の実施の形態では、サーバ通信部がゲートウェイの構成要素として存在したが、サーバ通信部は、ゲートウェイの必須の構成要素でなくてもよい。例えば、サーバと通信を行う装置が他に存在してもよく、ゲートウェイは当該装置を介して通知を行ってもよい。
 (3)上記の実施の形態では、信用スコア算出部は、ゲートウェイの構成要素であるが、必ずしもゲートウェイの構成要素となる必要はない。例えば、別のECUの構成要素としてもよいし、仮想マシン上のアプリケーションとして信用スコア算出部が機能してもよい。
 (4)上記の実施の形態では、信用スコアが0~100の値をとりうるとしたが、信用スコアのとりうる値はこれに限らない、例えば0~10の10段階としてもよいし、リバースエンジニアリングの疑わしさのレベルが段階的に示されるものであれば、何でもよい。
 (5)上記の実施の形態では、信用スコアの初期値が100として、疑わしい挙動を観測した場合に、信用スコアが減少していく例を示したが、信用スコアである必要はなく、不審スコアとして、疑わしい挙動の観測時にスコアが上昇してもよい。信用スコアは、リバースエンジニアリングの疑わしさのレベルが段階的に示されるものであれば、何でもよい。
 (6)上記の実施の形態では、信用スコアが減少する条件を示したが、信用スコアが上昇する条件も存在してよい。例えば、1日(所定の第2時間の一例)経過ごとに信用スコアが上昇してもよいし、イグニッションのON時に、信用スコアが上昇してもよい。また、例えば、1日(所定の第3時間の一例)経過ごとに信用スコアがリセットされてもよい。また、診断コマンドによって、信用スコアがリセットされてもよいし、サーバからの通知に基づいて信用スコアがリセットされてもよい。これにより、正規の運転者が、疑わしいとされる挙動を偶然に繰り返した結果、信用スコアが低下してしまった場合でも、正常な信用スコアに回復することが可能となる。
 (7)上記の実施の形態では、信用スコアが減少する条件に合致した場合に、信用スコアが1減少したが、信用スコアの減少量は1に限らない。例えば、観測された不審な挙動に応じて減少量を変化させてもよいし、不審な挙動が繰り返し観測されることによって減少量を大きくしていってもよい。これにより、通常の利用において観測される可能性が低い不審な挙動に対しては、信用スコアをより大きく減少させることができ、不審な車両を特定しやすくなり効果的である。
 (8)上記の実施の形態では、信用スコアを減少させる条件は同様に扱ったが、フェーズを分類し、フェーズごとに信用スコアを算出してもよい。例えば、攻撃者が単に車載ネットワークのログを取得しようとするパッシブモニタリングと、攻撃者が車両の特定機能動作中や特定状況における車載ネットワークのログを取得しようとするアクティブモニタリングと、攻撃者が車載ネットワークログに対してフレーム注入を試行するインジェクションと、攻撃者がより洗練された攻撃を試行するリファインメントと、に段階分けをしてもよい。これにより、攻撃者のリバースエンジニアリングのフェーズを把握することが可能となり、フェーズの進んだ攻撃者に対して重点的な監視ができ効率的である。パッシブモニタリングは、例えば、診断ポートへサードパーティデバイスの接続の検知、モニタリング装置(監視装置の一例)接続するためのネットワークの瞬断、バッテリーの取り外し、エラーフレームの検知回数または検知間隔などに基づいて判定されうる。アクティブモニタリングは、例えば、運転支援機能の利用間隔や利用量、車内に配置されるボタンの単位時間当たりの押下回数、極端なアクセル、ブレーキ、ハンドル操作が観測される頻度などに基づいて判定されうる。インジェクションは、フレームの受信量または受信間隔、診断コマンドの受信量または受信間隔などによって判定されうる。リファインメントは、同一のIDのフレームに対する受信量の増加または受信間隔の変化、アップデートコマンドの受信量または受信間隔などによって判定されうる。
 (9)上記の実施の形態では、信用スコア保持部に、信用スコア算出に用いる車両データの今回値と前回値とが保持されているが、前回値でなく、過去に信用スコアを減少させた実績を保存してもよい。例えば、過去1週間において、スコアが減点された量を保持していてもよい。そして、信用スコア算出部は、過去にスコアが減点された実績が信用スコア保持部に格納されている場合、過去にスコアが減点された実績のある不審な挙動を観測したときの信用スコアの減少量を、過去にスコアが減点された実績がないまたは減点された量が小さい不審な挙動を観測したときの信用スコアの減少量、または、予め設定されている減少量より大きくしてもよい。これにより、不審な挙動が繰り返し観測されている時に、よりリバースエンジニアリングが実施されている可能性が高いと判断することができ効果的である。
 (10)上記の実施の形態では、信用スコアをサーバへ通知していたが、通知先はサーバだけに限らず、近隣車両または路側機に対してV2X通信により信用スコアを通知してもよい。これにより、インターネット接続が遮断され信用スコアをサーバへ通知できない車両についても不審な車両を発見することが可能となり、セキュリティの向上に効果的である。
 (11)上記の実施の形態では、信用スコアを、車載ネットワークフレームのログに基づいて算出していたが、近隣車両の信用スコアを自車両の信用スコアの算出に用いてもよい。信用スコア算出部は、例えば、信用スコアが所定値以下の複数の車両が所定領域内に所定期間存在する場合に、攻撃者が自車両も解析ターゲット用の車両としている可能性が高いとして、信用スコアを補正(例えば、減少)してもよい。信用スコア算出部は、例えば、不審挙動の複数の種類のそれぞれに対する信用スコアのいずれかが所定値以下の複数の車両(他車両とも記載する)が所定領域内に所定期間存在する場合、信用スコアが所定値以下である不審挙動の種類に応じて、自車両の信用スコアを補正(例えば、減少)してもよい。信用スコア算出部は、例えば、他車両において所定値以下である不審挙動の種類と同じ不審挙動の種類の自車両における信用スコアを減少させてもよい。
 (12)上記の実施の形態2では、不審スコアの算出時に、パッシブモニタリングスコア、アクティブモニタリングスコア、インジェクションスコア、リファインメントスコアの順で、スコア算出を行っていたが、処理の順番を限定するものではない。同様に監視レベル変更時における各不審スコアの判定処理の順番を限定するものではない。例えば、処理の順番を逆にしてもよいし、すべての判定処理を実行してから、スコア算出、監視レベルの変更などを行ってもよい。
 (13)上記の実施の形態1、2では、信用スコア(不審スコア)が所定の閾値を下回った(上回った)場合に、サーバ通知を行っているが、サーバ通知を行うタイミングはこれに限らない。例えば定期的にサーバへ車両ログを通知していてもよく、信用スコア(不審スコア)の値に応じて、サーバへの通知頻度または通知量を変更するという対応であってもよい。これにより、疑わしい車両からより詳細な車両ログを通知することで、重点的な監視を実現でき効果的である。また、車両ログは、車両の信用スコア(不審スコア)だけでなく、車載ネットワークシステムに流れるフレームから取得される情報を含んでもよい。例えば、車両の速度またはステアリング角度といった車両のセンサ情報であってもよいし、信用スコアを変化させた根拠となる、信用スコア保持部に格納されている車両データを含んでもよい。
 (14)上記の実施の形態では、フレーム受信時に、スコア算出を行っていたが、フレーム受信時に行わなくてもよい。例えば、内蔵タイマによって定期的にスコア算出を行ってもよい。
 (15)上記の実施の形態では、監視レベル変更時にスコアの閾値を設定しているが、閾値は本実施の形態で示した値に限らない。疑わしい車両の検知・対応の感度を高めるために閾値を高く(または低く)設定してもよいし、感度を下げるように設定してもよい。また、リバースエンジニアリングにおける状況(例えば、信用スコアの変化スピード、リバースエンジニアリングの段階など)に応じて閾値が動的に変更されてもよい。
 (16)上記の実施の形態2では、同一IDフレームの受信量に基づいてリファインメントスコアを上昇させていたが、Ethernetにおいては、同一ポート番号、同一IPアドレス、MACアドレスのフレームの受信量としてもよい。あるいは、これらのヘッダ情報の組み合わせで定義される同一フローの受信量としてもよい。また、受信量は受信パケット数および受信データサイズのいずれでもよい。
 (17)上記の実施の形態1および2では、信用スコア(不審スコア)の算出条件、または、スコアに応じた処理内容を別途ルールとして保持していてもよい。
 (18)上記の実施の形態1および2では、信用スコア(不審スコア)は不揮発メモリに保存され、イグニッションOFFとなった後でも保持されるとしたが、不揮発メモリに保持されず、イグニッションごとにリセットされてもよい。これにより、不揮発メモリが不要となり、低コストで車両監視装置を実現することができる。
 (19)上記の実施の形態では、信用スコア(不審スコア)の値に応じて、サーバ通知、車両の機能制限、運転者への通知などの対応を行っていたが、対応方法はこれらに限らない。例えば、車載ネットワークに侵入検知システムが存在し、侵入検知システムを有効化するとしてもよい。これにより、通常時は侵入検知システムを動作させる必要なく、省電力となり効果的である。あるいは、車載ネットワークログ保存を開始するとしてもよい。これにより、疑わしい挙動発生時の車載ネットワークログを保持しておくことが可能となり、メモリ使用量削減に効果的である。あるいは、サーバへの車載ネットワークログの通知量、通知頻度を変更してもよい。これにより、疑わしい車両からより多くの情報を取得し、通常の車両(信用スコアが所定値以上であり、リバースエンジニアリングが行われていないと想定される車両)からは少ない情報の取得で済むため、通信量の削減に効果的である。あるいは、コールセンターへ通話するとしてもよい。これにより、攻撃者の活動を牽制し、リバースエンジニアリングを抑止することに効果的である。
 (20)上記の実施の形態では、特に信用スコアを算出する時にモードを設定しなかったが、信用スコアを算出するモードが存在してもよい。例えば、衝突実験を繰り返すテスト車両において、信用スコアが低く算出されるのを抑えるために、テストモードを設けてもよい。テストモードでは、異常な挙動に対して信用スコアが減少しにくく設定される。テストモードは、サーバとの認証によってアクティベートされ、テストモードの車両は、サーバで信用スコアが把握されるとしてもよい。
 (21)上記の実施の形態では、自動車に搭載される車載ネットワークにおけるセキュリティ対策として説明したが、上記実施の形態のゲートウェイの適用範囲はこれに限られない。ゲートウェイは、自動車に限らず、建機、農機、船舶、鉄道、飛行機などのモビリティに適用されてもよい。
 すなわち、上記実施の形態のゲートウェイは、モビリティネットワークおよびモビリティネットワークシステムにおけるサイバーセキュリティ対策として適用可能である。
 また、上記実施の形態のゲートウェイは、工場またはビルなどの産業制御システムで利用される通信ネットワーク、または、組込みデバイスを制御するための通信ネットワークなどに適用されてもよい。
 (22)上記の実施の形態における各装置は、具体的には、マイクロプロセッサ、ROM、RAM、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。RAMまたはハードディスクユニットには、コンピュータプログラムが記録されている。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、各装置は、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
 (23)上記の実施の形態における各装置を構成する構成要素の一部または全部は、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に置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてありえる。
 (24)上記の各装置を構成する構成要素の一部または全部は、各装置に脱着可能なICカードまたは単体のモジュールから構成されているとしてもよい。ICカードまたはモジュールは、マイクロプロセッサ、ROM、RAMなどから構成されるコンピュータシステムである。ICカードまたはモジュールは、上記の超多機能LSIを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、ICカードまたはモジュールは、その機能を達成する。このICカードまたはこのモジュールは、耐タンパ性を有するとしてもよい。
 (25)本開示は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、コンピュータプログラムからなるデジタル信号であるとしてもよい。
 また、本開示は、コンピュータプログラムまたはデジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD-ROM、MO、DVD、DVD-ROM、DVD-RAM、BD(Blu-ray(登録商標) Disc)、半導体メモリなどに記録したものとしてもよい。また、これらの記録媒体に記録されているデジタル信号であるとしてもよい。
 また、本開示は、コンピュータプログラムまたはデジタル信号を、電気通信回線、無線または有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
 また、本開示は、マイクロプロセッサとメモリとを備えたコンピュータシステムであって、メモリは、上記コンピュータプログラムを記録しており、マイクロプロセッサは、コンピュータプログラムにしたがって動作するとしてもよい。
 また、プログラムまたはデジタル信号を記録媒体に記録して移送することにより、またはプログラムまたはデジタル信号を、ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
 (26)上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
 本開示は、攻撃者によるリバースエンジニアリング活動が行われる可能性があるモビリティに有用である。
 1、2、3、4、5 バス
 10、11、20、21、30、31、40、41 ECU
 50 診断ポート
 60 ゲートウェイ
 61 フレーム送受信部
 62 フレーム解釈部
 63 信用スコア算出部
 64 監視制御部
 65 転送制御部
 66 フレーム生成部
 67 サーバ通信部
 68 信用スコア保持部
 69 転送ルール保持部
 100 通信部
 101 ホスト部
 200 車両

Claims (13)

  1.  1以上の電子制御ユニットを備える車載ネットワークシステムを監視する車両監視装置であって、
     前記車載ネットワークシステムに流れるフレームを受信するフレーム受信部と、
     前記フレーム受信部で受信した前記フレームと当該フレームの受信より前に前記フレーム受信部で受信した1以上のフレームに関する情報を含む車両データとに基づいて通常の運転挙動とは異なる不審挙動を検知し、検知結果に基づいて前記車載ネットワークシステムを搭載する車両に対してリバースエンジニアリングが行われている可能性を示す信用スコアを算出する信用スコア算出部と、を備える、
     車両監視装置。
  2.  前記不審挙動は、監視装置の接続、エラーフレーム、ネットワークの瞬断、バッテリー取り外しのいずれかが検知された場合に、パッシブモニタリング活動として検知され、
     前記信用スコア算出部は、前記パッシブモニタリング活動が検知された場合に、前記信用スコアを減少させる、
     請求項1に記載の車両監視装置。
  3.  前記不審挙動は、所定の第1時間内における、車内のボタンの操作回数、異常な運転挙動の検知回数のいずれかが所定数以上である、または、運転支援機能の発動間隔が所定値未満である場合に、アクティブモニタリング活動として検知され、
     前記運転支援機能は、自動駐車支援、オートクルーズコントロール、緊急ブレーキ、レーンキープアシストのいずれかであり、
     前記異常な運転挙動は、アクセル開度、ブレーキ圧、所定時間内における操舵角の変化量が所定値以上であることであり、
     前記信用スコア算出部は、前記アクティブモニタリング活動が検知された場合に、前記信用スコアを減少させる、
     請求項1または2に記載の車両監視装置。
  4.  前記不審挙動は、所定の第1時間内における、前記フレームの受信量、診断コマンドの受信量のいずれかが所定数以上である場合に、インジェクション活動として検知され、
     前記信用スコア算出部は、前記インジェクション活動が検知された場合に、前記信用スコアを減少させる、
     請求項1~3のいずれか1項に記載の車両監視装置。
  5.  前記不審挙動は、所定の第1時間内における、アップデートコマンドの受信量、同一属性のフレームの受信量のいずれかが所定数以上である場合に、リファインメント活動として検知され、
     前記同一属性のフレームとは、前記フレームに含まれる識別子、IPアドレス、MACアドレス、ポート番号のいずれか、または、いずれか2つ以上の組み合わせが同一であるフレームであり、
     前記信用スコア算出部は、前記リファインメント活動が検知された場合に、前記信用スコアを減少させる、
     請求項1~4のいずれか1項に記載の車両監視装置。
  6.  前記車両監視装置は、さらに、監視レベル変更部を備え、
     前記監視レベル変更部は、前記信用スコアが所定の値未満となった場合に、前記信用スコアの値に基づいて、前記車両の機能の制限、前記車両の運転者への注意喚起、近隣車両またはサーバへの信用スコアの通知、および、前記車載ネットワークシステムの監視強化のいずれか1つ以上を実行する、
     請求項1~5のいずれか1項に記載の車両監視装置。
  7.  前記不審挙動は、前記リバースエンジニアリングの各段階を示す複数の種類を有し、
     前記信用スコア算出部は、前記不審挙動の前記複数の種類のそれぞれにおいて信用スコアを算出する、
     請求項1に記載の車両監視装置。
  8.  前記不審挙動の前記複数の種類は、パッシブモニタリング活動、アクティブモニタリング活動、インジェクション活動、リファインメント活動の少なくとも2つを含み、
     前記パッシブモニタリング活動は、前記車両データを取得するための行動であり、
     前記アクティブモニタリング活動は、前記車両の特定機能動作中または特定状況における前記車両データを取得しようとするための動作であり、
     前記インジェクション活動は、前記車載ネットワークシステムへのフレームの注入を試行するための行動であり、
     前記リファインメント活動は、前記車載ネットワークシステムに注入されるフレームの精度を向上させるためのフレームの注入を試行するための行動である、
     請求項7に記載の車両監視装置。
  9.  前記不審挙動は、監視装置の接続、エラーフレーム、ネットワークの瞬断、バッテリー取り外しのいずれかが検知された場合に、前記パッシブモニタリング活動として検知され、所定の第1時間内における、運転支援機能の発動回数、車内のボタンの操作回数、異常な運転挙動の検知回数、のいずれかが所定数以上である場合に前記アクティブモニタリング活動として検知され、所定の第1時間内における、前記フレームの受信回数、診断コマンドの受信回数のいずれかが所定数以上である場合に前記インジェクション活動として検知され、所定の第1時間内における、アップデートコマンドの受信回数、同一属性のフレームの受信回数のいずれかが所定数以上である場合に前記リファインメントとして検知される、
     請求項8に記載の車両監視装置。
  10.  前記車両監視装置は、さらに、監視レベル変更部を備え、
     前記監視レベル変更部は、前記不審挙動の前記複数の種類と、前記不審挙動の前記複数の種類のそれぞれに対応する信用スコアの値とに基づいて、前記車両の一部機能の制限、前記車両の運転者への注意喚起、および、近隣車両またはサーバへの信用スコアの通知のいずれか1つ以上を実行する、
     請求項7~9のいずれか1項に記載の車両監視装置。
  11.  前記信用スコア算出部は、所定の第2時間が経過するまたは前記車両に対して所定の第1操作が実行されると、前記信用スコアを上昇させる、
     請求項1~10のいずれか1項に記載の車両監視装置。
  12.  前記信用スコア算出部は、所定の第3時間が経過するまたは前記車両に対して所定の第2操作が実行されると、前記信用スコアをリセットする、
     請求項1~11のいずれか1項に記載の車両監視装置。
  13.  1以上の電子制御ユニットを備える車載ネットワークシステムを監視する車両監視方法であって、
     前記車載ネットワークシステムに流れるフレームを受信する受信ステップと、
     前記受信ステップで受信した前記フレームと当該フレームの受信より前に受信した1以上のフレームに関する情報を含む車両データとに基づいて通常の運転挙動とは異なる不審挙動を検知し、検知結果に基づいて前記車載ネットワークシステムを搭載する車両に対してリバースエンジニアリングが行われている可能性を示す信用スコアを算出する信用スコア算出ステップとを含む、
     車両監視方法。
PCT/JP2020/031228 2019-08-30 2020-08-19 車両監視装置および車両監視方法 Ceased WO2021039523A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN202080009672.2A CN113348683B (zh) 2019-08-30 2020-08-19 车辆监视装置以及车辆监视方法
EP20859607.2A EP4024250A4 (en) 2019-08-30 2020-08-19 Vehicle monitoring device and vehicle monitoring method
JP2021517062A JP7558157B2 (ja) 2019-08-30 2020-08-19 車両監視装置および車両監視方法
US17/380,209 US11995181B2 (en) 2019-08-30 2021-07-20 Vehicle surveillance device and vehicle surveillance method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
PCT/JP2019/034263 WO2021038869A1 (ja) 2019-08-30 2019-08-30 車両監視装置および車両監視方法
JPPCT/JP2019/034263 2019-08-30

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/380,209 Continuation US11995181B2 (en) 2019-08-30 2021-07-20 Vehicle surveillance device and vehicle surveillance method

Publications (1)

Publication Number Publication Date
WO2021039523A1 true WO2021039523A1 (ja) 2021-03-04

Family

ID=74685330

Family Applications (2)

Application Number Title Priority Date Filing Date
PCT/JP2019/034263 Ceased WO2021038869A1 (ja) 2019-08-30 2019-08-30 車両監視装置および車両監視方法
PCT/JP2020/031228 Ceased WO2021039523A1 (ja) 2019-08-30 2020-08-19 車両監視装置および車両監視方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/034263 Ceased WO2021038869A1 (ja) 2019-08-30 2019-08-30 車両監視装置および車両監視方法

Country Status (5)

Country Link
US (1) US11995181B2 (ja)
EP (1) EP4024250A4 (ja)
JP (1) JP7558157B2 (ja)
CN (1) CN113348683B (ja)
WO (2) WO2021038869A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4072065A1 (en) * 2021-04-07 2022-10-12 Yazaki Corporation In-vehicle system for abnormality detection

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7439669B2 (ja) * 2020-07-14 2024-02-28 株式会社デンソー ログ分析装置
EP4208992B1 (en) * 2020-09-03 2025-08-20 Marvell Asia Pte Ltd Safety extension for precision time protocol (ptp)
CN114132342B (zh) * 2021-11-24 2023-09-22 重庆长安汽车股份有限公司 一种自动驾驶系统的监控方法
US12507069B2 (en) * 2021-12-20 2025-12-23 Honda Motor Co., Ltd. Communication monitoring device and communication monitoring method
US11968075B2 (en) * 2022-01-14 2024-04-23 Juniper Networks, Inc. Application session-specific network topology generation for troubleshooting the application session
US11991046B2 (en) * 2022-01-17 2024-05-21 Juniper Networks, Inc. Determining an organizational level network topology
US11878707B2 (en) * 2022-03-11 2024-01-23 International Business Machines Corporation Augmented reality overlay based on self-driving mode
US12430345B2 (en) * 2023-04-26 2025-09-30 Invisible Holdings Llc Aggregation of global story based on analyzed data
US20250039255A1 (en) * 2023-07-27 2025-01-30 Research & Business Foundation Sungkyunkwan University Device and method for merging data frames for vehicle network system, and storage medium storing instructions to perform method for merging data frames
CN118072530B (zh) * 2024-02-19 2024-11-12 安徽大学 一种用于高速公路的车辆异常行为监测系统
EP4651449A1 (en) * 2024-05-16 2025-11-19 Harman Becker Automotive Systems GmbH Driving behavior monitoring system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5664799B2 (ja) 2011-12-22 2015-02-04 トヨタ自動車株式会社 通信システム及び通信方法
JP2017111796A (ja) * 2015-12-16 2017-06-22 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America セキュリティ処理方法及びサーバ
WO2019030763A1 (en) * 2017-08-10 2019-02-14 Argus Cyber Security Ltd. SYSTEM AND METHOD FOR DETECTING THE OPERATION OF A COMPONENT CONNECTED TO AN ONBOARD NETWORK

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5664799U (ja) 1979-10-23 1981-05-30
US9262873B2 (en) * 2011-09-23 2016-02-16 Omnitracs, Llc Systems and methods for processing vehicle data to report performance data interchangeably
JP5978582B2 (ja) * 2011-09-28 2016-08-24 住友電気工業株式会社 車両用検知装置、異常検知方法および異常検知プログラム
JP5522160B2 (ja) 2011-12-21 2014-06-18 トヨタ自動車株式会社 車両ネットワーク監視装置
EP2991876A4 (en) * 2013-05-03 2016-12-28 Clever Devices METHOD AND APPARATUS FOR PROVIDING RATING RELATING TO PROBLEMS AFFECTING VEHICLE ELEMENTS
GB2520987B (en) * 2013-12-06 2016-06-01 Cyberlytic Ltd Using fuzzy logic to assign a risk level profile to a potential cyber threat
US10824720B2 (en) * 2014-03-28 2020-11-03 Tower-Sec Ltd. Security system and methods for identification of in-vehicle attack originator
US10798114B2 (en) * 2015-06-29 2020-10-06 Argus Cyber Security Ltd. System and method for consistency based anomaly detection in an in-vehicle communication network
JP6525825B2 (ja) * 2015-08-31 2019-06-05 国立大学法人名古屋大学 通信装置
WO2017119027A1 (ja) * 2016-01-08 2017-07-13 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 不正検知方法、監視電子制御ユニット及び車載ネットワークシステム
JP6684690B2 (ja) * 2016-01-08 2020-04-22 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 不正検知方法、監視電子制御ユニット及び車載ネットワークシステム
WO2018168291A1 (ja) * 2017-03-13 2018-09-20 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 情報処理方法、情報処理システム、及びプログラム
JP6956624B2 (ja) 2017-03-13 2021-11-02 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 情報処理方法、情報処理システム、及びプログラム
US11288403B2 (en) * 2017-05-08 2022-03-29 Bae Systems Information And Electronic Systems Integration Inc. System and method for cryptographic verification of vehicle authenticity
US10652256B2 (en) * 2017-06-20 2020-05-12 International Business Machines Corporation Real-time active threat validation mechanism for vehicle computer systems
JP6891671B2 (ja) * 2017-06-29 2021-06-18 富士通株式会社 攻撃検知装置および攻撃検知方法
US10841329B2 (en) * 2017-08-23 2020-11-17 International Business Machines Corporation Cognitive security for workflows
JP7003544B2 (ja) * 2017-09-29 2022-01-20 株式会社デンソー 異常検知装置、異常検知方法、プログラム及び通信システム
US10701102B2 (en) * 2017-10-03 2020-06-30 George Mason University Hardware module-based authentication in intra-vehicle networks
US10887349B2 (en) * 2018-01-05 2021-01-05 Byton Limited System and method for enforcing security with a vehicle gateway
WO2019142180A1 (en) * 2018-01-16 2019-07-25 C2A-Sec, Ltd. Intrusion anomaly monitoring in a vehicle environment
CN110494330B (zh) 2018-01-22 2022-08-05 松下电器(美国)知识产权公司 车辆监视装置、不正当检测服务器、以及控制方法
US11785029B2 (en) * 2018-03-05 2023-10-10 British Telecommunications Public Limited Company Vehicular network security
US20190312892A1 (en) * 2018-04-05 2019-10-10 Electronics And Telecommunications Research Institute Onboard cybersecurity diagnostic system for vehicle, electronic control unit, and operating method thereof
WO2019227076A1 (en) * 2018-05-25 2019-11-28 Securethings U.S., Inc. Cybersecurity on a controller area network in a vehicle
CA3074874C (en) * 2018-07-24 2020-10-13 Enigmatos Ltd. Message source detection in a vehicle bus system
US11711384B2 (en) * 2018-08-27 2023-07-25 Lear Corporation Method and system for detecting message injection anomalies
US11539782B2 (en) * 2018-10-02 2022-12-27 Hyundai Motor Company Controlling can communication in a vehicle using shifting can message reference
US20200216027A1 (en) * 2019-01-04 2020-07-09 Byton North America Corporation Detecting vehicle intrusion using command pattern models
US10965709B2 (en) * 2019-04-15 2021-03-30 Qualys, Inc. Domain-specific language simulant for simulating a threat-actor and adversarial tactics, techniques, and procedures
US11368471B2 (en) * 2019-07-01 2022-06-21 Beijing Voyager Technology Co., Ltd. Security gateway for autonomous or connected vehicles
US11546353B2 (en) * 2019-07-18 2023-01-03 Toyota Motor North America, Inc. Detection of malicious activity on CAN bus

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5664799B2 (ja) 2011-12-22 2015-02-04 トヨタ自動車株式会社 通信システム及び通信方法
JP2017111796A (ja) * 2015-12-16 2017-06-22 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America セキュリティ処理方法及びサーバ
WO2019030763A1 (en) * 2017-08-10 2019-02-14 Argus Cyber Security Ltd. SYSTEM AND METHOD FOR DETECTING THE OPERATION OF A COMPONENT CONNECTED TO AN ONBOARD NETWORK

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"Car Hackers Handbook: In-Vehicle System Mechanism / Analysis / Security [Car Hack Club Translation]; 1st ed, 1st pr.", vol. 1, 30 November 2016, O'REILLY JAPAN INC, JP, ISBN: 978-4-87311-823-9, article SMITH, CRAIG: "Passage; Car Hackers Handbook [Car Hack Club Translation]", pages: 73 - 98, XP009528937 *
See also references of EP4024250A4

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4072065A1 (en) * 2021-04-07 2022-10-12 Yazaki Corporation In-vehicle system for abnormality detection
US12089048B2 (en) 2021-04-07 2024-09-10 Yazaki Corporation In-vehicle system including abnormality detection unit configured to recognize lower lever control unit as unauthorized by monitoring plurality of elements of lower level control unit

Also Published As

Publication number Publication date
CN113348683A (zh) 2021-09-03
US20210349977A1 (en) 2021-11-11
US11995181B2 (en) 2024-05-28
CN113348683B (zh) 2025-08-01
WO2021038869A1 (ja) 2021-03-04
EP4024250A1 (en) 2022-07-06
EP4024250A4 (en) 2022-10-26
JPWO2021039523A1 (ja) 2021-03-04
JP7558157B2 (ja) 2024-09-30

Similar Documents

Publication Publication Date Title
WO2021039523A1 (ja) 車両監視装置および車両監視方法
JP7410223B2 (ja) 不正検知サーバ、及び、方法
JP6956844B2 (ja) 不正制御抑止方法、不正制御抑止装置及び車載ネットワークシステム
JP7231559B2 (ja) 異常検知電子制御ユニット、車載ネットワークシステム及び異常検知方法
JP7641900B2 (ja) 侵入経路分析装置および侵入経路分析方法
US11522878B2 (en) Can communication based hacking attack detection method and system
US10666615B2 (en) Method for detecting, blocking and reporting cyber-attacks against automotive electronic control units
US10326793B2 (en) System and method for guarding a controller area network
WO2021039851A1 (ja) 異常車両検出サーバおよび異常車両検出方法
KR101966345B1 (ko) Can 통신 기반 우회 공격 탐지 방법 및 시스템
CN106031098A (zh) 不正常帧应对方法、不正常检测电子控制单元以及车载网络系统
CN108028784A (zh) 不正常检测方法、监视电子控制单元以及车载网络系统
CN113556271B (zh) 非法控制抑止方法、非法控制抑止装置和车载网络系统
KR101721035B1 (ko) 차량 침입 탐지 장치 및 방법
CN115333938B (zh) 一种车辆安全防护控制方法及相关设备
CN121084325A (zh) 一种车辆安全防护系统及其控制方法
WO2022091786A1 (ja) 情報処理装置、監視方法、プログラム及びセキュリティシステム

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2021517062

Country of ref document: JP

Kind code of ref document: A

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

Ref document number: 20859607

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2020859607

Country of ref document: EP

Effective date: 20220330

WWG Wipo information: grant in national office

Ref document number: 202080009672.2

Country of ref document: CN