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

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

Info

Publication number
WO2020203352A1
WO2020203352A1 PCT/JP2020/012301 JP2020012301W WO2020203352A1 WO 2020203352 A1 WO2020203352 A1 WO 2020203352A1 JP 2020012301 W JP2020012301 W JP 2020012301W WO 2020203352 A1 WO2020203352 A1 WO 2020203352A1
Authority
WO
WIPO (PCT)
Prior art keywords
abnormality
frame
abnormal
payload
abnormality detection
Prior art date
Application number
PCT/JP2020/012301
Other languages
English (en)
French (fr)
Inventor
崇光 佐々木
芳賀 智之
大貴 田中
山田 誠
久嗣 鹿島
剛 岸川
Original Assignee
パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ filed Critical パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ
Priority to EP20782439.2A priority Critical patent/EP3951531B1/en
Priority to CN202080005590.0A priority patent/CN112840282A/zh
Priority to JP2021511446A priority patent/JPWO2020203352A1/ja
Publication of WO2020203352A1 publication Critical patent/WO2020203352A1/ja
Priority to US17/322,371 priority patent/US11943243B2/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40169Flexible bus arrangements
    • H04L12/40176Flexible bus arrangements involving redundancy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1466Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard
    • H04L2012/40215Controller Area Network CAN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/142Denial of service attacks against network infrastructure

