WO2021131824A1 - 決定方法、決定システム及びプログラム - Google Patents

決定方法、決定システム及びプログラム Download PDF

Info

Publication number
WO2021131824A1
WO2021131824A1 PCT/JP2020/046435 JP2020046435W WO2021131824A1 WO 2021131824 A1 WO2021131824 A1 WO 2021131824A1 JP 2020046435 W JP2020046435 W JP 2020046435W WO 2021131824 A1 WO2021131824 A1 WO 2021131824A1
Authority
WO
WIPO (PCT)
Prior art keywords
message
determination
reference message
unit
candidates
Prior art date
Application number
PCT/JP2020/046435
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 JP2021567259A priority Critical patent/JPWO2021131824A1/ja
Priority to CN202080081066.1A priority patent/CN114731301B/zh
Priority to EP20907308.9A priority patent/EP4084418A4/en
Publication of WO2021131824A1 publication Critical patent/WO2021131824A1/ja
Priority to US17/840,224 priority patent/US20220311781A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R16/00Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
    • B60R16/02Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
    • B60R16/023Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements for transmission of signals between vehicle parts or subsystems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/126Applying verification of the received information the source of the received data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/12Detection or prevention of fraud
    • H04W12/121Wireless intrusion detection systems [WIDS]; Wireless intrusion prevention systems [WIPS]
    • H04W12/122Counter-measures against attacks; Protection against rogue devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0236Filtering by address, protocol, port number or service, e.g. IP-address or URL
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0263Rule management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/40Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
    • H04W4/48Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P] for in-vehicle communication

