WO2021235105A1 - 検知装置、車両、検知方法および検知プログラム - Google Patents
検知装置、車両、検知方法および検知プログラム Download PDFInfo
- Publication number
- WO2021235105A1 WO2021235105A1 PCT/JP2021/013437 JP2021013437W WO2021235105A1 WO 2021235105 A1 WO2021235105 A1 WO 2021235105A1 JP 2021013437 W JP2021013437 W JP 2021013437W WO 2021235105 A1 WO2021235105 A1 WO 2021235105A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data
- message
- unit
- detection
- estimation error
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1425—Traffic logging, e.g. anomaly detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/12—Arrangements for remote connection or disconnection of substations or of equipment thereof
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60R—VEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
- B60R16/00—Electric 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/02—Electric 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/023—Electric 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
Definitions
- the present disclosure relates to detection devices, vehicles, detection methods and detection programs. This application claims priority on the basis of Japanese Application Japanese Patent Application No. 2020-86520 filed on May 18, 2020 and incorporates all of its disclosures herein.
- Patent Document 1 Japanese Unexamined Patent Publication No. 2019-29961 discloses the following detection device. That is, the detection device is a detection device that detects an unauthorized message in an in-vehicle network mounted on a vehicle, and is acquired by a message acquisition unit that acquires one or a plurality of transmitted messages in the in-vehicle network and the message acquisition unit.
- a data acquisition unit for acquiring a plurality of types of data sets corresponding to the same time included in the transmitted message, and detection conditions based on a plurality of previously created sets corresponding to the plurality of times are stored. It includes a storage unit, the set acquired by the data acquisition unit, and a detection unit that detects an unauthorized message based on the detection conditions.
- 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 is acquired by a message acquisition unit that acquires one or more transmitted messages in the in-vehicle network and the message acquisition unit.
- a data acquisition unit for acquiring a plurality of types of data sets corresponding to the same time included in the transmitted message, and detection conditions based on a plurality of previously created sets corresponding to the plurality of times are stored.
- a calculation unit that calculates an estimation error of the data of the type of the monitoring target in the set based on the storage unit, the set acquired by the data acquisition unit, and the detection conditions, and the calculation unit. Based on the estimation error and the estimation error calculated in the past by the calculation unit, it is determined whether or not the transmission message corresponding to the data of the type to be monitored is an invalid message. It has a department.
- the detection method of the present disclosure is a detection method in a detection device including a storage unit for detecting an unauthorized message in an in-vehicle network mounted on a vehicle, and includes a step of acquiring one or a plurality of transmitted messages in the in-vehicle network.
- the storage unit includes a step of acquiring a plurality of types of data sets corresponding to the same time included in the acquired transmitted message, and the storage unit includes a plurality of pre-created sets corresponding to the plurality of times.
- the detection method further includes a step of calculating an estimation error of the data of the type to be monitored in the set based on the acquired set and the detection conditions, and the calculated said. It includes a step of determining whether or not the transmitted message corresponding to the data of the type to be monitored is an invalid message based on the estimation error and the estimation error calculated in the past.
- the detection program of the present disclosure is a detection program used in a detection device provided with a storage unit for detecting an unauthorized message in an in-vehicle network mounted on a vehicle, and a computer can transmit one or a plurality of transmitted messages in the in-vehicle network. It is a program for functioning as a message acquisition unit to be acquired and a data acquisition unit to acquire a set of a plurality of types of data corresponding to the same time included in the transmitted message acquired by the message acquisition unit.
- the storage unit stores the detection conditions based on the plurality of sets corresponding to the plurality of times, which are created in advance, and further, the computer is based on the set acquired by the data acquisition unit and the detection conditions.
- This is a program for functioning as a determination unit for determining whether or not the transmitted message corresponding to the data of the type to be monitored is an invalid message.
- One aspect of the present disclosure can be realized not only as a detection device provided with such a characteristic processing unit, but also as an in-vehicle communication system provided with the detection device. Further, one aspect of the present disclosure can be realized as a semiconductor integrated circuit that realizes a part or all of the detection device.
- FIG. 1 is a diagram showing a configuration of an in-vehicle communication system according to the first embodiment of the present disclosure.
- FIG. 2 is a diagram showing a configuration of a bus connection device group according to the first embodiment of the present disclosure.
- FIG. 3 is a diagram showing a configuration of a gateway device in an in-vehicle communication system according to the first embodiment of the present disclosure.
- 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 disclosure.
- 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 disclosure.
- 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 disclosure.
- FIG. 1 is a diagram showing a configuration of an in-vehicle communication system according to the first embodiment of the present disclosure.
- FIG. 2 is a diagram showing a configuration of a bus connection device group according
- FIG. 7 is a diagram for explaining the creation process in the learning phase of the normal model according to the first embodiment of the present disclosure.
- FIG. 8 is a diagram for explaining the verification process in the test phase of the normal model according to the first embodiment of the present disclosure.
- FIG. 9 is a diagram for explaining a fraudulent message detection process using the normal model according to the first embodiment of the present disclosure.
- FIG. 10 is a diagram for explaining a creation process in the learning phase of a modified example of the normal model according to the first embodiment of the present disclosure.
- FIG. 11 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 disclosure.
- FIG. 12 is a flowchart defining an operation procedure when the gateway device according to the first embodiment of the present disclosure receives a transmission message.
- FIG. 13 is a flowchart defining an operation procedure when the gateway device according to the first embodiment of the present disclosure stores a received transmission message in a storage unit.
- FIG. 14 is a diagram showing a configuration of a gateway device in an in-vehicle communication system according to a second embodiment of the present disclosure.
- FIG. 15 is a diagram showing an example of a time change in the transmission interval of a periodic message to be monitored in the in-vehicle communication system according to the second embodiment of the present disclosure.
- FIG. 16 is a diagram showing an example of the frequency distribution of the transmission interval of the target message in the in-vehicle communication system according to the second embodiment of the present disclosure.
- FIG. 14 is a diagram showing a configuration of a gateway device in an in-vehicle communication system according to a second embodiment of the present disclosure.
- FIG. 15 is a diagram showing an example of a time change in the transmission interval of a periodic message to be monitored in the in-vehicle communication system according to the second embodiment
- FIG. 17 is a diagram showing an example of detection of an unauthorized message by a detection unit in the gateway device according to the second embodiment of the present disclosure.
- FIG. 18 is a flowchart defining an operation procedure when the gateway device according to the second embodiment of the present disclosure receives the target message.
- FIG. 19 is a flowchart defining an operation procedure when the gateway device according to the second embodiment of the present disclosure performs a determination process.
- the present invention has been made to solve the above-mentioned problems, and an object of the present invention is to provide a detection device, a vehicle, a detection method, and a detection program capable of more accurately detecting malicious messages in an in-vehicle network. be.
- the detection device is a detection device that detects an unauthorized message in an in-vehicle network mounted on a vehicle, and is a message acquisition unit that acquires one or more transmitted messages in the in-vehicle network.
- a data acquisition unit that acquires a set of a plurality of types of data corresponding to the same time included in the transmitted message acquired by the message acquisition unit, and a plurality of pre-created data acquisition units corresponding to a plurality of times.
- a storage unit that stores detection conditions based on the set, a set acquired by the data acquisition unit, and a calculation unit that calculates an estimation error of the data of the type of monitoring target in the set based on the detection conditions. And, based on the estimation error calculated by the calculation unit and the estimation error calculated in the past by the calculation unit, the transmission message corresponding to the data of the type to be monitored is an invalid message. It is equipped with a judgment unit that determines whether or not there is one.
- the estimation error of the type of data to be monitored in the set of multiple types of data is calculated, and the transmitted message corresponding to the data is invalid based on the calculated estimation error and the estimation error calculated in the past.
- the calculation unit evaluates the validity of the data of the type to be monitored based on the calculated estimation error and the distribution of the estimation error created by using the detection conditions.
- the value is calculated, and the determination unit corresponds to the data of the type to be monitored based on the evaluation value calculated by the calculation unit and the evaluation value calculated in the past by the calculation unit. It is determined whether or not the transmitted message is an invalid message.
- the determination unit calculates a moving average of the estimation error based on the estimation error calculated by the calculation unit and the estimation error calculated in the past by the calculation unit. Based on the calculated moving average, it is determined whether or not the transmitted message corresponding to the data of the type to be monitored is an invalid message.
- the detection condition is created based on the set of a plurality of types of data having a predetermined correlation.
- the detection condition is created based on a set of multiple types of data in which there is a certain degree of relationship between the data, and the range of values that can be taken from one data in the set to another in the set is further increased. It is possible to create detection conditions that can be narrowed down. Thereby, the validity of the other data can be judged more correctly. That is, an appropriate detection condition can be created.
- the calculation unit relates to the validity of the data of the type to be monitored based on the calculated estimation error and the distribution of the estimation error created by using the detection conditions.
- the evaluation value is calculated, and the determination unit determines the data of the type to be monitored based on the evaluation value calculated by the calculation unit and the evaluation value calculated in the past by the calculation unit. It is determined whether or not the corresponding transmitted message is an invalid message.
- the data is status data representing a state.
- Such a configuration corresponds to the status data of the monitored type, for example, when the status data of the monitored type is a value that changes discontinuously, such as a gear shift position or a seatbelt state. It is possible to more correctly determine whether or not the transmitted message is an invalid message.
- the data acquisition unit acquires a set of the plurality of types of data included in each of the different transmission messages.
- the message acquisition unit stores the acquired plurality of the transmitted messages in the storage unit, and the data acquisition unit acquires the set from each of the transmitted messages stored in the storage unit. ..
- the data in a plurality of transmitted messages stored in the storage unit can be resampled, so that the 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 a monitoring unit for monitoring the transmission message in the vehicle-mounted network and a distribution acquisition unit for acquiring the distribution of the transmission interval of the transmission message, and the determination unit includes the determination unit.
- 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 determination unit determines that the fraudulent message should not be made based on the distribution.
- the estimation error of the data stored in the transmitted message is calculated, and the determination unit has calculated the estimation error calculated by the calculation unit and the calculation unit in the past. Based on the estimation error, it is determined whether or not the transmitted message, which is determined not to be an invalid message based on the distribution, is an invalid message.
- the transmitted message can be detected as an unauthorized message based on the above set and detection conditions, so that the security in the in-vehicle network can be improved.
- the vehicle according to the embodiment of the present disclosure is equipped with the detection device.
- the detection method is a detection method in a detection device provided with a storage unit for detecting an unauthorized message in an in-vehicle network mounted on a vehicle, and is one or a plurality of detection methods in the in-vehicle network.
- the storage unit includes a step of acquiring a transmission message and a step of acquiring a set of a plurality of types of data corresponding to the same time included in the acquired transmission message, and the storage unit is created at a plurality of times.
- the detection conditions based on the plurality of corresponding sets are stored, and the detection method further obtains an estimation error of the data of the type to be monitored in the set based on the acquired set and the detection conditions. Based on the calculation step, the calculated estimation error, and the estimation error calculated in the past, it is determined whether or not the transmitted message corresponding to the data of the type to be monitored is an invalid message. Including steps.
- the estimation error of the type of data to be monitored in the set of multiple types of data is calculated, and the transmitted message corresponding to the data is invalid based on the calculated estimation error and the estimation error calculated in the past.
- the detection program according to the embodiment of the present disclosure is a detection program used in a detection device provided with a storage unit that detects an unauthorized message in an in-vehicle network mounted on a vehicle, and uses a computer as the in-vehicle network. Functions as a message acquisition unit for acquiring one or more transmitted messages in the above, and a data acquisition unit for acquiring a set of a plurality of types of data included in the transmitted message acquired by the message acquisition unit and corresponding to the same time.
- the storage unit is a program for storing the detection conditions based on the plurality of sets corresponding to the plurality of times, which are created in advance, and further, the computer is acquired by the data acquisition unit.
- the calculation unit that calculates the estimation error of the data of the type of the monitoring target in the set, the estimation error calculated by the calculation unit, and the calculation unit calculated in the past. It is a program for functioning as a determination unit for determining whether or not the transmitted message corresponding to the data of the type to be monitored is an invalid message based on the estimation error.
- the estimation error of the type of data to be monitored in the set of multiple types of data is calculated, and the transmitted message corresponding to the data is invalid based on the calculated estimation error and the estimation error calculated in the past.
- FIG. 1 is a diagram showing a configuration of an in-vehicle communication system according to the first embodiment of the present disclosure.
- the vehicle-mounted communication system 301 includes a gateway device 101, a plurality of vehicle-mounted communication devices 111, and a plurality of bus connection device groups 121.
- FIG. 2 is a diagram showing a configuration of a bus connection device group according to the first embodiment of the present disclosure.
- the 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 a plurality of control devices 122, and may be configured to include one control device 122.
- the in-vehicle communication system 301 is mounted on the vehicle 1 traveling on the road.
- the vehicle-mounted network 12 includes a plurality of vehicle-mounted devices that are devices inside the vehicle 1.
- the vehicle-mounted network 12 includes a plurality of vehicle-mounted communication devices 111 and a plurality of control devices 122, which are examples of vehicle-mounted devices.
- the in-vehicle network 12 may be configured to include a plurality of in-vehicle communication devices 111 and not to include the control device 122 as long as it includes a plurality of in-vehicle devices, or may not include the in-vehicle communication device 111 and a plurality of them. It may be configured to include the control device 122 of the above, or may be configured to include one in-vehicle communication device 111 and one control device 122.
- the vehicle-mounted communication device 111 communicates with, for example, a device outside the vehicle 1.
- the in-vehicle communication device 111 is, for example, a TCU (Telematics Communication Unit), a short-range wireless terminal device, and an ITS (Intelligent Transport Systems) radio.
- the TCU can perform wireless communication with the wireless base station device and can communicate with the gateway device 101 according to a communication standard such as LTE (Long Term Evolution) or 3G.
- the TCU relays information used for services such as navigation, vehicle theft prevention, remote maintenance and FOTA (Firmware Over The Air).
- the short-range wireless terminal device is, for example, a wireless terminal device such as a smart phone held by a person riding in vehicle 1, that is, a passenger, in accordance with communication standards such as Wi-Fi (registered trademark) and Bluetooth (registered trademark). It is possible to perform wireless communication and to communicate with the gateway device 101.
- the short-range wireless terminal device relays information used for services such as entertainment, for example.
- the short-range wireless terminal device includes, for example, a wireless terminal device such as a smart key held by a passenger, a wireless terminal device provided on a tire, and an LF (Low Frequency) band or UHF (Ultra) according to a predetermined communication standard. It is possible to perform wireless communication using radio waves in the High Frequency band, and it is possible to perform communication with the gateway device 101.
- the short-range wireless terminal device relays information used for services such as smart entry and TPMS (Tire Pressure Monitoring System).
- the ITS radio can perform road-to-vehicle communication with roadside units such as optical beacons, radio wave beacons, and ITS spots provided near the road, and can be used for road-to-vehicle communication with in-vehicle terminals mounted on other vehicles. It is possible to communicate with the gateway device 101.
- the ITS radio relays information used for services such as congestion relief, safe driving support, and route guidance.
- the gateway device 101 can transmit and receive data such as firmware updates and data accumulated by the gateway device 101 to and from the maintenance terminal device outside the vehicle 1 via the port 112.
- the gateway device 101 is connected to the in-vehicle device via, for example, transmission lines 13 and 14.
- the transmission lines 13 and 14 are, for example, CAN (Control Area Network) (registered trademark), FlexRay (registered trademark), MOST (Media Oriented Systems Transport) (registered trademark), Ethernet (registered trademark), and It is a transmission line that conforms to standards such as LIN (Local Ethernet Network).
- the in-vehicle communication device 111 is connected to the gateway device 101 via a corresponding transmission line 14 according to the Ethernet standard. Further, each control device 122 in the bus connection device group 121 is connected to the gateway device 101 via a corresponding transmission line 13 according to the CAN standard. The control device 122 can control the functional unit in the vehicle 1, for example.
- the transmission line 13 is provided for each system, for example.
- the transmission line 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, an AT (Automatic Transmission) control device, and a HEV (Hybrid Electric Vehicle) control device, which are examples of the control device 122, are connected to the drive system bus.
- the engine control device, the AT control device, and the HEV control device control the engine, the AT, and the switching between the engine and the motor, respectively.
- a brake control device, a chassis control device, and a steering control device which are examples of the control device 122, are connected to the chassis / safety system bus.
- the brake control device, chassis control device and steering control device control the brake, chassis and steering, respectively.
- An instrument display control device, an air conditioner control device, an anti-theft control device, an airbag control device, and a smart entry control device which are examples of the control device 122, are connected to the body / electrical system bus.
- the instrument display control device, the air conditioner control device, the anti-theft control device, the air bag control device, and the smart entry control device control the instrument, the air conditioner, the anti-theft mechanism, the air bag mechanism, and the smart entry, respectively.
- the AV / information system bus is connected to a navigation control device, an audio control device, an ETC (Electronic Toll Collection System) (registered trademark) control device, and a telephone control device, which are examples of the control device 122.
- the navigation control device, the audio control device, the ETC control device, and the telephone control device control the navigation device, the audio device, the ETC device, and the mobile phone, respectively.
- the transmission line 13 is not limited to the configuration in which the control device 122 is connected, and a device 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 the in-vehicle device.
- CGW central gateway
- the gateway device 101 is, for example, information exchanged between the control devices 122 connected to different transmission lines 13 in the vehicle 1, information exchanged between the in-vehicle communication devices 111, and between the control device 122 and the in-vehicle communication device 111. Performs relay processing to relay the exchanged information.
- a message is periodically transmitted from one in-vehicle device to another in-vehicle device according to a predetermined agreement.
- a message transmitted periodically from one control device 122 to another control device 122 will be described, but a message transmitted between the control device 122 and the in-vehicle communication device 111, and between each in-vehicle communication device 111. The same applies to the messages sent.
- the message may be transmitted by broadcasting or by unicast.
- the message transmitted periodically is also referred to as a periodic message.
- the 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 whether or not the message is a periodic message by ID.
- FIG. 3 is a diagram showing a configuration of a gateway device in an in-vehicle communication system according to the first embodiment of the present disclosure.
- the gateway device 101 includes a communication processing unit 51, a storage unit 52, a data acquisition unit 53, a detection unit 54, and a message acquisition unit 55.
- the communication processing unit 51, the data acquisition unit 53, the detection unit 54, and the message acquisition unit 55 are realized by, for example, a processor such as a CPU (Central Processing Unit) and a DSP (Digital Signal Processor).
- the storage unit 52 is, for example, a non-volatile memory.
- the detection unit 54 is an example of a calculation unit and an example of a determination unit.
- the gateway device 101 functions as a detection device and detects an unauthorized message in the vehicle-mounted network 12 mounted on the 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 transmission line 13, the communication processing unit 51 transmits the received message to the other control device 122 via the corresponding transmission line 13.
- the message acquisition unit 55 acquires a plurality of transmitted messages in the vehicle-mounted network 12.
- the message acquisition unit 55 stores, for example, a plurality of acquired transmission messages in the storage unit 52.
- detection condition information including the type of data to be acquired 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 acquired by itself based on the detection condition information registered in the storage unit 52.
- the message acquisition unit 55 monitors the data included in the message relayed by the communication processing unit 51, and performs the following processing each time it detects a message containing data of the type to be acquired.
- the message acquisition unit 55 acquires the detected message from the communication processing unit 51, and attaches 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 disclosure.
- the horizontal axis represents data X and the vertical axis represents data Y.
- the storage unit 52 stores detection conditions based on a plurality of sets corresponding to a plurality of times, for example, data creation times, which are created in advance.
- the set is, for example, a set of two types of data included in the transmitted message acquired by the message acquisition unit 55 and corresponding to the same creation time.
- 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. More specifically, the normal model M2 is created based on a set of data of a type of monitoring target and data having a correlation with the data of the type of monitoring target.
- the raw data R1 to the raw data RN are, for example, data acquired at the time of development in a test vehicle of the same type as the vehicle 1.
- the server converts, for example, raw data R1 to raw data RN into data 1 to data N including a plurality of time-series data at a plurality of creation times, each of which is common.
- the server resamples the raw data R2, for example, if the time series data included in the raw data R1 and the time series data included in the raw data R2 are not synchronized. Therefore, the creation time of the time-series data included in the raw data R2 is synchronized with the creation time of the time-series data included in the raw data R1.
- the server may resample the raw data R3, for example, if the time series data included in the raw data R1 is created and the time series data included in the raw data R3 is created out of sync.
- the creation time of the time series data included in the raw data R3 is synchronized with the creation time of the time series data included in the raw data R1.
- the server performs the same processing on the raw data R4 to the raw data RN to create the time series data included in the raw data R1 at the time of creating the time series data included in the raw data R4 to the raw data RN. Synchronize with the time. As a result, the raw data R1 to the raw data RN, each of which contains a plurality of time-series data, are converted into data 1 to data N, each of which contains a plurality of time-series data at a plurality of common creation times.
- the server selects data X and Y from, for example, data 1 to data N.
- X and Y are different from each other and are integers of any one of 1 to N.
- the selection of data X and Y is performed, for example, by brute force.
- FIG. 4 a set of data X and data Y corresponding to a plurality of time-series data at a plurality of common creation times is shown by black circles.
- the server calculates the correlation coefficient based on, for example, a plurality of sets of selected data X and data Y.
- the server determines that there is a correlation between data X and data Y. Further, for example, when the calculated correlation coefficient is larger than 0.7, the server determines that there is a strong correlation between the data X and the data Y.
- the server determines that there is a correlation or a strong correlation between the data X and the data Y
- the server creates a normal model M2 based on the data X and the data Y.
- the server usually models by machine learning according to algorithms such as Mahalanobis, Oneclas-SVM (Support Vector Machine), LOF (Local Outlier Factor), Isolation forest, and NN (Nearest-Neighbor). create.
- Mahalanobis Oneclas-SVM (Support Vector Machine), LOF (Local Outlier Factor), Isolation forest, and NN (Nearest-Neighbor).
- the server does not normally create the model M2.
- the server creates, for example, a plurality of normal models M2, and creates model information for each of the created normal models M2.
- the model information indicates a combination of the normal model M2 and the corresponding types of data X and Y.
- the combination of types of data X and 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 model information created by the server is, for example, collected as detection condition information and then registered in the storage unit 52 at the time of manufacturing the vehicle 1.
- the detection condition information may be updated. Specifically, for example, 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, and may be configured to create one normal model M2.
- the data acquisition unit 53 acquires two types of data sets corresponding to the same time, for example, the reception time, included in the transmission message acquired by the message acquisition unit 55.
- the data acquisition unit 53 acquires a plurality of model information included in the detection condition information stored in the storage unit 52 from the storage unit 52.
- the data acquisition unit 53 acquires, for example, two types of data sets from each transmission message stored in the storage unit 52.
- the data acquisition unit 53 acquires, for example, a set of two types of data included in the same transmitted message from the storage unit 52 based on the acquired plurality of model information.
- the data acquisition unit 53 is stored in the storage unit 52.
- the two types of data are acquired from the transmitted message.
- the data acquisition unit 53 acquires the two types of data from the newly stored transmission message. , The set of the acquired two types of data, and the combination of the types indicated by the model information are output to the detection unit 54.
- the data acquisition unit 53 sets the two types of data stored in the transmitted message at the same reception time as a "two types of data set". To get.
- 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 disclosure.
- the horizontal axis indicates time.
- the data acquisition unit 53 acquires, for example, a set of two types of data included in different transmission messages from the storage unit 52 based on the acquired plurality of model information.
- the data acquisition unit 53 performs the following processing.
- the data acquisition unit 53 acquires, for example, a plurality of transmission message MJs including one type of data DJ and a plurality of transmission message MKs including the other type of data DK from the storage unit 52.
- the transmission message MJ and the transmission message MK are messages transmitted in the same cycle, for example, in the vehicle-mounted network 12.
- the data acquisition unit 53 associates the reception time with one type of data DJ, for example, based on the time stamps attached to a plurality of transmitted message MJs including 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 examples of the data DJ, respectively.
- the data acquisition unit 53 associates the reception time with the other type of data DK based on the time stamps attached to the plurality of transmitted message MKs including the other type of data DK, for example.
- the data acquisition unit 53 associates the reception times tk1 and tk2 with the data DK1 and DK2, which are examples of the data DK, respectively.
- 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 in which the reception time of one type of data DJ and the reception time of the other type of data DK are synchronized.
- the data acquisition unit 53 performs synchronization processing, for example, when a transmission message MJ including one type of data DJ is newly stored in the storage unit 52 by the message acquisition unit 55.
- the data acquisition unit 53 recycles the data DK including the data DK1, DK2 and the like. By sampling, resample data RDK1 and RDK2 corresponding to the reception times tj1 and tj2 are generated. For example, the data acquisition unit 53 generates resample data RDK1 and RDK2 corresponding to the reception times tj1 and tj2, respectively, by interpolating the data DK based on the plurality of data DKs.
- the data acquisition unit 53 acquires the latest two types of data sets from the two types of synchronized data, and the acquired two types of data sets and the types indicated by the model information. The combination is output to the detection unit 54.
- the data acquisition unit 53 outputs, for example, a set of data DJ2 and resample data RDK2, and a combination of types indicated by model information to the detection unit 54. That is, for example, when two types of data are included in different transmission messages, the data acquisition unit 53 and the data DJ2 of one type stored in the transmission message MJ at the reception time tj2 as a "set of two types of data". , Acquires a set of data consisting of the resample data RDK2 of the data DK2 stored in the transmission message MK at the reception time tk2 immediately before the reception time tj2 among the transmission message MKs including the other type of data DK. do. As described above, the data acquisition unit 53 is not limited to the configuration in which, for example, when two types of data are included in different transmission messages, the data acquisition unit 53 acquires a set of two types of data stored in the transmission messages at the same reception time.
- the timing at which the data acquisition unit 53 performs the synchronization processing may be, for example, the timing at which the transmission message MK including the other type of data DK is newly stored in the storage unit 52 by the message acquisition unit 55.
- the data acquisition unit 53 recycles the data DK including the data DK1, DK2 and the like. By sampling, resample data RDK1 corresponding to the reception time tj1 is generated. For example, the data acquisition unit 53 generates the resample data RDK1 corresponding to the reception time tj1 by interpolating the data DK based on the plurality of data DKs.
- the data acquisition unit 53 outputs, for example, a set of the data DJ1 and the resample data RDK1 and a combination of the types indicated by the model information to the detection unit 54.
- both the transmission message including one type of data and the transmission message including the other type of data are newly stored in the storage unit 52 by the message acquisition unit 55. It may be the timing to be done.
- 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 disclosure.
- the horizontal axis indicates time.
- the transmitted message MP including one type of data DP and the transmitted message MQ including the other type of data DQ are messages transmitted in different cycles, for example, in the vehicle-mounted network 12.
- the data acquisition unit 53 associates the reception times tp1 and tp2 with the data DP1 and DP2, which are examples of the data DP, respectively.
- the data acquisition unit 53 associates the reception times tq1, tq2, tq3, and tq4 with the data DQ1, DQ2, DQ3, and DQ4, which are examples of the data DQ, respectively.
- the data acquisition unit 53 performs synchronization processing when, for example, both the transmitted message MP and the MQ are newly stored in the storage unit 52 by the message acquisition unit 55.
- the data acquisition unit 53 determines, for example, that both the transmission message MP and the MQ are newly stored in the storage unit 52 by the message acquisition unit 55 at the reception time tp1, and performs synchronization processing.
- the data acquisition unit 53 determines that, for example, at the reception time tp2, both the transmission message MP and the MQ are newly stored in the storage unit 52 by the message acquisition unit 55, and performs synchronization processing.
- the data acquisition unit 53 In the synchronization process at the reception time tp2, the data acquisition unit 53 generates the resample data RDQ1 and RDQ2 corresponding to the reception times tp1 and tp2 by resampling the data DQ including the data DQ1 to DQ4 and the like. ..
- the data acquisition unit 53 generates resample data RDQ1 and RDQ2 corresponding to the reception times tp1 and tp2, respectively, by interpolating the data DQ based on the plurality of data DQs.
- the data acquisition unit 53 outputs, for example, a set of data DP2 and resample data RDQ2, and a combination of types indicated by model information to the detection unit 54.
- the data acquisition unit 53 resamples the data DP including the data DP1, DP2, etc., and thereby corresponds to the reception times tq1 to tq4, respectively, and the resample data RDP1 to RDP4 (not shown). May be generated. Specifically, for example, the data acquisition unit 53 generates resample data RDP1 to RDP4 corresponding to the reception times tq1 to tq4 by interpolating the data DP based on the plurality of data DPs.
- the data acquisition unit 53 outputs the set of the resample data RDP4 and the data DQ4 and the combination of the types indicated by the model information to the detection unit 54. That is, for example, when two types of data are included in different transmission messages, the data acquisition unit 53 and the data acquisition unit 53 of one type stored in the transmission message MQ at the reception time tq4 as a "set of two types of data". , Acquires a set of data consisting of the resample data RDP4 of the data DP2 stored in the transmission message MP at the reception time tp2 immediately after the reception time tq4 among the transmission message MPs including the other type of data DP. do.
- the data acquisition unit 53 may output the set of the resample data RDP2 and the data DQ2 and the set of the resample data RDP3 and the data DQ3 to the detection unit 54 together. This makes it possible to increase the number of data used for detecting malicious 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 two sets of data acquired by the data acquisition unit 53 have the same reception time of 2.
- the data creation time and the data reception time are substantially the same.
- 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 calculates an estimated value of the monitored data, which is the data of the type of the monitored target in the set of the two types of data acquired by the data acquisition unit 53, and includes the monitored data using the calculated estimated value. Determine if the outgoing message is an invalid message.
- FIG. 7 is a diagram for explaining the creation process in the learning phase of the normal model according to the first embodiment of the present disclosure.
- one normal model M2 is created based on the monitored data and the correlation data.
- the monitored data and the correlation data have a correlation.
- the monitored data is data measured by a sensor, specifically, data that continuously changes such as vehicle speed, engine speed, and yaw rate.
- the data measured by the sensor is also referred to as sensor data.
- the correlation data may be sensor data or status data which is data representing a predefined state.
- the status data specifically represents the state of an operation unit such as a gear and a seat belt in the vehicle 1, for example.
- the server trains the normal model M2 using, for example, a LASSO (Lasso Absolute Shrinkage and Selection Operator) and a regression tree based on the training data set.
- LASSO Lasso Absolute Shrinkage and Selection Operator
- the learning data set includes monitoring target data and correlation data corresponding to a plurality of the same times, specifically, times tm1, tm2, tm3, tm4, tm5 and the like, respectively.
- the server creates the normal model M2 so that, for example, when the correlation data corresponding to the same time is input to the normal model M2, an estimated value close to the value of the corresponding monitored data is output. ..
- FIG. 8 is a diagram for explaining the verification process in the test phase of the normal model according to the first embodiment of the present disclosure.
- the normal model M2 is validated using a test dataset similar to the training dataset.
- the server creates a distribution of estimation errors using the normal model M2. More specifically, the server acquires the estimated value output from the normal model M2 by inputting the correlation data at time tt1 which is a part of the test data set into the normal model M2.
- the server calculates the estimation error ydiff using, for example, the following equation (1).
- y1 is the value of the corresponding monitored data, that is, the value of the monitored data at time tt1. Further, the y1 hat is an estimated value output from the normal model M2.
- the server creates verification data including the estimation error ydiff at each time by processing the correlation data and the monitored data at the time different from the time tt1 in the test data set in the same manner.
- the server creates a distribution of estimation error ydiff based on the verification data.
- This distribution represents the frequency of estimation error ydiff.
- the distribution is single peak.
- the server calculates the average value ⁇ and the variance ⁇ ⁇ 2 of each estimation error ydiff included in the verification data.
- a ⁇ b means a to the b-th power.
- the server creates, for example, model information Md2 indicating a combination of a normal model M2, an average value ⁇ and a dispersion ⁇ ⁇ 2, and a type of monitored data and correlation data.
- the model information Md2 created by the server is registered in the storage unit 52 as detection condition information at the time of manufacturing the vehicle 1, for example.
- the data acquisition unit 53 acquires the detection condition information from the storage unit 52, and acquires the model information Md2 included in the acquired detection condition information.
- the data acquisition unit 53 acquires two types of data sets as described above. .. Specifically, the following processing is performed.
- the data acquisition unit 53 acquires a set of monitored data and correlation data included in the same transmitted message from the storage unit 52 based on the model information Md2, and the acquired set and the combination of the types indicated by the model information Md2. Is output to the detection unit 54.
- Synchronize processing is performed as follows. Specifically, the following processing is performed.
- the data acquisition unit 53 acquires a set of monitored data and correlation data included in different transmitted messages from the storage unit 52 based on the model information Md2, and synchronizes with the acquired monitored data and correlation data. Perform processing.
- the data acquisition unit 53 acquires the latest monitoring target data and correlation data set from the synchronized monitoring target data and correlation data, and obtains the acquired set and the combination of the types indicated by the model information Md2. Output to the detection unit 54.
- FIG. 9 is a diagram for explaining a fraudulent message detection process using the normal model according to the first embodiment of the present disclosure.
- the detection unit 54 when the detection unit 54 receives, for example, a set of monitored data and correlation data at time td1 and a combination of the types shown by the model information Md2 from the data acquisition unit 53, the detection condition in the storage unit 52
- the model information Md2 corresponding to the received combination is acquired from the storage unit 52 by referring to a plurality of model information included in the information.
- the detection unit 54 is, for example, two types in the set acquired by the data acquisition unit 53 based on the set of the monitored data and the correlation data acquired by the data acquisition unit 53 and the normal model M2 included in the model information Md2. Calculate the estimation error ydiff of the monitored data among the data of.
- the detection unit 54 acquires the estimated value output from the normal model M2 by inputting the correlation data received from the data acquisition unit 53 into the normal model M2 included in the model information Md2.
- the detection unit 54 calculates the estimation error ydiff at the time td1 by substituting the acquired estimated value and the value of the monitored data at the time td1 into the above equation (1) as y1 hat and y1, respectively.
- the detection unit 54 stores the calculated estimation error ydiff in the storage unit 52.
- the detection unit 54 calculates an evaluation value regarding the validity of the monitored data based on the calculated estimation error ydiff and the distribution of the estimation error ydiff created by using the normal model M2.
- the detection unit 54 substitutes, for example, the calculated estimation error ydiff and the average value ⁇ and the variance ⁇ ⁇ 2 included in the model information Md2 into the following equation (2) to obtain the Mahalanobis distance at time t.
- the detection unit 54 calculates the Mahalanobis distance D (td1) ⁇ 2 of the estimation error ydiff at the time td1.
- the Mahalanobis distance D (t) ⁇ 2 is an example of an evaluation value regarding the correctness of the monitored data.
- the detection unit 54 may be configured to calculate the vector of the estimation error ydiff by performing multivariate analysis and calculate the Mahalanobis distance D (t) ⁇ 2 based on the following equation (3). ..
- X (t) is a vector with an estimation error ydiff
- ⁇ x is an average vector with an estimation error ydiff
- the detection unit 54 stores the calculated Mahalanobis distance D (t) ⁇ 2 in the storage unit 52 in association with the estimation error ydiff.
- the detection unit 54 determines whether or not the transmitted message corresponding to the monitored data is an invalid message based on the calculated estimation error ydiff and the estimation error ydiff calculated in the past. More specifically, when the detection unit 54 calculates the estimation error ydiff, the transmission message corresponding to the monitored data is an invalid message based on the estimation error ydiff and the estimation error ydiff calculated immediately before in the storage unit 52. Judge whether or not it is.
- the detection unit 54 determines whether the transmitted message corresponding to the monitored data is an invalid message based on the calculated Mahalanobis distance D (t) ⁇ 2 and the previously calculated Mahalanobis distance D (t) ⁇ 2. Judge whether or not.
- the detection unit 54 calculates the Mahalanobis distance D (t) ⁇ 2 at the time t, the Mahalanobis distance D (t) ⁇ 2 and the time (t-1) calculated immediately before the storage unit 52 are calculated. Based on the Mahalanobis distance D (t-1) ⁇ 2 in the above, it is determined whether or not the transmitted message corresponding to the monitored data is an invalid message.
- the detection unit 54 determines whether or not the transmitted message corresponding to the monitored data is an invalid message by using an analysis method according to CUSUM (Cumlative Sum) or MCUSUM (Multivariate Cumlative Sum).
- the detection unit 54 calculates the Mahalanobis distance D (t) ⁇ 2
- the calculated Mahalanobis distance D (t) ⁇ 2 is substituted into the following equation (4) to obtain a score T (t) ⁇ . 2 is calculated, and the calculated score T (t) ⁇ 2 is stored in the storage unit 52.
- the score T (t-1) ⁇ 2 is the score of the Mahalanobis distance D (t-1) ⁇ 2 at the time (t-1) calculated immediately before the Mahalanobis distance D (t) ⁇ 2.
- k is a preset parameter for limiting the outlier of the sum of the score T (t-1) ⁇ 2 and the Mahalanobis distance D (t) ⁇ 2.
- the detection unit 54 determines that the transmitted message corresponding to the monitored data is an invalid message.
- the detection unit 54 determines that the transmitted message corresponding to the monitored data is a legitimate message.
- the detection unit 54 determines that the transmitted message corresponding to the monitored data is an invalid message, the detection unit 54 performs the following processing, for example. That is, the detection unit 54 records in the storage unit 52 the ID of the transmission message determined to be invalid, the combination of the corresponding types, and the like.
- the detection unit 54 notifies the host device inside or outside the vehicle 1 that an unauthorized message is being transmitted on the transmission line 13 via the communication processing unit 51.
- the distribution of the estimation error ydiff created by the server is a single peak, it is not limited to this.
- the distribution of the estimation error ydiff created by the server may be multimodal.
- the server approximates the distribution of the estimation error ydiff by, for example, a mixed Gaussian distribution in which K Gaussian distributions are superimposed, and the average value ⁇ 1 to ⁇ K and the variance ⁇ 1 ⁇ 2 to ⁇ K ⁇ 2 of each Gaussian distribution.
- the mixing ratios C1 to CK of each Gaussian distribution are calculated.
- the server creates, for example, model information Md2 indicating a combination of a normal model M2, an average value ⁇ 1 to ⁇ K, a variance ⁇ 1 ⁇ 2 to ⁇ K ⁇ 2, a mixing ratio C1 to CK, and a type of monitored data and correlation data.
- model information Md2 indicating a combination of a normal model M2, an average value ⁇ 1 to ⁇ K, a variance ⁇ 1 ⁇ 2 to ⁇ K ⁇ 2, a mixing ratio C1 to CK, and a type of monitored data and correlation data.
- the detection unit 54 substitutes the calculated estimation error ydiff, the average values ⁇ 1 to ⁇ k, the variances ⁇ 1 ⁇ 2 to ⁇ k ⁇ 2, and the mixing ratios C1 to Ck included in the model information Md2 into the following equation (5). By doing so, the Mahalanobis distance D (t) ⁇ 2 is calculated.
- the detection unit 54 calculates the Mahalanobis distance D (t) ⁇ 2 and uses an analysis method according to CUSUM or MCUSUM to determine whether or not the transmitted message corresponding to the monitored data is an invalid message. There is, but it is not limited to this.
- the detection unit 54 calculates a moving average of the estimation error ydiff based on the calculated estimation error ydiff and the estimated error ydiff calculated in the past, and corresponds to the monitored data based on the calculated moving average. It may be configured to determine whether or not the transmitted message is an invalid message. That is, the detection unit 54 uses an analysis method according to EWMA (Exponential Weighted Moving Average) or MEWMA (Multivariate Exponential Weighting Average) to determine whether or not the transmission message corresponding to the monitored data is an invalid message. May be.
- EWMA Exponential Weighted Moving Average
- MEWMA Multivariate Exponential Weighting Average
- the detection unit 54 calculates the vector of the estimation error ydiff by performing multivariate analysis, and calculates the exponentially weighted moving average A (t) based on the following equation (7).
- X (t) is a vector of estimation error ydiff
- ⁇ is a preset moving average coefficient
- the detection unit 54 calculates the exponentially weighted moving average A (t)
- the score Ta (t) ⁇ 2 is calculated by substituting the calculated exponentially weighted moving average A (t) into the following equation (8). do.
- the detection unit 54 determines that the transmitted message corresponding to the monitored data is an invalid message.
- the detection unit 54 determines that the transmitted message corresponding to the monitored data is a legitimate message.
- the normal model has a configuration created based on a set of two types of data having a predetermined correlation, but the present invention is not limited to this, and a predetermined correlation is established. It may be a configuration created based on, for example, a set of three or more types of data having.
- one normal model M4 is created based on the monitoring target data and the q types of correlation data.
- q is an integer of 2 or more.
- the monitored data and each of the q types of correlation data have a correlation. Further, there may or may not be a correlation between the q types of correlation data.
- the server trains the normal model M4 using, for example, a LASSO and a regression tree based on a training data set.
- the learning data set includes a plurality of monitored data and correlation data groups corresponding to the same time, specifically, the times tm1, tm2, tm3, tm4, tm5 and the like, respectively.
- the server creates the normal model M4 so that, for example, when the correlation data group corresponding to the same time is input to the normal model M4, an estimated value close to the value of the corresponding monitored data is output. do.
- the server creates verification data including the estimation error ydiff at each time, and creates a distribution of the estimation error ydiff based on the generated verification data.
- the server calculates the average value ⁇ and the variance ⁇ ⁇ 2 of each estimation error diff included in the verification data.
- the server creates, for example, the normal model M4, the mean value ⁇ and the variance ⁇ ⁇ 2, and the model information Md4 indicating the combination of q types of data in the monitored data and the correlation data group.
- the model information Md4 created by the server is registered in the storage unit 52 as detection condition information at the time of manufacturing the vehicle 1, for example.
- the data acquisition unit 53 acquires the detection condition information from the storage unit 52, and acquires the model information Md4 included in the acquired detection condition information.
- the data acquisition unit 53 performs the following processing when a transmission message including data matching the combination indicated by the model information Md4 is newly stored in the storage unit 52 by the message acquisition unit 55.
- the data acquisition unit 53 acquires a set of monitored data and correlation data groups included in the same transmitted message from the storage unit 52 based on the model information Md4, and the acquired set and the type indicated by the model information Md4. The combination is output to the detection unit 54.
- the data acquisition unit 53 acquires a set of the monitoring target data and the correlation data group included in different transmitted messages from the storage unit 52 based on the model information Md4, and the acquired monitoring target data and the correlation data group. Perform synchronization processing.
- the data acquisition unit 53 acquires the latest set of the monitored target data and the correlation data group from the synchronized monitored target data and the correlated data group, and the acquired set and the type indicated by the model information Md4. The combination is output to the detection unit 54.
- the detection unit 54 When the detection unit 54 receives, for example, a set of monitored data and a correlation data group at time td1 from the data acquisition unit 53, and a combination of the types indicated by the model information Md4, the detection unit 54 includes a plurality of detection condition information included in the storage unit 52.
- the model information Md4 corresponding to the received combination is acquired from the storage unit 52 with reference to the model information.
- the detection unit 54 is monitored using the above equation (1) based on, for example, a set of monitored data and a set of correlation data groups acquired by the data acquisition unit 53, and a normal model M4 included in the model information Md4.
- the data estimation error ydiff is calculated, and the calculated estimation error ydiff is stored in the storage unit 52.
- the detection unit 54 calculates the Mahalanobis distance D (t) ⁇ 2 by substituting the calculated estimation error ydiff and the average value ⁇ and the variance ⁇ ⁇ 2 included in the model information Md4 into the above equation (2).
- the calculated Mahalanobis distance D (t) ⁇ 2 is stored in the storage unit 52 in association with the estimation error ydiff.
- the detection unit 54 calculates the score T (t) ⁇ 2 by substituting the calculated Mahalanobis distance D (t) ⁇ 2 into the above equation (4), and obtains the calculated score T (t) ⁇ 2. Based on this, it is determined whether or not the transmitted message corresponding to the monitored data is an invalid message.
- two detection conditions are created based on the monitoring target data and the two types of correlation data.
- the server determines that there is a correlation or a strong correlation between the data S and the data T, and there is a correlation or a strong correlation between the data S and the data U in the data 1 to the data N at a plurality of common creation times. If it is determined to be present, the following processing is performed.
- the server creates the normal model M4 based on the data S and T, and also creates the normal model M4 based on the data S and U, regardless of the magnitude of the correlation coefficient between the data T and the data U.
- the calculation load in creating the normal model can be reduced as compared with the configuration in which one normal model M4 is created based on the data S, T, and U.
- the gateway device 101 is configured to use one normal model M4 or two normal models M4 based on the data S, T, U, but is not limited thereto.
- a multidimensional data set can be converted into a lower dimensional data set by using the principal component analysis described in Patent Document 2 (Japanese Unexamined Patent Publication No. 2016-57438). Is.
- the server converts, for example, a set of three types of data into a set of two types of data using principal component analysis, and creates a normal model M4 based on the set after conversion.
- the storage unit 52 in the gateway device 101 contains an eigenvector for converting a set of three types of data into a set of two types of data, a normal model M4 created by a server, and corresponding data S, data T, and data U. Model information indicating a combination of types of is registered.
- the detection unit 54 When the detection unit 54 receives three types of data sets and a combination of the types indicated by the model information from the data acquisition unit 53, the detection unit 54 refers to the model information in the storage unit 52, and the normal model M4 and the eigenvector corresponding to the received combination. Is acquired from the 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 converted set and the normal model M4, the 3 Determine if one, two, or three outgoing messages containing a type of data are malicious.
- FIG. 10 is a diagram for explaining a creation process in the learning phase of a modified example of the normal model according to the first embodiment of the present disclosure.
- one normal model M5 is created based on the monitored data and q types of correlation data.
- the monitored data and each of the q types of correlation data have a correlation. Further, there may or may not be a correlation between the q types of correlation data.
- the monitored data is status data indicating the status.
- the monitored data is status data that changes discontinuously, for example, the shift position of the gear 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 server trains the normal model M5 using, for example, a decision tree and Random Forest based on the training data set.
- the learning data set includes a plurality of monitored data and correlation data groups corresponding to the same time, specifically, the times tm1, tm2, tm3, tm4, tm5 and the like, respectively.
- the server sets the normal model M5 so that, for example, when the correlation data group corresponding to the same time is input to the normal model M5, an estimated value matching the value of the corresponding monitored data is output. create.
- the server creates, for example, a normal model M5 and model information Md5 indicating a combination of q types of data in the monitored data and the correlation data group.
- the model information Md5 created by the server is registered in the storage unit 52 as detection condition information at the time of manufacturing the vehicle 1, for example.
- the data acquisition unit 53 acquires the detection condition information from the storage unit 52, and acquires the model information Md5 included in the acquired detection condition information.
- the data acquisition unit 53 performs the following processing when a transmission message including data matching the combination indicated by the model information Md5 is newly stored in the storage unit 52 by the message acquisition unit 55.
- the data acquisition unit 53 acquires a set of monitored data and correlation data groups included in the same transmitted message from the storage unit 52 based on the model information Md5, and the acquired set and the type indicated by the model information Md5. The combination is output to the detection unit 54.
- the data acquisition unit 53 acquires a set of the monitoring target data and the correlation data group included in the different transmitted messages from the storage unit 52 based on the model information Md5, and the acquired monitoring target data and the correlation data group. Perform synchronization processing.
- the data acquisition unit 53 acquires the latest set of the monitored target data and the correlation data group from the synchronized monitored target data and the correlated data group, and the acquired set and the type indicated by the model information Md5. The combination is output to the detection unit 54.
- FIG. 11 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 disclosure.
- the detection unit 54 when the detection unit 54 receives, for example, a set of monitored data and a correlation data group at time td1 from the data acquisition unit 53, and a combination of the types shown by the model information Md5, the detection unit 54 detects the data in the storage unit 52.
- the model information Md5 corresponding to the received combination is acquired from the storage unit 52 by referring to a plurality of model information included in the condition information.
- the detection unit 54 estimates the value of the monitored 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 inputs the correlation data group received from the data acquisition unit 53 into the normal model M5 included in the model information Md5, so that the detection unit 54 is an estimated value of the monitored data output from the normal model M5. To get.
- the detection unit 54 calculates the estimation error ydiff by comparing the acquired estimated value with the value of the monitored data at the time td1.
- the detection unit 54 compares, for example, the acquired estimated value with the value of the monitored data at the time td1, and if these values match, "1" is set, and if these values do not match, the value is "1". Calculates "zero" as the estimation error ydiff.
- the detection unit 54 calculates the estimation error ydiff
- the calculated estimation error ydiff is stored in the storage unit 52.
- the detection unit 54 determines whether or not the transmitted message corresponding to the monitored data is an invalid message based on the calculated estimation error ydiff and the estimation error ydiff calculated in the past. More specifically, when the detection unit 54 calculates the estimation error ydiff, the transmission message corresponding to the monitored data is an invalid message based on the estimation error ydiff and the estimation error ydiff calculated immediately before in the storage unit 52. Judge whether or not it is.
- the detection unit 54 determines that the transmitted message corresponding to the monitored data is an invalid message. do.
- the transmission message corresponding to the monitored data is valid. Judge as a message.
- Each device in the in-vehicle communication system includes a computer including a memory, and an arithmetic processing unit such as a CPU in the computer is a program including a part or all of each step of the following flowchart and sequence. Is read from the memory and executed. The programs of these plurality of devices can be installed from the outside. The programs of these plurality of devices are distributed in a state of being stored in a recording medium.
- FIG. 12 is a flowchart defining an operation procedure when the gateway device according to the first embodiment of the present disclosure receives a transmission message.
- model information Md2 shows a combination of the normal model M2 and the types of the data X which is the monitored data and the data Y which is the correlation data.
- the gateway device 101 listens for a transmission message from, for example, the control device 122 (NO in step S102).
- the gateway device 101 receives the transmission message from the control device 122 (YES in step S102), the gateway device 101 confirms whether or not the received transmission message includes data of the type to be acquired (step S104).
- the gateway device 101 saves the received transmission message in the storage unit 52 (step S106). At this time, the gateway device 101 attaches a time stamp to the transmitted message.
- the gateway device 101 stores the received transmission message in the storage unit 52 (step S106), or receives the reception when the received transmission message does not include data of the type to be acquired (NO in step S104). After relaying the transmitted message, the control device 122 waits for a new transmitted message (NO in step S102).
- FIG. 13 is a flowchart defining an operation procedure when the gateway device according to the first embodiment of the present disclosure stores a received transmission message in a storage unit.
- model information Md2 shows a combination of the normal model M2 and the types of the data X which is the monitored data and the data Y which is the correlation data.
- the gateway device 101 waits for the transmitted message to be stored in the storage unit 52 (NO in step S202).
- the gateway device 101 displays the transmission target data and the correlation data corresponding to the two types of combinations indicated by the model information Md2, that is, the same transmission. It is confirmed whether or not it is stored in the message (step S204).
- step S204 when the gateway device 101 does not include the monitored data and the correlation data matching the two types of combinations indicated by the model information Md2 in the same transmitted message, that is, when they are separately included in separate transmitted messages (step S204). NO), synchronization processing is performed on the monitored data and the correlation data indicated by the model information Md2 (step S206).
- the gateway device 101 acquires a set of the monitoring target data and the correlation data indicated by the model information Md2 from the transmitted message, or the monitoring target indicated by the model information Md2 from the monitored data and the correlation data that have been synchronized.
- the latest set of data and correlation data is acquired (step S208).
- the gateway device 101 acquires the normal model M2 corresponding to the acquired set of the monitored data and the correlation data from the storage unit 52 (step S210).
- the gateway device 101 calculates the estimation error ydiff of the monitored data based on the acquired set of the monitored data and the correlation data and the normal model M2 (step S212).
- the gateway device 101 calculates the Mahalanobis distance D (t) ⁇ 2 based on the calculated estimation error ydiff and the distribution of the estimation error ydiff created by using the normal model M2 (step S214).
- the gateway device 101 has a score T (t) ⁇ 2 based on the calculated Mahalanobis distance D (t) ⁇ 2 and the Mahalanobis distance D (t-1) ⁇ 2 calculated immediately before in the storage unit 52. Is calculated (step S216).
- the gateway device 101 compares the calculated score T (t) ⁇ 2 with the predetermined threshold value Th1 (step S218).
- the gateway device 101 determines that the transmitted message corresponding to the monitored data is a legitimate message (step S222).
- the gateway device 101 determines that the transmitted message corresponding to the monitored data is an invalid message (step S224).
- the gateway device 101 waits for a new transmission message to be stored in the storage unit 52 (NO in step S202).
- the gateway device 101 acquires a set of monitored data and q types of correlation data in step S208, and acquires the corresponding normal model M4 from the storage unit 52 in step S210.
- the message acquisition unit 55 is configured to acquire a plurality of transmitted 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 transmitted message in the vehicle-mounted network 12. For example, when the data corresponding to the combination of the two types indicated by the model information is included in the one transmitted message, it is possible to determine whether or not the transmitted message is an invalid message.
- the gateway device 101 is configured to detect an unauthorized message in the in-vehicle network 12, but the present invention is not limited to this.
- a detection device different from 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 plurality of types of data sets corresponding to the same reception time, but the present invention is limited to this. is not it.
- the data acquisition unit 53 is not limited to the reception time, and may be configured to acquire a plurality of types of data sets corresponding to the same transmission time, the same creation time, and the like.
- the control device 122 stores the data creation time or the transmission time of the transmission message in the transmission message and transmits the data
- the data acquisition unit 53 has a plurality of types corresponding to the same transmission time or the same creation time. It is possible to get a set of data of.
- the detection unit 54 is configured to detect a transmission message exchanged between the control devices 122 as an unauthorized message, but the present invention is limited to this. It's not something to do.
- the detection unit 54 may be configured to detect the transmission message exchanged between the control device 122 and the vehicle-mounted communication device 111 and the transmission message exchanged between the vehicle-mounted communication device 111 as an unauthorized message detection target.
- the normal model is configured to be created based on a set of a plurality of types of data having a predetermined correlation, but the model is limited to this. It's not a thing.
- a normal model may have a configuration created based on a set of a plurality of types of data having no predetermined correlation.
- the data acquisition unit 53 acquires a plurality of types of data from each transmission message stored in the storage unit 52 by the message acquisition unit 55, and the acquired data.
- the configuration is not limited to this.
- the data acquisition unit 53 directly receives each transmitted message from the message acquisition unit 55, acquires a plurality of types of data from each received transmitted message, and retrieves the acquired data. It may be configured to be used for detection without sampling.
- a so-called occupied bus type attack model in which a legitimate message from a normal in-vehicle device is stopped and an unauthorized message having the same transmission cycle as the legitimate message is transmitted is assumed. ..
- an unauthorized in-vehicle device machine-learns the transmission time of a legitimate message from a normal in-vehicle device, and the standard deviation of the transmission interval is substantially the same as the standard deviation of the transmission interval of the legitimate message.
- Patent Document 1 can detect an unauthorized message by an occupied bus type attack model.
- the technique described in Patent Document 1 when the monitored data included in the legitimate message is suddenly changed, the legitimate message may be erroneously detected as an invalid message. Therefore, the detection performance is further improved. Improvement is desired.
- the gateway device 101 detects an unauthorized message in the vehicle-mounted network 12 mounted on the vehicle 1.
- the message acquisition unit 55 acquires one or more transmitted messages in the vehicle-mounted network 12.
- the data acquisition unit 53 acquires a set of a plurality of types of data corresponding to the same time included in the transmitted message acquired by the message acquisition unit 55.
- the storage unit 52 stores detection conditions based on a plurality of sets corresponding to a plurality of times, which are created in advance.
- the detection unit 54 calculates an estimation error of the monitored data in the set based on the set acquired by the data acquisition unit 53 and the detection conditions.
- the detection unit 54 determines whether or not the transmitted message corresponding to the monitored data is an invalid message based on the calculated estimation error and the estimation error calculated in the past.
- the detection method according to the first embodiment of the present disclosure is a detection method in the gateway device 101 including the storage unit 52, which detects an unauthorized message in the vehicle-mounted network 12 mounted on the vehicle 1.
- the storage unit 52 stores detection conditions based on a plurality of sets corresponding to a plurality of times, which are created in advance.
- the gateway device 101 acquires one or more transmitted messages in the vehicle-mounted network 12.
- the gateway device 101 acquires a set of a plurality of types of data corresponding to the same time included in the acquired transmitted message.
- the gateway device 101 calculates an estimation error of the monitored data in the set based on the acquired set and the detection condition.
- the gateway device 101 determines whether or not the transmitted message corresponding to the monitored data is an invalid message based on the calculated estimation error and the estimation error calculated in the past.
- the estimation error of the monitored data in a set of multiple types of data is calculated, and the transmitted message corresponding to the monitored data is an invalid message based on the calculated estimation error and the estimated error calculated in the past.
- the configuration and method of determining whether or not the data is sudden compared to, for example, the conventional configuration of determining whether or not the transmitted message is an invalid message based on the correctness of the current estimation error. Since the influence of the change on the judgment result can be suppressed, the detection performance can be improved.
- the detection device and the detection method according to the first embodiment of the present disclosure can more accurately detect an unauthorized message in an in-vehicle network. More specifically, according to the above configuration and method, in the occupied bus type attack model, for example, an unauthorized message can be detected by using the cumulative value of the estimation error, so that the technique is compared with the technique described in Patent Document 1. The detection performance can be improved. Further, according to the above configuration and method, even in a so-called shared bus type attack model in which a malicious message is transmitted without stopping a legitimate message from a normal in-vehicle device, for example, the cumulative value of estimation error is used. Since the fraudulent message can be detected, the detection performance can be improved as compared with the technique described in Patent Document 1 when there is a certain possibility that the normal message is determined to be a fraudulent message.
- the present embodiment relates to a gateway device incorporating detection of an unauthorized message based on a transmission interval of a transmission message, as compared with the gateway device according to the first embodiment. Except for the contents described below, the same is true for the gateway device according to the first embodiment.
- FIG. 14 is a diagram showing a configuration of a gateway device in an in-vehicle communication system according to a second embodiment of the present disclosure.
- the gateway 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, a distribution acquisition unit 58, and a detection unit 64.
- the detection unit 64 is an example of a calculation unit and an example of a determination unit.
- the operation 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 is the communication processing unit 51, the storage unit 52, the data acquisition unit 53, and the message acquisition unit in the gateway device 101 shown in FIG. This is the same as that of the part 55.
- the monitoring unit 57, the distribution acquisition unit 58, and the detection unit 64 are realized by, for example, a processor such as a CPU and a DSP.
- FIG. 15 is a diagram showing an example of a time change in the transmission interval of a periodic message to be monitored in the in-vehicle communication system according to the second embodiment of the present disclosure.
- the vertical axis indicates the transmission interval
- the horizontal axis indicates time.
- the transmission interval is, for example, the interval at which a periodic message to be monitored is transmitted on the transmission line 13.
- the periodic message to be monitored is also referred to as a target message.
- the transmission interval of the target message is not constant and varies. This is because arbitration is performed when the target message is transmitted, and delay variation in internal processing occurs due to a clock shift.
- the messages are assigned priorities according to, for example, IDs. For example, when the transmission timings of a plurality of messages overlap, the vehicle-mounted network 12 performs arbitration to transmit the high-priority message preferentially to the transmission line 13 over the low-priority message. Due to such arbitration, the transmission interval varies.
- FIG. 16 is a diagram showing an example of the frequency distribution of the transmission interval of the target message in the in-vehicle communication system according to the second embodiment of the present disclosure.
- the vertical axis indicates the frequency and the horizontal axis indicates the transmission interval.
- the frequency distribution of the transmission interval is almost symmetric with respect to Ct milliseconds.
- the frequency distribution of the transmission interval can be approximated by, for example, a predetermined model function Func1.
- the monitoring unit 57 monitors the transmitted message in the vehicle-mounted network 12, for example. More specifically, the monitoring unit 57 monitors, for example, the relay processing of the transmitted message in the communication processing unit 51, and measures the transmission interval of the target message based on the monitoring result.
- one ID indicating a target message is registered in the monitoring unit 57.
- the registered ID indicating the target message is also referred to as a registration ID.
- a plurality of registration IDs may be registered in the monitoring unit 57.
- the monitoring unit 57 confirms the ID included in the transmission message received by the communication processing unit 51.
- the confirmed ID matches the registered ID
- the monitoring unit 57 holds the transmission message received by the communication processing unit 51, that is, the reception time t1 of the target message, for example, as a measurement reference.
- 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 registration ID to the detection unit 64.
- the distribution acquisition unit 58 acquires, for example, the distribution of the transmission interval of the transmission message. Specifically, the distribution acquisition unit 58 acquires distribution information indicating the distribution of transmission intervals created in advance by, for example, another device, specifically, a server.
- the server acquires, for example, a plurality of transmission intervals of the target message.
- This transmission interval is measured, for example, in a test vehicle of the same type as vehicle 1.
- the server may acquire the transmission interval measured in the vehicle 1.
- the server uses the probability density function p of the normal distribution whose variable is x, which is shown in the following equation (9), as the model function Func1.
- the probability density function p is also referred to as a normal distribution function.
- x-bar and ⁇ ⁇ 2 are parameters, and are average values and variances of a plurality of transmission intervals, respectively.
- the x-bar and ⁇ ⁇ 2 are calculated by the following equations (10) and (11), respectively.
- t is the number of samples of the transmission interval.
- xi is the i-th transmission interval.
- the server transmits distribution information including the x-bar and ⁇ ⁇ 2 to the vehicle 1 at a predetermined distribution timing.
- 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 a model function Func1 represented by the equation (9) based on the received distribution information, and creates the created model.
- the function Func1 is output to the detection unit 64.
- the gateway device 101 is configured such that 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, but the configuration is limited to this. is not it.
- the gateway device 101 holds the non-volatile memory, and the distribution acquisition unit 58 acquires the distribution information from the non-volatile memory in which the distribution information is written via the port 112 by the maintenance terminal device, and sends the distribution information to the detection unit 64. It may be configured to output.
- FIG. 17 is a diagram showing an example of detecting an unauthorized message by the detection unit in the gateway device according to the second embodiment of the present disclosure.
- the vertical axis represents the score and the horizontal axis represents the variable x.
- the detection unit 64 detects an unauthorized message based on, for example, the monitoring result by the monitoring unit 57 and the distribution of the transmission interval acquired by the distribution acquisition unit 58.
- the detection unit 64 considers the transmitted message as an invalid message based on, for example, the transmission interval measured by the monitoring unit 57, the distribution information indicating the distribution of the transmission interval, and a predetermined threshold value. Judge whether or not it is possible.
- the threshold value ThB is registered in the detection unit 64.
- the detection unit 64 detects an unauthorized message based on the position of the transmission interval measured by the monitoring unit 57 in the distribution of the transmission interval, for example.
- the detection unit 64 When the detection unit 64 receives the model function Func1 from the distribution acquisition unit 58, the detection unit 64 creates the 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) As the score function Sc1.
- log (c) means the common logarithm of c.
- the detection 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 invalid message, that is, the target message is a legitimate message or the transmission interval is spoofed. Judge as a message.
- a message in which the transmission interval is spoofed is also referred to as a spoofed message.
- the detection unit 64 determines that the target message C transmitted this time is a legitimate message or a spoofed message.
- the transmission interval may be located near the center of the frequency distribution shown in FIG. 16, even if variations due to delays in mediation and internal processing are included. Because it is expensive.
- the detection unit 64 determines that the target message transmitted this time is an invalid message. Specifically, when the detection unit 64 receives the transmission interval Ta shown in FIG. 17 from the monitoring unit 57, the detection unit 64 determines that the target message A transmitted this time is an invalid message. Similarly, when the transmission interval Tb is received from the monitoring unit 57, the detection unit 64 determines that the target message B transmitted this time is an invalid message.
- the threshold value registered in the detection unit 64 is changed to ThA, which is larger than ThB.
- the transmitted message determined to be an invalid message by the detection unit 64 such as the target message B corresponding to the transmission interval Tb, is determined to be a legitimate 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 legitimate message or a spoofed message as a measurement standard of the transmission interval.
- the monitoring unit 57 sets the reception time t2 as a new measurement of the transmission interval. Used 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 standard.
- 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 calculates the estimation error ydiff of the data stored in the target message for the target message determined to be not an invalid message based on the distribution of the transmission interval measured by the monitoring unit 57. , It is determined whether or not the message is an invalid message based on the calculated estimation error ydiff and the estimation error ydiff calculated in the past.
- the detection unit 64 determines that the target message C transmitted this time is a legitimate message or a spoofed 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 transmission message having the received registration ID, that is, the latest target message, from the plurality of transmission messages stored in the storage unit 52.
- one data is stored in the target message.
- the data acquisition unit 53 recognizes one type of data stored in the latest acquired target message.
- two or more data may be included in the target message.
- one type of data included in the latest target message acquired by the data acquisition unit 53 is also referred to as a target type.
- the data acquisition unit 53 refers to a plurality of model information included in the detection condition information stored in the storage unit 52, and acquires model information indicating the recognized target type from the storage unit 52 from the referenced plurality of model information. do.
- the data acquisition unit 53 specifies the type of data to be combined with the target type based on the acquired model information.
- the type of data combined with the target type is also referred to as a counterparty type.
- the data of the target type is the data to be monitored and the data of the other party type is the correlation data.
- the data acquisition unit 53 acquires, for example, a plurality of target messages including data of the target type and a plurality of transmitted messages including data of the other party type from the storage unit 52, and based on each acquired transmitted message, the target type Performs synchronization processing to synchronize the data reception time with the data reception time of the other party type.
- the data acquisition unit 53 acquires the latest two types of data sets from the two types of synchronized data, and obtains the acquired two types of data sets and the combination of the types indicated by the model information. Output to the detection unit 64.
- the detection unit 64 When the detection unit 64 receives two types of data sets and a combination of the types indicated by the model information from the data acquisition unit 53, the detection unit 64 refers to a plurality of model information included in the detection condition information in the storage unit 52 and receives the combination.
- the normal model M2 corresponding to the above is acquired from the corresponding model information in the storage unit 52.
- the detection unit 64 calculates the estimation error ydiff of the target type data based on the set of the target type data and the other party type data acquired by the data acquisition unit 53, and the normal model M2 included in the model information Md2. ..
- the detection unit 54 calculates the Mahalanobis distance D (t) ⁇ 2 by substituting the calculated estimation error ydiff and the average value ⁇ and the variance ⁇ ⁇ 2 included in the model information Md2 into the above equation (2).
- the detection unit 54 calculates the Mahalanobis distance D (t) ⁇ 2
- the score T (t) ⁇ 2 is calculated by substituting the calculated Mahalanobis distance D (t) ⁇ 2 into the above equation (4). Based on the calculated score T (t) ⁇ 2, it is determined whether or not the target message is an invalid message.
- the detection unit 64 determines that the target message is an invalid message, for example, the detection unit 64 performs the following processing. That is, the detection unit 64 records the registration ID, the ID of the transmission message including the data of the other party type, the combination of the corresponding types, and the like in the storage unit 52.
- the detection unit 64 notifies the host device inside or outside the vehicle 1 that an unauthorized message is being transmitted on the transmission line 13 via the communication processing unit 51.
- FIG. 18 is a flowchart defining an operation procedure when the gateway device according to the second embodiment of the present disclosure receives the target message.
- the gateway device 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 listens for the target message (NO in step S304).
- the gateway device 103 performs a determination process of determining whether or not the received target message should be an invalid message (step S306).
- the gateway device 103 waits for a new target message (NO in step S306).
- FIG. 19 is a flowchart defining an operation procedure when the gateway device according to the second embodiment of the present disclosure performs a determination process.
- FIG. 19 shows the details of the operation in step S306 of FIG.
- the gateway device 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 the 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 invalid message (step S428).
- the gateway device 103 determines that the target message transmitted this time is a legitimate message or a spoofed 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 confirms whether or not both the target type data, that is, the monitored target data, and the other party type data, that is, the correlation data are stored in the target message (step S412).
- the gateway device 103 includes the monitored data and the correlation data when both the monitored data and the correlation data are not included in the target message, that is, when they are separately included in separate transmission messages (NO in step S412). Synchronous processing is performed for this (step S414).
- the gateway device 103 monitors from the monitored data and the correlation data obtained by acquiring the two types of data sets, more specifically the monitored data and the correlation data set from the target message, or performing the synchronization processing.
- the latest set of target data and correlation data is acquired (step S416).
- the gateway device 103 acquires the normal model M2 corresponding to the set of the monitored data and the correlation data from the storage unit 52 (step S418).
- the gateway device 103 calculates the estimation error ydiff of the monitored data based on the acquired set of the monitored data and the correlation data, and the normal model M2. Further, the gateway device 103 calculates the Mahalanobis distance D (t) ⁇ 2 based on the calculated estimation error ydiff and the distribution of the estimation error ydiff created by using the normal model M2. Further, the gateway device 103 determines the score T (t) ⁇ 2 based on the calculated Mahalanobis distance D (t) ⁇ 2 and the Mahalanobis distance D (t-1) ⁇ 2 calculated immediately before in the storage unit 52. Calculate (step S420).
- the gateway device 103 compares the calculated score T (t) ⁇ 2 with the predetermined threshold value Th1 (step S422).
- the gateway device 103 determines that the target message transmitted this time is a legitimate message (step S426).
- the gateway device 103 determines that the target message transmitted this time is an invalid message (step S428).
- the monitoring unit 57 is configured to measure the transmission interval based on the reception time of the target message, but 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, for example.
- the gateway device according to the second embodiment of the present disclosure is configured to acquire the distribution of the transmission interval of the target message measured in the test vehicle, but the present invention is not limited to this.
- the gateway device 103 may be configured to accumulate the transmission intervals measured in the vehicle 1 and create the distribution based on the accumulated transmission intervals.
- Appendix 1 It is a detection device that detects fraudulent messages in the in-vehicle network mounted on the vehicle.
- a message acquisition unit that acquires one or more transmitted messages in the in-vehicle network
- a data acquisition unit that acquires a set of a plurality of types of data corresponding to the same time included in the transmitted message acquired by the message acquisition unit, and a data acquisition unit.
- a storage unit that stores detection conditions based on the plurality of sets corresponding to a plurality of times, which are created in advance, and a storage unit.
- a calculation unit that calculates an estimation error of the data of the type of monitoring target in the set based on the set acquired by the data acquisition unit and the detection conditions.
- the transmitted message corresponding to the data of the type to be monitored is an invalid message based on the estimation error calculated by the calculation unit and the estimation error calculated in the past by the calculation unit. Equipped with a judgment unit to judge whether or not The data is sensor data and is The time is a reception time, a transmission time, or a creation time. Based on the estimation error and the estimation error calculated in the past, the determination unit uses an analysis method according to CUSUM, MCUSUM, EWMA, or MEM, and the transmitted message corresponding to the data of the target type is invalid. A detection device that determines whether or not it is a message.
- Appendix 2 It is a detection device that detects fraudulent messages in the in-vehicle network mounted on the vehicle.
- a message acquisition unit that acquires one or more transmitted messages in the in-vehicle network
- a data acquisition unit that acquires a set of a plurality of types of data corresponding to the same time included in the transmitted message acquired by the message acquisition unit, and a data acquisition unit.
- a storage unit that stores detection conditions based on the plurality of sets corresponding to a plurality of times, which are created in advance, and a storage unit.
- a calculation unit that calculates an estimation error of the data of the type of monitoring target in the set based on the set acquired by the data acquisition unit and the detection conditions.
- the message acquisition unit, the data acquisition unit, the calculation unit, and the determination unit are detection devices realized by a processor.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mechanical Engineering (AREA)
- Small-Scale Networks (AREA)
Abstract
検知装置は、車載ネットワークにおける1または複数の送信メッセージを取得するメッセージ取得部と、前記メッセージ取得部によって取得された前記送信メッセージに含まれる、同じ時刻に対応する複数種類のデータの組を取得するデータ取得部と、予め作成された、複数の時刻にそれぞれ対応する複数の前記組に基づく検出条件を記憶する記憶部と、前記データ取得部によって取得された前記組、および前記検出条件に基づいて、前記組における監視対象の種類の前記データの推定誤差を算出する算出部と、前記算出部により算出された前記推定誤差と、前記算出部により過去に算出された前記推定誤差とに基づいて、前記監視対象の前記種類の前記データに対応する前記送信メッセージが不正メッセージであるか否かを判断する判断部とを備える。
Description
本開示は、検知装置、車両、検知方法および検知プログラムに関する。
この出願は、2020年5月18日に出願された日本出願特願2020-86520号を基礎とする優先権を主張し、その開示のすべてをここに取り込む。
この出願は、2020年5月18日に出願された日本出願特願2020-86520号を基礎とする優先権を主張し、その開示のすべてをここに取り込む。
特許文献1(特開2019-29961号公報)には、以下のような検知装置が開示されている。すなわち、検知装置は、車両に搭載される車載ネットワークにおける不正メッセージを検知する検知装置であって、前記車載ネットワークにおける1または複数の送信メッセージを取得するメッセージ取得部と、前記メッセージ取得部によって取得された前記送信メッセージに含まれる、同じ時刻に対応する複数種類のデータの組を取得するデータ取得部と、予め作成された、複数の時刻にそれぞれ対応する複数の前記組に基づく検出条件を記憶する記憶部と、前記データ取得部によって取得された前記組、および前記検出条件に基づいて前記不正メッセージを検知する検知部とを備える。
本開示の検知装置は、車両に搭載される車載ネットワークにおける不正メッセージを検知する検知装置であって、前記車載ネットワークにおける1または複数の送信メッセージを取得するメッセージ取得部と、前記メッセージ取得部によって取得された前記送信メッセージに含まれる、同じ時刻に対応する複数種類のデータの組を取得するデータ取得部と、予め作成された、複数の時刻にそれぞれ対応する複数の前記組に基づく検出条件を記憶する記憶部と、前記データ取得部によって取得された前記組、および前記検出条件に基づいて、前記組における監視対象の種類の前記データの推定誤差を算出する算出部と、前記算出部により算出された前記推定誤差と、前記算出部により過去に算出された前記推定誤差とに基づいて、前記監視対象の前記種類の前記データに対応する前記送信メッセージが不正メッセージであるか否かを判断する判断部とを備える。
本開示の検知方法は、車両に搭載される車載ネットワークにおける不正メッセージを検知し、記憶部を備える検知装置における検知方法であって、前記車載ネットワークにおける1または複数の送信メッセージを取得するステップと、取得した前記送信メッセージに含まれる、同じ時刻に対応する複数種類のデータの組を取得するステップとを含み、前記記憶部は、予め作成された、複数の時刻にそれぞれ対応する複数の前記組に基づく検出条件を記憶し、前記検知方法は、さらに、取得した前記組、および前記検出条件に基づいて、前記組における監視対象の前記種類の前記データの推定誤差を算出するステップと、算出した前記推定誤差と、過去に算出した前記推定誤差とに基づいて、前記監視対象の前記種類の前記データに対応する前記送信メッセージが不正メッセージであるか否かを判断するステップとを含む。
本開示の検知プログラムは、車両に搭載される車載ネットワークにおける不正メッセージを検知し、記憶部を備える検知装置において用いられる検知プログラムであって、コンピュータを、前記車載ネットワークにおける1または複数の送信メッセージを取得するメッセージ取得部と、前記メッセージ取得部によって取得された前記送信メッセージに含まれる、同じ時刻に対応する複数種類のデータの組を取得するデータ取得部、として機能させるためのプログラムであり、前記記憶部は、予め作成された、複数の時刻にそれぞれ対応する複数の前記組に基づく検出条件を記憶し、さらに、コンピュータを、前記データ取得部によって取得された前記組、および前記検出条件に基づいて、前記組における監視対象の種類の前記データの推定誤差を算出する算出部と、前記算出部により算出された前記推定誤差と、前記算出部により過去に算出された前記推定誤差とに基づいて、前記監視対象の前記種類の前記データに対応する前記送信メッセージが不正メッセージであるか否かを判断する判断部、として機能させるためのプログラムである。
本開示の一態様は、このような特徴的な処理部を備える検知装置として実現することができるだけでなく、検知装置を備える車載通信システムとして実現することができる。また、本開示の一態様は、検知装置の一部または全部を実現する半導体集積回路として実現することができる。
従来、車載ネットワークにおける不正メッセージを検知する検知装置が開発されている。
[本開示が解決しようとする課題]
特許文献1に記載の技術を超えて、車載ネットワークにおける不正メッセージをより正しく検知することが可能な技術が望まれる。
特許文献1に記載の技術を超えて、車載ネットワークにおける不正メッセージをより正しく検知することが可能な技術が望まれる。
この発明は、上述の課題を解決するためになされたもので、その目的は、車載ネットワークにおける不正メッセージをより正しく検知することが可能な検知装置、車両、検知方法および検知プログラムを提供することである。
[本開示の効果]
本開示によれば、車載ネットワークにおける不正メッセージをより正しく検知することができる。
本開示によれば、車載ネットワークにおける不正メッセージをより正しく検知することができる。
[本開示の実施形態の説明]
最初に、本開示の実施形態の内容を列記して説明する。
最初に、本開示の実施形態の内容を列記して説明する。
(1)本開示の実施の形態に係る検知装置は、車両に搭載される車載ネットワークにおける不正メッセージを検知する検知装置であって、前記車載ネットワークにおける1または複数の送信メッセージを取得するメッセージ取得部と、前記メッセージ取得部によって取得された前記送信メッセージに含まれる、同じ時刻に対応する複数種類のデータの組を取得するデータ取得部と、予め作成された、複数の時刻にそれぞれ対応する複数の前記組に基づく検出条件を記憶する記憶部と、前記データ取得部によって取得された前記組、および前記検出条件に基づいて、前記組における監視対象の種類の前記データの推定誤差を算出する算出部と、前記算出部により算出された前記推定誤差と、前記算出部により過去に算出された前記推定誤差とに基づいて、前記監視対象の前記種類の前記データに対応する前記送信メッセージが不正メッセージであるか否かを判断する判断部とを備える。
このように、複数種類のデータの組における監視対象の種類のデータの推定誤差を算出し、算出した推定誤差と、過去に算出した推定誤差とに基づいて、当該データに対応する送信メッセージが不正メッセージであるか否かを判断する構成により、たとえば現在の推定誤差の正当性に基づいて送信メッセージが不正メッセージであるか否かを判断する従来技術の構成と比べて、データの突発的な変化が判断結果に与える影響を抑制することができるため、検知性能を向上させることができる。したがって、車載ネットワークにおける不正メッセージをより正しく検知することができる。
(2)好ましくは、前記算出部は、算出した前記推定誤差、および前記検出条件を用いて作成された前記推定誤差の分布に基づいて、前記監視対象の前記種類の前記データの正当性に関する評価値を算出し、前記判断部は、前記算出部により算出された前記評価値と、前記算出部により過去に算出された前記評価値とに基づいて、前記監視対象の前記種類の前記データに対応する前記送信メッセージが不正メッセージであるか否かを判断する。
このような構成により、現在の評価値と過去の評価値とに基づいて、車載ネットワークにおける不正メッセージをより正しく検知することができる。
(3)好ましくは、前記判断部は、前記算出部により算出された前記推定誤差と、前記算出部により過去に算出された前記推定誤差とに基づいて、前記推定誤差の移動平均を算出し、算出した前記移動平均に基づいて、前記監視対象の前記種類の前記データに対応する前記送信メッセージが不正メッセージであるか否かを判断する。
このような構成により、現在の推定誤差と過去の推定誤差とに基づく移動平均に基づいて、車載ネットワークにおける不正メッセージをより正しく検知することができる。
(4)好ましくは、前記検出条件は、所定の相関関係を有する複数種類のデータの前記組に基づいて作成されている。
このように、データ間においてある程度の関係が存在する複数種類のデータの組に基づいて検出条件が作成される構成により、組におけるあるデータから当該組における他のデータがとり得る値の範囲をより狭めることが可能な検出条件を作成することができる。これにより、当該他のデータの正当性をより正しく判断することができる。すなわち、適切な検出条件を作成することができる。
(5)より好ましくは、前記算出部は、算出した前記推定誤差、および前記検出条件を用いて作成された前記推定誤差の分布に基づいて、前記監視対象の前記種類の前記データの正当性に関する評価値を算出し、前記判断部は、前記算出部により算出された前記評価値と、前記算出部により過去に算出された前記評価値とに基づいて、前記監視対象の前記種類の前記データに対応する前記送信メッセージが不正メッセージであるか否かを判断する。
このような構成により、たとえば、攻撃者が、監視対象の種類のデータおよび複数種類の相関データのうちの一部のデータを改変した場合においても、改変したデータと残りのデータとの関係に基づいて、上記組のデータの異常を判断することができる。すなわち、攻撃者は、不正侵入するためには、監視対象の種類のデータおよび複数種類の相関データの全部を改変しなければならないので、車載ネットワークに対する不正侵入を困難にすることができる。これにより、車載ネットワークにおけるセキュリティを向上させることができる。
(6)より好ましくは、前記監視対象の前記種類の前記データと前記相関関係を有する前記データである相関データが複数種類ある場合、前記監視対象の前記種類の前記データと前記複数種類の前記相関データとに基づいて複数の前記検出条件がそれぞれ作成されている。
このような構成により、車載ネットワークに対する不正侵入を困難にするとともに、検出条件の算出における計算負荷を軽減することができる。
(7)好ましくは、前記データは、状態を表すステータスデータである。
このような構成により、たとえば、監視対象の種類のステータスデータが、ギアのシフトポジションまたはシートベルトの状態のように不連続に変化する値である場合において、監視対象の種類のステータスデータに対応する送信メッセージが不正メッセージであるか否かをより正しく判断することができる。
(8)好ましくは、前記データ取得部は、異なる前記送信メッセージにそれぞれ含まれる前記複数種類のデータの組を取得する。
受信時刻、送信時刻または作成時刻等が異なる複数種類のデータは、異なる送信メッセージにそれぞれ含まれることが多い。上記のような構成により、時刻によって検知対象のデータの種類が制限されることを防ぐことができる。
(9)より好ましくは、前記メッセージ取得部は、取得した複数の前記送信メッセージを記憶部に保存し、前記データ取得部は、前記記憶部に保存された各前記送信メッセージから前記組を取得する。
このような構成により、たとえば、記憶部に保存された複数の送信メッセージにおけるデータをリサンプリングすることができるので、複数種類のデータの時刻を合わせることができる。これにより、同じ時刻に対応する複数種類のデータの組を容易に取得することができる。
(10)好ましくは、前記検知装置は、さらに、前記車載ネットワークにおける前記送信メッセージを監視する監視部と、前記送信メッセージの送信間隔の分布を取得する分布取得部とを備え、前記判断部は、前記監視部による監視結果および前記分布取得部によって取得された前記分布に基づいて不正メッセージを検知し、前記算出部は、前記判断部により前記分布に基づいて前記不正メッセージとすべきでないと判断された前記送信メッセージについては、前記送信メッセージに格納された前記データの前記推定誤差を算出し、前記判断部は、前記算出部により算出された前記推定誤差と、前記算出部により過去に算出された前記推定誤差とに基づいて、前記分布に基づいて不正メッセージとすべきでないと判断した前記送信メッセージが不正メッセージであるか否か、を判断する。
送信間隔を精度よく偽装した送信メッセージは、上記監視結果および上記分布に基づいて不正メッセージとして検知することが困難である。上記のような構成により、当該送信メッセージを、上記組および検出条件に基づいて不正メッセージとして検知することができるので、車載ネットワークにおけるセキュリティを向上させることができる。
(11)本開示の実施の形態に係る車両は、前記検知装置を備える。
このような構成により、検知装置を備える車両において、車載ネットワークにおける不正メッセージをより正しく検知することができる。
(12)本開示の実施の形態に係る検知方法は、車両に搭載される車載ネットワークにおける不正メッセージを検知し、記憶部を備える検知装置における検知方法であって、前記車載ネットワークにおける1または複数の送信メッセージを取得するステップと、取得した前記送信メッセージに含まれる、同じ時刻に対応する複数種類のデータの組を取得するステップとを含み、前記記憶部は、予め作成された、複数の時刻にそれぞれ対応する複数の前記組に基づく検出条件を記憶し、前記検知方法は、さらに、取得した前記組、および前記検出条件に基づいて、前記組における監視対象の前記種類の前記データの推定誤差を算出するステップと、算出した前記推定誤差と、過去に算出した前記推定誤差とに基づいて、前記監視対象の前記種類の前記データに対応する前記送信メッセージが不正メッセージであるか否かを判断するステップとを含む。
このように、複数種類のデータの組における監視対象の種類のデータの推定誤差を算出し、算出した推定誤差と、過去に算出した推定誤差とに基づいて、当該データに対応する送信メッセージが不正メッセージであるか否かを判断する方法により、たとえば現在の推定誤差の正当性に基づいて送信メッセージが不正メッセージであるか否かを判断する従来技術の構成と比べて、データの突発的な変化が判断結果に与える影響を抑制することができるため、検知性能を向上させることができる。したがって、車載ネットワークにおける不正メッセージをより正しく検知することができる。
(13)本開示の実施の形態に係る検知プログラムは、車両に搭載される車載ネットワークにおける不正メッセージを検知し、記憶部を備える検知装置において用いられる検知プログラムであって、コンピュータを、前記車載ネットワークにおける1または複数の送信メッセージを取得するメッセージ取得部と、前記メッセージ取得部によって取得された前記送信メッセージに含まれる、同じ時刻に対応する複数種類のデータの組を取得するデータ取得部、として機能させるためのプログラムであり、前記記憶部は、予め作成された、複数の時刻にそれぞれ対応する複数の前記組に基づく検出条件を記憶し、さらに、コンピュータを、前記データ取得部によって取得された前記組、および前記検出条件に基づいて、前記組における監視対象の種類の前記データの推定誤差を算出する算出部と、前記算出部により算出された前記推定誤差と、前記算出部により過去に算出された前記推定誤差とに基づいて、前記監視対象の前記種類の前記データに対応する前記送信メッセージが不正メッセージであるか否かを判断する判断部、として機能させるためのプログラムである。
このように、複数種類のデータの組における監視対象の種類のデータの推定誤差を算出し、算出した推定誤差と、過去に算出した推定誤差とに基づいて、当該データに対応する送信メッセージが不正メッセージであるか否かを判断する構成により、たとえば現在の推定誤差の正当性に基づいて送信メッセージが不正メッセージであるか否かを判断する従来技術の構成と比べて、データの突発的な変化が判断結果に与える影響を抑制することができるため、検知性能を向上させることができる。したがって、車載ネットワークにおける不正メッセージをより正しく検知することができる。
以下、本開示の実施の形態について図面を用いて説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰り返さない。また、以下に記載する実施の形態の少なくとも一部を任意に組み合わせてもよい。
<第1の実施の形態>
[構成および基本動作]
図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は、本開示の第1の実施の形態に係る車載通信システムにおけるゲートウェイ装置の構成を示す図である。
図3を参照して、ゲートウェイ装置101は、通信処理部51と、記憶部52と、データ取得部53と、検知部54と、メッセージ取得部55とを備える。通信処理部51、データ取得部53、検知部54およびメッセージ取得部55は、たとえば、CPU(Central Processing Unit)およびDSP(Digital Signal Processor)等のプロセッサにより実現される。記憶部52は、たとえば不揮発性メモリである。検知部54は、算出部の一例であり、かつ判断部の一例である。
ゲートウェイ装置101は、検知装置として機能し、車両1に搭載される車載ネットワーク12における不正メッセージを検知する。
詳細には、ゲートウェイ装置101における通信処理部51は、中継処理を行う。より詳細には、通信処理部51は、ある制御装置122から対応の伝送線13経由でメッセージを受信すると、受信したメッセージを他の制御装置122へ対応の伝送線13経由で送信する。
[メッセージ取得部]
メッセージ取得部55は、車載ネットワーク12における複数の送信メッセージを取得する。メッセージ取得部55は、たとえば、取得した複数の送信メッセージを記憶部52に保存する。
メッセージ取得部55は、車載ネットワーク12における複数の送信メッセージを取得する。メッセージ取得部55は、たとえば、取得した複数の送信メッセージを記憶部52に保存する。
より詳細には、記憶部52には、たとえば、メッセージ取得部55が取得対象とすべきデータの種類を含む検出条件情報が登録されている。検出条件情報の詳細については、後述する。
メッセージ取得部55は、記憶部52に登録されている検出条件情報に基づいて、自己が取得対象とすべきデータの種類を認識する。
メッセージ取得部55は、通信処理部51が中継するメッセージに含まれるデータを監視し、取得対象の種類のデータを含むメッセージを検出するごとに、以下の処理を行う。
すなわち、メッセージ取得部55は、検出したメッセージを通信処理部51から取得し、取得したメッセージに、当該メッセージの受信時刻を示すタイムスタンプを付す。
そして、メッセージ取得部55は、タイムスタンプを付したメッセージを記憶部52に保存する。
[記憶部]
図4は、本開示の第1の実施の形態に係るゲートウェイ装置が用いる通常モデルの作成過程を説明するための図である。なお、図4において、横軸はデータXを示し、縦軸はデータYを示す。
図4は、本開示の第1の実施の形態に係るゲートウェイ装置が用いる通常モデルの作成過程を説明するための図である。なお、図4において、横軸はデータXを示し、縦軸はデータYを示す。
図4を参照して、記憶部52は、予め作成された、複数の時刻たとえばデータの作成時刻にそれぞれ対応する複数の組に基づく検出条件を記憶する。ここで、組は、たとえば、メッセージ取得部55によって取得された送信メッセージに含まれる、同じ作成時刻に対応する2種類のデータの組である。
具体的には、記憶部52は、たとえば、サーバによって予め作成された通常モデルM2を記憶する。通常モデルM2は、たとえば、所定の相関関係を有する2種類のデータの組に基づいて作成されている。より詳細には、通常モデルM2は、監視対象の種類のデータと、当該監視対象の種類のデータと相関関係を有するデータの組に基づいて作成されている。
より具体的には、サーバには、たとえば、各々が複数の時系列データを含む、互いに異なる種類の生データ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種類のデータの組を取得する。
再び図3を参照して、データ取得部53は、メッセージ取得部55によって取得された送信メッセージに含まれる、同じ時刻たとえば受信時刻に対応する2種類のデータの組を取得する。
より詳細には、データ取得部53は、記憶部52が保存する検出条件情報に含まれる複数のモデル情報を記憶部52から取得する。
(2種類のデータが同じ送信メッセージに含まれる場合)
データ取得部53は、たとえば、記憶部52に保存された各送信メッセージから2種類のデータの組を取得する。
データ取得部53は、たとえば、記憶部52に保存された各送信メッセージから2種類のデータの組を取得する。
より詳細には、データ取得部53は、たとえば、取得した複数のモデル情報に基づいて、同じ送信メッセージに含まれる2種類のデータの組を記憶部52から取得する。
具体的には、たとえば、モデル情報の示す種類の組み合わせに合ったデータが同じ送信メッセージに格納されて車載ネットワーク12において伝送される場合、データ取得部53は、記憶部52に保存された当該同じ送信メッセージから当該2種類のデータを取得する。
データ取得部53は、たとえば、当該2種類のデータを含む送信メッセージがメッセージ取得部55によって記憶部52に新たに保存されると、新たに保存された送信メッセージから当該2種類のデータを取得し、取得した2種類のデータの組、およびモデル情報の示す種類の組み合わせを検知部54へ出力する。このように、データ取得部53は、たとえば2種類のデータが同じ送信メッセージに含まれる場合、「2種類のデータの組」として、同じ受信時刻の送信メッセージに格納された2種類のデータの組を取得する。
(2種類のデータが異なる送信メッセージにそれぞれ含まれる場合)
図5は、本開示の第1の実施の形態に係るゲートウェイ装置において行われる同期処理のタイミングを説明するための図である。なお、図5において、横軸は時間を示す。
図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は、複数のデータDKに基づいてデータDKの内挿を行うことにより、受信時刻tj1,tj2にそれぞれ対応するリサンプルデータRDK1,RDK2を生成する。
データ取得部53は、たとえば、同期処理が完了すると、同期させた2種類のデータから最新の2種類のデータの組を取得し、取得した2種類のデータの組、およびモデル情報の示す種類の組み合わせを検知部54へ出力する。
具体的には、データ取得部53は、たとえば、データDJ2およびリサンプルデータRDK2の組、ならびにモデル情報の示す種類の組み合わせを検知部54へ出力する。すなわち、データ取得部53は、たとえば2種類のデータが異なる送信メッセージに含まれる場合、「2種類のデータの組」として、受信時刻tj2の送信メッセージMJに格納された一方の種類のデータDJ2と、他方の種類のデータDKを含む送信メッセージMKのうちの当該受信時刻tj2の直前である受信時刻tk2の送信メッセージMK、に格納されたデータDK2のリサンプルデータRDK2とからなるデータの組を取得する。このように、データ取得部53は、たとえば2種類のデータが異なる送信メッセージに含まれる場合、同じ受信時刻の送信メッセージに格納された2種類のデータの組を取得する構成に限定されない。
なお、データ取得部53が同期処理を行うタイミングは、たとえば、他方の種類のデータDKを含む送信メッセージMKがメッセージ取得部55によって記憶部52に新たに保存されるタイミングであってもよい。
具体的には、データ取得部53は、たとえば、受信時刻tk2に対応する送信メッセージMKがメッセージ取得部55によって記憶部52に新たに保存されると、データDK1,DK2等を含むデータDKをリサンプリングすることにより、受信時刻tj1に対応するリサンプルデータRDK1を生成する。たとえば、データ取得部53は、複数のデータDKに基づいてデータ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は、複数のデータDQに基づいてデータDQの内挿を行うことにより、受信時刻tp1,tp2にそれぞれ対応するリサンプルデータRDQ1,RDQ2を生成する。
データ取得部53は、たとえば、データDP2およびリサンプルデータRDQ2の組、ならびにモデル情報の示す種類の組み合わせを検知部54へ出力する。
なお、データ取得部53は、受信時刻tp2における同期処理では、データDP1,DP2等を含むデータDPをリサンプリングすることにより、受信時刻tq1~tq4にそれぞれ対応する、図示しないリサンプルデータRDP1~RDP4を生成してもよい。具体的には、たとえば、データ取得部53は、複数のデータDPに基づいてデータDPの内挿を行うことにより、受信時刻tq1~tq4にそれぞれ対応するリサンプルデータRDP1~RDP4を生成する。
この場合、データ取得部53は、リサンプルデータRDP4およびデータDQ4の組、ならびにモデル情報の示す種類の組み合わせを検知部54へ出力する。すなわち、データ取得部53は、たとえば2種類のデータが異なる送信メッセージに含まれる場合、「2種類のデータの組」として、受信時刻tq4の送信メッセージMQに格納された一方の種類のデータDQ4と、他方の種類のデータDPを含む送信メッセージMPのうちの当該受信時刻tq4の直後である受信時刻tp2の送信メッセージMP、に格納されたデータDP2のリサンプルデータRDP4とからなるデータの組を取得する。
この際、データ取得部53は、リサンプルデータRDP2およびデータDQ2の組、ならびにリサンプルデータRDP3およびデータDQ3の組も合わせて検知部54へ出力してもよい。これにより、不正メッセージの検知に用いるデータ数を増やすことができる。
ここで、通常モデルM2は、作成時刻の同じ2種類のデータの複数の組に基づいて作成されている一方、データ取得部53により取得される2種類のデータの組は、受信時刻の同じ2種類のデータの組である。
車載ネットワーク12ではメッセージの伝送が高速に行われるので、データの作成時刻およびデータの受信時刻が略同じであるとみなすことができる。なお、データの送信時刻も、データの作成時刻およびデータの受信時刻と略同じであるとみなすことができる。
[検知部]
検知部54は、データ取得部53により取得された2種類のデータの組における監視対象の種類のデータである監視対象データの推定値を算出し、算出した推定値を用いて監視対象データを含む送信メッセージが不正メッセージであるか否かを判断する。
検知部54は、データ取得部53により取得された2種類のデータの組における監視対象の種類のデータである監視対象データの推定値を算出し、算出した推定値を用いて監視対象データを含む送信メッセージが不正メッセージであるか否かを判断する。
図7は、本開示の第1の実施の形態に係る通常モデルの学習フェーズにおける作成処理を説明するための図である。
図7を参照して、監視対象データと相関データとに基づいて1つの通常モデルM2が作成される。監視対象データと相関データとは、相関関係を有する。
監視対象データは、センサによって計測されたデータであり、具体的には、車速、エンジン回転数およびヨーレート等の連続して変化するデータである。以下、センサよって計測されたデータをセンサデータとも称する。
相関データは、センサデータであってもよいし、予め定義された状態を表すデータであるステータスデータであってもよい。ここで、ステータスデータは、具体的には、たとえば車両1におけるギアおよびシートベルト等の操作部の状態を表す。
サーバは、たとえば、学習データセットに基づいて、LASSO(Least Absolute Shrinkage and Selection Operator)および回帰木等を用いて、通常モデルM2を学習させる。
ここで、学習データセットは、複数の同じ時刻、具体的には時刻tm1,tm2,tm3,tm4,tm5等にそれぞれ対応する監視対象データおよび相関データを含む。
より詳細には、サーバは、たとえば、同じ時刻に対応する相関データを通常モデルM2に入力したときに、対応の監視対象データの値に近い推定値が出力されるように通常モデルM2を作成する。
図8は、本開示の第1の実施の形態に係る通常モデルのテストフェーズにおける検証処理を説明するための図である。
図8を参照して、通常モデルM2は、学習データセットと同様の、テストデータセットを用いて検証される。
詳細には、サーバは、通常モデルM2を用いて推定誤差の分布を作成する。より詳細には、サーバは、テストデータセットの一部である時刻tt1における相関データを通常モデルM2に入力することにより、通常モデルM2から出力される推定値を取得する。
ここで、y1は、対応の監視対象データの値、すなわち時刻tt1における監視対象データの値である。また、y1ハットは、通常モデルM2から出力された推定値である。
サーバは、テストデータセットにおける、時刻tt1と異なる時刻における相関データおよび監視対象データも同様に処理することにより、各時刻における推定誤差ydiffを含む検証データを作成する。
サーバは、検証データに基づいて、推定誤差ydiffの分布を作成する。この分布は、推定誤差ydiffの頻度を表す。この例では、当該分布は、単峰である。
サーバは、作成した分布が単峰である場合、検証データに含まる各推定誤差ydiffの平均値μおよび分散σ^2を算出する。ここで、「a^b」は、aのb乗を意味する。
サーバは、たとえば、通常モデルM2、平均値μおよび分散σ^2、ならびに監視対象データおよび相関データの種類の組み合わせを示すモデル情報Md2を作成する。
サーバによって作成されたモデル情報Md2は、たとえば、車両1の製造時において検出条件情報として記憶部52に登録される。
再び図3を参照して、データ取得部53は、記憶部52から検出条件情報を取得し、取得した検出条件情報に含まれるモデル情報Md2を取得する。
データ取得部53は、モデル情報Md2の示す組み合わせに合ったデータを含む送信メッセージがメッセージ取得部55によって記憶部52に新たに保存されると、上述のように2種類のデータの組を取得する。具体的には、以下の処理を行う。
すなわち、データ取得部53は、モデル情報Md2に基づいて、同じ送信メッセージに含まれる監視対象データおよび相関データの組を記憶部52から取得し、取得した組、およびモデル情報Md2の示す種類の組み合わせを検知部54へ出力する。
また、データ取得部53は、たとえば、モデル情報Md2の示す組み合わせに合ったデータをそれぞれ含む複数の送信メッセージのいずれか1つがメッセージ取得部55によって記憶部52に新たに保存されると、上述のように同期処理を行う。具体的には、以下の処理を行う。
すなわち、データ取得部53は、モデル情報Md2に基づいて、異なる送信メッセージにそれぞれ含まれる監視対象データおよび相関データの組を記憶部52から取得し、取得した監視対象データおよび相関データに対して同期処理を行う。
データ取得部53は、同期処理が完了すると、同期させた監視対象データおよび相関データから最新の監視対象データおよび相関データの組を取得し、取得した組、およびモデル情報Md2の示す種類の組み合わせを検知部54へ出力する。
図9は、本開示の第1の実施の形態に係る通常モデルを用いた不正メッセージの検知処理を説明するための図である。
図9を参照して、検知部54は、たとえば、データ取得部53から時刻td1における監視対象データおよび相関データの組、およびモデル情報Md2の示す種類の組み合わせを受けると、記憶部52における検出条件情報に含まれる複数のモデル情報を参照し、受けた組み合わせに対応するモデル情報Md2を記憶部52から取得する。
検知部54は、たとえば、データ取得部53によって取得された監視対象データおよび相関データの組、ならびにモデル情報Md2に含まれる通常モデルM2に基づいて、データ取得部53によって取得された組における2種類のデータのうちの監視対象データの推定誤差ydiffを算出する。
より詳細には、検知部54は、データ取得部53から受けた相関データを、モデル情報Md2に含まれる通常モデルM2に入力することにより、通常モデルM2から出力される推定値を取得する。
そして、検知部54は、取得した推定値および時刻td1における監視対象データの値を、それぞれy1ハットおよびy1として上述の式(1)に代入することにより時刻td1における推定誤差ydiffを算出する。検知部54は、算出した推定誤差ydiffを記憶部52に保存する。
たとえば、検知部54は、算出した推定誤差ydiff、および通常モデルM2を用いて作成された推定誤差ydiffの分布に基づいて、監視対象データの正当性に関する評価値を算出する。
より詳細には、検知部54は、たとえば、算出した推定誤差ydiff、ならびにモデル情報Md2に含まれる平均値μおよび分散σ^2を以下の式(2)に代入することにより時刻tにおけるマハラノビス距離D(t)^2を算出する。たとえば、検知部54は、時刻td1における推定誤差ydiffのマハラノビス距離D(td1)^2を算出する。マハラノビス距離D(t)^2は、監視対象データの正当性に関する評価値の一例である。
ここで、X(t)は推定誤差ydiffのベクトルであり、μxは推定誤差ydiffの平均ベクトルである。
検知部54は、算出したマハラノビス距離D(t)^2を推定誤差ydiffに対応付けて記憶部52に保存する。
検知部54は、算出した推定誤差ydiffと、過去に算出した推定誤差ydiffとに基づいて、監視対象データに対応する送信メッセージが不正メッセージであるか否かを判断する。より詳細には、検知部54は、推定誤差ydiffを算出すると、当該推定誤差ydiffと、記憶部52における直前に算出した推定誤差ydiffとに基づいて、監視対象データに対応する送信メッセージが不正メッセージであるか否かを判断する。
たとえば、検知部54は、算出したマハラノビス距離D(t)^2と、過去に算出したマハラノビス距離D(t)^2とに基づいて、監視対象データに対応する送信メッセージが不正メッセージであるか否かを判断する。
より詳細には、検知部54は、時刻tにおけるマハラノビス距離D(t)^2を算出すると、当該マハラノビス距離D(t)^2と、記憶部52における直前に算出した時刻(t-1)におけるマハラノビス距離D(t-1)^2とに基づいて、監視対象データに対応する送信メッセージが不正メッセージであるか否かを判断する。
たとえば、検知部54は、CUSUM(Cumlative Sum)またはMCUSUM(Multivariate Cumlative Sum)に従う解析手法を用いて、監視対象データに対応する送信メッセージが不正メッセージであるか否かを判断する。
より詳細には、検知部54は、マハラノビス距離D(t)^2を算出すると、算出したマハラノビス距離D(t)^2を以下の式(4)に代入することによりスコアT(t)^2を算出し、算出したスコアT(t)^2を記憶部52に保存する。
ここで、スコアT(t-1)^2は、マハラノビス距離D(t)^2の直前に算出した時刻(t-1)におけるマハラノビス距離D(t-1)^2のスコアである。kは、スコアT(t-1)^2とマハラノビス距離D(t)^2との和の外れ値を制限するための予め設定されるパラメータである。
検知部54は、たとえば、算出したスコアT(t)^2が所定のしきい値Th1以上である場合、監視対象データに対応する送信メッセージは不正メッセージであると判断する。
一方、検知部54は、たとえば、算出したスコアT(t)^2が所定のしきい値Th1より小さい場合、監視対象データに対応する送信メッセージは正当メッセージであると判断する。
検知部54は、監視対象データに対応する送信メッセージが不正メッセージであると判断した場合、たとえば、以下の処理を行う。すなわち、検知部54は、不正であると判断した送信メッセージのID、および対応の種類の組み合わせ等を記憶部52に記録する。
また、検知部54は、伝送線13において不正メッセージが伝送されていることを車両1内または車両1外における上位装置へ通信処理部51経由で通知する。
なお、サーバが作成する推定誤差ydiffの分布が単峰であるとしたが、これに限定するものではない。サーバが作成する推定誤差ydiffの分布は、多峰であってもよい。
この場合、サーバは、推定誤差ydiffの分布を、たとえば、K個のガウス分布を重ね合わせた混合ガウス分布によって近似し、各ガウス分布の平均値μ1~μKおよび分散σ1^2~σK^2、ならびに各ガウス分布の混合比C1~CKを算出する。
サーバは、たとえば、通常モデルM2、平均値μ1~μK、分散σ1^2~σK^2および混合比C1~CK、ならびに監視対象データおよび相関データの種類の組み合わせを示すモデル情報Md2を作成する。
この場合、検知部54は、算出した推定誤差ydiff、ならびにモデル情報Md2に含まれる平均値μ1~μk、分散σ1^2~σk^2および混合比C1~Ckを以下の式(5)に代入することによりマハラノビス距離D(t)^2を算出する。
[変形例1]
なお、検知部54は、マハラノビス距離D(t)^2を算出し、CUSUMまたはMCUSUMに従う解析手法を用いて、監視対象データに対応する送信メッセージが不正メッセージであるか否かを判断する構成であるとしたが、これに限定するものではない。
なお、検知部54は、マハラノビス距離D(t)^2を算出し、CUSUMまたはMCUSUMに従う解析手法を用いて、監視対象データに対応する送信メッセージが不正メッセージであるか否かを判断する構成であるとしたが、これに限定するものではない。
たとえば、検知部54は、算出した推定誤差ydiffと、過去に算出した推定誤差ydiffとに基づいて、推定誤差ydiffの移動平均を算出し、算出した移動平均に基づいて、監視対象データに対応する送信メッセージが不正メッセージであるか否かを判断する構成であってもよい。すなわち、検知部54は、EWMA(Exponential Weighted Moving Average)またはMEWMA(Multivariate Exponential Weighted Moving Average)に従う解析手法を用いて、監視対象データに対応する送信メッセージが不正メッセージであるか否かを判断する構成であってもよい。
ここで、X(t)は推定誤差ydiffのベクトルであり、λは予め設定された移動平均係数である。
検知部54は、たとえば、算出したスコアTa(t)^2が所定のしきい値Th2以上である場合、監視対象データに対応する送信メッセージは不正メッセージであると判断する。
一方、検知部54は、たとえば、算出したスコアTa(t)^2が所定のしきい値Th2より小さい場合、監視対象データに対応する送信メッセージは正当メッセージであると判断する。
[変形例2]
再び図3を参照して、通常モデルは、所定の相関関係を有する2種類のデータの組に基づいて作成される構成であるとしたが、これに限定するものではなく、所定の相関関係を有するたとえば3種類以上のデータの組に基づいて作成される構成であってもよい。
再び図3を参照して、通常モデルは、所定の相関関係を有する2種類のデータの組に基づいて作成される構成であるとしたが、これに限定するものではなく、所定の相関関係を有するたとえば3種類以上のデータの組に基づいて作成される構成であってもよい。
より詳細には、たとえば、監視対象データと相関関係を有する相関データがq種類ある場合、当該監視対象データと当該q種類の相関データとに基づいて1つの通常モデルM4が作成される。qは、2以上の整数である。
監視対象データとq種類の相関データの各々とは、相関関係を有する。また、q種類の相関データ間には、相関関係があってもよいし、なくてもよい。
サーバは、たとえば、学習データセットに基づいて、LASSOおよび回帰木等を用いて、通常モデルM4を学習させる。
ここで、学習データセットは、複数の同じ時刻、具体的には時刻tm1,tm2,tm3,tm4,tm5等にそれぞれ対応する監視対象データおよび相関データ群を含む。
より詳細には、サーバは、たとえば、同じ時刻に対応する相関データ群を通常モデルM4に入力したときに、対応の監視対象データの値に近い推定値が出力されるように通常モデルM4を作成する。
サーバは、各時刻における推定誤差ydiffを含む検証データを作成し、生成した検証データに基づいて、推定誤差ydiffの分布を作成する。
サーバは、検証データに含まる各推定誤差diffの平均値μおよび分散σ^2を算出する。
サーバは、たとえば、通常モデルM4、平均値μおよび分散σ^2、ならびに監視対象データおよび相関データ群におけるq種類のデータの種類の組み合わせを示すモデル情報Md4を作成する。
サーバによって作成されたモデル情報Md4は、たとえば、車両1の製造時において検出条件情報として記憶部52に登録される。
再び図3を参照して、データ取得部53は、記憶部52から検出条件情報を取得し、取得した検出条件情報に含まれるモデル情報Md4を取得する。
データ取得部53は、モデル情報Md4の示す組み合わせに合ったデータを含む送信メッセージがメッセージ取得部55によって記憶部52に新たに保存されると、以下の処理を行う。
すなわち、データ取得部53は、モデル情報Md4に基づいて、同じ送信メッセージに含まれる監視対象データおよび相関データ群の組を記憶部52から取得し、取得した組、およびモデル情報Md4の示す種類の組み合わせを検知部54へ出力する。
また、データ取得部53は、たとえば、モデル情報Md4の示す組み合わせに合ったデータをそれぞれ含む複数の送信メッセージのいずれか1つがメッセージ取得部55によって記憶部52に新たに保存されると、以下の処理を行う。
すなわち、データ取得部53は、モデル情報Md4に基づいて、異なる送信メッセージにそれぞれ含まれる監視対象データおよび相関データ群の組を記憶部52から取得し、取得した監視対象データおよび相関データ群に対して同期処理を行う。
データ取得部53は、同期処理が完了すると、同期させた監視対象データおよび相関データ群から最新の監視対象データおよび相関データ群の組を取得し、取得した組、およびモデル情報Md4の示す種類の組み合わせを検知部54へ出力する。
検知部54は、たとえば、データ取得部53から時刻td1における監視対象データおよび相関データ群の組、ならびにモデル情報Md4の示す種類の組み合わせを受けると、記憶部52における検出条件情報に含まれる複数のモデル情報を参照し、受けた組み合わせに対応するモデル情報Md4を記憶部52から取得する。
検知部54は、たとえば、データ取得部53によって取得された監視対象データおよび相関データ群の組、ならびにモデル情報Md4に含まれる通常モデルM4に基づいて、上述の式(1)を用いて監視対象データの推定誤差ydiffを算出し、算出した推定誤差ydiffを記憶部52に保存する。
検知部54は、算出した推定誤差ydiff、ならびにモデル情報Md4に含まれる平均値μおよび分散σ^2を上述の式(2)に代入することによりマハラノビス距離D(t)^2を算出し、算出したマハラノビス距離D(t)^2を推定誤差ydiffに対応付けて記憶部52に保存する。
そして、検知部54は、算出したマハラノビス距離D(t)^2を上述の式(4)に代入することによりスコアT(t)^2を算出し、算出したスコアT(t)^2に基づいて、監視対象データに対応する送信メッセージが不正メッセージであるか否かを判断する。
通常モデルM4を用いる構成により、不正メッセージをより精度よく検知することができる。
[変形例3]
変形例2では、監視対象データと相関関係を有する相関データがq種類ある場合、当該監視対象データと当該q種類の相関データとに基づいて1つの通常モデルM4が作成される構成であるとしたが、これに限定するものではない。
変形例2では、監視対象データと相関関係を有する相関データがq種類ある場合、当該監視対象データと当該q種類の相関データとに基づいて1つの通常モデルM4が作成される構成であるとしたが、これに限定するものではない。
たとえば、監視対象データと相関関係を有する相関データが2種類ある場合、監視対象データと当該2種類の相関データとに基づいて2つの検出条件がそれぞれ作成される。
具体的には、サーバは、共通の複数の作成時刻におけるデータ1~データNにおいて、データSおよびデータTに相関有りまたは強い相関有りと判断し、かつデータSおよびデータUに相関有りまたは強い相関有りと判断した場合、以下の処理を行う。
すなわち、サーバは、データTおよびデータU間の相関係数の大小に関わらず、データS,Tに基づいて通常モデルM4を作成するとともに、データS,Uに基づいて通常モデルM4を作成する。
このような構成により、データS,T,Uに基づいて1つの通常モデルM4を作成する構成と比べて、通常モデルの作成における計算負荷を軽減することができる。
[変形例4]
ゲートウェイ装置101は、データS,T,Uに基づく、1つの通常モデルM4または2つの通常モデルM4を用いる構成であるとしたが、これに限定するものではない。
ゲートウェイ装置101は、データS,T,Uに基づく、1つの通常モデルM4または2つの通常モデルM4を用いる構成であるとしたが、これに限定するものではない。
より詳細には、たとえば、多次元のデータの組は、特許文献2(特開2016-57438号公報)に記載の主成分分析を用いて、より低次元のデータの組に変換することが可能である。
具体的には、サーバは、たとえば、3種類のデータの組を、主成分分析を用いて2種類のデータの組に変換し、変換後の組に基づいて通常モデルM4を作成する。
ゲートウェイ装置101における記憶部52には、3種類のデータの組を2種類のデータの組に変換するための固有ベクトル、サーバによって作成された通常モデルM4、ならびに対応のデータS、データTおよびデータUの種類の組み合わせを示すモデル情報が登録される。
検知部54は、データ取得部53から3種類のデータの組、およびモデル情報の示す種類の組み合わせを受けると、記憶部52におけるモデル情報を参照し、受けた組み合わせに対応する通常モデルM4および固有ベクトルを記憶部52における対応のモデル情報から取得する。
検知部54は、取得した固有ベクトルを用いて、データ取得部53から受けた3種類のデータの組を2種類のデータの組に変換し、変換後の組および通常モデルM4に基づいて、当該3種類のデータを含む1つ、2つまたは3つの送信メッセージが不正メッセージであるか否かを判断する。
[変形例5]
図10は、本開示の第1の実施の形態に係る通常モデルの変形例についての学習フェーズにおける作成処理を説明するための図である。
図10は、本開示の第1の実施の形態に係る通常モデルの変形例についての学習フェーズにおける作成処理を説明するための図である。
図10を参照して、監視対象データとq種類の相関データとに基づいて1つの通常モデルM5が作成される。監視対象データとq種類の相関データの各々とは、相関関係を有する。また、q種類の相関データ間には、相関関係があってもよいし、なくてもよい。
監視対象データは、状態を表すステータスデータである。具体的には、監視対象スデータは、たとえば、ギアのシフトポジションおよびシートベルトの状態等の不連続に変化するステータスデータである。
相関データ群に含まれるq種類のデータは、センサデータであってもよいし、ステータスデータであってもよい。
サーバは、たとえば、学習データセットに基づいて、決定木およびRandom Forest等を用いて、通常モデルM5を学習させる。
ここで、学習データセットは、複数の同じ時刻、具体的には時刻tm1,tm2,tm3,tm4,tm5等にそれぞれ対応する監視対象データおよび相関データ群を含む。
より詳細には、サーバは、たとえば、同じ時刻に対応する相関データ群を通常モデルM5に入力したときに、対応の監視対象データの値と一致する推定値が出力されるように通常モデルM5を作成する。
サーバは、たとえば、通常モデルM5、ならびに監視対象データおよび相関データ群におけるq種類のデータの種類の組み合わせを示すモデル情報Md5を作成する。
サーバによって作成されたモデル情報Md5は、たとえば、車両1の製造時において検出条件情報として記憶部52に登録される。
再び図3を参照して、データ取得部53は、記憶部52から検出条件情報を取得し、取得した検出条件情報に含まれるモデル情報Md5を取得する。
データ取得部53は、モデル情報Md5の示す組み合わせに合ったデータを含む送信メッセージがメッセージ取得部55によって記憶部52に新たに保存されると、以下の処理を行う。
すなわち、データ取得部53は、モデル情報Md5に基づいて、同じ送信メッセージに含まれる監視対象データおよび相関データ群の組を記憶部52から取得し、取得した組、およびモデル情報Md5の示す種類の組み合わせを検知部54へ出力する。
また、データ取得部53は、たとえば、モデル情報Md5の示す組み合わせに合ったデータをそれぞれ含む複数の送信メッセージのいずれか1つがメッセージ取得部55によって記憶部52に新たに保存されると、以下の処理を行う。
すなわち、データ取得部53は、モデル情報Md5に基づいて、異なる送信メッセージにそれぞれ含まれる監視対象データおよび相関データ群の組を記憶部52から取得し、取得した監視対象データおよび相関データ群に対して同期処理を行う。
データ取得部53は、同期処理が完了すると、同期させた監視対象データおよび相関データ群から最新の監視対象データおよび相関データ群の組を取得し、取得した組、およびモデル情報Md5の示す種類の組み合わせを検知部54へ出力する。
図11は、本開示の第1の実施の形態に係る通常モデルの変形例を用いた不正メッセージの検知処理を説明するための図である。
図11を参照して、検知部54は、たとえば、データ取得部53から時刻td1における監視対象データおよび相関データ群の組、およびモデル情報Md5の示す種類の組み合わせを受けると、記憶部52における検出条件情報に含まれる複数のモデル情報を参照し、受けた組み合わせに対応するモデル情報Md5を記憶部52から取得する。
検知部54は、たとえば、データ取得部53によって取得された相関データ群、およびモデル情報Md2に含まれる通常モデルM5に基づいて、監視対象データの値を推定する。
より詳細には、検知部54は、データ取得部53から受けた相関データ群を、モデル情報Md5に含まれる通常モデルM5に入力することにより、通常モデルM5から出力される監視対象データの推定値を取得する。
そして、検知部54は、取得した推定値と、時刻td1における監視対象データの値とを比較することにより、推定誤差ydiffを算出する。
より詳細には、検知部54は、たとえば、取得した推定値と時刻td1における監視対象データの値とを比較し、これらの値が一致する場合は「1」を、これらの値が一致しない場合は「ゼロ」を推定誤差ydiffとして算出する。
検知部54は、推定誤差ydiffを算出すると、算出した推定誤差ydiffを記憶部52に保存する。
検知部54は、算出した推定誤差ydiffと、過去に算出した推定誤差ydiffとに基づいて、監視対象データに対応する送信メッセージが不正メッセージであるか否かを判断する。より詳細には、検知部54は、推定誤差ydiffを算出すると、当該推定誤差ydiffと、記憶部52における直前に算出した推定誤差ydiffとに基づいて、監視対象データに対応する送信メッセージが不正メッセージであるか否かを判断する。
たとえば、検知部54は、新たに算出した推定誤差ydiff、および記憶部52における直前に算出した推定誤差ydiffが「ゼロ」である場合、監視対象データに対応する送信メッセージは不正メッセージであると判断する。
一方、検知部54は、新たに算出した推定誤差ydiff、および記憶部52における直前に算出した推定誤差ydiffの少なくともいずれか一方が「1」である場合、監視対象データに対応する送信メッセージは正当メッセージであると判断する。
[動作の流れ]
本開示の実施の形態に係る車載通信システムにおける各装置は、メモリを含むコンピュータを備え、当該コンピュータにおけるCPU等の演算処理部は、以下のフローチャートおよびシーケンスの各ステップの一部または全部を含むプログラムを当該メモリから読み出して実行する。これら複数の装置のプログラムは、それぞれ、外部からインストールすることができる。これら複数の装置のプログラムは、それぞれ、記録媒体に格納された状態で流通する。
本開示の実施の形態に係る車載通信システムにおける各装置は、メモリを含むコンピュータを備え、当該コンピュータにおけるCPU等の演算処理部は、以下のフローチャートおよびシーケンスの各ステップの一部または全部を含むプログラムを当該メモリから読み出して実行する。これら複数の装置のプログラムは、それぞれ、外部からインストールすることができる。これら複数の装置のプログラムは、それぞれ、記録媒体に格納された状態で流通する。
図12は、本開示の第1の実施の形態に係るゲートウェイ装置が送信メッセージを受信する際の動作手順を定めたフローチャートである。
図12を参照して、モデル情報Md2が、通常モデル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)。
図13は、本開示の第1の実施の形態に係るゲートウェイ装置が、受信した送信メッセージを記憶部に保存した際の動作手順を定めたフローチャートである。
図13を参照して、モデル情報Md2が、通常モデルM2、ならびに監視対象データであるデータXおよび相関データであるデータYの種類の組み合わせを示す状況を想定する。
まず、ゲートウェイ装置101は、送信メッセージが記憶部52に保存されるのを待ち受ける(ステップS202でNO)。
そして、ゲートウェイ装置101は、送信メッセージが記憶部52に保存されると(ステップS202でYES)、モデル情報Md2の示す2種類の組み合わせに合った監視対象データおよび相関データが当該送信メッセージすなわち同じ送信メッセージに格納されているか否かを確認する(ステップS204)。
次に、ゲートウェイ装置101は、モデル情報Md2の示す2種類の組み合わせに合った監視対象データおよび相関データが同じ送信メッセージに含まれない場合、すなわち別個の送信メッセージに分かれて含まれる場合(ステップS204でNO)、モデル情報Md2の示す監視対象データおよび相関データに対して同期処理を行う(ステップS206)。
次に、ゲートウェイ装置101は、当該送信メッセージからモデル情報Md2の示す監視対象データおよび相関データの組を取得するか、または同期処理を行った監視対象データおよび相関データからモデル情報Md2の示す監視対象データおよび相関データの最新の組を取得する(ステップS208)。
次に、ゲートウェイ装置101は、取得した監視対象データおよび相関データの組に対応する通常モデルM2を記憶部52から取得する(ステップS210)。
次に、ゲートウェイ装置101は、取得した監視対象データおよび相関データの組、ならびに通常モデルM2に基づいて、監視対象データの推定誤差ydiffを算出する(ステップS212)。
次に、ゲートウェイ装置101は、算出した推定誤差ydiff、および通常モデルM2を用いて作成された推定誤差ydiffの分布に基づいて、マハラノビス距離D(t)^2を算出する(ステップS214)。
次に、ゲートウェイ装置101は、算出したマハラノビス距離D(t)^2と、記憶部52における直前に算出したマハラノビス距離D(t-1)^2とに基づいて、スコアT(t)^2を算出する(ステップS216)。
次に、ゲートウェイ装置101は、算出したスコアT(t)^2と、所定のしきい値Th1とを比較する(ステップS218)。
次に、ゲートウェイ装置101は、スコアT(t)^2がしきい値Th1より小さい場合、監視対象データに対応する送信メッセージは正当メッセージであると判断する(ステップS222)。
一方、ゲートウェイ装置101は、スコアT(t)^2がしきい値Th1以上である場合、監視対象データに対応する送信メッセージは不正メッセージであると判断する(ステップS224)。
次に、ゲートウェイ装置101は、新たな送信メッセージが記憶部52に保存されるのを待ち受ける(ステップS202でNO)。
なお、上記動作の流れでは、通常モデルM2、ならびに対応の監視対象データおよび相関データの種類の組み合わせを示すモデル情報Md2が用いられる状況を想定したが、これに限定するものではない。たとえば、通常モデルM4、ならびに監視対象データおよびq種類の相関データの組み合わせを示すモデル情報Md4が用いられてもよい。この場合、ゲートウェイ装置101は、上記ステップS208において、監視対象データおよびq種類の相関データの組を取得し、上記ステップS210において、対応の通常モデルM4を記憶部52から取得する。
また、本開示の第1の実施の形態に係るゲートウェイ装置では、メッセージ取得部55は、車載ネットワーク12における複数の送信メッセージを取得する構成であるとしたが、これに限定するものではない。メッセージ取得部55は、車載ネットワーク12における1つの送信メッセージを取得する構成であってもよい。たとえば、モデル情報の示す2種類の組み合わせに合ったデータが当該1つの送信メッセージに含まれる場合、送信メッセージが不正メッセージであるか否かを判断することが可能である。
また、本開示の第1の実施の形態に係る車載通信システムでは、ゲートウェイ装置101が、車載ネットワーク12における不正メッセージを検知する構成であるとしたが、これに限定するものではない。車載通信システム301において、ゲートウェイ装置101とは別の検知装置が、車載ネットワーク12における不正メッセージを検知する構成であってもよい。
また、本開示の第1の実施の形態に係るゲートウェイ装置では、データ取得部53は、同じ受信時刻に対応する複数種類のデータの組を取得する構成であるとしたが、これに限定するものではない。データ取得部53は、受信時刻に限らず、同じ送信時刻または同じ作成時刻等に対応する複数種類のデータの組を取得する構成であってもよい。具体的には、たとえば、制御装置122がデータの作成時刻または送信メッセージの送信時刻を送信メッセージに格納して送信する場合、データ取得部53は、同じ送信時刻または同じ作成時刻に対応する複数種類のデータの組を取得することが可能である。
また、本開示の第1の実施の形態に係るゲートウェイ装置では、検知部54は、制御装置122間でやり取りされる送信メッセージを不正メッセージの検知対象とする構成であるとしたが、これに限定するものではない。検知部54は、制御装置122および車載通信機111間でやり取りされる送信メッセージ、ならびに車載通信機111間でやり取りされる送信メッセージを不正メッセージの検知対象とする構成であってもよい。
また、本開示の第1の実施の形態に係るゲートウェイ装置では、通常モデルは、所定の相関関係を有する複数種類のデータの組に基づいて作成される構成であるとしたが、これに限定するものではない。通常モデルは、所定の相関関係を有さない複数種類のデータの組に基づいて作成される構成であってもよい。
また、本開示の第1の実施の形態に係るゲートウェイ装置では、データ取得部53は、メッセージ取得部55によって記憶部52に保存された各送信メッセージから複数種類のデータを取得し、取得したデータをリサンプリングする構成であるとしたが、これに限定するものではない。たとえば、各送信メッセージの受信時刻が近い場合、データ取得部53は、メッセージ取得部55から各送信メッセージを直接受けて、受けた各送信メッセージから複数種類のデータを取得し、取得したデータをリサンプリングせずに検知に用いる構成であってもよい。
ところで、車載ネットワークにおける不正メッセージをより正しく検知することが可能な技術が望まれる。
たとえば、不正な車載装置による攻撃モデルとして、正常な車載装置からの正当メッセージを停止させるとともに、正当メッセージと同一の送信周期の不正メッセージを送信するという、いわゆる占有バス型の攻撃モデルが想定される。このような占有バス型の攻撃モデルにおいて、不正な車載装置が、正常な車載装置からの正当メッセージの送信時刻を機械学習し、送信間隔の標準偏差が正当メッセージの送信間隔の標準偏差と略同一となるように不正メッセージが送信された場合、当該不正メッセージを検知することは容易ではない。
特許文献1に記載の技術では、占有バス型の攻撃モデルによる不正メッセージを検知し得る。しかしながら、特許文献1に記載の技術では、正当メッセージに含まれる監視対象データが突発的に変化した場合、当該正当メッセージを不正メッセージであると誤検知してしまうおそれがあるため、検知性能のさらなる向上が望まれる。
これに対して、本開示の第1の実施の形態に係るゲートウェイ装置101は、車両1に搭載される車載ネットワーク12における不正メッセージを検知する。メッセージ取得部55は、車載ネットワーク12における1または複数の送信メッセージを取得する。データ取得部53は、メッセージ取得部55によって取得された送信メッセージに含まれる、同じ時刻に対応する複数種類のデータの組を取得する。記憶部52は、予め作成された、複数の時刻にそれぞれ対応する複数の組に基づく検出条件を記憶する。検知部54は、データ取得部53によって取得された組、および検出条件に基づいて、組における監視対象データの推定誤差を算出する。検知部54は、算出した推定誤差と、過去に算出した推定誤差とに基づいて、監視対象データに対応する送信メッセージが不正メッセージであるか否かを判断する。
本開示の第1の実施の形態に係る検知方法は、車両1に搭載される車載ネットワーク12における不正メッセージを検知し、記憶部52を備えるゲートウェイ装置101における検知方法である。記憶部52は、予め作成された、複数の時刻にそれぞれ対応する複数の組に基づく検出条件を記憶する。この検知方法では、まず、ゲートウェイ装置101が、車載ネットワーク12における1または複数の送信メッセージを取得する。次に、ゲートウェイ装置101が、取得した送信メッセージに含まれる、同じ時刻に対応する複数種類のデータの組を取得する。次に、ゲートウェイ装置101が、取得した組、および検出条件に基づいて、組における監視対象データの推定誤差を算出する。次に、ゲートウェイ装置101が、算出した推定誤差と、過去に算出した推定誤差とに基づいて、監視対象データに対応する送信メッセージが不正メッセージであるか否かを判断する。
このように、複数種類のデータの組における監視対象データの推定誤差を算出し、算出した推定誤差と、過去に算出した推定誤差とに基づいて、当該監視対象データに対応する送信メッセージが不正メッセージであるか否かを判断する構成および方法により、たとえば現在の推定誤差の正当性に基づいて送信メッセージが不正メッセージであるか否かを判断する従来技術の構成と比べて、データの突発的な変化が判断結果に与える影響を抑制することができるため、検知性能を向上させることができる。
したがって、本開示の第1の実施の形態に係る検知装置および検知方法では、車載ネットワークにおける不正メッセージをより正しく検知することができる。より詳細には、上記の構成および方法によれば、占有バス型の攻撃モデルにおいて、たとえば推定誤差の累積値を用いて不正メッセージを検知することができるため、特許文献1に記載の技術と比べて検知性能を向上させることができる。また、上記の構成および方法によれば、正常な車載装置からの正当メッセージを停止することなく不正メッセージを送信するという、いわゆる共有バス型の攻撃モデルにおいても、たとえば推定誤差の累積値を用いて不正メッセージを検知することができるため、正常メッセージを不正メッセージであると判定されるおそれがある程度許容される場合において、特許文献1に記載の技術と比べて検知性能を向上させることができる。
次に、本開示の他の実施の形態について図面を用いて説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰り返さない。
<第2の実施の形態>
本実施の形態は、第1の実施の形態に係るゲートウェイ装置と比べて、送信メッセージの送信間隔に基づく不正メッセージの検知を組み込んだゲートウェイ装置に関する。以下で説明する内容以外は第1の実施の形態に係るゲートウェイ装置と同様である。
本実施の形態は、第1の実施の形態に係るゲートウェイ装置と比べて、送信メッセージの送信間隔に基づく不正メッセージの検知を組み込んだゲートウェイ装置に関する。以下で説明する内容以外は第1の実施の形態に係るゲートウェイ装置と同様である。
[構成および基本動作]
図14は、本開示の第2の実施の形態に係る車載通信システムにおけるゲートウェイ装置の構成を示す図である。
図14は、本開示の第2の実施の形態に係る車載通信システムにおけるゲートウェイ装置の構成を示す図である。
図14を参照して、ゲートウェイ装置103は、通信処理部51と、記憶部52と、データ取得部53と、メッセージ取得部55と、監視部57と、分布取得部58と、検知部64とを備える。検知部64は、算出部の一例であり、かつ判断部の一例である。
ゲートウェイ装置103における通信処理部51、記憶部52、データ取得部53およびメッセージ取得部55の動作は、図3に示すゲートウェイ装置101における通信処理部51、記憶部52、データ取得部53およびメッセージ取得部55とそれぞれ同様である。監視部57、分布取得部58および検知部64は、たとえば、CPUおよびDSP等のプロセッサにより実現される。
図15は、本開示の第2の実施の形態に係る車載通信システムにおける監視対象の周期メッセージの送信間隔の時間変化の一例を示す図である。なお、図15において、縦軸は送信間隔を示し、横軸は時間を示す。
図15を参照して、送信間隔は、たとえば、ある監視対象の周期メッセージが伝送線13において伝送されるタイミングの間隔である。以下、監視対象の周期メッセージを対象メッセージとも称する。
図15に示すように、対象メッセージの送信間隔は一定でなく、ばらついている。これは、対象メッセージが伝送される際に調停が行われたり、クロックのずれによる内部処理の遅延ばらつきが発生したりするからである。
ここで、調停について説明する。メッセージには、たとえば、IDに応じて優先度が割り当てられている。たとえば、複数のメッセージの送信タイミングが重なる場合、車載ネットワーク12では、優先度の高いメッセージを、優先度の低いメッセージより優先的に伝送線13を伝送させる調停が行われる。このような調停により、送信間隔のばらつきが発生する。
図16は、本開示の第2の実施の形態に係る車載通信システムにおける対象メッセージの送信間隔の度数分布の一例を示す図である。なお、図16において、縦軸は度数を示し、横軸は送信間隔を示す。
図16を参照して、送信間隔の度数分布は、Ctミリ秒を中心としてほぼ対称である。送信間隔の度数分布は、たとえば所定のモデル関数Func1により近似することが可能である。
再び図14を参照して、監視部57は、たとえば、車載ネットワーク12における送信メッセージを監視する。より詳細には、監視部57は、たとえば、通信処理部51における送信メッセージの中継処理を監視し、監視結果に基づいて対象メッセージの送信間隔を測定する。
具体的には、たとえば、監視部57には、対象メッセージを示すIDが1つ登録されている。以下、対象メッセージを示す、登録されたIDを登録IDとも称する。なお、監視部57には、複数の登録IDが登録されてもよい。
監視部57は、たとえば、通信処理部51が送信メッセージを受信すると、通信処理部51によって受信された送信メッセージに含まれるIDを確認する。監視部57は、確認したIDが登録IDと一致する場合、通信処理部51によって受信された送信メッセージすなわち対象メッセージの受信時刻t1をたとえば測定基準として保持する。
そして、監視部57は、通信処理部51において登録IDを含む新たな対象メッセージが受信されると、新たに受信された対象メッセージの受信時刻t2を保持するとともに、以下の処理を行う。
すなわち、監視部57は、受信時刻t2から受信時刻t1を差し引くことにより、対象メッセージの送信間隔を算出し、算出した送信間隔および登録IDを検知部64へ出力する。
分布取得部58は、たとえば、送信メッセージの送信間隔の分布を取得する。詳細には、分布取得部58は、たとえば、他の装置、具体的にはサーバによって予め作成された送信間隔の分布を示す分布情報を取得する。
より詳細には、サーバは、たとえば、対象メッセージの送信間隔を複数取得する。この送信間隔は、たとえば、車両1と同じ種類のテスト車両において測定される。なお、サーバは、車両1において測定された送信間隔を取得してもよい。
ここで、tは、送信間隔のサンプル数である。xiは、i番目の送信間隔である。サーバは、たとえば、所定の頒布タイミングにおいて、xバーおよびσ^2を含む分布情報を車両1へ送信する。
分布取得部58は、車載通信機111および通信処理部51経由でサーバから分布情報を受信すると、受信した分布情報に基づいて、式(9)により示されるモデル関数Func1を作成し、作成したモデル関数Func1を検知部64へ出力する。
なお、ゲートウェイ装置101では、分布取得部58が、車載通信機111および通信処理部51経由でサーバから分布情報を受信して検知部64へ出力する構成であるとしたが、これに限定するものではない。たとえば、ゲートウェイ装置101が不揮発性メモリを保持しており、分布取得部58が、整備用端末装置によってポート112経由で分布情報が書き込まれた不揮発性メモリから分布情報を取得して検知部64へ出力する構成であってもよい。
図17は、本開示の第2の実施の形態に係るゲートウェイ装置における検知部による不正メッセージの検出例を示す図である。なお、図17において、縦軸はスコアを示し、横軸は変数xを示す。
図17を参照して、検知部64は、たとえば、監視部57による監視結果および分布取得部58によって取得された送信間隔の分布に基づいて不正メッセージを検知する。
詳細には、検知部64は、たとえば、監視部57によって測定された送信間隔と、当該送信間隔の分布を示す分布情報と、所定のしきい値とに基づいて、送信メッセージを不正メッセージとすべきか否かについて判断する。ここでは、検知部64には、しきい値ThBが登録されている。
言い換えると、検知部64は、たとえば、監視部57によって測定された送信間隔の、当該送信間隔の分布における位置に基づいて不正メッセージを検知する。
検知部64は、分布取得部58からモデル関数Func1を受けると、受けたモデル関数Func1を変形することによりスコア関数Sc1を作成する。より詳細には、検知部64は、たとえば、-log(Func1)をスコア関数Sc1として作成する。ここで、「log(c)」は、cの常用対数を意味する。
図17では、スコア関数Sc1は、測定基準の時刻がx=0になるように表されている。したがって、図17に示す横軸は、送信間隔を示す。また、スコア関数Sc1は、変数xが平均値すなわちxバーである場合に最小値を示す。
検知部64は、監視部57から受けた送信間隔をスコア関数Sc1における変数xに代入することによりスコアを算出する。
検知部64は、算出したスコアがたとえばしきい値ThB以下である場合、今回伝送された対象メッセージを不正メッセージとすべきでないと判断する、すなわち対象メッセージが正当メッセージ、または送信間隔が偽装されたメッセージであると判断する。以下、送信間隔が偽装されたメッセージを偽装メッセージとも称する。
具体的には、検知部64は、図17に示す送信間隔Tcを監視部57から受けた場合、今回伝送された対象メッセージCが正当メッセージまたは偽装メッセージであると判断する。
これは、たとえば、対象メッセージが正当メッセージまたは偽装メッセージである場合、調停および内部処理の遅延等によるばらつきを含めても、図16に示す度数分布の中心の近傍に送信間隔が位置する可能性が高いからである。
一方、検知部64は、算出したスコアがしきい値ThBより大きい場合、今回伝送された対象メッセージが不正メッセージであると判断する。具体的には、検知部64は、図17に示す送信間隔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は、たとえば、監視部57によって測定された送信間隔の分布に基づいて不正メッセージとすべきでないと判断した対象メッセージについては、当該対象メッセージに格納されたデータの推定誤差ydiffを算出し、算出した推定誤差ydiffと、過去に算出した推定誤差ydiffとに基づいて、不正メッセージであるか否かを判断する。
より詳細には、検知部64は、今回伝送された対象メッセージCが正当メッセージまたは偽装メッセージであると判断した場合、監視部57から受けた登録IDをデータ取得部53へ出力する。
データ取得部53は、検知部64から登録IDを受けると、記憶部52に保存された複数の送信メッセージの中から、受けた登録IDを有する最新の送信メッセージすなわち最新の対象メッセージを取得する。
この例では、対象メッセージにおいて1つのデータが格納されている。データ取得部53は、取得した最新の対象メッセージに格納された1つのデータの種類を認識する。なお、対象メッセージにおいて、2つ以上のデータが含まれてもよい。以下、データ取得部53により取得された最新の対象メッセージに含まれる1つのデータの種類を対象種類とも称する。
データ取得部53は、記憶部52が保存する検出条件情報に含まれる複数のモデル情報を参照し、参照した複数のモデル情報の中から、認識した対象種類を示すモデル情報を記憶部52から取得する。
データ取得部53は、取得したモデル情報に基づいて、対象種類と組み合わされるデータの種類を特定する。以下、対象種類と組み合わされるデータの種類を相手方種類とも称する。また、以下、対象種類のデータが監視対象データであり、相手方種類のデータが相関データであるものとする。
データ取得部53は、たとえば、対象種類のデータを含む複数の対象メッセージ、および相手方種類のデータを含む複数の送信メッセージを記憶部52から取得し、取得した各送信メッセージに基づいて、対象種類のデータの受信時刻と相手方種類のデータの受信時刻とを同期させる同期処理を行う。
データ取得部53は、同期処理が完了すると、同期させた2種類のデータから最新の2種類のデータの組を取得し、取得した2種類のデータの組、およびモデル情報の示す種類の組み合わせを検知部64へ出力する。
検知部64は、データ取得部53から2種類のデータの組、およびモデル情報の示す種類の組み合わせを受けると、記憶部52における検出条件情報に含まれる複数のモデル情報を参照し、受けた組み合わせに対応する通常モデルM2を記憶部52における対応のモデル情報から取得する。
検知部64は、データ取得部53によって取得された対象種類のデータおよび相手方種類のデータの組、ならびにモデル情報Md2に含まれる通常モデルM2に基づいて、対象種類のデータの推定誤差ydiffを算出する。
検知部54は、算出した推定誤差ydiff、ならびにモデル情報Md2に含まれる平均値μおよび分散σ^2を上述の式(2)に代入することによりマハラノビス距離D(t)^2を算出する。
検知部54は、マハラノビス距離D(t)^2を算出すると、算出したマハラノビス距離D(t)^2を上述の式(4)に代入することによりスコアT(t)^2を算出し、算出したスコアT(t)^2に基づいて、対象メッセージが不正メッセージであるか否かを判断する。
検知部64は、対象メッセージが不正メッセージであると判断した場合、たとえば、以下の処理を行う。すなわち、検知部64は、登録ID、相手方種類のデータを含む送信メッセージのID、および対応の種類の組み合わせ等を記憶部52に記録する。
また、検知部64は、伝送線13において不正メッセージが伝送されていることを車両1内または車両1外における上位装置へ通信処理部51経由で通知する。
[動作の流れ]
図18は、本開示の第2の実施の形態に係るゲートウェイ装置が対象メッセージを受信する際の動作手順を定めたフローチャートである。
図18は、本開示の第2の実施の形態に係るゲートウェイ装置が対象メッセージを受信する際の動作手順を定めたフローチャートである。
図18を参照して、まず、ゲートウェイ装置103は、最初の対象メッセージを受信し、当該対象メッセージの受信時刻を測定基準として設定する(ステップS302)。
次に、ゲートウェイ装置103は、対象メッセージを待ち受ける(ステップS304でNO)。
そして、ゲートウェイ装置103は、対象メッセージを受信すると(ステップS304でYES)、受信した対象メッセージを不正メッセージとすべきか否かについて判断する判断処理を行う(ステップS306)。
次に、ゲートウェイ装置103は、新たな対象メッセージを待ち受ける(ステップS306でNO)。
図19は、本開示の第2の実施の形態に係るゲートウェイ装置が判断処理を行う際の動作手順を定めたフローチャートである。図19は、図18のステップS306における動作の詳細を示している。
図19を参照して、ゲートウェイ装置103は、対象メッセージの受信時刻から測定基準を差し引くことにより送信間隔を算出する(ステップS402)。
次に、ゲートウェイ装置103は、算出した送信間隔をスコア関数Sc1に代入することによりスコアを算出する(ステップS404)。
次に、ゲートウェイ装置103は、算出したスコアがしきい値ThBより大きい場合(ステップS406でNO)、今回伝送された対象メッセージが不正メッセージであると判断する(ステップS428)。
一方、ゲートウェイ装置103は、算出したスコアがしきい値ThB以下である場合(ステップS406でYES)、今回伝送された対象メッセージが正当メッセージまたは偽装メッセージであると判断する(ステップS408)。
次に、ゲートウェイ装置103は、測定基準を、今回伝送された対象メッセージの受信時刻に更新する(ステップS410)。
次に、ゲートウェイ装置103は、対象種類のデータすなわち監視対象データ、および相手方種類のデータすなわち相関データの両方が対象メッセージに格納されているか否かを確認する(ステップS412)。
次に、ゲートウェイ装置103は、監視対象データおよび相関データの両方が対象メッセージに含まれない場合、すなわち別個の送信メッセージに分かれて含まれる場合(ステップS412でNO)、監視対象データおよび相関データに対して同期処理を行う(ステップS414)。
次に、ゲートウェイ装置103は、2種類のデータの組、より詳細には監視対象データおよび相関データの組を対象メッセージから取得するか、または同期処理を行った監視対象データおよび相関データから、監視対象データおよび相関データの最新の組を取得する(ステップS416)。
次に、ゲートウェイ装置103は、監視対象データおよび相関データの組に対応する通常モデルM2を記憶部52から取得する(ステップS418)。
次に、ゲートウェイ装置103は、取得した監視対象データおよび相関データの組、ならびに通常モデルM2に基づいて、監視対象データの推定誤差ydiffを算出する。また、ゲートウェイ装置103は、算出した推定誤差ydiff、および通常モデルM2を用いて作成された推定誤差ydiffの分布に基づいて、マハラノビス距離D(t)^2を算出する。また、ゲートウェイ装置103は、算出したマハラノビス距離D(t)^2と、記憶部52における直前に算出したマハラノビス距離D(t-1)^2とに基づいて、スコアT(t)^2を算出する(ステップS420)。
次に、ゲートウェイ装置103は、算出したスコアT(t)^2と、所定のしきい値Th1とを比較する(ステップS422)。
次に、ゲートウェイ装置103は、スコアT(t)^2がしきい値Th1より小さい場合、今回伝送された対象メッセージが正当メッセージであると判断する(ステップS426)。
一方、ゲートウェイ装置103は、スコアT(t)^2がしきい値Th1以上である場合、今回伝送された対象メッセージが不正メッセージであると判断する(ステップS428)。
なお、本開示の第2の実施の形態に係るゲートウェイ装置では、監視部57は、対象メッセージの受信時刻に基づいて送信間隔を測定する構成であるとしたが、これに限定するものではない。監視部57は、たとえば、対象メッセージの送信時刻を取得し、取得した送信時刻に基づいて送信間隔を測定する構成であってもよい。
また、本開示の第2の実施の形態に係るゲートウェイ装置は、テスト車両において測定された対象メッセージの送信間隔の分布を取得する構成であるとしたが、これに限定するものではない。ゲートウェイ装置103は、車両1において測定された送信間隔を蓄積し、蓄積した送信間隔に基づいて当該分布を作成する構成であってもよい。
その他の構成および動作は第1の実施の形態に係るゲートウェイ装置と同様であるため、ここでは詳細な説明を繰り返さない。
なお、本開示の第1の実施の形態および第2の実施の形態に係る各装置の構成要素および動作のうち、一部または全部を適宜組み合わせることも可能である。
上記実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記説明ではなく請求の範囲によって示され、請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
以上の説明は、以下に付記する特徴を含む。
[付記1]
車両に搭載される車載ネットワークにおける不正メッセージを検知する検知装置であって、
前記車載ネットワークにおける1または複数の送信メッセージを取得するメッセージ取得部と、
前記メッセージ取得部によって取得された前記送信メッセージに含まれる、同じ時刻に対応する複数種類のデータの組を取得するデータ取得部と、
予め作成された、複数の時刻にそれぞれ対応する複数の前記組に基づく検出条件を記憶する記憶部と、
前記データ取得部によって取得された前記組、および前記検出条件に基づいて、前記組における監視対象の種類の前記データの推定誤差を算出する算出部と、
前記算出部により算出された前記推定誤差と、前記算出部により過去に算出された前記推定誤差とに基づいて、前記監視対象の前記種類の前記データに対応する前記送信メッセージが不正メッセージであるか否かを判断する判断部とを備え、
前記データは、センサデータであり、
前記時刻は、受信時刻、送信時刻または作成時刻であり、
前記判断部は、前記推定誤差と、過去に算出した前記推定誤差とに基づいて、CUSUM、MCUSUM、EWMAまたはMEWMAに従う解析手法を用いて、前記対象種類の前記データに対応する前記送信メッセージが不正メッセージであるか否かを判断する、検知装置。
車両に搭載される車載ネットワークにおける不正メッセージを検知する検知装置であって、
前記車載ネットワークにおける1または複数の送信メッセージを取得するメッセージ取得部と、
前記メッセージ取得部によって取得された前記送信メッセージに含まれる、同じ時刻に対応する複数種類のデータの組を取得するデータ取得部と、
予め作成された、複数の時刻にそれぞれ対応する複数の前記組に基づく検出条件を記憶する記憶部と、
前記データ取得部によって取得された前記組、および前記検出条件に基づいて、前記組における監視対象の種類の前記データの推定誤差を算出する算出部と、
前記算出部により算出された前記推定誤差と、前記算出部により過去に算出された前記推定誤差とに基づいて、前記監視対象の前記種類の前記データに対応する前記送信メッセージが不正メッセージであるか否かを判断する判断部とを備え、
前記データは、センサデータであり、
前記時刻は、受信時刻、送信時刻または作成時刻であり、
前記判断部は、前記推定誤差と、過去に算出した前記推定誤差とに基づいて、CUSUM、MCUSUM、EWMAまたはMEWMAに従う解析手法を用いて、前記対象種類の前記データに対応する前記送信メッセージが不正メッセージであるか否かを判断する、検知装置。
[付記2]
車両に搭載される車載ネットワークにおける不正メッセージを検知する検知装置であって、
前記車載ネットワークにおける1または複数の送信メッセージを取得するメッセージ取得部と、
前記メッセージ取得部によって取得された前記送信メッセージに含まれる、同じ時刻に対応する複数種類のデータの組を取得するデータ取得部と、
予め作成された、複数の時刻にそれぞれ対応する複数の前記組に基づく検出条件を記憶する記憶部と、
前記データ取得部によって取得された前記組、および前記検出条件に基づいて、前記組における監視対象の種類の前記データの推定誤差を算出する算出部と、
前記算出部により算出された前記推定誤差と、前記算出部により過去に算出された前記推定誤差とに基づいて、前記監視対象の前記種類の前記データに対応する前記送信メッセージが不正メッセージであるか否かを判断する判断部とを備え、
前記メッセージ取得部、前記データ取得部、前記算出部および前記判断部は、プロセッサにより実現される、検知装置。
車両に搭載される車載ネットワークにおける不正メッセージを検知する検知装置であって、
前記車載ネットワークにおける1または複数の送信メッセージを取得するメッセージ取得部と、
前記メッセージ取得部によって取得された前記送信メッセージに含まれる、同じ時刻に対応する複数種類のデータの組を取得するデータ取得部と、
予め作成された、複数の時刻にそれぞれ対応する複数の前記組に基づく検出条件を記憶する記憶部と、
前記データ取得部によって取得された前記組、および前記検出条件に基づいて、前記組における監視対象の種類の前記データの推定誤差を算出する算出部と、
前記算出部により算出された前記推定誤差と、前記算出部により過去に算出された前記推定誤差とに基づいて、前記監視対象の前記種類の前記データに対応する前記送信メッセージが不正メッセージであるか否かを判断する判断部とを備え、
前記メッセージ取得部、前記データ取得部、前記算出部および前記判断部は、プロセッサにより実現される、検知装置。
1 車両
12 車載ネットワーク
13,14 伝送線
51 通信処理部
52 記憶部
53 データ取得部
54 検知部
55 メッセージ取得部
57 監視部
58 分布取得部
64 検知部
101,103 ゲートウェイ装置
111 車載通信機
112 ポート
121 バス接続装置群
122 制御装置
301 車載通信システム
12 車載ネットワーク
13,14 伝送線
51 通信処理部
52 記憶部
53 データ取得部
54 検知部
55 メッセージ取得部
57 監視部
58 分布取得部
64 検知部
101,103 ゲートウェイ装置
111 車載通信機
112 ポート
121 バス接続装置群
122 制御装置
301 車載通信システム
Claims (13)
- 車両に搭載される車載ネットワークにおける不正メッセージを検知する検知装置であって、
前記車載ネットワークにおける1または複数の送信メッセージを取得するメッセージ取得部と、
前記メッセージ取得部によって取得された前記送信メッセージに含まれる、同じ時刻に対応する複数種類のデータの組を取得するデータ取得部と、
予め作成された、複数の時刻にそれぞれ対応する複数の前記組に基づく検出条件を記憶する記憶部と、
前記データ取得部によって取得された前記組、および前記検出条件に基づいて、前記組における監視対象の種類の前記データの推定誤差を算出する算出部と、
前記算出部により算出された前記推定誤差と、前記算出部により過去に算出された前記推定誤差とに基づいて、前記監視対象の前記種類の前記データに対応する前記送信メッセージが不正メッセージであるか否かを判断する判断部とを備える、検知装置。 - 前記算出部は、算出した前記推定誤差、および前記検出条件を用いて作成された前記推定誤差の分布に基づいて、前記監視対象の前記種類の前記データの正当性に関する評価値を算出し、
前記判断部は、前記算出部により算出された前記評価値と、前記算出部により過去に算出された前記評価値とに基づいて、前記監視対象の前記種類の前記データに対応する前記送信メッセージが不正メッセージであるか否かを判断する、請求項1に記載の検知装置。 - 前記判断部は、前記算出部により算出された前記推定誤差と、前記算出部により過去に算出された前記推定誤差とに基づいて、前記推定誤差の移動平均を算出し、算出した前記移動平均に基づいて、前記監視対象の前記種類の前記データに対応する前記送信メッセージが不正メッセージであるか否かを判断する、請求項1に記載の検知装置。
- 前記検出条件は、所定の相関関係を有する複数種類のデータの前記組に基づいて作成されている、請求項1から請求項3のいずれか1項に記載の検知装置。
- 前記監視対象の前記種類の前記データと前記相関関係を有する前記データである相関データが複数種類ある場合、前記監視対象の前記種類の前記データと前記複数種類の前記相関データとに基づいて1つの前記検出条件が作成されている、請求項4に記載の検知装置。
- 前記監視対象の前記種類の前記データと前記相関関係を有する前記データである相関データが複数種類ある場合、前記監視対象の前記種類の前記データと前記複数種類の前記相関データとに基づいて複数の前記検出条件がそれぞれ作成されている、請求項4に記載の検知装置。
- 前記データは、状態を表すステータスデータである、請求項1から請求項6のいずれか1項に記載の検知装置。
- 前記データ取得部は、異なる前記送信メッセージにそれぞれ含まれる前記複数種類のデータの組を取得する、請求項1から請求項7のいずれか1項に記載の検知装置。
- 前記メッセージ取得部は、取得した複数の前記送信メッセージを記憶部に保存し、
前記データ取得部は、前記記憶部に保存された各前記送信メッセージから前記組を取得する、請求項8に記載の検知装置。 - 前記検知装置は、さらに、
前記車載ネットワークにおける前記送信メッセージを監視する監視部と、
前記送信メッセージの送信間隔の分布を取得する分布取得部とを備え、
前記判断部は、前記監視部による監視結果および前記分布取得部によって取得された前記分布に基づいて不正メッセージを検知し、
前記算出部は、前記判断部により前記分布に基づいて不正メッセージとすべきでないと判断された前記送信メッセージについては、前記送信メッセージに格納された前記データの前記推定誤差を算出し、
前記判断部は、前記算出部により算出された前記推定誤差と、前記算出部により過去に算出された前記推定誤差とに基づいて、前記分布に基づいて不正メッセージとすべきでないと判断した前記送信メッセージが不正メッセージであるか否か、を判断する、請求項1から請求項9のいずれか1項に記載の検知装置。 - 請求項1から請求項10のいずれか1項に記載の検知装置を備える、車両。
- 車両に搭載される車載ネットワークにおける不正メッセージを検知し、記憶部を備える検知装置における検知方法であって、
前記車載ネットワークにおける1または複数の送信メッセージを取得するステップと、
取得した前記送信メッセージに含まれる、同じ時刻に対応する複数種類のデータの組を取得するステップとを含み、
前記記憶部は、予め作成された、複数の時刻にそれぞれ対応する複数の前記組に基づく検出条件を記憶し、
前記検知方法は、さらに、
取得した前記組、および前記検出条件に基づいて、前記組における監視対象の前記種類の前記データの推定誤差を算出するステップと、
算出した前記推定誤差と、過去に算出した前記推定誤差とに基づいて、前記監視対象の前記種類の前記データに対応する前記送信メッセージが不正メッセージであるか否かを判断するステップとを含む、検知方法。 - 車両に搭載される車載ネットワークにおける不正メッセージを検知し、記憶部を備える検知装置において用いられる検知プログラムであって、
コンピュータを、
前記車載ネットワークにおける1または複数の送信メッセージを取得するメッセージ取得部と、
前記メッセージ取得部によって取得された前記送信メッセージに含まれる、同じ時刻に対応する複数種類のデータの組を取得するデータ取得部、
として機能させるためのプログラムであり、
前記記憶部は、予め作成された、複数の時刻にそれぞれ対応する複数の前記組に基づく検出条件を記憶し、
さらに、コンピュータを、
前記データ取得部によって取得された前記組、および前記検出条件に基づいて、前記組における監視対象の種類の前記データの推定誤差を算出する算出部と、
前記算出部により算出された前記推定誤差と、前記算出部により過去に算出された前記推定誤差とに基づいて、前記監視対象の前記種類の前記データに対応する前記送信メッセージが不正メッセージであるか否かを判断する判断部、
として機能させるための、検知プログラム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/924,356 US20230344847A1 (en) | 2020-05-18 | 2021-03-30 | Detection device, vehicle, detection method, and detection program |
JP2022524308A JPWO2021235105A1 (ja) | 2020-05-18 | 2021-03-30 | |
DE112021002835.9T DE112021002835T5 (de) | 2020-05-18 | 2021-03-30 | Detektionsvorrichtung, Fahrzeug, Detektionsverfahren und Detektionsprogramm |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020-086520 | 2020-05-18 | ||
JP2020086520 | 2020-05-18 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2021235105A1 true WO2021235105A1 (ja) | 2021-11-25 |
Family
ID=78708489
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2021/013437 WO2021235105A1 (ja) | 2020-05-18 | 2021-03-30 | 検知装置、車両、検知方法および検知プログラム |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230344847A1 (ja) |
JP (1) | JPWO2021235105A1 (ja) |
DE (1) | DE112021002835T5 (ja) |
WO (1) | WO2021235105A1 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7517223B2 (ja) * | 2021-03-29 | 2024-07-17 | 株式会社デンソー | 攻撃分析装置、攻撃分析方法、及び攻撃分析プログラム |
US20210320933A1 (en) * | 2021-06-23 | 2021-10-14 | Intel Corporation | Post-gateway bus-off attack mitigation |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019029961A (ja) * | 2017-08-03 | 2019-02-21 | 住友電気工業株式会社 | 検知装置、検知方法および検知プログラム |
JP2019083534A (ja) * | 2017-04-07 | 2019-05-30 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America | 不正通信検知方法、不正通信検知システム及びプログラム |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6497656B2 (ja) * | 2015-07-03 | 2019-04-10 | パナソニックIpマネジメント株式会社 | 通信方法およびそれを利用した通信装置 |
US10885167B1 (en) * | 2018-08-31 | 2021-01-05 | Intuit Inc. | Intrusion detection based on anomalies in access patterns |
JP7071906B2 (ja) | 2018-11-15 | 2022-05-19 | 本田技研工業株式会社 | コミュニケーション仲介装置、コミュニケーション仲介方法、およびプログラム |
JP7204626B2 (ja) * | 2019-10-01 | 2023-01-16 | 株式会社東芝 | 異常検知装置、異常検知方法および異常検知プログラム |
-
2021
- 2021-03-30 JP JP2022524308A patent/JPWO2021235105A1/ja active Pending
- 2021-03-30 DE DE112021002835.9T patent/DE112021002835T5/de active Pending
- 2021-03-30 US US17/924,356 patent/US20230344847A1/en active Pending
- 2021-03-30 WO PCT/JP2021/013437 patent/WO2021235105A1/ja active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019083534A (ja) * | 2017-04-07 | 2019-05-30 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America | 不正通信検知方法、不正通信検知システム及びプログラム |
JP2019029961A (ja) * | 2017-08-03 | 2019-02-21 | 住友電気工業株式会社 | 検知装置、検知方法および検知プログラム |
Also Published As
Publication number | Publication date |
---|---|
JPWO2021235105A1 (ja) | 2021-11-25 |
US20230344847A1 (en) | 2023-10-26 |
DE112021002835T5 (de) | 2023-05-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7007632B2 (ja) | 検知装置、検知方法および検知プログラム | |
CN110494330B (zh) | 车辆监视装置、不正当检测服务器、以及控制方法 | |
JP6805667B2 (ja) | 検知装置、ゲートウェイ装置、検知方法および検知プログラム | |
JP7276670B2 (ja) | 検知装置、検知方法および検知プログラム | |
CN110300686B (zh) | 数据分析装置及存储介质 | |
WO2021235105A1 (ja) | 検知装置、車両、検知方法および検知プログラム | |
JP7435616B2 (ja) | 検知装置、車両、検知方法および検知プログラム | |
CN110325410B (zh) | 数据分析装置及存储介质 | |
Stachowski et al. | An assessment method for automotive intrusion detection system performance | |
CN114731301A (zh) | 决定方法、决定系统以及程序 | |
JP7480786B2 (ja) | 検知装置、車両、検知方法および検知プログラム | |
Kneib et al. | On the fingerprinting of electronic control units using physical characteristics in controller area networks | |
WO2020079874A1 (ja) | 検知装置、ゲートウェイ装置、検知方法および検知プログラム | |
JP7396363B2 (ja) | 検知装置、車両、検知方法および検知プログラム | |
JP2021093572A (ja) | 判定装置、判定プログラム及び判定方法 | |
US12113817B2 (en) | Information processing device and information processing method | |
CN117121078A (zh) | 用于保护集体感知的对象数据的内容的方法和单元 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 21806624 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2022524308 Country of ref document: JP Kind code of ref document: A |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 21806624 Country of ref document: EP Kind code of ref document: A1 |