Definitions

  • the present disclosure relates to a technique for detecting an abnormal frame included in a set of frames flowing in a communication network system.
  • ECUs electronice control units
  • the communication network connecting these ECUs is called an in-vehicle network.
  • CAN Controller Area Network
  • CAN does not specify a security function that assumes a case where an invalid frame is transmitted. Therefore, if no measures are taken, for example, a node hijacked by an attacker can illegally control the vehicle by transmitting an illegal frame to the CAN bus.
  • Patent Document 1 discloses a method of uploading information about a frame transmitted to an in-vehicle network to a fraud detection server and calculating the degree of abnormality of the frame by the fraud detection server.
  • Patent Document 2 discloses a method of calculating a communication abnormality degree by extracting a feature amount from a communication log of an in-vehicle network and comparing the extracted feature amount with a normal model.
  • Patent Document 1 or Patent Document 2 only the degree of abnormality of the frame or communication is calculated, and more detailed information that can be used for prompt response to an abnormality due to an attack, for example, cannot be obtained.
  • the present disclosure detects anomaly frames contained in frames flowing through a communication network such as an in-vehicle network, and then outputs anomaly detection that outputs more detailed information that can be used for prompt response to anomalies caused by attacks.
  • a communication network such as an in-vehicle network
  • anomaly detection that outputs more detailed information that can be used for prompt response to anomalies caused by attacks.
  • a method and an abnormality detection device are provided.
  • the abnormality detection method in the communication network system, is each frame included in the observation data consisting of a set of frames transmitted / received on the communication network system observed in a predetermined period abnormal? Is an abnormality detection method that outputs an abnormal part of the payload of a frame determined to be abnormal, and obtains a data distribution of a plurality of features relating to a portion of one bit or more constituting the payload included in the frame.
  • the reference model acquisition step to be acquired includes a frame abnormality detection step for determining whether or not the frame included in the observation data is abnormal, and an abnormal partial output step.
  • the data distribution for a set of frames transmitted and received on the communication network system acquired at a timing different from the acquisition timing is acquired, and in the frame abnormality detection step, the data acquired in the reference model acquisition step is acquired.
  • the difference between the distribution and the data distribution of the feature amount extracted from the frame included in the observation data is calculated, and the frame having the feature amount whose difference is equal to or more than a predetermined value is determined to be an abnormal frame.
  • the abnormal partial output step when there is a frame determined to be an abnormal frame in the frame abnormality detection step, the abnormal contribution of the plurality of feature amounts extracted from the abnormal frame is calculated, and the abnormality is calculated.
  • the frames included in the observation data consisting of the set of frames transmitted and received on the communication network system observed in a predetermined period are abnormal.
  • This is an abnormality detection device that outputs an abnormal part of the payload of a frame that is determined to be abnormal, and is a data distribution of a plurality of features relating to a portion of one bit or more constituting the payload included in the frame.
  • the reference model holding unit that holds the above, the abnormality detecting unit that determines whether or not the frame included in the observation data is abnormal, and the abnormal frame when the abnormality detecting unit detects an abnormal frame.
  • the anomalous contributions of the plurality of feature quantities extracted from are calculated, and the payload anomaly portion, which is one or more portions included in the frame, corresponding to the feature quantities whose anomalous contributions are equal to or higher than a predetermined value is output.
  • the reference model holding unit includes an abnormal part output unit, and the reference model holding unit holds the data distribution for a set of frames transmitted / received on the communication network system acquired at a timing different from the acquisition timing of the observation data.
  • the abnormality detection unit calculates the difference between the data distribution held by the reference model holding unit and the data distribution of the feature amount extracted from the frame included in the observation data, and the difference is predetermined. A frame having a feature amount greater than or equal to the value is judged to be an abnormal frame.
  • a computer-readable recording medium such as a system, an integrated circuit, a computer program or a CD-ROM, and the device, system, method, integrated circuit, computer program or the like may be realized. And any combination of recording media may be realized.
  • the anomaly detection method and anomaly detection device detect anomalous frames included in frames flowing through a communication network such as an in-vehicle network, and then provide more detailed information that can be used for prompt response to the anomaly. Is output.
  • FIG. 1 is a diagram illustrating an outline of an in-vehicle network abnormality detection system according to an embodiment.
  • FIG. 2 is a diagram showing an overall configuration of an in-vehicle network system according to the embodiment.
  • FIG. 3 is a block diagram showing a functional configuration of an abnormality detection server included in the in-vehicle network abnormality detection system.
  • FIG. 4 is a diagram showing an example of the determination result of the attack content in the embodiment.
  • FIG. 5 is a diagram showing an example of a normal data distribution model stored in the reference model holding unit included in the abnormality detection server.
  • FIG. 6 is a diagram showing an example of an attack type determination table included in the abnormality detection server.
  • FIG. 7 is a diagram showing an example of an attack level determination table included in the abnormality detection server.
  • FIG. 8 is a diagram showing a functional configuration of an ECU and a telematics control unit included in the in-vehicle network system.
  • FIG. 9 is a diagram showing an example of the reception history of the frame received by the ECU.
  • FIG. 10 is a diagram showing a configuration of a gateway included in the in-vehicle network system.
  • FIG. 11 is a diagram showing an example of a processing sequence executed by the vehicle-mounted network abnormality detection system including the vehicle and the abnormality detection server.
  • FIG. 12 is a flowchart showing a procedure example of the log analysis process in the abnormality detection server.
  • FIG. 13 is a flowchart showing a procedure example of the attack type determination process in the above-mentioned abnormality detection server.
  • FIG. 14 is a flowchart showing a procedure example of the attack level determination process in the above-mentioned abnormality detection server.
  • the abnormality detection method comprises a set of frames transmitted and received on the communication network system observed in a predetermined period in the communication network system.
  • An abnormality detection method that determines whether each frame included in the observation data is abnormal and outputs the abnormal part of the payload of the frame determined to be abnormal, and is a 1-bit constituting the payload included in the frame.
  • the data distribution for a set of frames transmitted / received on the communication network system acquired at a timing different from the acquisition timing of the observation data is acquired, and in the frame abnormality detection step.
  • the difference between the data distribution acquired in the reference model acquisition step and the data distribution of the feature amount extracted from the frame included in the observation data is calculated, and the feature amount having the difference equal to or more than a predetermined value is calculated.
  • the plurality of frames extracted from the abnormal frame are determined to be an abnormal frame.
  • the abnormal contribution of the feature amount is calculated, and the payload abnormal part which is one or more parts in the payload corresponding to the feature amount whose abnormal contribution is equal to or more than a predetermined value is output.
  • the abnormality detection method further includes an abnormality type determination step.
  • the abnormality type determination step the payload abnormality portion length is specified based on the payload abnormality portion, and the abnormality is determined according to the payload abnormality portion length. The type may be determined.
  • This provides information on what kind of anomaly is occurring with respect to the detected anomaly frame. By using the content of the abnormality that is further grasped in this way, it becomes possible to respond more quickly and appropriately to the abnormality.
  • the abnormality type is determined as a state value abnormality when the payload abnormality portion length is within the first range, and the payload abnormality portion length is longer than the first range in the second range.
  • the sensor value is abnormal
  • the payload abnormality portion length is within the third range longer than the second range, it may be determined that the trial attack is abnormal.
  • the first range has an upper limit of 4 bits or less
  • the second range has a lower limit of 8 bits or more and an upper limit of 16 bits or less
  • the third range has a lower limit of 16 bits or less. It may be in the range of 32 bits.
  • the abnormality level determination step is further provided, and in the abnormality level determination step, the payload abnormality portion that is detected in the frame abnormality detection step that a plurality of types of frames are abnormal and is output in the abnormality portion output step.
  • the abnormality level may be determined to be higher than when the payload abnormality portion is the same among the plurality of types of frames.
  • the risk level (risk level) of the abnormality can be determined from the type of the frame determined to be abnormal and the information on the portion of the payload of the frame that contributed to the abnormality.
  • the abnormality level determination step is further provided, and in the abnormality level determination step, a plurality of types of frames are detected as abnormal in the frame abnormality detection step, and the abnormality types determined in the abnormality type determination step are ,
  • the abnormality level may be determined higher than in the same case among the plurality of types of frames.
  • the risk of abnormality can be determined from the combination of the number of types of frames determined to be abnormal in the communication network and the number of types of abnormalities occurring in the frames.
  • an abnormality level determination step is further provided.
  • the abnormality level determination step it is detected that one or more types of frames are abnormal in the frame abnormality detection step, and the abnormality type determined in the abnormality type determination step.
  • the abnormality level may be determined to be lower than when the determined abnormality type does not include the trial attack abnormality.
  • the abnormality level determination step is further provided, and in the abnormality level determination step, when one or more types of frames are determined to be abnormal in the frame abnormality detection step, the abnormality is determined. Parameters one or more of the frame type, the number of types of the frame determined to be abnormal, the payload abnormal portion output in the abnormal part output step, and the abnormal type determined in the abnormal type determination step.
  • the abnormality level may be determined based on the predetermined calculation formula.
  • the risk of abnormality can be determined from a plurality of conditions related to the content of the abnormality of the frame detected as abnormal.
  • the abnormality type determination step when there are a plurality of the payload abnormal portions included in one frame and the number of intermediate bits between the plurality of payload abnormal portions is equal to or less than a predetermined reference, a plurality of the abnormal types are determined.
  • the payload abnormal portion and the intermediate bit may be combined and treated as one payload abnormal portion.
  • the communication network system may be an in-vehicle network system.
  • the frame included in the observation data consisting of the set of frames transmitted and received on the communication network system observed in a predetermined period is abnormal.
  • This is an abnormality detection device that outputs an abnormal part of the payload of a frame that is determined to be abnormal, and is a data distribution of a plurality of features relating to a portion of one bit or more constituting the payload included in the frame.
  • the reference model holding unit that holds the above, the abnormality detecting unit that determines whether or not the frame included in the observation data is abnormal, and the abnormal frame when the abnormality detecting unit detects an abnormal frame.
  • the anomalous contributions of the plurality of feature quantities extracted from are calculated, and the payload anomaly portion, which is one or more portions included in the frame, corresponding to the feature quantities whose anomalous contributions are equal to or higher than a predetermined value is output.
  • the reference model holding unit includes an abnormal part output unit, and the reference model holding unit holds the data distribution for a set of frames transmitted / received on the communication network system acquired at a timing different from the acquisition timing of the observation data.
  • the abnormality detection unit calculates the difference between the data distribution held by the reference model holding unit and the data distribution of the feature amount extracted from the frame included in the observation data, and the difference is predetermined. A frame having a feature amount greater than or equal to the value is judged to be an abnormal frame.
  • a computer-readable recording medium such as a system, an integrated circuit, a computer program or a CD-ROM, and the device, system, method, integrated circuit, computer program or the like may be realized. And any combination of recording media may be realized.
  • an in-vehicle network abnormality including a vehicle equipped with an in-vehicle network system in which a plurality of electronic control units (ECUs) communicate via a network configured by using a CAN bus, and a server that detects an abnormal frame.
  • ECUs electronice control units
  • a detection system is used as an example.
  • FIG. 1 is a diagram showing an outline of an in-vehicle network abnormality detection system according to the present embodiment.
  • the in-vehicle network monitoring system is configured by connecting an abnormality detection server 60 and a vehicle 10 by a network 20 serving as a communication path.
  • the network 20 may include the internet or a dedicated line.
  • the in-vehicle network system mounted on the vehicle 10 includes a plurality of ECUs that communicate via a bus (CAN bus) in the vehicle. These ECUs are connected to various devices such as control devices, sensors, actuators, and user interface devices in the vehicle.
  • CAN bus bus
  • each ECU in the in-vehicle network system communicates according to the CAN protocol.
  • Frame types in the CAN protocol include data frames, remote frames, overloaded frames and error frames.
  • the data frame will be mainly focused on.
  • a data frame includes a data field that stores data, a DLC (Data Length Code) that indicates the data length of the data field, and an ID field that stores an ID that indicates the type based on the data stored in the data field. Is stipulated.
  • the abnormality detection method or abnormality detection device can also be applied to a frame of a type of CAN protocol other than a data frame, or a communication network system that follows another communication protocol.
  • FIG. 2 is a diagram showing an example of the configuration of the in-vehicle network system included in the vehicle 10.
  • the vehicle-mounted network system in the vehicle 10 includes a plurality of ECUs (ECU 100, 101, 200, 201, 300, 301, 302, 400, 401) connected to buses (CAN buses) 1000, 2000, 3000, 4000, and 5000, and these. Includes each node such as gateway 900 that relays communication between buses.
  • the gateway 900 is also an ECU.
  • the in-vehicle network system may include more ECUs.
  • the ECU is, for example, a device including a processor (microprocessor), a digital circuit such as a memory, an analog circuit, a communication circuit, and the like.
  • the memory is a ROM (Read-Only Memory) and a RAM (RandomAccessMemory), and can store a control program (computer program) executed by the processor.
  • the processor operates according to the control program, the ECU realizes various functions.
  • a computer program is a combination of a plurality of instruction codes for a processor in order to realize a predetermined function.
  • the ECU (engine ECU) 100 connected to the engine 110 and the ECU (transmission ECU) 101 connected to the transmission 111 are examples of the powertrain system ECU in the present embodiment.
  • a chassis-based ECU related to control such as steering and braking of the vehicle 10 such as "turning” and “stopping” is connected to the bus 2000.
  • the ECU (brake ECU) 200 connected to the brake 210 and the ECU (steering ECU) 201 connected to the steering 211 are examples of chassis-based ECUs in this embodiment.
  • the bus 3000 is connected to a function for recognizing, judging, and controlling driving support based on image information, a function related to an audio head unit, and an ECU related to an information system such as inter-vehicle communication.
  • the ECU 300, ECU 301, and ECU 302 connected to the camera 310, the car navigation system 311 and the telematics control unit (TCU) 312, respectively, are examples of the information system ECU in this embodiment.
  • the body system ECU related to the control of vehicle equipment such as doors, air conditioners, blinkers, etc. is connected to the bus 4000.
  • the ECU 400 connected to the door 410 and the ECU 401 connected to the light 411 are examples of the body-based ECU in the present embodiment.
  • the bus 5000 is connected to the diagnostic port 510, which is an interface for communicating with an external diagnostic tool (fault diagnosis tool) such as OBD2 (On-Board Diagnostics 2nd generation).
  • an external diagnostic tool fault diagnosis tool
  • OBD2 On-Board Diagnostics 2nd generation
  • Each of the above ECUs acquires information indicating the state of connected devices (engine 110, brake 210, etc.), and a data frame or the like (hereinafter, a data frame) indicating this state is referred to. (Simply referred to as a frame) is periodically transmitted to the in-vehicle network system, that is, the CAN bus.
  • the gateway 900 is an ECU that transfers data between a plurality of different communication paths. Referring to the example of FIG. 2, the gateway 900 is connected to the bus 1000, the bus 2000, the bus 3000, the bus 4000, and the bus 5000. That is, the gateway 900 is an ECU having a function of transferring a frame received from one bus to another bus (that is, a transfer destination bus selected according to the condition) under certain conditions.
  • the ECU 302 has a function of receiving and holding a frame flowing through the bus 3000 and periodically uploading it to the abnormality detection server 60.
  • the frame is uploaded from the TCU 312 to the abnormality detection server 60 via the network 20 including a communication line such as a mobile phone line.
  • FIG. 3 is a block diagram showing a functional configuration of the server (abnormality detection server) 60.
  • the abnormality detection server 60 for dealing with an illegal frame transmitted by the vehicle-mounted network system of the vehicle 10 is realized by one or more computers including, for example, a processor, a memory, a communication interface, and the like.
  • the abnormality detection server 60 includes a communication unit 610, an abnormality detection unit 620, an abnormality part identification unit 630, an attack type determination unit 640, an attack level determination unit 650, a result output unit 660, and a reference model holding unit 670.
  • the attack type determination table 680 and the attack level determination table 690 are included.
  • Each function of the reference model holding unit 670, the attack type determination table 680, and the attack level determination table can be realized as data held in a storage medium such as a memory or a hard disk with a predetermined configuration. These data will be described later with an example.
  • the control program stored in the memory is executed by the processor. Can be realized by.
  • the communication unit 610 is realized by a communication interface, a processor that executes a control program stored in a memory, and the like.
  • the communication unit 610 receives information about the vehicle-mounted network system of the vehicle 10 by communicating with the vehicle 10 via the network 20.
  • the information about the vehicle-mounted network system may include, for example, information about the content (payload information) of the frame passed on the CAN bus of the vehicle-mounted network system, the reception timing (interval, frequency, etc.).
  • the abnormality detection unit 620 determines whether the log data (observation data set D') of the in-vehicle network system notified from the communication unit 610 is abnormal. At this time, referring to the in-vehicle network log (reference model data set D) during normal driving stored in the reference model holding unit 670, the observation data set is abnormal based on the difference between the observation data set and the reference model data set. Judge whether or not the data of various frames is included.
  • Density ratio estimation is a technique for detecting different points between the distribution of the reference model data set D and the distribution of the observation data set D'. For example, anomalies caused by an attack using a data frame that does not include outliers are difficult to detect by a method that uses only outlier detection. However, with this technique, even such anomalies can be detected based on the difference in the distribution of values from normal data.
  • the density ratio estimation algorithm An example of the density ratio estimation algorithm is shown below.
  • the data label of each data frame during normal running that constitutes the reference model data set D is set to 0, and the label of the data of each data frame included in the observation data set D'is set to 1, and the normal data is set.
  • Models such as MLP (Multi Layer Perceptron), logistic regression, random forest, and k-nearest neighbor method can be used as the classifier.
  • the density ratio r (x) can be obtained by the following equation 1 from Bayes' theorem.
  • p (y 1
  • the observed data x is a feature quantity extracted from the payload of one data frame, and is, for example, a 64-dimensional feature quantity in which each bit value of the data field included in the CAN data frame is set as one feature quantity.
  • each feature amount does not have to be each bit value of the data field, and the entire value of the data field may be separated by a predetermined bit length. Therefore, the observation data x may be, for example, a 16-dimensional feature amount in which 16 values obtained by dividing the value of the 64-bit data field into 4 bits as one feature amount, or may be divided into 8 bits. The eight values obtained by the above may be used as one feature amount as an eight-dimensional feature amount. Furthermore, it does not have to be separated by fixed-length bits. For example, features may be extracted corresponding to each meaningful subfield contained in the payload.
  • the above-mentioned classifier may be prepared and trained for each ID included in the data frame, or a data frame of a predetermined combination of IDs or a data frame of all IDs may be collectively trained by one classifier. You may.
  • the abnormality detection unit 620 notifies the abnormality part identification unit 630 of the ID of the data frame determined to be abnormal, the feature amount, and the information of the classifier used for the determination.
  • the abnormality part identification unit 630 calculates each feature amount in the payload of the data frame determined to be abnormal (here, a high-dimensional feature amount extracted from one data frame). Calculate the degree of contribution to anomalies (hereinafter, also referred to as anomaly contribution) of each feature amount.
  • Abnormal contribution c i of the feature amount i is obtained by differentiating the input x a density ratio r (x) (see Equation 2).
  • the amount of change in the density ratio r (x) when (bit) inverted with respect to the value of the feature amount i or when a slight change is applied is defined as the anomalous contribution.
  • the abnormal portion identification unit 630 calculates this abnormal contribution degree for each feature amount i of the data frame determined to be abnormal, and the feature amount i showing the abnormal contribution degree equal to or higher than a predetermined threshold value is the abnormality amount i of the data frame. It is determined that the feature amount contributes to. Then, the abnormal portion identification unit 630 identifies the bit position in the payload of the portion showing this feature amount as the payload abnormal portion.
  • the abnormal part identification unit 630 notifies the attack type determination unit 640 of the feature amount determined to contribute to the abnormality and the information of the identified payload abnormal part in addition to the information notified from the abnormality detection unit 620.
  • the attack type determination unit 640 has a function of determining the type of attack causing an abnormal frame by referring to the information notified from the abnormal part identification unit 630 and the attack type determination table 680.
  • the attack type determination unit 640 first identifies the abnormal part length in the payload from the payload abnormal part notified from the abnormal part identification unit 630. For example, when the first feature amount, the second feature amount, the third feature amount ... correspond to the most significant 1 bit, 2 bits, 3 bits ... Of the payload, the bit positions of the abnormal portion are continuous. Judge that the range is the abnormal part related to the common abnormality. Then, when it is determined that the first feature amount to the tenth feature amount is the payload abnormal portion, 10 bits of the payload bit positions 1 to 10 are specified as the abnormal portion length.
  • the method of identifying the abnormal part length is not limited to the above method.
  • the first to fourth feature amounts and the sixth to tenth feature amounts are abnormal portions as described above, one of the first to tenth feature amounts including the fifth feature amount is used. It may be treated as a continuous payload abnormal portion of, and the abnormal portion length may be 10 bits.
  • the number of bits (hereinafter referred to as intermediate bits) between two adjacent payload abnormal parts is 1, the adjacent payload abnormal parts and the intermediate bits are combined into one payload abnormality. It is treated as a part, but this is not limited.
  • the length (number of bits) of the intermediate bits treated as one payload abnormal part by combining the adjacent payload abnormal parts and the intermediate bits is a design matter that can be separately determined.
  • the number of bits as a reference for the intermediate bits to be treated in this way may be a value larger than 1. Further, based on the ratio of the number of bits of the intermediate bit to the total number of bits of the plurality of payload abnormal parts and the intermediate bits between them, when this ratio is equal to or less than a predetermined value, these are regarded as one payload abnormal part. It may be treated.
  • the attack type determination unit 640 determines the attack type according to the abnormal part length (number of bits). For example, when the abnormal part length is 4 bits or less, it is assumed that the value is disguised or tampered with by the attack in the part occupied by the flag indicating the state or the value indicating the state, and the attack type determination unit 640 "impersonates the state value. Is determined. Further, for example, when the abnormal portion length is 5 bits or more and 31 bits or less, the attack type determination unit 640 determines that the sensor value is disguised.
  • the attack type determination unit 640 corresponds to the data frame notified from the vehicle 10 and observed at a predetermined time or a predetermined length of time (hereinafter, also referred to as a predetermined period without particular distinction) in the in-vehicle network system.
  • a predetermined time or a predetermined length of time hereinafter, also referred to as a predetermined period without particular distinction
  • the above determination is executed for the data frame notified by the abnormality part identification unit 630 that the abnormality detection unit 20 has determined to be abnormal, and a series of determination results regarding the attack type are determined by the attack level determination unit.
  • Notify 650 is executed for the data frame notified by the abnormality part identification unit 630 that the abnormality detection unit 20 has determined to be abnormal, and a series of determination results regarding the attack type are determined by the attack level determination unit.
  • the attack level determination unit 650 refers to the attack type and attack level determination table 690 notified from the attack type determination unit 640, and the condition regarding the type of the data frame in which the abnormality has occurred, the condition regarding the payload abnormality portion, and the determined attack. Using a combination of conditions related to the type, the attack level indicating the risk of the abnormality occurring is determined, and the determination result is notified to the result output unit 660. In this example, the attack level is determined in three stages: low, medium, and high.
  • the result output unit 660 outputs the information notified from the attack level determination unit 650 in a data format according to the purpose. For example, the result output unit 660 displays the fact that an abnormality has occurred due to a connected display attack and the attack level on the display in order to notify the administrator of the in-vehicle network abnormality detection system of the information as an alert. Output image data. Further, for example, the result output unit 660 is a Web server that accesses a part of the abnormality detection server 60 by using software for the administrator to view such information (for example, a general-purpose web browser or dedicated application software). It may have a configuration to function as.
  • the result output unit 660 may have a configuration in which a part of the abnormality detection server 60 functions as a mail server for notifying the administrator of such information by e-mail. Further, for example, the result output unit 660 may output such information in a data format for recording such information as an incident log on an electronic medium or the like.
  • the above administrator is an example of a notification destination of an abnormality that has occurred in the vehicle-mounted network system of the vehicle 10 from the vehicle-mounted network monitoring system.
  • a security analyst of a security operation center entrusted with monitoring work of an in-vehicle network system may be used.
  • FIG. 4 shows an example of the information output from the result output unit 660.
  • the time when the abnormality occurred in the vehicle-mounted network system of the vehicle of vehicle type A (or the abnormality was detected from the vehicle-mounted network log) was 13:15 on January 15, 2020. ing.
  • the attack level of the attack that caused this anomaly is high, and the ID of the frame in which the anomaly is detected, that is, the types of data frames are 0x100 and 0x200, and the data frame whose ID is 0x100.
  • the part of the payload (data field) at bit positions 0 to 15 is an abnormal part due to sensor value camouflage
  • the part of the payload bit positions 33 to 36 is an abnormal part due to state value camouflage for a 0x200 data frame. ing.
  • the above administrator or security analyst can not only prioritize the response to each anomaly according to the degree of risk (attack level in the above example), but also. By understanding the type of attack that is causing the anomaly, it is possible to determine the content of the response more quickly and appropriately.
  • the reference model holding unit 670 holds a reference model (hereinafter, also referred to as a normal data distribution model) showing the data distribution of frames transmitted and received by the in-vehicle network system when the vehicle 10 normally travels.
  • the data during normal driving is data acquired at a timing different from the observation data. For example, it may be data collected during a test run before shipment of the vehicle 10 or another vehicle having the same specifications, or an in-vehicle network uploaded from the vehicle 10 or another vehicle having the same specifications that is judged not to be attacked. It may be data.
  • FIG. 5 shows an example of a normal data distribution model stored in the reference model holding unit 670, and details will be described later.
  • the attack type determination table 680 holds a table for determining the attack type based on the abnormal part length.
  • FIG. 6 shows an example of the attack type determination table, which will be described in detail later.
  • the attack level determination table 690 holds a table for determining the degree of risk by using a combination of a condition relating to the number of types of IDs in which an abnormality has occurred, a condition relating to an abnormal part of the payload, and a condition relating to the determined attack type.
  • FIG. 7 shows an example of the attack level determination table, which will be described in detail later.
  • FIG. 5 is a diagram showing an example of a normal data distribution model held by the reference model holding unit 670 of the abnormality detection server 60. As shown in FIG. 5, in the normal data distribution model, the frequency distribution of the payload value is maintained for each ID of the CAN data frame (see the “CAN ID” column in the figure).
  • the payload value 0x000000000000 appears 10 times
  • the payload value 0x0000000000000011 appears 22 times
  • the payload value 0x00FF0000000000001 appears 10000 times
  • the payload value 0x00FF0088880011 appears 10 times. It shows that it is 8000 times.
  • the number of occurrences of the payload value 0xFF00FFFF00000008 is 50 times.
  • the model shown in the example of FIG. 5 is in the form of a frequency distribution in which the actual measured value of the number of occurrences of the payload value is used as it is, but is in the form of a frequency distribution of values normalized for each ID, for example, a relative frequency. There may be.
  • the frequency distribution of normal data for each vehicle condition such as when the vehicle is stopped or running may be maintained.
  • the model held by the reference model holding unit 670 may be encrypted.
  • FIG. 6 is a diagram showing an example of an attack type determination table stored in the attack type determination table 680 of the abnormality detection server 60.
  • the bit length (abnormal portion length) of the payload abnormal portion that is, the portion corresponding to the feature amount that contributed abnormally in the payload of the data frame is 1 bit or more and 4 bits or less.
  • the attack type determination unit 640 determines that the state value is disguised. Further, when the abnormal portion length is 8 bits or more and 31 bits or less, it is determined that the sensor value is disguised, and when it is 32 bits or more, it is determined that the trial attack is performed.
  • FIG. 7 is a diagram showing an example of an attack level determination table stored in the attack level determination table 690 of the abnormality detection server 60.
  • the attack level determination table 690 shown in FIG. 7 when there are a plurality of data frames determined to be abnormal, the number of types of data frames, that is, the ID included in these data frames is single or plural.
  • the attack level is determined by the combination of the first condition regarding the presence or absence and the second condition regarding the attack type or the number of attack types and the payload abnormal part (bit position in the payload).
  • the attack level determination unit 650 has an attack level. Judge as low. This is because the attack is performed by an attacker who does not know the command of vehicle control, and the influence on vehicle control is likely to be low.
  • the attack level determination unit 650 determines that the attack level is medium. This is because the attack is performed by an attacker who has specified the type of data frame to be attacked, and is likely to affect vehicle control and be more dangerous. Further, when there are a plurality of IDs of the data frame determined to be abnormal, which is the first condition, but the attack type, which is the second condition, is one type other than the trial attack, and the payload abnormal part is the same. Is determined to have a medium attack level. This is because it is an attack by an attacker who has specified at least the part to be attacked in the data field, and the higher the risk, the higher the possibility.
  • the attack level is judged to be high. This is because there is a high possibility that the attack is a high-risk attack by an attacker who can disguise or tamper with the minimum data frame necessary for unauthorized control.
  • FIG. 8 is a configuration diagram of the ECU 302 and the TCU 312.
  • the other ECUs have basically the same configuration as the ECU 302, and the devices connected to the external device control unit 350 differ depending on the ECU.
  • the ECU 302 includes a frame transmission / reception unit 330, a frame interpretation unit 340, an external device control unit 350, a frame generation unit 360, and a reception history holding unit 370.
  • Each function of these components is realized by, for example, a communication circuit, a processor that executes a control program stored in a memory, a digital circuit, or the like.
  • the frame transmission / reception unit 330 is connected to the bus 3000, and notifies the frame interpretation unit 340 of the data frame received from the bus 3000.
  • the frame interpretation unit 340 interprets the data frame notified from the frame transmission / reception unit 330, and notifies the external device control unit 350 of the control of the external device according to the result of the interpretation.
  • the received data frame is temporarily held in the reception history holding unit 370 as a reception history.
  • This reception history is uploaded to the abnormality detection server 60 as an in-vehicle network log at predetermined intervals via the TCU 312.
  • the external device control unit 350 has a function of controlling an external device connected to the ECU 302, the TCU 312 in the example of FIG. Further, the frame generation unit 360 is instructed to generate a frame based on the state of the external device or the communication content with the external device.
  • the frame generation unit 360 Upon receiving a frame generation instruction, the frame generation unit 360 generates a frame and requests the frame transmission / reception unit 330 to transmit the generated frame.
  • the reception history holding unit 370 holds the history of data frames received from the bus 3000 at predetermined intervals, that is, the reception history.
  • FIG. 9 shows an example of the reception history held in the reception history holding unit 370. Details of the reception history will be described later.
  • the TCU 312 includes a server communication unit 380.
  • the server communication unit 380 communicates with the abnormality detection server 60 via the network 20. For example, the server communication unit 380 uploads the reception history received from the ECU 302 to the abnormality detection server 60.
  • FIG. 9 is a diagram showing an example of the reception history held in the reception history holding unit 370 of the ECU 302. As shown in FIG. 9, in the reception history, the frequency distribution of the payload value is stored for each ID of the CAN data frame (see the “CAN ID” column in the figure).
  • the payload value 0x00FF000000000022 appears 4 times
  • the payload value 0x00FF000000000011 appears 6 times
  • the payload value 0x00FF0000000000001 appears 10 times.
  • the payload value 0xFF00FFFF000000088 appears three times
  • the payload value 0xFF00FFFF00000000F0 appears twice.
  • the payload value 0x5500FF00330011E4 appears three times.
  • the reception history shown in the example of FIG. 9 is in the form of a frequency distribution using the actual measured value of the number of occurrences of the payload value as it is, but even in the form of a value normalized for each ID, for example, a relative frequency. Good. Further, the frequency distribution of the payload value according to the situation of the vehicle such as when the vehicle is stopped or running may be maintained. Further, the reception history held by the reception history holding unit 370 may be encrypted.
  • the data structure of the reception history is not limited to the examples described so far. For example, the data may be in a format in which the reception time of each data frame and the payload value are arranged in chronological order.
  • FIG. 10 shows the configuration of the gateway 900 in the vehicle-mounted network system of the vehicle 10.
  • the gateway 900 includes a frame transmission / reception unit 910, a frame interpretation unit 920, a transfer control unit 930, a frame generation unit 940, and a transfer rule holding unit 950.
  • Each function of these components is realized by, for example, a communication circuit, a processor that executes a control program stored in a memory, a digital circuit, or the like.
  • the frame transmission / reception unit 910 is connected to the bus 1000, the bus 2000, the bus 3000, the bus 4000, and the bus 5000, and transmits / receives frames according to the CAN protocol to each of them.
  • the frame transmission / reception unit 910 receives one bit of a frame from each bus and notifies the frame interpretation unit 920. Further, when the frame generation unit 940 notifies the bus information indicating the transfer destination bus and the frame for transmission, the bus information is transmitted to the frame among the bus 1000, the bus 2000, the bus 3000, the bus 4000, and the bus 5000. Send one bit at a time to the indicated bus.
  • the frame interpretation unit 920 interprets the values of the bits constituting the frame received from the frame transmission / reception unit 910 so as to be mapped to each field in the frame format defined by the CAN protocol. After that, the transfer control unit 930 is notified of the information regarding the received data frame. When the frame interpretation unit 920 determines that the received frame does not conform to the CAN protocol, the frame interpretation unit 920 notifies the frame generation unit 940 to transmit an error frame. Further, when the frame interpreting unit 920 receives an error frame, that is, when it interprets that it is an error frame from the value of the bits constituting the received frame, the frame interpreting unit 920 discards the subsequent frame, that is, interprets the frame. Cancel.
  • the transfer control unit 930 selects the ID of the received frame and the transfer source bus, that is, the transfer destination bus according to the bus that received the frame, according to the transfer rule held by the transfer rule holding unit 950, and the transfer destination bus.
  • the bus information indicating the above and the contents of the frame to be transferred, for example, the ID, DLC, data field, etc. notified from the frame interpretation unit 920 are notified to the frame generation unit 940, and transmission to the transfer destination bus is requested.
  • the frame generation unit 940 generates a frame for transmission using the contents of the frame notified from the transfer control unit 930 in response to a transmission request from the transfer control unit 930, and uses the frame for transmission and bus information as the frame for transmission and bus information. Based on the transfer destination information, for example, the identifier of the transfer destination bus is notified to the frame transmission / reception unit 910.
  • the transfer rule holding unit 950 holds transfer rule information indicating rules for frame transfer for each bus.
  • the transfer rule information indicates the correspondence between the ID of the data frame to be transferred received from the bus as the transfer source, the bus of the transfer destination, and the ID of the data frame at the transfer destination.
  • FIG. 11 is a diagram showing an example of a processing sequence in an in-vehicle network abnormality detection system including an abnormality detection server 60 and a vehicle 10. More specifically, an in-vehicle network log including information about the payload of the data frame transmitted / received by the CAN bus of the in-vehicle network system included in the vehicle 10 is transmitted to the abnormality detection server 60, and the abnormality detection server 60 analyzes this log. This is an example of the processing to be performed. Specifically, it is an example of processing when the ECU 302 of the vehicle 10 receives the data frame transmitted to the bus 3000.
  • One of the ECUs (one of the camera ECU 300, the car navigation system ECU 301, and the gateway 900) connected to the bus 3000 in the vehicle-mounted network of the vehicle 10 transmits a CAN data frame to the bus 3000, so that the data frame is transmitted to the bus 3000.
  • Flow (steps S101, S103, S105).
  • the ECU 302 of the vehicle 10 receives the data frames transmitted to the bus 3000 in steps S101, S103, and S105, and holds a reception history (see the example of FIG. 9) of the set of received data frames (steps S102, S104, S106).
  • the ECU 302 After a predetermined period of time elapses, the ECU 302 sends an in-vehicle network log (denoted as “log” in the figure) including information related to the distribution of the payload of the received data frame from the TCU 312 to the abnormality detection server 60 via the network 20. Upload (step S107).
  • an in-vehicle network log (denoted as “log” in the figure) including information related to the distribution of the payload of the received data frame from the TCU 312 to the abnormality detection server 60 via the network 20. Upload (step S107).
  • the abnormality detection server 60 receives the in-vehicle network log transmitted from the vehicle 10 from the vehicle 10 (step S108).
  • the abnormality detection server 60 analyzes the received vehicle-mounted network log and the vehicle-mounted network log stored in the abnormality detection server 60 (see the example of FIG. 5) (step S109).
  • the abnormality detection server 60 outputs the analysis result of the in-vehicle network log (step S110).
  • FIG. 12 is a flowchart showing an example of a procedure for analyzing the in-vehicle network log received from the vehicle 10 executed by the abnormality detection server 60.
  • the analysis process of the log information of the vehicle 10 will be described according to this flowchart.
  • the anomaly detection server 60 includes an in-vehicle network log uploaded from the vehicle 10, that is, a log including information on the distribution of payloads of data frames transmitted and received by the in-vehicle network system of the vehicle 10, and a reference model holding unit of the abnormality detection server 60.
  • the classifier is trained to classify the data (observed data) observed for abnormality detection and the normal data (step S201).
  • the abnormality detection server 60 inputs the payload (hereinafter, also referred to as received data) of each data frame included in the in-vehicle network log uploaded as the target of the abnormality detection processing from the vehicle 10 into the classifier learned in step S201. (Step S202).
  • the in-vehicle network log uploaded from the vehicle 10 in step S202 is based on a set of data frames (observation data) transmitted and received by the in-vehicle network system and acquired as an observation target for actual abnormality detection.
  • the in-vehicle network log uploaded from the vehicle 10 in step S201 is based on the data frame transmitted / received by the in-vehicle network system at a different opportunity from the observation data based on the in-vehicle network log uploaded in step S202. Yes, it is used as training data for learning the classifier.
  • step S203 when the input received data has a score belonging to the observed data of a predetermined value or more (or a score belonging to the normal data is not more than a predetermined value), that is, the received data (corresponding data frame) If it is determined that is abnormal (Yes in step S203), the abnormality detection server 60 executes step S205. If the received data is not abnormal (No in step S203), the abnormality detection server 60 executes step S204.
  • the abnormality detection server 60 confirms whether or not the determination of the abnormality of the corresponding data frame has been completed for the series of received data to be processed, that is, whether or not the received data that has not been input to the classifier exists (step). S204).
  • the abnormality detection server 60 executes step S202 for the uninput received data.
  • the abnormality detection server 60 executes step S206.
  • the abnormality detection server 60 has a bit position (abnormal part) of a portion of the payload of the data frame corresponding to the received data determined to be abnormal, which indicates the feature amount contributing to the abnormality, and a bit length of the abnormal part (abnormal part length). ) Is calculated and held together with the ID and payload data (step S205).
  • the abnormality detection server 60 confirms whether or not there is a data frame determined to be abnormal in the in-vehicle network log uploaded from the vehicle 10 (step S206). When the data frame determined to be abnormal exists (Yes in step S206), the abnormality detection server 60 executes step S207, and when the received data determined to be abnormal does not exist (No in step S206), the abnormality detection server 60 executes step S207. The abnormality detection server 60 ends the process.
  • the abnormality detection server 60 refers to the attack type determination table stored in the attack type determination table 680, and determines the attack type from the abnormality portion length for each data frame determined to be abnormal (step S207). The detailed processing contents of step S207 will be described later with reference to FIG.
  • the abnormality detection server 60 determines the attack level from the combination of the number of types of IDs of each data frame determined to be abnormal, the position of the abnormal portion in the payload, and the attack type (step S208). The detailed processing contents of step S208 will be described later with reference to FIG.
  • the abnormality detection server 60 outputs the determination result (corresponding to step S110 in FIG. 11) and ends the process.
  • FIG. 13 is a flowchart showing a procedure example of the attack type determination process in the abnormality detection server 60. This procedure example is the details of step S207 of the analysis process of the vehicle-mounted network log shown in FIG.
  • the abnormality detection server 60 confirms whether or not the abnormal portion length of the data frame determined to be abnormal is 1 bit or more and 4 bits or less (step S2071). When the abnormal portion length is 1 bit or more and 4 bits or less (Yes in step S2071), the abnormality detection server 60 determines that the attack type is a state value camouflage (step S2072). When the abnormal portion length is not 1 bit or more and 4 bits or less (No in step S2071), the abnormality detection server 60 confirms whether or not the abnormal portion length is 5 bits or more and 31 bits or less (step S2073). When the abnormal portion length is 5 bits or more and 31 bits or less (Yes in step S2073), the abnormality detection server 60 determines that the attack type is sensor value camouflage (step S2074). When the abnormal part length is not 5 bits or more and 31 bits or less (No in step S2073), that is, when the abnormal part length is 32 bits or more, the abnormality detection server 60 determines the attack type as a trial attack (step S2075). ..
  • the anomaly detection server 60 performs the above processing until there are no data frames that are determined to be abnormal and have not been determined for the attack type.
  • FIG. 14 is a flowchart showing a procedure example of the attack level determination process in the abnormality detection server 60. This procedure example is the details of step S208 of the analysis process of the vehicle-mounted network log shown in FIG.
  • the abnormality detection server 60 confirms whether or not there is an undetermined data frame for the attack type (step S2081). If there are undetermined data frames for the attack type (Yes in step S2081), the anomaly detection server 60 waits until there are no undetermined data frames for the attack type.
  • the abnormality detection server 60 confirms whether or not the determined attack type is only a trial attack (step S2082). When the attack type is only a trial attack (Yes in step S2082), the abnormality detection server 60 determines that the attack level is "low” (step S2083).
  • the abnormality detection server 60 confirms whether or not there is only one type of ID of the data frame determined to be abnormal (step S2084). When there is only one type of ID of the data frame determined to be abnormal (Yes in step S2084), the abnormality detection server 60 determines the attack level to be "medium” (step S2085).
  • the abnormality detection server 60 is determined in step S207 among the data frames having different IDs. It is confirmed whether or not the attack type is common and the abnormal part is also common (step S2086). When the attack type and the attack location are common (Yes in step S2086), the abnormality detection server 60 determines that the attack level is "medium” (step S2085). If not (No in step S2086), the anomaly detection server 60 determines the attack level to be "high” (step S2087).
  • the abnormality detection server 60 acquires information on the distribution of the payload values of frames transmitted and received by the vehicle-mounted network system from the vehicle 10, and the abnormality detection server 60 holds this distribution. Anomaly data frames are detected by comparing with the distribution of payload values of normal data frames. As a result, the abnormality detection server 60 captures a change in the distribution of the payload value within a predetermined period of observation for abnormality detection. Even if the data frame is injected with a payload value within the normal range instead of an outlier due to an attack, it will be detected as an abnormal data frame based on this change. Such an abnormality detection server 60 has high detection accuracy of an abnormal data frame, and can enhance the security of the in-vehicle network system.
  • the feature amount corresponding to any part of the plurality of feature amounts corresponding to different parts in the payload of the data frame contributes abnormally to the data frame determined to be abnormal. Calculate the degree of abnormal contribution. As a result, not only an abnormal data frame can be detected, but also a payload abnormal part in the data frame can be grasped, which makes it easy to grasp the details of the attack content.
  • the abnormality detection server 60 determines the type of attack that caused the abnormality based on the length of the payload abnormal portion (abnormal portion length) of the data frame determined to be abnormal. This makes it possible to determine which subfield is spoofed in the payload, to grasp the attack content more abstractly, and to lead to a quicker and more appropriate response to the anomaly.
  • the abnormality detection server 60 determines the attack level indicating the degree of danger based on the ID indicating the type of the data frame determined to be abnormal, the payload abnormal portion, and the condition regarding the attack type grasped from the abnormal portion length. .. As a result, it is possible to prioritize the response to a high-risk attack related to unauthorized control of the vehicle, and it is possible to reduce the risk of an accident at an early stage.
  • the in-vehicle network system has been described as conforming to the CAN protocol, but the communication network system to which the abnormality detection method and the abnormality detection device according to the present disclosure can be applied is not limited thereto. .. It may be an in-vehicle network system compliant with other standards such as CAN-FD (CAN with Flexible Data rate), Ethernet (registered trademark), LIN (Local Interconnect Network), or FlexRay (registered trademark). It may be an in-vehicle network system in which a plurality of networks conforming to each of them coexist.
  • CAN-FD CAN with Flexible Data rate
  • Ethernet registered trademark
  • LIN Local Interconnect Network
  • FlexRay registered trademark
  • the abnormality detection method and the abnormality detection device according to the present disclosure have been described as the security countermeasure technology applied to the in-vehicle network system mounted on the automobile, but the scope of application is not limited to this.
  • the abnormality detection method and abnormality detection device according to the present disclosure may be applied not only to automobiles but also to mobility communication network systems such as construction machinery, agricultural machinery, ships, railways, airplanes, and drones. Further, it may be applied to a communication network system used in an industrial control system in a facility such as a factory or a building, or a communication network system for controlling an embedded device.
  • the cause of the detected abnormality is an attack on the communication network system and the type of the attack is determined.
  • the cause of the abnormality detected by the detection device is not limited to the attack.
  • the type of abnormality may be determined due to a failure, damage or defect of various devices connected to the communication network, or a defect due to an external cause (eg, temperature, humidity, external noise).
  • the attack type determined by the attack type determination unit 640 in the above embodiment is an example of this abnormal type.
  • the abnormality level indicating the degree of danger may be determined by using the conditions related to these abnormality types not limited to the attack.
  • the attack level determined by the attack level determination unit 650 can be said to be an example of this abnormal level.
  • the abnormality detection process is performed by the server, but it may be executed locally in the communication network system of the vehicle or the like.
  • the GPU Graphics Processing Unit
  • the server may aggregate the results of the abnormality detection processing executed locally on each vehicle or the like.
  • the reference model used locally at this time may be stored in advance in a storage device in the local communication network system, or may be appropriately downloaded from the server.
  • the abnormality part is identified, and in the server, the subsequent attack type determination and attack level determination are executed.
  • the abnormality detection process is performed between the local communication network system and the server. May be shared.
  • the reference model is held in advance in the abnormality detection server, but the reference model may not be held in advance.
  • the log information determined that no abnormality has occurred may be used as a reference model showing the distribution of data when no abnormality has occurred in the next and subsequent abnormality determinations.
  • the reference model held in the abnormality detection server may be updated by using the in-vehicle network log.
  • the form of the abnormality detection server is not particularly exemplified, but it is executed locally, that is, in the above embodiment, it is executed by a server prepared as an edge server close to the vehicle. May be good.
  • the edge server is a roadside machine
  • the roadside machine is connected to a cloud server via a network
  • the vehicle uploads an in-vehicle network log to the roadside machine.
  • the roadside unit may execute an abnormality detection process on the received in-vehicle network log, return the result to the vehicle, and upload it to the cloud server.
  • an in-vehicle network monitoring system administrator or a security analyst is set as a destination of information for notifying an alert when an abnormality is detected in a vehicle or a server, but the present invention is limited to this. Not done.
  • information may be provided to an information terminal used by a vehicle user such as a car maker, an ECU supplier, or a driver or owner.
  • information may be provided to a security provider that can be commonly used by a plurality of car makers.
  • the log of the data frame received by the ECU connected to the TCU is uploaded to the abnormality detection server from this TCU, but the data frame from the vehicle to the abnormality detection server.
  • the form of upload is not limited to this.
  • the log of the data frame received by the gateway that receives the data frame from a wider range in the in-vehicle network system may be uploaded to the abnormality detection server. Further, this log information may be uploaded from the gateway to the abnormality detection server.
  • the ECU periodically uploads the log of the data frame of the in-vehicle network, but the opportunity or frequency of uploading is not limited to this.
  • the in-vehicle network log may be uploaded, for example, in response to a request from an abnormality detection server, or may be uploaded only when an abnormality is detected by an IDS (Intrusion Detection System) installed in the vehicle.
  • IDS Intrusion Detection System
  • Network congestion and overload of the anomaly detection server cause delays in the anomaly detection process, leading to delays in response based on the results. However, this leads to the suppression of the communication volume of the network and the processing load of the abnormality detection server, and the occurrence of the response delay is suppressed.
  • the abnormality detection server may target some data frames in which all data frames indicated by the in-vehicle network log uploaded from the vehicle are targeted for abnormality detection processing. ..
  • the data frame having a specific ID may be the target of the abnormality detection process.
  • the ID of the target data frame may be dynamically switched.
  • the ECU that uploads the in-vehicle network log uploads the log information based on the payload information of all the data frames received in the predetermined period, and the log information uploaded to the abnormality detection server. Does not have to be based on the payload information of all data frames.
  • the uploaded log information may be based on, for example, the payload information of the data frame of a specific ID. This leads to a reduction in network traffic and a reduction in the processing load of the abnormality detection server. Further, the ID of the data frame to be uploaded may be dynamically switched. As a result, while suppressing the load of abnormality detection processing on the abnormality detection server, it is possible to perform abnormality detection processing for all ID data frames, maintaining safety and avoiding delays in responding to abnormalities. Can be compatible while maintaining a balance.
  • the anomaly detection server performs anomaly detection processing in which all of the multidimensional feature quantities corresponding to the payload value of the data frame are input, but the dimension of the input feature quantity is input. It may be reduced. For example, if the counter or checksum subfields included in the payload are known, the features corresponding to these subfields may be excluded from the input of the abnormality detection process. As a result, it is possible to exclude the part that does not directly affect the illegal control from the target of the abnormality detection processing, reduce the calculation amount, and appropriately execute the abnormality detection.
  • the anomaly detection server classifies the attack types into three types: sensor value camouflage, state value camouflage, and trial attack.
  • the attack classification is not limited to these.
  • a classification may be used in which the above-mentioned complex attacks are included in the same data frame.
  • the value of the abnormal portion length of the payload used for determining the attack and other abnormal types is an example, and the value is not limited thereto.
  • the range that the abnormal part length can take in the case of an abnormality in the sensor value is the first range
  • the range that the abnormal part length can take in the case of an abnormality in the state value is the second range
  • the range that can be taken in the case of an abnormality due to a trial attack is not limited to these.
  • the range that can be taken is the third range, it is considered that the range tends to be longer in the order of the first range, the second range, and the third range, and the above example reflects this idea.
  • the first range, the second range and the third range do not necessarily have to be continuous.
  • the upper limit of the first range is 4 bits
  • the lower limit of the second range does not have to be 5 bits, and may be, for example, 8 bits.
  • the upper and lower limits of each of these ranges can be set to possible values derived based on the design, specifications, conforming standards, etc. of the in-vehicle network system.
  • a range of abnormal portion lengths that indicates the occurrence of a complex attack as described above may be used.
  • the anomaly detection server classifies the attack level into low, medium, and high, but the classification method is not limited to this.
  • a more multi-level score may be used.
  • the attack level score is, for example, the ID of the frame determined to be abnormal, the number of IDs of the frame determined to be abnormal (that is, the number of types of data frames), the attack type, or the abnormal part length, and the abnormality in the payload. It may be calculated using a predetermined formula including parameters based on the positions of the portions. As a result, it becomes possible to respond to the abnormalities that have occurred according to the more subdivided risk levels, and it is possible to prioritize the analysis more accurately.
  • the abnormality detection server determines the attack type based on the bit length of the abnormal portion, that is, the portion contributing to the payload abnormality, but the attack type determination method is limited to this. Absent.
  • the attack type may be determined by further using the anomalous contribution.
  • the attack type may be determined by inputting the abnormality contribution calculated for the payload of the data frame to be processed for abnormality detection into the attack type classifier in which the abnormality contribution is learned.
  • the attack type may be determined by holding a database representing the subfield information of the payload and comparing the abnormal part with this database.
  • the reference model is a model showing the distribution of data during normal running of the vehicle, but the reference model is not limited to this.
  • it may be a model showing the distribution of data at the time of abnormality occurrence based on the data collected from a communication network system known to have an abnormality.
  • the abnormality detection server determines the attack level based on the combination of the number of types of IDs of the data frame determined to be abnormal, the determined attack types, and the conditions relating to the position of the abnormal portion in the payload. Although it was determined, the attack level may be determined without using all of these conditions. For example, when the number of types of IDs determined to be abnormal is one, the attack level may always be determined to be medium. This makes it possible to calculate the attack level more flexibly.
  • the abnormality detection server determines that the frame corresponding to the case where the density ratio exceeds a predetermined threshold value is abnormal, but the predetermined threshold value is determined by the feature amount of the reference model. It may be the value when the density ratio becomes maximum. As a result, the possibility of erroneously determining a normal frame as abnormal is reduced, leading to a reduction in analysis cost.
  • the abnormality detection server holds the payload value distribution for each ID as a reference model, but the payload value distribution may be held without dividing for each ID. As a result, the data size of the reference model can be effectively reduced.
  • the vehicle log notified to the abnormality detection server is information related to the CAN frame, but the vehicle log notified to the abnormality detection server is not limited to this.
  • it may be an Ethernet frame, a CAN-FD frame, a FlexRay frame, or may not be an in-vehicle network frame.
  • it may be information such as GPS information indicating the current position of the vehicle, an access log to the audio head unit, a log related to an operation process, firmware version information, and the like.
  • Each device in the above embodiment is specifically a computer system composed of a microprocessor, a ROM, a RAM, a hard disk unit, a display unit, a keyboard, a mouse, and the like.
  • a computer program is recorded in the RAM or the hard disk unit.
  • Each device achieves its function by operating the microprocessor according to a computer program.
  • a computer program is configured by combining a plurality of instruction codes indicating commands to a computer in order to achieve a predetermined function.
  • Each device in the above embodiment may be composed of a part or all of the constituent elements of one system LSI (Large Scale Integration).
  • a system LSI is an ultra-multifunctional LSI manufactured by integrating a plurality of components on a single chip, and specifically, is a computer system including a microprocessor, ROM, RAM, and the like. ..
  • a computer program is recorded in the RAM. The system LSI achieves its function by operating the microprocessor according to the computer program.
  • each part of the constituent elements constituting each of the above devices may be individually integrated into one chip, or may be integrated into one chip so as to include a part or all of them.
  • system LSI Although it is referred to as a system LSI here, it may be referred to as an IC, an LSI, a super LSI, or an ultra LSI due to the difference in the degree of integration. Further, the method of making an integrated circuit is not limited to LSI, and may be realized by a dedicated circuit or a general-purpose processor. An FPGA (Field Programmable Gate Array) that can be programmed after the LSI is manufactured, or a reconfigurable processor that can reconfigure the connection and settings of circuit cells inside the LSI may be used.
  • FPGA Field Programmable Gate Array
  • Some or all of the components constituting each of the above devices may be composed of an IC card or a single module that can be attached to and detached from each device.
  • An IC card or module is a computer system composed of a microprocessor, ROM, RAM, and the like.
  • the IC card or module may include the above-mentioned super multifunctional LSI.
  • the microprocessor operates according to a computer program, the IC card or module achieves its function. This IC card or this module may have tamper resistance.
  • the present invention may be the method shown above. Further, it may be a computer program that realizes these methods by a computer, or it may be a digital signal composed of a computer program.
  • the present invention also relates to recording media capable of computer-readable computer programs or digital signals, such as flexible discs, hard disks, CD-ROMs, MOs, DVDs, DVD-ROMs, DVD-RAMs, and BDs (Blu-ray®). ) It may be recorded on a Disc), a semiconductor memory, or the like. Further, it may be a digital signal recorded on these recording media.
  • the present invention may transmit a computer program or a digital signal via a telecommunication line, a wireless or wired communication line, a network typified by the Internet, data broadcasting, or the like.
  • the present invention is a computer system including a microprocessor and a memory, and the memory may record the above-mentioned computer program, and the microprocessor may operate according to the computer program.
  • the present disclosure in a communication network system such as an in-vehicle network system, even when an illegal frame containing no outliers is transmitted by an attacker, it can be determined whether or not the frame is abnormal. Furthermore, it is possible to calculate the abnormal part in the payload of the abnormal frame, and based on this abnormal part, quickly grasp and deal with the contents such as the type of abnormality and the level above, which is effective in improving safety. Is.
  • Vehicle 20 Network 60 Anomaly detection server 100, 101, 200, 201, 300, 301, 302, 400, 401 Electronic control unit (ECU) 110 Engine 111 Transmission 210 Brake 211 Steering 310 Camera 311 Car Navigation System 312 Telematics Control Unit (TCU) 330, 910 Frame transmission / reception unit 340, 920 Frame interpretation unit 350 External device control unit 360, 940 Frame generation unit 370 Reception history holding unit 380 Server communication unit 410 Door 411 Light 510 Diagnostic port 610 Communication unit 620 Anomaly detection unit 630 Abnormal part identification Part 640 Attack type judgment part 650 Attack level judgment part 660 Result output part 670 Reference model holding part 680 Attack type judgment table 690 Attack level judgment table 900 Gateway 930 Transfer control part 950 Transfer rule holding part 1000, 2000, 3000, 4000, 5000 bus