Definitions

  • This disclosure relates to a method for determining a reference message used for detecting unauthorized communication in a network system.
  • ECU Electronic Control Unit
  • CAN Controller Area Network
  • a communication path is composed of two cables, and an ECU connected to the bus is also called a node.
  • Each node connected to the bus sends and receives data in units called frames or messages. Further, in CAN, an identifier indicating a data transmission destination or transmission source is not used.
  • a node that transmits a frame (hereinafter, also referred to as a transmission node) transmits each message with an ID called a message ID indicating the type of the message, that is, transmits a signal to the bus.
  • a node that receives a message receives only a message including a predetermined message ID, that is, reads a signal from the bus. Messages with the same ID are transmitted at a predetermined fixed cycle.
  • Patent Document 1 has a problem that it can only detect the spoofing attack that has occurred and it is not possible to determine which message is an abnormal message.
  • a method of determining a reference message for determining whether or not the message is an abnormal message and individually determining whether or not the message is an abnormal message based on the determined reference message can be considered. .. In this case, it is desirable that the reference message is set appropriately.
  • the present disclosure solves the above-mentioned problems, and provides a method for determining a reference message for appropriately determining a reference message for determining whether or not an individual message sent to the network is an abnormal message. To do.
  • the determination method is a reference message used for detecting unauthorized communication in a network and an in-vehicle network system including one or more electronic control units connected to the network.
  • the determination method is a message used as a criterion for determining whether or not the message sent to the network is an abnormal message, and the determination method is a candidate for the reference message 1.
  • the storage step for storing the candidate information regarding the above reference message candidates and the determination method for determining the reference message from the one or more reference message candidates included in the candidate information saved in the storage step are described above.
  • a second determination to determine the reference message from the one or more reference message candidates by using the first determination step of determining based on one or more reference message candidates and the determination method determined in the first determination step. Including steps.
  • the determination system is a reference message determination system used for detecting unauthorized communication in a network and an in-vehicle network system including one or more electronic control units connected to the network.
  • the above-mentioned processor and a storage unit are provided, and the reference message is a message used as a reference for determining whether or not a message sent to the network is an abnormal message, and the one or more processors are said.
  • To use the storage unit to store candidate information regarding one or more reference message candidates that are candidates for the reference message, and to determine the reference message from the one or more reference message candidates included in the saved candidate information.
  • the determination method is determined based on the one or more reference message candidates, and the reference message is determined from the one or more reference message candidates by using the determination method.
  • the program according to one aspect of the present disclosure is a program for causing a computer to execute the above determination method.
  • non-temporary recording medium such as a system, an apparatus, a method, an integrated circuit, a computer program or a computer-readable CD-ROM, and the system, the apparatus. , Methods, integrated circuits, computer programs and any combination of recording media.
  • the determination method and the like it is possible to appropriately determine the reference message for determining whether or not the individual message sent to the network is an abnormal message.
  • FIG. 1 is a block diagram showing an overall configuration of an in-vehicle network system according to the first embodiment.
  • FIG. 2 is a diagram showing a data frame format of the CAN protocol.
  • FIG. 3 is a block diagram showing an example of the functional configuration of the gateway included in the in-vehicle network system according to the first embodiment.
  • FIG. 4 is a diagram showing an example of the data structure of the reception ID list according to the first embodiment.
  • FIG. 5 is a diagram showing an example of a data configuration of a forwarding rule held by the gateway in the first embodiment.
  • FIG. 6 is a block diagram showing an example of the functional configuration of the fraud detection processing function group according to the first embodiment.
  • FIG. 7 is a block diagram showing an example of the functional configuration of the fraud detection unit according to the first embodiment.
  • FIG. 8 is a diagram showing a message reception pattern according to the first embodiment.
  • FIG. 9 is a block diagram showing an example of the functional configuration of the ECU included in the in-vehicle network system according to the first embodiment.
  • FIG. 10 is a flow chart showing an example of fraud detection processing according to the first embodiment.
  • FIG. 11 is a flow chart showing an example of the reference message determination process according to the first embodiment.
  • FIG. 12 is a block diagram showing the overall configuration of the vehicle-mounted network system according to the second embodiment.
  • FIG. 13 is a block diagram showing an example of the functional configuration of the gateway included in the in-vehicle network system according to the second embodiment.
  • FIG. 14 is a block diagram showing an example of the functional configuration of the fraud detection processing function group according to the second embodiment.
  • FIG. 15 is a block diagram showing an example of the functional configuration of the server according to the second embodiment.
  • FIG. 16 is a block diagram showing a first example of the functional configuration of the fraud detection processing function group in the other modified examples.
  • FIG. 17 is a flow chart showing an example of fraud detection processing in other modified examples.
  • FIG. 18 is a block diagram showing a second example of the functional configuration of the fraud detection processing function group in the other modified examples.
  • FIG. 19 is a block diagram showing a third example of the functional configuration of the fraud detection processing function group in the other modified examples.
  • FIG. 20 is a block diagram showing a first example of the functional configuration of the ECU in other modified examples.
  • FIG. 21 is a block diagram showing a second example of the functional configuration of the ECU in other modified examples.
  • FIG. 22 is a block diagram showing a third example of the functional configuration of the ECU in other modified examples.
  • the reference message for determining whether or not the message is abnormal is determined based on the normal message and the abnormal message within such a tolerance, it is desirable that the reference message is set appropriately. For example, it is desirable that the normal message among the normal message and the abnormal message is set as the reference message.
  • the determination method is a determination method of a reference message used for detecting unauthorized communication in a network and an in-vehicle network system including one or more electronic control units connected to the network.
  • the reference message is a message used as a criterion for determining whether or not the message sent to the network is an abnormal message
  • the determination method is a candidate for one or more reference message candidates which are candidates for the reference message.
  • the saving step for saving the information and the determination method for determining the reference message from the one or more reference message candidates included in the candidate information saved in the saving step are added to the one or more reference message candidates. It includes a first determination step of determining based on the first determination step, and a second determination step of determining the reference message from the one or more reference message candidates by using the determination method determined in the first determination step.
  • the determination method according to one or more reference message candidates is determined. Therefore, for example, when one or more reference message candidates include an abnormal message, it is suppressed that the abnormal message is set as the reference message. be able to. Therefore, a more appropriate reference message can be determined. Further, for example, a more appropriate reference message can be determined as compared with the case where the reference message determination method is fixed.
  • the appropriate degree of determining the reference message by the determination method from the one or more reference message candidates is determined.
  • the indicated appropriateness may be calculated, and the determination method may be determined based on the calculated appropriateness.
  • the determination method having the highest appropriateness among the plurality of determination methods is determined as the determination method for determining the reference message from the one or more reference message candidates. May be good.
  • the first difference between the predicted value for the message sent to the network and each of the values indicated by the one or more reference message candidates is calculated, and the two or more first ones are calculated. It may be calculated as a second difference, which is the difference between the differences.
  • the first difference in the normal message and the first difference in the abnormal message can be different values. That is, if the reference message candidate includes an abnormal message, the second difference can be large.
  • the normal message can be determined as the reference message in the reference message candidates including the normal message and the abnormal message.
  • the reference message can be determined more appropriately.
  • the first determination step when there are three or more values indicated by the one or more reference message candidates, two said values close to the predicted value are extracted, and the extracted two said values and the predicted value are used.
  • the first difference between the two may be calculated based on.
  • the determination method can be determined based on two values close to the predicted value, that is, two values considered to be suitable for the reference message, so that the determination method more suitable for the determination of the reference message can be determined.
  • the predicted value may be calculated based on the value indicated by the reference message determined in the past.
  • the predicted value can be calculated using the value indicated by the past reference message, so that the amount of processing in the calculation of the predicted value can be reduced.
  • the predicted value may be acquired by inputting the one or more reference message candidates having the same ID into the predicted model created in advance.
  • the determination method is based on a cycle determination method for determining the reference message based on the cycle in which the message sent to the network is transmitted, and the value of data included in the message sent to the network. It may include at least one of the data determination methods for determining the reference message based on.
  • the determination step of determining whether or not the message sent to the network is an abnormal message is included, and the one or more reference message candidates have the abnormality determined to be abnormal in the determination step.
  • the second determination step including a message a message other than the abnormal message among the one or more reference message candidates may be determined as the reference message.
  • the second determination step includes a determination step of determining whether or not the message sent to the network is an abnormal message, and in the second determination step, one or more messages determined to be normal in the current reception cycle are used as a reference.
  • the reference message in the next reception cycle may be determined before the next reception cycle.
  • the determination system is a reference message determination system used for detecting unauthorized communication in a network and an in-vehicle network system including one or more electronic control units connected to the network.
  • the above-mentioned processor and a storage unit are provided, and the reference message is a message used as a reference for determining whether or not a message sent to the network is an abnormal message, and the one or more processors are said.
  • To use the storage unit to store candidate information regarding one or more reference message candidates that are candidates for the reference message, and to determine the reference message from the one or more reference message candidates included in the saved candidate information.
  • the determination method is determined based on the one or more reference message candidates, and the reference message is determined from the one or more reference message candidates by using the determination method.
  • the program according to one aspect of the present disclosure is a program for causing a computer to execute the method for determining a reference message described above.
  • FIG. 1 is a block diagram showing an overall configuration of the in-vehicle network system 10 according to the present embodiment.
  • the in-vehicle network system 10 is mounted on the vehicle 1, for example.
  • the in-vehicle network system 10 is composed of a CAN network and is an ECU (ECU 100a, ECU 100b, ECU 100c, and ECU 100d in the figure. Hereinafter, these are collectively or not specified, and are also referred to as ECU 100 below.
  • ECU 100 ECU 100a, ECU 100b, ECU 100c, and ECU 100d in the figure.
  • a bus bus 200a and bus 200b in the figure, which are collectively or not specified below, and is also referred to as a bus 200 below
  • a gateway 300 is also referred to as a gateway 300.
  • the ECU 100a is connected to the engine 101, the ECU 100b is connected to the brake 102, the ECU 100c is connected to the door open / close sensor 103, and the ECU 100d is connected to the window open / close sensor 104.
  • the ECU 100 acquires the state of the devices to which the devices are connected, and periodically sends a message indicating the acquired state to the bus 200.
  • the ECU 100a acquires the rotation speed, which is one state of the engine 101, attaches a predetermined ID to a message including a data value representing the rotation speed, and sends the message to the bus 200.
  • each ECU 100 reads a message transmitted by another EUC 100 from the bus 200 and selectively receives the message according to the ID attached to the message. This selective reception will be described later.
  • the gateway 300 connects the bus 200a to which the ECU 100a and the ECU 100b are connected and the bus 200b to which the ECU 100c and the ECU 100d are connected.
  • the gateway 300 has a function of forwarding a message received from one bus to the other bus.
  • the gateway 300 is also a node on the CAN network.
  • the in-vehicle network system 10 is an example for explaining an object to which an unauthorized communication detection standard determination system (for example, a reference message determination system) for determining whether or not a message is an abnormal message can be applied.
  • the application target is not limited to the in-vehicle network system 10.
  • FIG. 2 is a diagram showing a data frame format (message format) of the CAN protocol. Here, the message in the standard ID format in the CAN protocol is shown.
  • the message includes a Start Of Frame (also referred to as SOF in the figure and hereinafter), an ID field, a Remote Transmission Request (also referred to as RTR in the figure and hereinafter), and an Identifier Extension (also referred to as IDE in the figure and hereinafter). ), A reservation bit (also referred to as r in the figure and below), a data length code (also referred to as DLC in the figure and below), a data field, and a Cytric Redundancy Check (also referred to as CRC in the figure and below).
  • SOF Start Of Frame
  • ID field also referred to as SOF in the figure and hereinafter
  • RTR Remote Transmission Request
  • IDE Identifier Extension
  • a reservation bit also referred to as r in the figure and below
  • DLC data length code
  • DLC data length code
  • CRC Cytric Redundancy Check
  • CRC delimiter (DEL on the left in the figure), Identifierdgement (also referred to as ACK in the figure and below) slot, ACK delimiter (DEL on the right in the figure), and end of frame (in the figure). And hereinafter, also referred to as EOF).
  • SOF is a 1-bit dominant. Dominant means that in a CAN network where a digital method is used for data transmission, voltage is applied to the two cables that make up the bus so as to transmit a value of "0", or transmission. It is the value of this "0" that is created. On the other hand, the state where a voltage is applied so as to transmit a value of "1" to the two cables constituting the bus, or the value of "1" transmitted is called recessive (meaning recessive). be called. When the value of "0" and the value of "1" are transmitted from the two nodes to the bus at the same time, the value of "0" has priority. The bus at idle is recessive.
  • Each ECU 100 starts transmitting a message by changing the state of the bus 200 from recessive to dominant, and the other ECUs 100 read this change and synchronize.
  • the part where the line indicating dominant or recessive that constitutes the message in FIG. 2 is a solid line indicates that each value of dominant or recessive can be taken. Since the SOF is fixed dominant, the dominant line is a solid line and the recessive line is a broken line.
  • the ID is an 11-bit value indicating the type of data included in the message. Further, CAN is designed so that a message having a smaller ID value has a higher priority in communication arbitration between messages in which a plurality of nodes start transmitting at the same time.
  • RTR is a 1-bit dominant indicating that a frame is a message (data frame).
  • IDE and r are 1-bit dominants, respectively.
  • DLC is a 4-bit value indicating the length of the following data field.
  • the data field is a value indicating the content of the data to be transmitted, has a maximum length of 64 bits, and the length can be adjusted in units of 8 bits.
  • the specifications for assigning this part of the data sent depend on the vehicle type and manufacturer.
  • the CRC sequence is a 15-bit value calculated from the transmission values of the SOF, ID field, control field, and data field.
  • the CRC delimiter is a 1-bit recessive fixed delimiter that indicates the end of the CRC sequence.
  • the receiving node determines whether or not there is an abnormality in the received message by comparing the result calculated from the values of the SOF, ID field, control field, and data field of the received message with the value of the CRC sequence.
  • the ACK slot has a length of 1 bit, and the transmitting node transmits the recessive in this part.
  • the receiving node transmits a dominant as an acknowledgment if the CRC sequence is normally received. Since the dominant is prioritized, if the communication of one message is normally performed up to the CRC sequence, the bus 200 transmitting the ACK slot is dominant.
  • the ACK delimiter is a 1-bit recessive fixed delimiter indicating the end of the ACK slot.
  • EOF is fixed to 7 bits and indicates the end of the message.
  • the message data format is an example for explaining the applicable target of the unauthorized communication detection standard determination system that determines whether or not the message is an abnormal message, and the applicable target is this data format. Not limited.
  • FIG. 3 is a block diagram showing an example of the functional configuration of the gateway 300 included in the in-vehicle network system 10.
  • the gateway 300 includes a frame transmission / reception unit 310, a frame interpretation unit 320, a reception ID determination unit 330, a reception ID list holding unit 340, a frame processing unit 350, a transfer rule holding unit 360, and a fraud detection processing function group 370. And a frame generation unit 380.
  • the gateway 300 determines a reference message used for detecting unauthorized communication in the in-vehicle network system 10 including the network and one or more electronic control units (ECUs) connected to the network.
  • ECUs electronice control units
  • the gateway 300 provides information including, for example, a processing unit realized by a processor, a storage unit realized by a semiconductor memory, an input / output unit realized by an input / output port, and the like. Provided as a processing device. Each of the above-mentioned functional components is read and executed by the processing unit of the program held in the storage unit, the storage unit holds predetermined data, the data is transmitted / received via the input / output unit, or a combination thereof. It is realized by.
  • the frame transmission / reception unit 310 transmits / receives a message according to the CAN protocol to each of the buses 200a and 200b. More specifically, the frame transmission / reception unit 310 reads the message sent to the bus 200 bit by bit, and transfers the read message to the frame interpretation unit 320. Further, the frame transmission / reception unit 310 sends a message to the buses 200a and 200b one bit at a time according to the bus information notified by the frame generation unit 380. The frame transmission / reception unit 310 transmits the message received from the bus 200a to the bus 200b, and transmits the message received from the bus 200b to the bus 200a to transfer the message between the buses 200.
  • the frame interpretation unit 320 receives the message value from the frame transmission / reception unit 310 and interprets the frame (message) by mapping it to each field in the CAN protocol.
  • the frame interpretation unit 320 transfers a series of values determined to be the values of the ID field in this interpretation to the reception ID determination unit 330.
  • the frame interpretation unit 320 further transfers the value of the ID field of the message and the data field appearing after the ID field to the frame processing unit 350, or receives the message, depending on the determination result notified from the reception ID determination unit 330. Decide if you want to cancel.
  • the frame interpretation unit 320 determines that the message does not conform to the CAN protocol, it requests the frame generation unit 380 to transmit an error frame.
  • the error frame is a frame of a predetermined format defined by the CAN protocol, which is different from the above-mentioned message and is transmitted from the node when an error occurs on the CAN network. For example, if an error flag is sent to the bus, the transmission of the most recent message on that network will be interrupted.
  • the frame interpretation unit 320 determines that the error frame transmitted by another node has been received, the frame interpretation unit 320 discards the message being read.
  • the reception ID determination unit 330 receives the value of the ID field from the frame interpretation unit 320, and determines whether or not to receive the read message according to the list of message IDs held by the reception ID list holding unit 340. The reception ID determination unit 330 notifies the frame interpretation unit 320 of the result of this determination.
  • the reception ID list holding unit 340 holds a list of message IDs received by the gateway 300 (hereinafter, also referred to as a reception ID list).
  • FIG. 4 is a diagram showing an example of the data structure of the reception ID list. The details of the received ID list will be described later using this example.
  • the frame processing unit 350 determines the transfer destination bus according to the ID of the received message according to the transfer rule held by the transfer rule holding unit 360, and determines the transfer destination bus and the message ID notified by the frame interpretation unit 320. And the data to be transferred are passed to the frame generation unit 380.
  • the frame processing unit 350 sends a message received from the frame interpretation unit 320 to the fraud detection processing function group 370, and requests a determination as to whether or not the message is an abnormal message.
  • the frame processing unit 350 does not transfer the message determined to be an abnormal message by the fraud detection processing function group 370.
  • the transfer rule holding unit 360 holds rules related to data transfer for each bus (hereinafter, also referred to as transfer rules).
  • FIG. 5 is a diagram showing an example of the data structure of the transfer rule. The details of the forwarding rule will be described later using this example.
  • the fraud detection processing function group 370 is a function group for determining whether or not the message being received is an abnormal message. Details of the function configuration included in the fraud detection processing function group 370 will be described later.
  • the frame generation unit 380 configures an error frame and sends it to the frame transmission / reception unit 310 in accordance with the request for error frame transmission from the frame interpretation unit 320.
  • the frame generation unit 380 constructs a message frame using the message ID and data received from the frame processing unit 350, and sends the message frame together with the bus information to the frame transmission / reception unit 310.
  • FIG. 4 is a diagram showing an example of the data structure of the reception ID list according to the present embodiment.
  • the reception ID list is a list of message IDs received by the gateway 300.
  • each line contains the ID of the message that the gateway 300 receives from the bus 200 and processes.
  • the gateway 300 receives the message whose message ID is "1", "2", "3" or "4". Reception of messages with IDs not included in the reception ID list is stopped.
  • the ID value and the number of IDs included in the list in this example are examples for explanation, and do not limit the configuration of the reception ID list used in the gateway 300.
  • FIG. 5 is a diagram showing an example of a data configuration of a transfer rule held by the gateway 300 in the present embodiment.
  • each line contains a combination of a message transfer source bus and a transfer destination bus (indicated by 200a and 200b in this example), and an ID of the message to be transferred.
  • the gateway 300 forwards the message received from the bus 200a to the bus 200b regardless of the ID.
  • FIG. 6 is a block diagram showing an example of the functional configuration of the fraud detection processing function group 370 according to the present embodiment.
  • FIG. 6 is a block diagram showing a functional configuration of the fraud detection processing function group 370 included in the gateway 300.
  • the fraud detection processing function group 370 includes a fraud detection unit 371, a reference message information holding unit 372, a message saving processing unit 373, a normal message information holding unit 374, a reference message determining unit 375, and a determination type determining unit 376. , A cycle determination unit 377 and a data determination unit 378.
  • these functional components also read and execute by the processing unit of the program held in the storage unit in the gateway 300, hold predetermined data by the storage unit, send / receive data via the input / output unit, or these. It is realized by the combination of.
  • the fraud detection unit 371 determines whether or not the message received from the frame processing unit 350 is an abnormal message.
  • the fraud detection unit 371 has a plurality of types of determination functions. Each judgment function refers to different rules (not shown) in each judgment function that are preset and saved (stored) in the storage unit, and checks the messages received using the referenced rules, that is, each judgment function. Determine if the message complies with this rule. Then, the fraud detection unit 371 determines whether or not the received message is an abnormal message based on the determination result of each determination function. If the received message is an abnormal message, the fraud detection unit 371 detects the occurrence of fraud.
  • FIG. 7 is a block diagram showing an example of the functional configuration of the fraud detection unit 371 according to the present embodiment.
  • the fraud detection unit 371 has six types of determination functions for checking a predetermined point of the message.
  • the six types of judgment functions include a function for checking the ID field of the message (ID judgment function), a function for checking the data length of the message (data length judgment function), and a cycle in which the message is transmitted (data length judgment function).
  • a function to check the time interval sending cycle judgment function
  • sending frequency judgment function a function to check the frequency at which a message is sent
  • a function for example, vehicle condition determination
  • vehicle condition determination that recognizes the vehicle condition and checks the vehicle condition based on the determination result of these determination functions, the transmission cycle, the frequency, the data value, or the amount of change in the data value. Function
  • the fraud detection unit 371 has a final result determination function that comprehensively determines whether or not the received message is an abnormal message from the determination results by these determination functions.
  • the result of the final result determination function is the result of fraud detection by the fraud detection unit 371.
  • these functional components also read and execute by the processing unit of the program held in the storage unit in the gateway 300, hold predetermined data by the storage unit, send / receive data via the input / output unit, or these. It is realized by the combination of.
  • Each determination function acquires information on a reference message from the reference message information holding unit 372.
  • the fraud detection unit 371 notifies the reference message information holding unit 372 of information about a message that is a candidate for the reference message from the received message. Among the received messages, the fraud detection unit 371 notifies the reference message information holding unit 372 of the message determined by the final result determination function as a "normal message" as a reference message candidate message (reference message candidate).
  • the reference message candidate is a reference message candidate used as a criterion for determining whether or not the message sent to the network is an abnormal message.
  • the fraud detection unit 371 also notifies the message storage processing unit 373 of the message determined by the final result determination function as a "normal message".
  • the reference message information holding unit 372 holds information on the reference message used by the fraud detection unit 371 and information on the candidate of the reference message. For example, in the case of a message transmitted periodically, a message having the same ID that is one cycle older becomes a reference message. On the other hand, since the message received in the current cycle is a message (reference message candidate) that may become a reference message for the message one cycle later, it is retained as a reference message candidate in the current cycle. ..
  • the information regarding the reference message is, for example, information indicating the reference message determined by the reference message determination unit 375.
  • the information regarding the candidate of the reference message is an example of the candidate information, and is, for example, information indicating one or more reference message candidates.
  • the information about the reference message is, for example, information indicating one reference message candidate among one or more reference message candidates included in the candidate information.
  • the reference message information holding unit 372 may further hold a message that can be used as a reference message when the reference message candidate is not saved.
  • the reference message information holding unit 372 may hold the message in advance.
  • the reference message information holding unit 372 holds information about a message that is a candidate for the reference message notified from the fraud detection unit 371. Further, the reference message information holding unit 372 notifies the reference message determination unit 375 of information regarding a message that is a candidate for the reference message in response to a request from the reference message determination unit 375. Further, the reference message information holding unit 372 also holds information on the reference message determined by the reference message determination unit 375, and notifies the fraud detection unit 371 of the information on the reference message in response to the request from the fraud detection unit 371. When the reference message determination unit 375 determines the reference message from the reference message candidates, the reference message information holding unit 372 deletes the reference message candidate used at that time.
  • the message storage processing unit 373 performs a process of storing the information related to the message notified from the fraud detection unit 371 in the normal message information holding unit 374. Further, when the message storage processing unit 373 saves a plurality of messages having the same ID as normal messages in a certain cycle, the reference message determination unit 375 selects one message from the plurality of messages having the same ID as a reference. When it is done, only the message selected as the reference message is left, other messages are deleted, or information indicating which message is selected as the reference message is saved together.
  • the normal message information holding unit 374 holds information about a message determined by the fraud detection unit 371 to be a normal message. This information is used when the cycle determination unit 377 or the data determination unit 378 calculates the predicted value of the reception time or the data value of the message currently received from the message received in the past.
  • the reference message determination unit 375 has a difference in transmission time from a message having the same ID one cycle older in the transmission cycle determination function of the fraud detection unit 371, and a message having the same ID one cycle older in the data value determination function. Based on the calculation of the amount of change, the reference message to be used as the reference is determined.
  • a margin of time length ⁇ (see FIG. 8) is taken into consideration before and after the scheduled reception time (see, for example, the estimated reception time T1 shown in FIG. 8), and the amount of change in data. If margins of data values are taken into account before and after, multiple messages may be sent that do not deviate from either margin.
  • the reference message determination unit 375 determines a message to be used as a reference message for a message having the same ID after one cycle, using these plurality of messages as reference message candidates.
  • the reference message determination unit 375 acquires information on a message (reference message candidate) that is a candidate for the reference message from the reference message information holding unit 372, and uses the determination method determined by the determination type determination unit 376 to select the reference message from the candidate. Determine the message to use as.
  • the determination type determination unit 376 is notified of the reference message candidate, and the reference message candidate is used according to the result determined by the determination type determination unit 376. From, determine the reference message.
  • Judgment type determination unit 376 determines a determination method for determining a reference message from one or more reference message candidates based on one or more reference message candidates.
  • the determination method includes two or more determination methods, and includes a cycle determination method for determining a reference message based on a cycle in which a message sent to the network is transmitted, and a message sent to the network. Includes at least one of the data determination methods for making a determination to determine a reference message based on the value of the data provided.
  • the determination method includes a cycle determination method and a data determination method.
  • the determination type determination unit 376 acquires, for example, the reference message candidate notified from the reference message determination unit 375 and the value of the rule held by the fraud detection unit 371, and determines the cycle determination unit 377 and the data determination unit 378. To ask.
  • the determination type determination unit 376 uses either the cycle determination or the data value determination based on the clarity obtained as the determination result of the cycle determination unit 377 and the clarity obtained as the determination result of the data determination unit 378. It is determined whether the reference message should be determined from one or more reference message candidates, and the reference message determination unit 375 is notified.
  • the clarity indicates the degree of whether or not the reference message can be clearly determined from one or more reference message candidates. It can be said that the degree of clarity indicates the appropriate degree that the reference message candidate is a reference message among one or more reference message candidates. In addition, the clarity can be said to indicate the appropriate degree of determining the reference message by the determination method from one or more reference message candidates in each of the plurality of determination methods. Clarity is an example of appropriateness.
  • the determination type determination unit 376 selects a determination type with high clarity between the cycle determination and the data value determination. For example, the determination type determination unit 376 selects the determination type having the highest (highest) clarity in the cycle determination and the data value determination.
  • the determination type determination unit 376 calculates the clarity in each of the plurality of determination methods, and determines the determination method having the highest clarity among the plurality of determination methods from one or more reference message candidates. It can be said that the decision method for doing so is decided.
  • the difference from the reference message is a similar difference between the messages of the reference message candidates, and neither is a judgment type that is difficult to judge, and the difference from the reference message is significantly different between the messages of the reference message candidates. Since the reference message can be selected using the determination type that can be determined, the selection of the reference message by the reference message determination unit 375 becomes more reliable.
  • the determination type determination unit 376 When comparing the clarity obtained from the cycle determination unit 377 with the clarity obtained from the data determination unit 378, the determination type determination unit 376, for example, in order to make the magnitudes of the respective clarity uniform. Normalize with the margin in each rule. For example, when the margin with respect to the reception time is in the range of the assumed value T1 ⁇ ⁇ (see FIG. 8), the determination type determination unit 376 determines using the value obtained by dividing the clarity obtained from the cycle determination unit 377 by 2 ⁇ . Determine the type. In FIG. 8, which will be described later, the assumed value T1 indicates the assumed value T1 of the time, and is also described as the estimated reception time T1.
  • the method of normalizing the clarity is normalized by the margin in the rule, but it is not limited to this.
  • the clarity may be divided by ⁇ instead of dividing by 2 ⁇ , or may be normalized by dividing by the assumed value T1 (predicted value).
  • the amount of deviation between the assumed value T1 and the actual reception time or data value is measured in advance using test data, etc., the variance value ⁇ of the deviation amount is calculated, and the variance value ( ⁇ , 2 ⁇ , 3 ⁇ , etc.) You may normalize with. Not limited to this, any method that can normalize the values of different units will do.
  • the normalized clarity of the periodic determination may be further multiplied by a coefficient or a constant may be added.
  • the cycle determination unit 377 receives the estimated reception time (T1) in the current cycle from the reception time of the current reference message and the cycle information included in the rule referred to by the transmission cycle determination function of the fraud detection unit 371. Calculated as the predicted value of.
  • the cycle determination unit 377 compares the reception time of the plurality of reference message candidates notified from the determination type determination unit 376 with the estimated reception time (T1), which is a predicted value, to reference from among the plurality of reference message candidates. Select a message.
  • FIG. 8 is a diagram showing a message reception pattern in the present embodiment.
  • the cycle determination unit 377 selects a message having a reception time (T11) of the message M1 and a reception time (T12) of the message M2, which is close to the predicted reception time (T1), as a reference message.
  • the cycle determination unit 377 selects the message M1 as the reference message.
  • the cycle determination unit 377 calculates the clarity from the difference between the reception time of a plurality of reference message candidates and the estimated reception time which is a predicted value. For example, in FIG. 8, the difference (T11-T1) between the reception time T11 of the message M1 and the estimated reception time T1 and the difference (T1-T12) between the reception time T12 of the message M2 and the estimated reception time T1 (T1-T12).
  • ) is defined as clarity.
  • " indicates the absolute value of A.
  • the difference (T11-T1) and the difference (T1-T12) are examples of the first difference, and the difference (
  • ) is an example of the second difference.
  • the clarity is, for example, a positive value (eg, an absolute value). In the present embodiment, the second difference is. It means the degree of clarity. It can also be said that the degree of clarity indicates the degree to which an abnormal message is included in one or more reference message candidates.
  • the cycle determination unit 377 may calculate a predicted value as an estimated reception time of the received message from the information of the reception time of a plurality of messages having the same ID held by the normal message information holding unit 374, or may receive the message. From the information on the reception time of one or more messages having different IDs that are correlated with the time, the predicted value as the estimated reception time of the received message may be calculated.
  • the data determination unit 378 is now based on the information of the amount of change between the data value of the current reference message and the data value included in the rule referred to by the data value determination function of the fraud detection unit 371.
  • the assumed data value (D1) in the period of is calculated as the predicted value of the data value.
  • the data determination unit 378 compares the data values of the plurality of reference message candidates notified from the determination type determination unit 376 with the assumed data value (D1), which is a predicted value, to reference from among the plurality of reference message candidates. Select a message.
  • the data determination unit 378 calculates the clarity from the difference between the data value of a plurality of reference message candidates and the assumed data value which is a predicted value. For example, as in the case of the cycle determination unit 377, the difference between the data value D11 of the message M1 and the assumed data value D1 (D11-D1) and the difference between the data value D12 of the message M2 and the assumed data value D1 (D1-).
  • the difference between D12) (
  • the difference (D11-D1) and the difference (D1-D12) are examples of the first difference, and the difference (
  • ) is an example of the second difference.
  • the second difference means clarity.
  • the clarity can be said to indicate the degree to which an abnormal message is included in one or more reference message candidates.
  • the determination method calculates the difference between the predicted value for the message sent to the network and the value of the information about the reference message candidate, and the difference between the respective differences (first difference) (second difference). Difference) is the clarity. This makes it possible to calculate the clarity according to the message saved as a candidate for the reference message.
  • the data determination unit 378 may calculate a predicted value as an assumed data value of the received message from the data values of a plurality of messages having the same ID held by the normal message information holding unit 374, or use the data value as the data value.
  • the predicted value as the assumed data value of the received message may be calculated from the data value information of one or more messages having different IDs having a correlation.
  • the cycle determination unit 377 or the data determination unit 378 may predict the predicted value based on a prediction model created in advance and capable of calculating the predicted value.
  • the cycle determination unit 377 or the data determination unit 378 may, for example, input output data (data value or data value or) obtained by inputting data values of a plurality of messages having the same ID or reception times of a plurality of messages having the same ID into a prediction model as input data.
  • the predicted value of the reception time) may be acquired as the predicted value.
  • the cycle determination unit 377 or the data determination unit 378 uses machine learning, statistical processing, or probability theory to obtain an AR (AutoRegressive) model, an ARMA (AutoRegressive Moving Average) model, and an HMM (Hidden) from information on normal messages. Generate a model such as Markov Model), Bayesian Model, SVM (Support Vector Machine), neural network, or Deep Learning, and use the model to generate the estimated reception time or assumed data value of the message to be received. You may calculate the predicted value for.
  • the cycle determination unit 377 or the data determination unit 378 may use the value indicated by the current (current frame) or past (past frame) reference message as the predicted value for determining the reference message of the next reception cycle. ..
  • the data determination unit 378 may use, for example, a value (data value) indicated by the current or past reference message as a predicted value for determining the reference message of the next reception cycle.
  • the predicted value may be calculated based on the value indicated by the past reference message.
  • the predicted value may be the average value, the median value, or the mode value of the values indicated by the past reference message, or may be the same value as the value indicated by the latest reference message.
  • the value indicated by the reference message is, for example, a reception time or a data value.
  • the cycle determination unit 377 or the data determination unit 378 determines that one message M1 from all the reference message candidate messages is a reference message, and then sets the reference message. From the remaining messages that have not been determined, the message M2 that can be a candidate for the reference message is determined next, and from two messages, the message M1 that is determined to be the reference message first and the message M2 that is determined to be the reference message next. Clarity may be calculated. For example, when there are three or more reference message candidates (for example, when there are three or more values indicated by one or more reference message candidates), the cycle determination unit 377 or the data determination unit 378 has two values close to the predicted values. Reference message candidates (for example, two values) may be extracted, and the clarity may be calculated based on the values and predicted values indicated by the two extracted reference message candidates.
  • the cycle determination unit 377 or the data determination unit 378 determines that the message having a small difference between the simple value and the predicted value is the reference message, but the present invention is not limited to this.
  • the cycle determination unit 377 or the data determination unit 378 may be any method as long as it can determine one message as a reference message from a plurality of reference message candidates. For example, the actual reception time or data value of a normal message may be set as a true value. Then, the reference message may be determined by learning the amount of deviation between the true value and the predicted value in advance using test data or the like and adding the distribution of the amount of deviation.
  • the cycle determination unit 377 or the data determination unit 378 makes a large difference from the predicted value even if the actual reception time deviates from the predicted value in a small amount, and if the actual reception time is earlier than the predicted value. May make a small difference even if there is a large difference. Further, the cycle determination unit 377 or the data determination unit 378 may use an index other than the deviation amount, or may learn the received message in real time instead of learning in advance. At this time, the clarity is also calculated in consideration of the distribution.
  • the cycle determination unit 377 or the data determination unit 378 has determined to calculate the clarity from the difference between the information of the plurality of reference message candidates and the predicted value, but the present invention is not limited to this.
  • the cycle determination unit 377 or the data determination unit 378 may calculate the clarity for each determination type in advance.
  • the determination type determination unit 376 uses the determination type with the highest clarity among the rules related to the received message held by the fraud detection unit 371 to determine the reference message. It may be determined as a type.
  • the reference message information holding unit 372 may hold the rule information for each message ID required when determining the reference message.
  • the data value may hold all the received data values, may save only the data value of a specific area among the received data values, or save the data value as it is. Alternatively, the result of some calculation on the data value may be saved.
  • the fraud detection unit 371 has determined that among the received messages, the message determined by the final result determination function as a "normal message" is notified to the reference message information holding unit 372 as a candidate message for the reference message. Not limited. For example, apart from the rule for determining whether or not it is a normal message, there is a rule for determining whether or not it is a reference message, and a message satisfying that rule is notified to the reference message information holding unit 372 as a reference message candidate. May be good. As a result, the fraud detection unit 371 can use only the messages that are more suitable for the reference message among the normal messages as the reference message candidates. On the contrary, the fraud detection unit 371 can also set an abnormal message slightly deviating from the normal message as a reference message candidate, and can determine the reference message from a wider range of messages.
  • FIG. 9 is a block diagram showing an example of the functional configuration of the ECU 100 included in the in-vehicle network system 10 according to the present embodiment.
  • the ECU 100 includes a frame transmission / reception unit 110, a frame interpretation unit 120, a reception ID determination unit 130, a reception ID list holding unit 140, a frame processing unit 150, a data acquisition unit 170, and a frame generation unit 180.
  • the ECU 100 includes, for example, a processing unit realized by a processor, a storage unit realized by a semiconductor memory or the like, an input / output unit realized by an input / output port, and the like. Provided as a device.
  • a processing unit realized by a processor
  • a storage unit realized by a semiconductor memory or the like
  • an input / output unit realized by an input / output port
  • Each of the above-mentioned functional components is read and executed by the processing unit of the program held in the storage unit, the storage unit holds predetermined data, the data is transmitted / received via the input / output unit, or a combination thereof. It is realized by.
  • the frame transmission / reception unit 110 transmits / receives a message to / from the bus 200 according to the CAN protocol. More specifically, the frame transmission / reception unit 110 reads the message sent to the bus 200 bit by bit, and transfers the read message to the frame interpretation unit 120. Further, the frame transmission / reception unit 110 sends a message notified by the frame generation unit 180 to the bus 200.
  • the frame interpretation unit 120 receives the message value from the frame transmission / reception unit 110 and interprets the frame (message) by mapping it to each field in the CAN protocol.
  • the frame interpretation unit 120 transfers a series of values determined to be the ID field in this interpretation to the reception ID determination unit 130.
  • the frame interpretation unit 120 further transfers the value of the ID field of the message and the data field appearing after the ID field to the frame processing unit 150, or receives the message, depending on the determination result notified from the reception ID determination unit 130. Decide if you want to cancel.
  • the frame interpretation unit 120 determines that the message does not conform to the CAN protocol, it requests the frame generation unit 180 to transmit an error frame.
  • the frame interpreting unit 120 determines that the error frame transmitted by another node has been received, the frame interpreting unit 120 discards the message being read.
  • the reception ID determination unit 130 receives the value of the ID field from the frame interpretation unit 120, and determines whether or not to receive the read message according to the list of message IDs held by the reception ID list holding unit 140. The reception ID determination unit 130 notifies the frame interpretation unit 120 of the result of this determination.
  • the reception ID list holding unit 140 holds a reception ID list which is a list of message IDs received by the ECU 100.
  • the reception ID list is the same as in FIG. 4, and description thereof will be omitted here.
  • the frame processing unit 150 performs processing according to the data of the received message.
  • the content of the process differs depending on each ECU 100. For example, when the ECU 100a receives a message indicating that the door is open when the speed exceeds 30 km / h, the ECU 100a executes a process for sounding an alarm sound.
  • the ECU 100c executes a process for sounding an alarm sound when the door is opened while receiving a message indicating that the brake is not applied. These processes are examples given for the purpose of explanation, and the ECU 100 may execute processes other than the above.
  • the frame processing unit 150 causes the frame generation unit 180 to generate a frame to be sent to execute such processing.
  • the data acquisition unit 170 acquires output data indicating the state of the equipment connected to each ECU 100 or the value measured by the sensor, and transfers the output data to the frame generation unit 180.
  • the frame generation unit 180 configures an error frame and sends it to the frame transmission / reception unit 110 in accordance with the error frame transmission request notified from the frame interpretation unit 120.
  • the frame generation unit 180 constructs a message frame by attaching a predetermined message ID to the value of the data received from the data acquisition unit 170, and sends the message frame to the frame transmission / reception unit 110.
  • FIG. 10 is a flow chart showing an example of fraud detection processing according to the present embodiment. Specifically, FIG. 10 is a flow chart showing an example of fraud detection processing in the fraud detection processing function group 370.
  • the fraud detection unit 371 receives a message from the frame processing unit 350 (step S1001).
  • the fraud detection unit 371 that received the message determines whether or not the reception cycle of the periodically transmitted message has shifted to the next reception cycle (step S1002).
  • step S1002 when it is determined that the fraud detection unit 371 has moved to the next reception cycle (Yes in S1002), the fraud detection unit 371 requests the reference message determination unit 375 to determine a new reference message, and determines the reference message. Unit 375 determines the reference message (step S1003).
  • the frame processing unit 350 After determining a new reference message in step S1003, or when it is determined in step S1002 that the next reception cycle has not been started (No in S1002), the frame processing unit 350 uses the transfer rule holding unit 360 to hold the transfer rule. According to this, the transfer destination bus is determined (step S1004).
  • the frame processing unit 350 notifies the fraud detection processing function group 370 of the value of each field in the message received from the frame interpretation unit 320, and requests a determination as to whether or not the message is an abnormal message.
  • the fraud detection unit 371 performs fraud detection processing (step S1005).
  • the fraud detection unit 371 uses various determination functions such as an ID determination function to determine whether the received message is an abnormal message or a normal message. At this time, various determination functions of the fraud detection unit 371 perform determination using the reference message determined in step S1003, if necessary.
  • the final result judgment function of the fraud detection unit 371 comprehensively determines the final judgment of the message from the judgment results of various judgment functions such as the ID judgment function, that is, whether or not the received message is an abnormal message. (Step S1006), and the result of the determination is notified to the frame processing unit 350. Step S1006 is an example of the determination step.
  • step S1006 If the fraud detection unit 371 determines that the message is abnormal (Yes in step S1006), the message is not saved or forwarded.
  • step S1006 When it is determined in step S1006 that the message is not an abnormal message but a normal message (No in step S1006), the fraud detection unit 371 requests the message storage processing unit 373 to save the normal message, and the message storage processing unit 373.
  • the frame processing unit 350 requests the frame generation unit 380 to transfer the message to the transfer destination bus determined in step S1004.
  • the frame generation unit 380 receives a request from the frame processing unit 350, generates a message so that the designated transfer destination receives it, and causes the frame transmission / reception unit 310 to send this message. That is, the frame generation unit 380 transfers the message to the transfer destination via the frame transmission / reception unit 310. (Step S1008).
  • FIG. 11 is a flow chart showing an example of the reference message determination process in the present embodiment. Specifically, FIG. 11 is a flow chart showing an example of a reference message determination process in the fraud detection processing function group 370.
  • the reference message determination unit 375 acquires a reference message candidate from the reference message information holding unit 372 (S1101).
  • the reference message determination unit 375 determines whether there are a plurality of or one reference message candidate messages acquired from the reference message information holding unit 372 (S1102).
  • step S1102 when there are a plurality of messages that are candidates for the reference message (Yes in step S1102), the reference message determination unit 375 requests the determination type determination unit 376 to determine the determination method for determining the reference message. It should be noted that the plurality of reference message candidates may include an abnormal message.
  • the determination type determination unit 376 acquires the rule associated with the message ID from the fraud detection unit 371, and confirms whether or not there are two rules, a rule regarding the cycle and a rule regarding the change in the data value (S1103). ..
  • the determination type determination unit 376 requests the cycle determination unit 377 to perform the determination by the cycle.
  • the cycle determination unit 377 determines the reference message from the reception times of the plurality of reference message candidates (S1104). Further, the determination type determination unit 376 requests the data determination unit 378 to make a determination based on the change in the data value, and the data determination unit 378 determines the reference message from the data values of the plurality of reference message candidates (S1105).
  • the determination type determination unit 376 determines which determination type (determination method) should be used from the determination result by the cycle determination unit 377 and the determination result by the data determination unit 378 (S1106), and determines which determination type (determination method) should be used (S1106), and the reference message determination unit 375. Notify to.
  • the determination type determination unit 376 determines in step S1106 based on, for example, the clarity acquired from the cycle determination unit 377 and the clarity acquired from the data determination unit 378. For example, the determination result may include clarity.
  • Step S1106 is an example of the first determination step.
  • the reference message determination unit 375 determines the final reference message using the determination method notified from the determination type determination unit 376 (S1107). By determining the reference message based on the clarity, the reference message determination unit 375 can determine a message other than the abnormal message among one or more reference message candidates as the reference message.
  • Step S1107 is an example of the second determination step.
  • the determination type determination unit 376 confirms whether or not there is a rule regarding the cycle (S1108).
  • the determination type determination unit 376 requests the cycle determination unit 377 to make a determination based on the cycle, and the cycle determination unit 377 starts from the reception time of a plurality of reference message candidates.
  • the reference message is determined (S1109).
  • the determination type determination unit 376 determines the reference message determined by the cycle determination unit 377 as the final reference message (S1110).
  • the determination type determination unit 376 confirms whether or not there is a rule regarding data change (S1111).
  • the determination type determination unit 376 requests the data determination unit 378 to make a determination based on the change in the data value, and the data determination unit 378 requests a plurality of reference message candidates.
  • the reference message is determined from the amount of change in the data value (S1112).
  • the determination type determination unit 376 determines the reference message determined by the data determination unit 378 as the final reference message (S1113).
  • step S1111 the determination type determination unit 376 notifies the reference message determination unit 375 that the determination cannot be made.
  • the reference message determination unit 375 determines the final reference message from a plurality of reference message candidates by a predetermined method (S1114).
  • the reference message determination unit 375 determines the one reference message candidate as the reference message (S1115). In this case, the process of calculating the clarity is not performed.
  • the reference message determination unit 375 determines whether or not there are both a rule regarding the cycle and a rule regarding the change in the data value, and only when both rules are present, which of the determination type determination units 376 is used. You may request the judgment as to whether the judgment type should be used. At this time, the reference message determination unit 375 requests the cycle determination unit 377 to make a determination based on the cycle if there is only a rule regarding the cycle, and requests the data determination unit 378 to make a determination based on the data value if there is only a rule regarding the data value. If neither rule is available, a predetermined method may be used to determine the reference message. Even if there is no rule regarding the cycle or the data value, the reception time or, if the data value can be predicted, the predicted value may be used to determine the reference message.
  • FIG. 12 is a block diagram showing an overall configuration of the vehicle-mounted network system 10a according to the present embodiment.
  • components common to the in-vehicle network system 10 shown in FIG. 1 are shown by using common reference numerals, and the description thereof will be omitted.
  • the in-vehicle network system 10a is composed of a CAN network and is an ECU (ECU 100a, ECU 100b, ECU 100c, and ECU 100d in the figure. Hereinafter, these are collectively or a part not specified, and hereinafter also referred to as ECU 100. ), A bus (bus 200a and bus 200b in the figure, which are collectively or not specified below and are also referred to as bus 200 below), a gateway 300b, and an external network 400. And a server 500.
  • the gateway 300b connects the bus 200a to which the ECU 100a and the ECU 100b are connected and the bus 200b to which the ECU 100c and the ECU 100d are connected.
  • the gateway 300b has a function of forwarding a message received from one bus to the other bus.
  • the gateway 300b is also a node on the CAN network.
  • the external network 400 is a communication network for the gateway 300b and the server 500 to communicate with each other.
  • the communication method of the external network 400 may be wired or wireless.
  • the wireless communication method is not particularly limited, but may be, for example, Wi-Fi, 3G, or LTE (Long Term Evolution), which is an existing technology.
  • the server 500 communicates with the gateway 300b via the external network 400.
  • the gateway 300b and the server 500 each share and provide a part of the functions of the fraud detection processing function group 370 in the first embodiment, and the gateway 300b and the server 500 operate in cooperation with each other in the first embodiment.
  • the fraud detection processing of the fraud detection processing function group 370 in the above is executed.
  • FIG. 13 is a block diagram showing an example of the functional configuration of the gateway 300b included in the in-vehicle network system 10a according to the present embodiment.
  • components common to those in FIG. 3 are indicated by common reference numerals, and description thereof will be omitted.
  • the gateway 300b will be described focusing on the differences from the gateway 300.
  • the gateway 300b is different in that it has a fraud detection processing function group 370b instead of the fraud detection processing function group 370 in the configuration of the gateway 300, and further has an external communication unit 390.
  • These components are also functional components, and are read and executed by the processing unit of the program held in the storage unit in the gateway 300b, hold of predetermined data by the storage unit, or send / receive data via the input / output unit. Or it is realized by a combination of these.
  • the fraud detection processing function group 370b communicates with the server 500 to determine whether or not the received message is an abnormal message, and executes it in cooperation with the server 500. Details of the configuration included in the fraud detection processing function group 370b will be described later.
  • the external communication unit 390 communicates with the server 500.
  • FIG. 14 is a block diagram showing an example of the functional configuration of the fraud detection processing function group 370b according to the present embodiment.
  • the components common to those in FIG. 6 are indicated by common reference numerals, and description thereof will be omitted.
  • the fraud detection processing function group 370b includes a fraud detection unit 371, a message storage processing unit 373b, a cycle determination unit 377b, and a data determination unit 378b.
  • the message storage processing unit 373b When the message storage processing unit 373b receives the determination result of the fraud detection unit 371 and determines that the received message is a normal message and it is necessary to save the message, the message storage processing unit 373b communicates with the server 500 via the external communication unit 390. , Sends information about the normal message to the server 500 and stores it. The determination of whether or not the message needs to be saved is the same as in the first embodiment.
  • the cycle determination unit 377b and the data determination unit 378b determine the reference message from a plurality of reference message candidates in response to the determination request from the determination type determination unit 376.
  • the cycle determination unit 377b and the data determination unit 378b communicate with the server 500 via the external communication unit 390, receive the prediction model generated by the server 500, and use the received prediction model. Use to calculate the predicted value.
  • a model of information on a normal message may be acquired by using a method such as machine learning, statistical processing, or probability theory, and the model may be used as the prediction model. Further, the server 500 performs from the generation of the prediction model to the calculation of the predicted value in response to the request from the cycle judgment unit 377b and the data judgment unit 378b, and the cycle judgment unit 377b and the data judgment unit 378b perform the reference message from the predicted value. You may only perform the process of determining.
  • the division of processing between the fraud detection processing function group 370b and the server 500 is not limited to the above, and may be appropriately determined.
  • FIG. 15 is a block diagram showing an example of the functional configuration of the server 500 according to the present embodiment.
  • the server 500 has a normal message information holding unit 374b and a prediction model generation unit 379. These components are functional components, and the server 500 is a so-called server computer, and is one or more units including an information processing device such as a processor, a storage device such as a semiconductor memory, and an input / output unit including an input / output port. It is realized by the computer of.
  • Each of the above-mentioned functional components is read and executed by the processing unit of the program held in the storage unit, the storage unit holds predetermined data, the data is transmitted / received via the input / output unit, or a combination thereof. It is realized by.
  • the normal message information holding unit 374b holds information related to the normal message instructed to be saved by the message saving processing unit 373 of the gateway 300b. Further, in response to the request from the prediction model generation unit 379, the information regarding the held normal message is output.
  • the prediction model generation unit 379 acquires information on the normal message from the normal message information holding unit 374b, and predicts at least one of the estimated reception time and the data value from the normal message received in the past.
  • the estimated reception time may be predicted using only the reception time information, or may be further predicted by adding a data value. Further, the prediction may be made using only the messages having the same ID, or may be predicted by adding the messages having other IDs.
  • Specific prediction methods include AR (AutoRegressive) model, ARMA (AutoRegressive Moving Average) model, HMM (Hidden Markov Model), and Bayesian model from information on normal messages using machine learning, statistical processing, or probability theory.
  • a model such as (Bayesian Model), SVM (Support Vector Machine), neural network, or Deep Learning is generated, and the model is used to predict the expected reception time or the estimated data value of the received message. May be calculated. Moreover, you may make a prediction using the prediction method not shown above.
  • the prediction model generation unit 379 transmits a prediction model in response to a request from the cycle determination unit 377b of the gateway 300b or the data determination unit 378b.
  • the server 500 may communicate with a plurality of vehicles 1 and carry out a part of the functions of the fraud detection processing function group in each vehicle 1.
  • the server 500 may have an individual normal message information holding unit 374b and a prediction model generation unit 379 for each vehicle 1, or a set of normal for a plurality of vehicles 1 to communicate with. It may have a message information holding unit 374b and a prediction model generation unit 379. Further, the server 500 may have a set of normal message information holding units 374b and a prediction model generation unit 379 for a part of a plurality of vehicles 1 to communicate with.
  • the normal message information holding unit 374b holds information about the normal message acquired from each vehicle 1 together with information for identifying each vehicle 1.
  • the prediction model generation unit 379 may individually generate a prediction model from the information received from each vehicle 1 and transmit the individual model to each vehicle 1, or integrates the information from each vehicle 1. May be used to generate a prediction model and transmit the model to each vehicle 1.
  • the information from all the vehicles 1 may be integrated, or the information from the manufacturer or model of each vehicle 1 may be integrated, and further, the information may be integrated for each model and grade. Good.
  • it is integrated for each vehicle class (size, displacement, etc.) of each vehicle 1, for each location of each vehicle 1, or for each function (for example, automatic driving function, driving support function, communication function, etc.) of each vehicle 1.
  • You may.
  • it may be integrated for each type or version of firmware or software executed by the ECU 100 or the like on each vehicle 1. Further, a combination of these integration methods may be used.
  • the gateway 300b and the server 500 outside the vehicle 1 communicate with each other, and the server 500 is responsible for a part of the functions of the fraud detection processing function group 370 in the first embodiment.
  • the prediction model is generated only from the information collected by each vehicle 1, and the accuracy of the prediction model is limited.
  • the information in the server 500 it is possible to generate a prediction model from the information of the plurality of vehicles 1. This will generate a predictive model faster or more accurately based on more normal messages. Then, by using this prediction model in each vehicle 1, it is possible to determine the reference message with higher accuracy. As a result, the safety of the in-vehicle network system 10a is enhanced. Further, since the information regarding the normal message is held in the server 500, it is not necessary to equip the gateway 300b with a large-capacity information holding device, and it is possible to reduce the manufacturing and maintenance costs of each vehicle 1.
  • FIG. 16 is a block diagram showing a first example of the functional configuration of the fraud detection processing function group 370c in this modified example.
  • the frame processing unit 350 may determine the timing for determining the reference message, and the frame processing unit 350 may request the reference message determination unit 375 to determine the reference message.
  • FIG. 17 is a flow chart showing an example of fraud detection processing in this modified example. For example, as shown in FIG. 17, when the received message is determined to be a normal message (No in step S1006), the fraud detection unit 371 has a plurality of messages determined to be normal within the same reception cycle. It is determined whether or not (S1010).
  • step S1010 When it is determined in step S1010 that there are a plurality of pieces (Yes in step S1010), the fraud detection unit 371 requests the reference message determination unit 375 to determine the reference message for the next reception cycle, and the reference message determination unit 375 next.
  • the reference message in the reception cycle of is determined (S1011). Since this process is the same as the process for determining the reference message in the first embodiment (S1003, FIG. 11), the details will be omitted.
  • step S1010 If there are not a plurality of received messages in step S1010, that is, if it is determined to be the first normal message in the reception cycle (No in step S1010), the fraud detection unit 371 sets the received message, which is a normal message, as a reference message for the next reception cycle. Determined as a candidate (S1012).
  • the reference message determination unit 375 of the fraud detection processing function group 370c uses one or more messages determined to be normal in the current reception cycle as reference message candidates, and receives the reference message in the next reception cycle as the next reception. Determined before the cycle. Steps S1011 and 1012 are examples of the second determination step.
  • the fraud detection unit 371 saves the normal message in the normal message information holding unit 374 and the reference message candidate in the reference message information holding unit 372 (S1007), and the frame processing unit 350 , Transfer the message to the transfer destination (S1008). The details of each are omitted.
  • the fraud detection unit 371 selects only one reference message candidate stored in the reference message information holding unit 372. , Update as a reference message in the new reception cycle (S1009).
  • the number of reference message candidates is always one, and the amount of data held in the reference message information holding unit 372 can be reduced.
  • the area for storing the reference message candidate messages is made variable in length, or the upper limit is determined in advance and the reference message candidates are set. It was necessary to save and replace or discard when the upper limit was exceeded, but since the reference message candidate can be made one, the system can be simplified.
  • FIG. 18 is a block diagram showing a second example of the functional configuration of the fraud detection processing function group 370d in this modified example.
  • the prediction model generation unit 379 itself may calculate the prediction value using the generated prediction model and notify the cycle determination unit 377 and the data determination unit 378.
  • the prediction model generation unit 379 has the function described in the second embodiment.
  • the cycle determination unit 377 and the data determination unit 378 can reduce storage area cost savings, model generation processing, prediction value calculation processing, and the like. Further, the prediction is performed by generating and predicting a prediction model using a plurality of information, instead of the prediction using only the reception time in the cycle judgment unit 377 or the prediction using only the data value in the data judgment unit 378. The accuracy is improved, and finally, the detection accuracy of the fraud detection unit 371 can be improved.
  • the fraud detection processing function group 370 includes a fraud detection unit 371, a reference message information holding unit 372, a message storage processing unit 373, a normal message information holding unit 374, and a reference message determining unit. It is said that it has 375, a determination type determination unit 376, a cycle determination unit 377, and a data determination unit 378, but the present invention is not limited thereto.
  • FIG. 19 is a block diagram showing a third example of the functional configuration of the fraud detection processing function group 370e in this modified example. For example, as shown in FIG.
  • the fraud detection processing function group 370e includes a fraud detection unit 371, a reference message information holding unit 372, a reference message determination unit 375, a determination type determination unit 376, and a cycle determination unit 377.
  • the data determination unit 378 may be provided, or other components may be further included. In this case, for example, the cycle determination unit 377 and the data determination unit 378 perform the determination process using the reference message held in the reference message information holding unit 372.
  • the ECU 100 includes a frame transmission / reception unit 110, a frame interpretation unit 120, a reception ID determination unit 130, a reception ID list holding unit 140, a frame processing unit 150, and a data acquisition unit 170.
  • the frame generation unit 180 but the present invention is not limited to this.
  • FIG. 20 is a block diagram showing a first example of the functional configuration of the ECU 100e in this modified example.
  • the ECU 100e may include the fraud detection processing function group 370.
  • the frame processing unit 150 may request the fraud detection processing function group 370 to determine whether or not the message is an abnormal message, or the frame interpretation unit 120 may request the fraud detection processing function group 370 to determine whether the message is an abnormal message. You may ask for a judgment.
  • Each of the plurality of ECUs 100e may have a fraud detection processing function group 370, or at least one ECU 100e may have a fraud detection processing function group 370. In this case, the gateway 300 does not have to have the fraud detection processing function group 370.
  • FIG. 21 is a block diagram showing a second example of the functional configuration of the ECU 100f in this modified example.
  • the ECU 100f may be composed of a frame transmission / reception unit 110, a frame interpretation unit 120, a frame generation unit 180, and a fraud detection processing function group 370.
  • the frame interpretation unit 120 receives all the messages and requests the fraud detection processing function group 370 to determine whether or not the message is an abnormal message.
  • the ECU 100f has a reception ID determination unit 130 and a reception ID list holding unit 140 in addition to the configuration of FIG. 21, and has a message ID described in the reception ID list held by the reception ID list holding unit. You may receive only the message that you have, and request the fraud detection processing function group 370 to determine whether or not the message is an abnormal message.
  • the fraud detection processing function group 370 may be configured in either of the fraud detection processing function groups 370 and 370b.
  • the gateway 300 can determine whether or not the message transmitted to the bus 200 is an abnormal message.
  • FIG. 22 is a block diagram showing a third example of the functional configuration of the ECU 100 g in this modified example.
  • the ECU 100g has a transmission data acquisition unit 171 that acquires data to be transmitted to the bus 200 from others, and the fraud detection processing function group 370 has data received from the transmission data acquisition unit 171.
  • the frame generation unit 180 may be requested to send a message only when it is determined whether or not the message is an abnormal message and it is determined that the message is not an abnormal message.
  • the fraud detection processing function group 370 described in FIGS. 20 to 22 may be replaced with any of the fraud detection processing function groups 370b to 370e.
  • the gateway 300 may invalidate the received message by transmitting an error frame at the stage when it is determined that the message is an abnormal message by performing fraud detection processing while receiving the message.
  • the gateway 300 may notify the user that an abnormality has occurred, may shift the vehicle to the fail-safe mode, may log the occurrence of the abnormality, and may notify the user of the occurrence of the abnormality. You may notify the server through the mobile phone network or the like.
  • a set of data values or reception intervals may be learned as an abnormal label.
  • the ECU 100 may invalidate the received message by transmitting an error frame at the stage where it is determined that the message is abnormal by performing fraud detection processing while receiving the message. As a result, it is possible to prevent the abnormal message from being received by other ECUs connected to the network in which the abnormal message is found.
  • the message is transmitted in plain text, but it may be encrypted.
  • the message may also include a message authentication code.
  • an in-vehicle network is shown as an example of a network communication system that communicates according to the CAN protocol.
  • the technology according to the present disclosure is not limited to use in an in-vehicle network, and may be used in a network such as a robot or an industrial device, or a network communication system that communicates according to a CAN protocol other than the in-vehicle network.
  • CAN-FD CAN with FlexRay Data Rate
  • FlexRay FlexRay
  • Ethernet LIN (Local Interconnect Network)
  • MOST Media Oriented Systems Transport
  • the network may be a combination of these networks as a sub-network.
  • 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 instructions 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: large-scale integrated circuit).
  • a system LSI is an ultra-multifunctional LSI manufactured by integrating a plurality of components on a single chip, and specifically, is a computer system including a microprocessor, a ROM, a 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 the circuit cells inside the LSI may be used.
  • FPGA Field Programmable Gate Array
  • Some or all of the components constituting each of the above devices may be composed of an IC card or a single module that can be attached to and detached from each device.
  • An IC card or module is a computer system composed of a microprocessor, ROM, RAM, and the like.
  • the IC card or module may include the above-mentioned super multifunctional LSI.
  • the microprocessor operates according to a computer program, the IC card or module achieves its function. This IC card or this module may have tamper resistance.
  • the present disclosure may be the method shown above. Further, it may be a computer program that realizes these methods by a computer, or it may be a digital signal composed of a computer program.
  • the present disclosure also describes computer programs or recording media capable of computer-readable digital signals, such as flexible discs, hard disks, CD-ROMs, MOs, DVDs, DVD-ROMs, DVD-RAMs, and BDs (Blu-ray®).
  • Disc may be recorded in a semiconductor memory or the like. Further, it may be a digital signal recorded on these recording media.
  • a computer program or a digital signal may be transmitted via a telecommunication line, a wireless or wired communication line, a network typified by the Internet, data broadcasting, or the like.
  • the present disclosure is a computer system including a microprocessor and a memory, in which the memory records the above-mentioned computer program, and the microprocessor may operate according to the computer program.
  • the division of the functional block in the block diagram is an example, and a plurality of functional blocks can be realized as one functional block, one functional block can be divided into a plurality of functions, and some functions can be divided into other functions. You may move it to a block. Further, the functions of a plurality of functional blocks having similar functions may be processed by a single hardware or software in parallel or in a time division manner.
  • the order of the plurality of processes described in the above embodiment is an example.
  • the order of the plurality of processes may be changed, and the plurality of processes may be executed in parallel. Further, a part of the plurality of processes may not be executed.
  • the reference message determination system that executes the reference message determination method in the above embodiment includes one or more processors and a storage unit.
  • the determination system here may be composed of a plurality of devices or may be composed of one device.
  • the method of determining the reference message has described an example used for detecting unauthorized communication in an in-vehicle network system, but the present invention is not limited to this.
  • the method for determining the reference message may be used for detecting unauthorized communication in a network system in a building (for example, in a house or in a building).
  • the reference message determination method may be used, for example, to detect unauthorized communication in a network system in which the message transmission timing is predetermined.
  • a message used as a standard for detecting fraudulent communication for the purpose of fraudulent control by fraudulent messages in an in-vehicle network according to one or more aspects will be described above based on an embodiment and a modification thereof. did.
  • a message used as a reference for detecting unauthorized communication is determined by a gateway or ECU that is connected to and communicates with an in-vehicle network system, or a combination of these and a server computer.
  • a system including one or more processors and a storage unit that executes such fraudulent communication detection is referred to as a fraudulent communication detection standard determination system in the present disclosure.
  • the fraudulent communication detection standard determination system is realized by one device such as one gateway connected to the in-vehicle network system, the combination of such a gateway and the ECU, or the gateway or the ECU and the remote It also includes those realized by multiple devices such as the combination with the server computer in.
  • this technique is executed as a method including a part or all of the processing steps executed by each component, or executed by the processor of the unauthorized communication detection standard determination system. It can also be realized as a program for the fraudulent communication detection standard determination system to implement this method.
  • another component may execute the process executed by the specific component instead of the specific component. Further, the order of the plurality of processes may be changed, or the plurality of processes may be executed in parallel.
  • an abnormality is detected by selecting a reference message from the reference message candidates using the determination result of the determination method that can be determined with high clarity among the determination results by a plurality of determination methods. Determine the criteria message to do. As a result, even for a message for which it has been difficult to distinguish between a normal message and an abnormal message in the past, it is possible to accurately identify the normal message and protect the network.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Small-Scale Networks (AREA)

