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

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

Info

Publication number
WO2021038869A1
WO2021038869A1 PCT/JP2019/034263 JP2019034263W WO2021038869A1 WO 2021038869 A1 WO2021038869 A1 WO 2021038869A1 JP 2019034263 W JP2019034263 W JP 2019034263W WO 2021038869 A1 WO2021038869 A1 WO 2021038869A1
Authority
WO
WIPO (PCT)
Prior art keywords
vehicle
credit score
frame
activity
monitoring device
Prior art date
Application number
PCT/JP2019/034263
Other languages
English (en)
French (fr)
Inventor
剛 岸川
平野 亮
良浩 氏家
芳賀 智之
Original Assignee
パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ filed Critical パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ
Priority to PCT/JP2019/034263 priority Critical patent/WO2021038869A1/ja
Priority to PCT/JP2020/031228 priority patent/WO2021039523A1/ja
Priority to CN202080009672.2A priority patent/CN113348683A/zh
Priority to EP20859607.2A priority patent/EP4024250A4/en
Priority to JP2021517062A priority patent/JPWO2021039523A1/ja
Publication of WO2021038869A1 publication Critical patent/WO2021038869A1/ja
Priority to US17/380,209 priority patent/US11995181B2/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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; CALCULATING OR 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; CALCULATING OR 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; CALCULATING OR 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

  • a credit score indicating the degree of fraud in vehicle behavior caused by an attacker performing reverse engineering is calculated based on a frame flowing through an in-vehicle network system, and the vehicle monitoring function is changed according to the calculated credit score.
  • In-vehicle network security technology In-vehicle network security technology.
  • ECUs electronice control units
  • the network connecting these ECUs is called an in-vehicle network.
  • in-vehicle network There are many standards for in-vehicle networks, but one of the most mainstream in-vehicle networks is the standard called Controller Area Ethernet (hereinafter CAN), and with the spread of autonomous driving and connected cars.
  • CAN Controller Area Ethernet
  • In-vehicle Ethernet is becoming widespread in order to cope with the increase in traffic of the in-vehicle network.
  • Non-Patent Document 1 which has been used in conventional Internet Protocol (IP) communication
  • 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, fraudulent 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.
  • an attacker who tries to illegally control a vehicle establishes an attack method by conducting a reverse engineer of an in-vehicle network such as a frame investigation to cause illegal control of the vehicle in advance.
  • the activity of the attacker can be grasped at the stage of investigating the in-vehicle network before the illegal control of the vehicle is carried out, as a sign of the occurrence of the attack, the attacker interferes with reverse engineering, and the target vehicle is focusedly monitored and attacked. It can be connected to actions such as grasping the contents in advance, and the safety of the in-vehicle network can be further improved.
  • this disclosure monitors the frame in the in-vehicle network, captures the unusual behavior of the vehicle caused by the attacker's reverse engineer, and uses the high possibility that the vehicle is a reverse engineer as a credit score.
  • Provide a vehicle monitoring method that calculates and changes the vehicle monitoring level based on the credit score.
  • the vehicle monitoring device of the present disclosure is a vehicle monitoring device in an in-vehicle network system composed of one or more electronic control units, and the vehicle monitoring device receives a frame flowing through the in-vehicle network.
  • the credit score calculation unit is composed of a communication unit and a credit score calculation unit.
  • the credit score calculation unit detects suspicious behavior different from normal operation based on the frame received by the communication unit, and mounts an in-vehicle network system.
  • a vehicle monitoring method characterized by calculating a credit score indicating the possibility that reverse engineering has been performed on a vehicle.
  • the credit score is calculated by detecting suspicious behavior of an attacker suspected of reverse engineering activities on the in-vehicle network. Furthermore, it is possible to maintain the security of the in-vehicle network by changing the monitoring level of the vehicle based on the credit score.
  • 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 in 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 in the first embodiment.
  • FIG. 5 is a diagram showing an example of a forwarding rule in the first embodiment.
  • FIG. 6 is a flowchart showing the processing of the gateway in the first embodiment.
  • FIG. 7 is a flowchart for calculating the credit score of the gateway according to the first embodiment.
  • 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 in the second embodiment.
  • FIG. 13 is a flowchart of gateway suspicious score calculation according to the second embodiment.
  • FIG. 14 is a flowchart of changing the monitoring level of the gateway in the second embodiment.
  • the vehicle monitoring device of one embodiment of the present disclosure is a vehicle monitoring device in an in-vehicle network system composed of one or more electronic control units, and the vehicle monitoring device is a communication for receiving a frame flowing through the in-vehicle network.
  • the credit score calculation unit is composed of a unit and a credit score calculation unit.
  • the credit score calculation unit detects suspicious behavior different from normal operation based on the frame received by the communication unit, and mounts the in-vehicle network system. It is characterized by calculating a credit score indicating the possibility that reverse engineering has been performed on the vehicle.
  • the suspicious behavior is detected as a passive monitoring activity when any of monitoring device connection, error frame, network interruption, and battery removal is detected, and the credit score calculation unit observes the passive monitoring activity. If so, the credit score may be reduced.
  • the suspicious behavior is an active monitoring activity when any one of the number of times the driving support function is activated, the number of times the button is pressed in the vehicle, and the number of times abnormal driving behavior is detected within a predetermined time is equal to or more than a predetermined number.
  • the driving support function is one of automatic parking support, auto cruise control, emergency braking, and lane keep assist, and the abnormal driving behavior is the accelerator opening, the braking pressure, and the steering angle within a predetermined time.
  • the amount of change in 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 observed.
  • the suspicious behavior is detected as an injection activity when either the received amount of frames or the received amount of diagnostic commands within a predetermined time is a predetermined number or more, and the credit score calculation unit performs the injection.
  • the credit score may be reduced if activity is observed.
  • 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 a predetermined time, and the frame of the same attribute is detected.
  • the frame of the same attribute is detected.
  • the credit score calculation unit is subjected to the refinement activity. The credit score may be reduced if observed.
  • 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 is any of passive monitoring activity, active monitoring activity, injection activity, and refinement activity
  • the passive monitoring activity is any of monitoring device connection, error frame, network interruption, and battery removal.
  • the active monitoring activity is any one of the number of times the driving support function is activated, the number of times the button is pressed in the vehicle, and the number of times abnormal driving behavior is detected within a predetermined time.
  • the injection activity is detected when either the received amount of frames or the received amount of diagnostic commands within a predetermined time is greater than or equal to a predetermined number
  • the refinement activity is detected.
  • Is detected when either the received amount of the update command or the received amount of frames of the same attribute is equal to or more than a predetermined number within a predetermined time
  • the credit score calculation unit credits each type of suspicious behavior. The score may be calculated.
  • the vehicle monitoring device further includes a monitoring level changing unit, and the monitoring level changing unit of the vehicle is based on the type of the suspicious behavior and the value of the credit score corresponding to the type of the suspicious behavior.
  • a monitoring level changing unit based on the type of the suspicious behavior and the value of the credit score corresponding to the type of the suspicious behavior.
  • One or more of limiting some functions, alerting the driver, and notifying nearby vehicles or servers of the credit score may be performed.
  • the vehicle monitoring method of one embodiment of the present disclosure is a vehicle monitoring method in an in-vehicle network system composed of one or more electronic control units, and the vehicle monitoring method receives a frame flowing through the in-vehicle network. It is composed of a communication step and a credit score calculation step.
  • the credit score calculation step detects suspicious behavior different from normal operation based on the frame received by the communication unit, and causes the in-vehicle network system. It is characterized by calculating a credit score indicating the possibility that reverse engineering has been performed on the vehicle to be mounted.
  • 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.
  • CAN controller Area Network
  • Each bus is domain-separated according to the function of the vehicle, for example.
  • bus 1 is provided with a powertrain system ECU, communication related to engine control and the like is performed, and bus 2 is equipped with a chassis system ECU. It is arranged and communication for realizing steering control and brake control is performed.
  • Bus 3 is arranged with an information system ECU, car navigation and infotainment system communication is performed, and bus 4 is arranged. Is equipped with a body-based ECU, and communicates to control the air conditioner by pressing a button of the passenger and to control the power window and the like.
  • 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.
  • each bus is realized by CAN, but the communication protocol is not limited to this.
  • it may be CAN-FD, FlexRay, Ethernet, or the communication protocol may be different for each bus.
  • FIG. 2 is a configuration diagram of the ECU 10.
  • the ECU 11, ECU 20, ECU 21, ECU 30, ECU 31, ECU 40, and ECU 41 have the same configuration, but the sensors and actuators to be connected to each are different, and 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, and includes 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.
  • 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 the CPU and the memory.
  • the host unit 101 interprets the frame received from the communication unit 100 and executes processing according to the communication content.
  • the ECU 10 is an ECU that controls an engine, and is a cruise control function.
  • the host unit 101 rotates the engine so as to obtain a desired vehicle speed. Control to increase the number. Further, the information on the engine speed is acquired, and the host unit 101 performs processing such as transmitting a frame to notify other ECUs.
  • FIG. 3 is a configuration diagram of the gateway 60.
  • 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, a server communication unit 67, and a credit score holding unit 68. It is composed of a transfer rule holding unit 69.
  • the frame transmission / reception unit 61 is a communication interface with 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 the frame in accordance with the transmission request from the frame generation unit 66.
  • 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 based on the frame notified from the frame interpretation unit 62 and the vehicle information held in the credit score holding unit 68, and stores it in the credit score holding unit 68. Update the credit score and vehicle information of your vehicle.
  • the credit score calculation unit 63 calculates the degree to which the vehicle is used differently as a credit score. Calculate credit scores, especially to capture signs that an attacker is working to reverse engineer a vehicle.
  • the fact that the ratio of the time when the vehicle is stopped to the time when the ignition is applied is considered to be a sign that some kind of investigation is being conducted on the stopped vehicle. , Decrease credit score.
  • the credit score calculation unit 63 reduces the credit score.
  • 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.
  • the credit score calculation unit 63 reduces the credit score.
  • the credit score calculation unit 63 reduces the credit score because it may have been lost.
  • the credit score calculation unit 63 reduces the credit score because there is a possibility that the credit score is calculated.
  • the credit score calculation unit 63 calculates the credit score according to the number of frames for updating, the frequency of battery removal, the IP address that is not normally observed, the number of packets including the port number, and the like. Can be reduced.
  • the credit score is stored in the non-volatile memory, and the credit score calculation unit 63 increases the credit score by 1, for example, every other day.
  • the activity of reducing the credit score may appropriately detect a vehicle that is repeatedly observed.
  • 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 discards the notified frame or notifies another ECU of a frame for entering the degenerate mode in order to enter the degenerate mode. In order to transmit, the degenerate mode notification frame is notified to the transfer control unit 65. 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 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 and the data for calculating the credit score.
  • 4A and 4B are diagrams showing an example of information stored in the credit score holding unit 68, and details will be described later.
  • the transfer rule holding unit 69 stores the rules used for frame transfer.
  • FIG. 5 is a diagram showing an example of a forwarding rule stored in the forwarding rule holding unit 69, and the details will be described later.
  • FIG. 4A is a diagram showing an example of the credit score stored in the credit score holding unit 68
  • FIG. 4B shows an example of vehicle data stored in the credit score holding unit 68 and used for calculating the credit score. It is a figure.
  • Figure 4A shows that the credit score is 80.
  • the credit score takes a value of 0 to 100, and the initial value is 100.
  • the current value and the previous value in which the previous value is stored are stored as the data when the ignition was turned on and then turned off. Has been done.
  • the stop time ratio indicating the ratio of the vehicle speed to 0 km / h
  • the emergency brake activation interval indicating the interval after the emergency brake is turned on and then the emergency brake is turned on
  • the cruise control activation interval 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 steering detection interval
  • error frame occurrence interval indicating the interval at which the error frame is received
  • message A series of buttons that indicate the momentary interruption time, the presence or absence of a low battery voltage, the number of times a diagnostic command is received, the number of times an update command is received, and the number of times a button that controls an air conditioner, a light, etc. in the vehicle is pressed within a unit time (for example, 1 minute).
  • 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.
  • the activation interval of cruise control is "-" this time, which indicates that it has not been activated more than once, whereas the previous time it has been activated at 1000 second intervals.
  • the automatic parking support activation interval is "-" last time, while this time it is activated at 30 second intervals, indicating that the automatic parking support has not been activated more than once.
  • 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.
  • the error frame occurrence interval is 1 second interval this time and "-" last time, indicating that the corresponding frame has not been received more than once.
  • 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 was received and the number of times the update command was received were 0 both last time and this time.
  • 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 forwarding rule stored in the forwarding rule holding unit 69. As shown in the figure, a table in which a transfer source and a transfer destination are stored is held for each 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 processing flowchart of the gateway 60.
  • the gateway 60 determines whether or not the frame is being received (step S10).
  • the gateway 60 calculates the credit score (step S11). If the frame has not been received, 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 (step S12).
  • the gateway 60 changes the monitoring level (step S13), executes the transfer process (step S14), and ends.
  • the gateway 60 executes the transfer process and ends the process.
  • FIG. 7 is a flowchart of the credit score calculation process of step S11 of the process flowchart of the gateway 60.
  • the gateway 60 confirms whether or not the received frame is a diagnostic command or an update command (step S1101).
  • step S1102 If the received frame is a diagnostic command or an update command, the number of received commands is updated (step S1102).
  • the gateway 60 determines whether or not the number of received commands is equal to or greater than a predetermined value (for example, 100 times or more) (step S1103).
  • the gateway 60 decrements the credit score by 1 and ends (executes step S12). If the number of received commands is smaller than the predetermined value, the gateway 60 ends the process.
  • the gateway 60 confirms whether or not the received frame is a command for turning on the driving support function (step S1105).
  • the gateway 60 updates the elapsed time from the time when the function was turned ON last time for the corresponding function (step S1106).
  • the gateway 60 confirms whether or not the updated elapsed time is less than a predetermined value (for example, less than 5 minutes) (step S1107).
  • the gateway 60 decrements the credit score by 1 (step S1104) and ends.
  • the gateway 60 ends the process without doing anything in particular.
  • step S1105 if the received frame is not a driving support function ON command, the gateway 60 determines whether or not any of sudden braking, sudden steering, and sudden accelerator is detected from the received frame (step S1108). ).
  • the gateway 60 ends the process without doing anything in particular.
  • the gateway 60 updates the elapsed time from the previous detection time (step S1109).
  • the gateway 60 determines whether the elapsed time is less than a predetermined value (for example, 5 minutes) (step S1110).
  • the gateway 60 decrements the credit score by 1 (step S1104) and ends.
  • the gateway 60 ends without doing anything.
  • FIG. 8 is a flowchart of the monitoring level change process of the process flowchart step S13 of the gateway 60.
  • step S12 the gateway 60 determines whether or not the credit score is 30 or less when the credit score is equal to or less than a predetermined value (step S1301).
  • the gateway 60 shifts to the degenerate mode (step S1302).
  • the gateway 60 In the degenerate mode, in order to perform a process of disabling a part or all of the driving support function, the gateway 60 notifies another ECU or displays a notification to the driver that the function has been invalidated. , The gateway 60 stops the transfer of some frames. After that, the gateway 60 ends the process.
  • the gateway 60 determines whether the credit score is 50 or less (step S1303).
  • the gateway 60 pays attention to the driver by transmitting a frame for alerting the driver to an ECU that controls a display such as an instrument cluster. Along with arousing, the credit score and the vehicle log are notified to the server (step S1304), and the process is terminated.
  • the gateway 60 confirms whether the credit score is 80 or less (step S1305).
  • the gateway 60 notifies the server of the credit score (step S1306).
  • the gateway 60 ends the process without doing anything.
  • FIG. 9 is a diagram showing an operation sequence when the credit score at the gateway 60 is 51 and the credit score becomes 50 or less due to suspicious driving behavior.
  • the ECU 20 is an ECU that transmits a frame instructing an emergency brake
  • 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.
  • the gateway 60 Since the time from the reception of the frame requesting the emergency brake ON in S100 to the reception of the frame requesting the emergency brake ON in S102 is shorter than the predetermined value (for example, 5 minutes), the gateway 60 reduces the credit score by 1. S103).
  • the gateway 60 transmits a frame for displaying a warning to the driver (S104).
  • the ECU 30 receives the frame for displaying the warning to the transmitted driver, and displays the warning on the display (S105).
  • the content displayed on the display is, for example, the display shown in FIG. 11A.
  • the gateway 60 notifies the server of the vehicle log including the credit score (S106).
  • FIG. 10 is an operation sequence when the credit score at the gateway 60 is 31, and the credit score becomes 30 or less due to suspicious driving behavior.
  • 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.
  • the gateway 60 Since the time from the reception of the frame requesting the emergency brake ON in S110 to the reception of the frame requesting the emergency brake ON in S112 is shorter than the predetermined value (for example, 5 minutes), the gateway 60 reduces the credit score by 1. S113).
  • the gateway 60 Since the current credit score is 30 or less as a result of decrementing the credit score by 1, the gateway 60 transmits a frame for shifting to the degenerate mode (S114).
  • 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.
  • a credit score is calculated for an activity in which an attacker suspects a reverse engineering activity of an in-vehicle network system. Furthermore, by deciding the response based on the credit score, the suspicious vehicle can be grasped and focused on, and for the more suspicious vehicle, the reverse engineering activity by partially limiting the function of the vehicle. It becomes possible to interfere with. As a result, the safety of the in-vehicle network system can be enhanced.
  • FIG. 12 is a processing flowchart of the gateway 60.
  • the gateway 60 determines whether or not the frame has been received (step S20).
  • the gateway 60 calculates various suspicious scores (step S21). If the frame has not been received, the gateway 60 waits until the frame is received.
  • the gateway 60 determines whether any of the calculated suspicious scores is equal to or higher than a predetermined value (step S22).
  • the gateway 60 changes the monitoring level (step S23).
  • the gateway 60 performs a transfer process (step S24) and ends the process.
  • FIG. 13 is a detailed flowchart of the suspicious score calculation process in step S21 of the process flowchart of the gateway 60 of FIG.
  • the gateway 60 determines whether or not any of the connection detection of a third-party device, the error frame detection, the network interruption detection, and the battery removal detection has occurred in the diagnostic port ( Step S2101).
  • the gateway 60 increases the passive monitoring score by 1 (step S2102) and ends the process.
  • the gateway 60 determines whether or not the driving support function such as emergency braking is turned on or abnormal operation such as sudden braking is repeatedly detected (S2103).
  • the gateway 60 increases the active monitoring score by 1 (step S2104) and ends the process.
  • the gateway 60 determines whether the received amount of frames or the received amount of diagnostic commands is larger than a predetermined threshold value (step S2105).
  • the gateway 60 increases the injection score by 1 (step S2106), assuming that an attacker is attempting to inject an illegal frame, and ends the process.
  • the gateway 60 determines whether or not the reception amount of the update command or the same ID frame exceeds a predetermined threshold value (step S2107).
  • the gateway 60 increases the refinement score by 1 (step S2108) and performs processing. finish.
  • connection detection of the third-party device can be detected from the fact that a specific diagnostic command flows from the diagnostic port.
  • Error frame detection can be detected by the gateway error counter or 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 was cut off and the power supply was cut off last time when the power was supplied again.
  • FIG. 14 is a detailed flowchart of the monitoring level change process in step S23 of the process flowchart of the gateway 60 of FIG.
  • the gateway 60 determines whether or not the passive monitoring score is greater than 3 (step S2301).
  • the gateway 60 notifies the server of vehicle data including each suspicious score (step S2302), and ends the process.
  • the gateway 60 determines whether the active monitoring score is greater than 3 (step S2303).
  • the gateway 60 transmits a frame for alerting the driver and notifies the server of vehicle data including each suspicious score (step S2304), and ends the process. ..
  • the gateway 60 determines whether the injection score is greater than 3 (step S2305).
  • the gateway 60 limits some functions of the vehicle, notifies the server of vehicle data including each suspicious score (step S2306), and ends the process.
  • the gateway 60 determines whether the refinement score is greater than 3 (step S2307).
  • the gateway 60 transmits a request frame for shifting to the degenerate mode, notifies the server of vehicle data including each suspicious score (step S2308), and ends the process.
  • 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. Furthermore, by deciding the response method based on the values of various suspicious scores, it is possible to perform more focused monitoring of vehicles suspected of having advanced the attack phase, which enables the in-vehicle network system. It can increase safety.
  • 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 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, the credit score may increase when the ignition is turned on, the credit score may be reset by a diagnostic command, or a notification from the server may occur. You may reset the credit score based on. 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 can be determined, for example, based on detection of a third party device connection to a diagnostic port, network interruptions for connecting a monitoring device, battery removal, number of error frame detections, and detection intervals. Active monitoring is determined based on, for example, the interval and amount of use of the driving support function, the amount of button presses placed in the vehicle per unit time, and the frequency with which extreme accelerator, brake, and steering wheel operations are observed. sell. Injection can be judged by the reception amount and reception interval of frames, and the reception amount and reception interval of diagnostic commands. The refinement can be judged by an increase in the reception amount for a frame having the same ID, a change in the reception interval, and a reception amount or reception interval of the update command.
  • the credit score holding unit holds the current value and the previous value of the vehicle data used for calculating the credit score, but it is not the previous value but the actual result of reducing the credit score in the past. May be saved. For example, in the past week, the amount of deduction of the score may be retained, and when the score has been deducted in the past, the amount of decrease of the credit score when suspicious behavior is observed is increased. May be good. 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 neighboring vehicles and roadside machines 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 for the calculation of the own vehicle credit score. For example, when a plurality of vehicles having a credit score of a predetermined value or less exist for a predetermined period of time, the credit score may be reduced, assuming that the own vehicle is also likely to be the analysis target 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 and the monitoring level may be changed after all the determination processes are executed.
  • the vehicle log may be notified to the server on a regular basis, and the notification frequency and 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. Further, the threshold value may be dynamically changed depending on the situation.
  • the refinement score is increased based on the received amount of the same ID frame, but in Ethernet, the received amount of frames of the same port number, the same IP address, and the MAC address. May be.
  • 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 conditions of the credit score (suspicious score) and the processing contents according to the score may be separately held as rules.
  • 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, and notification to the driver are handled 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 the credit score is calculated, 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 authentication with the server, and the vehicle in the test mode may be known by the server.
  • 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.
  • Each device according to the above embodiment may be composed of a part or all of the constituent elements 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, and the memory may record the above-mentioned computer program, and the microprocessor may operate according to the computer program.
  • This disclosure detects suspicious behavior suspected of reverse engineering activities by an attacker from a frame flowing through an in-vehicle network, and calculates a credit score. Furthermore, by determining the monitoring level based on the credit score, it is possible to focus on monitoring suspicious vehicles.

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

