WO2019026353A1 - 検知装置、検知方法および検知プログラム - Google Patents

検知装置、検知方法および検知プログラム Download PDF

Info

Publication number
WO2019026353A1
WO2019026353A1 PCT/JP2018/015212 JP2018015212W WO2019026353A1 WO 2019026353 A1 WO2019026353 A1 WO 2019026353A1 JP 2018015212 W JP2018015212 W JP 2018015212W WO 2019026353 A1 WO2019026353 A1 WO 2019026353A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
message
detection
acquisition unit
unit
Prior art date
Application number
PCT/JP2018/015212
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 CN201880050581.6A priority Critical patent/CN111033504B/zh
Priority to US16/633,008 priority patent/US20200213340A1/en
Priority to DE112018003933.1T priority patent/DE112018003933T5/de
Publication of WO2019026353A1 publication Critical patent/WO2019026353A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R16/00Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
    • B60R16/02Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
    • B60R16/023Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements for transmission of signals between vehicle parts or subsystems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • G06F21/85Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40006Architecture of a communication node
    • H04L12/40032Details regarding a bus interface enhancer
    • 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/46Interconnection of networks
    • H04L12/4604LAN interconnection over a backbone network, e.g. Internet, Frame Relay
    • H04L12/462LAN interconnection over a bridge based backbone
    • H04L12/4625Single bridge functionality, e.g. connection of two networks over a single bridge
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard
    • H04L2012/40215Controller Area Network CAN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40267Bus for use in transportation systems
    • H04L2012/40273Bus for use in transportation systems the transportation system being a vehicle