Abstract

決定方法は、ネットワーク及び当該ネットワークに接続される1以上の電子制御ユニットを含む車載ネットワークシステム(10)における不正通信の検知に用いられる基準メッセージの決定方法であって、基準メッセージは、ネットワークに送出されるメッセージが異常メッセージであるか否かの判定の基準に用いられるメッセージであり、決定方法は、基準メッセージの候補である1以上の基準メッセージ候補に関する候補情報を保存する保存ステップ(S1007)と、保存ステップで保存された候補情報に含まれる1以上の基準メッセージ候補から基準メッセージを決定するための決定方法を、1以上の基準メッセージ候補に基づいて決定する第1決定ステップ(S1106)と、1以上の基準メッセージ候補から決定方法を用いて、基準メッセージを決定する第2決定ステップ(S1107)とを含む。

Description

決定方法、決定システム及びプログラム
 本開示は、ネットワークシステムにおける不正通信の検知に用いられる基準メッセージの決定方法等に関する。
 近年、自動車の中のシステムには、電子制御ユニット(ECU:Electronic Control Unit、以下、ECUとも表記する)と呼ばれる装置が多数配置されている。これらのECUをつなぐネットワークは車載ネットワークと呼ばれる。車載ネットワークには、多数の通信規格が存在する。その中でも最も主流な車載ネットワークの規格の一つに、Controller Area Network(以下、CANとも表記する)がある。
 CANの規格によるネットワーク(以下、CANネットワークとも表記する)では、通信路(バス)は2本のケーブルで構成され、バスに接続されているECUはノードとも呼ばれる。バスに接続されている各ノードは、フレーム又はメッセージと呼ばれる単位でデータを送受信する。またCANでは、データの送信先又は送信元を示す識別子は用いられない。フレームを送信するノード(以下、送信ノードとも表記するう)は、メッセージ毎にメッセージの種類を示すメッセージIDと呼ばれるIDを付けて送信、つまりバスに信号を送出する。メッセージを受信するノード(以下、受信ノードとも表記する)は、あらかじめ決められたメッセージIDを含むメッセージのみ受信、つまりバスから信号を読み取る。同一IDのメッセージは、所定の一定の周期で送信される。
 上述の通り、自動車の中のシステムに多数配置されているECUは、それぞれがCANネットワークに接続され、様々なメッセージを互いにやりとりしながら動作している。ここで、CANネットワークの外部と通信機能を持つECUが外部から攻撃される等して乗っ取られ、CANネットワークに対して不正なメッセージ(以降、異常メッセージとも表記する)を送信するようになることが起こり得る。このような乗っ取られたECU(以下、不正ECUとも表記する)は、例えば他のECUになりすまして異常メッセージを送信することで、自動車を不正に制御することが可能となる。このような、いわゆるなりすまし攻撃を検知するための方法として、例えば、特許文献1に記載の方法がある。