Landscapes

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

Abstract

通信ネットワークシステム上で送受信されるフレームの集合からなる観測データに含まれる各フレームが異常であるかを判断する異常検知方法では、観測データに含まれるフレームから抽出される特徴量のデータ分布と、観測データの取得タイミングとは異なるタイミングで取得した通信ネットワークシステム上で送受信されるフレームの集合に対してのデータ分布との差異を算出し、差異が所定値以上となる特徴量をもつフレームを異常なフレームであると判断し、異常なフレームであると判断されたフレームから抽出した複数の特徴量の異常寄与度を算出し、異常寄与度が所定値以上である特徴量と対応する、ペイロード内の1個以上の部分であるペイロード異常部分を出力する。

Description

異常検知方法及び異常検知装置
 本開示は、通信ネットワークシステムに流れるフレームの集合に含まれる異常なフレームを検知する技術に関する。
 近年の自動車の中のシステムには、電子制御ユニット(Electronic Control Unit、以下、ECUと表記)と呼ばれる装置が多数配置されている。これらのECUをつなぐ通信ネットワークは、車載ネットワークと呼ばれている。車載ネットワークには多数の規格が存在するが、その中でも最も主流な規格の一つとしてController Area Network(以降、CANと表記)が挙げられる。
 CANでは、不正なフレームが送信されるようなケースを想定したセキュリティ機能が規定されていない。そのため、何らの対策もしていなければ、例えば攻撃者に乗っ取られる等したノードが、CANのバスに不正なフレームを送信することで、車両を不正にコントロールすることが可能である。
 特許文献1では、車載ネットワークに送信されたフレームに関する情報を不正検知サーバにアップロードし、そのフレームの異常度を不正検知サーバで算出する方法を開示している。特許文献2では、車載ネットワークの通信ログから特徴量を抽出し、抽出した特徴量を正常モデルと比較することによって通信の異常度を算出する方法を開示している。