本開示によれば、車載ネットワークを流れるフレームから、攻撃者によるリバースエンジニアリング活動が疑われる不審な挙動を検知し、信用スコアを算出する。さらに信用スコアに基づいて監視レベルを決定することで不審な車両を重点的に監視することを可能とする。

Description

車両監視装置および車両監視方法
 本開示は、車載ネットワークシステムに流れるフレームに基づいて、攻撃者がリバースエンジニアリングを実施することによる車両挙動の不正度を表す信用スコアを算出し、算出した信用スコアに応じて車両の監視機能を変更する車載ネットワークセキュリティ技術に関する。
 近年、自動車の中のシステムには、電子制御ユニット(以下、ECU)と呼ばれる装置が多数配置されている。これらのECUをつなぐネットワークは車載ネットワークと呼ばれる。車載ネットワークには、多数の規格が存在するが、その中でも最も主流な車載ネットワークの一つに、Controller Area Network(以降、CAN)という規格が存在し、さらに、自動運転やコネクテッドカーの普及に伴い、車載ネットワークのトラフィックの増大に対応するため車載Ethernetの普及が進んでいる。
 一方で、車載ネットワークに侵入し、車両を不正制御する脅威も報告されている。このような脅威に対して、従来のInternet Protocol(IP)通信で用いられてきた、非特許文献1のような、暗号通信を用いて不正なノードの通信の不正制御を防ぐ方法や、特許文献1のような、車載ネットワークの異常な通信を検知し、不正なフレームを遮断する方法が開示されている。