Definitions

  • the present invention relates to a detection device, a detection method, and a detection program.
  • This application claims priority based on Japanese Patent Application No. 2017-150807 filed on Aug. 3, 2017, the entire disclosure of which is incorporated herein.
  • Patent Document 1 Japanese Patent Laid-Open No. 2016-116075 discloses the following in-vehicle communication system. That is, the on-vehicle communication system performs on-vehicle message authentication using a transmitting side code which is a message authentication code generated by a transmitting side of communication data and a receiving side code which is a message authentication code generated by a receiving side of the communication data.
  • a communication system comprising: a first ECU connected to an in-vehicle network and holding only the first encryption key among second encryption keys different from the first encryption key and the first encryption key; A second ECU connected to the in-vehicle network and holding at least the first encryption key, and connected to the in-vehicle network and the out-of-vehicle network, the first of the first encryption key and the second encryption key
  • the transmitting side code or the receiving side code at the time of communication in the in-vehicle network by holding only the two encryption keys and using the second encryption key
  • a second ECU generates communication data to which a transmission side code generated using the first encryption key is added, and the first ECU transmits the communication data. When data is received, the transmission side code added to the received communication data is verified by the reception side code generated using the first encryption key.
  • the detection device of the present disclosure is a detection device that detects an unauthorized message in an in-vehicle network mounted on a vehicle, and includes a message acquisition unit that acquires one or more transmission messages in the in-vehicle network; A data acquisition unit for acquiring a set of plural types of data corresponding to the same time included in the transmission message acquired by the unit, and a detection based on the plurality of sets respectively corresponding to a plurality of times prepared in advance A storage unit that stores a condition, and a detection unit that detects the fraudulent message based on the group acquired by the data acquisition unit and the detection condition.
  • a detection method is a detection method for detecting an unauthorized message in an in-vehicle network mounted in a vehicle, and a detection device including a storage unit, which acquires one or more transmission messages in the in-vehicle network. And a step of acquiring a plurality of types of data sets corresponding to the same time included in the acquired transmission message, and the storage unit is configured in advance to generate a plurality of data respectively corresponding to the plurality of times.
  • the detection condition based on the set is stored, and the detection method further includes the step of detecting the fraudulent message based on the acquired set and the detection condition.
  • the detection program according to the present disclosure is a detection program for detecting an unauthorized message in an in-vehicle network mounted on a vehicle, and used in a detection device including a storage unit, the computer comprising one or more computers in the in-vehicle network.
  • a program for functioning as a message acquisition unit for acquiring a transmission message, and a data acquisition unit for acquiring a combination of plural types of data corresponding to the same time included in the transmission message acquired by the message acquisition unit The storage unit stores detection conditions based on a plurality of sets respectively corresponding to a plurality of times created in advance, and further including a computer, the set acquired by the data acquisition unit, and the detection A detection unit that detects the fraudulent message based on a condition; Is a program for making the function Te.
  • One aspect of the present disclosure can be implemented not only as a detection device including such a characteristic processing unit, but also as an on-vehicle communication system including a detection device.
  • one aspect of the present disclosure can be realized as a semiconductor integrated circuit that realizes part or all of a detection device.
  • FIG. 1 is a diagram showing the configuration of an on-vehicle communication system according to a first embodiment of the present invention.
  • FIG. 2 is a diagram showing the configuration of a bus connection group according to the first embodiment of the present invention.
  • FIG. 3 is a diagram showing the configuration of the gateway device in the in-vehicle communication system according to the first embodiment of the present invention.
  • FIG. 4 is a diagram for explaining a process of creating a normal model used by the gateway device according to the first embodiment of the present invention.
  • FIG. 5 is a diagram for explaining the timing of synchronization processing performed in the gateway device according to the first embodiment of the present invention.
  • FIG. 6 is a diagram for explaining the timing of synchronization processing performed in the gateway device according to the first embodiment of the present invention.
  • FIG. 1 is a diagram showing the configuration of an on-vehicle communication system according to a first embodiment of the present invention.
  • FIG. 2 is a diagram showing the configuration of a bus connection group according to the first embodiment of the
  • FIG. 7 is a diagram for describing detection of an unauthorized message performed by the detection unit in the gateway device according to the first embodiment of the present invention.
  • FIG. 8 is a diagram for explaining the effect of the in-vehicle communication system according to the first embodiment of the present invention.
  • FIG. 9 is a diagram for explaining the effect of the in-vehicle communication system according to the first embodiment of the present invention.
  • FIG. 10 is a diagram for explaining the creation process in the learning phase for the modified example of the normal model according to the first embodiment of the present invention.
  • FIG. 11 is a diagram for explaining a verification process in a test phase of a modified example of the normal model according to the first embodiment of the present invention.
  • FIG. 12 is a diagram for explaining a fraudulent message detection process using a modified example of the normal model according to the first embodiment of the present invention.
  • FIG. 13 is a diagram for describing creation processing in a learning phase of a modified example of the normal model according to the first embodiment of the present invention.
  • FIG. 14 is a diagram for describing a fraudulent message detection process using a modified example of the normal model according to the first embodiment of the present invention.
  • FIG. 15 is a flowchart defining an operation procedure when the gateway device according to the first embodiment of the present invention receives a message.
  • FIG. 16 is a flowchart defining an operation procedure when the gateway apparatus according to the first embodiment of the present invention stores the received message in the storage unit.
  • FIG. 17 is a diagram for explaining an example of false detection in the gateway device according to the second embodiment of the present invention.
  • FIG. 18 is a diagram showing a configuration of a gateway apparatus in the in-vehicle communication system according to the second embodiment of the present invention.
  • FIG. 19 is a diagram for describing updating of a normal model performed by the updating unit in the gateway device according to the second embodiment of the present invention.
  • FIG. 20 is a diagram for describing a normal model updated by the updating unit in the gateway device according to the second embodiment of the present invention.
  • FIG. 21 is a diagram showing a configuration of a gateway apparatus in an on-vehicle communication system according to a third embodiment of the present invention.
  • FIG. 22 is a diagram showing an example of a time change of a transmission interval of a periodic message to be monitored in the in-vehicle communication system according to the third embodiment of the present invention.
  • FIG. 23 is a diagram showing an example of a frequency distribution of transmission intervals of target messages in the in-vehicle communication system according to the third embodiment of the present invention.
  • FIG. 24 is a diagram showing an example of detecting a fraudulent message by the detection unit in the gateway device according to the third embodiment of the present invention.
  • FIG. 25 is a flowchart defining an operation procedure when the gateway apparatus according to the third embodiment of the present invention receives a target message.
  • FIG. 26 is a flowchart defining an operation procedure when the gateway device according to the third embodiment of the present invention performs the determination process.
  • in-vehicle network systems have been developed to improve security in in-vehicle networks.
  • Patent Document 1 a first ECU and a second ECU connected exclusively to an in-vehicle network are connected to both a first encryption key used for message authentication and both the in-vehicle network and the out-of-vehicle network.
  • a configuration is disclosed that prevents a cyber attack from the out-of-vehicle network on the first ECU and the second ECU that are not connected to the out-of-vehicle network by being different from the second encryption key used by the ECU.
  • the present disclosure has been made to solve the above-described problems, and an object thereof is to provide a detection device, a detection method, and a detection program capable of correctly detecting an unauthorized message in an in-vehicle network.
  • a detection device is a detection device that detects an unauthorized message in an in-vehicle network mounted on a vehicle, and a message acquisition unit that acquires one or more transmission messages in the in-vehicle network.
  • a plurality of data acquisition units for acquiring sets of plural types of data corresponding to the same time included in the transmission message acquired by the message acquisition unit;
  • a storage unit for storing a detection condition based on the set, and a detection unit for detecting the fraudulent message based on the set acquired by the data acquisition unit and the detection condition.
  • the relationship can be used to calculate the range of values that can be taken from other data.
  • the range of values that can be taken by other data in the set can be calculated based on the detection condition based on the data in the set, so the correctness of the other data is correctly determined. can do.
  • a message including data determined to be incorrect can be detected as an incorrect message. Therefore, an unauthorized message in the in-vehicle network can be detected correctly.
  • the detection condition is created based on the set of a plurality of types of data having a predetermined correlation.
  • a configuration in which detection conditions are created based on a plurality of types of data sets in which a certain degree of relationship exists between data allows a range of values that can be taken from one data in the set to another data in the set It is possible to create a detection condition that can be narrowed. Thus, the legitimacy of the other data can be determined more correctly. That is, appropriate detection conditions can be created.
  • one of the plurality of types of the correlation data is based on the type of the data and the plurality of types of the correlation data.
  • the detection condition is created.
  • the detection unit detects the data of the certain type based on the data of the certain type and the correlation data of the plurality of types acquired by the data acquisition unit, and the detection condition.
  • An estimation error is calculated, and based on the calculated estimation error and a distribution of the estimation error created using the detection condition, the validity of the data of a certain type is evaluated, and based on an evaluation result, It is determined whether the data of the certain type is the fraudulent message.
  • the data of the certain type is data representing a state
  • the detection unit is based on the plurality of types of correlation data acquired by the data acquisition unit and the detection condition. And estimating a value of the data of the certain type and determining whether the data of the certain type is the fraudulent message based on a comparison result between the estimated value and the data of the certain type. .
  • a certain type of data is a discontinuously changing value such as a gear shift position or a state of a seat belt
  • a value to be shown by a certain type of data can be estimated more correctly. It is possible to judge the legitimacy of certain types of data more correctly.
  • a plurality of types of correlation data are based on the type of the data and the plurality of types of the correlation data.
  • the detection conditions are respectively created.
  • the data acquisition unit acquires a set of the plurality of types of data respectively included in different transmission messages.
  • the message acquisition unit stores the plurality of acquired transmission messages in a storage unit, and the data acquisition unit acquires the set from each of the transmission messages stored in the storage unit. .
  • data in a plurality of transmission messages stored in the storage unit can be resampled, so that times of a plurality of types of data can be adjusted. This makes it possible to easily acquire a plurality of types of data sets corresponding to the same time.
  • the detection device further includes an update unit that updates the detection condition based on the set acquired by the data acquisition unit.
  • the newly acquired set can be included in the population, thereby further improving the completeness of the population. be able to. This makes it possible to update to more appropriate detection conditions.
  • the detection device further includes a monitoring unit that monitors the transmission message in the in-vehicle network, and a distribution acquisition unit that acquires a distribution of transmission intervals of the transmission message, and the detection unit includes: The fraudulent message is detected based on the monitoring result by the monitoring unit and the distribution acquired by the distribution acquisition unit, and the detection unit determines that the transmission message is determined not to be the fraudulent message. Based on the group acquired by the acquisition unit and the detection condition, it is determined whether or not the message is the unauthorized message.
  • the transmission message can be detected as an unauthorized message based on the above-described set and the detection condition, so that the security in the in-vehicle network can be improved.
  • a detection method is a detection method for detecting a fraudulent message in a vehicle-mounted network mounted on a vehicle and including a storage unit in one or more of the vehicle-mounted network
  • a detection condition based on each of the plurality of corresponding sets is stored, and the detection method further includes the step of detecting the fraudulent message based on the acquired set and the detection conditions.
  • the relationship can be used to calculate the range of values that can be taken from other data.
  • the range of values that can be taken by other data in the set can be calculated based on the detection condition based on the data in the set, so the correctness of the other data is correctly determined. can do.
  • a message including data determined to be incorrect can be detected as an incorrect message. Therefore, an unauthorized message in the in-vehicle network can be detected correctly.
  • a detection program is a detection program for detecting an unauthorized message in an in-vehicle network mounted on a vehicle, and used in a detection device provided with a storage unit.
  • the storage unit stores detection conditions based on the plurality of sets respectively created in advance and respectively corresponding to a plurality of times, and the computer is further acquired by the data acquisition unit. Detecting the fraudulent message based on the group and the detection condition That the detection unit is a program for functioning as a.
  • the relationship can be used to calculate the range of values that can be taken from other data.
  • the range of values that can be taken by other data in the set can be calculated based on the detection condition based on the data in the set, so the correctness of the other data is correctly determined. can do.
  • a message including data determined to be incorrect can be detected as an incorrect message. Therefore, an unauthorized message in the in-vehicle network can be detected correctly.
  • FIG. 1 is a diagram showing the configuration of an on-vehicle communication system according to a first embodiment of the present invention.
  • an on-vehicle communication system 301 includes a gateway device (detection device) 101, a plurality of on-vehicle communication devices 111, and a plurality of bus connection device groups 121.
  • FIG. 2 is a diagram showing the configuration of a bus connection group according to the first embodiment of the present invention.
  • bus connection device group 121 includes a plurality of control devices 122.
  • the bus connection device group 121 is not limited to the configuration including the plurality of control devices 122, and may be configured to include one control device 122.
  • the on-vehicle communication system 301 is mounted on a vehicle (hereinafter, also referred to as a target vehicle) 1 traveling on a road.
  • the in-vehicle network 12 includes a plurality of in-vehicle devices which are devices inside the target vehicle 1.
  • the in-vehicle network 12 includes a plurality of in-vehicle communication devices 111 and a plurality of control devices 122, which are an example of the in-vehicle devices.
  • the in-vehicle network 12 may be configured to include the plurality of in-vehicle communication devices 111 and not include the control device 122 as long as the in-vehicle network 12 includes the plurality of in-vehicle devices.
  • the controller 122 may be included, or may be configured to include one in-vehicle communication device 111 and one controller 122.
  • the on-vehicle communication device 111 communicates with, for example, a device outside the target vehicle 1.
  • the on-vehicle communication device 111 is, for example, a TCU (Telematics Communication Unit), a short distance wireless terminal device, and an ITS (Intelligent Transport Systems) wireless device.
  • TCU Transmission Control Unit
  • ITS Intelligent Transport Systems
  • the TCU can perform wireless communication with the wireless base station device according to a communication standard such as LTE (Long Term Evolution) or 3G, for example, and can communicate with the gateway device 101.
  • the TCU relays, for example, information used for navigation, vehicle antitheft, remote maintenance and services such as FOTA (Firmware Over The Air).
  • the short distance wireless terminal device is, for example, a smart held by a person (hereinafter, also referred to as a passenger) who is on the target vehicle 1 in accordance with a communication standard such as Wi-Fi (registered trademark) and Bluetooth (registered trademark). It is possible to perform wireless communication with a wireless terminal device such as a phone, and to communicate with the gateway device 101.
  • the short distance wireless terminal relays, for example, information used for services such as entertainment.
  • the short-range wireless terminal device includes, for example, a wireless terminal device such as a smart key held by the passenger according to a predetermined communication standard, a wireless terminal device provided on a tire, and an LF (Low Frequency) band or UHF (Ultra Frequency Band). Wireless communication can be performed using radio waves in the High Frequency) band, and communication can be performed with the gateway device 101.
  • the short distance wireless terminal relays, for example, information used for a service such as smart entry and TPMS (Tire Pressure Monitoring System).
  • the ITS radio device can perform road-to-vehicle communication with roadside devices such as light beacons, radio wave beacons and ITS spots provided near roads, for example. Communication can be performed, and communication can be performed with the gateway device 101.
  • the ITS radio relays information used for services such as congestion mitigation, safe driving support and route guidance, for example.
  • the gateway device 101 can transmit and receive, for example, data such as firmware update, data stored by the gateway device 101, and the like with the maintenance terminal device outside the target vehicle 1 through the port 112.
  • Gateway apparatus 101 is connected to an on-vehicle apparatus via, for example, buses 13 and 14.
  • the buses 13 and 14 are, for example, CAN (Controller Area Network) (registered trademark), FlexRay (registered trademark), Media Oriented Systems Transport (MOST) (registered trademark), Ethernet (registered trademark), and LIN.
  • CAN Controller Area Network
  • FlexRay registered trademark
  • MOST Media Oriented Systems Transport
  • Ethernet registered trademark
  • LIN Local Interconnect Network
  • the in-vehicle communication device 111 is connected to the gateway device 101 via the corresponding bus 14 conforming to the Ethernet standard.
  • Each control device 122 in the bus connection device group 121 is connected to the gateway device 101 via the corresponding bus 13 conforming to the CAN standard.
  • Control device 122 can control, for example, functional units in target vehicle 1.
  • Buses 13 are provided, for example, system by system.
  • the bus 13 is, for example, a drive system bus, a chassis / safety system bus, a body / electrical system bus, and an AV / information system bus.
  • An engine control device which is an example of the control device 122, an AT (Automatic Transmission) control device, and a HEV (Hybrid Electric Vehicle) control device are connected to the drive system bus.
  • the engine control unit, the AT control unit, and the HEV control unit respectively control switching between the engine, the AT, and the engine and the motor.
  • a brake control device which is an example of the control device 122, a chassis control device, and a steering control device are connected to the chassis / safety system bus.
  • the brake control unit, the chassis control unit and the steering control unit respectively control the brake, the chassis and the steering.
  • An instrument display controller which is an example of the controller 122, an air conditioner controller, an antitheft controller, an air bag controller, and a smart entry controller are connected to the body / electrical system bus.
  • the instrument display controller, the air conditioner controller, the antitheft controller, the air bag controller and the smart entry controller respectively control the meter, the air conditioner, the antitheft mechanism, the air bag mechanism and the smart entry.
  • a navigation control device as an example of the control device 122, an audio control device, an electronic toll collection system (ETC) (registered trademark) control device, and a telephone control device.
  • the navigation control device, the audio control device, the ETC control device and the telephone control device respectively control the navigation device, the audio device, the ETC device and the mobile phone.
  • bus 13 is not limited to the configuration in which the control device 122 is connected, and devices other than the control device 122, for example, a sensor may be connected.
  • the gateway device 101 is, for example, a central gateway (CGW), and can communicate with an in-vehicle device.
  • CGW central gateway
  • the gateway device 101 includes, for example, information exchanged between the control devices 122 connected to different buses 13 in the target vehicle 1, information exchanged between the in-vehicle communication devices 111, and between the control devices 122 and the in-vehicle communication devices 111. Relay processing to relay the information exchanged in
  • a message is periodically transmitted from one on-vehicle device to another on-vehicle device according to a predetermined arrangement.
  • a message periodically transmitted from one control device 122 to another control device 122 will be described, a message transmitted between the control device 122 and the in-vehicle communication device 111 and between the in-vehicle communication devices 111 will be described. The same applies to the message to be sent.
  • the transmission of the message may be performed by broadcast or may be performed by unicast.
  • the periodically transmitted message is also referred to as a periodic message.
  • the target vehicle 1 in addition to the periodic message, there is a message transmitted irregularly from one control device 122 to another control device 122.
  • the message includes an ID for identifying the content of the message, the sender, and the like. It is possible to identify by ID whether the message is a periodic message.
  • FIG. 3 is a diagram showing the configuration of the gateway device in the in-vehicle communication system according to the first embodiment of the present invention.
  • gateway device 101 includes communication processing unit 51, storage unit 52, data acquisition unit 53, detection unit 54, and message acquisition unit 55.
  • the gateway device 101 functions as a detection device, and detects an unauthorized message in the in-vehicle network 12 mounted on the target vehicle 1.
  • the communication processing unit 51 in the gateway device 101 performs relay processing. More specifically, when the communication processing unit 51 receives a message from a certain control device 122 via the corresponding bus 13, the communication processing unit 51 transmits the received message to the other control devices 122 via the corresponding bus 13.
  • the message acquisition unit 55 acquires a plurality of transmission messages in the in-vehicle network 12.
  • the message acquisition unit 55 stores, for example, the plurality of acquired transmission messages in the storage unit 52.
  • detection condition information including the type of data to be monitored by the message acquisition unit 55 is registered. Details of the detection condition information will be described later.
  • the message acquisition unit 55 recognizes the type of data to be monitored by the message acquisition unit 55 based on the detection condition information registered in the storage unit 52.
  • the message acquisition unit 55 monitors data included in the message relayed by the communication processing unit 51, and performs the following processing each time a message including data of a type to be monitored is detected.
  • the message acquisition unit 55 acquires the detected message from the communication processing unit 51, and adds a time stamp indicating the reception time of the message to the acquired message.
  • the message acquisition unit 55 stores the message with the time stamp in the storage unit 52.
  • FIG. 4 is a diagram for explaining a process of creating a normal model used by the gateway device according to the first embodiment of the present invention.
  • the horizontal axis indicates data X
  • the vertical axis indicates data Y.
  • storage unit 52 stores detection conditions based on a plurality of time sets, for example, a plurality of sets respectively corresponding to the creation time of data, created in advance.
  • the set is, for example, a set of two types of data corresponding to the same creation time, included in the transmission message acquired by the message acquisition unit 55.
  • the storage unit 52 stores, for example, the normal model M2 created in advance by the server.
  • the normal model M2 is created, for example, based on a set of two types of data having a predetermined correlation.
  • raw data R1 to raw data RN are registered by the user.
  • N is an integer of 2 or more.
  • raw data R1 to raw data RN are, for example, data acquired at the time of development of the same type of test vehicle as the target vehicle 1.
  • the server converts, for example, time-series raw data R1 to raw data RN into data 1 to data N at a plurality of common creation times.
  • the server resamples raw data R2 to create the generation time of raw data R2 as the creation time of raw data R1. Synchronize to
  • the server synchronizes the creation time of the raw data R3 with the creation time of the raw data R1 by resampling the raw data R3.
  • the server applies the same processing to the raw data R4 to the raw data RN to synchronize the creation time of the raw data R4 to the raw data RN with the creation time of the raw data R1.
  • time-series raw data R1 to raw data RN are converted into data 1 to data N at a plurality of common creation times.
  • the server selects, for example, data X and Y at a plurality of common creation times from among data 1 to data N at a plurality of common creation times.
  • X and Y are different from each other and an integer of 1 to N.
  • Selection of the data X and Y is performed, for example, round-robin.
  • the server calculates a correlation coefficient based on, for example, a plurality of sets of selected data X and data Y.
  • the server determines that data X and data Y are correlated. Also, for example, when the calculated correlation coefficient is larger than 0.7, the server determines that data X and data Y have strong correlation.
  • the server determines that the data X and the data Y are correlated or strongly correlated, the server creates a normal model M2 based on the data X and the data Y.
  • the server uses, for example, the normal model M2 by machine learning according to an algorithm such as Mahalanobis, Oneclass-SVM (Support Vector Machine), LOF (Local Outlier Factor), Isolation forest, and NN (Nearest-Neighbor). create.
  • an algorithm such as Mahalanobis, Oneclass-SVM (Support Vector Machine), LOF (Local Outlier Factor), Isolation forest, and NN (Nearest-Neighbor). create.
  • the server does not determine that the data X and the data Y are correlated, and does not determine that the correlation is strong, the normal model M2 is not created.
  • the server creates a plurality of normal models M2, and creates model information for each of the created normal models M2.
  • the model information indicates the combination of the type of the normal model M2 and the corresponding data X and data Y.
  • the combination of the data X and the data Y is, for example, engine speed and speed, yaw rate and steering angle, yaw rate and vehicle height, and accelerator opening and vehicle body acceleration.
  • the plurality of pieces of model information generated by the server are, for example, put together as detection condition information, and then registered in the storage unit 52 when the target vehicle 1 is manufactured.
  • the detection condition information may be updated.
  • the communication processing unit 51 receives the detection condition information updated by the server from the server via the in-vehicle communication device 111, and receives the detection condition information registered in the storage unit 52. Update to
  • the server is not limited to the configuration for creating a plurality of normal models M2, but may be a configuration for creating one normal model M2.
  • data acquisition unit 53 acquires a set of two types of data corresponding to the same time, for example, reception time, included in the transmission message acquired by message acquisition unit 55.
  • the data acquisition unit 53 acquires, from the storage unit 52, a plurality of pieces of model information included in the detection condition information stored in the storage unit 52.
  • the data acquisition unit 53 acquires, for example, a set of two types of data from each transmission message stored in the storage unit 52.
  • the data acquisition unit 53 acquires, from the storage unit 52, a set of two types of data included in the same transmission message, for example, based on the acquired plurality of model information.
  • the data acquisition unit 53 may store the same message stored in the storage unit 52. Get the two types of data from.
  • data acquisition unit 53 acquires the two types of data from the newly stored message, and acquires the two types of data.
  • the combination of the two types of data sets and the type indicated by the model information is output to the detection unit 54.
  • FIG. 5 is a diagram for explaining the timing of synchronization processing performed in the gateway device according to the first embodiment of the present invention.
  • the horizontal axis indicates time.
  • data acquisition unit 53 acquires from storage unit 52 a set of two types of data respectively included in different transmission messages.
  • the data acquisition unit 53 performs the following processing.
  • the data acquisition unit 53 acquires, for example, a plurality of messages MJ including one type of data DJ and a plurality of messages MK including the other type of data DK from the storage unit 52.
  • the message MJ and the message MK are, for example, messages transmitted in the same cycle in the in-vehicle network 12.
  • the data acquisition unit 53 associates the reception time with one type of data DJ based on, for example, the time stamp attached to the plurality of messages MJ including the one type of data DJ.
  • the data acquisition unit 53 associates the reception times tj1 and tj2 with the data DJ1 and DJ2 which are an example of the data DJ.
  • the data acquisition unit 53 associates the reception time with the other type of data DK based on, for example, the time stamp attached to the plurality of messages MK including the other type of data DK.
  • the data acquisition unit 53 associates the reception times tk1 and tk2 with the data DK1 and DK2 which are an example of the data DK.
  • the data acquisition unit 53 resamples the other type of data DK based on, for example, the reception time associated with one type of data DJ and the reception time associated with the other type of data DK, A synchronization process is performed to synchronize the reception time of one type of data DJ with the reception time of the other type of data DK.
  • the data acquisition unit 53 performs synchronization processing.
  • data acquisition unit 53 resamples data DK including data DK1, DK2, etc. By doing this, resample data RDK1 and RDK2 respectively corresponding to the reception times tj1 and tj2 are generated.
  • the data acquisition unit 53 acquires the latest two sets of data from the two synchronized data, and the acquired two sets of data and the type of model information The combination is output to the detection unit 54.
  • the data acquisition unit 53 outputs, for example, a combination of the data DJ 2 and the resample data RDK 2 and a combination of types indicated by model information to the detection unit 54.
  • the timing at which the data acquisition unit 53 performs synchronization processing may be, for example, a timing at which the message acquisition unit 55 newly stores the message MK including the other type of data DK in the storage unit 52.
  • data acquisition unit 53 resamples data DK including data DK1, DK2, etc. By doing this, resample data RDK1 corresponding to the reception time tj1 is generated.
  • the data acquisition unit 53 outputs, for example, a combination of the data DJ1 and the resample data RDK1 and a combination of types indicated by model information to the detection unit 54.
  • both the message including one type of data and the message including the other type of data are newly stored in the storage unit 52 by the message acquisition unit 55. It may be timing.
  • FIG. 6 is a diagram for explaining the timing of synchronization processing performed in the gateway device according to the first embodiment of the present invention.
  • the horizontal axis indicates time.
  • a message MP including one type of data DP and a message MQ including the other type of data DQ are, for example, messages transmitted at different cycles in the in-vehicle network 12.
  • the data acquisition unit 53 associates the reception times tp1 and tp2 with the data DP1 and DP2 which are an example of the data DP.
  • the data acquisition unit 53 associates reception times tq1, tq2, tq3, and tq4 with data DQ1, DQ2, DQ3, and DQ4, which are an example of the data DQ.
  • the data acquisition unit 53 performs synchronization processing, for example, when both the messages MP and MQ are newly stored in the storage unit 52 by the message acquisition unit 55.
  • the data acquisition unit 53 determines that both of the messages MP and MQ have been newly stored in the storage unit 52 by the message acquisition unit 55, and performs synchronization processing.
  • data acquisition unit 53 determines that both messages MP and MQ have been newly stored in storage unit 52 by message acquisition unit 55, and performs synchronization processing.
  • Data acquisition unit 53 generates resample data RDQ1 and RDQ2 respectively corresponding to reception times tp1 and tp2 by, for example, resampling data DQ including data DQ1 to DQ4 and the like in synchronization processing at reception time tp2. .
  • the data acquisition unit 53 outputs, for example, a combination of the data DP2 and the resample data RDQ2 and a combination of types indicated by model information to the detection unit 54.
  • data acquisition unit 53 resamples data DP including data DP1, DP2 and the like to resample data RDP1 to RDP4 (not shown) corresponding to reception times tq1 to tq4, respectively. May be generated.
  • the data acquisition unit 53 outputs, to the detection unit 54, a combination of the resample data RDP4 and the data DQ4 and the combination indicated by the model information.
  • the data acquisition unit 53 may output the combination of the resample data RDP2 and the data DQ2 and the combination of the resample data RDP3 and the data DQ3 to the detection unit 54 together.
  • the number of data used to detect fraudulent messages can be increased.
  • FIG. 7 is a diagram for describing detection of an unauthorized message performed by the detection unit in the gateway device according to the first embodiment of the present invention. Note that the view of FIG. 7 is the same as that of FIG.
  • the detection unit 54 detects an unauthorized message corresponding to the set acquired by the data acquisition unit 53 based on the set acquired by the data acquisition unit 53 and the detection condition.
  • the detection unit 54 when the detection unit 54 receives a combination of two types of data from the data acquisition unit 53 and a combination of types indicated by the model information, the detection unit 54 refers to a plurality of model information included in detection condition information in the storage unit 52.
  • the normal model M2 corresponding to the received combination is acquired from the corresponding model information in the storage unit 52.
  • the detection unit 54 detects an unauthorized message corresponding to the set based on the set of two types of data received from the data acquisition unit 53 and the normal model M2 acquired from the corresponding model information.
  • the detection unit 54 normally locates the two types of data because the position Pn is located inside the boundary B2 of the normal model M2. It is determined that one or two messages included are legitimate messages.
  • the detection unit 54 is located outside the boundary B2 of the normal model M2, so It is determined that one or two messages containing data of a type are fraudulent messages.
  • the normal model M2 is created based on a plurality of sets of two types of data having the same creation time, while the positions Pn and Pa are based on a set of two types of data having the same reception time.
  • the fraudulent message detection can be performed based on the normal model M2 and the position based on the two types of data sets.
  • the data transmission time can also be regarded as substantially the same as the data creation time and the data reception time.
  • the detection unit 54 When the detection unit 54 confirms an unauthorized message, for example, the detection unit 54 performs the following process. That is, the detection unit 54 records in the storage unit 52 the ID of one or two messages determined to be incorrect, the combination of corresponding types, and the like.
  • the detection unit 54 notifies the upper apparatus in the target vehicle 1 or outside the target vehicle 1 that the unauthorized message is transmitted through the bus 13 via the communication processing unit 51.
  • FIG. 8 and 9 are diagrams for explaining the effect of the in-vehicle communication system according to the first embodiment of the present invention. Note that the way of looking at FIG. 8 and FIG. 9 is the same as FIG.
  • the normal model M2 shown in FIG. 8 is the same as the normal model M2 shown in FIG.
  • the normal model MR2 shown in FIG. 9 is, for example, a model created according to a creation procedure similar to the creation procedure of the normal model M2, using uncorrelated data X and data Y.
  • the position Pa is determined to be abnormal when using the normal model M2, while it is determined to be normal because the position Pa is located inside the boundary BR2 of the normal model MR2 when using the normal model MR2.
  • Modification 1 of a Normal Model Referring to FIG. 3 again, although the normal model is configured to be created based on a set of two types of data having a predetermined correlation, the present invention is not limited to this.
  • the configuration may be created based on, for example, three types of data sets.
  • the normal model M3 is created based on, for example, a set of three types of data having a predetermined correlation.
  • one normal model M3 is created based on the type of data and the two types of correlation data. It is done.
  • the server determines that data S and data T are correlated or strongly correlated, and data S and data U are correlated, for example, in data 1 to data N at a plurality of common creation times. Alternatively, if it is determined that there is strong correlation, the following processing is performed.
  • the server creates the normal model M3 based on the data S, T, U regardless of the magnitude of the correlation coefficient between the data T and the data U.
  • S, T, and U are different from one another and each is an integer of 1 to N.
  • the server creates, for example, a plurality of normal models M3 and creates model information for each of the created normal models M3.
  • the model information indicates the combination of the type of the normal model M3 and the corresponding data S, data T and data U.
  • the combination of types of data S and data T, and the combination of types of data S and data U are, for example, a yaw rate and a steering angle, and a yaw rate and a vehicle height.
  • the plurality of pieces of model information generated by the server are, for example, put together as detection condition information, and then registered in the storage unit 52 when the target vehicle 1 is manufactured.
  • the detection condition information may include only the model information based on the normal model M3, or may include the model information based on the normal model M3 and the model information based on the normal model M2, It is also good.
  • the data acquisition unit 53 acquires detection condition information from the storage unit 52, and acquires a plurality of pieces of model information included in the acquired detection condition information.
  • the data acquisition unit 53 performs the following processing when a message including data matching the combination indicated by the model information is newly stored in the storage unit 52 by the message acquisition unit 55.
  • the data acquisition unit 53 acquires, from the storage unit 52, a set of three types of data included in the same transmission message, and the acquired set of the three types of data and the type indicated by the model information. The combination is output to the detection unit 54.
  • the data acquisition unit 53 performs the following processing. Do.
  • the data acquisition unit 53 acquires, from the storage unit 52, sets of three types of data respectively included in different transmission messages based on the model information, and performs synchronization processing on the acquired three types of data.
  • the data acquisition unit 53 acquires the latest three sets of data from the three synchronized data, and acquires the combination of the acquired three sets of data and the type indicated by the model information. Output to the detection unit 54.
  • detecting unit 54 When detecting unit 54 receives a combination of three types of data from data acquiring unit 53 and a combination of types indicated by model information, detecting unit 54 refers to a plurality of model information included in detection condition information in storage unit 52 and receives the received combination. Is obtained from the corresponding model information in the storage unit 52.
  • the detection unit 54 detects an unauthorized message corresponding to the set based on the set of three types of data received from the data acquisition unit 53 and the normal model M3 acquired from the corresponding model information.
  • the detection unit 54 detects that the position in the three-dimensional space based on the set of three types of data received from the data acquisition unit 53 is the boundary plane of the normal model M3. If it exists internally, it is determined that one, two or three messages including the three types of data are valid messages.
  • detection unit 54 includes the three types of data. Determine that one, two or three messages are fraudulent messages.
  • FIG. 10 is a diagram for explaining the creation process in the learning phase for the modified example of the normal model according to the first embodiment of the present invention.
  • the detection unit 54 detects an unauthorized message in the in-vehicle network 12 using an estimated value of sensor data to be monitored.
  • one normal model M4 is created based on monitoring target sensor data and a correlation data group including, for example, q types of data.
  • the monitoring target sensor data is data measured by a sensor (hereinafter, also referred to as sensor data), and specifically, is data that changes continuously, such as the vehicle speed, the engine speed, and the yaw rate.
  • the q types of data included in the correlation data group may be sensor data or status data which is data representing a predefined state.
  • the status data specifically represents, for example, the state of an operation unit such as a gear and a seat belt in the target vehicle 1.
  • the monitoring target sensor data and each of the q types of data included in the correlation data group have a correlation.
  • q types of data included in the correlation data group may or may not have a correlation.
  • the server learns the normal model M4 using, for example, a Least Absolute Shrinkage and Selection Operator (LASSSO), a regression tree, or the like based on a learning data set.
  • Least Absolute Shrinkage and Selection Operator (LASSSO)
  • LASSSO Least Absolute Shrinkage and Selection Operator
  • the learning data set includes monitoring target sensor data and correlation data groups respectively corresponding to a plurality of same times, specifically, tm1, tm2, tm3, tm4, tm5 and the like.
  • the server when the correlation data group corresponding to the same time is input to the normal model M4, the server outputs the normal model M4 so that an estimated value close to the value of the corresponding monitoring target sensor data is output. create.
  • FIG. 11 is a diagram for explaining a verification process in a test phase of a modified example of the normal model according to the first embodiment of the present invention.
  • the normal model M4 is verified using a test data set similar to the training data set.
  • the server creates a distribution of estimation errors using the model M4 in general. More specifically, the server obtains the estimated value output from the normal model M4 by inputting the correlation data group at time tt1 that is a part of the test data set into the normal model M4.
  • the server calculates the estimation error yerr, for example, using the following equation (1).
  • yobs is the value of the corresponding monitoring target sensor data, that is, the value of the monitoring target sensor data at time tt1.
  • ycalc is an estimated value output from the normal model M4.
  • the server creates verification data including the estimation error yerr at each time by similarly processing the correlation data group and the monitoring target sensor data at a time different from the time tt1 in the test data set.
  • the server creates a distribution of estimated errors yerr based on the verification data. This distribution represents the frequency of the estimation error yerr. In this example, the distribution is unimodal.
  • the server calculates the average value ⁇ and the variance ⁇ ⁇ 2 of each estimation error yerr included in the verification data.
  • a ⁇ b means b to the power of a.
  • the server creates model information Md1 indicating, for example, a combination of a normal model M4, an average value ⁇ and a variance ⁇ ⁇ 2, and q kinds of data types in the monitoring target sensor data and the correlation data group.
  • the model information Md1 created by the server is registered in the storage unit 52 as detection condition information, for example, when the target vehicle 1 is manufactured.
  • data acquisition unit 53 acquires detection condition information from storage unit 52, and acquires model information Md1 included in the acquired detection condition information.
  • the data acquisition unit 53 performs the following process when a message including data matching the combination indicated by the model information Md1 is newly stored in the storage unit 52 by the message acquisition unit 55.
  • the data acquisition unit 53 acquires, from the storage unit 52, a set of monitoring target sensor data and a correlation data group included in the same transmission message, and the acquired set and type indicated by the model information Md1.
  • the combination of the above is output to the detection unit 54.
  • the data acquisition unit 53 performs the following processing. I do.
  • the data acquisition unit 53 acquires, from the storage unit 52, sets of monitoring target sensor data and correlation data groups respectively included in different transmission messages, and acquires the acquired monitoring target sensor data and correlation data groups Synchronize to the
  • the data acquisition unit 53 acquires the set of the latest monitoring target sensor data and correlation data group from the synchronized monitoring target sensor data and correlation data group, and obtains the acquired pair and model information Md1.
  • the combination of the types shown is output to the detection unit 54.
  • FIG. 12 is a diagram for explaining a fraudulent message detection process using a modified example of the normal model according to the first embodiment of the present invention.
  • the storage unit 52 when receiving the combination of the monitoring target sensor data and the correlation data group at time td1 and the type indicated by the model information Md1 from the data acquisition unit 53, the storage unit 52 The model information Md1 corresponding to the received combination is acquired from the storage unit 52 with reference to a plurality of pieces of model information included in the detection condition information in.
  • the detection unit 54 calculates an estimation error of the monitoring target sensor data based on, for example, the combination of the monitoring target sensor data and the correlation data group acquired by the data acquiring unit 53 and the normal model M4 included in the model information Md1. .
  • the detection unit 54 acquires the estimated value output from the normal model M4 by inputting the correlation data group received from the data acquisition unit 53 into the normal model M4 included in the model information Md1.
  • the detection unit 54 calculates the estimation error yerr by substituting the acquired estimated value and the value of the monitoring target sensor data at the time td1 into the above-described equation (1) as ycalc and yobs, respectively.
  • the detection unit 54 evaluates the validity of the monitoring target sensor data based on, for example, the calculated estimation error yerr and the distribution of the estimation error yerr created using the normal model M4, and performs monitoring based on the evaluation result. It is determined whether the target sensor data is an unauthorized message.
  • the detection unit 54 calculates the score S, for example, by substituting the calculated estimation error yerr and the average value ⁇ and the variance ⁇ ⁇ 2 included in the model information Md1 into the following equation (2).
  • the score S corresponds to the Mahalanobis distance, and is an evaluation value of the legitimacy of the monitoring target sensor data.
  • the detection unit 54 determines that the monitoring target sensor data is an unauthorized message.
  • the detection unit 54 determines that the monitoring target sensor data is a valid message.
  • the distribution of the estimation error yerr generated by the server is unimodal, the present invention is not limited to this.
  • the distribution of the estimation error yerr generated by the server may be multi-peak.
  • the server approximates the distribution of the estimation error yerr by, for example, a mixed Gaussian distribution in which K Gaussian distributions are superimposed, and the mean value ⁇ 1 to ⁇ K and variance ⁇ 1 ⁇ 2 to ⁇ K ⁇ 2 of each Gaussian distribution Also, the mixing ratio C1 to CK of each Gaussian distribution is calculated.
  • the server indicates, for example, a combination of normal model M4, average values ⁇ 1 to ⁇ K, variances ⁇ 1 ⁇ 2 to ⁇ K ⁇ 2 and mixing ratios C1 to CK, and q types of data types in monitoring target sensor data and correlation data group Create model information Md1.
  • the detection unit 54 substitutes the calculated estimation error yerr, and the average values ⁇ 1 to ⁇ K, the variances ⁇ 1 ⁇ 2 to ⁇ K ⁇ 2 and the mixing ratios C1 to CK contained in the model information Md1 into the following equation (3) By doing this, the score S is calculated.
  • B in Formula (3) is represented by the following Formula (4).
  • FIG. 13 is a diagram for describing creation processing in a learning phase of a modified example of the normal model according to the first embodiment of the present invention.
  • the detection unit 54 detects an unauthorized message in the in-vehicle network 12 using an estimated value of status data to be monitored.
  • one normal model M5 is created based on the monitoring target status data and the correlation data group including, for example, q types of data.
  • the monitoring target status data is status data, specifically, data that changes discontinuously, such as the gear shift position and the state of the seat belt.
  • the q types of data included in the correlation data group may be sensor data or status data.
  • the monitoring target status data and each of the q types of data included in the correlation data group have a correlation.
  • q types of data included in the correlation data group may or may not have a correlation.
  • the server learns the normal model M5 using, for example, a decision tree and Random Forest based on a learning data set.
  • the learning data set includes monitoring target status data and correlation data groups respectively corresponding to a plurality of same times, specifically, tm1, tm2, tm3, tm4, tm5 and the like.
  • the server when the correlation data group corresponding to the same time is input to the normal model M5, the server outputs the estimated value that matches the value of the corresponding monitoring target status data, for example.
  • the server creates model information Md2 that indicates the combination of the normal model M5 and the q types of data types in the monitoring target status data and the correlation data group.
  • the model information Md2 created by the server is registered in the storage unit 52 as detection condition information, for example, when the target vehicle 1 is manufactured.
  • data acquisition unit 53 acquires detection condition information from storage unit 52, and acquires model information Md2 included in the acquired detection condition information.
  • the data acquisition unit 53 performs the following processing when a message including data matching the combination indicated by the model information Md2 is newly stored in the storage unit 52 by the message acquisition unit 55.
  • the data acquisition unit 53 acquires, from the storage unit 52, a set of monitoring target status data and a correlation data group included in the same transmission message, and the acquired set and the type indicated by the model information Md2.
  • the combination of the above is output to the detection unit 54.
  • the data acquisition unit 53 performs the following processing. I do.
  • the data acquisition unit 53 acquires, from the storage unit 52, sets of monitoring target status data and correlation data groups respectively included in different transmission messages based on the model information Md2, and acquires the acquired monitoring target status data and correlation data groups Synchronize to the
  • the data acquisition unit 53 acquires the latest set of the monitoring target status data and the correlation data group from the synchronized monitoring target status data and the correlation data group, and indicates the acquired pair and the model information Md2.
  • the combination of types is output to the detection unit 54.
  • FIG. 14 is a diagram for describing a fraudulent message detection process using a modified example of the normal model according to the first embodiment of the present invention.
  • detecting unit 54 receives, for example, a combination of the monitoring target status data and the correlation data group at time td1 from data acquiring unit 53, and a combination of types indicated by model information Md2, storage unit 52.
  • the model information Md2 corresponding to the received combination is acquired from the storage unit 52 with reference to a plurality of pieces of model information included in the detection condition information in.
  • the detection unit 54 estimates the value of the monitoring target status data based on, for example, the correlation data group acquired by the data acquisition unit 53 and the normal model M5 included in the model information Md2.
  • the detection unit 54 estimates the monitoring target status data output from the normal model M5 by inputting the correlation data group received from the data acquisition unit 53 into the normal model M5 included in the model information Md2. Get the value.
  • the detecting unit 54 determines whether the monitoring target status data is an unauthorized message.
  • the detection unit 54 compares, for example, the acquired estimated value with the value of the monitoring target status data at time td1, and determines that the monitoring target status data is an unauthorized message when these values do not match. Do.
  • the detecting unit 54 determines that the monitoring target status data is a valid message.
  • the gateway device 101 is configured to use the normal model M3 based on the data S, T, and U, the present invention is not limited to this.
  • two detection conditions are respectively created based on the certain type of data and the two types of correlation data.
  • the server determines that data S and data T are correlated or strongly correlated in data 1 to data N at a plurality of common creation times, and that data S and data U are correlated or strongly correlated If it is determined that there is, the following processing is performed.
  • the server creates the normal model M2 based on the data S and T regardless of the magnitude of the correlation coefficient between the data T and the data U, and creates the normal model M2 based on the data S and U.
  • the calculation load in the creation of the normal model can be reduced as compared with the configuration in which the normal model M3 is created based on the data S, T, and U.
  • gateway apparatus 101 is configured to use one normal model M3 or two normal models M2 based on the data S, T, and U, the present invention is not limited to this.
  • a multi-dimensional data set can be converted into a lower-dimensional data set using principal component analysis described in Patent Document 2 (Japanese Patent Laid-Open No. 2016-57438). It is.
  • the server converts, for example, three types of data sets into two types of data sets using principal component analysis, and creates a normal model M2 based on the converted sets.
  • the storage unit 52 in the gateway device 101 includes eigenvectors for converting three types of data sets into two types of data sets, a normal model M2 created by the server, and corresponding data S, data T, and data U. Model information indicating a combination of types is registered.
  • detecting unit 54 When detecting unit 54 receives a combination of three types of data from data acquiring unit 53 and a combination of types indicated by model information, detecting unit 54 refers to model information in storage unit 52, and receives normal model M2 and eigenvector corresponding to the received combination. Are acquired from corresponding model information in the storage unit 52.
  • the detection unit 54 converts the set of three types of data received from the data acquisition unit 53 into a set of two types of data using the acquired eigenvectors, and based on the set after conversion and the normal model M2, It is determined whether one, two or three messages containing type data are fraudulent messages.
  • Each device in the in-vehicle communication system 301 includes a computer, and an arithmetic processing unit such as a CPU in the computer reads and executes a program including part or all of each step of the following sequence diagram or flowchart from a memory (not shown) Do.
  • the programs of the plurality of devices can be installed from the outside.
  • the programs of the plurality of apparatuses are distributed as stored in the recording medium.
  • FIG. 15 is a flowchart defining an operation procedure when the gateway device according to the first embodiment of the present invention receives a message.
  • model information indicates a combination of normal model M2 and corresponding data X and data Y types.
  • gateway device 101 waits until, for example, a message is received from control device 122 (NO in step S102).
  • the gateway device 101 When the gateway device 101 receives a message from the control device 122 (YES in step S102), the gateway device 101 checks whether the received message includes data of the type to be monitored (step S104).
  • gateway device 101 stores the received message in storage unit 52 (step S106). At this time, the gateway device 101 timestamps the message.
  • the gateway apparatus 101 stores the received message in the storage unit 52 (step S106), or if the received message does not include data of the type to be monitored (NO in step S104), the received message After performing the relay process, the process waits until a new message is received from the control device 122 (NO in step S102).
  • FIG. 16 is a flowchart defining an operation procedure when the gateway apparatus according to the first embodiment of the present invention stores the received message in the storage unit.
  • model information indicates a combination of normal model M2 and corresponding data X and data Y types.
  • gateway apparatus 101 waits until a message is stored in storage unit 52 (NO in step S202).
  • gateway device 101 determines whether the data corresponding to the combination of the two types indicated by the model information is stored in the message, that is, the same message. It confirms (step S204).
  • the gateway apparatus 101 does not include data matching the two types of combinations indicated by the model information in the same message, that is, when it is separately included in separate messages (NO in step S 204), the model information indicates Synchronous processing is performed on the two types of data (step S206).
  • the gateway device 101 acquires a set of two types of data indicated by model information from the message or generates a latest set of two types of data indicated by model information from the two types of data subjected to synchronization processing. It acquires (step S208).
  • the gateway device 101 acquires a normal model M2 corresponding to the acquired two types of data sets from the storage unit 52 (step S210).
  • the gateway device 101 checks whether or not the position based on the acquired two types of data sets is located inside the boundary B2 of the normal model M2 (step S212).
  • step S212 When the position based on the acquired two types of data sets is located inside the boundary B2 (YES in step S212), one or two messages including the two types of data are valid messages. It is determined that (step S214).
  • the gateway apparatus 101 determines that one or two messages including the two types of data are invalid messages. It is determined that (step S216).
  • gateway apparatus 101 waits until a new message is stored in storage unit 52 (NO in step S202).
  • the model information indicates a combination of the normal model M2 and the corresponding data X and data Y types, but the present invention is not limited to this.
  • the model information may indicate, for example, the combination of the normal model M3 and the corresponding data S, data T and data U types.
  • the gateway device 101 acquires a set of three types of data, and in step S210, acquires the corresponding normal model M3 from the storage unit 52.
  • the message acquisition unit 55 is configured to acquire a plurality of transmission messages in the in-vehicle network 12, but the present invention is not limited to this.
  • the message acquisition unit 55 may be configured to acquire one transmission message in the in-vehicle network 12. For example, if data corresponding to a combination of two types indicated by model information is included in the one transmission message, it can be determined whether the transmission message is an unauthorized message.
  • the gateway device 101 is configured to detect an unauthorized message in the on-vehicle network 12
  • the present invention is not limited to this.
  • a detection device other than the gateway device 101 may be configured to detect an unauthorized message in the in-vehicle network 12.
  • the data acquisition unit 53 is configured to acquire a set of two types of data and a set of three types of data corresponding to the same reception time. However, it is not limited to this.
  • the data acquisition unit 53 may be configured to acquire a set of M types of data corresponding to the same reception time.
  • M is an integer of 4 or more. In this case, a normal model is created based on M types of data.
  • the data acquisition unit 53 is configured to acquire a combination of a plurality of types of data corresponding to the same reception time, but is limited to this is not.
  • the data acquisition unit 53 is not limited to the reception time, but may be configured to acquire a set of plural types of data corresponding to the same transmission time, the same creation time, and the like. Specifically, for example, when the control device 122 stores the creation time of data or the transmission time of a message in a message and transmits it, the data acquisition unit 53 determines the plurality of types of data corresponding to the same transmission time or the same creation time It is possible to obtain a set of
  • the detection unit 54 is configured to detect a message exchanged between the control devices 122 as a detection target of an unauthorized message.
  • the present invention is limited thereto. It is not a thing.
  • the detection unit 54 may be configured to detect messages exchanged between the control device 122 and the in-vehicle communication device 111 and messages exchanged between the in-vehicle communication device 111 as detection targets of fraudulent messages.
  • the normal model is configured to be created based on a set of a plurality of types of data having a predetermined correlation, but is limited to this It is not a thing.
  • the normal model may be configured to be created based on a plurality of types of data sets that do not have a predetermined correlation.
  • the data acquisition unit 53 acquires plural types of data from each transmission message stored in the storage unit 52 by the message acquisition unit 55, and acquires the acquired data.
  • the present invention is not limited to this.
  • the data acquisition unit 53 receives each transmission message directly from the message acquisition unit 55, acquires multiple types of data from each transmission message received, and reacquires the acquired data.
  • the configuration may be used for detection without sampling.
  • a first ECU and a second ECU connected exclusively to a vehicle-mounted network are connected to both a first encryption key used for message authentication, and both the vehicle-mounted network and the network outside the vehicle.
  • a configuration is disclosed that prevents a cyber attack from the outside network to the first ECU and the second ECU that are not connected to the outside network due to a difference between the second encryption key used by the ECU 3 and the second encryption key.
  • the gateway device detects an unauthorized message in the in-vehicle network 12 mounted on the target vehicle 1.
  • the message acquisition unit 55 acquires one or more transmission messages in the in-vehicle network 12.
  • the data acquisition unit 53 acquires a set of data of a plurality of types corresponding to the same time, which is included in the transmission message acquired by the message acquisition unit 55.
  • the storage unit 52 stores detection conditions based on a plurality of sets respectively created in advance and respectively corresponding to a plurality of times. Then, the detection unit 54 detects an unauthorized message based on the pair acquired by the data acquisition unit 53 and the detection condition.
  • the relationship can be used to calculate the range of values that can be taken from other data.
  • the range of values that can be taken by other data in the set can be calculated based on the detection condition based on the data in the set, so the correctness of the other data is correctly determined. can do.
  • a message including data determined to be incorrect can be detected as an incorrect message. Therefore, an unauthorized message in the in-vehicle network can be detected correctly.
  • the detection condition is created based on a set of a plurality of types of data having a predetermined correlation.
  • a configuration in which detection conditions are created based on a plurality of types of data sets in which a certain degree of relationship exists between data allows a range of values that can be taken from one data in the set to another data in the set It is possible to create a detection condition that can be narrowed. Thus, the legitimacy of the other data can be determined more correctly. That is, appropriate detection conditions can be created.
  • the gateway device when there is a plurality of types of correlation data that is data having a correlation with a certain type of data, the certain type of data and the plurality of types of correlation data One detection condition is created based on.
  • the detecting unit 54 detects a certain type of data acquired by the data acquiring unit 53, a plurality of types of correlation data, and a detection condition. Calculate the estimation error of the data of Then, the detection unit 54 evaluates the correctness of a certain type of data based on the calculated estimation error and the distribution of the estimated error created using the detection condition, and based on the evaluation result, the certain data It is determined whether or not the message is an unauthorized message.
  • a certain type of data is data representing a state.
  • the detection unit 54 estimates the value of a certain type of data based on the plurality of types of correlation data acquired by the data acquisition unit 53 and the detection condition, and compares the estimated value with the certain type of data. To determine whether a certain type of data is an unauthorized message.
  • a certain type of data is a discontinuously changing value such as a gear shift position or a state of a seat belt
  • a value to be shown by a certain type of data can be estimated more correctly. It is possible to judge the legitimacy of certain types of data more correctly.
  • the gateway device when there is a plurality of types of correlation data that is data having a correlation with a certain type of data, the certain type of data and the plurality of types of correlation data A plurality of detection conditions are respectively created based on.
  • the data acquisition unit 53 acquires a set of plural types of data respectively included in different transmission messages.
  • the message acquisition unit 55 stores the plurality of acquired transmission messages in the storage unit 52. Then, the data acquisition unit 53 acquires the set from each transmission message stored in the storage unit 52.
  • data in a plurality of transmission messages stored in storage unit 52 can be resampled, so that times of a plurality of types of data can be synchronized. This makes it possible to easily acquire a plurality of types of data sets corresponding to the same time.
  • the present embodiment relates to a gateway device for updating a model, as compared with the gateway device according to the first embodiment.
  • the contents other than the contents described below are the same as the gateway apparatus according to the first embodiment.
  • FIG. 17 is a diagram for explaining an example of false detection in the gateway device according to the second embodiment of the present invention. Note that the view of FIG. 17 is the same as that of FIG.
  • normal model M2 is a model based on a set of data X and data Y (hereinafter also referred to as a population) at a plurality of common creation times shown in FIG. This population is assumed to be data acquired so as to further reduce the bias when the target vehicle 1 is developed. Thus, this population is close to the true population.
  • a normal model ME2 based on a biased population is created.
  • FIG. 18 is a diagram showing a configuration of a gateway apparatus in the in-vehicle communication system according to the second embodiment of the present invention.
  • gateway device (detection device) 102 includes communication processing unit 51, storage unit 52, data acquisition unit 53, detection unit 54, message acquisition unit 55, and update unit 56. .
  • the operations of the communication processing unit 51, the storage unit 52, the data acquisition unit 53, the detection unit 54, and the message acquisition unit 55 in the gateway device 102 are the same as the communication processing unit 51, the storage unit 52, and the data acquisition unit in the gateway device 101 shown in FIG. 53, and the same as the detection unit 54 and the message acquisition unit 55.
  • FIG. 19 is a diagram for describing updating of a normal model performed by the updating unit in the gateway device according to the second embodiment of the present invention. Note that the view of FIG. 19 is the same as that of FIG.
  • detection condition information including normal model ME2 and model information indicating a combination of corresponding data X and data Y is registered in storage unit 52.
  • the data acquisition unit 53 acquires detection condition information from the storage unit 52, and acquires a plurality of pieces of model information included in the acquired detection condition information.
  • the data acquisition unit 53 acquires, for example, a set of two types of data from the storage unit 52 based on the acquired model information.
  • the data acquisition unit 53 acquires a set of data X and data Y from the transmission message based on the combination indicated by the model information. Do.
  • the data acquisition unit 53 outputs a combination of the acquired data X and data Y and a combination of types indicated by model information to the detection unit 54 and the update unit 56.
  • the updating unit 56 for example, updates the detection condition based on the pair acquired by the data acquiring unit 53.
  • the update period in which the normal model should be updated is defined by the user, and the update unit 56 updates the normal model in the update period.
  • update unit 56 receives a combination of data X and data Y from data acquisition unit 53 and a combination of types indicated by model information, and then receives a plurality of pieces of model information included in detection condition information in storage unit 52. , And acquires the normal model ME2 corresponding to the received combination from the corresponding model information in the storage unit 52.
  • the update unit 56 sets the boundary AE2 indicating the allowable range based on the acquired normal model ME2 according to a predetermined algorithm.
  • the boundary AE2 is usually located outside the boundary BE2 of the model ME2.
  • the update unit 56 does not update the normal model ME2 when the position based on the set of the data X and the data Y exists outside the boundary AE2 as in the position Ps2.
  • the update unit 56 updates the normal model ME2 when the position based on the set of the data X and the data Y exists inside the boundary AE2 as in the position Ps1.
  • FIG. 20 is a diagram for describing a normal model updated by the updating unit in the gateway device according to the second embodiment of the present invention.
  • the view of FIG. 20 is the same as that of FIG.
  • update unit 56 creates normal model MF2 by updating normal model ME2 based on, for example, the set of data X and data Y at position Ps1.
  • the boundary AF2 is a boundary corresponding to the normal model MF2, and is located outside the boundary BF2 of the normal model MF2.
  • the data acquisition unit 53 stores model information indicating the combination of the normal model ME2 and the corresponding data X and data Y stored in the storage unit 52, the normal model MF2, and the corresponding data X and data Y Update to model information indicating the combination of
  • the updating unit 56 can further approximate the normal model based on the true population by further updating the normal model MF2 in the update period.
  • the updating unit 56 updates the detection condition based on a set of two types of data, but the present invention is not limited to this.
  • the update unit 56 may be configured to update the detection condition based on a set of three or more types of data.
  • the updating unit 56 updates the detection condition based on the pair acquired by the data acquiring unit 53.
  • the newly acquired set can be included in the population, thereby further improving the completeness of the population. be able to. This makes it possible to update to more appropriate detection conditions.
  • the present embodiment relates to a gateway apparatus incorporating detection of a fraudulent message based on a message transmission interval, as compared to the gateway apparatus according to the first embodiment.
  • the contents other than the contents described below are the same as the gateway apparatus according to the first embodiment.
  • FIG. 21 is a diagram showing a configuration of a gateway apparatus in an on-vehicle communication system according to a third embodiment of the present invention.
  • the gateway device (detection device) 103 includes a communication processing unit 51, a storage unit 52, a data acquisition unit 53, a message acquisition unit 55, a monitoring unit 57, and a distribution acquisition unit 58. And a detection unit 64.
  • the operations of the communication processing unit 51, the storage unit 52, the data acquisition unit 53 and the message acquisition unit 55 in the gateway device 103 are the same as the communication processing unit 51, the storage unit 52, the data acquisition unit 53 and the message acquisition in the gateway device 101 shown in FIG. This is the same as part 55.
  • FIG. 22 is a diagram showing an example of a time change of a transmission interval of a periodic message to be monitored in the in-vehicle communication system according to the third embodiment of the present invention.
  • the vertical axis indicates transmission intervals
  • the horizontal axis indicates time.
  • the transmission interval is, for example, an interval of timing at which a periodic message to be monitored (hereinafter also referred to as a target message) is transmitted on bus 13.
  • the transmission intervals of the target messages are not constant but vary. This is because arbitration is performed when the target message is transmitted, or delay variations in internal processing occur due to clock deviation.
  • Messages are assigned priorities according to, for example, IDs. For example, when transmission timings of a plurality of messages overlap, in the in-vehicle network 12, arbitration is performed to transmit the messages with high priority to the bus 13 prior to the messages with low priority. Such arbitration causes variations in transmission intervals.
  • FIG. 23 is a diagram showing an example of a frequency distribution of transmission intervals of target messages in the in-vehicle communication system according to the third embodiment of the present invention.
  • the vertical axis indicates the frequency
  • the horizontal axis indicates the transmission interval.
  • the frequency distribution of transmission intervals is approximately symmetrical about Ct milliseconds.
  • the frequency distribution of transmission intervals can be approximated, for example, by a predetermined model function Func1.
  • monitoring unit 57 monitors, for example, a transmission message in in-vehicle network 12. More specifically, the monitoring unit 57 monitors, for example, the relay processing of the message in the communication processing unit 51, and measures the transmission interval of the target message based on the monitoring result.
  • one ID indicating the target message (hereinafter, also referred to as a registration ID) is registered.
  • a plurality of registration IDs may be registered in the monitoring unit 57.
  • the monitoring unit 57 confirms the ID included in the message received by the communication processing unit 51.
  • the monitoring unit 57 holds, for example, the reception time t1 of the message received by the communication processing unit 51, that is, the target message as a measurement standard.
  • the monitoring unit 57 holds the reception time t2 of the newly received target message and performs the following processing.
  • the monitoring unit 57 calculates the transmission interval of the target message by subtracting the reception time t1 from the reception time t2, and outputs the calculated transmission interval and the registered ID to the detection unit 64.
  • the distribution acquisition unit 58 acquires, for example, the distribution of transmission intervals of transmission messages.
  • the distribution acquisition unit 58 acquires, for example, distribution information indicating a distribution of transmission intervals prepared in advance by another device, specifically, a server.
  • the server obtains, for example, a plurality of transmission intervals of the target message.
  • This transmission interval is measured, for example, in the same type of test vehicle as the target vehicle 1.
  • the server may acquire the transmission interval measured in the target vehicle 1.
  • the server uses, for example, a probability density function (hereinafter also referred to as a normal distribution function) p of a normal distribution represented by the following equation (5) as a model function Func1.
  • a probability density function hereinafter also referred to as a normal distribution function
  • p of a normal distribution represented by the following equation (5) as a model function Func1.
  • x bar and ⁇ 2 are parameters, which are respectively the average value and the variance of a plurality of transmission intervals.
  • the x bar and ⁇ 2 are calculated by the following equations (6) and (7), respectively.
  • t is the number of samples of the transmission interval.
  • xi is the i-th transmission interval.
  • the server transmits distribution information including x bar and ⁇ ⁇ 2 to the target vehicle 1 at a predetermined distribution timing, for example.
  • the distribution acquisition unit 58 When the distribution acquisition unit 58 receives distribution information from the server via the in-vehicle communication device 111 and the communication processing unit 51, the distribution acquisition unit 58 creates the model function Func1 represented by the equation (5) based on the received distribution information. The function Func1 is output to the detection unit 64.
  • the distribution acquisition unit 58 receives distribution information from the server via the in-vehicle communication device 111 and the communication processing unit 51 and outputs the distribution information to the detection unit 64.
  • the present invention is limited thereto is not.
  • the gateway device 101 holds a non-volatile memory, and the distribution acquisition unit 58 acquires distribution information from the non-volatile memory in which distribution information has been written by the maintenance terminal via the port 112 to the detection unit 64 It may be configured to output.
  • FIG. 24 is a diagram showing an example of detecting a fraudulent message by the detection unit in the gateway device according to the third embodiment of the present invention.
  • the vertical axis indicates the score
  • the horizontal axis indicates the variable x.
  • detection unit 64 detects an unauthorized message based on, for example, the monitoring result by monitoring unit 57 and the distribution of transmission intervals acquired by distribution acquisition unit 58.
  • the detection unit 64 determines that the transmission message is an unauthorized message based on, for example, the transmission interval measured by the monitoring unit 57, distribution information indicating the distribution of the transmission interval, and a predetermined threshold value. Determine if it is or not.
  • the threshold value ThB is registered.
  • the detection unit 64 detects an unauthorized message based on, for example, the position of the transmission interval measured by the monitoring unit 57 in the distribution of the transmission interval.
  • the detection unit 64 When receiving the model function Func1 from the distribution acquisition unit 58, the detection unit 64 generates a score function Sc1 by transforming the received model function Func1. More specifically, the detection unit 64 creates, for example, -log (Func1) as the score function Sc1.
  • -log (Func1) means the common logarithm of c.
  • the detecting unit 64 calculates the score by substituting the transmission interval received from the monitoring unit 57 into the variable x in the score function Sc1.
  • the detection unit 64 determines that the target message transmitted this time should not be an unauthorized message, that is, the target message is a legitimate message or the transmission interval is disguised. It is determined that the message is a message (hereinafter also referred to as a spoofed message). Specifically, when the detecting unit 64 receives the transmission interval Tc shown in FIG. 24 from the monitoring unit 57, the detecting unit 64 determines that the target message C transmitted this time is a valid message or a spoofed message.
  • the transmission interval may be positioned near the center of the frequency distribution shown in FIG. Because it is expensive.
  • the detection unit 64 determines that the target message transmitted this time is an unauthorized message. Specifically, when the detection unit 64 receives the transmission interval Ta shown in FIG. 24 from the monitoring unit 57, the detection unit 64 determines that the target message A transmitted this time is an unauthorized message. Similarly, when the detection unit 64 receives the transmission interval Tb from the monitoring unit 57, the detection unit 64 determines that the target message B transmitted this time is an unauthorized message.
  • the threshold value registered in the detection unit 64 is changed to ThA larger than ThB.
  • a message determined to be an unauthorized message by the detection unit 64 such as the target message B corresponding to the transmission interval Tb, is determined to be a valid message or a spoofed message after the threshold value is changed.
  • the detection unit 64 notifies the monitoring unit 57 of the determination result based on the transmission interval received from the monitoring unit 57.
  • the monitoring unit 57 uses, for example, the reception timing of the transmission message determined to be a valid message or a spoofed message as a measurement criterion of the transmission interval.
  • the monitoring unit 57 newly measures the reception time t2 as the transmission interval. Use as a reference.
  • the monitoring unit 57 holds the reception time t3 of the newly received target message and performs the following processing.
  • the monitoring unit 57 calculates a new transmission interval of the target message by subtracting the reception time t2 from the reception time t3, and outputs the calculated transmission interval to the detection unit 64.
  • the monitoring unit 57 maintains the reception time t1 as the measurement reference.
  • the monitoring unit 57 holds the reception time t3 of the newly received target message and performs the following processing.
  • the monitoring unit 57 calculates a new transmission interval of the target message by subtracting the reception time t1 from the reception time t3, and outputs the calculated transmission interval to the detection unit 64.
  • the detection unit 64 determines, for example, as to a transmission message determined not to be an unauthorized message, based on the pair acquired by the data acquisition unit 53 and the detection condition, whether it is an unauthorized message or not.
  • the detection unit 64 when determining that the target message C transmitted this time is a valid message or a spoof message, the detection unit 64 outputs the registration ID received from the monitoring unit 57 to the data acquisition unit 53.
  • the data acquisition unit 53 When the data acquisition unit 53 receives the registration ID from the detection unit 64, the data acquisition unit 53 acquires the latest message having the received registration ID, that is, the latest target message from among the plurality of messages stored in the storage unit 52.
  • one data is included in the target message.
  • the data acquisition unit 53 recognizes one type of data (hereinafter, also referred to as target type) included in the acquired latest target message. Note that two or more pieces of data may be included in the target message.
  • the data acquisition unit 53 refers to the plurality of pieces of model information included in the detection condition information stored in the storage unit 52, and acquires, from the storage unit 52, model information indicating the recognized target type from among the plurality of referenced model information. Do.
  • the data acquisition unit 53 identifies the type of data to be combined with the target type (hereinafter also referred to as the other party type) based on the acquired model information.
  • the data acquisition unit 53 acquires, for example, a plurality of target messages including data of the target type and a plurality of messages including data of the other party type from the storage unit 52, and based on each acquired message, A synchronization process is performed to synchronize the reception time and the reception time of the other party's type data.
  • the data acquisition unit 53 acquires the latest two sets of data from the two synchronized data, and acquires the combination of the acquired two sets of data and the type indicated by the model information. Output to the detection unit 64.
  • detecting unit 64 When detecting unit 64 receives a combination of two types of data from data acquiring unit 53 and a combination of types indicated by model information, detecting unit 64 refers to a plurality of model information included in detection condition information in storage unit 52 and receives the received combination.
  • the normal model M2 corresponding to is acquired from the corresponding model information in the storage unit 52.
  • the detection unit 64 determines whether the target message is an unauthorized message based on the position based on the set of two types of data received from the data acquisition unit 53 and the acquired normal model M2.
  • the detection unit 64 detects the position Pn of the boundary B2 of the normal model M2. Since the message is located inside, it is determined that the target message is a valid message.
  • the detection unit 64 when the position based on the set of two types of data received from the data acquisition unit 53 is the position Pa, the detection unit 64 normally positions the outside of the boundary B2 of the model M2, so the target message is disguised. Judge as a message, that is, an illegal message.
  • the detection unit 64 determines that the target message is an unauthorized message, for example, the detection unit 64 performs the following process. That is, the detection unit 64 records in the storage unit 52 a registration ID, an ID of a message including data of the other party type, a combination of corresponding types, and the like.
  • the detection unit 64 notifies the upper device in the target vehicle 1 or outside the target vehicle 1 via the communication processing unit 51 that the unauthorized message has been transmitted through the bus 13.
  • FIG. 25 is a flowchart defining an operation procedure when the gateway apparatus according to the third embodiment of the present invention receives a target message.
  • gateway apparatus 103 receives the first target message, and sets the reception time of the target message as a measurement reference (step S302).
  • the gateway device 103 waits until the target message is received (NO in step S304).
  • the gateway device 103 When the gateway device 103 receives the target message (YES in step S304), the gateway device 103 performs determination processing as to whether the received target message should be an unauthorized message (step S306).
  • the gateway apparatus 103 stands by until receiving a new target message (NO in step S306).
  • FIG. 26 is a flowchart defining an operation procedure when the gateway device according to the third embodiment of the present invention performs the determination process.
  • FIG. 26 shows the details of the operation in step S306 of FIG.
  • gateway apparatus 103 calculates the transmission interval by subtracting the measurement reference from the reception time of the target message (step S402).
  • the gateway device 103 calculates a score by substituting the calculated transmission interval into the score function Sc1 (step S404).
  • the gateway device 103 determines that the target message transmitted this time is an unauthorized message (step S424).
  • gateway apparatus 103 determines that the target message transmitted this time is a valid message or a spoof message (step S408).
  • the gateway device 103 updates the measurement reference to the reception time of the target message transmitted this time (step S410).
  • the gateway device 103 checks whether or not both the target type data and the other type data are stored in the target message (step S412).
  • step S414 if both the data of the target type and the data of the other type are not included in the target message, that is, if they are separately included in separate messages (NO in step S412), the gateway device 103 A synchronization process is performed on the other type of data (step S414).
  • the gateway device 103 acquires a pair of two types of data, more specifically, a pair of data of the target type and data of the other type from the target message, or data of the target type subjected to synchronization processing and the other side. From the type data, the latest set of the target type data and the other type data is acquired (step S416).
  • the gateway device 103 acquires, from the storage unit 52, a normal model M2 corresponding to a combination of data of the target type and data of the other type (step S418).
  • the gateway device 103 checks whether the position based on the acquired target type data and the partner type data is located inside the boundary B2 of the normal model M2 (step S420).
  • gateway apparatus 103 determines that the target message transmitted this time is a valid message. (Step S422).
  • gateway apparatus 103 determines that the target message transmitted this time is a spoofed message, It is determined that the message is a message (step S424).
  • the monitoring unit 57 is configured to measure the transmission interval based on the reception time of the target message.
  • the present invention is not limited to this.
  • the monitoring unit 57 may be configured to acquire the transmission time of the target message and measure the transmission interval based on the acquired transmission time.
  • the gateway device according to the third embodiment of the present invention is configured to acquire the distribution of the transmission interval of the target message measured in the test vehicle, the present invention is not limited to this.
  • the gateway device 103 may be configured to accumulate the transmission intervals measured in the target vehicle 1 and create the distribution based on the accumulated transmission intervals.
  • the monitoring unit 57 monitors transmission messages in the in-vehicle network 12.
  • the distribution acquisition unit 58 acquires the distribution of transmission intervals of transmission messages.
  • the detection unit 64 detects an unauthorized message based on the monitoring result by the monitoring unit 57 and the distribution acquired by the distribution acquisition unit 58. Then, the detection unit 64 determines whether or not the transmission message is determined to be not an unauthorized message, based on the pair acquired by the data acquisition unit 53 and the detection condition.
  • the transmission message can be detected as an unauthorized message based on the above-described set and detection condition, so security in the in-vehicle network 12 can be improved.
  • a detection device for detecting an unauthorized message in an in-vehicle network mounted on a vehicle comprising: A message acquisition unit for acquiring one or more transmission messages in the in-vehicle network; A data acquisition unit that acquires a set of data of a plurality of types corresponding to the same time included in the transmission message acquired by the message acquisition unit; A storage unit which stores detection conditions based on a plurality of sets, each of which is prepared in advance and respectively correspond to a plurality of times; A detection unit that detects the fraudulent message based on the pair acquired by the data acquisition unit and the detection condition; The detection device is a gateway device that relays the transmission message.
  • the in-vehicle network includes in-vehicle devices which are devices inside the vehicle,
  • the in-vehicle apparatus is an in-vehicle communication device that communicates with an apparatus outside the vehicle provided with the in-vehicle network, or a control apparatus capable of controlling a functional unit in the vehicle.
  • the transmission message is transmitted in the in-vehicle network according to a communication standard of CAN (Controller Area Network), FlexRay, MOST (Media Oriented Systems Transport), Ethernet or LIN (Local Interconnect Network).
  • the detection condition is a normal model, and is created in advance by the server.
  • the detection device wherein the time is a reception time, a transmission time or a creation time.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Small-Scale Networks (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

検知装置は、車両に搭載される車載ネットワークにおける不正メッセージを検知する検知装置であって、前記車載ネットワークにおける1または複数の送信メッセージを取得するメッセージ取得部と、前記メッセージ取得部によって取得された前記送信メッセージに含まれる、同じ時刻に対応する複数種類のデータの組を取得するデータ取得部と、予め作成された、複数の時刻にそれぞれ対応する複数の前記組に基づく検出条件を記憶する記憶部と、前記データ取得部によって取得された前記組、および前記検出条件に基づいて前記不正メッセージを検知する検知部とを備える。

Description

検知装置、検知方法および検知プログラム
 本発明は、検知装置、検知方法および検知プログラムに関する。
 この出願は、2017年8月3日に出願された日本出願特願2017-150807号を基礎とする優先権を主張し、その開示のすべてをここに取り込む。
 特許文献1(特開2016-116075号公報)には、以下のような車載通信システムが開示されている。すなわち、車載通信システムは、通信データの送信側が生成するメッセージ認証コードである送信側コードと、前記通信データの受信側が生成するメッセージ認証コードである受信側コードとを使用してメッセージ認証を行う車載通信システムであって、車載ネットワークに接続され、第1の暗号鍵と前記第1の暗号鍵とは異なる第2の暗号鍵のうち前記第1の暗号鍵だけを保持する第1のECUと、前記車載ネットワークに接続され、前記第1の暗号鍵を少なくとも保持する第2のECUと、前記車載ネットワーク及び車外ネットワークに接続され、前記第1の暗号鍵と前記第2の暗号鍵のうち前記第2の暗号鍵だけを保持して、前記第2の暗号鍵を使用して前記車載ネットワークにおける通信時に前記送信側コード又は前記受信側コードを生成する第3のECUとを備え、前記第2のECUは、前記第1の暗号鍵を使用して生成した送信側コードを付与した通信データを送信し、前記第1のECUは、前記通信データを受信した場合に、前記第1の暗号鍵を使用して生成した受信側コードによって、前記受信した通信データに付与された送信側コードの検証を行う。
特開2016-116075号公報 特開2016-57438号公報 特開2016-97879号公報 特開2015-136107号公報
 (1)本開示の検知装置は、車両に搭載される車載ネットワークにおける不正メッセージを検知する検知装置であって、前記車載ネットワークにおける1または複数の送信メッセージを取得するメッセージ取得部と、前記メッセージ取得部によって取得された前記送信メッセージに含まれる、同じ時刻に対応する複数種類のデータの組を取得するデータ取得部と、予め作成された、複数の時刻にそれぞれ対応する複数の前記組に基づく検出条件を記憶する記憶部と、前記データ取得部によって取得された前記組、および前記検出条件に基づいて前記不正メッセージを検知する検知部とを備える。
 (11)本開示の検知方法は、車両に搭載される車載ネットワークにおける不正メッセージを検知し、記憶部を備える検知装置における検知方法であって、前記車載ネットワークにおける1または複数の送信メッセージを取得するステップと、取得した前記送信メッセージに含まれる、同じ時刻に対応する複数種類のデータの組を取得するステップとを含み、前記記憶部は、予め作成された、複数の時刻にそれぞれ対応する複数の前記組に基づく検出条件を記憶し、前記検知方法は、さらに、取得した前記組、および前記検出条件に基づいて前記不正メッセージを検知するステップを含む。
 (12)本開示の検知プログラムは、車両に搭載される車載ネットワークにおける不正メッセージを検知し、記憶部を備える検知装置において用いられる検知プログラムであって、コンピュータを、前記車載ネットワークにおける1または複数の送信メッセージを取得するメッセージ取得部と、前記メッセージ取得部によって取得された前記送信メッセージに含まれる、同じ時刻に対応する複数種類のデータの組を取得するデータ取得部、として機能させるためのプログラムであり、前記記憶部は、予め作成された、複数の時刻にそれぞれ対応する複数の前記組に基づく検出条件を記憶し、さらに、コンピュータを、 前記データ取得部によって取得された前記組、および前記検出条件に基づいて前記不正メッセージを検知する検知部、として機能させるためのプログラムである。
 本開示の一態様は、このような特徴的な処理部を備える検知装置として実現され得るだけでなく、検知装置を備える車載通信システムとして実現され得る。また、本開示の一態様は、検知装置の一部または全部を実現する半導体集積回路として実現され得る。
図1は、本発明の第1の実施の形態に係る車載通信システムの構成を示す図である。 図2は、本発明の第1の実施の形態に係るバス接続装置群の構成を示す図である。 図3は、本発明の第1の実施の形態に係る車載通信システムにおけるゲートウェイ装置の構成を示す図である。 図4は、本発明の第1の実施の形態に係るゲートウェイ装置が用いる通常モデルの作成過程を説明するための図である。 図5は、本発明の第1の実施の形態に係るゲートウェイ装置において行われる同期処理のタイミングを説明するための図である。 図6は、本発明の第1の実施の形態に係るゲートウェイ装置において行われる同期処理のタイミングを説明するための図である。 図7は、本発明の第1の実施の形態に係るゲートウェイ装置における検知部が行う不正メッセージの検知を説明するための図である。 図8は、本発明の第1の実施の形態に係る車載通信システムの効果を説明するための図である。 図9は、本発明の第1の実施の形態に係る車載通信システムの効果を説明するための図である。 図10は、本発明の第1の実施の形態に係る通常モデルの変形例についての学習フェーズにおける作成処理を説明するための図である。 図11は、本発明の第1の実施の形態に係る通常モデルの変形例についてのテストフェーズにおける検証処理を説明するための図である。 図12は、本発明の第1の実施の形態に係る通常モデルの変形例を用いた不正メッセージの検知処理を説明するための図である。 図13は、本発明の第1の実施の形態に係る通常モデルの変形例についての学習フェーズにおける作成処理を説明するための図である。 図14は、本発明の第1の実施の形態に係る通常モデルの変形例を用いた不正メッセージの検知処理を説明するための図である。 図15は、本発明の第1の実施の形態に係るゲートウェイ装置がメッセージを受信する際の動作手順を定めたフローチャートである。 図16は、本発明の第1の実施の形態に係るゲートウェイ装置が、受信したメッセージを記憶部に保存した際の動作手順を定めたフローチャートである。 図17は、本発明の第2の実施の形態に係るゲートウェイ装置における誤検知の一例を説明するための図である。 図18は、本発明の第2の実施の形態に係る車載通信システムにおけるゲートウェイ装置の構成を示す図である。 図19は、本発明の第2の実施の形態に係るゲートウェイ装置における更新部が行う通常モデルの更新を説明するための図である。 図20は、本発明の第2の実施の形態に係るゲートウェイ装置における更新部が更新した通常モデルを説明するための図である。 図21は、本発明の第3の実施の形態に係る車載通信システムにおけるゲートウェイ装置の構成を示す図である。 図22は、本発明の第3の実施の形態に係る車載通信システムにおける監視対象の周期メッセージの送信間隔の時間変化の一例を示す図である。 図23は、本発明の第3の実施の形態に係る車載通信システムにおける対象メッセージの送信間隔の度数分布の一例を示す図である。 図24は、本発明の第3の実施の形態に係るゲートウェイ装置における検知部による不正メッセージの検出例を示す図である。 図25は、本発明の第3の実施の形態に係るゲートウェイ装置が対象メッセージを受信する際の動作手順を定めたフローチャートである。 図26は、本発明の第3の実施の形態に係るゲートウェイ装置が判断処理を行う際の動作手順を定めたフローチャートである。
 従来、車載ネットワークにおけるセキュリティを向上させるための車載ネットワークシステムが開発されている。
 [本開示が解決しようとする課題]
 特許文献1には、車載ネットワークに限定して接続される第1のECUおよび第2のECUがメッセージ認証に用いる第1の暗号鍵と、車載ネットワークおよび車外ネットワークの両方に接続される第3のECUが用いる第2の暗号鍵とが異なることにより、車外ネットワークに接続されない第1のECUおよび第2のECUに対する車外ネットワークからのサイバー攻撃を防ぐ構成が開示されている。
 しかしながら、メッセージ認証を用いるセキュリティ対策では、プロトコルの脆弱性を突いた攻撃、第1の暗号鍵の不正入手による攻撃、および暗号アルゴリズムの陳腐化を突いた攻撃等により、当該セキュリティ対策が無効化されることがある。
 このような攻撃を受けた場合において、攻撃者が車載ネットワークに侵入したことを正しく検知するための技術が求められる。
 本開示は、上述の課題を解決するためになされたもので、その目的は、車載ネットワークにおける不正メッセージを正しく検知することが可能な検知装置、検知方法および検知プログラムを提供することである。
 [本開示の効果]
 本開示によれば、車載ネットワークにおける不正メッセージを正しく検知することができる。
 [本願発明の実施形態の説明]
 最初に、本発明の実施形態の内容を列記して説明する。
 (1)本発明の実施の形態に係る検知装置は、車両に搭載される車載ネットワークにおける不正メッセージを検知する検知装置であって、前記車載ネットワークにおける1または複数の送信メッセージを取得するメッセージ取得部と、前記メッセージ取得部によって取得された前記送信メッセージに含まれる、同じ時刻に対応する複数種類のデータの組を取得するデータ取得部と、予め作成された、複数の時刻にそれぞれ対応する複数の前記組に基づく検出条件を記憶する記憶部と、前記データ取得部によって取得された前記組、および前記検出条件に基づいて前記不正メッセージを検知する検知部とを備える。
 たとえば、複数種類のデータ間に何らかの関係がある場合、当該関係を用いて、あるデータから他のデータがとり得る値の範囲を算出することができる。上記のような構成により、たとえば、上記組におけるあるデータから当該組における他のデータがとり得る値の範囲を検出条件に基づいて算出することができるので、当該他のデータの正当性を正しく判断することができる。これにより、不正と判断したデータを含むメッセージを不正メッセージとして検知することができる。したがって、車載ネットワークにおける不正メッセージを正しく検知することができる。
 (2)好ましくは、前記検出条件は、所定の相関関係を有する複数種類のデータの前記組に基づいて作成されている。
 このように、データ間においてある程度の関係が存在する複数種類のデータの組に基づいて検出条件が作成される構成により、組におけるあるデータから当該組における他のデータがとり得る値の範囲をより狭めることが可能な検出条件を作成することができる。これにより、当該他のデータの正当性をより正しく判断することができる。すなわち、適切な検出条件を作成することができる。
 (3)より好ましくは、ある種類の前記データと前記相関関係を有する前記データである相関データが複数種類ある場合、前記ある種類の前記データと前記複数種類の前記相関データとに基づいて1つの前記検出条件が作成されている。
 このような構成により、たとえば、攻撃者が、ある種類のデータおよび複数種類の相関データのうちの一部のデータを改変した場合においても、改変したデータと残りのデータとの関係に基づいて、上記組のデータの異常を判断することができる。すなわち、攻撃者は、不正侵入するためには、ある種類のデータおよび複数種類の相関データの全部を改変しなければならないので、車載ネットワークに対する不正侵入を困難にすることができる。これにより、車載ネットワークにおけるセキュリティを向上させることができる。
 (4)より好ましくは、前記検知部は、前記データ取得部によって取得された前記ある種類の前記データおよび前記複数種類の前記相関データ、ならびに前記検出条件に基づいて、前記ある種類の前記データの推定誤差を算出し、算出した前記推定誤差、および前記検出条件を用いて作成された前記推定誤差の分布に基づいて、前記ある種類の前記データの正当性を評価し、評価結果に基づいて、前記ある種類の前記データが前記不正メッセージであるか否かを判断する。
 このような構成により、たとえば、ある種類のデータが、センサによって計測された値のように連続して変化する値である場合において、ある種類のデータが正しい値を有する可能性をより正しく評価することができるので、ある種類のデータの正当性をより正しく判断することができる。
 (5)より好ましくは、前記ある種類の前記データは、状態を表すデータであり、前記検知部は、前記データ取得部によって取得された前記複数種類の前記相関データ、および前記検出条件に基づいて、前記ある種類の前記データの値を推定し、推定した前記値と前記ある種類の前記データとの比較結果に基づいて、前記ある種類の前記データが前記不正メッセージであるか否かを判断する。
 このような構成により、たとえば、ある種類のデータが、ギアのシフトポジションまたはシートベルトの状態のように不連続に変化する値である場合において、ある種類のデータが示すべき値をより正しく推定することができるので、ある種類のデータの正当性をより正しく判断することができる。
 (6)より好ましくは、ある種類の前記データと前記相関関係を有する前記データである相関データが複数種類ある場合、前記ある種類の前記データと前記複数種類の前記相関データとに基づいて複数の前記検出条件がそれぞれ作成されている。
 このような構成により、車載ネットワークに対する不正侵入を困難にするとともに、検出条件の算出における計算負荷を軽減することができる。
 (7)好ましくは、前記データ取得部は、異なる前記送信メッセージにそれぞれ含まれる前記複数種類のデータの組を取得する。
 受信時刻、送信時刻または作成時刻等が異なる複数種類のデータは、異なる送信メッセージにそれぞれ含まれることが多い。上記のような構成により、時刻によって検知対象のデータの種類が制限されることを防ぐことができる。
 (8)より好ましくは、前記メッセージ取得部は、取得した複数の前記送信メッセージを記憶部に保存し、前記データ取得部は、前記記憶部に保存された各前記送信メッセージから前記組を取得する。
 このような構成により、たとえば、記憶部に保存された複数の送信メッセージにおけるデータをリサンプリングすることができるので、複数種類のデータの時刻を合わせることができる。これにより、同じ時刻に対応する複数種類のデータの組を容易に取得することができる。
 (9)好ましくは、前記検知装置は、さらに、前記データ取得部によって取得された前記組に基づいて前記検出条件を更新する更新部を備える。
 このような構成により、たとえば、検出条件の算出に用いた組が母集団として不完全であっても、新たに取得した組を母集団に含めることができるので、母集団の完成度をより高めることができる。これにより、より適切な検出条件に更新することができる。
 (10)好ましくは、前記検知装置は、さらに、前記車載ネットワークにおける前記送信メッセージを監視する監視部と、前記送信メッセージの送信間隔の分布を取得する分布取得部とを備え、前記検知部は、前記監視部による監視結果および前記分布取得部によって取得された前記分布に基づいて前記不正メッセージを検知し、前記検知部は、前記不正メッセージとすべきでないと判断した前記送信メッセージについては、前記データ取得部によって取得された前記組、および前記検出条件に基づいて、前記不正メッセージであるか否かについて判断する。
 送信間隔を精度よく偽装した送信メッセージは、上記監視結果および上記分布に基づいて不正メッセージとして検知することが困難である。上記のような構成により、当該送信メッセージを、上記組および検出条件に基づいて不正メッセージとして検知することができるので、車載ネットワークにおけるセキュリティを向上させることができる。
 (11)本発明の実施の形態に係る検知方法は、車両に搭載される車載ネットワークにおける不正メッセージを検知し、記憶部を備える検知装置における検知方法であって、前記車載ネットワークにおける1または複数の送信メッセージを取得するステップと、取得した前記送信メッセージに含まれる、同じ時刻に対応する複数種類のデータの組を取得するステップとを含み、前記記憶部は、予め作成された、複数の時刻にそれぞれ対応する複数の前記組に基づく検出条件を記憶し、前記検知方法は、さらに、取得した前記組、および前記検出条件に基づいて前記不正メッセージを検知するステップを含む。
 たとえば、複数種類のデータ間に何らかの関係がある場合、当該関係を用いて、あるデータから他のデータがとり得る値の範囲を算出することができる。上記のような構成により、たとえば、上記組におけるあるデータから当該組における他のデータがとり得る値の範囲を検出条件に基づいて算出することができるので、当該他のデータの正当性を正しく判断することができる。これにより、不正と判断したデータを含むメッセージを不正メッセージとして検知することができる。したがって、車載ネットワークにおける不正メッセージを正しく検知することができる。
 (12)本発明の実施の形態に係る検知プログラムは、車両に搭載される車載ネットワークにおける不正メッセージを検知し、記憶部を備える検知装置において用いられる検知プログラムであって、コンピュータを、前記車載ネットワークにおける1または複数の送信メッセージを取得するメッセージ取得部と、前記メッセージ取得部によって取得された前記送信メッセージに含まれる、同じ時刻に対応する複数種類のデータの組を取得するデータ取得部、として機能させるためのプログラムであり、前記記憶部は、予め作成された、複数の時刻にそれぞれ対応する複数の前記組に基づく検出条件を記憶し、さらに、コンピュータを、前記データ取得部によって取得された前記組、および前記検出条件に基づいて前記不正メッセージを検知する検知部、として機能させるためのプログラムである。
 たとえば、複数種類のデータ間に何らかの関係がある場合、当該関係を用いて、あるデータから他のデータがとり得る値の範囲を算出することができる。上記のような構成により、たとえば、上記組におけるあるデータから当該組における他のデータがとり得る値の範囲を検出条件に基づいて算出することができるので、当該他のデータの正当性を正しく判断することができる。これにより、不正と判断したデータを含むメッセージを不正メッセージとして検知することができる。したがって、車載ネットワークにおける不正メッセージを正しく検知することができる。
 以下、本発明の実施の形態について図面を用いて説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰り返さない。また、以下に記載する実施の形態の少なくとも一部を任意に組み合わせてもよい。
 <第1の実施の形態>
 [構成および基本動作]
 図1は、本発明の第1の実施の形態に係る車載通信システムの構成を示す図である。
 図1を参照して、車載通信システム301は、ゲートウェイ装置(検知装置)101と、複数の車載通信機111と、複数のバス接続装置群121とを備える。
 図2は、本発明の第1の実施の形態に係るバス接続装置群の構成を示す図である。
 図2を参照して、バス接続装置群121は、複数の制御装置122を含む。なお、バス接続装置群121は、複数の制御装置122を備える構成に限らず、1つの制御装置122を含む構成であってもよい。
 車載通信システム301は、道路を走行する車両(以下、対象車両とも称する。)1に搭載される。車載ネットワーク12は、対象車両1の内部における装置である車載装置を複数含む。具体的には、車載ネットワーク12は、車載装置の一例である、複数の車載通信機111および複数の制御装置122を含む。
 なお、車載ネットワーク12は、複数の車載装置を含む構成であれば、複数の車載通信機111を含みかつ制御装置122を含まない構成であってもよいし、車載通信機111を含まずかつ複数の制御装置122を含む構成であってもよいし、1つの車載通信機111および1つの制御装置122を含む構成であってもよい。
 車載ネットワーク12において、車載通信機111は、たとえば、対象車両1の外部における装置と通信する。具体的には、車載通信機111は、たとえば、TCU(Telematics Communication Unit)、近距離無線端末装置、およびITS(Intelligent Transport Systems)無線機である。
 TCUは、たとえば、LTE(Long Term Evolution)または3G等の通信規格に従って、無線基地局装置と無線通信を行うことが可能であり、かつゲートウェイ装置101と通信を行うことが可能である。TCUは、たとえば、ナビゲーション、車両盗難防止、リモートメンテナンスおよびFOTA(Firmware Over The Air)等のサービスに用いる情報を中継する。
 近距離無線端末装置は、たとえば、Wi-Fi(登録商標)およびBluetooth(登録商標)等の通信規格に従って、対象車両1に乗車している人間(以下、搭乗者とも称する。)の保持するスマートホン等の無線端末装置と無線通信を行うことが可能であり、かつゲートウェイ装置101と通信を行うことが可能である。当該近距離無線端末装置は、たとえば、エンターテイメント等のサービスに用いる情報を中継する。
 また、近距離無線端末装置は、たとえば、所定の通信規格に従って、搭乗者の保持するスマートキー等の無線端末装置、およびタイヤに設けられた無線端末装置とLF(Low Frequency)帯またはUHF(Ultra High Frequency)帯の電波を用いて無線通信を行うことが可能であり、かつゲートウェイ装置101と通信を行うことが可能である。当該近距離無線端末装置は、たとえば、スマートエントリおよびTPMS(Tire Pressure Monitoring System)等のサービスに用いる情報を中継する。
 ITS無線機は、たとえば、道路の近傍に設けられた光ビーコン、電波ビーコンおよびITSスポット等の路側機と路車間通信を行うことが可能であり、他の車両に搭載された車載端末と車車間通信を行うことが可能であり、かつゲートウェイ装置101と通信を行うことが可能である。ITS無線機は、たとえば、渋滞緩和、安全運転支援およびルートガイダンス等のサービスに用いる情報を中継する。
 ゲートウェイ装置101は、たとえば、ファームウェアのアップデート等のデータ、およびゲートウェイ装置101により蓄積されたデータ等を対象車両1の外部における整備用端末装置とポート112を介して送受信することが可能である。
 ゲートウェイ装置101は、たとえばバス13,14を介して車載装置と接続する。具体的には、バス13,14は、たとえば、CAN(Controller Area Network)(登録商標)、FlexRay(登録商標)、MOST(Media Oriented Systems Transport)(登録商標)、イーサネット(登録商標)、およびLIN(Local Interconnect Network)等の規格に従うバスである。
 この例では、車載通信機111は、イーサネットの規格に従う対応のバス14を介してゲートウェイ装置101と接続されている。また、バス接続装置群121における各制御装置122は、CANの規格に従う対応のバス13を介してゲートウェイ装置101と接続されている。制御装置122は、たとえば、対象車両1における機能部を制御可能である。
 バス13は、たとえば系統別に設けられる。具体的には、バス13は、たとえば、駆動系バス、シャーシ/安全系バス、ボディ/電装系バスおよびAV/情報系バスである。
 駆動系バスには、制御装置122の一例であるエンジン制御装置、AT(Automatic Transmission)制御装置およびHEV(Hybrid Electric Vehicle)制御装置が接続されている。エンジン制御装置、AT制御装置およびHEV制御装置は、エンジン、AT、およびエンジンとモータとの切替をそれぞれ制御する。
 シャーシ/安全系バスには、制御装置122の一例であるブレーキ制御装置、シャーシ制御装置およびステアリング制御装置が接続されている。ブレーキ制御装置、シャーシ制御装置およびステアリング制御装置は、ブレーキ、シャーシおよびステアリングをそれぞれ制御する。
 ボディ/電装系バスには、制御装置122の一例である計器表示制御装置、エアコン制御装置、盗難防止制御装置、エアバック制御装置およびスマートエントリ制御装置が接続されている。計器表示制御装置、エアコン制御装置、盗難防止制御装置、エアバック制御装置およびスマートエントリ制御装置は、計器、エアコン、盗難防止機構、エアバック機構およびスマートエントリをそれぞれ制御する。
 AV/情報系バスには、制御装置122の一例であるナビゲーション制御装置、オーディオ制御装置、ETC(Electronic Toll Collection System)(登録商標)制御装置および電話制御装置が接続されている。ナビゲーション制御装置、オーディオ制御装置、ETC制御装置および電話制御装置は、ナビゲーション装置、オーディオ装置、ETC装置および携帯電話をそれぞれ制御する。
 また、バス13には、制御装置122が接続される構成に限らず、制御装置122以外の装置、たとえばセンサが接続されてもよい。
 ゲートウェイ装置101は、たとえば、セントラルゲートウェイ(Central Gateway:CGW)であり、車載装置と通信を行うことが可能である。
 ゲートウェイ装置101は、たとえば、対象車両1において異なるバス13に接続された制御装置122間でやり取りされる情報、各車載通信機111間でやり取りされる情報、ならびに制御装置122および車載通信機111間でやり取りされる情報を中継する中継処理を行う。
 より詳細には、対象車両1では、たとえば、所定の取り決めに従って、ある車載装置から他の車載装置へ周期的にメッセージが送信される。この例では、ある制御装置122から他の制御装置122へ周期的に送信されるメッセージについて説明するが、制御装置122および車載通信機111間において送信されるメッセージ、ならびに各車載通信機111間において送信されるメッセージについても同様である。
 メッセージの送信は、ブロードキャストによって行われてもよいし、ユニキャストによって行われてもよい。以下、周期的に送信されるメッセージを周期メッセージとも称する。
 また、対象車両1では、周期メッセージの他に、ある制御装置122から他の制御装置122へ不定期に送信されるメッセージが存在する。メッセージには、メッセージの内容および送信元等を識別するためのIDが含まれる。メッセージが周期メッセージであるか否かをIDによって識別することが可能である。
 図3は、本発明の第1の実施の形態に係る車載通信システムにおけるゲートウェイ装置の構成を示す図である。
 図3を参照して、ゲートウェイ装置101は、通信処理部51と、記憶部52と、データ取得部53と、検知部54と、メッセージ取得部55とを備える。
 ゲートウェイ装置101は、検知装置として機能し、対象車両1に搭載される車載ネットワーク12における不正メッセージを検知する。
 詳細には、ゲートウェイ装置101における通信処理部51は、中継処理を行う。より詳細には、通信処理部51は、ある制御装置122から対応のバス13経由でメッセージを受信すると、受信したメッセージを他の制御装置122へ対応のバス13経由で送信する。
 メッセージ取得部55は、車載ネットワーク12における複数の送信メッセージを取得する。メッセージ取得部55は、たとえば、取得した複数の送信メッセージを記憶部52に保存する。
 より詳細には、記憶部52には、たとえば、メッセージ取得部55が監視対象とすべきデータの種類を含む検出条件情報が登録されている。検出条件情報の詳細については、後述する。
 メッセージ取得部55は、記憶部52に登録されている検出条件情報に基づいて、自己が監視対象とすべきデータの種類を認識する。
 メッセージ取得部55は、通信処理部51が中継するメッセージに含まれるデータを監視し、監視対象の種類のデータを含むメッセージを検出するごとに、以下の処理を行う。
 すなわち、メッセージ取得部55は、検出したメッセージを通信処理部51から取得し、取得したメッセージに、当該メッセージの受信時刻を示すタイムスタンプを付す。
 そして、メッセージ取得部55は、タイムスタンプを付したメッセージを記憶部52に保存する。
 図4は、本発明の第1の実施の形態に係るゲートウェイ装置が用いる通常モデルの作成過程を説明するための図である。なお、図4において、横軸はデータXを示し、縦軸はデータYを示す。
 図4を参照して、記憶部52は、予め作成された、複数の時刻たとえばデータの作成時刻にそれぞれ対応する複数の組に基づく検出条件を記憶する。ここで、組は、たとえば、メッセージ取得部55によって取得された送信メッセージに含まれる、同じ作成時刻に対応する2種類のデータの組である。
 具体的には、記憶部52は、たとえば、サーバによって予め作成された通常モデルM2を記憶する。通常モデルM2は、たとえば、所定の相関関係を有する2種類のデータの組に基づいて作成されている。
 より具体的には、サーバには、たとえば、互いに異なる種類の時系列の生データR1~生データRNがユーザによって登録される。ここで、Nは、2以上の整数である。この例では、生データR1~生データRNは、たとえば、対象車両1と同じ種類のテスト車両において開発時に取得されたデータである。
 サーバは、たとえば、時系列の生データR1~生データRNを、共通の複数の作成時刻におけるデータ1~データNに変換する。
 より詳細には、サーバは、たとえば、生データR1および生データR2の作成時刻が同期していない場合、生データR2をリサンプリングすることにより、生データR2の作成時刻を生データR1の作成時刻に同期させる。
 同様に、サーバは、たとえば、生データR1および生データR3の作成時刻が同期していない場合、生データR3をリサンプリングすることにより、生データR3の作成時刻を生データR1の作成時刻に同期させる。
 サーバは、生データR4~生データRNに対しても同様の処理を施すことにより、生データR4~生データRNの作成時刻を生データR1の作成時刻に同期させる。これにより、時系列の生データR1~生データRNが、共通の複数の作成時刻におけるデータ1~データNに変換される。
 サーバは、たとえば、共通の複数の作成時刻におけるデータ1~データNの中から、共通の複数の作成時刻におけるデータX,Yを選択する。ここで、X,Yは、互いに異なり、かつ1~Nのうちのいずれかの整数である。データX,Yの選択は、たとえば総当たりで行われる。
 図4には、共通の複数の作成時刻にそれぞれ対応する、データXおよびデータYの組が黒丸によって示される。
 サーバは、たとえば、選択したデータXおよびデータYの複数の組に基づいて相関係数を算出する。
 サーバは、たとえば、算出した相関係数が0.4以上かつ0.7以下である場合、データXおよびデータYに相関有りと判断する。また、サーバは、たとえば、算出した相関係数が0.7より大きい場合、データXおよびデータYに強い相関有りと判断する。
 サーバは、データXおよびデータYについて相関有り、または強い相関有りと判断した場合、データXおよびデータYに基づいて通常モデルM2を作成する。
 具体的には、サーバは、たとえば、マハラノビス、Oneclass-SVM(Support Vector Machine)、LOF(Local Outlier Factor)、Isolation forest、およびNN(Nearest-Neighbor)等のアルゴリズムに従って、機械学習により通常モデルM2を作成する。
 一方、サーバは、データXおよびデータYについて相関有りと判断せず、かつ強い相関有りと判断しなかった場合、通常モデルM2を作成しない。
 サーバは、たとえば、複数の通常モデルM2を作成し、作成した通常モデルM2ごとにモデル情報を作成する。ここで、モデル情報は、通常モデルM2、ならびに対応のデータXおよびデータYの種類の組み合わせを示す。
 データXおよびデータYの種類の組み合わせは、たとえば、エンジン回転数および速度、ヨーレートおよび舵角、ヨーレートおよび車高、ならびにアクセル開度および車体加速度等である。
 サーバによって作成された複数のモデル情報は、たとえば、検出条件情報としてまとめられた後、対象車両1の製造時において記憶部52に登録される。
 なお、検出条件情報は、更新されてもよい。具体的には、たとえば、通信処理部51は、サーバによってアップデートされた検出条件情報を車載通信機111経由でサーバから受信し、記憶部52に登録された検出条件情報を、受信した検出条件情報に更新する。
 また、サーバは、複数の通常モデルM2を作成する構成に限らず、1つの通常モデルM2を作成する構成であってもよい。
 再び図3を参照して、データ取得部53は、メッセージ取得部55によって取得された送信メッセージに含まれる、同じ時刻たとえば受信時刻に対応する2種類のデータの組を取得する。
 より詳細には、データ取得部53は、記憶部52が保存する検出条件情報に含まれる複数のモデル情報を記憶部52から取得する。
 [2種類のデータが同じ送信メッセージに含まれる場合]
 データ取得部53は、たとえば、記憶部52に保存された各送信メッセージから2種類のデータの組を取得する。
 より詳細には、データ取得部53は、たとえば、取得した複数のモデル情報に基づいて、同じ送信メッセージに含まれる2種類のデータの組を記憶部52から取得する。
 具体的には、たとえば、モデル情報の示す種類の組み合わせに合ったデータが同じメッセージに格納されて車載ネットワーク12において伝送される場合、データ取得部53は、記憶部52に保存された当該同じメッセージから当該2種類のデータを取得する。
 データ取得部53は、たとえば、当該2種類のデータを含むメッセージがメッセージ取得部55によって記憶部52に新たに保存されると、新たに保存されたメッセージから当該2種類のデータを取得し、取得した2種類のデータの組、およびモデル情報の示す種類の組み合わせを検知部54へ出力する。
 [2種類のデータが異なる送信メッセージにそれぞれ含まれる場合]
 図5は、本発明の第1の実施の形態に係るゲートウェイ装置において行われる同期処理のタイミングを説明するための図である。なお、図5において、横軸は時間を示す。
 図5を参照して、データ取得部53は、たとえば、取得した複数のモデル情報に基づいて、異なる送信メッセージにそれぞれ含まれる2種類のデータの組を記憶部52から取得する。
 具体的には、たとえば、モデル情報の示す種類の組み合わせに合ったデータが別個のメッセージに格納されて車載ネットワーク12において伝送される場合、データ取得部53は、以下の処理を行う。
 すなわち、データ取得部53は、たとえば、一方の種類のデータDJを含む複数のメッセージMJ、および他方の種類のデータDKを含む複数のメッセージMKを記憶部52から取得する。ここで、メッセージMJおよびメッセージMKは、たとえば車載ネットワーク12において同じ周期で伝送されるメッセージである。
 データ取得部53は、たとえば、一方の種類のデータDJを含む複数のメッセージMJに付されたタイムスタンプに基づいて、一方の種類のデータDJに受信時刻を対応付ける。
 具体的には、データ取得部53は、データDJの一例であるデータDJ1,DJ2に、それぞれ受信時刻tj1,tj2を対応付ける。
 同様に、データ取得部53は、たとえば、他方の種類のデータDKを含む複数のメッセージMKに付されたタイムスタンプに基づいて、他方の種類のデータDKに受信時刻を対応付ける。
 具体的には、データ取得部53は、データDKの一例であるデータDK1,DK2に、それぞれ受信時刻tk1,tk2を対応付ける。
 データ取得部53は、たとえば、一方の種類のデータDJに対応付けた受信時刻、および他方の種類のデータDKに対応付けた受信時刻に基づいて他方の種類のデータDKをリサンプリングすることにより、一方の種類のデータDJの受信時刻と他方の種類のデータDKの受信時刻とを同期させる同期処理を行う。
 データ取得部53は、たとえば、一方の種類のデータDJを含むメッセージMJがメッセージ取得部55によって記憶部52に新たに保存されると、同期処理を行う。
 具体的には、データ取得部53は、たとえば、受信時刻tj2に対応するメッセージMJがメッセージ取得部55によって記憶部52に新たに保存されると、データDK1,DK2等を含むデータDKをリサンプリングすることにより、受信時刻tj1,tj2にそれぞれ対応するリサンプルデータRDK1,RDK2を生成する。
 データ取得部53は、たとえば、同期処理が完了すると、同期させた2種類のデータから最新の2種類のデータの組を取得し、取得した2種類のデータの組、およびモデル情報の示す種類の組み合わせを検知部54へ出力する。
 具体的には、データ取得部53は、たとえば、データDJ2およびリサンプルデータRDK2の組、ならびにモデル情報の示す種類の組み合わせを検知部54へ出力する。
 なお、データ取得部53が同期処理を行うタイミングは、たとえば、他方の種類のデータDKを含むメッセージMKがメッセージ取得部55によって記憶部52に新たに保存されるタイミングであってもよい。
 具体的には、データ取得部53は、たとえば、受信時刻tk2に対応するメッセージMKがメッセージ取得部55によって記憶部52に新たに保存されると、データDK1,DK2等を含むデータDKをリサンプリングすることにより、受信時刻tj1に対応するリサンプルデータRDK1を生成する。
 そして、データ取得部53は、たとえば、データDJ1およびリサンプルデータRDK1の組、ならびにモデル情報の示す種類の組み合わせを検知部54へ出力する。
 また、データ取得部53が同期処理を行うタイミングは、たとえば、一方の種類のデータを含むメッセージおよび他方の種類のデータを含むメッセージの両方がメッセージ取得部55によって記憶部52に新たに保存されるタイミングであってもよい。
 図6は、本発明の第1の実施の形態に係るゲートウェイ装置において行われる同期処理のタイミングを説明するための図である。なお、図6において、横軸は時間を示す。
 図6を参照して、一方の種類のデータDPを含むメッセージMP、および他方の種類のデータDQを含むメッセージMQは、たとえば車載ネットワーク12において異なる周期で伝送されるメッセージである。
 データ取得部53は、データDPの一例であるデータDP1,DP2に、それぞれ受信時刻tp1,tp2を対応付ける。
 また、データ取得部53は、データDQの一例であるデータDQ1,DQ2,DQ3,DQ4に、それぞれ受信時刻tq1,tq2,tq3,tq4を対応付ける。
 データ取得部53は、たとえば、メッセージMP,MQの両方がメッセージ取得部55によって記憶部52に新たに保存されると、同期処理を行う。
 具体的には、データ取得部53は、たとえば、受信時刻tp1において、メッセージMP,MQの両方がメッセージ取得部55によって記憶部52に新たに保存されたと判断し、同期処理を行う。
 同様に、データ取得部53は、たとえば、受信時刻tp2において、メッセージMP,MQの両方がメッセージ取得部55によって記憶部52に新たに保存されたと判断し、同期処理を行う。
 データ取得部53は、たとえば、受信時刻tp2における同期処理では、データDQ1~DQ4等を含むデータDQをリサンプリングすることにより、受信時刻tp1,tp2にそれぞれ対応するリサンプルデータRDQ1,RDQ2を生成する。
 データ取得部53は、たとえば、データDP2およびリサンプルデータRDQ2の組、ならびにモデル情報の示す種類の組み合わせを検知部54へ出力する。
 なお、データ取得部53は、受信時刻tp2における同期処理では、データDP1,DP2等を含むデータDPをリサンプリングすることにより、受信時刻tq1~tq4にそれぞれ対応する、図示しないリサンプルデータRDP1~RDP4を生成してもよい。
 この場合、データ取得部53は、リサンプルデータRDP4およびデータDQ4の組、ならびにモデル情報の示す種類の組み合わせを検知部54へ出力する。
 この際、データ取得部53は、リサンプルデータRDP2およびデータDQ2の組、ならびにリサンプルデータRDP3およびデータDQ3の組も合わせて検知部54へ出力してもよい。これにより、不正メッセージの検知に用いるデータ数を増やすことができる。
 図7は、本発明の第1の実施の形態に係るゲートウェイ装置における検知部が行う不正メッセージの検知を説明するための図である。なお、図7の見方は、図4と同様である。
 図7を参照して、検知部54は、データ取得部53によって取得された組、および検出条件に基づいて、データ取得部53によって取得された組に対応する不正メッセージを検知する。
 より詳細には、検知部54は、データ取得部53から2種類のデータの組、およびモデル情報の示す種類の組み合わせを受けると、記憶部52における検出条件情報に含まれる複数のモデル情報を参照し、受けた組み合わせに対応する通常モデルM2を記憶部52における対応のモデル情報から取得する。
 検知部54は、データ取得部53から受けた2種類のデータの組、および対応のモデル情報から取得した通常モデルM2に基づいて、当該組に対応する不正メッセージを検知する。
 具体的には、検知部54は、たとえば、2種類のデータの組に基づく位置が位置Pnである場合、位置Pnが通常モデルM2の境界B2の内側に位置するので、当該2種類のデータを含む1つまたは2つのメッセージは正当メッセージであると判断する。
 一方、検知部54は、たとえば、データ取得部53から受けた2種類のデータの組に基づく位置が位置Paである場合、位置Paが通常モデルM2の境界B2の外側に位置するので、当該2種類のデータを含む1つまたは2つのメッセージは不正メッセージであると判断する。
 ここで、通常モデルM2は、作成時刻の同じ2種類のデータの複数の組に基づいて作成されている一方、位置Pn,Paは、受信時刻の同じ2種類のデータの組に基づいている。
 車載ネットワーク12ではメッセージの伝送が高速に行われるので、データの作成時刻およびデータの受信時刻が略同じであるとみなすことができる。これにより、通常モデルM2、および2種類のデータの組に基づく位置に基づいて不正メッセージの検知を行うことができる。なお、データの送信時刻も、データの作成時刻およびデータの受信時刻と略同じであるとみなすことができる。
 検知部54は、不正メッセージを確認した場合、たとえば、以下の処理を行う。すなわち、検知部54は、不正であると判断した1つまたは2つのメッセージのID、および対応の種類の組み合わせ等を記憶部52に記録する。
 また、検知部54は、バス13において不正メッセージが伝送されていることを対象車両1内または対象車両1外における上位装置へ通信処理部51経由で通知する。
 [効果]
 図8および図9は、本発明の第1の実施の形態に係る車載通信システムの効果を説明するための図である。なお、図8および図9の見方は、図4と同様である。
 図8に示す通常モデルM2は、図7に示す通常モデルM2と同様である。図9に示す通常モデルMR2は、たとえば、相関関係のないデータXおよびデータYを用いて、通常モデルM2の作成手順と同様の作成手順に従って作成されたモデルである。
 位置Paは、通常モデルM2を用いる場合、異常と判断されるのに対して、通常モデルMR2を用いる場合、位置Paが通常モデルMR2の境界BR2の内側に位置するので、正常と判断される。
 これは、位置PaのデータXの成分に対するデータYの許容範囲が、図8における許容範囲R1より図9における許容範囲R2の方が大きいためである。
 したがって、通常モデルM2を用いてデータフィールドの監視を行う場合、攻撃者が対象車両1を不正制御するためのデータYをメッセージに挿入したとしても、データXとの相関関係によってデータYの許容範囲がより狭くなるため、攻撃を正しく検知することが可能となる。
 また、攻撃者が対象車両1を不正制御するためのデータXをメッセージに挿入した場合も、データYとの相関関係によってデータXの許容範囲がより狭くなるため、攻撃を同様に正しく検知することが可能となる。
 [通常モデルの変形例1]
 再び図3を参照して、通常モデルは、所定の相関関係を有する2種類のデータの組に基づいて作成される構成であるとしたが、これに限定するものではなく、所定の相関関係を有するたとえば3種類のデータの組に基づいて作成される構成であってもよい。
 具体的には、通常モデルM3は、たとえば、所定の相関関係を有する3種類のデータの組に基づいて作成されている。
 より詳細には、たとえば、ある種類のデータと相関関係を有するデータである相関データが2種類ある場合、当該ある種類のデータと当該2種類の相関データとに基づいて1つの通常モデルM3が作成されている。
 より具体的には、サーバは、たとえば、共通の複数の作成時刻におけるデータ1~データNにおいて、データSおよびデータTに相関有りまたは強い相関有りと判断し、かつデータSおよびデータUに相関有りまたは強い相関有りと判断した場合、以下の処理を行う。
 すなわち、サーバは、データTおよびデータU間の相関係数の大小に関わらず、データS,T,Uに基づいて通常モデルM3を作成する。ここで、S,T,Uは、互いに異なり、かつ1~Nのうちのいずれかの整数である。
 サーバは、たとえば、複数の通常モデルM3を作成し、作成した通常モデルM3ごとにモデル情報を作成する。モデル情報は、通常モデルM3、ならびに対応のデータS、データTおよびデータUの種類の組み合わせを示す。
 データSおよびデータTの種類の組み合わせ、ならびにデータSおよびデータUの種類の組み合わせは、たとえば、ヨーレートおよび舵角、ならびにヨーレートおよび車高である。
 サーバによって作成された複数のモデル情報は、たとえば、検出条件情報としてまとめられた後、対象車両1の製造時において記憶部52に登録される。
 なお、検出条件情報には、通常モデルM3に基づくモデル情報だけが含まれる構成であってもよいし、通常モデルM3に基づくモデル情報、および通常モデルM2に基づくモデル情報が含まれる構成であってもよい。
 データ取得部53は、記憶部52から検出条件情報を取得し、取得した検出条件情報に含まれる複数のモデル情報を取得する。
 データ取得部53は、モデル情報の示す組み合わせに合ったデータを含むメッセージがメッセージ取得部55によって記憶部52に新たに保存されると、以下の処理を行う。
 すなわち、データ取得部53は、モデル情報に基づいて、同じ送信メッセージに含まれる3種類のデータの組を記憶部52から取得し、取得した3種類のデータの組、およびモデル情報の示す種類の組み合わせを検知部54へ出力する。
 また、データ取得部53は、たとえば、モデル情報の示す組み合わせに合ったデータをそれぞれ含む複数のメッセージのいずれか1つがメッセージ取得部55によって記憶部52に新たに保存されると、以下の処理を行う。
 すなわち、データ取得部53は、モデル情報に基づいて、異なる送信メッセージにそれぞれ含まれる3種類のデータの組を記憶部52から取得し、取得した3種類のデータに対して同期処理を行う。
 データ取得部53は、同期処理が完了すると、同期させた3種類のデータから最新の3種類のデータの組を取得し、取得した3種類のデータの組、およびモデル情報の示す種類の組み合わせを検知部54へ出力する。
 検知部54は、データ取得部53から3種類のデータの組、およびモデル情報の示す種類の組み合わせを受けると、記憶部52における検出条件情報に含まれる複数のモデル情報を参照し、受けた組み合わせに対応する通常モデルM3を記憶部52における対応のモデル情報から取得する。
 検知部54は、データ取得部53から受けた3種類のデータの組、および対応のモデル情報から取得した通常モデルM3に基づいて、当該組に対応する不正メッセージを検知する。
 具体的には、通常モデルM3は3次元であるので、検知部54は、データ取得部53から受けた3種類のデータの組に基づく3次元空間での位置が、通常モデルM3の境界面の内部に存在する場合、当該3種類のデータを含む1つ、2つまたは3つのメッセージは正当メッセージであると判断する。
 一方、検知部54は、データ取得部53から受けた3種類のデータの組に基づく3次元空間での位置が、通常モデルM3の境界面の外部に存在する場合、当該3種類のデータを含む1つ、2つまたは3つのメッセージは不正メッセージであると判断する。
 通常モデルM3を用いる構成により、不正メッセージをより精度よく検知することができる。
 [通常モデルの変形例2]
 図10は、本発明の第1の実施の形態に係る通常モデルの変形例についての学習フェーズにおける作成処理を説明するための図である。
 図10を参照して、通常モデルの変形例2では、検知部54は、監視対象のセンサデータの推定値を用いて車載ネットワーク12における不正メッセージを検知する。
 この例では、監視対象センサデータとたとえばq種類のデータを含む相関データ群とに基づいて1つの通常モデルM4が作成されている。
 監視対象センサデータは、センサによって計測されたデータ(以下、センサデータとも称する。)であり、具体的には、車速、エンジン回転数およびヨーレート等の連続して変化するデータである。
 相関データ群に含まれるq種類のデータは、センサデータであってもよいし、予め定義された状態を表すデータであるステータスデータであってもよい。ここで、ステータスデータは、具体的には、たとえば対象車両1におけるギアおよびシートベルト等の操作部の状態を表す。
 監視対象センサデータと相関データ群に含まれるq種類のデータの各々とは、相関関係を有する。また、相関データ群に含まれるq種類のデータ間には、相関関係があってもよいし、なくてもよい。
 サーバは、たとえば、学習データセットに基づいて、LASSO(Least Absolute Shrinkage and Selection Operator)および回帰木等を用いて、通常モデルM4を学習させる。
 ここで、学習データセットは、複数の同じ時刻、具体的にはtm1,tm2,tm3,tm4,tm5等にそれぞれ対応する監視対象センサデータおよび相関データ群を含む。
 より詳細には、サーバは、たとえば、同じ時刻に対応する相関データ群を通常モデルM4に入力したときに、対応の監視対象センサデータの値に近い推定値が出力されるように通常モデルM4を作成する。
 図11は、本発明の第1の実施の形態に係る通常モデルの変形例についてのテストフェーズにおける検証処理を説明するための図である。
 図11を参照して、通常モデルM4は、学習データセットと同様の、テストデータセットを用いて検証される。
 詳細には、サーバは、通常モデルM4を用いて推定誤差の分布を作成する。より詳細には、サーバは、テストデータセットの一部である時刻tt1における相関データ群を通常モデルM4に入力することにより、通常モデルM4から出力される推定値を取得する。
 そして、サーバは、たとえば、以下の式(1)を用いて推定誤差yerrを算出する。
Figure JPOXMLDOC01-appb-M000001
 ここで、yobsは、対応の監視対象センサデータの値、すなわち時刻tt1における監視対象センサデータの値である。また、ycalcは、通常モデルM4から出力された推定値である。
 サーバは、テストデータセットにおける、時刻tt1と異なる時刻における相関データ群および監視対象センサデータも同様に処理することにより、各時刻における推定誤差yerrを含む検証データを作成する。
 サーバは、検証データに基づいて、推定誤差yerrの分布を作成する。この分布は、推定誤差yerrの頻度を表す。この例では、当該分布は、単峰である。
 サーバは、作成した分布が単峰である場合、検証データに含まる各推定誤差yerrの平均値μおよび分散σ^2を算出する。ここで、「a^b」は、aのb乗を意味する。
 サーバは、たとえば、通常モデルM4、平均値μおよび分散σ^2、ならびに監視対象センサデータおよび相関データ群におけるq種類のデータの種類の組み合わせを示すモデル情報Md1を作成する。
 サーバによって作成されたモデル情報Md1は、たとえば、対象車両1の製造時において検出条件情報として記憶部52に登録される。
 再び図3を参照して、データ取得部53は、記憶部52から検出条件情報を取得し、取得した検出条件情報に含まれるモデル情報Md1を取得する。
 データ取得部53は、モデル情報Md1の示す組み合わせに合ったデータを含むメッセージがメッセージ取得部55によって記憶部52に新たに保存されると、以下の処理を行う。
 すなわち、データ取得部53は、モデル情報Md1に基づいて、同じ送信メッセージに含まれる監視対象センサデータおよび相関データ群の組を記憶部52から取得し、取得した組、およびモデル情報Md1の示す種類の組み合わせを検知部54へ出力する。
 また、データ取得部53は、たとえば、モデル情報Md1の示す組み合わせに合ったデータをそれぞれ含む複数のメッセージのいずれか1つがメッセージ取得部55によって記憶部52に新たに保存されると、以下の処理を行う。
 すなわち、データ取得部53は、モデル情報Md1に基づいて、異なる送信メッセージにそれぞれ含まれる監視対象センサデータおよび相関データ群の組を記憶部52から取得し、取得した監視対象センサデータおよび相関データ群に対して同期処理を行う。
 データ取得部53は、同期処理が完了すると、同期させた監視対象センサデータおよび相関データ群から最新の監視対象センサデータおよび相関データ群の組を取得し、取得した組、ならびに、モデル情報Md1の示す種類の組み合わせを検知部54へ出力する。
 図12は、本発明の第1の実施の形態に係る通常モデルの変形例を用いた不正メッセージの検知処理を説明するための図である。
 図12を参照して、検知部54は、たとえば、データ取得部53から時刻td1における監視対象センサデータおよび相関データ群の組、ならびに、モデル情報Md1の示す種類の組み合わせを受けると、記憶部52における検出条件情報に含まれる複数のモデル情報を参照し、受けた組み合わせに対応するモデル情報Md1を記憶部52から取得する。
 検知部54は、たとえば、データ取得部53によって取得された監視対象センサデータおよび相関データ群の組、ならびにモデル情報Md1に含まれる通常モデルM4に基づいて、監視対象センサデータの推定誤差を算出する。
 より詳細には、検知部54は、データ取得部53から受けた相関データ群を、モデル情報Md1に含まれる通常モデルM4に入力することにより、通常モデルM4から出力される推定値を取得する。
 そして、検知部54は、取得した推定値および時刻td1における監視対象センサデータの値を、それぞれycalcおよびyobsとして上述の式(1)に代入することにより推定誤差yerrを算出する。
 検知部54は、たとえば、算出した推定誤差yerr、および通常モデルM4を用いて作成された推定誤差yerrの分布に基づいて、監視対象センサデータの正当性を評価し、評価結果に基づいて、監視対象センサデータが不正メッセージであるか否かを判断する。
 より詳細には、検知部54は、たとえば、算出した推定誤差yerr、ならびにモデル情報Md1に含まれる平均値μおよび分散σ^2を以下の式(2)に代入することによりスコアSを算出する。このスコアSは、マハラノビス距離に相当し、監視対象センサデータの正当性の評価値である。
Figure JPOXMLDOC01-appb-M000002
 検知部54は、たとえば、算出したスコアSが所定のしきい値Th1以上である場合、監視対象センサデータは不正メッセージであると判断する。
 一方、検知部54は、たとえば、算出したスコアSが所定のしきい値Th1より小さい場合、監視対象センサデータは正当メッセージであると判断する。
 なお、サーバが作成する推定誤差yerrの分布が単峰であるとしたが、これに限定するものではない。サーバが作成する推定誤差yerrの分布は、多峰であってもよい。
 この場合、サーバは、推定誤差yerrの分布を、たとえば、K個のガウス分布を重ね合わせた混合ガウス分布によって近似し、各ガウス分布の平均値μ1~μKおよび分散σ1^2~σK^2、ならびに各ガウス分布の混合比C1~CKを算出する。
 サーバは、たとえば、通常モデルM4、平均値μ1~μK、分散σ1^2~σK^2および混合比C1~CK、ならびに監視対象センサデータおよび相関データ群におけるq種類のデータの種類の組み合わせを示すモデル情報Md1を作成する。
 この場合、検知部54は、算出した推定誤差yerr、ならびにモデル情報Md1に含まれる平均値μ1~μK、分散σ1^2~σK^2および混合比C1~CKを以下の式(3)に代入することによりスコアSを算出する。
Figure JPOXMLDOC01-appb-M000003
 ここで、式(3)におけるBは、以下の式(4)により表される。
Figure JPOXMLDOC01-appb-M000004
 [通常モデルの変形例3]
 図13は、本発明の第1の実施の形態に係る通常モデルの変形例についての学習フェーズにおける作成処理を説明するための図である。
 図13を参照して、通常モデルの変形例3では、検知部54は、監視対象のステータスデータの推定値を用いて車載ネットワーク12における不正メッセージを検知する。
 この例では、監視対象ステータスデータとたとえばq種類のデータを含む相関データ群とに基づいて1つの通常モデルM5が作成されている。
 監視対象ステータスデータは、ステータスデータであり、具体的には、ギアのシフトポジションおよびシートベルトの状態等の不連続に変化するデータである。
 相関データ群に含まれるq種類のデータは、センサデータであってもよいし、ステータスデータであってもよい。
 監視対象ステータスデータと相関データ群に含まれるq種類のデータの各々とは、相関関係を有する。また、相関データ群に含まれるq種類のデータ間には、相関関係があってもよいし、なくてもよい。
 サーバは、たとえば、学習データセットに基づいて、決定木およびRandom Forest等を用いて、通常モデルM5を学習させる。
 ここで、学習データセットは、複数の同じ時刻、具体的にはtm1,tm2,tm3,tm4,tm5等にそれぞれ対応する監視対象ステータスデータおよび相関データ群を含む。
 より詳細には、サーバは、たとえば、同じ時刻に対応する相関データ群を通常モデルM5に入力したときに、対応の監視対象ステータスデータの値と一致する推定値が出力されるように通常モデルM5を作成する。
 サーバは、たとえば、通常モデルM5、ならびに監視対象ステータスデータおよび相関データ群におけるq種類のデータの種類の組み合わせを示すモデル情報Md2を作成する。
 サーバによって作成されたモデル情報Md2は、たとえば、対象車両1の製造時において検出条件情報として記憶部52に登録される。
 再び図3を参照して、データ取得部53は、記憶部52から検出条件情報を取得し、取得した検出条件情報に含まれるモデル情報Md2を取得する。
 データ取得部53は、モデル情報Md2の示す組み合わせに合ったデータを含むメッセージがメッセージ取得部55によって記憶部52に新たに保存されると、以下の処理を行う。
 すなわち、データ取得部53は、モデル情報Md2に基づいて、同じ送信メッセージに含まれる監視対象ステータスデータおよび相関データ群の組を記憶部52から取得し、取得した組、およびモデル情報Md2の示す種類の組み合わせを検知部54へ出力する。
 また、データ取得部53は、たとえば、モデル情報Md2の示す組み合わせに合ったデータをそれぞれ含む複数のメッセージのいずれか1つがメッセージ取得部55によって記憶部52に新たに保存されると、以下の処理を行う。
 すなわち、データ取得部53は、モデル情報Md2に基づいて、異なる送信メッセージにそれぞれ含まれる監視対象ステータスデータおよび相関データ群の組を記憶部52から取得し、取得した監視対象ステータスデータおよび相関データ群に対して同期処理を行う。
 データ取得部53は、同期処理が完了すると、同期させた監視対象ステータスデータおよび相関データ群から最新の監視対象ステータスデータおよび相関データ群の組を取得し、取得した組、およびモデル情報Md2の示す種類の組み合わせを検知部54へ出力する。
 図14は、本発明の第1の実施の形態に係る通常モデルの変形例を用いた不正メッセージの検知処理を説明するための図である。
 図14を参照して、検知部54は、たとえば、データ取得部53から時刻td1における監視対象ステータスデータおよび相関データ群の組、ならびに、モデル情報Md2の示す種類の組み合わせを受けると、記憶部52における検出条件情報に含まれる複数のモデル情報を参照し、受けた組み合わせに対応するモデル情報Md2を記憶部52から取得する。
 検知部54は、たとえば、データ取得部53によって取得された相関データ群、およびモデル情報Md2に含まれる通常モデルM5に基づいて、監視対象ステータスデータの値を推定する。
 より詳細には、検知部54は、データ取得部53から受けた相関データ群を、モデル情報Md2に含まれる通常モデルM5に入力することにより、通常モデルM5から出力される監視対象ステータスデータの推定値を取得する。
 そして、検知部54は、取得した推定値と監視対象ステータスデータとの比較結果に基づいて、監視対象ステータスデータが不正メッセージであるか否かを判断する。
 より詳細には、検知部54は、たとえば、取得した推定値と時刻td1における監視対象ステータスデータの値とを比較し、これらの値が一致しない場合、監視対象ステータスデータは不正メッセージであると判断する。
 一方、検知部54は、たとえば、取得した推定値と時刻td1における監視対象ステータスデータの値とが一致する場合、監視対象ステータスデータは正当メッセージであると判断する。
 [通常モデルの変形例4]
 ゲートウェイ装置101は、データS,T,Uに基づく通常モデルM3を用いる構成であるとしたが、これに限定するものではない。
 たとえば、ある種類のデータと相関関係を有するデータである相関データが2種類ある場合、ある種類のデータと当該2種類の相関データとに基づいて2つの検出条件がそれぞれ作成されている。
 具体的には、サーバは、共通の複数の作成時刻におけるデータ1~データNにおいて、データSおよびデータTに相関有りまたは強い相関有りと判断し、かつデータSおよびデータUに相関有りまたは強い相関有りと判断した場合、以下の処理を行う。
 すなわち、サーバは、データTおよびデータU間の相関係数の大小に関わらず、データS,Tに基づいて通常モデルM2を作成するとともに、データS,Uに基づいて通常モデルM2を作成する。
 このような構成により、データS,T,Uに基づいて通常モデルM3を作成する構成とくらべて、通常モデルの作成における計算負荷を軽減することができる。
 [通常モデルの変形例5]
 ゲートウェイ装置101は、データS,T,Uに基づく、1つの通常モデルM3または2つの通常モデルM2を用いる構成であるとしたが、これに限定するものではない。
 より詳細には、たとえば、多次元のデータの組は、特許文献2(特開2016-57438号公報)に記載の主成分分析を用いて、より低次元のデータの組に変換することが可能である。
 具体的には、サーバは、たとえば、3種類のデータの組を、主成分分析を用いて2種類のデータの組に変換し、変換後の組に基づいて通常モデルM2を作成する。
 ゲートウェイ装置101における記憶部52には、3種類のデータの組を2種類のデータの組に変換するための固有ベクトル、サーバによって作成された通常モデルM2、ならびに対応のデータS、データTおよびデータUの種類の組み合わせを示すモデル情報が登録される。
 検知部54は、データ取得部53から3種類のデータの組、およびモデル情報の示す種類の組み合わせを受けると、記憶部52におけるモデル情報を参照し、受けた組み合わせに対応する通常モデルM2および固有ベクトルを記憶部52における対応のモデル情報から取得する。
 検知部54は、取得した固有ベクトルを用いて、データ取得部53から受けた3種類のデータの組を2種類のデータの組に変換し、変換後の組および通常モデルM2に基づいて、当該3種類のデータを含む1つ、2つまたは3つのメッセージが不正メッセージであるか否かを判断する。
 [動作の流れ]
 車載通信システム301における各装置は、コンピュータを備え、当該コンピュータにおけるCPU等の演算処理部は、以下のシーケンス図またはフローチャートの各ステップの一部または全部を含むプログラムを図示しないメモリからそれぞれ読み出して実行する。これら複数の装置のプログラムは、それぞれ、外部からインストールすることができる。これら複数の装置のプログラムは、それぞれ、記録媒体に格納された状態で流通する。
 図15は、本発明の第1の実施の形態に係るゲートウェイ装置がメッセージを受信する際の動作手順を定めたフローチャートである。
 図15を参照して、モデル情報が、通常モデルM2、ならびに対応のデータXおよびデータYの種類の組み合わせを示す状況を想定する。
 まず、ゲートウェイ装置101は、たとえば制御装置122からメッセージを受信するまで待機する(ステップS102でNO)。
 そして、ゲートウェイ装置101は、制御装置122からメッセージを受信すると(ステップS102でYES)、受信したメッセージに監視対象の種類のデータが含まれるか否かを確認する(ステップS104)。
 次に、ゲートウェイ装置101は、受信したメッセージに監視対象の種類のデータが含まれる場合(ステップS104でYES)、受信したメッセージを記憶部52に保存する(ステップS106)。この際、ゲートウェイ装置101は、メッセージにタイムスタンプを付す。
 次に、ゲートウェイ装置101は、受信したメッセージを記憶部52に保存するか(ステップS106)、または受信したメッセージに監視対象の種類のデータが含まれない場合(ステップS104でNO)、受信したメッセージの中継処理を行った後、制御装置122から新たなメッセージを受信するまで待機する(ステップS102でNO)。
 図16は、本発明の第1の実施の形態に係るゲートウェイ装置が、受信したメッセージを記憶部に保存した際の動作手順を定めたフローチャートである。
 図16を参照して、モデル情報が、通常モデルM2、ならびに対応のデータXおよびデータYの種類の組み合わせを示す状況を想定する。
 まず、ゲートウェイ装置101は、メッセージが記憶部52に保存されるまで待機する(ステップS202でNO)。
 そして、ゲートウェイ装置101は、メッセージが記憶部52に保存されると(ステップS202でYES)、モデル情報の示す2種類の組み合わせに合ったデータが当該メッセージすなわち同じメッセージに格納されているか否かを確認する(ステップS204)。
 次に、ゲートウェイ装置101は、モデル情報の示す2種類の組み合わせに合ったデータが同じメッセージに含まれない場合、すなわち別個のメッセージに分かれて含まれる場合(ステップS204でNO)、モデル情報の示す2種類のデータに対して同期処理を行う(ステップS206)。
 次に、ゲートウェイ装置101は、当該メッセージからモデル情報の示す2種類のデータの組を取得するか、または同期処理を行った2種類のデータからモデル情報の示す2種類のデータの最新の組を取得する(ステップS208)。
 次に、ゲートウェイ装置101は、取得した2種類のデータの組に対応する通常モデルM2を記憶部52から取得する(ステップS210)。
 次に、ゲートウェイ装置101は、取得した2種類のデータの組に基づく位置が、通常モデルM2の境界B2の内側に位置するか否かを確認する(ステップS212)。
 ゲートウェイ装置101は、取得した2種類のデータの組に基づく位置が境界B2の内側に位置する場合(ステップS212でYES)、当該2種類のデータを含む1つまたは2つのメッセージは正当メッセージであると判断する(ステップS214)。
 一方、ゲートウェイ装置101は、取得した2種類のデータの組に基づく位置が境界B2の外側に位置する場合(ステップS212でNO)、当該2種類のデータを含む1つまたは2つのメッセージは不正メッセージであると判断する(ステップS216)。
 次に、ゲートウェイ装置101は、新たなメッセージが記憶部52に保存されるまで待機する(ステップS202でNO)。
 なお、上記動作の流れでは、モデル情報が、通常モデルM2、ならびに対応のデータXおよびデータYの種類の組み合わせを示す状況を想定したが、これに限定するものではない。モデル情報が、たとえば、通常モデルM3、ならびに対応のデータS、データTおよびデータUの種類の組み合わせを示してもよい。この場合、ゲートウェイ装置101は、上記ステップS208において、3種類のデータの組を取得し、上記ステップS210において、対応の通常モデルM3を記憶部52から取得する。
 また、本発明の第1の実施の形態に係るゲートウェイ装置では、メッセージ取得部55は、車載ネットワーク12における複数の送信メッセージを取得する構成であるとしたが、これに限定するものではない。メッセージ取得部55は、車載ネットワーク12における1つの送信メッセージを取得する構成であってもよい。たとえば、モデル情報の示す2種類の組み合わせに合ったデータが当該1つの送信メッセージに含まれる場合、送信メッセージが不正メッセージであるか否かを判断することが可能である。
 また、本発明の第1の実施の形態に係る車載通信システムでは、ゲートウェイ装置101が、車載ネットワーク12における不正メッセージを検知する構成であるとしたが、これに限定するものではない。車載通信システム301において、ゲートウェイ装置101とは別の検知装置が、車載ネットワーク12における不正メッセージを検知する構成であってもよい。
 また、本発明の第1の実施の形態に係るゲートウェイ装置では、データ取得部53は、同じ受信時刻に対応する2種類のデータの組および3種類のデータの組を取得する構成であるとしたが、これに限定するものではない。データ取得部53は、同じ受信時刻に対応するM種類のデータの組を取得する構成であってもよい。ここで、Mは4以上の整数である。この場合、通常モデルは、M種類のデータに基づいて作成される。
 また、本発明の第1の実施の形態に係るゲートウェイ装置では、データ取得部53は、同じ受信時刻に対応する複数種類のデータの組を取得する構成であるとしたが、これに限定するものではない。データ取得部53は、受信時刻に限らず、同じ送信時刻または同じ作成時刻等に対応する複数種類のデータの組を取得する構成であってもよい。具体的には、たとえば、制御装置122がデータの作成時刻またはメッセージの送信時刻をメッセージに格納して送信する場合、データ取得部53は、同じ送信時刻または同じ作成時刻に対応する複数種類のデータの組を取得することが可能である。
 また、本発明の第1の実施の形態に係るゲートウェイ装置では、検知部54は、制御装置122間でやり取りされるメッセージを不正メッセージの検知対象とする構成であるとしたが、これに限定するものではない。検知部54は、制御装置122および車載通信機111間でやり取りされるメッセージ、ならびに車載通信機111間でやり取りされるメッセージを不正メッセージの検知対象とする構成であってもよい。
 また、本発明の第1の実施の形態に係るゲートウェイ装置では、通常モデルは、所定の相関関係を有する複数種類のデータの組に基づいて作成される構成であるとしたが、これに限定するものではない。通常モデルは、所定の相関関係を有さない複数種類のデータの組に基づいて作成される構成であってもよい。
 また、本発明の第1の実施の形態に係るゲートウェイ装置では、データ取得部53は、メッセージ取得部55によって記憶部52に保存された各送信メッセージから複数種類のデータを取得し、取得したデータをリサンプリングする構成であるとしたが、これに限定するものではない。たとえば、各送信メッセージの受信時刻が近い場合、データ取得部53は、メッセージ取得部55から各送信メッセージを直接受けて、受けた各送信メッセージから複数種類のデータを取得し、取得したデータをリサンプリングせずに検知に用いる構成であってもよい。
 ところで、特許文献1には、車載ネットワークに限定して接続される第1のECUおよび第2のECUがメッセージ認証に用いる第1の暗号鍵と、車載ネットワークおよび車外ネットワークの両方に接続される第3のECUが用いる第2の暗号鍵とが異なることにより、車外ネットワークに接続されない第1のECUおよび第2のECUに対する車外ネットワークからのサイバー攻撃を防ぐ構成が開示されている。
 しかしながら、メッセージ認証を用いるセキュリティ対策では、プロトコルの脆弱性を突いた攻撃、第1の暗号鍵の不正入手による攻撃、および暗号アルゴリズムの陳腐化を突いた攻撃等により、当該セキュリティ対策が無効化されることがある。
 このような攻撃を受けた場合において、攻撃者が車載ネットワークに侵入したことを正しく検知するための技術が求められる。
 これに対して、本発明の第1の実施の形態に係るゲートウェイ装置は、対象車両1に搭載される車載ネットワーク12における不正メッセージを検知する。メッセージ取得部55は、車載ネットワーク12における1または複数の送信メッセージを取得する。データ取得部53は、メッセージ取得部55によって取得された送信メッセージに含まれる、同じ時刻に対応する複数種類のデータの組を取得する。記憶部52は、予め作成された、複数の時刻にそれぞれ対応する複数の組に基づく検出条件を記憶する。そして、検知部54は、データ取得部53によって取得された組、および検出条件に基づいて不正メッセージを検知する。
 たとえば、複数種類のデータ間に何らかの関係がある場合、当該関係を用いて、あるデータから他のデータがとり得る値の範囲を算出することができる。上記のような構成により、たとえば、上記組におけるあるデータから当該組における他のデータがとり得る値の範囲を検出条件に基づいて算出することができるので、当該他のデータの正当性を正しく判断することができる。これにより、不正と判断したデータを含むメッセージを不正メッセージとして検知することができる。したがって、車載ネットワークにおける不正メッセージを正しく検知することができる。
 また、本発明の第1の実施の形態に係るゲートウェイ装置では、検出条件は、所定の相関関係を有する複数種類のデータの組に基づいて作成されている。
 このように、データ間においてある程度の関係が存在する複数種類のデータの組に基づいて検出条件が作成される構成により、組におけるあるデータから当該組における他のデータがとり得る値の範囲をより狭めることが可能な検出条件を作成することができる。これにより、当該他のデータの正当性をより正しく判断することができる。すなわち、適切な検出条件を作成することができる。
 また、本発明の第1の実施の形態に係るゲートウェイ装置では、ある種類のデータと相関関係を有するデータである相関データが複数種類ある場合、当該ある種類のデータと当該複数種類の相関データとに基づいて1つの検出条件が作成されている。
 このような構成により、たとえば、攻撃者が、ある種類のデータおよび複数種類の相関データのうちの一部のデータを改変した場合においても、改変したデータと残りのデータとの関係に基づいて、上記組のデータの異常を判断することができる。すなわち、攻撃者は、不正侵入するためには、ある種類のデータおよび複数種類の相関データの全部を改変しなければならないので、車載ネットワーク12に対する不正侵入を困難にすることができる。これにより、車載ネットワーク12におけるセキュリティを向上させることができる。
 また、本発明の第1の実施の形態に係るゲートウェイ装置では、検知部54は、データ取得部53によって取得されたある種類のデータおよび複数種類の相関データ、ならびに検出条件に基づいて、ある種類のデータの推定誤差を算出する。そして、検知部54は、算出した推定誤差、および検出条件を用いて作成された推定誤差の分布に基づいて、ある種類のデータの正当性を評価し、評価結果に基づいて、ある種類のデータが不正メッセージであるか否かを判断する。
 このような構成により、たとえば、ある種類のデータが、センサによって計測された値のように連続して変化する値である場合において、ある種類のデータが正しい値を有する可能性をより正しく評価することができるので、ある種類のデータの正当性をより正しく判断することができる。
 また、本発明の第1の実施の形態に係るゲートウェイ装置では、ある種類のデータは、状態を表すデータである。検知部54は、データ取得部53によって取得された複数種類の相関データ、および検出条件に基づいて、ある種類のデータの値を推定し、推定した値とある種類のデータとの比較結果に基づいて、ある種類のデータが不正メッセージであるか否かを判断する。
 このような構成により、たとえば、ある種類のデータが、ギアのシフトポジションまたはシートベルトの状態のように不連続に変化する値である場合において、ある種類のデータが示すべき値をより正しく推定することができるので、ある種類のデータの正当性をより正しく判断することができる。
 また、本発明の第1の実施の形態に係るゲートウェイ装置では、ある種類のデータと相関関係を有するデータである相関データが複数種類ある場合、当該ある種類のデータと当該複数種類の相関データとに基づいて複数の検出条件がそれぞれ作成されている。
 このような構成により、車載ネットワーク12に対する不正侵入を困難にするとともに、検出条件の算出における計算負荷を軽減することができる。
 また、本発明の第1の実施の形態に係るゲートウェイ装置では、データ取得部53は、異なる送信メッセージにそれぞれ含まれる複数種類のデータの組を取得する。
 受信時刻、送信時刻または作成時刻等が異なる複数種類のデータは、異なる送信メッセージにそれぞれ含まれることが多い。上記のような構成により、時刻によって検知対象のデータの種類が制限されることを防ぐことができる。
 また、本発明の第1の実施の形態に係るゲートウェイ装置では、メッセージ取得部55は、取得した複数の送信メッセージを記憶部52に保存する。そして、データ取得部53は、記憶部52に保存された各送信メッセージから上記組を取得する。
 このような構成により、たとえば、記憶部52に保存された複数の送信メッセージにおけるデータをリサンプリングすることができるので、複数種類のデータの時刻を合わせることができる。これにより、同じ時刻に対応する複数種類のデータの組を容易に取得することができる。
 次に、本発明の他の実施の形態について図面を用いて説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰り返さない。
 <第2の実施の形態>
 本実施の形態は、第1の実施の形態に係るゲートウェイ装置と比べて、通常モデルを更新するゲートウェイ装置に関する。以下で説明する内容以外は第1の実施の形態に係るゲートウェイ装置と同様である。
 [課題]
 図17は、本発明の第2の実施の形態に係るゲートウェイ装置における誤検知の一例を説明するための図である。なお、図17の見方は、図4と同様である。
 図17を参照して、通常モデルM2は、図4に示す、共通の複数の作成時刻におけるデータXおよびデータYの組(以下、母集団とも称する。)に基づくモデルである。この母集団は、対象車両1の開発時において、偏りがより小さくなるように取得されたデータとする。したがって、この母集団は、真の母集団に近い。
 たとえば、対象車両1の開発時に取得されたデータが偏っている場合、偏った母集団に基づく通常モデルME2が作成される。
 この通常モデルME2を用いて不正メッセージの検知を行う場合、位置Ps1,Ps2は通常モデルME2の境界BE2の外側に位置するので、位置Ps1のデータXまたはデータYを含むメッセージ、および位置Ps2のデータXまたはデータYを含むメッセージは不正メッセージであると判断される。
 しかしながら、位置Ps1は、より正しい通常モデルM2の境界B2の内側に位置しているので、通常モデルME2を用いた場合において、位置Ps1のデータXまたはデータYを含むメッセージを不正メッセージであると判断することは誤検知である。
 予め作成された通常モデルME2の母集団が偏っている場合においても、より正しい通常モデルを利用可能にするための技術が求められる。
 [構成および基本動作]
 図18は、本発明の第2の実施の形態に係る車載通信システムにおけるゲートウェイ装置の構成を示す図である。
 図18を参照して、ゲートウェイ装置(検知装置)102は、通信処理部51と、記憶部52と、データ取得部53と、検知部54と、メッセージ取得部55と、更新部56とを備える。
 ゲートウェイ装置102における通信処理部51、記憶部52、データ取得部53、検知部54およびメッセージ取得部55の動作は、図3に示すゲートウェイ装置101における通信処理部51、記憶部52、データ取得部53、検知部54およびメッセージ取得部55とそれぞれ同様である。
 図19は、本発明の第2の実施の形態に係るゲートウェイ装置における更新部が行う通常モデルの更新を説明するための図である。なお、図19の見方は、図4と同様である。
 図18および図19を参照して、通常モデルME2、ならびに対応のデータXおよびデータYの種類の組み合わせを示すモデル情報を含む検出条件情報が記憶部52に登録されている状況を想定する。
 データ取得部53は、記憶部52から検出条件情報を取得し、取得した検出条件情報に含まれる複数のモデル情報を取得する。
 データ取得部53は、たとえば、取得したモデル情報に基づいて2種類のデータの組を記憶部52から取得する。
 ここでは、データXおよびデータYの組が同じ送信メッセージに含まれる状況を想定する。データ取得部53は、たとえば、上記送信メッセージがメッセージ取得部55によって記憶部52に新たに保存されると、モデル情報の示す組み合わせに基づいて、データXおよびデータYの組を上記送信メッセージから取得する。
 データ取得部53は、取得したデータXおよびデータYの組、およびモデル情報の示す種類の組み合わせを検知部54および更新部56へ出力する。
 更新部56は、たとえば、データ取得部53によって取得された組に基づいて検出条件を更新する。
 より詳細には、たとえば、ゲートウェイ装置102では、通常モデルを更新すべき更新期間がユーザによって定められており、更新部56は、更新期間において通常モデルを更新する。
 具体的には、更新部56は、データ取得部53からデータXおよびデータYの組、ならびに、モデル情報の示す種類の組み合わせを受けると、記憶部52における検出条件情報に含まれる複数のモデル情報を参照し、受けた組み合わせに対応する通常モデルME2を記憶部52における対応のモデル情報から取得する。
 そして、更新部56は、更新期間である場合、所定のアルゴリズムに従って、取得した通常モデルME2に基づいて、許容範囲を示す境界AE2を設定する。境界AE2は、通常モデルME2の境界BE2の外側に位置する。
 更新部56は、データXおよびデータYの組に基づく位置が、位置Ps2のように境界AE2の外側に存在する場合、通常モデルME2を更新しない。
 一方、更新部56は、データXおよびデータYの組に基づく位置が、位置Ps1のように境界AE2の内側に存在する場合、通常モデルME2を更新する。
 図20は、本発明の第2の実施の形態に係るゲートウェイ装置における更新部が更新した通常モデルを説明するための図である。なお、図20の見方は、図4と同様である。
 図18および図20を参照して、更新部56は、たとえば、位置Ps1のデータXおよびデータYの組に基づいて、通常モデルME2を更新することにより通常モデルMF2を作成する。境界AF2は、通常モデルMF2に応じた境界であり、通常モデルMF2の境界BF2の外側に位置する。
 データ取得部53は、記憶部52に保存された、通常モデルME2、ならびに対応のデータXおよびデータYの種類の組み合わせを示すモデル情報を、通常モデルMF2、ならびに対応のデータXおよびデータYの種類の組み合わせを示すモデル情報に更新する。
 位置Ps1は、更新後の通常モデルMF2の境界BF2の内側に位置しているので、更新後の通常モデルMF2を用いる場合、位置Ps1のデータXまたはデータYを含むメッセージを正当メッセージであると正しく判断することができる。
 また、更新部56が、更新期間において通常モデルMF2をさらに更新することにより、真の母集団に基づく通常モデルにより近づけることができる。
 なお、本発明の第2の実施の形態に係るゲートウェイ装置では、更新部56は、2種類のデータの組に基づいて検出条件を更新する構成であるとしたが、これに限定するものではない。更新部56は、3種類以上のデータの組に基づいて検出条件を更新する構成であってもよい。
 その他の構成および動作は第1の実施の形態に係るゲートウェイ装置と同様であるため、ここでは詳細な説明を繰り返さない。
 以上のように、本発明の第2の実施の形態に係るゲートウェイ装置では、更新部56はデータ取得部53によって取得された組に基づいて検出条件を更新する。
 このような構成により、たとえば、検出条件の算出に用いた組が母集団として不完全であっても、新たに取得した組を母集団に含めることができるので、母集団の完成度をより高めることができる。これにより、より適切な検出条件に更新することができる。
 次に、本発明の他の実施の形態について図面を用いて説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰り返さない。
 <第3の実施の形態>
 本実施の形態は、第1の実施の形態に係るゲートウェイ装置と比べて、メッセージの送信間隔に基づく不正メッセージの検知を組み込んだゲートウェイ装置に関する。以下で説明する内容以外は第1の実施の形態に係るゲートウェイ装置と同様である。
 [構成および基本動作]
 図21は、本発明の第3の実施の形態に係る車載通信システムにおけるゲートウェイ装置の構成を示す図である。
 図21を参照して、ゲートウェイ装置(検知装置)103は、通信処理部51と、記憶部52と、データ取得部53と、メッセージ取得部55と、監視部57と、分布取得部58と、検知部64とを備える。
 ゲートウェイ装置103における通信処理部51、記憶部52、データ取得部53およびメッセージ取得部55の動作は、図3に示すゲートウェイ装置101における通信処理部51、記憶部52、データ取得部53およびメッセージ取得部55とそれぞれ同様である。
 図22は、本発明の第3の実施の形態に係る車載通信システムにおける監視対象の周期メッセージの送信間隔の時間変化の一例を示す図である。なお、図22において、縦軸は送信間隔を示し、横軸は時間を示す。
 図22を参照して、送信間隔は、たとえば、ある監視対象の周期メッセージ(以下、対象メッセージとも称する。)がバス13において伝送されるタイミングの間隔である。
 図22に示すように、対象メッセージの送信間隔は一定でなく、ばらついている。これは、対象メッセージが伝送される際に調停が行われたり、クロックのずれによる内部処理の遅延ばらつきが発生したりするからである。
 ここで、調停について説明する。メッセージには、たとえば、IDに応じて優先度が割り当てられている。たとえば、複数のメッセージの送信タイミングが重なる場合、車載ネットワーク12では、優先度の高いメッセージを、優先度の低いメッセージより優先的にバス13を伝送させる調停が行われる。このような調停により、送信間隔のばらつきが発生する。
 図23は、本発明の第3の実施の形態に係る車載通信システムにおける対象メッセージの送信間隔の度数分布の一例を示す図である。なお、図23において、縦軸は度数を示し、横軸は送信間隔を示す。
 図23を参照して、送信間隔の度数分布は、Ctミリ秒を中心としてほぼ対称である。送信間隔の度数分布は、たとえば所定のモデル関数Func1により近似することが可能である。
 再び図21を参照して、監視部57は、たとえば、車載ネットワーク12における送信メッセージを監視する。より詳細には、監視部57は、たとえば、通信処理部51におけるメッセージの中継処理を監視し、監視結果に基づいて対象メッセージの送信間隔を測定する。
 具体的には、たとえば、監視部57には、対象メッセージを示すID(以下、登録IDとも称する。)が1つ登録されている。なお、監視部57には、複数の登録IDが登録されてもよい。
 監視部57は、たとえば、通信処理部51がメッセージを受信すると、通信処理部51によって受信されたメッセージに含まれるIDを確認する。監視部57は、確認したIDが登録IDと一致する場合、通信処理部51によって受信されたメッセージすなわち対象メッセージの受信時刻t1をたとえば測定基準として保持する。
 そして、監視部57は、通信処理部51において登録IDを含む新たな対象メッセージが受信されると、新たに受信された対象メッセージの受信時刻t2を保持するとともに、以下の処理を行う。
 すなわち、監視部57は、受信時刻t2から受信時刻t1を差し引くことにより、対象メッセージの送信間隔を算出し、算出した送信間隔および登録IDを検知部64へ出力する。
 分布取得部58は、たとえば、送信メッセージの送信間隔の分布を取得する。詳細には、分布取得部58は、たとえば、他の装置、具体的にはサーバによって予め作成された送信間隔の分布を示す分布情報を取得する。
 より詳細には、サーバは、たとえば、対象メッセージの送信間隔を複数取得する。この送信間隔は、たとえば、対象車両1と同じ種類のテスト車両において測定される。なお、サーバは、対象車両1において測定された送信間隔を取得してもよい。
 サーバは、たとえば、モデル関数Func1として、以下の式(5)に示す、変数をxとする正規分布の確率密度関数(以下、正規分布関数とも称する。)pを用いる。
Figure JPOXMLDOC01-appb-M000005
 ここで、xバーおよびσ^2は、パラメータであり、それぞれ複数の送信間隔の平均値および分散である。xバーおよびσ^2は、それぞれ、以下の式(6)および(7)により算出される。
Figure JPOXMLDOC01-appb-M000006

Figure JPOXMLDOC01-appb-M000007
 ここで、tは、送信間隔のサンプル数である。xiは、i番目の送信間隔である。サーバは、たとえば、所定の頒布タイミングにおいて、xバーおよびσ^2を含む分布情報を対象車両1へ送信する。
 分布取得部58は、車載通信機111および通信処理部51経由でサーバから分布情報を受信すると、受信した分布情報に基づいて、式(5)により示されるモデル関数Func1を作成し、作成したモデル関数Func1を検知部64へ出力する。
 なお、ゲートウェイ装置101では、分布取得部58が、車載通信機111および通信処理部51経由でサーバから分布情報を受信して検知部64へ出力する構成であるとしたが、これに限定するものではない。たとえば、ゲートウェイ装置101が不揮発性メモリを保持しており、分布取得部58が、整備用端末装置によってポート112経由で分布情報が書き込まれた不揮発性メモリから分布情報を取得して検知部64へ出力する構成であってもよい。
 図24は、本発明の第3の実施の形態に係るゲートウェイ装置における検知部による不正メッセージの検出例を示す図である。なお、図24において、縦軸はスコアを示し、横軸は変数xを示す。
 図24を参照して、検知部64は、たとえば、監視部57による監視結果および分布取得部58によって取得された送信間隔の分布に基づいて不正メッセージを検知する。
 詳細には、検知部64は、たとえば、監視部57によって測定された送信間隔と、当該送信間隔の分布を示す分布情報と、所定のしきい値とに基づいて、送信メッセージを不正メッセージとすべきか否かについて判断する。ここでは、検知部64には、しきい値ThBが登録されている。
 言い換えると、検知部64は、たとえば、監視部57によって測定された送信間隔の、当該送信間隔の分布における位置に基づいて不正メッセージを検知する。
 検知部64は、分布取得部58からモデル関数Func1を受けると、受けたモデル関数Func1を変形することによりスコア関数Sc1を作成する。より詳細には、検知部64は、たとえば、-log(Func1)をスコア関数Sc1として作成する。ここで、「log(c)」は、cの常用対数を意味する。
 図24では、スコア関数Sc1は、測定基準の時刻がx=0になるように表されている。したがって、図24に示す横軸は、送信間隔を示す。また、スコア関数Sc1は、変数xが平均値すなわちxバーである場合に最小値を示す。
 検知部64は、監視部57から受けた送信間隔をスコア関数Sc1における変数xに代入することによりスコアを算出する。
 検知部64は、算出したスコアがたとえばしきい値ThB以下である場合、今回伝送された対象メッセージを不正メッセージとすべきでないと判断する、すなわち対象メッセージが正当メッセージ、または送信間隔が偽装されたメッセージ(以下、偽装メッセージとも称する。)であると判断する。具体的には、検知部64は、図24に示す送信間隔Tcを監視部57から受けた場合、今回伝送された対象メッセージCが正当メッセージまたは偽装メッセージであると判断する。
 これは、たとえば、対象メッセージが正当メッセージまたは偽装メッセージである場合、調停および内部処理の遅延等によるばらつきを含めても、図23に示す度数分布の中心の近傍に送信間隔が位置する可能性が高いからである。
 一方、検知部64は、算出したスコアがしきい値ThBより大きい場合、今回伝送された対象メッセージが不正メッセージであると判断する。具体的には、検知部64は、図24に示す送信間隔Taを監視部57から受けた場合、今回伝送された対象メッセージAが不正メッセージであると判断する。同様に、検知部64は、送信間隔Tbを監視部57から受けた場合、今回伝送された対象メッセージBが不正メッセージであると判断する。
 これは、たとえば、対象メッセージが不正メッセージである場合、当該対象メッセージが所定の取り決めに従って送信されていない可能性が高いからである。
 また、セキュリティのレベルを下げる場合、検知部64に登録されたしきい値をThBより大きいThAに変更する。これにより、たとえば、送信間隔Tbに対応する対象メッセージBのように、検知部64により不正メッセージと判断されたメッセージが、しきい値の変更後において正当メッセージまたは偽装メッセージと判断される。
 検知部64は、監視部57から受けた送信間隔に基づく判断結果を監視部57へ通知する。
 監視部57は、たとえば、正当メッセージまたは偽装メッセージと判断された送信メッセージの受信タイミングを送信間隔の測定基準として用いる。
 より詳細には、監視部57は、検知部64から通知された判断結果が、今回伝送された対象メッセージが正当メッセージまたは偽装メッセージであることを示す場合、受信時刻t2を送信間隔の新たな測定基準として用いる。
 そして、監視部57は、通信処理部51において登録IDを含む新たな対象メッセージが受信されると、新たに受信された対象メッセージの受信時刻t3を保持するとともに、以下の処理を行う。
 すなわち、監視部57は、受信時刻t3から受信時刻t2を差し引くことにより、対象メッセージの新たな送信間隔を算出し、算出した送信間隔を検知部64へ出力する。
 一方、監視部57は、検知部64から通知された判断結果が、今回伝送された対象メッセージが不正メッセージであることを示す場合、受信時刻t1を測定基準のまま維持する。
 そして、監視部57は、通信処理部51において登録IDを含む新たな対象メッセージが受信されると、新たに受信された対象メッセージの受信時刻t3を保持するとともに、以下の処理を行う。
 すなわち、監視部57は、受信時刻t3から受信時刻t1を差し引くことにより、対象メッセージの新たな送信間隔を算出し、算出した送信間隔を検知部64へ出力する。
 検知部64は、たとえば、不正メッセージとすべきでないと判断した送信メッセージについては、データ取得部53によって取得された組、および検出条件に基づいて、不正メッセージであるか否かについて判断する。
 より詳細には、検知部64は、今回伝送された対象メッセージCが正当メッセージまたは偽装メッセージであると判断した場合、監視部57から受けた登録IDをデータ取得部53へ出力する。
 データ取得部53は、検知部64から登録IDを受けると、記憶部52に保存された複数のメッセージの中から、受けた登録IDを有する最新のメッセージすなわち最新の対象メッセージを取得する。
 この例では、対象メッセージにおいて1つのデータが含まれる。データ取得部53は、取得した最新の対象メッセージに含まれる1つのデータの種類(以下、対象種類とも称する。)を認識する。なお、対象メッセージにおいて、2つ以上のデータが含まれてもよい。
 データ取得部53は、記憶部52が保存する検出条件情報に含まれる複数のモデル情報を参照し、参照した複数のモデル情報の中から、認識した対象種類を示すモデル情報を記憶部52から取得する。
 データ取得部53は、取得したモデル情報に基づいて、対象種類と組み合わされるデータの種類(以下、相手方種類とも称する。)を特定する。
 データ取得部53は、たとえば、対象種類のデータを含む複数の対象メッセージ、および相手方種類のデータを含む複数のメッセージを記憶部52から取得し、取得した各メッセージに基づいて、対象種類のデータの受信時刻と相手方種類のデータの受信時刻とを同期させる同期処理を行う。
 データ取得部53は、同期処理が完了すると、同期させた2種類のデータから最新の2種類のデータの組を取得し、取得した2種類のデータの組、およびモデル情報の示す種類の組み合わせを検知部64へ出力する。
 検知部64は、データ取得部53から2種類のデータの組、およびモデル情報の示す種類の組み合わせを受けると、記憶部52における検出条件情報に含まれる複数のモデル情報を参照し、受けた組み合わせに対応する通常モデルM2を記憶部52における対応のモデル情報から取得する。
 検知部64は、データ取得部53から受けた2種類のデータの組に基づく位置、および取得した通常モデルM2に基づいて、対象メッセージが不正メッセージであるか否かについて判断する。
 具体的には、検知部64は、図7に示すように、データ取得部53から受けた2種類のデータの組に基づく位置が位置Pnである場合、位置Pnが通常モデルM2の境界B2の内側に位置するので、対象メッセージが正当メッセージであると判断する。
 一方、検知部64は、データ取得部53から受けた2種類のデータの組に基づく位置が位置Paである場合、位置Paが通常モデルM2の境界B2の外側に位置するので、対象メッセージが偽装メッセージすなわち不正メッセージであると判断する。
 検知部64は、対象メッセージが不正メッセージであると判断した場合、たとえば、以下の処理を行う。すなわち、検知部64は、登録ID、相手方種類のデータを含むメッセージのID、および対応の種類の組み合わせ等を記憶部52に記録する。
 また、検知部64は、バス13において不正メッセージが伝送されていることを対象車両1内または対象車両1外における上位装置へ通信処理部51経由で通知する。
 [動作の流れ]
 図25は、本発明の第3の実施の形態に係るゲートウェイ装置が対象メッセージを受信する際の動作手順を定めたフローチャートである。
 図25を参照して、まず、ゲートウェイ装置103は、最初の対象メッセージを受信し、当該対象メッセージの受信時刻を測定基準として設定する(ステップS302)。
 次に、ゲートウェイ装置103は、対象メッセージを受信するまで待機する(ステップS304でNO)。
 そして、ゲートウェイ装置103は、対象メッセージを受信すると(ステップS304でYES)、受信した対象メッセージを不正メッセージとすべきか否かについて判断する判断処理を行う(ステップS306)。
 次に、ゲートウェイ装置103は、新たな対象メッセージを受信するまで待機する(ステップS306でNO)。
 図26は、本発明の第3の実施の形態に係るゲートウェイ装置が判断処理を行う際の動作手順を定めたフローチャートである。図26は、図25のステップS306における動作の詳細を示している。
 図26を参照して、ゲートウェイ装置103は、対象メッセージの受信時刻から測定基準を差し引くことにより送信間隔を算出する(ステップS402)。
 次に、ゲートウェイ装置103は、算出した送信間隔をスコア関数Sc1に代入することによりスコアを算出する(ステップS404)。
 次に、ゲートウェイ装置103は、算出したスコアがしきい値ThBより大きい場合(ステップS406でNO)、今回伝送された対象メッセージが不正メッセージであると判断する(ステップS424)。
 一方、ゲートウェイ装置103は、算出したスコアがしきい値ThB以下である場合(ステップS406でYES)、今回伝送された対象メッセージが正当メッセージまたは偽装メッセージであると判断する(ステップS408)。
 次に、ゲートウェイ装置103は、測定基準を、今回伝送された対象メッセージの受信時刻に更新する(ステップS410)。
 次に、ゲートウェイ装置103は、対象種類のデータおよび相手方種類のデータの両方が対象メッセージに格納されているか否かを確認する(ステップS412)。
 次に、ゲートウェイ装置103は、対象種類のデータおよび相手方種類のデータの両方が対象メッセージに含まれない場合、すなわち別個のメッセージに分かれて含まれる場合(ステップS412でNO)、対象種類のデータおよび相手方種類のデータに対して同期処理を行う(ステップS414)。
 次に、ゲートウェイ装置103は、2種類のデータの組、より詳細には対象種類のデータおよび相手方種類のデータの組を対象メッセージから取得するか、または同期処理を行った対象種類のデータおよび相手方種類のデータから、対象種類のデータおよび相手方種類のデータの最新の組を取得する(ステップS416)。
 次に、ゲートウェイ装置103は、対象種類のデータおよび相手方種類のデータの組に対応する通常モデルM2を記憶部52から取得する(ステップS418)。
 次に、ゲートウェイ装置103は、取得した対象種類のデータおよび相手方種類のデータの組に基づく位置が、通常モデルM2の境界B2の内側に位置するか否かを確認する(ステップS420)。
 ゲートウェイ装置103は、取得した対象種類のデータおよび相手方種類のデータの組に基づく位置が境界B2の内側に位置する場合(ステップS420でYES)、今回伝送された対象メッセージが正当メッセージであると判断する(ステップS422)。
 一方、ゲートウェイ装置103は、取得した対象種類のデータおよび相手方種類のデータの組に基づく位置が境界B2の外側に位置する場合(ステップS420でNO)、今回伝送された対象メッセージが偽装メッセージすなわち不正メッセージであると判断する(ステップS424)。
 なお、本発明の第3の実施の形態に係るゲートウェイ装置では、監視部57は、対象メッセージの受信時刻に基づいて送信間隔を測定する構成であるとしたが、これに限定するものではない。監視部57は、たとえば、対象メッセージの送信時刻を取得し、取得した送信時刻に基づいて送信間隔を測定する構成であってもよい。
 また、本発明の第3の実施の形態に係るゲートウェイ装置は、テスト車両において測定された対象メッセージの送信間隔の分布を取得する構成であるとしたが、これに限定するものではない。ゲートウェイ装置103は、対象車両1において測定された送信間隔を蓄積し、蓄積した送信間隔に基づいて当該分布を作成する構成であってもよい。
 以上のように、本発明の第3の実施の形態に係るゲートウェイ装置では、監視部57は、車載ネットワーク12における送信メッセージを監視する。分布取得部58は、送信メッセージの送信間隔の分布を取得する。検知部64は、監視部57による監視結果および分布取得部58によって取得された分布に基づいて不正メッセージを検知する。そして、検知部64部は、不正メッセージとすべきでないと判断した送信メッセージについては、データ取得部53によって取得された組、および検出条件に基づいて、不正メッセージであるか否かについて判断する。
 送信間隔を精度よく偽装した送信メッセージは、上記監視結果および上記分布に基づいて不正メッセージとして検知することが困難である。上記のような構成により、当該送信メッセージを、上記組および検出条件に基づいて不正メッセージとして検知することができるので、車載ネットワーク12におけるセキュリティを向上させることができる。
 その他の構成および動作は第1の実施の形態に係るゲートウェイ装置と同様であるため、ここでは詳細な説明を繰り返さない。
 なお、本発明の第1の実施の形態~第3の実施の形態に係る各装置の構成要素および動作のうち、一部または全部を適宜組み合わせることも可能である。
 上記実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記説明ではなく請求の範囲によって示され、請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
 以上の説明は、以下に付記する特徴を含む。
 [付記1]
 車両に搭載される車載ネットワークにおける不正メッセージを検知する検知装置であって、
 前記車載ネットワークにおける1または複数の送信メッセージを取得するメッセージ取得部と、
 前記メッセージ取得部によって取得された前記送信メッセージに含まれる、同じ時刻に対応する複数種類のデータの組を取得するデータ取得部と、
 予め作成された、複数の時刻にそれぞれ対応する複数の前記組に基づく検出条件を記憶する記憶部と、
 前記データ取得部によって取得された前記組、および前記検出条件に基づいて前記不正メッセージを検知する検知部とを備え、
 前記検知装置は、前記送信メッセージを中継するゲートウェイ装置であり、
 前記車載ネットワークは、前記車両の内部における装置である車載装置を含み、
 前記車載装置は、前記車載ネットワークの設けられた車両の外部における装置と通信する車載通信機、または前記車両における機能部を制御可能な制御装置であり、
 前記送信メッセージは、CAN(Controller Area Network)、FlexRay、MOST(Media Oriented Systems Transport)、イーサネットまたはLIN(Local Interconnect Network)の通信規格に従って前記車載ネットワークにおいて伝送され、
 前記検出条件は、通常モデルであり、サーバにおいて予め作成され、
 前記時刻は、受信時刻、送信時刻または作成時刻である、検知装置。
 1 対象車両
 12 車載ネットワーク
 13,14 バス
 51 通信処理部
 52 記憶部
 53 データ取得部
 54 検知部
 55 メッセージ取得部
 56 更新部
 57 監視部
 58 分布取得部
 64 検知部
 101,102,103 ゲートウェイ装置(検知装置)
 111 車載通信機
 112 ポート
 121 バス接続装置群
 122 制御装置
 301 車載通信システム

Claims (12)

  1.  車両に搭載される車載ネットワークにおける不正メッセージを検知する検知装置であって、
     前記車載ネットワークにおける1または複数の送信メッセージを取得するメッセージ取得部と、
     前記メッセージ取得部によって取得された前記送信メッセージに含まれる、同じ時刻に対応する複数種類のデータの組を取得するデータ取得部と、
     予め作成された、複数の時刻にそれぞれ対応する複数の前記組に基づく検出条件を記憶する記憶部と、
     前記データ取得部によって取得された前記組、および前記検出条件に基づいて前記不正メッセージを検知する検知部とを備える、検知装置。
  2.  前記検出条件は、所定の相関関係を有する複数種類のデータの前記組に基づいて作成されている、請求項1に記載の検知装置。
  3.  ある種類の前記データと前記相関関係を有する前記データである相関データが複数種類ある場合、前記ある種類の前記データと前記複数種類の前記相関データとに基づいて1つの前記検出条件が作成されている、請求項2に記載の検知装置。
  4.  前記検知部は、前記データ取得部によって取得された前記ある種類の前記データおよび前記複数種類の前記相関データ、ならびに前記検出条件に基づいて、前記ある種類の前記データの推定誤差を算出し、算出した前記推定誤差、および前記検出条件を用いて作成された前記推定誤差の分布に基づいて、前記ある種類の前記データの正当性を評価し、評価結果に基づいて、前記ある種類の前記データが前記不正メッセージであるか否かを判断する、請求項3に記載の検知装置。
  5.  前記ある種類の前記データは、状態を表すデータであり、
     前記検知部は、前記データ取得部によって取得された前記複数種類の前記相関データ、および前記検出条件に基づいて、前記ある種類の前記データの値を推定し、推定した前記値と前記ある種類の前記データとの比較結果に基づいて、前記ある種類の前記データが前記不正メッセージであるか否かを判断する、請求項3に記載の検知装置。
  6.  ある種類の前記データと前記相関関係を有する前記データである相関データが複数種類ある場合、前記ある種類の前記データと前記複数種類の前記相関データとに基づいて複数の前記検出条件がそれぞれ作成されている、請求項2に記載の検知装置。
  7.  前記データ取得部は、異なる前記送信メッセージにそれぞれ含まれる前記複数種類のデータの組を取得する、請求項1から請求項6のいずれか1項に記載の検知装置。
  8.  前記メッセージ取得部は、取得した複数の前記送信メッセージを記憶部に保存し、
     前記データ取得部は、前記記憶部に保存された各前記送信メッセージから前記組を取得する、請求項7に記載の検知装置。
  9.  前記検知装置は、さらに、
     前記データ取得部によって取得された前記組に基づいて前記検出条件を更新する更新部を備える、請求項1から請求項8のいずれか1項に記載の検知装置。
  10.  前記検知装置は、さらに、
     前記車載ネットワークにおける前記送信メッセージを監視する監視部と、
     前記送信メッセージの送信間隔の分布を取得する分布取得部とを備え、
     前記検知部は、前記監視部による監視結果および前記分布取得部によって取得された前記分布に基づいて前記不正メッセージを検知し、
     前記検知部は、前記不正メッセージとすべきでないと判断した前記送信メッセージについては、前記データ取得部によって取得された前記組、および前記検出条件に基づいて、前記不正メッセージであるか否かについて判断する、請求項1から請求項9のいずれか1項に記載の検知装置。
  11.  車両に搭載される車載ネットワークにおける不正メッセージを検知し、記憶部を備える検知装置における検知方法であって、
     前記車載ネットワークにおける1または複数の送信メッセージを取得するステップと、
     取得した前記送信メッセージに含まれる、同じ時刻に対応する複数種類のデータの組を取得するステップとを含み、
     前記記憶部は、予め作成された、複数の時刻にそれぞれ対応する複数の前記組に基づく検出条件を記憶し、
     前記検知方法は、さらに、
     取得した前記組、および前記検出条件に基づいて前記不正メッセージを検知するステップを含む、検知方法。
  12.  車両に搭載される車載ネットワークにおける不正メッセージを検知し、記憶部を備える検知装置において用いられる検知プログラムであって、
     コンピュータを、
     前記車載ネットワークにおける1または複数の送信メッセージを取得するメッセージ取得部と、
     前記メッセージ取得部によって取得された前記送信メッセージに含まれる、同じ時刻に対応する複数種類のデータの組を取得するデータ取得部、
    として機能させるためのプログラムであり、
     前記記憶部は、予め作成された、複数の時刻にそれぞれ対応する複数の前記組に基づく検出条件を記憶し、
     さらに、コンピュータを、
     前記データ取得部によって取得された前記組、および前記検出条件に基づいて前記不正メッセージを検知する検知部、
    として機能させるための、検知プログラム。
PCT/JP2018/015212 2017-08-03 2018-04-11 検知装置、検知方法および検知プログラム WO2019026353A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201880050581.6A CN111033504B (zh) 2017-08-03 2018-04-11 检测器、检测方法和检测程序
US16/633,008 US20200213340A1 (en) 2017-08-03 2018-04-11 Detector, detection method and detection program
DE112018003933.1T DE112018003933T5 (de) 2017-08-03 2018-04-11 Detektor, Detektionsverfahren und Detektionsprogramm

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017150807A JP7007632B2 (ja) 2017-08-03 2017-08-03 検知装置、検知方法および検知プログラム
JP2017-150807 2017-08-03

Publications (1)

Publication Number Publication Date
WO2019026353A1 true WO2019026353A1 (ja) 2019-02-07

Family

ID=65232601

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/015212 WO2019026353A1 (ja) 2017-08-03 2018-04-11 検知装置、検知方法および検知プログラム

Country Status (5)

Country Link
US (1) US20200213340A1 (ja)
JP (1) JP7007632B2 (ja)
CN (1) CN111033504B (ja)
DE (1) DE112018003933T5 (ja)
WO (1) WO2019026353A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102020107950A1 (de) 2020-03-23 2021-09-23 Sick Ag Verfahren zur Fehleraufdeckung und sicheres Sensorsystem

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6956624B2 (ja) * 2017-03-13 2021-11-02 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 情報処理方法、情報処理システム、及びプログラム
EP3720061B1 (en) * 2017-12-01 2022-08-10 Nippon Telegraph And Telephone Corporation Bit assignment estimating device, bit assignment estimating method, and program
US11993289B2 (en) * 2019-05-23 2024-05-28 Hitachi Astemo, Ltd. Vehicle control system and vehicle control method
JP7319872B2 (ja) * 2019-09-06 2023-08-02 株式会社日立製作所 ネットワークセキュリティ装置及び学習優先度決定方法
WO2021111685A1 (ja) * 2019-12-05 2021-06-10 住友電気工業株式会社 検知装置、車両、検知方法および検知プログラム
DE112021002835T5 (de) * 2020-05-18 2023-05-04 Autonetworks Technologies, Ltd. Detektionsvorrichtung, Fahrzeug, Detektionsverfahren und Detektionsprogramm
CN111917766B (zh) * 2020-07-29 2022-10-18 江西科技学院 一种车载网络通信异常的检测方法
JP2022114878A (ja) * 2021-01-27 2022-08-08 株式会社オートネットワーク技術研究所 判定装置、再学習装置及び判定方法
JP2022167561A (ja) * 2021-04-23 2022-11-04 株式会社オートネットワーク技術研究所 車載通信装置及び通信方法
JP7230147B1 (ja) 2021-09-24 2023-02-28 エヌ・ティ・ティ・コミュニケーションズ株式会社 車両セキュリティ分析装置、方法およびそのプログラム
WO2023127460A1 (ja) * 2021-12-28 2023-07-06 住友電気工業株式会社 検知装置および検知方法
FR3136618A1 (fr) * 2022-06-13 2023-12-15 Stmicroelectronics (Rousset) Sas Procédé de gestion de communications de système de transport intelligent et unité de commande électronique correspondante
CN117332341B (zh) * 2023-11-28 2024-02-02 贵州空港智能科技有限公司 基于物联网的飞机轮挡数据智能管理方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005265454A (ja) * 2004-03-16 2005-09-29 Nissan Motor Co Ltd 車両用故障診断装置
US20070294187A1 (en) * 2006-06-08 2007-12-20 Chad Scherrer System and method for anomaly detection
JP2016134913A (ja) * 2015-01-20 2016-07-25 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 不正フレーム対処方法、不正検知電子制御ユニット及び車載ネットワークシステム
EP3109771A1 (en) * 2015-06-22 2016-12-28 Deutsche Telekom AG Method, distributed system and device for efficiently quantifying a similarity of large data sets

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4089719B2 (ja) * 2005-09-09 2008-05-28 沖電気工業株式会社 異常検出システム,異常管理装置,異常管理方法,プローブおよびそのプログラム
US8452969B2 (en) * 2009-09-16 2013-05-28 GM Global Technology Operations LLC Flexible broadcast authentication in resource-constrained systems: providing a tradeoff between communication and computational overheads
JP5570008B2 (ja) * 2010-03-23 2014-08-13 インターナショナル・ビジネス・マシーンズ・コーポレーション カーネル回帰システム、方法及びプログラム
US8904183B2 (en) * 2010-03-25 2014-12-02 GM Global Technology Operations LLC Efficient technique to achieve non-repudiation and resilience to DoS attacks in wireless networks
JP6382724B2 (ja) 2014-01-06 2018-08-29 アーガス サイバー セキュリティ リミテッド グローバル自動車安全システム
CN106170953B (zh) * 2014-04-17 2019-10-18 松下电器(美国)知识产权公司 车载网络系统、网关装置以及不正常检测方法
JP2016057438A (ja) 2014-09-09 2016-04-21 住友電気工業株式会社 走行評価装置、走行評価方法および走行評価プログラム
JP2016097879A (ja) 2014-11-25 2016-05-30 トヨタ自動車株式会社 車両制御システム
JP6079768B2 (ja) 2014-12-15 2017-02-15 トヨタ自動車株式会社 車載通信システム
JP6423402B2 (ja) * 2015-12-16 2018-11-14 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America セキュリティ処理方法及びサーバ
JP6684690B2 (ja) * 2016-01-08 2020-04-22 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 不正検知方法、監視電子制御ユニット及び車載ネットワークシステム
US9828884B2 (en) 2016-02-25 2017-11-28 General Electric Technology Gmbh System and method for preheating a heat recovery steam generator
US10548005B2 (en) * 2016-07-18 2020-01-28 Lg Electronics Inc. Method for security of user equipment connection identifier in wireless communication system and apparatus therefor
JP7194184B2 (ja) * 2017-07-27 2022-12-21 アップストリーム セキュリティー リミテッド コネクテッド車両サイバー・セキュリティのためのシステム及び方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005265454A (ja) * 2004-03-16 2005-09-29 Nissan Motor Co Ltd 車両用故障診断装置
US20070294187A1 (en) * 2006-06-08 2007-12-20 Chad Scherrer System and method for anomaly detection
JP2016134913A (ja) * 2015-01-20 2016-07-25 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 不正フレーム対処方法、不正検知電子制御ユニット及び車載ネットワークシステム
EP3109771A1 (en) * 2015-06-22 2016-12-28 Deutsche Telekom AG Method, distributed system and device for efficiently quantifying a similarity of large data sets

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
DATE, T. ET . AL.: "Dynamic rule generation using machine learning in In-vehicule LAN security gateway", S C I S 2 0 1 6, 22 January 2016 (2016-01-22), pages 1 - 6, XP009512050 *
HIGASHIKADO, Y. ET. AL.: "Examination of Certificate Management in Consortium Chains", SYMPOSIUM OF CRYPTOGRAPHY AND INFORMATION SECURITY, 24 January 2017 (2017-01-24), pages 1 - 4 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102020107950A1 (de) 2020-03-23 2021-09-23 Sick Ag Verfahren zur Fehleraufdeckung und sicheres Sensorsystem

Also Published As

Publication number Publication date
CN111033504A (zh) 2020-04-17
DE112018003933T5 (de) 2020-04-30
CN111033504B (zh) 2024-05-24
US20200213340A1 (en) 2020-07-02
JP7007632B2 (ja) 2022-01-24
JP2019029961A (ja) 2019-02-21

Similar Documents

Publication Publication Date Title
JP7007632B2 (ja) 検知装置、検知方法および検知プログラム
JP6805667B2 (ja) 検知装置、ゲートウェイ装置、検知方法および検知プログラム
CN110494330B (zh) 车辆监视装置、不正当检测服务器、以及控制方法
US9866570B2 (en) On-vehicle communication system
Jo et al. Mauth-can: Masquerade-attack-proof authentication for in-vehicle networks
US9269203B2 (en) Vehicle component identification and configuration registry reporting system
US9601016B2 (en) Communication system, vehicle-mounted terminal, roadside device
US11184340B2 (en) Apparatus, method, and computer program for enabling a transportation vehicle component and vehicle-to-vehicle communication module
JP7276670B2 (ja) 検知装置、検知方法および検知プログラム
US20170302452A1 (en) Message authentication library
Lim et al. A Sybil attack detection scheme based on ADAS sensors for vehicular networks
WO2018173732A1 (ja) 車載通信装置、コンピュータプログラム及びメッセージ判定方法
JP7435616B2 (ja) 検知装置、車両、検知方法および検知プログラム
JP6233041B2 (ja) 無線通信装置および無線通信方法
WO2021111685A1 (ja) 検知装置、車両、検知方法および検知プログラム
WO2021235105A1 (ja) 検知装置、車両、検知方法および検知プログラム
Kneib et al. On the fingerprinting of electronic control units using physical characteristics in controller area networks
JP2021093572A (ja) 判定装置、判定プログラム及び判定方法
Assila et al. Secure architecture dedicated for VANET alarm messages authentication through semantic verification
JP7396363B2 (ja) 検知装置、車両、検知方法および検知プログラム
Notaro Simulating Malicious Attacks on VANETs for Connected and Autonomous Vehicles

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

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 18840219

Country of ref document: EP

Kind code of ref document: A1