特許第642302号公報 特開2018-160078号公報
 特許文献1又は特許文献2に開示された方法では、フレーム又は通信の異常度が算出されるのみで、例えば攻撃による異常への迅速な対応に利用可能な、より詳細な情報は得られない。
 そこで、本開示は、車載ネットワーク等の通信ネットワークに流れるフレームに含まれる異常なフレームを検知した上で、攻撃による異常への迅速な対応等に利用可能な、より詳細な情報を出力する異常検知方法及び異常検知装置を提供する。
 本開示の一態様に係る異常検知方法は、通信ネットワークシステムにおいて、所定の期間に観測される前記通信ネットワークシステム上で送受信されるフレームの集合からなる観測データに含まれる各フレームが異常であるかを判断し、異常であると判断されたフレームのペイロードの異常部分を出力する異常検知方法であって、前記フレームに含まれるペイロードを構成する1ビット以上の部分に関する複数の特徴量のデータ分布を取得するリファレンスモデル取得ステップと、前記観測データに含まれるフレームが異常であるか否かを判断するフレーム異常検知ステップと、異常部分出力ステップとを含み、前記リファレンスモデル取得ステップでは、前記観測データの取得タイミングとは異なるタイミングで取得した前記通信ネットワークシステム上で送受信されるフレームの集合に対しての前記データ分布を取得し、前記フレーム異常検知ステップでは、前記リファレンスモデル取得ステップで取得された前記データ分布と、前記観測データに含まれる前記フレームから抽出される特徴量のデータ分布との差異を算出し、前記差異が所定値以上となる特徴量をもつフレームを異常なフレームであると判断し、前記異常部分出力ステップでは、前記フレーム異常検知ステップにおいて異常なフレームであると判断されたフレームがある場合に、前記異常なフレームから抽出した前記複数の特徴量の異常寄与度を算出し、前記異常寄与度が所定値以上である特徴量と対応する、ペイロード内の1個以上の部分であるペイロード異常部分を出力する。
 また、本開示の一態様に係る異常検知装置は、通信ネットワークシステムにおいて、所定の期間に観測される前記通信ネットワークシステム上で送受信されるフレームの集合からなる観測データに含まれるフレームが異常であるかを判断し、異常であると判断されたフレームのペイロードの異常部分を出力する異常検知装置であって、前記フレームに含まれるペイロードを構成する1ビット以上の部分に関する複数の特徴量のデータ分布を保持するリファレンスモデル保持部と、前記観測データに含まれるフレームが異常であるか否かを判断する異常検知部と、前記異常検知部において異常なフレームが検知された場合に、前記異常なフレームから抽出した前記複数の特徴量の異常寄与度を算出し、前記異常寄与度が所定値以上である特徴量と対応する、前記フレームに含まれる1個以上の部分であるペイロード異常部分を出力する異常部分出力部とを備え、前記リファレンスモデル保持部は、前記観測データの取得タイミングとは異なるタイミングで取得した前記通信ネットワークシステム上で送受信されるフレームの集合に対しての前記データ分布を保持しており、前記異常検知部は、前記リファレンスモデル保持部が保持する前記データ分布と、前記観測データに含まれる前記フレームから抽出される特徴量のデータ分布との差異を算出し、前記差異が所定値以上となる特徴量をもつフレームを異常なフレームであると判断する。
 なお、これらの包括的又は具体的な態様は、システム、集積回路、コンピュータプログラム又はCD-ROM等のコンピュータ読み取り可能な記録媒体で実現されてもよく、装置、システム、方法、集積回路、コンピュータプログラム及び記録媒体のいずれかの任意な組み合わせで実現されてもよい。
 本開示に係る異常検知方法及び異常検知装置では、車載ネットワーク等の通信ネットワークを流れるフレームに含まれる異常なフレームを検知した上で、異常への迅速な対応等に利用可能な、より詳細な情報を出力する。