国際公開第2014/115455号
 しかしながら、特許文献1に記載の方法では、発生しているなりすまし攻撃を検知できるだけであり、どのメッセージが異常メッセージであるかを判断できないという課題がある。当該課題の解決として、異常メッセージであるか否かを判断するための基準メッセージを決定し、決定された基準メッセージに基づいてメッセージが異常メッセージであるか否かを個別に判断する方法が考えられる。この場合、基準メッセージは適切に設定されることが望まれる。
 そこで、本開示は、上記課題を解決するもので、ネットワークに送出された個別のメッセージが異常メッセージであるか否かを判定するための基準メッセージを適切に決定する基準メッセージの決定方法等を提供する。
 上記の課題を解決するために、本開示の一態様に係る決定方法は、ネットワーク及び前記ネットワークに接続される1以上の電子制御ユニットを含む車載ネットワークシステムにおける不正通信の検知に用いられる基準メッセージの決定方法であって、前記基準メッセージは、前記ネットワークに送出されるメッセージが異常メッセージであるか否かの判定の基準に用いられるメッセージであり、前記決定方法は、前記基準メッセージの候補である1以上の基準メッセージ候補に関する候補情報を保存する保存ステップと、前記保存ステップで保存された前記候補情報に含まれる前記1以上の基準メッセージ候補から前記基準メッセージを決定するための前記決定方法を、前記1以上の基準メッセージ候補に基づいて決定する第1決定ステップと、前記第1決定ステップで決定された前記決定方法を用いて、前記1以上の基準メッセージ候補から前記基準メッセージを決定する第2決定ステップとを含む。
 また、本開示の一態様に係る決定システムは、ネットワーク及び前記ネットワークに接続される1以上の電子制御ユニットを含む車載ネットワークシステムにおける不正通信の検知に用いられる基準メッセージの決定システムであって、1以上のプロセッサと、記憶部とを備え、前記基準メッセージは、前記ネットワークに送出されるメッセージが異常メッセージであるか否かの判定の基準に用いられるメッセージであり、前記1以上のプロセッサは、前記記憶部を用いて、前記基準メッセージの候補である1以上の基準メッセージ候補に関する候補情報を保存し、保存された前記候補情報に含まれる前記1以上の基準メッセージ候補から前記基準メッセージを決定するための決定方法を、前記1以上の基準メッセージ候補に基づいて決定し、前記1以上の基準メッセージ候補から、前記決定方法を用いて前記基準メッセージを決定する。
 また、本開示の一態様に係るプログラムは、上記の決定方法をコンピュータに実行させるためのプログラムである。
 なお、これらの包括的又は具体的な態様は、システム、装置、方法、集積回路、コンピュータプログラム又はコンピュータ読み取り可能なCD-ROMなどの非一時的な記録媒体で実現されてもよく、システム、装置、方法、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。
 本開示の一態様に係る決定方法等によれば、ネットワークに送出された個別のメッセージが異常メッセージであるか否かを判定するための基準メッセージを適切に決定することができる。