特許第5664799号公報
RFC5406:Guidelines for Specifying the Use of IPsec Version2、2009年2月
 しかしながら、非特許文献1の方法では、暗号通信を用いるため、送受信ノードによる暗号化・復号処理が必要となりオーバーヘッドが発生する。また暗号通信に用いる鍵管理が重要となり、ECUの制御を奪われ、正規の鍵を利用された場合に、不正なフレーム送信による不正制御が可能となってしまう。
 また、特許文献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以上の電子制御ユニットによって構成される車載ネットワークシステムにおける、車両監視装置であって、前記車両監視装置は、前記車載ネットワークに流れるフレームを受信する通信部と、信用スコア算出部と、から構成され、前記信用スコア算出部は、前記通信部で受信した前記フレームに基づいて、通常の運転とは異なる不審挙動を検知し、前記車載ネットワークシステムを搭載する車両に対してリバースエンジニアリングが行われている可能性を示す信用スコアを算出することを特徴とする。
 これにより、車載ネットワークシステムをリバースエンジニアリングしている疑わしさを算出することが可能となり、より疑わしい車両を把握することができ効果的である。
 また、前記不審挙動は、監視装置接続、エラーフレーム、ネットワーク瞬断、バッテリー取り外しのいずれかが検知された場合に、パッシブモニタリング活動として検知され、前記信用スコア算出部は、前記パッシブモニタリング活動が観測された場合に、前記信用スコアを減少させるとしてもよい。
 これにより、攻撃者が、車載ネットワークシステムのログを取得しようとする試行を捉えることが可能となり、効果的である。
 また、前記不審挙動は、所定の時間内における、運転支援機能の発動回数、車内のボタンの押下回数、異常な運転挙動の検知回数、のいずれかが所定数以上である場合に、アクティブモニタリング活動として検知され、前記運転支援機能は、自動駐車支援、オートクルーズコントロール、緊急ブレーキ、レーンキープアシストのいずれかであり、前記異常な運転挙動は、アクセル開度、ブレーキ圧、所定時間内における操舵角の変化量が所定値以上であることであり、前記信用スコア算出部は、前記アクティブモニタリング活動が観測された場合に、前記信用スコアを減少させるとしてもよい。
 これにより、攻撃者が、不正制御を行うためのヒントを得るための車載ネットワークログを積極的に取得しようとする活動を捉えることが可能となり効果的である。
 また、前記不審挙動は、所定の時間内における、フレームの受信量、診断コマンドの受信量のいずれかが所定数以上である場合に、インジェクション活動として検知され、前記信用スコア算出部は、前記インジェクション活動が観測された場合に、前記信用スコアを減少させるとしてもよい。
 これにより、攻撃者が、車載ネットワークに対して、何らかのフレーム注入を試行する活動を捉えることが可能となり効果的である。
 また、前記不審挙動は、所定の時間内における、アップデートコマンドの受信量、同一属性のフレームの受信量のいずれかが所定数以上である場合に、リファインメント活動として検知され、前記同一属性のフレームとは、前記フレームに含まれる識別子、IPアドレス、MACアドレス、ポート番号のいずれか、またはいずれか2つ以上の組み合わせが同一であるフレームであり、前記信用スコア算出部は、前記リファインメント活動が観測された場合に、前記信用スコアを減少させるとしてもよい。
 これにより、攻撃者が車両の不正制御を実現するために、より洗練された攻撃を試行していることを捉えることが可能となり効果的である。
 また、前記車両監視装置は、さらに、監視レベル変更部を備え、前記監視レベル変更部は、前記信用スコアが所定の値未満となった場合に、前記信用スコアの値に基づいて、前記車両の機能の制限と、運転者への注意喚起と、近隣車両またはサーバへの信用スコアの通知と、車載ネットワークの監視強化と、のいずれか1つ以上を実行するとしてもよい。
 これにより、攻撃者によるリバースエンジニアリング活動の疑わしさが高い車両を重点的に監視することが可能となり効率的である。
 また、前記不審挙動は、パッシブモニタリング活動、アクティブモニタリング活動、インジェクション活動、リファインメント活動のいずれかであり、前記パッシブモニタリング活動は、監視装置接続、エラーフレーム、ネットワーク瞬断、バッテリー取り外しのいずれかが検知された場合に、パッシブモニタリング活動として検知され、前記アクティブモニタリング活動は、所定の時間内における、運転支援機能の発動回数、車内のボタンの押下回数、異常な運転挙動の検知回数、のいずれかが所定数以上である場合に検知され、前記インジェクション活動は、所定の時間内における、フレームの受信量、診断コマンドの受信量のいずれかが所定数以上である場合に検知され、前記リファインメント活動は、所定の時間内における、アップデートコマンドの受信量、同一属性のフレームの受信量のいずれかが所定数以上である場合に検知され、前記信用スコア算出部は、前記不審挙動の種類ごとに信用スコアを算出するとしてもよい。
 これにより、攻撃者のリバースエンジニアリング活動のフェーズごとに不審挙動の疑わしさを把握することが可能となり、効果的である。
 また、前記車両監視装置は、さらに、監視レベル変更部を備え、前記監視レベル変更部は、前記不審挙動の種類と、前記不審挙動の種類に対応する信用スコアの値に基づいて、前記車両の一部機能の制限と、運転者への注意喚起と、近隣車両またはサーバへの信用スコアの通知と、のいずれか1つ以上を実行するとしてもよい。
 これにより、攻撃者のリバースエンジニアリング活動のフェーズに応じた対応が可能となり、車載ネットワークの安全性向上に効果的である。
 また本開示の一実施態様の車両監視方法は、1以上の電子制御ユニットによって構成される車載ネットワークシステムにおける、車両監視方法であって、前記車両監視方法は、前記車載ネットワークに流れるフレームを受信する通信ステップと、信用スコア算出ステップと、から構成され、前記信用スコア算出ステップは、前記通信部で受信した前記フレームに基づいて、通常の運転とは異なる不審挙動を検知し、前記車載ネットワークシステムを搭載する車両に対してリバースエンジニアリングが行われている可能性を示す信用スコアを算出することを特徴とする。
 これにより、車載ネットワークシステムをリバースエンジニアリングしている疑わしさを算出することが可能となり、より疑わしい車両を把握することができ効果的である。
 以下、図面を参照しながら、本開示の実施の形態に関わる車載ネットワーク異常検知システムについて説明する。なお、以下で説明する実施の形態は、いずれも本開示の好ましい一具体例を示す。つまり、以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置および接続形態、ステップ、ステップの順序などは、本開示の一例であり、本開示を限定する主旨ではない。本開示は、請求の範囲の記載に基づいて特定される。したがって、以下の実施の形態における構成要素のうち、本開示の最上位概念を示す独立請求項に記載されていない構成要素は、本開示の課題を達成するために必ずしも必要ではないが、より好ましい形態を構成する構成要素として説明される。
 (実施の形態1)
 以下、複数の電子制御ユニット(ECU)が通信する車載ネットワーク(車載ネットワークシステム)を搭載した車両における、車両監視方法について説明する。
 [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)で接続されており、フレームの通信を行う。各バスは例えば車両の機能ごとにドメイン分離されており、例えばバス1は、パワートレイン系のECUが配置されており、エンジンの制御等に関わる通信が行われ、バス2はシャシー系のECUが配置されており、ステアリングの制御や、ブレーキ制御を実現するための通信が行われ、バス3は、情報系のECUが配置されており、カーナビやインフォテインメント系の通信が行われ、バス4は、ボディ系のECUが配置され、搭乗者のボタン押下によるエアコン制御や、パワーウインドウ等の制御を行うための通信が行われる。
 ゲートウェイ60は、全てのバスの情報を受信し、必要であれば受信したフレームを、他のバスへ転送する処理を行う。例えばバス5に、診断用のフレームが流れていた場合には、当該フレームをバス1~4に転送する処理等を行う。
 なお、本実施の形態では、各バスはCANで実現されているとしたが、通信プロトコルはこれに限らない。例えば、CAN-FD、FlexRay、Ethernetであってもよいし、バスごとに通信プロトコルが異なっていても構わない。
 [1.2 ECU10の構成]
 図2は、ECU10の構成図である。なお、ECU11、ECU20、ECU21、ECU30、ECU31、ECU40、ECU41も同様の構成であるが、それぞれ接続されるセンサやアクチュエータが異なり、実現する機能が異なる。
 ECU10は、例えばプロセッサ、メモリ、通信インタフェース等を備えるコンピュータにより実現され、通信部100とホスト部101とから構成される。
 通信部100は、バス1に接続し、バス1に流れるフレームの送受信を行う。通信部100は通信コントローラや、トランシーバ等によって実現される。
 ホスト部101は、ECU10のメイン処理を行う部分であり、CPUとメモリによって実現される。ホスト部101は、通信部100から受信した、フレームを解釈し、通信内容に応じた処理を実施する。例えばECU10は、エンジン制御を行うECUであり、クルーズコントロールの機能で、車両速度の増加要求フレームを他のECUから受信した場合に、所望の車両速度となるように、ホスト部101は、エンジン回転数を上昇させる制御等を行う。またエンジン回転数の情報を取得し、ホスト部101は、他のECUへ通知するためにフレームを送信する等の処理を行う。
 [1.3 ゲートウェイ60の構成]
 図3は、ゲートウェイ60の構成図である。ゲートウェイ60は、例えばプロセッサ、メモリ、通信インタフェース等を備えるコンピュータにより実現される。
 ゲートウェイ60は、フレーム送受信部61、フレーム解釈部62、信用スコア算出部63と、監視制御部64と、転送制御部65と、フレーム生成部66とサーバ通信部67と信用スコア保持部68と、転送ルール保持部69と、から構成される。
 フレーム送受信部61は、バス1~5との通信インタフェースであり、通信コントローラや、トランシーバ等によって実現される。フレーム送受信部61は各バスで受信したフレームをフレーム解釈部62へ転送する。また、フレーム生成部66からの送信要求に従って、フレーム送受信部61はフレームの送信を行う。
 フレーム解釈部62は、フレーム送受信部61から転送されたフレームの解釈を行い、フレームに応じた処理を行う。また、フレーム送受信部61は、受信したフレームを、信用スコア算出部63へ通知する。
 信用スコア算出部63は、フレーム解釈部62から通知されたフレームと、信用スコア保持部68に保持されている車両情報に基づき、車両の信用スコアを算出し、信用スコア保持部68に格納されている車両の信用スコアおよび、車両情報を更新する。
 信用スコア算出部63は、車両が通常とは異なる利用をされている度合いを信用スコアとして、算出する。特に攻撃者が車両をリバースエンジニアリングする目的で活動している兆候を捉えるように信用スコアを算出する。
 例えば、イグニッションがかかっている時間に対して、停車している時間の割合が高いことは、停車中の車両に対して、何らかの調査を行っている兆候とも考えられるため、信用スコア算出部63は、信用スコアを減少させる。
 また、数秒から数分といった短時間で、車両の運転支援機能(緊急ブレーキ、クルーズコントロール、自動駐車)が繰り返し利用される場合も、攻撃者により、不正制御を引き起こすフレームを解析するために、車載ネットワークのログ取得がされている可能性があるので、信用スコア算出部63は、信用スコアを減じる。
 また、車両の極端な運転状態(急アクセル、急ブレーキ、急ハンドル)の検知間隔が短い場合や、エアコンや、ライト等のボディ系を制御するための車内に配置されたボタンが繰り返し押下されている場合も、攻撃者により、車載ネットワーク解析のためのログ取得がされている可能性があるので、信用スコア算出部63は、信用スコアを減じる。
 また、車載ネットワークにおいてエラーフレームが発生する間隔が短い場合も、攻撃者によって不正なデバイスが接続されている影響が表れているので、信用スコア算出部63は、信用スコアを減じる。
 また、車載ネットワークのフレームが瞬断される時間が、数秒程度発生する場合も、攻撃者によって、車載ネットワークをロギングするためのデバイスや、不正なフレームを注入するためのデバイスを接続する作業が行われている可能性があるので、信用スコア算出部63は、信用スコアを減じる。
 また、車載ネットワークに流れる診断コマンドが所定量以上である場合は、攻撃者によって、診断コマンド注入時の車両への影響調査や、攻撃試行の影響で生じた故障コードの消去作業が繰り返し行われている可能性があるので、信用スコア算出部63は、信用スコアを減じる。
 他にも、アップデートを行うためのフレーム数や、バッテリーの取り外しが行われる頻度、通常観測されないIPアドレスや、ポート番号を含むパケット数などに応じても、信用スコア算出部63は、信用スコアを減少させうる。
 上記の信用スコアを減じる状況は、必ずしも攻撃者による活動とは限らないため、信用スコアは不揮発メモリに保持しておき、信用スコア算出部63は、例えば1日おきに1ずつ上昇させるように、信用スコアを回復させる処理も行うことで、信用スコアを減少させる活動が、繰り返し観測される車両を適切に検出するようにしてもよい。
 信用スコア算出部63は、受信したフレームを監視制御部64に通知する。
 監視制御部64は、信用スコア保持部68に保持されている信用スコアに基づいて、通知されたフレームに対する処理を決定する。
 信用スコアが、所定の閾値よりも高い場合は、特に何も行わず、信用スコア算出部63は、通知されたフレームを転送制御部65へ通知する。
 信用スコアが、所定の閾値以下の場合は、縮退モードに入るために、監視制御部64は、通知されたフレームの破棄や、他のECUへ、縮退モードに入るため通知を行うためのフレームを送信するために、縮退モード通知フレームを転送制御部65へ通知する。また、信用スコアが減少してきたことを通知するために、監視制御部64は、車両ログと信用スコアをサーバ通信部67へ通知する。ここで、車両ログは、車載ネットワークで観測されたフレームの情報を含みうる。
 転送制御部65は、通知されたフレームを転送ルール保持部69に保持されている転送ルールに基づいて、転送を行うように、フレーム生成部66へ通知する。
 フレーム生成部66は、転送制御部65から通知されたフレームについての送信要求をフレーム送受信部61に対して行う。
 サーバ通信部67は、監視制御部64から通知された内容をサーバへ通知し、サーバからの通知を受け、監視制御部64へ内容を通知する。
 信用スコア保持部68は、車両の信用スコアと、信用スコアを算出するためのデータが格納されている。図4A、図4Bは、信用スコア保持部68に格納される情報の一例を示す図であり、詳細は後述する。
 転送ルール保持部69は、フレームの転送に用いるルールが格納されている。図5は転送ルール保持部69に格納される転送ルールの一例を示す図であり、詳細は後述する。
 [1.4 信用スコア保持部68に格納される信用スコアと車両データの一例]
 図4Aは、信用スコア保持部68に格納される信用スコアの一例を示す図であり、図4Bは、信用スコア保持部68に格納される、信用スコアの算出に用いられる車両データの一例を示す図である。
 図4Aにおいて、信用スコアは80であることを示している。信用スコアは、0~100の値をとり、初期値は100である。
 また、図4Bの車両データにおいて、イグニッションがONされてからのデータとして、今回値と前回値が格納されている前回値は、前回にイグニッションがONされてからOFFとなった時のデータが格納されている。車両データとして、車両の速度が時速0キロである割合を示す停車時間割合、緊急ブレーキがONになってから、次に緊急ブレーキがONとなる間隔を示す緊急ブレーキ発動間隔、クルーズコントロール発動間隔、自動駐車支援発動間隔、アクセル開度が100%を示すフレームを受信した間隔を示す急アクセル検知間隔、急ブレーキ検知間隔、急ハンドル検知間隔、エラーフレームを受信した間隔を示すエラーフレーム発生間隔、メッセージ瞬断時間、バッテリー電圧低下有無、診断コマンド受信回数、アップデートコマンド受信回数、車内に存在する、エアコンやライト等を制御するボタンが単位時間内(例えば1分間)に押された回数を示すボタン連続押下回数が格納されている。
 図4Bでは、格納されている車両データとして、停車時間割合が今回は70%であるのに対して、前回は50%であったことを示している。また、緊急ブレーキ発動間隔は、今回が60秒であるのに対して、前回は、「ー」であり、緊急ブレーキが2回以上発動していないことを示している。同様にクルーズコントロールの発動間隔は、今回は、「ー」であり、2回以上発動していないことを示しているのに対して、前回は1000秒間隔で発動していることを示しており、自動駐車支援発動間隔は、今回が30秒間隔で発動しているのに対して、前回は、「ー」であり、2回以上自動駐車支援が発動していないことを示している。
 急アクセル検知間隔は、今回、前回ともに、「ー」であり、2回以上の急アクセルを検知していないことを示している。同様に、急ブレーキ検知間隔、急ハンドル検知間隔についても、前回、今回ともに「ー」であり、2回以上の該当フレームを受信していないことを示している。
 エラーフレーム発生間隔は、今回は1秒間隔であり、前回は「ー」であり、2回以上の該当フレームを受信していないことを示している。メッセージ瞬断時間は、今回は3秒であり、前回は、0秒(つまり1秒未満)であったことを示している。
 バッテリー電圧低下有無については、今回はバッテリー電圧低下を検知しており、前回はバッテリー電圧低下を検知していないことを示している。診断コマンド受信回数と、アップデートコマンド受信回数は前回、今回ともに0回であったことを示している。
 ボタン連続押下回数については、今回は30回押されたのに対して、前回は3回であったことを示している。
 なお、本実施の形態では、信用スコアおよび車両データは平文で保持されているが、暗号化されて保持されていてもよい。
 [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の処理フローチャートである。
 ゲートウェイ60は、フレーム受信しているか否かを判断する(ステップS10)。
 フレームを受信している場合は、ゲートウェイ60は、信用スコアを算出する(ステップS11)。フレームを受信していない場合は、ゲートウェイ60は、フレームを受信するまで待機する。
 ゲートウェイ60は、信用スコアを算出後、算出した信用スコアが所定値以下であるか否かを確認する(ステップS12)。
 信用スコアが所定値以下である場合は、ゲートウェイ60は、監視レベルを変更し(ステップS13)、転送処理を実行し(ステップS14)、終了する。
 信用スコアが所定値よりも大きい場合は、ゲートウェイ60は、転送処理を実行し、処理を終了する。
 [1.7 ゲートウェイ60の信用スコア算出フローチャート]
 図7は、ゲートウェイ60の処理フローチャートのステップS11の信用スコア算出処理のフローチャートである。
 ゲートウェイ60は、受信したフレームが診断コマンドまたは、アップデートコマンドであるか否かを確認する(ステップS1101)。
 受信したフレームが、診断コマンドまたは、アップデートコマンドである場合は、該当コマンドの受信数を更新する(ステップS1102)。
 次にゲートウェイ60は、該当コマンドの受信数が所定値以上(例えば100回以上)であるか否かを判断する(ステップS1103)。
 該当コマンドの受信数が所定値以上である場合は、ゲートウェイ60は、信用スコアを1デクリメントして終了する(ステップS12を実行する)。該当コマンドの受信数が所定値よりも小さい場合は、ゲートウェイ60は、処理を終了する。
 ステップS1101にて、受信したフレームが診断コマンドまたは、アップデートコマンドでない場合は、ゲートウェイ60は、受信したフレームが、運転支援機能がONとなるコマンドであるか否かを確認する(ステップS1105)。
 受信したフレームが運転支援機能ONコマンドである場合は、ゲートウェイ60は、該当機能について前回に機能がONとなった時刻からの経過時間を更新する(ステップS1106)。
 次にゲートウェイ60は、更新した経過時間が所定値未満(例えば5分未満)であるか否かを確認する(ステップS1107)。
 経過時間が所定値未満であった場合は、ゲートウェイ60は、信用スコアを1デクリメントし(ステップS1104)、終了する。
 経過時間が所定値以上であった場合は、ゲートウェイ60は、特に何もせずに処理を終了する。
 ステップS1105において、受信したフレームが運転支援機能ONコマンドでない場合は、ゲートウェイ60は、受信したフレームから、急ブレーキ、急ハンドル、急アクセルのいずれかが検知されるか否かを判断する(ステップS1108)。
 急ブレーキ、急ハンドル、急アクセルのいずれも検知されない場合は、ゲートウェイ60は、特に何もせずに処理を終了する。
 急ブレーキ、急ハンドル、急アクセルのいずれかが検知される場合は、ゲートウェイ60は、前回の検知時刻からの経過時間を更新する(ステップS1109)。
 ゲートウェイ60は、経過時間が、所定値未満(例えば5分)であるかを判断する(ステップS1110)。
 経過時間が、所定値未満である場合は、ゲートウェイ60は、信用スコアを1デクリメントし(ステップS1104)、終了する。
 経過時間が、所定値よりも大きい場合は、ゲートウェイ60は、何もせずに終了する。
 [1.8 ゲートウェイ60の監視レベル変更フローチャート]
 図8は、ゲートウェイ60の処理フローチャートステップS13の監視レベル変更処理のフローチャートである。
 ゲートウェイ60は、ステップS12において、信用スコアが所定値以下であった場合に、信用スコアが30以下であるか否かを判断する(ステップS1301)。
 信用スコアが30以下の場合は、ゲートウェイ60は、縮退モードへ移行する(ステップS1302)。縮退モードでは、運転支援機能を一部またはすべて無効化する処理を行うために、ゲートウェイ60は、他のECUへ通知を行ったり、機能を無効化したことを運転者に通知する表示を行ったり、ゲートウェイ60で、一部のフレームの転送を止めたりする。その後、ゲートウェイ60は、処理を終了する。
 信用スコアが30より大きい場合は、ゲートウェイ60は、信用スコアが50以下であるか否かを判断する(ステップS1303)。
 信用スコアが、50以下である場合は、ゲートウェイ60は、運転者に注意喚起を行うためのフレームを、例えばインストルメントクラスタ等のディスプレイの制御を行うECUへ送信することで、運転者への注意喚起を行うとともに、サーバへ信用スコアや車両ログを通知し(ステップS1304)、処理を終了する。
 信用スコアが50より大きい場合は、ゲートウェイ60は、信用スコアが80以下であるか否かを確認する(ステップS1305)。
 信用スコアが80以下である場合は、ゲートウェイ60は、サーバへ信用スコアを通知する(ステップS1306)。
 信用スコアが80より大きい場合は、ゲートウェイ60は、何もせずに処理を終了する。
 [1.9 ゲートウェイ動作シーケンス(信用スコアが50以下となった場合)]
 図9は、ゲートウェイ60における信用スコアが51であった時に、不審な運転挙動によって信用スコアが50以下となった場合の動作シーケンスを示す図である。ECU20は、緊急ブレーキを指示するフレームを送信するECUであり、ECU30はディスプレイの制御を行うECUである。
 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)。
 ゲートウェイ60は、信用スコアを1減少させた結果、現在の信用スコアが50になったため、ドライバに注意喚起表示を行うためのフレームを送信する(S104)。
 ECU30は、送信されたドライバへ注意喚起表示を行うためのフレームを受信し、ディスプレイに注意喚起表示を行う(S105)。ディスプレイへの表示内容は例えば、図11Aのような表示である。
 ゲートウェイ60は、サーバに対して信用スコアを含む車両ログを通知する(S106)。
 [1.10 ゲートウェイ動作シーケンス(信用スコアが30以下となった場合)]
 図10は、ゲートウェイ60における信用スコアが31であった時に、不審な運転挙動によって信用スコアが30以下となった場合の動作シーケンスである。ECU20と、ECU30は、図9で説明した役割と同様である。
 ECU20は、緊急ブレーキONを要求するフレームを送信し(S110)、ゲートウェイ60は、送信された緊急ブレーキONを要求するフレームを受信する。
 次に、ECU20は、緊急ブレーキONのフレームの送信完了後に、緊急ブレーキOFFを要求するフレームを送信し(S111)、ゲートウェイ60は、送信された緊急ブレーキOFFを要求するフレームを受信する。
 その後、ECU20は、再度、緊急ブレーキONを要求するフレームを送信し(S112)、ゲートウェイ60は、送信された緊急ブレーキONを要求するフレームを受信する。
 ゲートウェイ60は、S110における緊急ブレーキONを要求するフレームの受信から、S112における緊急ブレーキONを要求するフレームの受信までの時間が所定値(例えば5分)より短かったため、信用スコアを1減少させる(S113)。
 ゲートウェイ60は、信用スコアを1減少させた結果、現在の信用スコアが30以下となったため、縮退モードへ移行するためのフレームを送信する(S114)。
 ECU20は、送信された縮退モード要求フレームを受信し、以降の緊急ブレーキONを要求するフレームの送信を無効にする(S115)。
 ECU30は、送信された縮退モード要求フレームを受信し、ディスプレイに機能制限していることを通知するための表示を行う(S116)。ディスプレイの表示内容は、例えば図11Bのような表示である。
 [1.11 実施の形態1の効果]
 実施の形態1に係る車両監視装置では、攻撃者による車載ネットワークシステムのリバースエンジニアリング活動が疑われる活動に対して、信用スコアを算出する。さらに信用スコアに基づいて、対応を決定することによって、疑わしい車両を把握し、重点的な監視対象とすることや、より疑わしい車両に対しては車両の機能を一部制限することでリバースエンジニアリング活動を妨害することが可能となる。これにより車載ネットワークシステムの安全性を高めることができる。
 (実施の形態2)
 以下、複数の電子制御ユニット(ECU)が通信する車載ネットワーク(車載ネットワークシステム)を搭載した車両における、車両監視方法について説明する。なお、本実施の形態は、実施の形態1と同様の車載ネットワークシステム構成のため、図を省略し、実施の形態1と異なるゲートウェイの処理フローチャートのみを説明する。
 [2.1 ゲートウェイの処理フローチャート]
 図12は、ゲートウェイ60の処理フローチャートである。
 ゲートウェイ60は、フレームを受信しているか否かを判断する(ステップS20)。
 フレームを受信している場合は、ゲートウェイ60は、各種不審スコアを算出する(ステップS21)。フレームを受信していない場合は、ゲートウェイ60は、フレームを受信するまで待機する。
 ゲートウェイ60は、不審スコア算出後に、算出した不審スコアのうち、いずれかの不審スコアが所定値以上であるかを判断する(ステップS22)。
 いずれかの不審スコアが所定値以上である場合は、ゲートウェイ60は、監視レベルを変更する(ステップS23)。
 全ての不審スコアが所定値未満である場合は、ゲートウェイ60は、転送処理を行って(ステップS24)、処理を終了する。
 [2.2 ゲートウェイにおける不審スコア算出フローチャート]
 図13は、図12のゲートウェイ60の処理フローチャートのステップS21の不審スコア算出処理の詳細フローチャートである。
 ゲートウェイ60は、フレームを受信した時点で、診断ポートにサードパーティ装置の接続検知、エラーフレームの検知、ネットワークの瞬断検知、バッテリー外しの検知のいずれかが発生しているか否かを判断する(ステップS2101)。
 いずれかが検知された場合は、ゲートウェイ60は、パッシブモニタリングスコアを1増加させ(ステップS2102)、処理を終了する。
 いずれも検知されなかった場合は、ゲートウェイ60は、緊急ブレーキ等の運転支援機能のON、または、急ブレーキ等の異常動作が繰り返し検知されたか否かを判断する(S2103)。
 いずれかが検知された場合は、ゲートウェイ60は、アクティブモニタリングスコアを1増加させ(ステップS2104)、処理を終了する。
 いずれも検知されなかった場合は、ゲートウェイ60は、フレームの受信量または、診断コマンドの受信量が所定の閾値より大きいか否かを判断する(ステップS2105)。
 いずれかの受信量が所定の閾値より大きい場合は、攻撃者による不正なフレームの注入試行が行われているとして、ゲートウェイ60は、インジェクションスコアを1増加させ(ステップS2106)、処理を終了する。
 どちらの受信量も閾値以下の場合は、ゲートウェイ60は、アップデートコマンドあるいは同一IDフレームの受信量が、所定の閾値を超えるか否かを判断する(ステップS2107)。
 アップデートコマンドあるいは同一IDフレームの受信量が所定の閾値を超える場合は、攻撃者の攻撃内容が洗練されてきたと判断して、ゲートウェイ60は、リファインメントスコアを1増加させ(ステップS2108)、処理を終了する。
 ここで、サードパーティ装置の接続検知は、診断ポートから特定の診断コマンドが流れることから検知されうる。エラーフレームの検知は、ゲートウェイのエラーカウンタや、エラー割込み処理によって検知されうる。ネットワークの瞬断検知は、フレームの受信時刻を常に保持しておき、フレーム受信時に、前回フレームを受信した時刻と現在の時刻の差分が所定の閾値を超えた場合に検知されうる。バッテリー外しの検知は、ゲートウェイへの電源供給が遮断され、再度電源が供給されたときに、前回電源供給が遮断されたことを検知することで検知されうる。
 [2.3 ゲートウェイにおける監視レベル変更フローチャート]
 図14は、図12のゲートウェイ60の処理フローチャートのステップS23の監視レベル変更処理の詳細フローチャートである。
 ゲートウェイ60は、パッシブモニタリングスコアが3より大きいか否かを判断する(ステップS2301)。
 パッシブモニタリングスコアが3より大きい場合は、ゲートウェイ60は、各不審スコアを含む車両データを、サーバへ通知して(ステップS2302)、処理を終了する。
 パッシブモニタリングスコアが3以下である場合は、ゲートウェイ60は、アクティブモニタリングスコアが3より大きいか否かを判断する(ステップS2303)。
 アクティブモニタリングスコアが3より大きい場合は、ゲートウェイ60は、運転者への注意喚起を行うフレームの送信と、各不審スコアを含む車両データを、サーバへ通知して(ステップS2304)、処理を終了する。
 アクティブモニタリングスコアが3以下である場合は、ゲートウェイ60は、インジェクションスコアが3より大きいか否かを判断する(ステップS2305)。
 インジェクションスコアが3より大きい場合は、ゲートウェイ60は、車両の一部機能を制限し、各不審スコアを含む車両データを、サーバへ通知して(ステップS2306)、処理を終了する。
 インジェクションスコアが3以下である場合は、ゲートウェイ60は、リファインメントスコアが3より大きいか否かを判断する(ステップS2307)。
 リファインメントスコアが3より大きい場合は、ゲートウェイ60は、縮退モードへ移行する要求フレームを送信し、各不審スコアを含む車両データを、サーバへ通知して(ステップS2308)、処理を終了する。
 [2.4 実施の形態2の効果]
 実施の形態2に係る車両監視装置では、攻撃者による車載ネットワークシステムのリバースエンジニアリング活動が疑われる活動に対して、活動のフェーズに応じて不審スコアを算出する。さらに各種不審スコアの値に基づいて対応方法を決定することで、より攻撃フェーズの進んだことが疑われる車両に対して、より重点的な監視を行うことが可能となり、これにより車載ネットワークシステムの安全性を高めることができる。
 [その他変形例]
 なお、本開示を上記各実施の形態に基づいて説明してきたが、本開示は、上記各実施の形態に限定されないのはもちろんである。以下のような場合も本開示に含まれる。
 (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日経過ごとに信用スコアが上昇してもよいし、イグニッションのON時に、信用スコアが上昇してもよいし、診断コマンドによって、信用スコアがリセットされてもよいし、サーバからの通知に基づいて信用スコアをリセットしてもよい。これにより、正規の運転者が、疑わしいとされる挙動を偶然に繰り返した結果、信用スコアが低下してしまった場合でも、正常な信用スコアに回復することが可能となる。
 (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 ホスト部

Claims (9)

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

Priority Applications (6)

Application Number Priority Date Filing Date Title
PCT/JP2019/034263 WO2021038869A1 (ja) 2019-08-30 2019-08-30 車両監視装置および車両監視方法
PCT/JP2020/031228 WO2021039523A1 (ja) 2019-08-30 2020-08-19 車両監視装置および車両監視方法
CN202080009672.2A CN113348683A (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 JPWO2021039523A1 (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 (1)

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

Publications (1)

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

Family

ID=74685330

Family Applications (2)

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

Family Applications After (1)

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

Country Status (5)

Country Link
US (1) US11995181B2 (ja)
EP (1) EP4024250A4 (ja)
JP (1) JPWO2021039523A1 (ja)
CN (1) CN113348683A (ja)
WO (2) WO2021038869A1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7439669B2 (ja) * 2020-07-14 2024-02-28 株式会社デンソー ログ分析装置
WO2022049497A1 (en) * 2020-09-03 2022-03-10 Marvell Asia Pte Ltd Safety extension for precision time protocol (ptp)
JP7307117B2 (ja) * 2021-04-07 2023-07-11 矢崎総業株式会社 車載システム
CN114132342B (zh) * 2021-11-24 2023-09-22 重庆长安汽车股份有限公司 一种自动驾驶***的监控方法
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

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013131907A (ja) * 2011-12-21 2013-07-04 Toyota Motor Corp 車両ネットワーク監視装置
WO2017038422A1 (ja) * 2015-08-31 2017-03-09 国立大学法人名古屋大学 通信装置
WO2018168291A1 (ja) * 2017-03-13 2018-09-20 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 情報処理方法、情報処理システム、及びプログラム
JP2018190465A (ja) * 2015-12-16 2018-11-29 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America セキュリティ処理方法及びサーバ
WO2019142458A1 (ja) * 2018-01-22 2019-07-25 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 車両監視装置、不正検知サーバ、および、制御方法

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5664799U (ja) 1979-10-23 1981-05-30
CN103999410B (zh) 2011-12-22 2017-04-12 丰田自动车株式会社 通信***及通信方法
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
JP6956624B2 (ja) 2017-03-13 2021-11-02 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 情報処理方法、情報処理システム、及びプログラム
WO2018208777A1 (en) * 2017-05-08 2018-11-15 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 富士通株式会社 攻撃検知装置および攻撃検知方法
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
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
KR102666283B1 (ko) * 2018-01-16 2024-05-17 씨2에이-에스이씨, 엘티디. 자동차 환경에서 침입 아노말리를 모니터링 하기 위한 시스템 및 방법
EP3763107A1 (en) * 2018-03-05 2021-01-13 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
US11985150B2 (en) * 2018-05-25 2024-05-14 Securethings U.S., Inc. Cybersecurity on a controller area network in a vehicle
AU2019308828B2 (en) * 2018-07-24 2021-02-18 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 (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013131907A (ja) * 2011-12-21 2013-07-04 Toyota Motor Corp 車両ネットワーク監視装置
WO2017038422A1 (ja) * 2015-08-31 2017-03-09 国立大学法人名古屋大学 通信装置
JP2018190465A (ja) * 2015-12-16 2018-11-29 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America セキュリティ処理方法及びサーバ
WO2018168291A1 (ja) * 2017-03-13 2018-09-20 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 情報処理方法、情報処理システム、及びプログラム
WO2019142458A1 (ja) * 2018-01-22 2019-07-25 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 車両監視装置、不正検知サーバ、および、制御方法

Also Published As

Publication number Publication date
US20210349977A1 (en) 2021-11-11
US11995181B2 (en) 2024-05-28
WO2021039523A1 (ja) 2021-03-04
CN113348683A (zh) 2021-09-03
EP4024250A1 (en) 2022-07-06
JPWO2021039523A1 (ja) 2021-03-04
EP4024250A4 (en) 2022-10-26

Similar Documents

Publication Publication Date Title
WO2021038869A1 (ja) 車両監視装置および車両監視方法
JP7410223B2 (ja) 不正検知サーバ、及び、方法
US11411917B2 (en) Method for detecting, blocking and reporting cyber-attacks against automotive electronic control units
JP6908563B2 (ja) セキュリティ処理方法及びサーバ
JP6956844B2 (ja) 不正制御抑止方法、不正制御抑止装置及び車載ネットワークシステム
CN108028784B (zh) 不正常检测方法、监视电子控制单元以及车载网络***
US11165851B2 (en) System and method for providing security to a communication network
JP7496404B2 (ja) セキュリティ処理方法及びサーバ
US20190356687A1 (en) Attack detection method, attack detection device and bus system for a motor vehicle
CN106031098B (zh) 不正常帧应对方法、不正常检测电子控制单元以及车载网络***
US20190182267A1 (en) Vehicle security manager
CN111052681B (zh) 异常检测电子控制单元、车载网络***及异常检测方法
US10326793B2 (en) System and method for guarding a controller area network
US11522878B2 (en) Can communication based hacking attack detection method and system
KR101966345B1 (ko) Can 통신 기반 우회 공격 탐지 방법 및 시스템
WO2021039851A1 (ja) 異常車両検出サーバおよび異常車両検出方法
KR101972457B1 (ko) Can 통신 기반 해킹공격 탐지 방법 및 시스템
WO2021145144A1 (ja) 侵入経路分析装置および侵入経路分析方法
JP2020108132A (ja) 電子制御システム、電子制御装置、制御方法及びプログラム
JPWO2020137743A1 (ja) 電子制御装置、電子制御システムおよびプログラム
WO2020184001A1 (ja) 車載セキュリティ対策装置、車載セキュリティ対策方法およびセキュリティ対策システム
KR101721035B1 (ko) 차량 침입 탐지 장치 및 방법
US11921853B2 (en) System for adaptive vehicle security and response
WO2018008452A1 (ja) 不正制御抑止方法、不正制御抑止装置及び車載ネットワークシステム

Legal Events

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

Ref document number: 19943505

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19943505

Country of ref document: EP

Kind code of ref document: A1