図1は、実施の形態における、車載ネットワーク異常検知システムの概要を説明する図である。 図2は、実施の形態における、車載ネットワークシステムの全体構成を示す図である。 図3は、上記車載ネットワーク異常検知システムに含まれる異常検知サーバの機能構成を示すブロック図である。 図4は、実施の形態における、攻撃内容の判定結果の一例を示す図である。 図5は、上記異常検知サーバに含まれるリファレンスモデル保持部に格納される正常データ分布モデルの例を示す図である。 図6は、上記異常検知サーバに含まれる攻撃種類判定テーブルの例を示す図である。 図7は、上記異常検知サーバに含まれる攻撃レベル判定テーブルの例を示す図である。 図8は、上記車載ネットワークシステムに含まれるECU及びテレマティクス制御ユニットの機能構成を示す図である。 図9は、上記のECUが受信したフレームの受信履歴の一例を示す図である。 図10は、上記車載ネットワークシステムに含まれるゲートウェイの構成を示す図である。 図11は、上記車両及び異常検知サーバを含む車載ネットワーク異常検知システムで実行される処理シーケンスの一例を示す図である。 図12は、上記の異常検知サーバでのログの分析処理の手順例を示すフローチャートである。 図13は、上記の異常検知サーバでの攻撃種類判定処理の手順例を示すフローチャートである。 図14は、上記の異常検知サーバでの攻撃レベル判定処理の手順例を示すフローチャートである。
 (本開示の基礎となった知見)
 通信ネットワークに異常が発生した場合には、送信されたフレームに含まれる異常なフレームを特定するだけでなく、その異常の内容を把握し、その内容に応じた適切で迅速な対応が被害の発生防止又は最小化に重要である。ここでの異常の内容とは、例えばフレーム内の異常箇所、考えられる異常の原因及び異常の危険度である。しかしながら、「背景技術」の欄において記載した従来の方法を用いては、フレーム又は通信の異常度は把握できても、上記に挙げたような異常の内容に関する情報は得られない。
 このような問題を解決するために創案された本開示の一態様に係る異常検知方法は、通信ネットワークシステムにおいて、所定の期間に観測される前記通信ネットワークシステム上で送受信されるフレームの集合からなる観測データに含まれる各フレームが異常であるかを判断し、異常であると判断されたフレームのペイロードの異常部分を出力する異常検知方法であって、前記フレームに含まれるペイロードを構成する1ビット以上の部分に関する複数の特徴量のデータ分布を取得するリファレンスモデル取得ステップと、前記観測データに含まれるフレームが異常であるか否かを判断するフレーム異常検知ステップと、異常部分出力ステップとを含み、前記リファレンスモデル取得ステップでは、前記観測データの取得タイミングとは異なるタイミングで取得した前記通信ネットワークシステム上で送受信されるフレームの集合に対しての前記データ分布を取得し、前記フレーム異常検知ステップでは、前記リファレンスモデル取得ステップで取得された前記データ分布と、前記観測データに含まれる前記フレームから抽出される特徴量のデータ分布との差異を算出し、前記差異が所定値以上となる特徴量をもつフレームを異常なフレームであると判断し、前記異常部分出力ステップでは、前記フレーム異常検知ステップにおいて異常なフレームであると判断されたフレームがある場合に、前記異常なフレームから抽出した前記複数の特徴量の異常寄与度を算出し、前記異常寄与度が所定値以上である特徴量と対応する、ペイロード内の1個以上の部分であるペイロード異常部分を出力する。
 これにより、通信ネットワークで送受信される多数のフレームから異常なフレームを検知するだけでなく、フレームのペイロードにおける異常部分に関する情報が得られる。このようにして把握される異常の内容を用いることで、異常に対してより迅速で適切な対応が可能になる。
 また、前記異常検知方法は、さらに、異常種類判定ステップをさらに備え、前記異常種類判定ステップでは、前記ペイロード異常部分に基づいてペイロード異常部分長を特定し、前記ペイロード異常部分長に応じて、異常種類を判定してもよい。
 これにより、検知した異常なフレームに関して、どのような種類の異常が発生しているのかに関する情報が得られる。このようにしてさらに把握される異常の内容を用いることで、異常に対してより迅速で適切な対応が可能になる。
 また、前記異常種類判定ステップでは、前記異常種類を、前記ペイロード異常部分長が第一範囲内であるときに状態値異常と判定し、前記ペイロード異常部分長が前記第一範囲より長い第二範囲内であるときにセンサ値異常と判定し、前記ペイロード異常部分長が前記第二範囲より長い第三範囲内であるときにトライアル攻撃異常であると判定してもよい。例えば、前記第一範囲は、上限が4ビット以下の範囲であり、前記第二範囲は、下限が8ビット以上、且つ、上限が16ビット以下の範囲であり、前記第三範囲は、下限が32ビットの範囲であってもよい。
 このように、異常の内容である異常の種類の判定が、異常部分のビット長に基づいて可能である。このようにして把握される異常の内容を用いることで、異常に対してより迅速で適切な対応が可能になる。
 また、異常レベル判定ステップをさらに備え、前記異常レベル判定ステップでは、前記フレーム異常検知ステップにおいて、複数種類のフレームが異常であると検知され、かつ前記異常部分出力ステップにおいて出力される前記ペイロード異常部分が、前記複数種類のフレーム間で異なる場合に、前記ペイロード異常部分が前記複数種類のフレーム間で同じ場合よりも異常レベルを高く判定してもよい。
 これにより、異常であると判断されたフレームの種類と、当該フレームのペイロードにおいて異常に寄与した部分に関する情報から、異常の危険のレベル(危険度)を判定することができる。このようにして把握される異常の内容を用いることで、例えば複数の異常が発生している場合には、危険度のより高い異常への対応を優先して実行するといった、安全性の点でより適切な対応が可能になる。
 また、異常レベル判定ステップをさらに備え、前記異常レベル判定ステップでは、前記フレーム異常検知ステップにおいて、複数の種類のフレームが異常であると検知され、かつ前記異常種類判定ステップにおいて判定された異常種類が、前記複数の種類のフレーム間で同じ場合よりも異常レベルを高く判定してもよい。
 これにより、通信ネットワークにおいて異常であると判断されたフレームの種類数と、フレームに発生している異常の種類数との組み合わせから、異常の危険度を判定することができる。このようにして把握される異常の内容を用いることで、例えば複数の異常が発生している場合には、危険度のより高い異常への対応を優先して実行するといった、安全性の点でより適切な対応が可能になる。
 また、異常レベル判定ステップをさらに備え、前記異常レベル判定ステップでは、前記フレーム異常検知ステップにおいて、1以上の種類のフレームが異常であると検知され、かつ前記異常種類判定ステップにおいて判定された異常種類が、トライアル攻撃異常のみである場合に、判定された異常種類にトライアル攻撃異常が含まれない場合よりも異常レベルを低く判定してもよい。
 これにより、異常の種類から、発生している異常が危険度の低い異常であるか否かを判定することができる。このようにして把握される異常の内容を用いることで、例えば複数の異常が発生している場合には、危険度のより高い異常への対応を優先して実行するといった、安全性の点でより適切な対応が可能になる。また、危険度が低い場合には、異常への対応としての通信ネットワークシステムの機能に対する制限を緩いものにすることで、ユーザの利便性の犠牲を抑えることができる。
 また、異常レベル判定ステップをさらに備え、前記異常レベル判定ステップでは、前記フレーム異常検知ステップにおいて、1以上の種類のフレームが異常であると判定された場合に、前記異常であると判定された前記フレームの種類、異常であると判定された前記フレームの種類数、前記異常部分出力ステップにおいて出力されたペイロード異常部分、前記異常種類判定ステップにおいて判定された異常種類のいずれか1以上の要素をパラメータとする所定の計算式に基づいて異常レベルを判定してもよい。
 これにより、異常であると検知したフレームの異常の内容に関する複数の条件から、異常の危険度を判定することができる。このようにして把握される異常の内容を用いることで、例えば複数の異常が発生している場合には、危険度のより高い異常への対応を優先して実行するといった、安全性の点でより適切な対応が可能になる。
 また、前記異常種類判定ステップでは、1のフレームに含まれる前記ペイロード異常部分が複数ある場合に、複数の前記ペイロード異常部分の間にある中間ビットの数が所定の基準以下であるときは、複数の前記ペイロード異常部分及び前記中間ビットをあわせて1つのペイロード異常部分として扱ってもよい。
 これにより、異常と判定されたフレームのペイロードにおける異常部分長に基づく異常種類の判断が、より正確に行える可能性が高まる。
 また、前記通信ネットワークシステムは、車載ネットワークシステムであってもよい。
 これにより、車載ネットワークシステムで送受信される多数のフレームを監視してその中に含まれる異常なフレームを検知することができ、また、異常の内容を把握してより迅速で適切な対応につなげることができる。その結果、自動車の安全性を向上させることができる。
 また、本開示の一実施態様の異常検知装置は、通信ネットワークシステムにおいて、所定の期間に観測される前記通信ネットワークシステム上で送受信されるフレームの集合からなる観測データに含まれるフレームが異常であるかを判断し、異常であると判断されたフレームのペイロードの異常部分を出力する異常検知装置であって、前記フレームに含まれるペイロードを構成する1ビット以上の部分に関する複数の特徴量のデータ分布を保持するリファレンスモデル保持部と、前記観測データに含まれるフレームが異常であるか否かを判断する異常検知部と、前記異常検知部において異常なフレームが検知された場合に、前記異常なフレームから抽出した前記複数の特徴量の異常寄与度を算出し、前記異常寄与度が所定値以上である特徴量と対応する、前記フレームに含まれる1個以上の部分であるペイロード異常部分を出力する異常部分出力部とを備え、前記リファレンスモデル保持部は、前記観測データの取得タイミングとは異なるタイミングで取得した前記通信ネットワークシステム上で送受信されるフレームの集合に対しての前記データ分布を保持しており、前記異常検知部は、前記リファレンスモデル保持部が保持する前記データ分布と、前記観測データに含まれる前記フレームから抽出される特徴量のデータ分布との差異を算出し、前記差異が所定値以上となる特徴量をもつフレームを異常なフレームであると判断する。
 これにより、通信ネットワークで送受信される多数のフレームから異常なフレームを検知するだけでなく、フレームのペイロードにおける異常部分に関する情報が得られる。このようにして把握される異常の内容を用いることで、異常に対してより迅速で適切な対応が可能になる。
 なお、これらの包括的又は具体的な態様は、システム、集積回路、コンピュータプログラム又はCD-ROM等のコンピュータ読み取り可能な記録媒体で実現されてもよく、装置、システム、方法、集積回路、コンピュータプログラム及び記録媒体のいずれかの任意な組み合わせで実現されてもよい。
 以下、図面を参照しながら、本開示に係る異常検知方法及び異常検知装置の実施の形態について説明する。なお、以下で説明する実施の形態は、いずれも包括的又は具体的な例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置及び接続形態、ステップ、ステップの順序等は例示の目的で示されるものであり、本発明を限定する趣旨ではない。
 (実施の形態)
 以下、通信ネットワークシステムで送受信されるフレームに混じる、異常であるフレームの検知、当該フレーム内の異常部分の特定、異常の種類及び危険度の判断方法について説明する。この説明では、複数の電子制御ユニット(ECU)がCANバスを用いて構成されるネットワークを介して通信する車載ネットワークシステムを搭載した車両と、異常であるフレームを検知するサーバとを含む車載ネットワーク異常検知システムを例に用いる。
 [1.1 車載ネットワーク異常検知システムの概要]
 図1は、本実施の形態における車載ネットワーク異常検知システムの概要を示す図である。車載ネットワーク監視システムは、異常検知サーバ60と、車両10とが、通信路となるネットワーク20で接続されて構成される。ネットワーク20は、インターネット又は専用回線を含み得る。車両10が搭載する車載ネットワークシステムは、車内のバス(CANバス)を介して通信を行う複数のECUを含む。これらのECUは、車内の制御装置、センサ、アクチュエータ、ユーザインタフェース装置等の各種機器に接続されている。
 本実施の形態では、車載ネットワークシステムにおける各ECUはCANプロトコルに従って通信を行う。CANプロトコルにおけるフレームの種類には、データフレーム、リモートフレーム、オーバーロードフレーム及びエラーフレームがある。ここでは主としてデータフレームに注目して説明する。CANプロトコルでは、データフレームは、データを格納するデータフィールド、データフィールドのデータ長を示すDLC(Data Length Code)、及びデータフィールドに格納されるデータに基づく種類を示すIDを格納するIDフィールドを含むと規定されている。なお、本実施の形態に係る異常検知方法又は異常検知装置は、データフレーム以外の種類のCANプロトコルのフレーム、又は他の通信プロトコルに従う通信ネットワークシステムにも、適用可能である。
 [1.2 車載ネットワークシステムの構成]
 図2は、車両10が備える車載ネットワークシステムの構成の一例を示す図である。
 車両10における車載ネットワークシステムは、バス(CANバス)1000、2000、3000、4000及び5000に接続された複数のECU(ECU100、101、200、201、300、301、302、400、401)及びこれらのバス間の通信を中継するゲートウェイ900といった各ノードを含む。なお、ゲートウェイ900もECUである。
 図2では省略しているものの、車載ネットワークシステムには、さらに多くのECUが含まれ得る。ECUは、例えば、プロセッサ(マイクロプロセッサ)、メモリ等のデジタル回路、アナログ回路、通信回路等を含む装置である。メモリは、ROM(Read-Only Memory)及びRAM(Random Access Memory)であり、プロセッサにより実行される制御プログラム(コンピュータプログラム)を記憶することができる。例えばプロセッサが、制御プログラムに従って動作することにより、ECUは各種機能を実現する。なお、コンピュータプログラムとは、所定の機能を実現するために、プロセッサに対する命令コードが複数個組み合わされたものである。
 バス1000には、モータ、燃料、電池の制御といった車両10の駆動に関連するパワートレイン系のECUが接続されている。エンジン110に接続されたECU(エンジンECU)100及びトランスミッション111に接続されたECU(トランスミッションECU)101は、本実施の形態におけるパワートレイン系のECUの例である。
 バス2000には、「曲がる」、「止まる」等といった車両10の操舵及び制動等の制御に関連するシャーシ系のECUが接続されている。ブレーキ210に接続されたECU(ブレーキECU)200及びステアリング211に接続されたECU(ステアリングECU)201は、本実施の形態におけるシャーシ系のECUの例である。
 バス3000には、画像情報を基に運転支援の認知・判断・制御を行う機能や、オーディオヘッドユニットに関わる機能、及び車車間通信といった情報系に関連するECUが接続されている。それぞれカメラ310、カーナビゲーションシステム311、テレマティクス制御ユニット(TCU:Telematic Control Unit)312に接続されたECU300、ECU301及びECU302は、本実施の形態における情報系のECUの例である。
 バス4000には、ドア、エアコン、ウィンカー等といった車両の装備の制御に関連するボディ系のECUが接続されている。ドア410に接続されたECU400、及びライト411に接続されたECU401は、本実施の形態におけるボディ系のECUの例である。
 バス5000には、例えばOBD2(On-Board Diagnostics 2nd generation)等の、外部の診断ツール(故障診断ツール)等と通信するためのインタフェースである診断ポート510が接続されている。
 上記のECU(ECU100、200等)のそれぞれは、接続されている機器(エンジン110、ブレーキ210等)の状態を示す情報を取得し、この状態を表すデータフレーム等(以下、データフレームのことを単にフレームともいう)を車載ネットワークシステムつまりCANバスに定期的に送信している。
 ゲートウェイ900は、異なる複数の通信路間でデータを転送するECUである。図2の例を参照すると、ゲートウェイ900は、バス1000、バス2000、バス3000、バス4000、バス5000と接続している。つまり、ゲートウェイ900は、一方のバスから受信したフレームを、一定条件下で他のバス(つまり条件に応じて選択した転送先バス)に転送する機能を有するECUである。
 ECU302は、バス3000に流れるフレームを受信して保持し、定期的に異常検知サーバ60へアップロードする機能を持つ。フレームはTCU312から、携帯電話回線等の通信回線を含むネットワーク20を介して異常検知サーバ60へアップロードされる。
 [1.3 異常検知サーバの構成]
 図3は、サーバ(異常検知サーバ)60の機能構成を示すブロック図である。車両10の車載ネットワークシステムで送信される不正なフレームに対処するための異常検知サーバ60は、例えばプロセッサ、メモリ、通信インタフェース等を含む一台以上のコンピュータにより実現される。異常検知サーバ60は、通信部610と、異常検知部620と、異常部分特定部630と、攻撃種類判定部640と、攻撃レベル判定部650と、結果出力部660と、リファレンスモデル保持部670と、攻撃種類判定テーブル680と、攻撃レベル判定テーブル690とを含む。
 リファレンスモデル保持部670、攻撃種類判定テーブル680、及び攻撃レベル判定テーブルのそれぞれの機能は、例えば、メモリ、ハードディスクといった記憶媒体に所定の構成で保持されるデータとして実現され得る。これらのデータについては、例を用いて後述する。
 また、異常検知部620、異常部分特定部630、攻撃種類判定部640、攻撃レベル判定部650及び結果出力部660それぞれの機能は、例えば、メモリに格納された制御プログラムがプロセッサにより実行されることにより実現され得る。
 通信部610は、通信インタフェース、メモリに格納された制御プログラムを実行するプロセッサ等により実現される。通信部610は、ネットワーク20を介して車両10と通信することで、車両10の車載ネットワークシステムに関する情報を受信する。車載ネットワークシステムに関する情報には、例えば、車載ネットワークシステムのCANバス上に流されたフレームの内容(ペイロード情報)、受信タイミング(間隔、頻度等)に関する情報が含まれ得る。
 異常検知部620は、通信部610から通知される車載ネットワークシステムのログのデータ(観測データセットD′)が異常であるかを判断する。この時、リファレンスモデル保持部670に格納されている正常走行時の車載ネットワークログ(リファレンスモデルデータセットD)を参照し、観測データセットとリファレンスモデルデータセットとの差異に基づいて観測データセットに異常なフレームのデータが含まれるか否かを判断する。
 観測データセットD′が異常であるかの判定には、例えば密度比推定による異常検知方法が利用可能である。密度比推定は、リファレンスモデルデータセットDの分布と、観測データセットD′の分布との異なる箇所を検知する技術である。例えば外れ値を含まないデータフレームを用いる攻撃による異常は、外れ値検出のみを用いる手法では検知が困難である。しかしこの技術では、このような異常であっても正常なデータとの値の分布の差異に基づいて検知することができる。
 以下に、密度比推定アルゴリズムの一例を示す。密度比推定アルゴリズムは、リファレンスモデルデータセットDを構成する正常走行時の各データフレームのデータのラベルを0とし、観測データセットD′に含まれる各データフレームのデータのラベルを1として、正常データと観測データとを分類するよう分類器を学習させる。分類器にはMLP(Multi Layer Perceptron)、ロジスティック回帰、ランダムフォレスト、k-近傍法等のモデルが利用可能である。
 1つのデータフレームに対応する観測データ(詳細は後述)をxとしたとき、密度比r(x)はベイズの定理から下記の式1にて求められる。
  r(x) = pD(x)/pD′(x) = p(x|y=0)/p(x|y=1) = p(y=1)p(y=0|x)/p(y=0)p(y=1|x)
  ......(式1)
 ここで、p(y=1|x)は観測データxが観測データセットD′に属する確率であり、分類器の出力である。また、p(y=0|x)は観測データxが正常データセットDに属する確率であり、1から分類器の出力を引いたものである。p(y=1)、p(y=0)はそれぞれ、データセット全体に対する観測データセット、リファレンスモデルデータセットの大きさの比率である。
 r(x)の絶対値が所定の閾値を超えた場合、すなわち、観測データxに対して分類器が、観測データセットD′(又はリファレンスモデルデータセットD)に属する確率が高いと判断した場合に、観測データx(に対応するデータフレーム)が異常であると判定する。観測データxは1つのデータフレームのペイロードから抽出される特徴量であり、例えば、CANのデータフレームに含まれるデータフィールドの各ビット値を1つの特徴量とした64次元の特徴量である。
 なお、各特徴量はデータフィールドの各ビット値でなくてもよく、データフィールドの値全体を所定のビット長で区切ったものであってもよい。したがって観測データxは、例えば、64ビットのデータフィールドの値を4ビット毎に区切って得られる16個の値を1つの特徴量としてなる16次元の特徴量としてもよいし、8ビット毎に区切って得られる8個の値を1つの特徴量としてなる8次元の特徴量としてもよい。さらに固定長のビットで区切らなくてもよい。例えば、ペイロード内に含まれる、それぞれ意味をなす各サブフィールドに対応して特徴量を抽出してもよい。
 また、上記分類器は、データフレームに含まれるIDごとに用意して学習させてもよいし、所定の組み合わせのIDのデータフレーム又はすべてのIDのデータフレームをまとめて1つの分類器に学習させてもよい。異常検知部620は、異常であると判定したデータフレームのID、特徴量、及び判定に用いた分類器の情報を異常部分特定部630へ通知する。
 異常部分特定部630は、異常検知部620から通知された情報をもとに、異常と判定されたデータフレームのペイロードにおける各特徴量(ここでは1データフレームから抽出された高次元の特徴量をなす各特徴量を指す)の異常への寄与の程度(以下、異常寄与度ともいう)を算出する。特徴量iの異常寄与度cは密度比r(x)を入力xで微分することで求める(式2参照)。
  ci = δr(x)/δx  ......(式2)
 具体的には、特徴量iの値に対して(ビット)反転させたとき、あるいは微小な変化を加えたときの密度比r(x)の変化量を異常寄与度とする。異常部分特定部630は、この異常寄与度を、異常と判定されたデータフレームの各特徴量iについて算出し、所定の閾値以上の異常寄与度を示した特徴量iを、当該データフレームの異常に寄与している特徴量であると判定する。そして異常部分特定部630は、この特徴量を示した部分のペイロードにおけるビット位置を、ペイロード異常部分として特定する。
 異常部分特定部630は、異常検知部620から通知された情報に加えて、異常に寄与ていると判定した特徴量及び特定したペイロード異常部分の情報を攻撃種類判定部640へ通知する。
 攻撃種類判定部640は、異常部分特定部630から通知された情報及び攻撃種類判定テーブル680を参照して、異常なフレームを生じさせている攻撃の種類を判定する機能を持つ。
 攻撃種類判定部640は、まず異常部分特定部630から通知されたペイロード異常部分から、ペイロード内の異常部分長を特定する。例えば第1特徴量、第2特徴量、第3特徴量・・・がそれぞれペイロードの最上位1ビット、2ビット、3ビット・・・と対応している場合、異常部分のビット位置が連続している範囲を共通の異常に関与する異常部分であると判断する。そして、第1特徴量から第10特徴量までがペイロード異常部分であると判定されているときは、ペイロードのビット位置1~10の10ビットが異常部分長であると特定する。
 なお、異常部分長の特定方法は上記の方法に限らない。例えば上記のような第1特徴量から第4特徴量及び第6特徴量から第10特徴量が異常部分である場合に、第5特徴量を含めた第1特徴量から第10特徴量をひとつの連続するペイロード異常部分として扱って、異常部分長を10ビットとしてもよい。なお、この例では、2つの隣り合うペイロード異常部分の間にあるビット(以下、中間ビットという)の数が1である場合にその隣り合うペイロード異常部分と中間ビットとをあわせて1つのペイロード異常部分として扱われているが、これは限定的なものではない。隣り合うペイロード異常部分と中間ビットとをあわせて1つのペイロード異常部分として扱われる中間ビットの長さ(ビット数)は別途定め得る設計事項である。つまり、中間ビットがこのように扱われる基準としてのビット数は、1より大きい値でもよい。また、複数のペイロード異常部分とその間にある中間ビットとの合計ビット数に対する当該中間ビットのビット数の割合を基準として、この割合が所定の値以下の場合に、これらが1つのペイロード異常部分として扱われてもよい。
 次に攻撃種類判定部640は、異常部分長(ビット数)に応じて攻撃種類を判定する。例えば、異常部分長が4ビット以下のときは、状態を示すフラグ又は状態を示す値が占める部分で値の偽装又は改ざんが攻撃によって行われているとして、攻撃種類判定部640は「状態値偽装」と判定する。また例えば、異常部分長が5ビット以上31ビット以下のときは、攻撃種類判定部640は「センサ値偽装」と判定する。また例えば、異常部分長が32ビット以上のときは、ランダムな値若しくは何らかの類推に基づく値の注入、又は取り得るすべての値での総当たり等による試行的な攻撃である「トライアル攻撃」と判定される。攻撃種類判定部640は、車両10から通知された、車載ネットワークシステムで所定の時期又は所定の長さの時間(以下、特に区別せず所定の期間ともいう)に観測されたデータフレームに対応する車載ネットワークログで、異常部分特定部630から通知される、異常検知部20が異常であると判定したデータフレームに対して上記の判定を実行し、攻撃種類に関する一連の判定結果を攻撃レベル判定部650へ通知する。
 攻撃レベル判定部650は、攻撃種類判定部640から通知される攻撃種類及び攻撃レベル判定テーブル690を参照し、異常が発生したデータフレームの種類に関する条件、ペイロード異常部分に関する条件、及び判定された攻撃種類に関する条件を組み合わせて用いて、発生している異常の危険度を示す攻撃レベルを判定し、判定結果を結果出力部660へ通知する。この例では、攻撃レベルは、低、中、高の3段階で判定される。
 結果出力部660は、攻撃レベル判定部650から通知される情報を、用途に応じたデータ形式で出力する。例えば結果出力部660は、当該情報を車載ネットワーク異常検知システムの管理者へアラートとして通知するために、接続されるディスプレイ攻撃による異常の発生の旨及びその攻撃レベルを当該ディスプレイ上に表示するための画像データを出力する。また例えば結果出力部660は、異常検知サーバ60の一部を、管理者がこのような情報を閲覧するためのソフトウェア(例えば汎用のウェブブラウザ、又は専用のアプリケーションソフトウェア)を用いてアクセスするWebサーバとして機能させる構成を有してもよい。また例えば結果出力部660は、異常検知サーバ60の一部を、管理者にこのような情報をメールで通知するメールサーバとして機能する構成を有していてもよい。また例えば結果出力部660は、このような情報をインシデントログとして電子媒体等に記録するためのデータ形式で出力してもよい。なお、上記の管理者は、車載ネットワーク監視システムからの車両10の車載ネットワークシステムにおいて発生した異常の通知先の一例である。この通知先の他の例として、車載ネットワークシステムの監視業務を委託されたセキュリティオペレーションセンターのセキュリティアナリストであってもよい。
 結果出力部660から出力される情報の一例を図4に示す。図4に示す例では、車種Aである車両の車載ネットワークシステムに異常が発生した(又は車載ネットワークログから異常が検知された)時刻が2020年1月15日の13時15分でることを示している。さらにこの例では、この異常を引き起こした攻撃の攻撃レベルは高であり、異常が検知されたフレームのID、つまりデータフレームの種類は0x100及び0x200であること、IDが0x100のデータフレームに関しては、ペイロード(データフィールド)のビット位置0~15の部分がセンサ値偽装による異常部分であり、0x200のデータフレームに関してはペイロードのビット位置33~36の部分が状態値偽装による異常部分であることを示している。
 上記の管理者又はセキュリティアナリストは、このような情報の通知を受けることで、危険度(上記の例では攻撃レベル)に応じた各異常への対応の優先順序付けが可能になるだけでなく、異常を引き起こしている攻撃の種類を把握することで、その対応の内容をより迅速かつ適切に決定することができる。
 リファレンスモデル保持部670は、車両10の正常走行時に車載ネットワークシステムで送受信されるフレームのデータ分布を示すリファレンスモデル(以下、正常データ分布モデルともいう)を保持している。正常走行時のデータは観測データとは異なるタイミングで取得されるデータである。例えば、車両10又は同仕様の他車両出荷前のテスト走行時に収集したデータであってもよいし、攻撃を受けていないと判断されている車両10又は同仕様の他車両からアップロードされる車載ネットワークデータであってもよい。図5にリファレンスモデル保持部670に格納される正常データ分布モデルの例を示し、詳細は後述する。
 攻撃種類判定テーブル680は、異常部分長に基づいて攻撃種類を判定するテーブルを保持する。図6に攻撃種類判定テーブルの一例を示し、詳細は後述する。
 攻撃レベル判定テーブル690は、異常が発生したIDの種類数に関する条件、ペイロードの異常部分に関する条件、判定された攻撃種類に関する条件の組み合わせを用いて、危険度を判定するテーブルを保持する。図7に攻撃レベル判定テーブルの一例を示し、詳細は後述する。
 [1.4 正常データ分布モデル]
 図5は、異常検知サーバ60のリファレンスモデル保持部670が保持する正常データ分布モデルの一例を示す図である。図5に示すように、正常データ分布モデルには、CANのデータフレームのID(図中「CAN ID」欄参照)ごとにペイロード値の度数分布が保持されている。
 具体的には、IDが0x100のデータフレームでは、ペイロード値0x0000000000000000の出現回数は10回、ペイロード値0x0000000000000011の出現回数は22回、ペイロード値0x00FF000000000000の出現回数は10000回、ペイロード値0x00FF008888000011の出現回数は8000回であることを示している。また、IDが0x200のデータフレームでは、ペイロード値0xFF00FFFF00000088の出現回数は50回であることを示している。
 なお、図5の例に示されるモデルは、ペイロード値の出現回数の実計測値をそのまま用いた度数分布の形式であるが、IDごとに正規化した値、例えば相対度数の度数分布の形式であってもよい。また、停車中、走行中などの車両の状況別の正常データの度数分布が保持されてもよい。また、リファレンスモデル保持部670が保持するモデルは暗号化されていてもよい。
 [1.5 攻撃種類判定テーブル]
 図6は、異常検知サーバ60の攻撃種類判定テーブル680に格納される攻撃種類判定テーブルの一例を示す図である。
 図6に示す攻撃種類判定テーブル680によれば、ペイロード異常部分、すなわち、データフレームのペイロードにおいて異常に寄与した特徴量に対応する部分のビット長(異常部分長)が1ビット以上4ビット以下の場合、攻撃種類判定部640は、状態値偽装であると判定する。また、異常部分長が8ビット以上31ビット以下である場合はセンサ値偽装、32ビット以上であるときはトライアル攻撃であると判定される。
 [1.6 攻撃レベル判定テーブル]
 図7は、異常検知サーバ60の攻撃レベル判定テーブル690に格納される攻撃レベル判定テーブルの一例を示す図である。
 図7に示す攻撃レベル判定テーブル690によれば、異常であると判断されたデータフレームが複数ある場合に、データフレームの種類数、つまりこれらのデータフレームが含むIDが単一であるか複数であるかに関する第一条件と、攻撃種類又は攻撃種類の数及びペイロード異常部分(ペイロードにおけるビット位置)に関する第二条件との組み合わせによって攻撃レベルを判定する。
 第一条件である異常と判定されたデータフレームのIDが単一又は複数のいずれであっても、第二条件である攻撃種類がトライアル攻撃のみである場合、攻撃レベル判定部650は攻撃レベルが低であると判定する。これは、車両制御のコマンドを把握していない攻撃者による攻撃であり、車両制御への影響は低い可能性が高いためである。
 第一条件である異常と判定されたデータフレームのIDが単一であり、第二条件である攻撃種類がトライアル攻撃以外の場合、攻撃レベル判定部650は攻撃レベルが中であると判定する。これは、攻撃対象とすべきデータフレームの種類を特定している攻撃者による攻撃であって、車両制御への影響を及ぼしてより危険な可能性が高いためである。また、第一条件である異常と判定されたデータフレームのIDが複数であるが、第二条件である攻撃種類がトライアル攻撃以外の1種類であって、かつ、ペイロード異常部分が同一である場合は、攻撃レベルは中と判定される。少なくともデータフィールドにおいて攻撃すべき部分を特定している攻撃者による攻撃であって、危険度はより高いと可能性が高いためである。
 第一条件である異常と判定されたデータフレームのIDが複数であり、第二条件である異なる種類の攻撃が組み合わせで実行されている、又はデータフレームの各IDによって異常部分が異なる場合は、攻撃レベルは高と判定される。不正制御に必要最低限のデータフレームの偽装又は改ざんが可能な攻撃者による、危険度の高い攻撃である可能性が高いためである。
 [1.7 ECUの構成]
 図8は、ECU302及びTCU312の構成図である。なお、他のECUもECU302と基本的に同様の構成であり、外部機器制御部350に接続される機器がECUによって異なる。図8に示すように、ECU302は、フレーム送受信部330と、フレーム解釈部340と、外部機器制御部350と、フレーム生成部360と、受信履歴保持部370とを備える。これらの構成要素の各機能は、例えば通信回路、メモリに格納された制御プログラムを実行するプロセッサ又はデジタル回路等により実現される。
 フレーム送受信部330はバス3000と接続され、バス3000から受信したデータフレームをフレーム解釈部340へ通知する。
 フレーム解釈部340は、フレーム送受信部330から通知されたデータフレームを解釈し、その解釈の結果に応じて、外部機器制御部350へ外部機器の制御通知を行う。ECU302の場合は、受信したデータフレームは受信履歴保持部370に受信履歴として一旦保持される。この受信履歴は、車載ネットワークログとして、TCU312を介して、所定の間隔で、異常検知サーバ60へアップロードされる。
 外部機器制御部350は、ECU302に接続される外部機器、図8の例ではTCU312を制御する機能を持つ。また、外部機器の状態又は外部機器との通信内容に基づいて、フレーム生成部360にフレームの生成を指示する。
 フレーム生成部360は、フレーム生成の指示を受けると、フレームを生成し、生成したフレームの送信をフレーム送受信部330に要求する。
 受信履歴保持部370は、所定の間隔でバス3000から受信されたデータフレームの履歴、つまり受信履歴を保持する。図9に、受信履歴保持部370に保持される受信履歴の一例を示す。受信履歴の詳細は後述する。
 TCU312は、サーバ通信部380を備える。
 サーバ通信部380は、ネットワーク20を介して異常検知サーバ60と通信を行う。例えばサーバ通信部380は、ECU302から受信した受信履歴を異常検知サーバ60へアップロードする。
 [1.8 フレーム受信履歴]
 図9は、ECU302の受信履歴保持部370に保持される受信履歴の一例を示した図である。図9に示すように、受信履歴には、CANのデータフレームのID(図中「CAN ID」欄参照)ごとにペイロード値の度数分布が格納されている。
 具体的には、IDが0x100のデータフレームでは、ペイロード値0x00FF000000000022の出現回数は4回、ペイロード値0x00FF000000000011の出現回数は6回、ペイロード値0x00FF000000000000の出現回数は10回であることを示している。また、IDが0x200のデータフレームでは、ペイロード値0xFF00FFFF00000088の出現回数は3回、ペイロード値が0xFF00FFF0000000F0の出現回数は2回であることを示している。また、IDが0x300のデータフレームでは、ペイロード値0x5500FF00330011E4の出現回数は3回であることを示している。
 なお、図9の例に示される受信履歴はペイロード値の出現回数の実計測値をそのまま用いた度数分布の形式であるが、IDごとに正規化した値、例えば相対度数の形式であってもよい。また、停車中、走行中等の車両の状況別のペイロード値の度数分布が保持されてもよい。また、受信履歴保持部370が保持する受信履歴は暗号化されていてもよい。受信履歴のデータ構成は、ここまでに述べた例に限らない。例えば、各データフレームの受信時刻とペイロード値とを時系列順に並べた形式のデータであってもよい。
 [1.9 ゲートウェイの構成]
 図10は、車両10の車載ネットワークシステムにおけるゲートウェイ900の構成を示す。図10に示すように、ゲートウェイ900は、フレーム送受信部910と、フレーム解釈部920と、転送制御部930と、フレーム生成部940と、転送ルール保持部950とを備える。これらの構成要素の各機能は、例えば通信回路、メモリに格納された制御プログラムを実行するプロセッサ又はデジタル回路等により実現される。
 フレーム送受信部910は、バス1000、バス2000、バス3000、バス4000及びバス5000と接続され、それぞれとCANプロトコルに従ったフレームを送受信する。フレーム送受信部910は、各バスからフレームを1ビットずつ受信してフレーム解釈部920に通知する。また、フレーム生成部940から転送先のバスを示すバス情報及び送信用のフレームの通知を受けると、当該フレームを、バス1000、バス2000、バス3000、バス4000、バス5000のうち、バス情報が示すバスに1ビットずつ送信する。
 フレーム解釈部920は、フレーム送受信部910から受け取ったフレームを構成するビットの値を、CANプロトコルで規定されているフレームフォーマットにおける各フィールドにマッピングするよう解釈を行う。その後、受信したデータフレームに関する情報を転送制御部930へ通知する。フレーム解釈部920は、受け取ったフレームがCANプロトコルに則っていないと判断した場合は、エラーフレームを送信するようにフレーム生成部940へ通知する。また、フレーム解釈部920は、エラーフレームを受信した場合、つまり受け取ったフレームを構成するビットの値からエラーフレームであると解釈した場合には、以降のそのフレームを破棄する、つまりフレームの解釈を中止する。
 転送制御部930は、転送ルール保持部950が保持する転送ルールに従って、受信したフレームのID及び転送元バス、つまりそのフレームを受信したバスに応じた転送先のバスを選択し、転送先のバスを示すバス情報と、転送対象のフレームの内容、例えばフレーム解釈部920から通知されたID、DLC、データフィールド等をフレーム生成部940へ通知して転送先のバスへの送信を要求する。
 フレーム生成部940は、転送制御部930からの送信の要求に応じて、転送制御部930から通知されたフレームの内容を用いて送信用のフレームを生成し、その送信用のフレーム及びバス情報に基づく転送先情報、例えば転送先のバスの識別子等をフレーム送受信部910へ通知する。
 転送ルール保持部950は、バスごとのフレームの転送についてのルールを示す転送ルール情報を保持する。例えば転送ルール情報には、転送元としての各バスについて、そのバスから受信される転送対象のデータフレームのIDと、転送先のバスと、転送先におけるデータフレームのIDとの対応を示す。
 [1.10 車両と異常検知サーバと間の処理シーケンス]
 図11は、異常検知サーバ60及び車両10を含む車載ネットワーク異常検知システムでの処理シーケンスの一例を示す図である。より詳細には、車両10が備える車載ネットワークシステムのCANバスで送受信されたデータフレームのペイロードに関する情報を含む車載ネットワークログが異常検知サーバ60に送信され、異常検知サーバ60で、このログの分析を行う処理の一例である。具体的には、車両10のECU302がバス3000に送信されたデータフレームを受信したときの処理の一例である。
 車両10の車載ネットワークにおけるバス3000に接続されたECUのひとつ(カメラECU300、カーナビゲーションシステムECU301及びゲートウェイ900のいずれか)がバス3000にCANのデータフレームを送信することで、バス3000にデータフレームが流れる(ステップS101、S103、S105)。
 車両10のECU302は、ステップS101、S103、S105でバス3000に送信されたデータフレームを受信し、受信したデータフレームの集合の受信履歴(図9の例参照)を保持する(ステップS102、S104、S106)。
 ECU302は、所定の期間が経過すると、受信したデータフレームのペイロードの分布に関わる情報を含む車載ネットワークログ(図中は「ログ」と表記)を、TCU312からネットワーク20を介して異常検知サーバ60へアップロードさせる(ステップS107)。
 異常検知サーバ60は、車両10のから送信された車載ネットワークログを車両10から受信する(ステップS108)。
 そして、異常検知サーバ60は、受信した車載ネットワークログと、異常検知サーバ60に格納されている正常モデル(図5の例参照)を用いてこの車載ネットワークログの分析を行う(ステップS109)。
 最後に、異常検知サーバ60は車載ネットワークログの分析結果を出力する(ステップS110)。
 [1.11 異常検知サーバにおける車載ネットワークログの分析処理]
 図12は、異常検知サーバ60で実行される、車両10から受信した車載ネットワークログの分析処理の手順例を示すフローチャートである。以下、このフローチャートに即して、車両10のログ情報の分析処理について説明する。
 異常検知サーバ60は、車両10からアップロードされた車載ネットワークログ、すなわち、車両10の車載ネットワークシステムで送受信されたデータフレームのペイロードの分布に関する情報を含むログと、異常検知サーバ60のリファレンスモデル保持部670に格納される正常データ分布モデルとを用いて、異常検知のために観測されるデータ(観測データ)と正常データとを分類するよう分類器に学習させる(ステップS201)。
 次に異常検知サーバ60は、車両10から異常検知処理の対象としてアップロードされた車載ネットワークログに含まれる各データフレームのペイロード(以下、受信データともいう)をステップS201で学習した分類器に入力する(ステップS202)。
 なお、ステップS202で車両10からアップロードされる車載ネットワークログは、車載ネットワークシステムで送受信され、実際の異常検知のための観測対象として取得されたデータフレームの集合(観測データ)に基づくものである。これに対し、ステップS201で車両10からアップロードされる車載ネットワークログは、ステップS202でアップロードされる車載ネットワークログが基づく観測データとは別の機会に車載ネットワークシステムで送受信されたデータフレームに基づくものであり、分類器の学習のための訓練データとして用いられるものである。
 受信データを分類器に入力した結果、入力した受信データが、観測データに属するスコアが所定値以上(又は正常データに属するスコアが所定値以下)の場合、すなわち受信データ(に対応するデータフレーム)は異常であると判定された場合(ステップS203でYes)、異常検知サーバ60は、ステップS205を実行する。受信データが異常でない場合(ステップS203でNo)、異常検知サーバ60は、ステップS204を実行する。
 異常検知サーバ60は、処理対象である一連の受信データについて、対応するデータフレームの異常の判定が終わったか否か、つまり分類器へ未入力の受信データが存在するか否かを確認する(ステップS204)。分類器への未入力の受信データがある場合(ステップS204でYes)、異常検知サーバ60は、未入力の受信データに対してステップS202を実行する。分類器への未入力の受信データがない場合(ステップS204でNo)、異常検知サーバ60は、ステップS206を実行する。
 異常検知サーバ60は、異常と判定された受信データに対応するデータフレームのペイロードにおける、異常に寄与した特徴量を示した部分のビット位置(異常部分)、及び異常部分のビット長(異常部分長)を算出し、ID、ペイロードデータと共に保持する(ステップS205)。
 異常検知サーバ60は、車両10からアップロードされた車載ネットワークログについて、異常と判定されたデータフレームが存在するかを確認する(ステップS206)。異常と判定されたデータフレームが存在する場合(ステップS206でYes)は、異常検知サーバ60は、ステップS207を実行し、異常と判定された受信データが存在しない場合(ステップS206でNo)は、異常検知サーバ60は、処理を終了する。
 異常検知サーバ60は、攻撃種類判定テーブル680に格納されている攻撃種類判定テーブルを参照し、異常と判定された各データフレームについて、異常部分長から攻撃種類を判定する(ステップS207)。ステップS207の詳細な処理内容については図13を用いて後述する。
 次に異常検知サーバ60は、異常と判定された各データフレームのIDの種類数と、ペイロードにおける異常部分の位置、及び攻撃種類の組み合わせから攻撃レベルを判定する(ステップS208)。ステップS208の詳細な処理内容については図14を用いて後述する。
 最後に異常検知サーバ60は、判定結果を出力し(図11のステップS110に相当)、処理を終了する。
 [1.12 異常検知サーバによる攻撃種類判定処理]
 図13は、異常検知サーバ60における攻撃種類判定処理の手順例を示すフローチャートである。この手順例は、図12に示す車載ネットワークログの分析処理のステップS207の詳細である。
 異常検知サーバ60は、異常と判定されたデータフレームの異常部分長が1ビット以上4ビット以下であるか否かを確認する(ステップS2071)。異常部分長が1ビット以上4ビット以下である場合(ステップS2071でYes)、異常検知サーバ60は、攻撃種類を状態値偽装と判定する(ステップS2072)。異常部分長が1ビット以上4ビット以下でない場合(ステップS2071でNo)、異常検知サーバ60は、異常部分長が5ビット以上31ビット以下であるか否かを確認する(ステップS2073)。異常部分長が5ビット以上31ビット以下である場合(ステップS2073でYes)は、異常検知サーバ60は、攻撃種類をセンサ値偽装と判定する(ステップS2074)。異常部分長が、5ビット以上31ビット以下でもない場合(ステップS2073でNo)、つまり異常部分長が32ビット以上の場合、異常検知サーバ60は、攻撃種類をトライアル攻撃と判定する(ステップS2075)。
 異常検知サーバ60は、異常であると判定されたデータフレームであって攻撃種類について未判定のデータフレームがなくなるまで上記処理を行う。
 [1.13 異常検知サーバの攻撃レベル判定処理]
 図14は、異常検知サーバ60における攻撃レベル判定処理の手順例を示すフローチャートである。この手順例は、図12に示す車載ネットワークログの分析処理のステップS208の詳細である。
 異常検知サーバ60は、攻撃種類について未判定のデータフレームが存在するか否かを確認する(ステップS2081)。攻撃種類について未判定のデータフレームが存在する場合(ステップS2081でYes)、異常検知サーバ60は、攻撃種類について未判定のデータフレームがなくなるまで待つ。
 攻撃種類について未判定のデータフレームがない場合(ステップS2081でNo)は、異常検知サーバ60は、判定された攻撃種類がトライアル攻撃のみであるか否かを確認する(ステップS2082)。攻撃種類がトライアル攻撃のみである場合(ステップS2082でYes)、異常検知サーバ60は、攻撃レベルを「低」と判定する(ステップS2083)。
 攻撃種類が、トライアル攻撃のみでない場合(ステップS2082でNo)、異常検知サーバ60は、異常であると判定されたデータフレームのIDが一種類のみであるか否かを確認する(ステップS2084)。異常であると判定されたデータフレームのIDが一種類のみである場合(ステップS2084でYes)、異常検知サーバ60は、攻撃レベルを「中」と判定する(ステップS2085)。
 異常であると判定されたデータフレームのIDが一種類のみでない、つまり複数ある場合(ステップS2084でNo)、異常検知サーバ60は、異なるIDを持つデータフレームの間で、ステップS207で判定された攻撃種類が共通であり、かつ異常部分も共通であるか否かを確認する(ステップS2086)。攻撃種類及び攻撃箇所が共通である場合(ステップS2086でYes)、異常検知サーバ60は、攻撃レベルを「中」と判定する(ステップS2085)。そうでない場合(ステップS2086でNo)、異常検知サーバ60は、攻撃レベルを「高」と判定する(ステップS2087)。
 [1.14 実施の形態の効果]
 本実施の形態に係る車載ネットワーク監視システムでは、異常検知サーバ60が車両10から、車載ネットワークシステムで送受信されるフレームのペイロード値の分布に関する情報を取得して、この分布を異常検知サーバ60が保持している正常なデータフレームのペイロード値の分布と比較することで異常なデータフレームの検知を行う。これにより異常検知サーバ60は、異常検知のための観測を行う所定の期間内のペイロード値の分布の変化を捉える。攻撃のためにペイロードに外れ値ではなく、正常な範囲内のペイロード値が注入されたデータフレームであったとしても、この変化に基づいて異常なデータフレームとして検知される。このような異常検知サーバ60は異常なデータフレームの検知精度が高く、車載ネットワークシステムのセキュリティが高まり得る。
 さらに異常検知サーバ60は、異常であると判定されたデータフレームに対して、データフレームのペイロード内の異なる部分に対応する複数の特徴量のうち、どの部分に対応する特徴量が異常に寄与しているかの異常寄与度を算出する。これにより、異常なデータフレームを検知するだけでなく、データフレームにおけるペイロード異常部分を把握することが可能となり、攻撃内容の詳細な把握が容易となる。
 さらに異常検知サーバ60は、異常と判断されたデータフレームのペイロード異常部分の長さ(異常部分長)に基づいて、異常を発生させた攻撃種類を判定する。これにより、ペイロードの中でどのサブフィールドが偽装されているのかが判定可能になり、攻撃内容をより抽象的に把握することが可能となり、異常に対するより迅速で適切な対応につながる。
 さらに、異常検知サーバ60は、異常と判断されたデータフレームの種類を示すID、ペイロード異常部分、及び異常部分長から把握される攻撃種類に関する条件に基づいて、危険度を示す攻撃レベルを判定する。これにより、車両の不正制御に関わるような危険度の高い攻撃への対応を優先的に実行することが可能となり、事故発生のリスクを早期に低減させることができる。
 [変形例及び補足]
 以上、一つまたは複数の態様に係る、異常検知方法又は異常検知装置について、実施の形態に基づいて説明したが、本開示に係る異常検知方法及び異常検知装置は、これらの実施の形態に限定されるものではない。本開示の趣旨を逸脱しない限り、異なる実施の形態における構成要素を組み合わせて構築される形態、及び当業者が思いつく各種変形を本実施の形態に施したものも一つまたは複数の態様の範囲内に含まれてもよい。以下に、上記の実施の形態のこのような変形例、及び上記の実施の形態の説明への補足を挙げる。
 (1)上記の実施の形態では、車載ネットワークシステムをCANのプロトコルに則るものとして説明したが、本開示に係る異常検知方法及び異常検知装置が適用可能な通信ネットワークシステムは、これに限定されない。その他の規格、例えばCAN-FD(CAN with Flexible Data rate)、Ethernet(登録商標)、LIN(Local Interconnect Network)、又はFlexRay(登録商標)に準拠する車載ネットワークシステムであってもよい。各々いずれかに準拠する複数のネットワークが混在する車載ネットワークシステムであってもよい。さらに、上記実施の形態では、本開示に係る異常検知方法及び異常検知装置を自動車に搭載される車載ネットワークシステムに適用されるセキュリティ対策技術として説明したが、適用範囲はこれに限られない。本開示に係る異常検知方法及び異常検知装置は自動車に限らず、建機、農機、船舶、鉄道、飛行機、ドローン等のモビリティの通信ネットワークシステムにも適用してもよい。また、工場又はビルなど施設における産業制御システムで利用される通信ネットワークシステム、組込みデバイスを制御するための通信ネットワークシステムに適用してもよい。
 (2)上記の実施の形態では、検知される異常の原因が通信ネットワークシステムに対する攻撃であるとし、その攻撃の種類について判定がなされるものとして説明したが、本開示に係る異常検知方法及び異常検知装置で検知される異常の原因は攻撃に限らない。例えば、通信ネットワークに接続される各種の機器の故障、破損若しくは欠陥、又は外因(例:温度、湿度、外来ノイズ)による不具合等を原因とする異常種類が判定されてもよい。上記の実施の形態において攻撃種類判定部640が判定する攻撃種類とは、この異常種類の一例であるとも言い得る。また、攻撃に限られないこれらの異常種類に関する条件を用いて、危険度を示す異常レベルが判定されてもよい。上記の実施の形態において攻撃レベル判定部650が判定する攻撃レベルとは、この異常レベルの一例であるとも言い得る。
 (3)上記の実施の形態では、異常検知処理をサーバで行っているが、車両等の通信ネットワークシステム内のローカルで実行されてもよい。例えば、車載ネットワークシステムを構成するヘッドユニットのGPU(Graphics Processing Unit)で行ってもよい。これにより、サーバで行う場合に比べて、異常検知の即時性を高めることができる。この場合、サーバは、各車両上等のローカルで実行された異常検知処理の結果を集約してもよい。また、このときにローカルで使用されるリファレンスモデルは、ローカルの通信ネットワークシステム内の記憶装置であらかじめ保持されていてもよいし、サーバから適宜ダウンロードされてもよい。また、例えば通信ネットワークシステムでは異常部分の特定までが実行され、サーバでは以降の攻撃種類の判定及び攻撃レベルの判定が実行される、というように、ローカルの通信ネットワークシステムとサーバとで異常検知処理が分担されてもよい。
 (4)上記の実施の形態では、異常検知サーバにあらかじめリファレンスモデルが保持されているが、リファレンスモデルがあらかじめ保持されていなくてもよい。例えば、異常が発生していないと判定されたログ情報が、次回以降の異常判定で、異常が発生していない時のデータの分布を示すリファレンスモデルとして用いられてもよい。また、異常検知サーバに保持されているリファレンスモデルが、車載ネットワークログを用いて更新されてもよい。
 (5)上記の実施の形態では、異常検知サーバの形態を特に例示していないが、ローカル、つまり上記の実施の形態でいえば、車両に近いエッジサーバとして用意したサーバで実行するようにしてもよい。このようにすることで、異常検知処理をクラウドサーバに担わせるよりもネットワーク遅延の影響が少なくなる。例えばエッジサーバは路側機であって、路側機がネットワークでクラウドサーバと接続されており、車両は路側機に車載ネットワークログをアップロードする。路側機は受信した車載ネットワークログに対して異常検知処理を実行し、その結果を車両に返し、また、クラウドサーバにアップロードもしてもよい。
 (6)上記の実施の形態では、車両又はサーバで異常が検知された場合にアラートを通知する情報の提供先として車載ネットワーク監視システムの管理者又はセキュリティアナリストを設定しているが、それに限定されない。例えば、カーメーカやECUサプライヤ、又は運転者若しくは所有者等の車両のユーザが使用している情報端末に情報を提供してもよい。また、複数のカーメーカ間で共通で利用可能なセキュリティプロバイダに情報が提供されてもよい。
 (7)上記の実施の形態では、異常検知サーバへは、TCUに接続されるECUが受信したデータフレームのログが、このTCUからアップロードされているが、データフレームの車両から異常検知サーバへのアップロードの形態はこれに限らない。例えば、車載ネットワークシステム内でより広範囲からデータフレームを受信するゲートウェイが受信したデータフレームのログが、異常検知サーバにアップロードされてもよい。また、このログ情報は、ゲートウェイから異常検知サーバにアップロードされてもよい。
 (8)上記の実施の形態では、ECUが車載ネットワークのデータフレームのログを定期的にアップロードしていたが、アップロードの機会又は頻度はこれに限定されない。車載ネットワークログは、例えば、異常検知サーバからの要求に応じてアップロードされてもよいし、車内に設置されたIDS(Intrusion Detection System)により異常が検知された場合のみアップロードされてもよい。ネットワークの混雑及び異常検知サーバの過負荷は、異常検知処理の遅滞を招き、その結果に基づく対応の遅延に繋がる。しかし、これにより、ネットワークの通信量の抑制及び異常検知サーバの処理負荷の抑制につながり、対応の遅延発生が抑制される。
 (9)上記の実施の形態では、異常検知サーバは、車両からアップロードされた車載ネットワークログが示すすべてのデータフレームを異常検知処理の対象としている、一部のデータフレームが対象であってもよい。例えば、特定のIDのデータフレームのみを異常検知処理の対象としてもよい。これにより、異常検知サーバでの処理負荷が抑制される。また、対象となるデータフレームのIDは、動的に切り替えられてもよい。これにより、異常検知サーバでの異常検知処理の負荷を抑制させつつ、すべてのIDのデータフレームに対し異常検知処理を実施することができ、安全性の維持と異常への対応の遅延回避とを、バランスを取りながら両立させることができる。
 (10)上記の実施の形態では、車載ネットワークログをアップロードするECUは、所定の期間に受信したすべてのデータフレームのペイロード情報に基づくログ情報をアップロードしている、異常検知サーバにアップロードするログ情報をすべてのデータフレームのペイロード情報に基づくものでなくてもよい。アップロードされるログ情報は、例えば特定のIDのデータフレームのペイロード情報に基づくものであってもよい。これによりネットワークの通信量の抑制及び異常検知サーバの処理負荷の抑制につながる。また、アップロード対象となるデータフレームのIDは動的に切り替えられてもよい。これにより、異常検知サーバでの異常検知処理の負荷を抑制させつつ、すべてのIDのデータフレームに対して異常検知処理を実施することができ、安全性の維持と異常への対応の遅延回避とを、バランスを取りながら両立させることができる。
 (11)上記の実施の形態では、異常検知サーバは、データフレームのペイロード値に対応する多次元の特徴量の全てを入力とした異常検知処理を行っていたが、入力する特徴量の次元を削減してもよい。例えば、ペイロードに含まれるカウンタ又はチェックサムのサブフィールドが既知の場合は、これらのサブフィールドに対応する特徴量を異常検知処理の入力から除外してもよい。これにより、不正な制御に直接的に影響のない部分を異常検知処理の対象から除外して計算量を削減し、かつ、適切に異常検知を実行することができる。
 (12)上記の実施の形態では、異常検知サーバでは、攻撃種類がセンサ値偽装、状態値偽装、及びトライアル攻撃の3種類に分類している、攻撃の分類はこれらに限らない。例えば、同一データフレーム内に上記の複合的な攻撃が含まれるような分類が用いられてもよい。また、上記の実施の形態において、攻撃その他の異常種類の判定に用いられているペイロードの異常部分長の値は例であり、これに限定されない。なお、センサ値の異常の場合に異常部分長が取り得る範囲を第一範囲、状態値の異常の場合に異常部分長が取り得る範囲を第二範囲、トライアル攻撃による異常の場合に異常部分長が取り得る範囲を第三範囲とすると、第一範囲、第二範囲、第三範囲の順により長くなりやすいと考えられ、上記の例はこの考えを反映している。また、第一範囲、第二範囲及び第三範囲どうしは、必ずしも連続していなくてもよい。例えば第一範囲の上限は4ビットである場合に、第二範囲の下限は5ビットでなくてもよく、例えば8ビットであってもよい。これらの各範囲の上限および下限は、車載ネットワークシステムの設計、仕様又は準拠する規格等に基づいて導かれる取り得る値に定め得る。また、上記のような複合的な攻撃の発生を示すような異常部分長の範囲が用いられてもよい。
 (13)上記の実施の形態では、異常検知サーバは、攻撃レベルを低、中、高と分類したが、分類方法はこれに限られない。例えば、より多段階のスコアが用いられてもよい。攻撃レベルのスコアは、例えば異常であると判定されたフレームのID、異常であると判定されたフレームのIDの個数(つまりデータフレームの種類数)、攻撃種類、又は異常部分長、ペイロードにおける異常部分の位置にそれぞれ基づくパラメータを含む所定の計算式を用いて算出されてもよい。これにより、発生した異常に対し、より細分化した危険度に応じて対応することが可能になり、解析の優先度付けをより的確に行うことができる。
 (14)上記の実施の形態では、異常検知サーバは異常部分、すなわちペイロードの異常に寄与した部分の、ビット長に基づいて攻撃種類を判定しているが、攻撃種類の判定方法はこれに限らない。例えば、異常寄与度をさらに用いて攻撃種類を判定してもよい。また、異常寄与度を学習させた攻撃種類の分類器に、異常検知処理対象のデータフレームのペイロードについて算出した異常寄与度を入力して、攻撃種類を判定してもよい。また、ペイロードのサブフィールド情報を表したデータベースを保持しておき、異常部分とこのデータベースとを照らし合わせることで、攻撃種類を判定してもよい。
 (15)上記の実施の形態では、使用されているリファレンスモデルは1つである例を示したがこれに限られない。例えば車両であれば、車種、年式、オプション構成、車載ネットワークシステムの構成等に応じた異なる正常モデルが用いられてもよい。
 (16)上記の実施の形態では、リファレンスモデルは車両の正常走行時のデータの分布を示すモデルであるが、リファレンスモデルが示すのはこれに限らない。例えば、異常が発生していると既知の通信ネットワークシステムから収集されたデータに基づく、異常発生時のデータの分布を示すモデルであってもよい。
 (17)上記の実施の形態では、異常検知サーバは、異常と判断されたデータフレームのIDの種類数、判定された攻撃種類、ペイロードにおける異常部分の位置に関する条件の組み合わせに基づいて攻撃レベルを判定していたが、これらすべての条件を用いずに攻撃レベルを判定してもよい。例えば、異常と判断されたIDの種類数が1つの場合は、常に攻撃レベルを中と判定してもよい。これにより、より柔軟に攻撃レベルの算出が可能となる。
 (18)上記の実施の形態では、異常検知サーバは、密度比が所定の閾値を超えた場合に対応するフレームを異常であると判断するとしたが、所定の閾値は、リファレンスモデルの特徴量において密度比が最大となった時の値としてもよい。これにより、正常なフレームを誤って異常と判定する可能性が低くなり、解析コストの低減につながる。
 (19)上記の実施の形態では、異常検知サーバはIDごとにペイロード値の分布をリファレンスモデルとして保持しているが、IDごとに分けずにペイロード値の分布を保持していてもよい。これにより、リファレンスモデルのデータサイズを効果的に削減することができる。
 (20)上記の実施の形態では、異常検知サーバに通知する車両ログは、CANのフレームにかかわる情報であったが、異常検知サーバに通知する車両ログはこれに限らない。例えばEthernetのフレーム、CAN-FDフレーム、FlexRayフレームであってもよいし、車載ネットワークフレームでなくてもよい。例えば、車両の現在位置を表すGPS情報、オーディオヘッドユニットへのアクセスログ、動作プロセスに関するログ、ファームウェアのバージョン情報等といった情報であってもよい。
 (21)上記の実施の形態における各装置は、具体的には、マイクロプロセッサ、ROM、RAM、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。RAM又はハードディスクユニットには、コンピュータプログラムが記録されている。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、各装置は、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
 (22)上記の実施の形態における各装置は、構成する構成要素の一部または全部は、1個のシステムLSI(Large Scale Integration:大規模集積回路)から構成されているとしてもよい。システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM、RAMなどを含んで構成されるコンピュータシステムである。RAMには、コンピュータプログラムが記録されている。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、システムLSIは、その機能を達成する。
 また、上記の各装置を構成する構成要素の各部は、個別に1チップ化されていてもよいし、一部又はすべてを含むように1チップ化されてもよい。
 また、ここでは、システムLSIとしたが、集積度の違いにより、IC、LSI、スーパーLSI、ウルトラLSIと呼称されることもある。また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。LSI製造後にプログラムすることが可能なFPGA(Field Programmable Gate Array)、又はLSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用しても良い。
 さらには、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてありえる。
 (23)上記の各装置を構成する構成要素の一部または全部は、各装置に脱着可能なICカードまたは単体のモジュールから構成されているとしてもよい。ICカードまたはモジュールは、マイクロプロセッサ、ROM、RAMなどから構成されるコンピュータシステムである。ICカードまたはモジュールは、上記の超多機能LSIを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、ICカードまたはモジュールは、その機能を達成する。このICカードまたはこのモジュールは、耐タンパ性を有するとしてもよい。
 (24)本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、コンピュータプログラムからなるデジタル信号であるとしてもよい。
 また、本発明は、コンピュータプログラムまたはデジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD-ROM、MO、DVD、DVD-ROM、DVD-RAM、BD(Blu-ray(登録商標) Disc)、半導体メモリなどに記録したものとしてもよい。また、これらの記録媒体に記録されているデジタル信号であるとしてもよい。
 また、本発明は、コンピュータプログラムまたはデジタル信号を、電気通信回線、無線または有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
 また、本発明は、マイクロプロセッサとメモリを備えたコンピュータシステムであって、メモリは、上記コンピュータプログラムを記録しており、マイクロプロセッサは、コンピュータプログラムにしたがって動作するとしてもよい。
 また、プログラムまたはデジタル信号を記録媒体に記録して移送することにより、またはプログラムまたはデジタル信号をネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
 (25)上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
 本開示は、車載ネットワークシステム等の通信ネットワークシステムにおいて、例えば外れ値を含まない不正なフレームが攻撃者によって送信された場合も、当該フレームが異常であるか否か判定することができる。さらに、異常なフレームのペイロードのおける異常部分を算出し、この異常部分に基づいて、異常の種類及び以上のレベルといった内容を迅速に把握し、対処することができ、安全性の向上に効果的である。
 10 車両
 20 ネットワーク
 60 異常検知サーバ
 100、101、200、201、300、301、302、400、401 電子制御ユニット(ECU)
 110 エンジン
 111 トランスミッション
 210 ブレーキ
 211 ステアリング
 310 カメラ
 311 カーナビゲーションシステム
 312 テレマティクス制御ユニット(TCU)
 330、910 フレーム送受信部
 340、920 フレーム解釈部
 350 外部機器制御部
 360、940 フレーム生成部
 370 受信履歴保持部
 380 サーバ通信部
 410 ドア
 411 ライト
 510 診断ポート
 610 通信部
 620 異常検知部
 630 異常部分特定部
 640 攻撃種類判定部
 650 攻撃レベル判定部
 660 結果出力部
 670 リファレンスモデル保持部
 680 攻撃種類判定テーブル
 690 攻撃レベル判定テーブル
 900 ゲートウェイ
 930 転送制御部
 950 転送ルール保持部
 1000、2000、3000、4000、5000 バス