図1は、実施の形態1における車載ネットワークシステムの全体構成を示すブロック図である。 図2は、CANプロトコトルのデータフレームフォーマットを示す図である。 図3は、実施の形態1における車載ネットワークシステムに含まれるゲートウェイの機能構成の一例を示すブロック図である。 図4は、実施の形態1における受信IDリストのデータ構成の一例を示す図である。 図5は、実施の形態1におけるゲートウェイで保持される転送ルールのデータ構成の一例を示す図である。 図6は、実施の形態1における不正検知処理機能群の機能構成の一例を示すブロック図である。 図7は、実施の形態1における不正検知部の機能構成の一例を示すブロック図である。 図8は、実施の形態1におけるメッセージの受信パターンを示す図である。 図9は、実施の形態1における車載ネットワークシステムに含まれるECUの機能構成の一例を示すブロック図である。 図10は、実施の形態1における不正検知処理の一例を示すフロー図である。 図11は、実施の形態1における基準メッセージ決定処理の一例を示すフロー図である。 図12は、実施の形態2における車載ネットワークシステムの全体構成を示すブロック図である。 図13は、実施の形態2における車載ネットワークシステムに含まれるゲートウェイの機能構成の一例を示すブロック図である。 図14は、実施の形態2における不正検知処理機能群の機能構成の一例を示すブロック図である。 図15は、実施の形態2におけるサーバの機能構成の一例を示すブロック図である。 図16は、その他の変形例における不正検知処理機能群の機能構成の第1例を示すブロック図である。 図17は、その他の変形例における不正検知処理の一例を示すフロー図である。 図18は、その他の変形例における不正検知処理機能群の機能構成の第2例を示すブロック図である。 図19は、その他の変形例における不正検知処理機能群の機能構成の第3例を示すブロック図である。 図20は、その他の変形例におけるECUの機能構成の第1例を示すブロック図である。 図21は、その他の変形例におけるECUの機能構成の第2例を示すブロック図である。 図22は、その他の変形例におけるECUの機能構成の第3例を示すブロック図である。
 (本開示の基礎になった知見)
 不正ECUから異常メッセージが送信され始めると、CANネットワークでは同じIDのメッセージに正常メッセージと異常メッセージとが混在するようになる。このような状況では、正常メッセージの送信のタイミングと異常メッセージの送信のタイミングとがごく近くなる、又は攻撃者によって意図的に近づけられた結果、異常メッセージの送信のタイミングも許容差内(正常メッセージが送信されると予測されるタイミングとの差が許容差内)に収まる場合がある。このような場合には、正常メッセージと異常メッセージとの区別が難しくなり、誤検知の発生の可能性が高まる。同様のことは、メッセージの送信のタイミングのみならず、メッセージが含むデータ値についても起こり得る。このような許容差内の正常メッセージ及び異常メッセージに基づいて異常メッセージであるか否かを判断するための基準メッセージが決定される場合、基準メッセージは適切に設定されることが望まれる。例えば、正常メッセージ及び異常メッセージのうち正常メッセージが基準メッセージに設定されることが望まれる。
 そこで、本開示の一態様に係る決定方法は、ネットワーク及び前記ネットワークに接続される1以上の電子制御ユニットを含む車載ネットワークシステムにおける不正通信の検知に用いられる基準メッセージの決定方法であって、前記基準メッセージは、前記ネットワークに送出されるメッセージが異常メッセージであるか否かの判定の基準に用いられるメッセージであり、前記決定方法は、前記基準メッセージの候補である1以上の基準メッセージ候補に関する候補情報を保存する保存ステップと、前記保存ステップで保存された前記候補情報に含まれる前記1以上の基準メッセージ候補から前記基準メッセージを決定するための前記決定方法を、前記1以上の基準メッセージ候補に基づいて決定する第1決定ステップと、前記第1決定ステップで決定された前記決定方法を用いて、前記1以上の基準メッセージ候補から前記基準メッセージを決定する第2決定ステップとを含む。
 これにより、1以上の基準メッセージ候補に応じた決定方法が決定されるので、例えば、1以上の基準メッセージ候補に異常メッセージが含まれる場合、当該異常メッセージが基準メッセージに設定されることを抑制することができる。よって、より適切な基準メッセージを決定することができる。また、例えば、基準メッセージの決定方法が固定されている場合に比べて、より適切な基準メッセージを決定することができる。
 また、前記第1決定ステップでは、前記基準メッセージを決定するための複数の決定方法のそれぞれにおいて、前記1以上の基準メッセージ候補の中から当該決定方法により前記基準メッセージを決定することの適切度合いを示す適切度を算出し、算出された前記適切度に基づいて前記決定方法を決定してもよい。
 これにより、適切度に基づいて、基準メッセージを決定するための決定方法を適切に決定することができる。
 また、前記第1決定ステップでは、前記複数の決定方法の中で、前記適切度が最も高い決定方法を、前記1以上の基準メッセージ候補から前記基準メッセージを決定するための決定方法に決定してもよい。
 これにより、適切度に基づいて、基準メッセージを決定するための決定方法をさらに適切に決定することができる。
 また、前記適切度は、前記ネットワークに送出されるメッセージに対する予測値と、前記1以上の基準メッセージ候補が示す値それぞれとの第1の差を算出し、算出された2以上の前記第1の差同士の差である第2の差として算出されてもよい。
 基準メッセージ候補に正常メッセージ及び異常メッセージが含まれる場合、正常メッセージにおける第1の差と、異常メッセージにおける第1の差とは、離れた値となり得る。つまり、基準メッセージ候補に異常メッセージが含まれると、第2の差が大きくなり得る。
 そこで、第2の差が大きくなる決定方法を基準メッセージの決定方法に決定することで、正常メッセージと異常メッセージとが含まれる基準メッセージ候補において、正常メッセージを基準メッセージに決定することができるので、より適切に基準メッセージを決定することができる。
 また、前記第1決定ステップにおいて、前記1以上の基準メッセージ候補が示す値が3つ以上ある場合、前記予測値に近い2つの前記値を抽出し、抽出した2つの前記値と前記予測値とに基づいて2つの前記第1の差を算出してもよい。
 これにより、予測値に近い2つの値、つまり基準メッセージに適していると考えられる2つの値に基づいて決定方法を決定できるので、基準メッセージの決定により適した決定方法を決定することができる。
 また、前記予測値は、過去に決定された前記基準メッセージが示す値に基づいて算出されてもよい。
 これにより、過去の基準メッセージが示す値を利用して予測値を算出することができるので、予測値の算出における処理量を低減することができる。
 また、前記予測値は、予め作成された予測モデルに同一IDの前記1以上の基準メッセージ候補を入力することで取得されてもよい。
 これにより、予測モデルを用いることで、容易に予測値を算出することができる。
 また、前記決定方法は、前記ネットワークに送出されるメッセージが送信される周期に基づいて前記基準メッセージを決定するための周期判定方法、及び、前記ネットワークに送出されるメッセージに含まれるデータの値に基づいて前記基準メッセージを決定するためのデータ判定方法の少なくとも一つを含んでもよい。
 これにより、ネットワークで一般的に使用される指標である周期、又は、データ値のどちらかの判定種別を利用して、基準メッセージを決定することができる。
 また、さらに、前記ネットワークに送出されるメッセージが異常メッセージであるか否かを判定する判定ステップを含み、前記1以上の基準メッセージ候補には、前記判定ステップにおいて異常であると判定された前記異常メッセージを含み、前記第2決定ステップでは、前記1以上の基準メッセージ候補のうち前記異常メッセージ以外のメッセージが前記基準メッセージに決定されてもよい。
 これにより、異常メッセージが含まれる場合に、当該異常メッセージが基準メッセージに決定されることを抑制することができる。つまり、基準メッセージをより一層適切に決定することができる。
 また、さらに、前記ネットワークに送出されるメッセージが異常メッセージであるか否かを判定する判定ステップを含み、前記第2決定ステップでは、現在の受信周期において正常と判定された1以上のメッセージを基準メッセージ候補として、次の受信周期における基準メッセージを、前記次の受信周期の前に決定してもよい。
 これにより、現在の受信周期内において、次の受信周期の基準メッセージを決定するので、決定された基準メッセージ以外の基準メッセージ候補を現在の受信周期内に削除することが可能となる。よって、基準メッセージの決定方法を実行する装置が有する記憶装置の容量を減らすことが可能となる。
 また、本開示の一態様に係る決定システムは、ネットワーク及び前記ネットワークに接続される1以上の電子制御ユニットを含む車載ネットワークシステムにおける不正通信の検知に用いられる基準メッセージの決定システムであって、1以上のプロセッサと、記憶部とを備え、前記基準メッセージは、前記ネットワークに送出されるメッセージが異常メッセージであるか否かの判定の基準に用いられるメッセージであり、前記1以上のプロセッサは、前記記憶部を用いて、前記基準メッセージの候補である1以上の基準メッセージ候補に関する候補情報を保存し、保存された前記候補情報に含まれる前記1以上の基準メッセージ候補から前記基準メッセージを決定するための決定方法を、前記1以上の基準メッセージ候補に基づいて決定し、前記1以上の基準メッセージ候補から、前記決定方法を用いて前記基準メッセージを決定する。また、本開示の一態様に係るプログラムは、上記に記載の基準メッセージの決定方法をコンピュータに実行させるためのプログラムである。
 これにより、上記の基準メッセージの決定方法と同様の効果を奏する。
 以下、実施の形態について図面を参照しながら具体的に説明する。
 なお、以下で説明する実施の形態は、いずれも包括的又は具体的な例を示すものである。つまり、以下の実施の形態で示される数値、構成要素、構成要素の配置及び接続形態、ステップ、ステップの順序などは、本開示の一例であり、本開示を限定する主旨ではない。本開示は、請求の範囲の記載に基づいて特定される。したがって、以下の実施の形態における構成要素のうち、本開示の最上位概念を示す独立請求項に記載されていない構成要素は、本開示の課題を達成するために必ずしも必要ではないが、より好ましい形態を構成する構成要素として説明される。
 (実施の形態1)
 [1.概要]
 ここでは、送信されているメッセージが異常メッセージであるか否かの判定がなされる車載ネットワークシステムを例に用いて実施の形態1について図面を参照しながら説明する。
 [1.1 車載ネットワークシステムの全体構成]
 図1は、本実施の形態における車載ネットワークシステム10の全体構成を示すブロック図である。車載ネットワークシステム10は、例えば、車両1に搭載される。
 車載ネットワークシステム10は、CANネットワークで構成され、ECU(図中のECU100a、ECU100b、ECU100c、及びECU100dであり、以下ではこれらを集合的に、又は特定しない一部を指して、以下ではECU100とも表記する)と、バス(図中のバス200a及びバス200bであり、以下ではこれらを集合的に、又は特定しない一方を指して、以下ではバス200とも表記する)と、ゲートウェイ300とを備える。
 ECU100aはエンジン101に、ECU100bはブレーキ102に、ECU100cはドア開閉センサ103に、ECU100dはウィンドウ開閉センサ104にそれぞれ接続されている。ECU100は、それぞれが接続されている機器の状態を取得し、取得した状態を表すメッセージを周期的にバス200に送出している。例えばECU100aは、エンジン101の一状態である回転数を取得し、この回転数を表すデータ値を含むメッセージに所定のIDを付けてバス200に送出する。また、各ECU100は、他のEUC100が送信したメッセージをバス200から読み出し、メッセージに付されたIDに応じて選択的に受信する。この選択的な受信については後述する。
 ゲートウェイ300は、ECU100a及びECU100bが接続されているバス200aと、ECU100c及びECU100dが接続されているバス200bとを接続している。ゲートウェイ300は一方のバスから受信したメッセージを、もう一方のバスに転送する機能を持つ。ゲートウェイ300もまた、CANネットワーク上ではひとつのノードである。
 なお、車載ネットワークシステム10は、メッセージが異常メッセージであるか否かの判定をする不正通信検知基準決定システム(例えば、基準メッセージの決定システム)等が適用可能な対象を説明するための例であり、その適用対象は車載ネットワークシステム10に限定されない。
 [1.2 メッセージのデータフォーマット]
 図2は、CANプロトコルのデータフレームフォーマット(メッセージのフォーマット)を示す図である。ここではCANプロトコルにおける標準IDフォーマットにおけるメッセージを示している。
 メッセージは、Start Of Frame(図中及び以下、SOFとも表記する)と、IDフィールドと、Remote Transimission Request(図中及び以下、RTRとも表記する)と、IDentifier Extension(図中及び以下、IDEとも表記する)と、予約bit(図中及び以下、rとも表記する)と、データレングスコード(図中及び以下、DLCとも表記する)と、データフィールドと、Cycric Redundancy Check(図中及び以下、CRCとも表記する)シーケンスと、CRCデリミタ(図中、左のDEL)と、Acknowledgement(図中及び以下、ACKとも表記する)スロットと、ACKデリミタ(図中、右のDEL)と、エンドオブフレーム(図中及び以下、EOFとも表記する)とから構成される。
 SOFは、1bitのドミナントである。ドミナント(優性の意)とは、データの伝達にデジタル方式が用いられるCANネットワークにおいて、“0”の値を送信するようにバスを構成する2本のケーブルに電圧がかけられた状態、又は送信されるこの“0”の値のことである。これに対し、“バスを構成する2本のケーブルに1”の値を送信するように電圧がかけられた状態、又は送信されるこの“1”の値のことはレセシブ(劣性の意)と呼ばれる。2つのノードからバスに同時に“0”の値と“1”の値とが送信された場合には、“0”の値が優先される。アイドル時のバスはレセシブである。各ECU100は、バス200の状態をレセシブからドミナントへ変化させることでメッセージの送信を開始し、他のECU100はこの変化を読み取って同期する。図2中のメッセージを構成するドミナント又はレセシブを示す線が実線である部分は、ドミナント又はレセシブの各値を取り得ることを示す。SOFはドミナント固定であるため、ドミナントの線は実線であり、レセシブの線は破線である。
 IDとは、メッセージが含むデータの種類を示す11bitの値である。またCANでは、複数のノードが同時に送信を開始したメッセージ間での通信調停において、IDの値がより小さいメッセージがより高い優先度となるよう設計されている。
 RTRとは、フレームがメッセージ(データフレーム)であることを示す1bitのドミナントである。
 IDEとrは、それぞれ1bitのドミナントである。
 DLCは、続くデータフィールドの長さを示す4bitの値である。
 データフィールドは、送信されるデータの内容を示す値であり、最大64bit長であり8bit単位で長さを調整できる。送られるデータのこの部分への割り当てに関する仕様は、車種や製造者に依存する。
 CRCシーケンスは、SOF、IDフィールド、コントロールフィールド、及び、データフィールドの送信値より算出される15bitの値である。
 CRCデリミタは1bitのレセシブ固定の、CRCシーケンスの終了を表す区切り記号である。受信ノードは、受信したメッセージのSOF、IDフィールド、コントロールフィールド、及びデータフィールドの値から算出した結果をCRCシーケンスの値と比較することで、受信したメッセージの異常の有無を判断する。
 ACKスロットは1bit長で、送信ノードはこの部分でレセシブを送信する。受信ノードはCRCシーケンスまで正常に受信ができていれば確認応答としてドミナントを送信する。ドミナントが優先されるため、1メッセージの通信がCRCシーケンスまで正常に行われていれば、ACKスロットの送信中のバス200はドミナントである。
 ACKデリミタは1bitのレセシブ固定の、ACKスロットの終了を表す区切り記号である。
 EOFは7bitのレセシブ固定で、メッセージの終了を示す。
 なお、メッセージのデータフォーマットは、メッセージが異常メッセージであるか否かの判定をする不正通信検知基準決定システム等が適用可能な対象を説明するための例であり、その適用対象は本データフォーマットに限定されない。
 [1.3 ゲートウェイの構成]
 図3は、車載ネットワークシステム10に含まれるゲートウェイ300の機能構成の一例を示すブロック図である。ゲートウェイ300は、フレーム送受信部310と、フレーム解釈部320と、受信ID判断部330と、受信IDリスト保持部340と、フレーム処理部350と、転送ルール保持部360と、不正検知処理機能群370と、フレーム生成部380とを備える。ゲートウェイ300は、ネットワーク及びネットワークに接続される1以上の電子制御ユニット(ECU)を含む車載ネットワークシステム10における不正通信の検知に用いる基準メッセージを決定する。
 なお、これらの構成要素は機能構成要素であり、ゲートウェイ300は、例えばプロセッサで実現される処理部、半導体メモリ等で実現される記憶部、入出力ポートで実現される入出力部等を備える情報処理装置として提供される。上記に挙げた各機能構成要素は、記憶部に保持されるプログラムの処理部による読み出し及び実行、記憶部による所定のデータの保持、若しくは入出力部を介してのデータの送受信、又はこれらの組み合わせで実現される。
 フレーム送受信部310は、バス200a、200bのそれぞれに対して、CANのプロトコルに従ったメッセージを送受信する。より具体的には、フレーム送受信部310は、バス200に送出されたメッセージを1bitずつ読み出し、読み出したメッセージをフレーム解釈部320に転送する。また、フレーム送受信部310は、フレーム生成部380より通知を受けたバス情報に応じて、メッセージをバス200a及び200bに1bitずつ送出する。フレーム送受信部310は、バス200aから受信したメッセージをバス200bに送信し、バス200bから受信したメッセージをバス200aに送信することでバス200間でのメッセージの転送を実行する。
 フレーム解釈部320は、フレーム送受信部310よりメッセージの値を受け取り、CANプロトコルにおける各フィールドにマッピングするようにしてフレーム(メッセージ)の解釈を行う。この解釈においてIDフィールドの値と判断した一連の値を、フレーム解釈部320は受信ID判断部330へ転送する。
 フレーム解釈部320はさらに、受信ID判断部330から通知される判定結果に応じて、メッセージのIDフィールドの値及びIDフィールド以降に現れるデータフィールドをフレーム処理部350へ転送するか、メッセージの受信を中止するかを決定する。
 またフレーム解釈部320は、CANプロトコルに則っていないメッセージと判断した場合は、エラーフレームを送信するようにフレーム生成部380へ要求する。エラーフレームとは、CANネットワーク上でエラーが発生した場合にノードから送信される、上述のメッセージとは異なる、CANプロトコルで規定される所定のフォーマットのフレームである。例えば、エラーフラグがバスに送出されると、そのネットワークでの直近のメッセージの送信は中断される。
 また、フレーム解釈部320は、他のノードが送信したエラーフレームを受信したと判断した場合、読取中のメッセージを破棄する。
 受信ID判断部330は、フレーム解釈部320からIDフィールドの値を受け取り、受信IDリスト保持部340が保持しているメッセージIDのリストに従い、読み出したメッセージを受信するか否かの判定を行う。受信ID判断部330は、この判定の結果をフレーム解釈部320へ通知する。
 受信IDリスト保持部340は、ゲートウェイ300が受信するメッセージIDのリスト(以下、受信IDリストともいう)を保持する。図4は、受信IDリストのデータ構成の一例を示す図である。受信IDリストの詳細は、この例を用いて後述する。
 フレーム処理部350は、転送ルール保持部360が保持する転送ルールに従って、受信したメッセージのIDに応じて転送先のバスを決定し、転送先のバスと、フレーム解釈部320より通知されたメッセージIDと、転送するデータとをフレーム生成部380へ渡す。
 またフレーム処理部350は、フレーム解釈部320より受け取ったメッセージを不正検知処理機能群370へ送り、そのメッセージが、異常メッセージであるか否かの判定を要求する。フレーム処理部350は、不正検知処理機能群370で異常メッセージであると判定されたメッセージを、転送しない。
 転送ルール保持部360は、バス毎のデータ転送に関するルール(以下、転送ルールともいう)を保持する。図5は、転送ルールのデータ構成の一例を示した図である。転送ルールの詳細は、この例を用いて後述する。
 不正検知処理機能群370は、受信中のメッセージが異常メッセージであるかどうかを判定する機能群である。不正検知処理機能群370に含まれる機能構成の詳細は後述する。
 フレーム生成部380は、フレーム解釈部320からのエラーフレーム送信の要求に従い、エラーフレームを構成してフレーム送受信部310に送出させる。
 またフレーム生成部380は、フレーム処理部350より受け取ったメッセージID及びデータを使ってメッセージフレームを構成し、バス情報とともに、フレーム送受信部310へ送る。
 [1.4 受信IDリスト]
 図4は、本実施の形態における受信IDリストのデータ構成の一例を示す図である。受信IDリストは、ゲートウェイ300が受信するメッセージIDのリストである。この例では、各行にゲートウェイ300がバス200から受信して処理する対象であるメッセージのIDが含まれている。この例の受信IDリストによる設定では、ゲートウェイ300は、メッセージIDが「1」、「2」、「3」又は「4」のメッセージを受信する。受信IDリストに含まれないIDを持つメッセージの受信は中止される。なお、この例におけるIDの値及びリストに含まれるIDの個数は説明のための例であり、ゲートウェイ300で用いられる受信IDリストの構成を限定するものではない。
 [1.5 転送ルール]
 図5は、本実施の形態におけるゲートウェイ300で保持される転送ルールのデータ構成の一例を示す図である。この例では、各行にメッセージの転送元のバスと転送先のバス(この例では200a及び200bで示される)との組み合わせ、及び転送対象のメッセージのIDが含まれる。この例の転送ルールによる設定では、ゲートウェイ300は、バス200aから受信するメッセージは、IDが何であってもバス200bに転送する。
 また、バス200bから受信するメッセージは、メッセージIDが「3」のメッセージのみバス200aに転送される。
 [1.6 不正検知処理機能群の構成]
 図6は、本実施の形態における不正検知処理機能群370の機能構成の一例を示すブロック図である。図6は、ゲートウェイ300が備える不正検知処理機能群370の機能構成を示すブロック図である。不正検知処理機能群370は、不正検知部371と、基準メッセージ情報保持部372と、メッセージ保存処理部373と、正常メッセージ情報保持部374と、基準メッセージ決定部375と、判定種別決定部376と、周期判定部377と、データ判定部378とを有する。
 なお、これらの機能構成要素も、ゲートウェイ300において記憶部に保持されるプログラムの処理部による読み出し及び実行、記憶部による所定のデータの保持、若しくは入出力部を介してのデータの送受信、又はこれらの組み合わせで実現される。
 不正検知部371は、フレーム処理部350から受け取ったメッセージが異常メッセージであるか否かを判定する。
 不正検知部371は、複数種類の判定機能を持つ。各判定機能では、あらかじめ設定されて記憶部に保存(格納)されている、各判定機能で互いに異なるルール(図示なし)を参照し、参照したルールを用いて受信したメッセージのチェック、つまり、各メッセージがこのルールに適合するか否かの判定を行う。そして、不正検知部371は、各判定機能の判定結果に基づいて、受信したメッセージが異常メッセージであるか否かを判定する。受信したメッセージが異常メッセージであれば、不正検知部371は不正の発生を検知する。
 図7は、本実施の形態における不正検知部371の機能構成の一例を示すブロック図である。この例では、不正検知部371は、メッセージの所定のポイントをチェックする6種類の判定機能を持つ。具体的には、6種類の判定機能は、メッセージのIDフィールドをチェックする機能(ID判定機能)と、メッセージのデータ長をチェックする機能(データ長判定機能)と、メッセージが送信される周期(時間間隔)をチェックする機能(送信周期判定機能)と、メッセージが送信される頻度をチェックする機能(送信頻度判定機能)と、メッセージのデータフィールドの値(データ値)をチェックする機能(データ値判定機能)と、これらの判定機能の判定結果、送信周期、頻度、データ値、又はデータ値の変化量などに基づいて車両の状態を認識し、車両状態をチェックする機能(例えば、車両状態判定機能)とを含む。さらに不正検知部371は、受信したメッセージが異常メッセージであるか否かを、これらの判定機能による判定結果から総合的に判定する最終結果判定機能を持つ。最終結果判定機能の結果が、不正検知部371による不正の検知の結果となる。
 なお、これらの機能構成要素も、ゲートウェイ300において記憶部に保持されるプログラムの処理部による読み出し及び実行、記憶部による所定のデータの保持、若しくは入出力部を介してのデータの送受信、又はこれらの組み合わせで実現される。
 上記の各判定機能においてメッセージの所定のポイントをチェックする際に、過去に受信した同一IDのメッセージの情報、又は関連するメッセージの情報を基準としてチェックする場合がある。各判定機能は、基準メッセージ情報保持部372から、基準となるメッセージの情報を取得する。
 図6の説明に戻って、不正検知部371は、受信したメッセージから、基準メッセージの候補となるメッセージに関する情報を、基準メッセージ情報保持部372へ通知する。不正検知部371は、受信したメッセージのうち、最終結果判定機能が「正常メッセージ」と判定したメッセージを基準メッセージの候補となるメッセージ(基準メッセージ候補)として基準メッセージ情報保持部372へ通知する。基準メッセージ候補は、ネットワークに送出されるメッセージが異常メッセージであるか否かの判定の基準に用いる基準メッセージの候補である。
 不正検知部371は、最終結果判定機能が「正常メッセージ」と判定したメッセージをメッセージ保存処理部373へも通知する。
 基準メッセージ情報保持部372は、不正検知部371が利用する基準メッセージに関する情報と、基準メッセージの候補に関する情報とを保持する。例えば、周期的に送信されるメッセージの場合、1周期分古い同一IDのメッセージが基準メッセージになる。一方で、今の周期に受信したメッセージは、1周期後のメッセージに対して基準メッセージとなる可能性があるメッセージ(基準メッセージ候補)であるため、今の周期では基準メッセージ候補として保持しておく。
 なお、基準メッセージに関する情報は、例えば、基準メッセージ決定部375により決定された基準メッセージを示す情報である。また、基準メッセージの候補に関する情報は、候補情報の一例であり、例えば、1以上の基準メッセージ候補を示す情報である。基準メッセージに関する情報は、例えば、候補情報に含まれる1以上の基準メッセージ候補のうちの1つの基準メッセージ候補を示す情報である。
 なお、基準メッセージ情報保持部372は、さらに、基準メッセージ候補が保存されていない場合に基準メッセージとして用いられ得るメッセージを保持していてもよい。基準メッセージ情報保持部372は、予め当該メッセージを保持していてもよい。
 基準メッセージ情報保持部372は、不正検知部371から通知された基準メッセージの候補となるメッセージに関する情報を保持する。また、基準メッセージ情報保持部372は、基準メッセージ決定部375からの要求に応じて、基準メッセージの候補となるメッセージに関する情報を基準メッセージ決定部375に通知する。さらに、基準メッセージ情報保持部372は、基準メッセージ決定部375が決定した基準メッセージに関する情報も保持し、不正検知部371からの要求に応じて、不正検知部371へ基準メッセージに関する情報を通知する。基準メッセージ情報保持部372は、基準メッセージ決定部375が、基準メッセージ候補から基準メッセージを決定すると、その際に利用された基準メッセージ候補を削除する。
 メッセージ保存処理部373は、不正検知部371から通知されたメッセージに関する情報を、正常メッセージ情報保持部374へ保存する処理を行う。また、メッセージ保存処理部373は、ある周期に複数の同一IDのメッセージを正常メッセージとして保存したときに、基準メッセージ決定部375により、それら複数の同一IDのメッセージから、1つのメッセージが基準として選択されると、その基準メッセージとして選択されたメッセージのみを残し、他のメッセージを削除する、又は、どのメッセージが基準メッセージとして選択されたかを示す情報を一緒に保存する。
 正常メッセージ情報保持部374は、不正検知部371が正常メッセージと判定したメッセージに関する情報を保持する。この情報は、周期判定部377又はデータ判定部378が過去に受信したメッセージから今受信したメッセージの受信時刻又はデータの値の予測値を算出する際に利用する。
 基準メッセージ決定部375は、不正検知部371の送信周期判定機能での1周期分古い同一IDのメッセージからの送信時間の差、及びデータ値判定機能での1周期分古い同一IDのメッセージからの変化量の算出に基づいて、基準として用いられる基準メッセージを決定する。
 例えば、周期的に送信されるメッセージについて、受信予定時刻(例えば、図8に示す受信想定時刻T1を参照)の前後に時間長α(図8を参照)のマージンが考慮され、データの変化量の前後にデータ値のマージンが考慮されている場合、どちらのマージンからも外れない複数のメッセージが送信される場合がある。このとき、基準メッセージ決定部375は、これらの複数のメッセージを基準メッセージ候補として、1周期後の同一IDのメッセージのための基準メッセージとして用いるメッセージを決定する。
 基準メッセージ決定部375は、基準メッセージ情報保持部372から基準メッセージの候補となるメッセージ(基準メッセージ候補)に関する情報を取得し、判定種別決定部376が決定した決定方法を用いてその候補から基準メッセージとして用いるメッセージを決定する。
 基準メッセージ決定部375は、基準メッセージを決定するときに、判定種別決定部376へ基準メッセージの候補を通知し、判定種別決定部376が決定した結果に応じた判定種別を用いて、基準メッセージ候補から、基準メッセージを決定する。
 判定種別決定部376は、1以上の基準メッセージ候補から基準メッセージを決定するための決定方法を、1以上の基準メッセージ候補に基づいて決定する。決定方法は、2以上の判定方法を含み、ネットワークに送出されるメッセージが送信される周期に基づいて基準メッセージを決定するための判定を行う周期判定方法、及び、ネットワークに送出されるメッセージに含まれるデータの値に基づいて基準メッセージを決定するための判定を行うデータ判定方法の少なくとも一つを含む。本実施の形態では、決定方法は、周期判定方法及びデータ判定方法を含む。
 判定種別決定部376は、例えば、基準メッセージ決定部375から通知された基準メッセージ候補と、不正検知部371が保持するルールの値とを取得し、周期判定部377とデータ判定部378とに判定を依頼する。判定種別決定部376は、周期判定部377の判定結果として得られる明確度とデータ判定部378の判定結果として得られる明確度とから、周期判定とデータ値判定とのどちらの判定種別を使用して1以上の基準メッセージ候補から基準メッセージを決定すれば良いかを決定して基準メッセージ決定部375へ通知する。
 なお、明確度の算出方法は後述するが、明確度は、1以上の基準メッセージ候補の中から基準メッセージを明確に決定できるかどうかの度合いを示す。明確度は、1以上の基準メッセージ候補のうち当該基準メッセージ候補が基準メッセージであることの適切度合いを示すとも言える。また、明確度は、複数の決定方法のそれぞれにおいて、1以上の基準メッセージ候補の中から当該決定方法により基準メッセージを決定することの適切度合いを示すとも言える。明確度は、適切度の一例である。
 例えば、基準メッセージ候補としてメッセージM1(図8を参照)とメッセージM2(図8を参照)とがあり、現在の基準メッセージと比較した際に、明確度は、メッセージM1もメッセージM2も基準メッセージからの差が同じような場合には低く、メッセージM1とメッセージM2とで基準メッセージからの差が大きく違う場合には高くなる。そして、判定種別決定部376は、周期判定とデータ値判定とで明確度の高い判定種別を選択する。例えば、判定種別決定部376は、周期判定とデータ値判定とで最も高い(1番高い)明確度の判定種別を選択する。判定種別決定部376は、例えば、複数の決定方法のそれぞれにおいて明確度を算出し、複数の決定方法の中で、明確度が最も高い決定方法を、1以上の基準メッセージ候補から基準メッセージを決定するための決定方法に決定するとも言える。
 これにより、基準メッセージとの差が基準メッセージ候補のメッセージ間で似たような差でありどちらとも判定が難しい判定種別ではなく、基準メッセージとの差が基準メッセージ候補のメッセージ間で大きく異なり明らかに判定可能な判定種別を用いて基準メッセージを選択することができるため、基準メッセージ決定部375による基準メッセージの選択がより確実なものとなる。
 判定種別決定部376は、周期判定部377から得られた明確度と、データ判定部378から得られた明確度とを比較する際に、例えば、それぞれの明確度の大きさをそろえるために、それぞれのルールにおけるマージンで正規化する。例えば、判定種別決定部376は、受信時刻に対するマージンが想定値T1±αの幅(図8を参照)の場合、周期判定部377から得られた明確度を2αで割った値を用いて判定種別を決定する。なお、後述する図8では、想定値T1は時刻の想定値T1を示しており、受信想定時刻T1とも記載する。
 なお、明確度の正規化方法としては、ルールにおけるマージンで正規化したが、これに限定されない。例えば、マージンが想定値T1±αの幅の場合は、明確度を2αで割るのではなく、αで割ってもよいし、想定値T1(予測値)で割ることで正規化してもよい。また、あらかじめ、テストデータなどを用いて想定値T1と実際の受信時刻又はデータ値とのずれ量を計測し、ずれ量の分散値σを算出し、その分散値(σ、2σ、3σなど)で正規化してもよい。これに限らず、異なる単位の値を正規化できる手法であればよい。また、事前に周期判定とデータ判定とで、判定結果の明確さ(明確度)に差があることが分かっていれば、それを加味して正規化してもよい。例えば、周期判定の明確度の方がデータ判定の明確度より高いとすれば、正規化した周期判定の明確度にさらに係数を掛ける、又は、定数を足すなどしてもよい。
 周期判定部377は、現在の基準メッセージの受信時刻と、不正検知部371の送信周期判定機能が参照するルールに含まれる周期の情報とから、今の周期における受信想定時刻(T1)を受信時刻の予測値として算出する。周期判定部377は、判定種別決定部376から通知された複数の基準メッセージ候補の受信時刻と、予測値である受信想定時刻(T1)とを比較することで複数の基準メッセージ候補の中から基準メッセージを選択する。
 図8は、本実施の形態におけるメッセージの受信パターンを示す図である。例えば、図8に示すように、メッセージM1の受信時刻がT11で、メッセージM2の受信時刻がT12であった場合、T11もT12も、ルールのマージンの範囲であるT1-αとT1+αとの間にあるため、不正検知部371はどちらも正常メッセージであると判定する。しかし、基準メッセージとしてはどちらかを選択する必要がある。そこで、周期判定部377は、メッセージM1の受信時刻(T11)とメッセージM2の受信時刻(T12)とで、予測値である受信想定時刻(T1)に近いメッセージを、基準メッセージとして選択する。図8においては、周期判定部377は、メッセージM1の方がメッセージM2よりも受信想定時刻(T1)に近いため、メッセージM1を基準メッセージとして選択する。
 周期判定部377は、複数の基準メッセージ候補の受信時刻と予測値である受信想定時刻との差から、明確度を算出する。例えば、図8においては、メッセージM1の受信時刻T11と受信想定時刻T1との差(T11-T1)と、メッセージM2の受信時刻T12と受信想定時刻T1との差(T1-T12)の差(|(T11-T1)-(T1-T12)|、又は、||T11-T1|-|T12-T1||)を明確度と定義する。ここで“|A|”はAの絶対値を示す。例えば、受信想定時刻T1を中心として、メッセージM1とメッセージM2とが同程度離れている場合、つまり、|T11-T1|と|T12-T1|との値が同じような値になる場合、明確度が低くなる。一方、図8のように、メッセージM1の受信時刻T11がメッセージM2の受信時刻T12より受信想定時刻T1に近い場合、つまり|T11-T1|の方が|T12-T1|よりも十分小さい場合、明確度が高くなる。
 なお、差(T11-T1)、及び、差(T1-T12)は、第1の差の一例であり、差(|(T11-T1)-(T1-T12)|、又は、差(|T11-T1|-|T12-T1||)は第2の差の一例である。明確度は、例えば、正の値(例えば絶対値)である。本実施の形態では、第2の差は、明確度を意味する。また、明確度は、1以上の基準メッセージ候補の中に異常メッセージが含まれている度合いを示すとも言える。
 なお、周期判定部377は、正常メッセージ情報保持部374が保持する同一IDの複数のメッセージの受信時刻の情報から、受信するメッセージの受信想定時刻としての予測値を算出してもよいし、受信時刻に相関のある異なるIDの1以上のメッセージの受信時刻の情報から、受信するメッセージの受信想定時刻としての予測値を算出してもよい。
 図6の説明に戻って、データ判定部378は、現在の基準メッセージのデータ値と、不正検知部371のデータ値判定機能が参照するルールに含まれるデータ値との変化量の情報から、今の周期における想定データ値(D1)をデータ値の予測値として算出する。データ判定部378は、判定種別決定部376から通知された複数の基準メッセージ候補のデータ値と、予測値である想定データ値(D1)とを比較することで複数の基準メッセージ候補の中から基準メッセージを選択する。
 また、データ判定部378は、複数の基準メッセージ候補のデータ値と予測値である想定データ値との差から、明確度を算出する。例えば、周期判定部377の場合と同様に、メッセージM1のデータ値D11と想定データ値D1との差(D11-D1)と、メッセージM2のデータ値D12と想定データ値D1との差(D1-D12)の差(|(D11-D1)-(D1-D12)|、又は、||D11-D1|-|D12-D1||)を明確度と定義する。なお、差(D11-D1)、及び、差(D1-D12)は、第1の差の一例であり、差(|(D11-D1)-(D1-D12)|、又は、||D11-D1|-|D12-D1||)は第2の差の一例である。本実施の形態では、第2の差は、明確度を意味する。また、明確度は、1以上の基準メッセージ候補の中に異常メッセージが含まれている度合いを示すとも言える。
 上記のように、判定方法は、ネットワークに送出されるメッセージに対する予測値と、基準メッセージ候補に関する情報の値それぞれとの差を算出し、それぞれの差(第1の差)の差(第2の差)を明確度とする。これにより、基準メッセージの候補として保存されたメッセージに応じて、明確度を算出することが可能となる。
 なお、データ判定部378は、正常メッセージ情報保持部374が保持する同一IDの複数のメッセージのデータ値から、受信するメッセージの想定データ値としての予測値を算出しても良いし、データ値に相関のある異なるIDの1以上のメッセージのデータ値の情報から、受信するメッセージの想定データ値としての予測値を算出しても良い。
 周期判定部377、又はデータ判定部378は、予め作成され、予測値を算出可能な予測モデルに基づいて予測値を予測してもよい。周期判定部377又はデータ判定部378は、例えば、同一IDの複数のメッセージのデータ値又は同一IDの複数のメッセージの受信時刻を入力データとして予測モデルに入力して得られる出力データ(データ値又は受信時刻の予測値)を予測値として取得してもよい。例えば、周期判定部377、又はデータ判定部378は、機械学習、統計的処理、又は確率理論を用いて、正常メッセージに関する情報からAR(AutoRegressive)モデル、ARMA(AutoRegressive Moving Average)モデル、HMM(Hidden Markov Model)、ベイジアンモデル(Bayesian Model)、SVM(Support Vector Machine)、ニューラルネットワーク、又はDeep Learningなどのモデルを生成し、そのモデルを用いて、受信するメッセージの受信想定時刻、又は、想定データ値に関する予測値を算出してもよい。
 また、周期判定部377、又はデータ判定部378は、現在(現フレーム)又は過去(過去のフレーム)の基準メッセージが示す値を次の受信周期の基準メッセージを決定するための予測値としてもよい。データ判定部378は、例えば、現在又は過去の基準メッセージが示す値(データ値)を次の受信周期の基準メッセージを決定するための予測値としもよい。例えば、予測値は、過去の基準メッセージが示す値に基づいて算出されてもよい。例えば、予測値は、過去の基準メッセージが示す値の平均値、中央値、最頻値であってもよいし、直近の基準メッセージが示す値と同じ値であってもよい。なお、本実施の形態では、基準メッセージが示す値は、例えば、受信時刻又はデータ値である。
 なお、周期判定部377、又はデータ判定部378は、3つ以上の基準メッセージ候補のメッセージがある場合、全ての基準メッセージ候補のメッセージから1つのメッセージM1を基準メッセージと判定した後に、基準メッセージと判定されなかった残りのメッセージから、次に基準メッセージの候補となり得るメッセージM2を判定し、最初に基準メッセージと判定されたメッセージM1と次に基準メッセージと判定されたメッセージM2との2つのメッセージから明確度を算出してもよい。例えば、周期判定部377、又はデータ判定部378は、3つ以上の基準メッセージ候補がある場合(例えば、1以上の基準メッセージ候補が示す値が3つ以上ある場合)、予測値に近い2つの基準メッセージ候補(例えば、2つの値)を抽出し、抽出した2つの基準メッセージ候補が示す値と予測値とに基づいて明確度を算出してもよい。
 なお、周期判定部377、又はデータ判定部378では、予測値との単純な値の差が小さいメッセージを基準メッセージと判定したが、これに限定されない。周期判定部377、又はデータ判定部378は、複数の基準メッセージ候補から、1つのメッセージを基準メッセージとして判定できる方法であればよく、例えば、実際の正常メッセージの受信時刻やデータ値などを真値としたときに、テストデータなどを用いて、事前に、真値と予測値のずれ量を学習し、そのずれ量の分布を加味して、基準メッセージを判定してもよい。例えば、周期判定部377、又はデータ判定部378は、実際の受信時刻が予測値から遅れる方向にずれることが少なければ、少しの遅れでも予測値から大きな差になるようにし、予測値より早い場合は、大きな差があっても少しの差になるようにしてもよい。また、周期判定部377、又はデータ判定部378は、ずれ量以外の指標を用いてもよいし、事前に学習するのではなく、受信したメッセージをリアルタイムに学習してもよい。この時、明確度の算出においても、分布を加味して算出する。
 なお、周期判定部377、又はデータ判定部378は、複数の基準メッセージ候補の情報と予測値との差から、明確度を算出するとしたが、これに限定されない。周期判定部377、又はデータ判定部378は、事前に、判定種別ごとに明確度を算出してもよい。この時、判定種別決定部376は、不正検知部371が保持している受信したメッセージに関連するルールの中で、一番明確度の高い判定種別を、基準メッセージを決定するために利用する判定種別として決定してもよい。
 なお、基準メッセージ情報保持部372が保持する基準メッセージの候補に関する情報としては、例えば、メッセージID、DLC、データ値、受信時刻などの情報を保持する。また、基準メッセージ情報保持部372は、基準メッセージを決定する際に必要となるメッセージIDごとのルールの情報を保持してもよい。また、データ値は、受信した全てのデータ値を保持していてもよいし、受信したデータ値のうちの特定の領域のデータ値のみを保存してもよいし、データ値をそのまま保存してもよいし、データ値に対して何らか演算した結果を保存してもよい。
 なお、不正検知部371は、受信したメッセージのうち、最終結果判定機能が「正常メッセージ」と判定したメッセージを基準メッセージの候補となるメッセージとして基準メッセージ情報保持部372へ通知するとしたが、これに限定されない。例えば、正常メッセージであるかどうかを判定するルールとは別に、基準メッセージであるかどうかを判定するルールを持ち、そのルールを満たすメッセージを基準メッセージ候補として、基準メッセージ情報保持部372へ通知してもよい。これにより、不正検知部371は、正常メッセージの中でもより基準メッセージにふさわしいメッセージのみを基準メッセージ候補とすることができる。また、逆に、不正検知部371は、正常メッセージから少し外れる異常メッセージを基準メッセージ候補とすることもでき、より広い範囲のメッセージから基準メッセージを決定することが出来る。
 [1.7 ECUの構成]
 図9は、本実施の形態における車載ネットワークシステム10に含まれるECU100の機能構成の一例を示すブロック図である。ECU100は、フレーム送受信部110と、フレーム解釈部120と、受信ID判断部130と、受信IDリスト保持部140と、フレーム処理部150と、データ取得部170と、フレーム生成部180とを有する。
 なお、これらの構成要素は機能構成要素であり、ECU100は、例えばプロセッサで実現される処理部、半導体メモリ等で実現される記憶部、入出力ポートで実現される入出力部等を備える情報処理装置として提供される。上記に挙げた各機能構成要素は、記憶部に保持されるプログラムの処理部による読み出し及び実行、記憶部による所定のデータの保持、若しくは入出力部を介してのデータの送受信、又はこれらの組み合わせで実現される。
 フレーム送受信部110は、バス200に対して、CANのプロトコルに従ったメッセージを送受信する。より具体的には、フレーム送受信部110は、バス200に送出されたメッセージを1bitずつ読み出し、読み出したメッセージをフレーム解釈部120に転送する。また、フレーム送受信部110は、フレーム生成部180より通知を受けたメッセージをバス200に送出する。
 フレーム解釈部120は、フレーム送受信部110よりメッセージの値を受け取り、CANプロトコルにおける各フィールドにマッピングするようにしてフレーム(メッセージ)の解釈を行う。この解釈においてIDフィールドと判断した一連の値を、フレーム解釈部120は受信ID判断部130へ転送する。
 フレーム解釈部120はさらに、受信ID判断部130から通知される判定結果に応じて、メッセージのIDフィールドの値及びIDフィールド以降に現れるデータフィールドをフレーム処理部150へ転送するか、メッセージの受信を中止するかを決定する。
 またフレーム解釈部120は、CANプロトコルに則っていないメッセージと判断した場合は、エラーフレームを送信するようにフレーム生成部180へ要求する。
 またフレーム解釈部120は、他のノードが送信したエラーフレームを受信したと判断した場合、読取中のメッセージを破棄する。
 受信ID判断部130は、フレーム解釈部120からIDフィールドの値を受け取り、受信IDリスト保持部140が保持しているメッセージIDのリストに従い、読み出したメッセージを受信するか否かの判定を行う。受信ID判断部130は、この判定の結果をフレーム解釈部120へ通知する。
 受信IDリスト保持部140は、ECU100が受信するメッセージIDのリストである受信IDリストを保持する。受信IDリストは、図4と同様であり、ここでは説明を省略する。
 フレーム処理部150は、受信したメッセージのデータに応じた処理を行う。処理の内容は、各ECU100によって異なる。例えば、ECU100aでは、時速が30kmを超えているときに、ドアが開いていることを示すメッセージを受信すると、アラーム音を鳴らすための処理を実行する。ECU100cは、ブレーキがかかっていないことを示すメッセージを受信しているときにドアが開くと、アラーム音を鳴らすための処理を実行する。これらの処理は説明を目的として挙げる例であり、ECU100は上記以外の処理を実行してもよい。このような処理を実行するために送出するフレームを、フレーム処理部150はフレーム生成部180に生成させる。
 データ取得部170は、各ECU100に接続されている機器状態又はセンサによる計測値等を示す出力データを取得し、フレーム生成部180に転送する。
 フレーム生成部180は、フレーム解釈部120から通知されたエラーフレーム送信の要求に従い、エラーフレームを構成してフレーム送受信部110へ送る。
 またフレーム生成部180は、データ取得部170より受け取ったデータの値に対してあらかじめ定められたメッセージIDを付けてメッセージフレームを構成し、フレーム送受信部110へ送る。
 [1.8 不正検知処理]
 図10は、本実施の形態における不正検知処理の一例を示すフロー図である。具体的には、図10は、不正検知処理機能群370での不正検知処理の一例を示すフロー図である。
 まず、不正検知部371は、フレーム処理部350からメッセージを受け取る(ステップS1001)。
 メッセージを受け取った不正検知部371は、周期的に送信されるメッセージの受信周期が次の受信周期に移ったかどうかを判定する(ステップS1002)。
 ステップS1002において、不正検知部371が次の受信周期に移っていると判定した場合(S1002でYes)、不正検知部371は基準メッセージ決定部375に新しい基準メッセージの決定を依頼し、基準メッセージ決定部375は基準メッセージを決定する(ステップS1003)。
 ステップS1003で新しい基準メッセージを決定した後、又はステップS1002において次の受信周期に移っていないと判定した場合(S1002でNo)、フレーム処理部350は、転送ルール保持部360に保持される転送ルールに従って、転送先のバスを決定する(ステップS1004)。
 フレーム処理部350は、フレーム解釈部320から受け取ったメッセージ内の各フィールドの値を不正検知処理機能群370へ通知し、異常メッセージであるか否かの判定を要求する。不正検知部371は、不正検知処理を行う(ステップS1005)。不正検知部371は、ID判定機能などの各種の判定機能を利用して、受信したメッセージが異常メッセージであるか正常メッセージであるかの判定を行う。このとき、不正検知部371の各種の判定機能は、必要に応じて、ステップS1003で決定された基準メッセージを用いて判定を行う。
 不正検知部371の最終結果判定機能は、ID判定機能などの各種の判定機能の判定の結果から総合的に、当該メッセージについての最終的な判定、つまり受信したメッセージが異常メッセージであるか否かの判定を行い(ステップS1006)、その判定の結果をフレーム処理部350へ通知する。ステップS1006は、判定ステップの一例である。
 異常メッセージであると不正検知部371が判定した場合(ステップS1006でYes)、当該メッセージの保存や転送は行われない。
 ステップS1006でメッセージが異常メッセージではなく正常メッセージであると判定された場合(ステップS1006でNo)、不正検知部371は、メッセージ保存処理部373に正常メッセージの保存を依頼し、メッセージ保存処理部373により正常メッセージに関する情報を正常メッセージ情報保持部374へ保存(格納)する処理と、不正検知部371が基準メッセージ候補として基準メッセージ情報保持部372へメッセージを保存(格納)する処理を行う(S1007)。ステップS1007は、保存ステップの一例である。
 その後、フレーム処理部350は、そのメッセージをステップS1004で決定した転送先のバスに、転送するようフレーム生成部380へ要求する。フレーム生成部380は、フレーム処理部350からの要求を受けて、指定された転送先が受信するようメッセージを生成し、このメッセージをフレーム送受信部310に送出させる。つまり、フレーム生成部380は、フレーム送受信部310を介してメッセージを転送先に転送する。(ステップS1008)。
 [1.9 基準メッセージ決定処理]
 図11は、本実施の形態における基準メッセージ決定処理の一例を示すフロー図である。具体的には、図11は、不正検知処理機能群370での基準メッセージの決定処理の一例を示すフロー図である。
 まず、基準メッセージ決定部375は、基準メッセージ情報保持部372から基準メッセージ候補を取得する(S1101)。
 基準メッセージ決定部375は、基準メッセージ情報保持部372から取得した基準メッセージ候補となるメッセージが複数あるか、一つなのかを判定する(S1102)。
 ステップS1102において、基準メッセージ候補となるメッセージが複数あった場合(ステップS1102でYes)、基準メッセージ決定部375は、判定種別決定部376に基準メッセージを決定するための判定方式の決定を依頼する。なお、複数の基準メッセージ候補には、異常メッセージが含まれ得る。
 判定種別決定部376は、不正検知部371からメッセージIDに紐付けられたルールを取得し、周期に関するルール、及び、データ値の変化に関するルールの2つのルールがあるかどうかを確認する(S1103)。
 ステップS1103において、周期に関するルール、及び、データ値の変化に関するルールの両方のルールがあった場合(ステップS1103でYes)、判定種別決定部376は、周期判定部377に周期による判定を依頼し、周期判定部377が複数の基準メッセージ候補の受信時刻から基準メッセージを判定する(S1104)。さらに、判定種別決定部376は、データ判定部378にデータ値の変化による判定を依頼し、データ判定部378が複数の基準メッセージ候補のデータ値から基準メッセージを判定する(S1105)。
 判定種別決定部376は、周期判定部377による判定結果と、データ判定部378による判定結果とから、どちらの判定種別(判定方法)を利用すべきかを決定し(S1106)、基準メッセージ決定部375へ通知する。判定種別決定部376は、例えば、周期判定部377から取得した明確度と、データ判定部378から取得した明確度とに基づいて、ステップS1106の判定を行う。例えば、判定結果は、明確度を含んでいてもよい。ステップS1106は、第1決定ステップの一例である。
 基準メッセージ決定部375は、判定種別決定部376から通知された判定方法を用いて、最終的な基準メッセージを決定する(S1107)。基準メッセージ決定部375は、明確度に基づいて基準メッセージを決定することで、1以上の基準メッセージ候補のうち異常メッセージ以外のメッセージを基準メッセージに決定することができる。ステップS1107は、第2決定ステップの一例である。
 ステップS1103においてNoの場合、判定種別決定部376は、周期に関するルールがあるかどうかを確認する(S1108)。ステップS1108で周期に関するルールがあった場合(ステップS1108でYes)、判定種別決定部376は、周期判定部377に周期による判定を依頼し、周期判定部377が複数の基準メッセージ候補の受信時刻から基準メッセージを判定する(S1109)。判定種別決定部376は、周期判定部377が判定した基準メッセージを最終的な基準メッセージとして決定する(S1110)。
 ステップS1108においてNoの場合、判定種別決定部376は、データ変化に関するルールがあるかどうかを確認する(S1111)。ステップS1111でデータ変化に関するルールがあった場合(S1111でYes)、判定種別決定部376は、データ判定部378にデータ値の変化による判定を依頼し、データ判定部378が複数の基準メッセージ候補のデータ値の変化量から基準メッセージを判定する(S1112)。判定種別決定部376は、データ判定部378が判定した基準メッセージを最終的な基準メッセージとして決定する(S1113)。
 ステップS1111においてNoの場合、判定種別決定部376は判定不能として基準メッセージ決定部375へ通知する。基準メッセージ決定部375は、あらかじめ決められた方法により、複数の基準メッセージ候補から、最終的な基準メッセージを決定する(S1114)。
 また、ステップS1102においてNoの場合、つまり基準メッセージ候補となるメッセージが1つのみあった場合、基準メッセージ決定部375は、当該1つの基準メッセージ候補を基準メッセージに決定する(S1115)。この場合、明確度を算出する処理は、行われない。
 なお、基準メッセージ決定部375は、周期に関するルールとデータ値の変化に関するルールとの両方のルールがあるかどうかを判定し、両方のルールがあった場合にのみ、判定種別決定部376にどちらの判定種別を利用すべきかの判定を依頼してもよい。この時、基準メッセージ決定部375は、周期に関するルールしかない場合、周期判定部377に周期による判定を依頼し、データ値に関するルールしかない場合、データ判定部378にデータ値による判定を依頼し、どちらのルールもない場合は、あらかじめ決められた方法により判定し、基準メッセージを決定してもよい。周期やデータ値に関するルールがない場合であっても、受信時刻、又は、データ値が予測できる場合には、その予測値を使って、基準メッセージを決定しても良い。
 [1.10 効果]
 本実施の形態では、不正検知処理機能群370での不正検知処理において、不正検知部371の各種判定機能が利用する基準メッセージを決定する際に、周期判定とデータ値判定とにおいて、より明確に判定できる判定種別を選択し、選択した判定種別による判定結果から基準メッセージを決定する。これにより、従来起こり得た、異常メッセージを基準メッセージとして用いた結果、不正検知が正しくできない状況の発生を抑えることができるので、より高い精度で異常メッセージであるか否かの判定をすることができる。その結果、車載ネットワークシステム10の安全が高められる。
 (実施の形態2)
 [2.概要]
 ここでは、実施の形態2として、不正検知処理機能群の一部の機能が車両の外のサーバに配置され、ゲートウェイとサーバとが通信する車載ネットワークシステムについて、図面を参照しながら説明する。
 [2.1 車載ネットワークシステムの全体構成]
 図12は、本実施の形態における車載ネットワークシステム10aの全体構成を示すブロック図である。図12において、図1に示される車載ネットワークシステム10と共通の構成要素については共通の参照符号を用いて示し、その説明を省略する。
 車載ネットワークシステム10aは、CANネットワークで構成され、ECU(図中のECU100a、ECU100b、ECU100c、及びECU100dであり、以下ではこれらを集合的に、又は特定しない一部を指して、以下ではECU100とも表記する)と、バス(図中のバス200a及びバス200bであり、以下ではこれらを集合的に、又は特定しない一方を指して、以下ではバス200とも表記する)と、ゲートウェイ300bと、外部ネットワーク400と、サーバ500とを備える。
 ゲートウェイ300bは、ECU100a及びECU100bが接続されているバス200aと、ECU100c及びECU100dが接続されているバス200bとを接続している。ゲートウェイ300bは一方のバスから受信したメッセージを、もう一方のバスに転送する機能を持つ。ゲートウェイ300bもまた、CANネットワーク上ではひとつのノードである。
 外部ネットワーク400は、ゲートウェイ300bとサーバ500とが通信するための通信ネットワークである。外部ネットワーク400の通信方法は、有線であっても無線であってもよい。また、無線通信方式は特に限定されないが、例えば既存技術であるWi-Fi、3G、又はLTE(Long Term Evolution)であってもよい。
 サーバ500は、外部ネットワーク400を介してゲートウェイ300bと通信を行う。
 ゲートウェイ300bとサーバ500とは、それぞれが実施の形態1における不正検知処理機能群370の一部の機能を分担して備え、ゲートウェイ300bとサーバ500とが連携して動作することで実施の形態1における不正検知処理機能群370の不正検知処理を実行する。
 [2.2 ゲートウェイの構成]
 図13は、本実施の形態における車載ネットワークシステム10aに含まれるゲートウェイ300bの機能構成の一例を示すブロック図である。図13において、図3と共通の構成要素については共通の参照符号で示し、説明を省略する。以下、ゲートウェイ300bについて、ゲートウェイ300との差異点を中心に説明する。
 ゲートウェイ300bは、ゲートウェイ300の構成における不正検知処理機能群370に代えて不正検知処理機能群370bを有し、また、さらに外部通信部390を有する点が異なる。これらの構成要素も機能構成要素であり、ゲートウェイ300bにおいて記憶部に保持されるプログラムの処理部による読み出し及び実行、記憶部による所定のデータの保持、若しくは入出力部を介してのデータの送受信、又はこれらの組み合わせで実現される。
 不正検知処理機能群370bは、受信したメッセージが異常メッセージであるか否かの判定を、サーバ500と通信し、連携して実行する。不正検知処理機能群370bに含まれる構成の詳細は後述する。
 外部通信部390は、サーバ500との通信を行う。
 [2.3 不正検知処理機能群の構成]
 図14は、本実施の形態における不正検知処理機能群370bの機能構成の一例を示すブロック図である。図14において、図6と共通の構成要素は共通の参照符号で示し、説明を省略する。
 不正検知処理機能群370bは、不正検知部371と、メッセージ保存処理部373bと、周期判定部377bと、データ判定部378bとを有する。
 メッセージ保存処理部373bは、不正検知部371の判定結果を受けて、受信したメッセージが正常メッセージであり、保存が必要と判定した場合には、外部通信部390を介してサーバ500と通信を行い、サーバ500に正常メッセージに関する情報を送信して保存させる。メッセージの保存の要否の判定については、実施の形態1と同様である。
 周期判定部377b及びデータ判定部378bは、判定種別決定部376からの判定要求に応じて、複数の基準メッセージ候補から基準メッセージを判定する。周期判定部377b及びデータ判定部378bは、この判定を行う際に、外部通信部390を介してサーバ500と通信を行い、サーバ500で生成された予測モデルを受信し、その受信した予測モデルを用いて予測値を計算する。
 なお、サーバ500での予測モデルの生成では、機械学習、統計的処理又は確率理論等の方式を用いて、正常メッセージに関する情報のモデルを取得し、そのモデルを予測モデルとしてもよい。また、サーバ500では、予測モデルの生成から周期判定部377b及びデータ判定部378bからの依頼に応じた予測値の計算までを行い、周期判定部377b及びデータ判定部378bは、予測値から基準メッセージを判定する処理のみを行ってもよい。
 なお、不正検知処理機能群370bとサーバ500との処理の分担は、上記に限定されず、適宜決定されるとよい。
 [2.4 サーバの構成]
 図15は、本実施の形態におけるサーバ500の機能構成の一例を示すブロック図である。サーバ500は、正常メッセージ情報保持部374bと、予測モデル生成部379とを有する。これらの構成要素は機能構成要素であって、サーバ500は、いわゆるサーバコンピュータであり、プロセッサ等の情報処理装置、半導体メモリ等の記憶装置、入出力ポートを含む入出力部等を備える1台以上のコンピュータで実現される。上記に挙げた各機能構成要素は、記憶部に保持されるプログラムの処理部による読み出し及び実行、記憶部による所定のデータの保持、若しくは入出力部を介してのデータの送受信、又はこれらの組み合わせで実現される。
 正常メッセージ情報保持部374bは、ゲートウェイ300bのメッセージ保存処理部373から保存を指示された正常メッセージに関する情報を保持する。また、予測モデル生成部379からの要求に応じて、保持している正常メッセージに関する情報を出力する。
 予測モデル生成部379は、正常メッセージ情報保持部374bから、正常メッセージに関する情報を取得し、過去に受信した正常メッセージから受信想定時刻、及び、データ値の少なくとも一方を予測する。この時、受信想定時刻の予測には受信時刻情報のみを用いて予測しても良いし、さらにデータ値を加えて予測してもよい。また、同一IDのメッセージのみを用いて予測してもよいし、さらに他のIDのメッセージも加えて予測してもよい。具体的な予測方法としては、機械学習、統計的処理、又は確率理論を用いて、正常メッセージに関する情報からAR(AutoRegressive)モデル、ARMA(AutoRegressive Moving Average)モデル、HMM(Hidden Markov Model)、ベイジアンモデル(Bayesian Model)、SVM(Support Vector Machine)、ニューラルネットワーク、又はDeep Learningなどのモデル(ネットワーク)を生成し、そのモデルを用いて、受信するメッセージの受信想定時刻、又は、想定データ値に関する予測値を算出してもよい。また、上記に示していない予測方法を用いて予測してもよい。
 また、予測モデル生成部379は、ゲートウェイ300bの周期判定部377b、又はデータ判定部378bからの要求に応じて、予測モデルを送信する。
 なお、サーバ500は、複数の車両1と通信し、各車両1における不正検知処理機能群の一部の機能を担ってもよい。この場合、サーバ500は、それぞれの車両1に対して個別の正常メッセージ情報保持部374b及び予測モデル生成部379を有してもよいし、通信する複数の車両1に対して、一組の正常メッセージ情報保持部374b及び予測モデル生成部379を有してもよい。またサーバ500は、通信する複数の車両1の一部に対して一組の正常メッセージ情報保持部374b及び予測モデル生成部379を有してもよい。複数の車両1に対して一組を備える場合、正常メッセージ情報保持部374bは、各車両1から取得した正常メッセージに関する情報を、各車両1を識別する情報と一緒に保持する。
 また、予測モデル生成部379は、各車両1から受信した情報から予測モデルを個別に生成し、個別のモデルを各車両1へ送信してもよいし、各車両1からの情報を統合したものを用いて予測モデルを生成し、各車両1へそのモデルを送信してもよい。
 ここで、各車両1からの情報を統合する方法は、例えば全ての車両1からの情報を統合してもよいし、各車両1の製造メーカ又は車種、さらに型式、グレードごとに統合してもよい。又は、各車両1の車両クラス(大きさ、排気量等)ごと、各車両1の所在地ごと、又は各車両1が持つ機能(例えば、自動運転機能、運転支援機能、通信機能等)ごとに統合してもよい。又は、各車両1上のECU100等で実行されるファームウェア又はソフトウェアの種類若しくはさらにバージョンごとに統合してもよい。また、これらの統合方法の組み合わせでもよい。
 [2.5 効果]
 本実施の形態では、ゲートウェイ300bと車両1の外部のサーバ500とが通信し、実施の形態1における不正検知処理機能群370の一部の機能が、サーバ500によって担われる。
 従来では、個々の車両1で収集される情報のみから予測モデルが生成され、予測モデルの精度が限られていた。しかし、本実施の形態においては、サーバ500に情報を保持することで、複数の車両1の情報から予測モデルを生成することが可能にある。これにより、より多くの正常メッセージに基づいて予測モデルが迅速に、又はより高い精度で生成される。そして各車両1ではこの予測モデルが用いられることで、より高い精度での基準メッセージの判定をすることができる。その結果、車載ネットワークシステム10aの安全が高められる。また、正常メッセージに関する情報がサーバ500に保持されるため、ゲートウェイ300bに大容量の情報保持装置を備える必要が無く、各車両1の製造及び維持コストを抑えることも可能となる。
 [3.その他の変形例]
 本開示は、上記で説明した各実施の形態に限定されないのはもちろんであり、本開示の趣旨を逸脱しない限り、当業者が思いつく各種変形を実施の形態に施したもの、及び異なる実施の形態における構成要素を組み合わせて構築される形態も、本開示の範囲内に含まれる。例えば以下のような変形例も本開示に含まれる。
 (1)上記の実施の形態では、不正検知処理機能群370の基準メッセージ決定部375は、不正検知部371から基準メッセージの決定を依頼されるとしたが、これに限定されない。図16は、本変形例における不正検知処理機能群370cの機能構成の第1例を示すブロック図である。例えば、図16に示すように、基準メッセージを決定するタイミングをフレーム処理部350が決定し、フレーム処理部350から基準メッセージ決定部375へ基準メッセージの決定が依頼されてもよい。
 これにより、基準メッセージを必要に応じて任意のタイミングで決定することが可能となる。
 (2)上記の実施の形態では、不正検知処理において、周期的に送信されるメッセージの受信周期が次に移った際に、基準メッセージ候補から基準メッセージを決定するとしたが、これに限定されない。図17は、本変形例における不正検知処理の一例を示すフロー図である。例えば、図17に示すように、受信したメッセージが正常メッセージであると判定された場合(ステップS1006でNo)、不正検知部371は、同じ受信周期内に正常と判定されたメッセージが複数あるかどうかを判定する(S1010)。
 ステップS1010で複数あると判定された場合(ステップS1010でYes)、不正検知部371は、次の受信周期に対する基準メッセージの決定を、基準メッセージ決定部375へ依頼し、基準メッセージ決定部375は次の受信周期における基準メッセージを決定する(S1011)。この処理は、実施の形態1における基準メッセージを決定する処理(S1003、図11)と同じであるため詳細は省略する。
 ステップS1010で複数ない、つまり、受信周期において初めの正常メッセージであると判定された場合(ステップS1010でNo)、不正検知部371は、正常メッセージである受信メッセージを、次の受信周期に対する基準メッセージ候補に決定する(S1012)。
 このように、不正検知処理機能群370cの基準メッセージ決定部375は、現在の受信周期において正常と判定された1以上のメッセージを基準メッセージ候補として、次の受信周期における基準メッセージを、次の受信周期の前に決定する。ステップS1011及び1012は、第2決定ステップの一例である。
 以降は、実施の形態1と同様に、不正検知部371は、正常メッセージを正常メッセージ情報保持部374へ、基準メッセージ候補を基準メッセージ情報保持部372へ保存し(S1007)、フレーム処理部350は、転送先にメッセージを転送する(S1008)。それぞれの詳細は省略する。
 また、不正検知部371は、周期的に送信されるメッセージの受信周期が次に移った際(ステップS1002でYes)に、基準メッセージ情報保持部372へ1つだけ保存されている基準メッセージ候補を、新しい受信周期における基準メッセージとして更新する(S1009)。
 これにより、基準メッセージ候補が常に1つとなり、基準メッセージ情報保持部372へ保持するデータ量を削減できる。特に、異常なメッセージが連続して送信された場合に、基準メッセージ候補として保存すべきデータ量の増加を抑えることができる。また、実施の形態1では、基準メッセージ候補の数がシステム動作時に動的に変化してしまうため、基準メッセージ候補のメッセージを保存する領域を可変長にするか、あらかじめ上限を決めて基準メッセージ候補を保存し、上限を超えた場合は入れ替えるか、破棄するかする必要があったが、基準メッセージ候補を1つにすることができるため、システムの簡素化が可能となる。
 (3)上記実施の形態では、周期判定部377及びデータ判定部378がそれぞれ個別に予測値を算出するとしたが、これに限定されない。図18は、本変形例における不正検知処理機能群370dの機能構成の第2例を示すブロック図である。例えば、図18に示すように、不正検知処理機能群370dが予測モデル生成部379を有し、生成した予測モデルを周期判定部377及びデータ判定部378が利用して予測値を算出してもよいし、予測モデル生成部379自身が、生成した予測モデルを使って予測値を算出し、周期判定部377及びデータ判定部378へ通知しても良い。予測モデル生成部379は、実施の形態2において説明した機能を持つ。
 これにより、予測モデルを周期判定部377とデータ判定部378との両方が持つ必要がなくなり、記憶領域のコストの節約、モデル生成処理又は予測値の算出処理などを減らすことができる。また、周期判定部377での受信時刻のみを用いた予測又はデータ判定部378でのデータ値のみを用いた予測ではなく、複数の情報を利用した予測モデルの生成と予測を行うことで、予測精度が向上し、最終的には、不正検知部371での検知精度を向上させることができる。
 (4)上記実施の形態では、不正検知処理機能群370は、不正検知部371と、基準メッセージ情報保持部372と、メッセージ保存処理部373と、正常メッセージ情報保持部374と、基準メッセージ決定部375と、判定種別決定部376と、周期判定部377と、データ判定部378とを有するとしたが、これに限定されない。図19は、本変形例における不正検知処理機能群370eの機能構成の第3例を示すブロック図である。例えば、図19に示すように、不正検知処理機能群370eは、不正検知部371と、基準メッセージ情報保持部372と、基準メッセージ決定部375と、判定種別決定部376と、周期判定部377と、データ判定部378とを有してもよいし、他の構成要素をさらに含んでもよい。この場合、例えば、周期判定部377及びデータ判定部378は、基準メッセージ情報保持部372に保持されている基準メッセージを用いて判定処理を行う。
 (5)上記実施の形態では、ECU100は、フレーム送受信部110と、フレーム解釈部120と、受信ID判断部130と、受信IDリスト保持部140と、フレーム処理部150と、データ取得部170と、フレーム生成部180と、から構成されるとしたが、これに限定されるものではない。
 図20は、本変形例におけるECU100eの機能構成の第1例を示すブロック図である。例えば、図20に示すように、ECU100eが不正検知処理機能群370を備えてもよい。この時、フレーム処理部150が、不正検知処理機能群370へ異常メッセージであるかどうかの判定を依頼してもよいし、フレーム解釈部120が、不正検知処理機能群370へ異常メッセージであるかどうかの判定を依頼してもよい。なお、複数のECU100eのそれぞれが不正検知処理機能群370を有していてもよいし、少なくとも1つのECU100eが不正検知処理機能群370を有していてもよい。この場合、ゲートウェイ300は、不正検知処理機能群370を有していなくてもよい。
 図21は、本変形例におけるECU100fの機能構成の第2例を示すブロック図である。例えば、図21に示すように、ECU100fは、フレーム送受信部110と、フレーム解釈部120と、フレーム生成部180と、不正検知処理機能群370とから構成されてもよい。この場合、フレーム解釈部120は、全てのメッセージを受信し、不正検知処理機能群370へ異常メッセージであるかどうかの判定を依頼する。
 また、ECU100fは、図21の構成に加えて、受信ID判断部130と、受信IDリスト保持部140と、を有し、受信IDリスト保持部が保持する受信IDリストに記載されたメッセージIDを持つメッセージのみを受信し、そのメッセージに関して、不正検知処理機能群370へ異常メッセージであるかどうかの判定を依頼してもよい。なお、不正検知処理機能群370の構成は、不正検知処理機能群370、370bのどちらであってもよい。
 これにより、ゲートウェイ300だけでなく、ECU100でも、バス200に送信されているメッセージが、異常メッセージであるかどうかを判定できる。
 図22は、本変形例におけるECU100gの機能構成の第3例を示すブロック図である。さらに、図22に示すように、ECU100gは、バス200へ送信するデータを他から取得する送信データ取得部171を有し、不正検知処理機能群370は、送信データ取得部171から受信したデータが異常メッセージであるかどうかを判定し、異常メッセージではないと判定した場合のみ、フレーム生成部180へ、メッセージの送信を依頼してもよい。
 これにより、カーナビゲーションなどと一緒に利用されるECU100gで、カーナビゲーションなどから異常メッセージが送信されるような場合において、それを防止することができる。
 なお、上記の図20~図22に記載の不正検知処理機能群370は、不正検知処理機能群370b~370eのいずれかに置き換えられてもよい。
 (6)上記実施の形態では、不正を検知したアクションとして、受信したメッセージを転送しない例を示したが、不正検知後のアクションはこれに限らない。例えばゲートウェイ300は、メッセージの受信中に不正検知処理を行うことで、異常メッセージであると判定した段階で、エラーフレームの送信により受信中のメッセージを無効化してもよい。
 これにより、異常メッセージが見つかったネットワークに接続された他のECU100に対して、異常メッセージを受信できなくすることができる。また、転送しないメッセージに対しても、適用できる。
 さらに、ゲートウェイ300は、ユーザに異常が発生したことを通知してもよいし、車両をフェールセーフモードに移行させてもよいし、発生した異常をログに残してもよいし、発生した異常について、携帯電話網などを通じて、サーバに通知してもよい。
 これにより、不正検知後の柔軟な対応が可能となる。また異常メッセージと判定した系列について、データの値又は受信間隔の集合を異常なラベルとして学習してもよい。
 また、ECU100は、メッセージの受信中に不正検知処理を行うことで、異常メッセージであると判定した段階で、エラーフレームの送信により受信中のメッセージを無効化してもよい。これにより、異常メッセージが見つかったネットワークに接続された他のECUに対して、異常メッセージを受信できなくすることができる。
 (7)上記実施の形態では、標準フォーマットのIDにおける例を示したが、拡張フォーマットのIDであってもよい。
 (8)上記実施の形態では、メッセージは平文で送信される例を示したが、暗号化されていてもよい。またメッセージにメッセージ認証コードを含んでいてもよい。
 (9)上記実施の形態では、正常メッセージに関する情報及び基準メッセージに関する情報を暗号化せずに保持している例を示したが、これらを暗号化して保持していてもよいし、改ざんされたことを検出できる仕組みを用いて保存してもよい。
 (10)上記の実施の形態では、CANプロトコルに従って通信するネットワーク通信システムの例として車載ネットワークを示した。本開示に係る技術は、車載ネットワークでの利用に限定されるものではなく、ロボット、産業機器等のネットワークその他、車載ネットワーク以外のCANプロトコルに従って通信するネットワーク通信システムに利用してもよい。
 また、車載ネットワークとしてCANプロトコルを用いていたが、これに限るものではない。例えば、CAN-FD(CAN with Flexible Data Rate)、FlexRay、Ethernet、LIN(Local Interconnect Network)、MOST(Media Oriented Systems Transport)などを用いてもよい。あるいはこれらのネットワークをサブネットワークとして、組み合わせたネットワークであってもよい。
 (11)上記の実施の形態における各装置は、具体的には、マイクロプロセッサ、ROM、RAM、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。RAM又はハードディスクユニットには、コンピュータプログラムが記録されている。マイクロプロセッサが、コンピュータプログラムに従って動作することにより、各装置は、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
 (12)上記の実施の形態における各装置は、構成する構成要素の一部又は全部は、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に置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてありえる。
 (13)上記の各装置を構成する構成要素の一部又は全部は、各装置に脱着可能なICカード又は単体のモジュールから構成されているとしてもよい。ICカード又はモジュールは、マイクロプロセッサ、ROM、RAMなどから構成されるコンピュータシステムである。ICカード又はモジュールは、上記の超多機能LSIを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムに従って動作することにより、ICカード又はモジュールは、その機能を達成する。このICカード又はこのモジュールは、耐タンパ性を有するとしてもよい。
 (14)本開示は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、コンピュータプログラムからなるデジタル信号であるとしてもよい。
 また、本開示は、コンピュータプログラム又はデジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD-ROM、MO、DVD、DVD-ROM、DVD-RAM、BD(Blu-ray(登録商標) Disc)、半導体メモリなどに記録したものとしてもよい。また、これらの記録媒体に記録されているデジタル信号であるとしてもよい。
 また、本開示は、コンピュータプログラム又はデジタル信号を、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
 また、本開示は、マイクロプロセッサとメモリを備えたコンピュータシステムであって、メモリは、上記コンピュータプログラムを記録しており、マイクロプロセッサは、コンピュータプログラムに従って動作するとしてもよい。
 また、プログラム又はデジタル信号を記録媒体に記録して移送することにより、又はプログラム又はデジタル信号を、ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
 (15)上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
 (16)また、ブロック図における機能ブロックの分割は一例であり、複数の機能ブロックを1つの機能ブロックとして実現したり、1つの機能ブロックを複数に分割したり、一部の機能を他の機能ブロックに移してもよい。また、類似する機能を有する複数の機能ブロックの機能を単一のハードウェア又はソフトウェアが並列又は時分割に処理してもよい。
 (17)また、上記実施の形態において説明された複数の処理の順序は一例である。複数の処理の順序は、変更されてもよいし、複数の処理は、並行して実行されてもよい。また、複数の処理の一部は、実行されなくてもよい。
 (18)また、上記実施の形態における基準メッセージの決定方法を実行する基準メッセージの決定システムは、1以上のプロセッサと、記憶部とを備える。ここでの決定システムは、複数の装置により構成されてもよいし、1つの装置により構成されていてもよい。
 (19)また、上記実施の形態では、基準メッセージの決定方法は、車載ネットワークシステムにおける不正通信の検知に用いられる例について説明したが、これに限定されない。基準メッセージの決定方法は、建物内(例えば、宅内、ビル内)のネットワークシステムなどにおける不正通信の検知に用いられてもよい。基準メッセージの決定方法は、例えば、メッセージの送信タイミングが予め定められているネットワークシステムにおける不正通信の検知に用いられてもよい。
 以上、一つ又は複数の態様に係る車載ネットワークにおける、不正メッセージによる不正制御を目的とする不正通信検知の基準として用いられるメッセージの決定のための技術について実施の形態及びその変形例に基づいて説明した。これらの各実施の形態及びその変形例では、車載ネットワークシステムに接続されて通信するゲートウェイ若しくはECU、又はこれらとサーバコンピュータとの組み合わせによって不正通信検知の基準として用いられるメッセージが決定される。このような不正通信検知を実行する、1個以上のプロセッサ及び記憶部を含むシステムを、本開示では不正通信検知基準決定システムと呼ぶ。したがって、不正通信検知基準決定システムは車載ネットワークシステムに接続される1台のゲートウェイのように1個の装置によって実現されるものも、このようなゲートウェイとECUとの組み合わせ、又はゲートウェイ若しくはECUと遠隔にあるサーバコンピュータとの組み合わせのように複数個の装置によって実現されるものも含む。
 また、この技術は、上記各実施の形態又はその変形例において、各構成要素が実行する処理のステップの一部又は全部を含む方法として、又は不正通信検知基準決定システムのプロセッサに実行されて、不正通信検知基準決定システムがこの方法を実施させるためのプログラムとしても実現可能である。
 また、上記実施の形態又はその変形例において、特定の構成要素が実行する処理を特定の構成要素の代わりに別の構成要素が実行してもよい。また、複数の処理の順序が変更されてもよいし、複数の処理が並行して実行されてもよい。
 本開示にかかる決定方法等は、複数の判定方式による判定結果のなかで、明確度が高く判定できる判定方式の判定結果を用いて基準メッセージ候補の中から基準メッセージを選定することで異常を検知するための基準メッセージを決定する。これにより従来では、正常メッセージと異常メッセージの識別が困難であったメッセージに関しても、精度よく、正常なメッセージを識別することができ、ネットワークの保護が可能となる。
 1  車両
 10、10a  車載ネットワークシステム
 100、100a、100b、100c、100d、100e、100f、100g  ECU
 101  エンジン
 102  ブレーキ
 103  ドア開閉センサ
 104  ウィンドウ開閉センサ
 110、310  フレーム送受信部
 120、320  フレーム解釈部
 130、330  受信ID判断部
 140、340  受信IDリスト保持部
 150、350  フレーム処理部
 170  データ取得部
 171  送信データ取得部
 180、380  フレーム生成部
 200、200a、200b  バス
 300、300b  ゲートウェイ
 360  転送ルール保持部
 370、370b、370c、370d、370e  不正検知処理機能群
 371  不正検知部
 372  基準メッセージ情報保持部
 373、373b  メッセージ保存処理部
 374、374b  正常メッセージ情報保持部
 375  基準メッセージ決定部
 376  判定種別決定部
 377、377b  周期判定部
 378、378b  データ判定部
 379  予測モデル生成部
 390  外部通信部
 400  外部ネットワーク
 500  サーバ

Claims (12)

  1.  ネットワーク及び前記ネットワークに接続される1以上の電子制御ユニットを含む車載ネットワークシステムにおける不正通信の検知に用いられる基準メッセージの決定方法であって、
     前記基準メッセージは、前記ネットワークに送出されるメッセージが異常メッセージであるか否かの判定の基準に用いられるメッセージであり、
     前記決定方法は、
     前記基準メッセージの候補である1以上の基準メッセージ候補に関する候補情報を保存する保存ステップと、
     前記保存ステップで保存された前記候補情報に含まれる前記1以上の基準メッセージ候補から前記基準メッセージを決定するための前記決定方法を、前記1以上の基準メッセージ候補に基づいて決定する第1決定ステップと、
     前記第1決定ステップで決定された前記決定方法を用いて、前記1以上の基準メッセージ候補から前記基準メッセージを決定する第2決定ステップとを含む、
     決定方法。
  2.  前記第1決定ステップでは、前記基準メッセージを決定するための複数の決定方法のそれぞれにおいて、前記1以上の基準メッセージ候補の中から当該決定方法により前記基準メッセージを決定することの適切度合いを示す適切度を算出し、算出された前記適切度に基づいて前記決定方法を決定する、
     請求項1に記載の決定方法。
  3.  前記第1決定ステップでは、前記複数の決定方法の中で、前記適切度が最も高い決定方法を、前記1以上の基準メッセージ候補から前記基準メッセージを決定するための決定方法に決定する、
     請求項2に記載の決定方法。
  4.  前記適切度は、前記ネットワークに送出されるメッセージに対する予測値と、前記1以上の基準メッセージ候補が示す値それぞれとの第1の差を算出し、算出された2以上の前記第1の差同士の差である第2の差として算出される、
     請求項3に記載の決定方法。
  5.  前記第1決定ステップにおいて、前記1以上の基準メッセージ候補が示す値が3つ以上ある場合、前記予測値に近い2つの前記値を抽出し、抽出した2つの前記値と前記予測値とに基づいて2つの前記第1の差を算出する、
     請求項4に記載の決定方法。
  6.  前記予測値は、過去に決定された前記基準メッセージが示す値に基づいて算出される、
     請求項4又は5に記載の決定方法。
  7.  前記予測値は、予め作成された予測モデルに同一IDの前記1以上の基準メッセージ候補を入力することで取得される、
     請求項4又は5に記載の決定方法。
  8.  前記決定方法は、前記ネットワークに送出されるメッセージが送信される周期に基づいて前記基準メッセージを決定するための周期判定方法、及び、前記ネットワークに送出されるメッセージに含まれるデータの値に基づいて前記基準メッセージを決定するためのデータ判定方法の少なくとも一つを含む、
     請求項1~7のいずれか1項に記載の決定方法。
  9.  さらに、前記ネットワークに送出されるメッセージが異常メッセージであるか否かを判定する判定ステップを含み、
     前記1以上の基準メッセージ候補には、前記判定ステップにおいて異常であると判定された前記異常メッセージを含み、
     前記第2決定ステップでは、前記1以上の基準メッセージ候補のうち前記異常メッセージ以外のメッセージが前記基準メッセージに決定される、
     請求項1~8のいずれか1項に記載の決定方法。
  10.  さらに、前記ネットワークに送出されるメッセージが異常メッセージであるか否かを判定する判定ステップを含み、
     前記第2決定ステップでは、現在の受信周期において正常と判定された1以上のメッセージを基準メッセージ候補として、次の受信周期における基準メッセージを、前記次の受信周期の前に決定する、
     請求項1~8のいずれか1項に記載の決定方法。
  11.  ネットワーク及び前記ネットワークに接続される1以上の電子制御ユニットを含む車載ネットワークシステムにおける不正通信の検知に用いられる基準メッセージの決定システムであって、
     1以上のプロセッサと、
     記憶部とを備え、
     前記基準メッセージは、前記ネットワークに送出されるメッセージが異常メッセージであるか否かの判定の基準に用いられるメッセージであり、
     前記1以上のプロセッサは、前記記憶部を用いて、
     前記基準メッセージの候補である1以上の基準メッセージ候補に関する候補情報を保存し、
     保存された前記候補情報に含まれる前記1以上の基準メッセージ候補から前記基準メッセージを決定するための決定方法を、前記1以上の基準メッセージ候補に基づいて決定し、
     前記1以上の基準メッセージ候補から、前記決定方法を用いて前記基準メッセージを決定する、
     決定システム。
  12.  請求項1~10のいずれか1項に記載の決定方法をコンピュータに実行させるためのプログラム。
PCT/JP2020/046435 2019-12-23 2020-12-11 決定方法、決定システム及びプログラム WO2021131824A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2021567259A JPWO2021131824A1 (ja) 2019-12-23 2020-12-11
CN202080081066.1A CN114731301B (zh) 2019-12-23 2020-12-11 决定方法、决定***以及程序记录介质
EP20907308.9A EP4084418A4 (en) 2019-12-23 2020-12-11 DETERMINATION PROCESS, DETERMINATION SYSTEM AND PROGRAM
US17/840,224 US20220311781A1 (en) 2019-12-23 2022-06-14 Selection method, selection system, and recording medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019231730 2019-12-23
JP2019-231730 2019-12-23

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/840,224 Continuation US20220311781A1 (en) 2019-12-23 2022-06-14 Selection method, selection system, and recording medium

Publications (1)

Publication Number Publication Date
WO2021131824A1 true WO2021131824A1 (ja) 2021-07-01

Family

ID=76574453

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/046435 WO2021131824A1 (ja) 2019-12-23 2020-12-11 決定方法、決定システム及びプログラム

Country Status (5)

Country Link
US (1) US20220311781A1 (ja)
EP (1) EP4084418A4 (ja)
JP (1) JPWO2021131824A1 (ja)
CN (1) CN114731301B (ja)
WO (1) WO2021131824A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200412756A1 (en) * 2018-05-23 2020-12-31 Panasonic Intellectual Property Corporation Of America Communication control device, anomaly detection electronic control unit, mobility network system, communication control method, anomaly detection method, and recording medium

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220407868A1 (en) * 2019-12-05 2022-12-22 Sumitomo Electric Industries, Ltd. Detection device, vehicle, detection method, and detection program
DE102020214945A1 (de) * 2020-11-27 2022-06-02 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zum Überprüfen einer Nachricht in einem Kommunikationssystem

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014115455A1 (ja) 2013-01-28 2014-07-31 日立オートモティブシステムズ株式会社 ネットワーク装置およびデータ送受信システム
JP2018182725A (ja) * 2017-04-07 2018-11-15 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 不正通信検知基準決定方法、不正通信検知基準決定システム及びプログラム
JP2019083534A (ja) * 2017-04-07 2019-05-30 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 不正通信検知方法、不正通信検知システム及びプログラム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008017179A (ja) * 2006-07-06 2008-01-24 Nec Corp アクセス制御システム、アクセス制御方法、およびアクセス制御プログラム
JP6245809B2 (ja) * 2012-02-17 2017-12-13 株式会社 資生堂 サービス決定装置、サービス決定方法、及びサービス決定プログラム
KR101472896B1 (ko) * 2013-12-13 2014-12-16 현대자동차주식회사 차량 내 통신 네트워크에서의 보안 강화 방법 및 그 장치
CN109005678B (zh) * 2017-04-07 2022-05-27 松下电器(美国)知识产权公司 非法通信检测方法、非法通信检测***以及记录介质
EP3609139B1 (en) * 2017-04-07 2022-03-30 Panasonic Intellectual Property Corporation of America Method for determining reference for unauthorized communication detection, system for determining reference for unauthorized communication detection, and program
EP4250648A3 (en) * 2018-03-29 2023-12-06 Panasonic Intellectual Property Corporation of America Illicit act detection method, illicit act detection device, and program

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014115455A1 (ja) 2013-01-28 2014-07-31 日立オートモティブシステムズ株式会社 ネットワーク装置およびデータ送受信システム
JP2018182725A (ja) * 2017-04-07 2018-11-15 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 不正通信検知基準決定方法、不正通信検知基準決定システム及びプログラム
JP2019083534A (ja) * 2017-04-07 2019-05-30 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 不正通信検知方法、不正通信検知システム及びプログラム

Non-Patent Citations (1)

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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200412756A1 (en) * 2018-05-23 2020-12-31 Panasonic Intellectual Property Corporation Of America Communication control device, anomaly detection electronic control unit, mobility network system, communication control method, anomaly detection method, and recording medium

Also Published As

Publication number Publication date
EP4084418A1 (en) 2022-11-02
JPWO2021131824A1 (ja) 2021-07-01
EP4084418A4 (en) 2023-01-25
CN114731301A (zh) 2022-07-08
US20220311781A1 (en) 2022-09-29
CN114731301B (zh) 2024-04-05

Similar Documents

Publication Publication Date Title
JP7030046B2 (ja) 不正通信検知方法、不正通信検知システム及びプログラム
JP7053449B2 (ja) 不正通信検知基準決定方法、不正通信検知基準決定システム及びプログラム
WO2021131824A1 (ja) 決定方法、決定システム及びプログラム
US10986008B2 (en) Abnormality detection in an on-board network system
WO2018186054A1 (ja) 不正通信検知基準決定方法、不正通信検知基準決定システム及びプログラム
WO2018186053A1 (ja) 不正通信検知方法、不正通信検知システム及びプログラム
JP7280082B2 (ja) 不正検知方法、不正検知装置及びプログラム
JP7182559B2 (ja) ログ出力方法、ログ出力装置及びプログラム
US11843477B2 (en) Anomaly determination method, anomaly determination device, and recording medium
JP6527647B1 (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: 20907308

Country of ref document: EP

Kind code of ref document: A1

DPE2 Request for preliminary examination filed before expiration of 19th month from priority date (pct application filed from 20040101)
ENP Entry into the national phase

Ref document number: 2021567259

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

Country of ref document: EP

Effective date: 20220725