Claims (11)

  1.  通信ネットワークシステムにおいて、所定の期間に観測される前記通信ネットワークシステム上で送受信されるフレームの集合からなる観測データに含まれる各フレームが異常であるかを判断し、異常であると判断されたフレームのペイロードの異常部分を出力する異常検知方法であって、
     前記フレームに含まれるペイロードを構成する1ビット以上の部分に関する複数の特徴量のデータ分布を取得するリファレンスモデル取得ステップと、前記観測データに含まれるフレームが異常であるか否かを判断するフレーム異常検知ステップと、異常部分出力ステップとを含み、
     前記リファレンスモデル取得ステップでは、前記観測データの取得タイミングとは異なるタイミングで取得した前記通信ネットワークシステム上で送受信されるフレームの集合に対しての前記データ分布を取得し、
     前記フレーム異常検知ステップでは、前記リファレンスモデル取得ステップで取得された前記データ分布と、前記観測データに含まれる前記フレームから抽出される特徴量のデータ分布との差異を算出し、前記差異が所定値以上となる特徴量をもつフレームを異常なフレームであると判断し、
     前記異常部分出力ステップでは、前記フレーム異常検知ステップにおいて異常なフレームであると判断されたフレームがある場合に、前記異常なフレームから抽出した前記複数の特徴量の異常寄与度を算出し、前記異常寄与度が所定値以上である特徴量と対応する、ペイロード内の1個以上の部分であるペイロード異常部分を出力する、
     異常検知方法。
  2.  異常種類判定ステップをさらに備え、
     前記異常種類判定ステップでは、前記ペイロード異常部分に基づいてペイロード異常部分長を特定し、前記ペイロード異常部分長に応じて、異常種類を判定する、
     請求項1に記載の異常検知方法。
  3.  前記異常種類判定ステップでは、前記異常種類を、前記ペイロード異常部分長が第一範囲内であるときに状態値異常と判定し、前記ペイロード異常部分長が前記第一範囲より長い第二範囲内であるときにセンサ値異常と判定し、前記ペイロード異常部分長が前記第二範囲より長い第三範囲内であるときにトライアル攻撃異常であると判定する、
     請求項2に記載の異常検知方法。
  4.  前記第一範囲は、上限が4ビット以下の範囲であり、
     前記第二範囲は、下限が8ビット以上、且つ、上限が16ビット以下の範囲であり、
     前記第三範囲は、下限が32ビットの範囲である
     請求項3に記載の異常検知方法。
  5.  異常レベル判定ステップをさらに備え、
     前記異常レベル判定ステップでは、前記フレーム異常検知ステップにおいて、複数種類のフレームが異常であると検知され、かつ前記異常部分出力ステップにおいて出力される前記ペイロード異常部分が、前記複数種類のフレーム間で異なる場合に、前記ペイロード異常部分が前記複数種類のフレーム間で同じ場合よりも異常レベルを高く判定する
     請求項2から4のいずれか1項に記載の異常検知方法。
  6.  異常レベル判定ステップをさらに備え、
     前記異常レベル判定ステップでは、前記フレーム異常検知ステップにおいて、複数の種類のフレームが異常であると検知され、かつ前記異常種類判定ステップにおいて判定された異常種類が、前記複数の種類のフレーム間で同じ場合よりも異常レベルを高く判定する、
     請求項2から4のいずれか1項に記載の異常検知方法。
  7.  異常レベル判定ステップをさらに備え、
     前記異常レベル判定ステップでは、前記フレーム異常検知ステップにおいて、1以上の種類のフレームが異常であると検知され、かつ前記異常種類判定ステップにおいて判定された異常種類が、トライアル攻撃異常のみである場合に、判定された異常種類にトライアル攻撃異常が含まれない場合よりも異常レベルを低く判定する、
     請求項2から4のいずれか1項に記載の異常検知方法。
  8.  異常レベル判定ステップをさらに備え、
     前記異常レベル判定ステップでは、前記フレーム異常検知ステップにおいて、1以上の種類のフレームが異常であると判定された場合に、前記異常であると判定された前記フレームの種類、異常であると判定された前記フレームの種類数、前記異常部分出力ステップにおいて出力されたペイロード異常部分、前記異常種類判定ステップにおいて判定された異常種類のいずれか1以上の要素をパラメータとする所定の計算式に基づいて異常レベルを判定する、
     請求項2から4のいずれか1項に記載の異常検知方法。
  9.  前記異常種類判定ステップでは、1のフレームに含まれる前記ペイロード異常部分が複数ある場合に、複数の前記ペイロード異常部分の間にある中間ビットの数が所定の基準以下であるときは、複数の前記ペイロード異常部分及び前記中間ビットをあわせて1つのペイロード異常部分として扱う、
     請求項2から8のいずれか1項に記載の異常検知方法。
  10.  前記通信ネットワークシステムは、車載ネットワークシステムである、
     請求項1から9のいずれか1項に記載の異常検知方法。
  11.  通信ネットワークシステムにおいて、所定の期間に観測される前記通信ネットワークシステム上で送受信されるフレームの集合からなる観測データに含まれるフレームが異常であるかを判断し、異常であると判断されたフレームのペイロードの異常部分を出力する異常検知装置であって、
     前記フレームに含まれるペイロードを構成する1ビット以上の部分に関する複数の特徴量のデータ分布を保持するリファレンスモデル保持部と、
     前記観測データに含まれるフレームが異常であるか否かを判断する異常検知部と、
     前記異常検知部において異常なフレームが検知された場合に、前記異常なフレームから抽出した前記複数の特徴量の異常寄与度を算出し、前記異常寄与度が所定値以上である特徴量と対応する、前記フレームに含まれる1個以上の部分であるペイロード異常部分を出力する異常部分出力部とを備え、
     前記リファレンスモデル保持部は、前記観測データの取得タイミングとは異なるタイミングで取得した前記通信ネットワークシステム上で送受信されるフレームの集合に対しての前記データ分布を保持しており、
     前記異常検知部は、前記リファレンスモデル保持部が保持する前記データ分布と、前記観測データに含まれる前記フレームから抽出される特徴量のデータ分布との差異を算出し、前記差異が所定値以上となる特徴量をもつフレームを異常なフレームであると判断する、
     異常検知装置。
PCT/JP2020/012301 2019-03-29 2020-03-19 異常検知方法及び異常検知装置 WO2020203352A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP20782439.2A EP3951531B1 (en) 2019-03-29 2020-03-19 Anomaly sensing method and anomaly sensing system
CN202080005590.0A CN112840282A (zh) 2019-03-29 2020-03-19 异常检测方法以及异常检测装置
JP2021511446A JPWO2020203352A1 (ja) 2019-03-29 2020-03-19
US17/322,371 US11943243B2 (en) 2019-03-29 2021-05-17 Anomaly detection method and anomaly detection device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019-067627 2019-03-29
JP2019067627 2019-03-29

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/322,371 Continuation US11943243B2 (en) 2019-03-29 2021-05-17 Anomaly detection method and anomaly detection device

Publications (1)

Publication Number Publication Date
WO2020203352A1 true WO2020203352A1 (ja) 2020-10-08

Family

ID=72667726

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/012301 WO2020203352A1 (ja) 2019-03-29 2020-03-19 異常検知方法及び異常検知装置

Country Status (5)

Country Link
US (1) US11943243B2 (ja)
EP (1) EP3951531B1 (ja)
JP (1) JPWO2020203352A1 (ja)
CN (1) CN112840282A (ja)
WO (1) WO2020203352A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022134679A (ja) * 2021-03-03 2022-09-15 本田技研工業株式会社 判定装置、移動体、判定方法及びプログラム
EP4068690A1 (en) * 2021-03-29 2022-10-05 Denso Corporation Attack analyzer, attack analysis method and attack analysis program
JP7444287B2 (ja) 2020-11-19 2024-03-06 日本電信電話株式会社 推定装置、推定方法、および、推定プログラム

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11256673B2 (en) 2019-09-11 2022-02-22 Commvault Systems, Inc. Anomaly detection in deduplication pruning operations
US11237935B2 (en) * 2019-09-11 2022-02-01 Commvault Systems, Inc. Anomaly detection in data protection operations
WO2021144860A1 (ja) * 2020-01-14 2021-07-22 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 車両ログ保存装置、車両ログ送信装置、車両ログ収集システムおよび車両ログ保存方法
CN115118482B (zh) * 2022-06-22 2023-05-09 西安电子科技大学广州研究院 工业控制系统入侵检测线索分析溯源方法、系统及终端

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS642302A (en) 1987-06-25 1989-01-06 Ooizumi Seisakusho:Kk Manufacture of glass-coated thermister
JP2006115129A (ja) * 2004-10-13 2006-04-27 Tohoku Univ ネットワーク異常検出システム
WO2018105330A1 (ja) * 2016-12-06 2018-06-14 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 情報処理方法、情報処理システム、及びプログラム
WO2018168291A1 (ja) * 2017-03-13 2018-09-20 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 情報処理方法、情報処理システム、及びプログラム
JP2018160078A (ja) 2017-03-22 2018-10-11 パナソニックIpマネジメント株式会社 異常検知装置及び異常検知方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4656532A (en) 1985-07-29 1987-04-07 International Business Machines Corporation Sector identification method for hard sectored hard files
JPH0642302A (ja) 1992-07-23 1994-02-15 Nissan Motor Co Ltd 繊維強化樹脂製インペラ
JP5071963B2 (ja) * 2007-01-17 2012-11-14 日本電信電話株式会社 デジタル伝送システム、およびデジタル伝送方法
CN101237299B (zh) * 2007-12-27 2011-04-20 华为技术有限公司 语音业务处理模块、系统及方法
CN104284057B (zh) * 2013-07-05 2016-08-10 浙江大华技术股份有限公司 一种视频处理方法及装置
JP6566400B2 (ja) * 2015-12-14 2019-08-28 パナソニックIpマネジメント株式会社 電子制御装置、ゲートウェイ装置、及び検知プログラム
JP6423402B2 (ja) * 2015-12-16 2018-11-14 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America セキュリティ処理方法及びサーバ
JP6956624B2 (ja) * 2017-03-13 2021-11-02 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 情報処理方法、情報処理システム、及びプログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS642302A (en) 1987-06-25 1989-01-06 Ooizumi Seisakusho:Kk Manufacture of glass-coated thermister
JP2006115129A (ja) * 2004-10-13 2006-04-27 Tohoku Univ ネットワーク異常検出システム
WO2018105330A1 (ja) * 2016-12-06 2018-06-14 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 情報処理方法、情報処理システム、及びプログラム
WO2018168291A1 (ja) * 2017-03-13 2018-09-20 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 情報処理方法、情報処理システム、及びプログラム
JP2018160078A (ja) 2017-03-22 2018-10-11 パナソニックIpマネジメント株式会社 異常検知装置及び異常検知方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3951531A4

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7444287B2 (ja) 2020-11-19 2024-03-06 日本電信電話株式会社 推定装置、推定方法、および、推定プログラム
JP2022134679A (ja) * 2021-03-03 2022-09-15 本田技研工業株式会社 判定装置、移動体、判定方法及びプログラム
JP7273875B2 (ja) 2021-03-03 2023-05-15 本田技研工業株式会社 判定装置、移動体、判定方法及びプログラム
EP4068690A1 (en) * 2021-03-29 2022-10-05 Denso Corporation Attack analyzer, attack analysis method and attack analysis program

Also Published As

Publication number Publication date
EP3951531A4 (en) 2022-05-11
US11943243B2 (en) 2024-03-26
US20210273966A1 (en) 2021-09-02
EP3951531B1 (en) 2023-06-14
EP3951531A1 (en) 2022-02-09
JPWO2020203352A1 (ja) 2020-10-08
CN112840282A (zh) 2021-05-25

Similar Documents

Publication Publication Date Title
WO2020203352A1 (ja) 異常検知方法及び異常検知装置
US11469921B2 (en) Security device, network system, and fraud detection method
US11217042B2 (en) Vehicle monitoring apparatus, fraud detection server, and control methods
US10798117B2 (en) Security processing method and server
JP7030046B2 (ja) 不正通信検知方法、不正通信検知システム及びプログラム
US10992688B2 (en) Unauthorized activity detection method, monitoring electronic control unit, and onboard network system
US11949705B2 (en) Security processing method and server
US11838314B2 (en) Electronic control device, fraud detection server, in-vehicle network system, in-vehicle network monitoring system, and in-vehicle network monitoring method
JP7053449B2 (ja) 不正通信検知基準決定方法、不正通信検知基準決定システム及びプログラム
US10798114B2 (en) System and method for consistency based anomaly detection in an in-vehicle communication network
US20190312892A1 (en) Onboard cybersecurity diagnostic system for vehicle, electronic control unit, and operating method thereof
JP7231559B2 (ja) 異常検知電子制御ユニット、車載ネットワークシステム及び異常検知方法
CN109076016A (zh) 非法通信检测基准决定方法、非法通信检测基准决定系统以及程序
US20190300011A1 (en) Information processing device, information processing method, and recording medium
CN109005678A (zh) 非法通信检测方法、非法通信检测系统以及程序
US11621967B2 (en) Electronic control unit, electronic control system, and recording medium
WO2022091786A1 (ja) 情報処理装置、監視方法、プログラム及びセキュリティシステム

Legal Events

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

Ref document number: 20782439

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2021511446

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2020782439

Country of ref document: EP

Effective date: 20211029