WO2023170928A1 - 不正通信検知装置、通信許可リスト生成装置、不正通信検知方法、通信許可リスト生成方法、不正通信検知プログラム、及び通信許可リスト生成プログラム - Google Patents
不正通信検知装置、通信許可リスト生成装置、不正通信検知方法、通信許可リスト生成方法、不正通信検知プログラム、及び通信許可リスト生成プログラム Download PDFInfo
- Publication number
- WO2023170928A1 WO2023170928A1 PCT/JP2022/010920 JP2022010920W WO2023170928A1 WO 2023170928 A1 WO2023170928 A1 WO 2023170928A1 JP 2022010920 W JP2022010920 W JP 2022010920W WO 2023170928 A1 WO2023170928 A1 WO 2023170928A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- communication
- message
- periodic
- permission list
- condition
- Prior art date
Links
- 238000004891 communication Methods 0.000 title claims abstract description 488
- 238000000034 method Methods 0.000 title claims description 31
- 230000000737 periodic effect Effects 0.000 claims description 171
- 230000007704 transition Effects 0.000 claims description 61
- 238000004458 analytical method Methods 0.000 claims description 57
- 238000001514 detection method Methods 0.000 claims description 55
- 238000007405 data analysis Methods 0.000 claims description 41
- 230000005540 biological transmission Effects 0.000 claims description 12
- 230000002265 prevention Effects 0.000 claims 1
- 238000012545 processing Methods 0.000 description 54
- 238000010586 diagram Methods 0.000 description 26
- 230000008569 process Effects 0.000 description 19
- 230000006870 function Effects 0.000 description 14
- 230000008859 change Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000001174 ascending effect Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000002028 premature Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
Definitions
- the present disclosure relates to an unauthorized communication detection device, a communication permission list generation device, an unauthorized communication detection method, a communication permission list generation method, an unauthorized communication detection program, and a communication permission list generation program.
- the fraudulent communication detection function performs detection based on periodic conditions, that is, when it has a function to detect periodic messages as fraudulent messages when they deviate from the normal period, delays and premature arrivals that normally occur in the network are detected. It is necessary to set an appropriate cycle range (the upper and lower limits of the cycle that is considered normal) as the cycle condition, taking into account cycle errors such as: If the set cycle conditions are too narrow, there is a high possibility that a normal message will be erroneously detected as an unauthorized message. On the other hand, if it is too wide, there is a high possibility that a false message will not be detected.
- Patent Document 1 proposes a method of learning and analyzing communication data to set periodic conditions.
- Patent Document 1 by generating a periodic condition that includes the worst case of periodic errors occurring in communication data, it is possible to suppress the occurrence of false detections.
- some periodic messages have periodic errors that vary characteristically due to the network environment or restrictions on the application that transmits the periodic messages. Therefore, there is a problem in that it is not possible to determine whether a normal message or an incorrect message is a message simply by considering the worst case of periodic errors in communication data.
- the present disclosure has been made to solve the above-mentioned problems, and aims to provide an unauthorized communication detection device that can more accurately determine whether a communication message is a normal message.
- An unauthorized communication detection device includes a communication acquisition unit that acquires a communication message, and a communication acquisition unit that determines whether the communication message is a normal message based on a periodic condition set for each time-varying state of the communication message. It is equipped with a determination section.
- the unauthorized communication detection device includes a communication determination unit that determines whether or not a communication message is a normal message based on a periodic condition set for each time-varying state of the communication message. By determining the communication message based on the periodic condition for each state, it is possible to determine whether the communication message is a normal message with higher accuracy.
- FIG. 1 is a configuration diagram showing the configuration of a vehicle system 10 according to Embodiment 1.
- FIG. 1 is a configuration diagram showing the configurations of a GW 11 and an unauthorized communication detection device 100 according to the first embodiment.
- FIG. 3 is a conceptual diagram showing a specific example of a message format of a communication message.
- 3 is a conceptual diagram showing a specific example of the format of a rule list 122.
- FIG. 3 is a conceptual diagram showing a specific example of the format of a periodic condition list 123.
- FIG. 12 is a conceptual diagram showing a specific example of the format of a periodic condition list 124.
- FIG. 12 is a conceptual diagram showing a specific example of the format of a periodic condition list 125.
- FIG. 12 is a conceptual diagram showing a specific example of the format of a periodic condition list 126.
- FIG. 1 is a hardware configuration diagram showing a hardware configuration of an unauthorized communication detection device 100 according to Embodiment 1.
- FIG. 2 is a flowchart showing the operation of the fraudulent communication detection device 100 according to the first embodiment.
- 1 is a configuration diagram showing the configuration of a communication permission list generation device 200 according to Embodiment 1.
- FIG. FIG. 3 is a flow diagram for explaining the internal operation and input/output information of the processing unit 210 according to the first embodiment.
- 3 is a conceptual diagram showing a specific example of a format of communication specifications 221.
- FIG. 3 is a conceptual diagram showing a specific example of a format of communication data 222.
- FIG. 1 is a hardware configuration diagram showing a hardware configuration of an unauthorized communication detection device 100 according to Embodiment 1.
- FIG. 2 is a flowchart showing the operation of the fraudulent communication detection device 100 according to the first embodiment.
- 1 is
- FIG. 3 is a conceptual diagram showing a specific example of a format of a setting definition 223.
- FIG. 1 is a hardware configuration diagram showing a hardware configuration of a communication permission list generation device 200 according to Embodiment 1.
- FIG. 3 is a flowchart showing communication specification analysis processing performed by communication specification analysis section 211 according to the first embodiment.
- 3 is a flowchart showing a message information analysis subroutine performed by communication specification analysis section 211 according to the first embodiment.
- 3 is a flowchart showing a signal information analysis subroutine performed by communication specification analysis section 211 according to the first embodiment.
- 3 is a conceptual diagram showing a specific example of an internally generated file 301.
- FIG. 3 is a conceptual diagram showing a specific example of an internally generated file 302.
- FIG. 1 is a hardware configuration diagram showing a hardware configuration of a communication permission list generation device 200 according to Embodiment 1.
- FIG. 3 is a flowchart showing communication specification analysis processing performed by communication specification analysis section 211 according to the first embodiment
- FIG. 3 is a conceptual diagram showing a specific example of an internally generated file 303.
- FIG. 3 is a conceptual diagram showing a specific example of an internally generated file 304.
- FIG. 3 is a conceptual diagram showing a specific example of an internally generated file 305.
- FIG. 3 is a flowchart showing communication permission list output processing performed by communication permission list output unit 212 according to the first embodiment.
- 5 is a flowchart illustrating communication data analysis processing performed by the communication data analysis unit according to the first embodiment.
- Embodiment 1 an unauthorized communication detection phase in which unauthorized communication is detected based on a communication permission list will be described, and then a communication permission list generation phase will be described in which the communication permission list is generated. Further, a communication system is configured by combining the unauthorized communication detection device described in the unauthorized communication detection phase and the communication permission list generation device described in the communication permission list generation phase.
- FIG. 1 is a configuration diagram showing the configuration of a vehicle system 10 according to the first embodiment.
- the vehicle system 10 includes a GW (Gateway) 11, a cable 12, a first vehicle-mounted device 1, a second vehicle-mounted device 2, . . . an n-th vehicle-mounted device n.
- n is an integer greater than or equal to 1, and an actual vehicle is equipped with tens to hundreds of on-vehicle devices.
- the GW 11, the first in-vehicle device 1, the second in-vehicle device 2, . . . the n-th in-vehicle device n communicate with each other via the cable 12.
- the cable 12 is a cable compatible with CAN (Controller Area Network) communication, which is standardly used in in-vehicle communication. Since CAN is a broadcast communication, the GW 11 can receive all communication flowing through the cable 12.
- CAN Controller Area Network
- FIG. 2 is a configuration diagram showing the configurations of the GW 11 and the unauthorized communication detection device 100.
- the GW 11 includes an unauthorized communication detection device 100, a GW function section 130, and a communication section 140.
- section means an element of a functional configuration, and “section” may be read as “process” or "process” as appropriate.
- the operation of the unauthorized communication detection device 100 corresponds to an unauthorized communication detection method
- the program that causes a computer to execute the unauthorized communication detection method corresponds to an unauthorized communication detection program.
- the GW function unit 130 transfers communication messages.
- the communication unit 140 is for communicating data.
- the communication unit 140 includes a receiving unit 141 that receives data and a transmitting unit 142 that transmits data. Furthermore, the receiving unit 141 has a function of observing the bandwidth load status of the cable 12 by counting the number of communication messages received per unit time.
- the fraudulent communication detection device 100 detects fraud in communication messages flowing through the vehicle system 10, and includes a processing section 110 and a storage section 120.
- the processing unit 110 includes a communication acquisition unit 111, a communication determination unit 112, and an alert unit 113.
- the communication acquisition unit 111 acquires communication messages.
- the communication acquisition unit 111 acquires the communication message received by the reception unit 141 together with the reception time information at the reception unit 141, and transmits it to the communication determination unit 112.
- the communication determination unit 112 determines whether or not a communication message is a normal message based on a periodic condition set for each time-varying state of the communication message.
- the state of the communication message indicates the characteristics of the communication message that affect the periodic error
- the state of the communication message indicates the transition type and the factor that affects the periodic error of the communication message.
- a plurality of transition conditions set for each transition type that is, the communication determination unit 112 specifies the cycle condition of the communication message based on the state of the communication message that is classified based on the transition type and the transition condition, and determines whether the communication message is a normal message.
- transition state After dividing the characteristics that affect the periodic error of communication messages into multiple transition states such as bandwidth load, number of transmissions, and time interval, we further divide multiple items into each category. It is set as a transition condition. Details of the transition state and transition conditions will be described later.
- the communication determination unit 112 determines whether a communication message is a normal message by referring to a cycle condition list in which cycle conditions are set for each state of the communication message. More specifically, the communication determination unit 112 determines whether the communication message is a normal message by determining whether the reception cycle of the communication message deviates from a cycle range defined in a cycle condition list described later. Determine whether
- the communication determination unit 112 classifies communication messages based on the transition type, which is a factor that affects the periodic error of communication messages, and a plurality of transition conditions set for each transition type. Based on the state of , the periodic condition of the communication message is specified, and it is determined whether the communication message is a normal message.
- the transition type here is, for example, a bandwidth load, the number of transmissions, or a time interval, and in the first embodiment, the communication determination unit 112 uses the transition type based on at least one of the bandwidth load, the number of transmissions, or the time interval.
- the state of the communication message is specified, and it is determined whether the communication message is a normal message based on a periodic condition set for the specified state of the communication message.
- the alert unit 113 presents an alert to the user when the communication determination unit 112 determines that the communication message is not a normal message.
- the storage unit 120 stores various information, particularly the communication permission list 121.
- the communication permission list 121 defines rules for detecting unauthorized communication, and includes a rule list 122 and cycle condition lists 123 to 126. That is, in the first embodiment, the storage unit 120 stores the plurality of cycle condition lists 123 to 126 and the rule list 122 as the communication permission list 121.
- the rule list 122 associates an ID included in a communication message with a periodic condition ID indicating the type of periodic condition list.
- the cycle condition lists 123 to 126 have cycle conditions set for each communication message state. More specifically, the cycle condition list holds a normal cycle range for each state of a communication message as a cycle condition.
- the communication permission list 121 is stored in a non-volatile storage device, and expanded from the non-volatile storage device to the memory when the GW 11 starts up.
- the storage unit 120 stores data (not shown) that is used, generated, input, output, transmitted, or received by the GW 11.
- FIG. 3 shows a message format of a CAN communication message that flows within the vehicle system 10 and is detected by the unauthorized communication detection device 100.
- a CAN communication message includes an ID, a DLC, and a data field.
- the ID is a message number assigned to uniquely identify a communication message.
- DLC Data Length Code
- the data field is a field in which data used by an application is stored, and is a maximum of 8 bytes in CAN communication.
- a data field consists of multiple signals. Signals can have a data length of 1 to 64 bits.
- the ID, DLC, data field, and details of each signal are defined for each vehicle system 10.
- CAN communication messages include many periodic messages that are periodically transmitted at a predetermined period for each message.
- the cycle is not always maintained accurately, and errors such as early arrivals and delays occur due to the influence of various factors.
- some of these periodic messages exhibit characteristics in the transition of periodic errors. For example, in the case of a periodic message having a short period such as 10 ms, it is easily affected by the bandwidth load of the CAN cable, and when the load is high, the transmission delay tends to be long and the periodic error tends to be large. Alternatively, there are some that repeat behavior that causes large periodic errors at fixed timings, such as the number of transmissions or time intervals. It is presumed that these are caused by the influence of the in-vehicle device that transmits the periodic message or the application on the in-vehicle device. The present disclosure relates to a method of setting periodic conditions for periodic messages having these characteristics.
- FIG. 4 shows an example of the internal structure and possible values of the rule list 122 that constitutes the communication permission list 121.
- the communication permission list 121 is a list that describes information on normal CAN messages flowing within the vehicle system 10.
- Items that make up the rule list 122 in the communication permission list 121 include rule number, ID, DLC, signal condition, and periodic condition ID.
- the rule number is a number sequentially assigned to uniquely identify each rule within the rule list 122.
- the ID and DLC correspond to the ID and DLC in the CAN communication message shown in FIG. 3.
- the signal conditions define the leading bit, length, minimum value, and maximum value of each signal in the CAN communication message shown in FIG. 3.
- the periodic condition ID is a number for linking a periodic message to a periodic condition list that defines the periodic condition.
- the rule list 122 only four CAN message rules are shown in the rule list 122 for simplicity, but all information on normal CAN messages that can flow through the vehicle system 10, including messages that do not have periodicity, is shown in the rule list 122. It is desirable to fill in the information completely.
- Items forming the periodic condition list 123 include periodic condition ID, transition type, state, periodic condition, and transition condition.
- Ru As the transition type, one of "bandwidth load”, “counter”, “time”, and “none” is written.
- the "counter" corresponds to the number of transmissions
- time corresponds to the time interval.
- This item may be in a format in which a predetermined type number or the like is written instead of a character string.
- the periodic error changes to less than ⁇ 1 ms, less than ⁇ 2 ms, and less than ⁇ 3 ms in three stages of band load: low, medium, and high, so these three stages are defined as states.
- the periodic condition is described as a periodic condition that is considered normal in each state as a range of possible values for the time since the previous reception.
- the internal structure of the periodic condition list 124 is the same as that of the periodic condition list 123.
- the cycle condition ID is 1, and the transition type is "counter”. Two states are defined: "first three packets" and "last one packet.”
- the internal structure of the periodic condition list 125 is the same as that of the periodic condition list 123.
- the cycle condition ID is 2
- the transition type is "time”. Two states are defined: "first 39 seconds” and "later 1 second.”
- the internal structure of the periodic condition list 126 is the same as that of the periodic condition list 123.
- the cycle condition ID is 3, and the transition type is "none". Since the state is not defined, it is set to 0, and the transition condition is also set to "none".
- the cycle condition is a value in which an arbitrary margin is provided for a cycle of 500 ms in consideration of cycle errors that may occur in an actual vehicle environment. In the first embodiment, a margin of ⁇ 20 ms is provided.
- FIG. 9 is a hardware configuration diagram showing the hardware configuration of the unauthorized communication detection device 100.
- the communication acquisition unit 111, communication determination unit 112, and alert unit 113 included in the fraudulent communication detection device 100 are realized by the processing device 1001 executing a program stored in the storage device 1002.
- the processing device 1001 is a processor such as a CPU (Central Processing Unit), an arithmetic unit, a microprocessor, a microcomputer, or a DSP (Digital Signal Processor). Further, each function of the unauthorized communication detection device 100 may be realized by a plurality of processors. Furthermore, each function of the unauthorized communication detection device 100 may be implemented using an FPGA (Field Programmable Gate Array), an ASIC, or the like.
- the storage unit 120 is realized by a storage device 1002, and the storage device 1002 includes, for example, RAM (Random Access Memory), ROM (Read Only Memory), flash memory, EPROM (Erasable Programmable ROM), Non-volatile devices such as EPROM (Electrically EPROM) It may be a flexible or volatile semiconductor memory, a magnetic disk such as a hard disk or a flexible disk, or an optical disk such as a mini disk, a CD (Compact Disc), or a DVD (Digital Versatile Disc).
- RAM Random Access Memory
- ROM Read Only Memory
- flash memory e.g., NAND
- EPROM Erasable Programmable ROM
- Non-volatile devices such as EPROM (Electrically EPROM) It may be a flexible or volatile semiconductor memory, a magnetic disk such as a hard disk or a flexible disk, or an optical disk such as a mini disk, a CD (Compact Disc), or a DVD (Digital Versatile Disc).
- the communication device 3 is a device that performs communication, and includes a receiver and a transmitter. Specifically, the communication device 3 is a communication chip or NIC (Network Interface Card).
- NIC Network Interface Card
- FIG. 10 is a flowchart of fraudulent communication detection processing performed by the fraudulent communication detection device 100.
- step S1 the communication acquisition unit 111 acquires the communication message received by the reception unit 141 together with the reception time information at the reception unit 141, and transmits it to the communication determination unit 112.
- step S2 the communication determination unit 112 analyzes the contents of the passed communication message and obtains the values of the ID, DLC, and data fields included in the message.
- step S3 the communication determination unit 112 determines whether information matching the communication message exists in the rule list 122. In the determination, a search is made from among the detection rules listed in the rule list 122 for a rule whose ID condition and DLC condition match the values acquired in step S2. If a matching rule exists, the values are read from the data field according to the leading bit and length information for all signals listed in the signal conditions of that rule, and checked to see if they are within the range of possible values.
- step S3 If it is determined in step S3 that matching information does not exist in the rule list 122, the process proceeds to step S9, and the alert unit 113 performs predetermined alert processing.
- Alert processing includes transmitting log information indicating the occurrence of unauthorized communication to a log storage device (not shown) in the vehicle system 10 via the transmitter 242, and displaying a warning message on an operation panel (not shown).
- Various processes may be performed, such as notifying the occupant of the vehicle system 10 of the vehicle system 10. After executing the above processing steps, this flowchart ends.
- step S4 the communication determination unit 112 refers to the periodic condition ID of the rule list 122, and refers to the periodic condition ID of the corresponding periodic condition list (123 to 126). either).
- step S5 the communication determination unit 112 refers to the transition type in the acquired cycle condition list and identifies the current state regarding the message.
- the transition type in the cycle condition list 126 is "none", so no further processing is performed and the process moves to step S6.
- step S6 the communication determination unit 112 acquires the periodic condition corresponding to the specified state.
- step S7 the communication determination unit 112 compares the reception time information acquired in step S1 with the previous reception time information regarding the message that has been internally held in advance, and determines that the reception interval is based on the periodicity condition acquired in step S6. Check if it is within the range.
- step S7 If it is determined in step S7 that the cycle condition is outside the range, the process proceeds to step S9, and after the alert unit 113 performs a predetermined alert process, this flowchart ends.
- step S7 If it is determined in step S7 that the period is within the periodicity condition, the message is determined to be a normal message, and in step S8, the communication determination unit 112 updates the information of the message. Specifically, the communication determination unit 112 overwrites the previous reception time information regarding the message held internally with the reception time information passed in step S1. Further, if the message is of the transition type "counter", the communication determining unit 112 increments the value of the reception counter of the message that is managed internally. After executing the above processing steps, the unauthorized communication detection device 100 ends its operation.
- the unauthorized communication detection device 100 by determining a communication message based on the periodic condition for each state that changes over time, it is possible to more accurately determine whether a communication message is a normal message. Additionally, if a fraudulent message is sent from a fraudulent in-vehicle device installed inside a vehicle that deceives the controls related to the vehicle's driving, it will be possible to detect this and raise an alert. .
- periodic messages by defining the characteristics that affect the periodic error that can occur for each message as a state, and dynamically switching to the periodic condition corresponding to the current state, we can perform fine-grained fraudulent communication detection that responds to changes in the periodic error. It becomes possible to realize this.
- Communication permission list generation phase Next, the generation process of the communication permission list 121 will be explained.
- Manually creating the communication permission list 121 as described above requires a high workload, and there is a possibility that omissions or errors may occur. Therefore, there is a need for a communication permission list generation tool that automatically generates the communication permission list 121 shown in FIG. 2.
- the communication permission list generation device 200 that automatically generates the communication permission list 121 will be described below. Furthermore, the operation of the communication permission list generation device 200 corresponds to a communication permission list generation method, and the program that causes a computer to execute the communication permission list generation method corresponds to a communication permission list generation program.
- FIG. 11 is a configuration diagram showing the configuration of the communication permission list generation device 200.
- Communication permission list generation device 200 includes a processing section 210 and a storage section 220.
- the storage unit 220 stores various information, and stores communication specifications 221, communication data 222, setting definitions 223, communication permission list 224, and updated communication permission list 225.
- the communication specification 221 is a file that defines communication specifications for CAN messages flowing within the vehicle system 10 shown in FIG. Details of the communication specifications 221 will be described later with reference to FIG.
- the communication data 222 is a file in which CAN messages actually flowing within the vehicle system 10 shown in FIG. 1 are obtained and saved using a packet capture tool or the like.
- the setting definition 223 is a file that describes setting information when the processing unit 210 operates. Details of the setting definition 223 will be described later with reference to FIG.
- the communication permission list 224 is a file output by the communication permission list output unit 212
- the updated communication permission list 225 is a file output by the communication data analysis unit 213.
- the storage unit 220 stores data (not shown) that is used, generated, input, output, transmitted, or received by the communication permission list generation device 200.
- the processing unit 210 includes a communication specification analysis unit 211, a communication permission list output unit 212, and a communication data analysis unit 213.
- the communication specification analysis unit 211 analyzes communication specifications that define the specifications of normal communication messages.
- the communication permission list output unit 212 generates a communication permission list used to detect fraudulent communication messages based on the analysis results of the communication specification analysis unit.
- the communication data analysis unit 213 Based on the actual communication data 222, the communication data analysis unit 213 identifies conditions that cause fluctuations in the periodic error of communication messages included in the communication data 222, determines a normal periodic range for each specified condition, and determines whether communication is permitted. It updates the list. Moreover, the condition here means a transition type and a transition condition.
- the communication data analysis unit 213 calculates the bandwidth load for each unit time based on the communication data 222, classifies the calculated bandwidth load into multiple stages, and compares the periodic error for each of the multiple stages. Identify the conditions by More specifically, when the difference between the periodic errors of multiple stages is larger than a predetermined threshold, the communication data analysis unit 213 identifies that the transition type among the conditions is "bandwidth load" and applies the classified multiple Identify transition conditions based on stages. More detailed processing will be explained with reference to FIG. 25.
- the communication data analysis unit 213 identifies the cause by determining whether the periodic error of the communication message exceeds a predetermined threshold at a constant counter interval. More specifically, the communication data analysis unit 213 specifies that the transition type among the conditions is "number of transmissions" when the periodic error of the communication message exceeds a predetermined threshold at a certain counter interval, A transition condition is specified based on the above-mentioned constant counter interval. More detailed processing will be explained with reference to FIG. 25.
- the communication data analysis unit 213 identifies the condition by determining whether the periodic error of the communication message exceeds a predetermined threshold at a constant time interval. More specifically, the communication data analysis unit 213 identifies that the transition type of the condition is "time interval" when the periodic error of the communication message exceeds a predetermined threshold at a certain time interval, A transition condition is specified based on the above-mentioned fixed time interval. More detailed processing will be explained with reference to FIG. 25.
- FIG. 12 is a flow diagram regarding the internal operation and input/output information of the processing unit 210 shown in FIG. 11.
- the processing unit 210 inputs the communication specification 221, setting definition 223, and communication data 222, and outputs the updated communication permission list 225. Furthermore, inside the processing unit 210, a communication permission list 224 is generated.
- the communication specification analysis unit 211 analyzes the contents of the communication specification 221 based on the setting definition 223. The analysis result is output to the communication permission list output section 212.
- the communication permission list output unit 212 generates a communication permission list 1024 according to the contents of the input analysis result.
- the communication data analysis unit 213 analyzes the contents of the communication data 222, updates the contents of the communication permission list 224 according to the analysis result, and outputs the updated result as an updated communication permission list 1025.
- the processing unit 210 may output the communication permission list 224 to the outside rather than just internal information. In this case, the processing unit 210 will output both the communication permission list 224 and the updated communication permission list 225.
- the processing section 210 may be divided into a functional section consisting of a communication specification analysis section 211 and a communication permission list output section 212, and a functional section consisting of a communication data analysis section 213, and each of them may operate as a separate device.
- a functional unit consisting of the communication specification analysis unit 211 and the communication permission list output unit 212 receives the communication specification 221 and the setting definition 223 as input, and outputs the communication permission list 224.
- the functional unit consisting of the communication data analysis unit 213 inputs the communication specification 221, the communication data 222, and the communication permission list 224, and outputs an updated communication permission list 225.
- FIG. 13 is an example of the format of the communication specification 221 shown in FIGS. 11 and 12.
- the communication specification 221 is a CAN database file in which specifications of CAN messages flowing within the vehicle system 10 are defined.
- the communication specifications 221 are created and used at the development stage of each vehicle-mounted device such as the vehicle system 10, the GW (Gateway) 11, the first vehicle-mounted device 1, the second vehicle-mounted device 2, ... the nth vehicle-mounted device n, etc. This is design information.
- the communication specification 221 may not be one file, but may be a plurality of files.
- the communication specification 221 includes information such as device information, message information, information on signals forming the message, message type information, and message cycle information.
- the device information is the name of an in-vehicle device that is defined in the communication specification 221 and is involved in sending and receiving messages.
- the message information includes information regarding each message, such as the message ID, DLC, and the name of the sender's in-vehicle device. Each message information comprises signal information that constitutes the data field portion of the message.
- the signal information includes information such as the signal name, start bit, length, and possible values.
- the message type information is information regarding the type of each message defined in the message information. Message types include messages sent by event triggers and messages sent periodically.
- the message cycle information is information regarding the transmission cycle of a message defined as a message having a cycle in the message type information.
- FIG. 14 is an example of the format of the communication data 222 shown in FIGS. 11 and 12.
- the communication data 222 is a file in which communication messages flowing within the vehicle system 10 are acquired and saved using a packet capture tool or the like.
- the communication data 222 is acquired in an actual vehicle or in a simulator environment during the development stage of each in-vehicle device such as the vehicle system 10, GW (Gateway) 11, first in-vehicle device 1, second in-vehicle device 2, and n-th in-vehicle device n. This is information for development and evaluation.
- the communication data 222 may not be one file but multiple files.
- the communication data 222 includes date information and information regarding the captured communication message.
- Information regarding the message is the capture time, message ID, DLC, and data field.
- FIG. 15 is an example of the format of the setting definition 223 shown in FIGS. 11 and 12.
- the setting definition 223 is a text file that defines setting information related to the operation of the processing unit 210.
- the setting definition 223 includes information regarding the target device, cycle range, and the like.
- the target device defines the in-vehicle device that is the source of the message that is to be analyzed by the communication specification analysis unit 211.
- the communication permission list 224 output by the communication permission list output unit 212 defines only rules regarding messages transmitted by the in-vehicle device defined as the target device. It is also possible to omit the definition of the target device. In this case, all messages defined in the communication specification 221 are to be analyzed by the communication specification analysis unit 211.
- the cycle range is a ratio that specifies how much margin to define as the cycle condition of the communication permission list 224 with respect to the cycle information defined in the communication specifications 221. The ratio defined in the cycle range is applied to all cycle messages defined in the communication specification 221.
- FIG. 16 is a hardware configuration diagram showing the hardware configuration of the communication permission list generation device 200.
- the communication specification analysis unit 211, the communication permission list output unit 212, and the communication data analysis unit 213 included in the communication permission list generation device 200 are realized by the processing device 2001 executing a program stored in the storage device 2002. .
- the processing device 2001 is a processor such as a CPU (Central Processing Unit), an arithmetic unit, a microprocessor, a microcomputer, or a DSP (Digital Signal Processor). Further, each function of the unauthorized communication detection device 100 may be realized by a plurality of processors. Furthermore, each function of the communication permission list generation device 200 may be implemented using an FPGA (Field Programmable Gate Array), ASIC, or the like.
- the storage unit 220 is realized by a storage device 2002, and the storage device 2002 includes, for example, a RAM (Random Access Memory), a ROM (Read Only Memory), a flash memory, an EPROM (Erasable Programmable ROM), an E Non-volatile devices such as EPROM (Electrically EPROM) It may be a flexible or volatile semiconductor memory, a magnetic disk such as a hard disk or a flexible disk, or an optical disk such as a mini disk, a CD (Compact Disc), or a DVD (Digital Versatile Disc).
- FIG. 17 is a flowchart of communication specification analysis processing performed by the communication specification analysis unit 211 shown in FIGS. 11 and 12.
- step S201 the communication specification analysis unit 211 reads the contents of the communication specification 221 received as input. Specifically, message information is searched from the beginning of the format of the communication specification 221 shown in FIG. 13.
- step S202 the communication specification analysis unit 211 determines whether message information exists. If a message exists, a subroutine for message information analysis processing is executed in step S203. The message information analysis subroutine will be described later with reference to FIG. After executing the message information analysis subroutine, the process returns to step S202, and thereafter, the processing steps of steps S202 to S203 are repeated until all message information in the communication specification 221 is analyzed.
- step S202 if the communication specification analysis unit 211 determines that the next message information does not exist, this flowchart ends.
- FIG. 18 is a flowchart of the message information analysis subroutine performed by the communication specification analysis unit 211. The process in FIG. 18 corresponds to step S203 in FIG. 17.
- step S301 the communication specification analysis unit 211 acquires the name of the in-vehicle device that sent the message to be analyzed from the communication specification 221.
- step S302 it is determined whether the transmission source in-vehicle device name acquired in step S301 is defined as a target device in the setting definition 223 shown in FIG. If it is not defined, this flowchart ends immediately.
- the communication specification analysis unit 211 acquires the ID and DLC of the message to be analyzed from the communication specification 221 in step S303.
- step S304 the communication specification analysis unit 211 acquires the message type of the message to be analyzed from the communication specification 221.
- step S305 the communication specification analysis unit 211 determines whether the message to be analyzed is a periodic message.
- the communication specification analysis unit 211 acquires the periodicity information of the message to be analyzed from the communication specification 221, and sets the lower limit at the ratio specified in the periodic range of the setting definition 223 shown in FIG. Calculate the value and upper limit. For example, if the acquired period information is 10 ms and 10% is specified in the period range of the setting definition 1023, the period condition of the periodic message is in the range of 9 to 11 ms.
- step S307 a subroutine for signal information analysis processing is executed.
- the signal information analysis subroutine will be described later with reference to FIG.
- step S305 if it is determined in step S305 that the message is not a periodic message, the process immediately advances to step S307 and executes a signal information analysis subroutine. After executing the above processing steps, this flowchart ends.
- FIG. 19 is a flowchart of the signal information analysis subroutine performed by the communication specification analysis unit 211.
- FIG. 19 corresponds to step S307 in FIG.
- step S401 the communication specification analysis unit 211 reads signal information of the message to be analyzed from the communication specification 221.
- step S402 the communication specification analysis unit 211 obtains information on the start bit, length, and possible values from the signal information.
- step S403 the communication specification analysis unit 211 determines whether all signal information related to the message to be analyzed has been analyzed.
- step S404 If it has not been completed, the process returns to step S404, and thereafter, the processing steps of steps S401 to S403 are repeated until there is no unanalyzed signal information.
- step S403 When the analysis of all the signal information related to the message to be analyzed is completed in step S403, the communication specification analysis unit 211, in step S404, sorts the information of each signal acquired in step S402 in ascending order of the start bit.
- FIGS. 20 to 24 are examples of files generated as a result of the communication specification analysis processing by the communication specification analysis unit 211 shown in FIGS. 17 to 19.
- Each file shown in FIGS. 20 to 24 is information that is input from the communication specification analysis section 211 to the communication permission list output section 212 within the processing section 210.
- the internally generated file 301 shown in FIG. 20 includes an ID, DLC, signal condition, and cycle condition ID.
- the information acquired in S303 of FIG. 18 is stored as the ID and DLC.
- the signal condition includes a start bit, length, minimum value, and maximum value, and the information acquired in S402 of FIG. 19 is stored in each of them.
- the signal conditions for each ID are recorded in the internally generated file 301 in ascending order of the value of the start bit.
- the periodic condition ID is a number for linking the periodic message to any of internally generated files 302 to 305, which will be described later.
- information of four periodic messages with IDs 0x10, 0x20, 0x30, and 0x40, which are the same as those illustrated in FIG. 4, are described.
- the internally generated file 302 shown in FIG. 21 is a file in which periodic conditions regarding the message with ID 0x10 are stored.
- the periodicity range calculated in S306 of FIG. 18 is stored in the periodicity condition. Since information regarding the transition type, state, and transition condition cannot be obtained from the communication specification 221, "None" is stored as the transition type, 0 is the state, and "None" is stored as the transition condition.
- the internally generated file 303 shown in FIG. 22 is a file in which periodic conditions regarding the message with ID 0x20 are stored.
- the internally generated file 304 shown in FIG. 23 is a file in which cycle conditions regarding the message with ID 0x30 are stored.
- the internally generated file 305 shown in FIG. 24 is a file in which cycle conditions regarding the message with ID 0x40 are stored.
- the period range calculated in S306 of FIG. 18 is stored in the period condition, the transition type is "none", the state is 0, and the transition condition is "none". is stored.
- FIG. 25 is a flowchart of communication permission list output processing performed by the communication permission list output unit 212 shown in FIGS. 11 and 12.
- step S501 the communication permission list output unit 212 determines whether the communication permission list 224 already exists.
- the communication permission list output unit 212 creates a new communication permission list 224 in step S502.
- the communication permission list 224 like the communication permission list 121 shown in FIG. 2, is composed of a rule list and a plurality of cycle condition lists. After executing the processing step of step S502, the process advances to step S504.
- step S503 the communication permission list output unit 212 opens a file so that the existing communication permission list 224 can be edited, and then proceeds to step S504.
- step S504 the communication permission list output unit 212 determines whether message information exists in the internally generated file 301.
- the communication permission list output unit 212 determines whether the rule corresponding to the message information in the internally generated file 301 already exists in the communication permission list 224. Specifically, the ID of the target message is obtained from the internally generated file 301, and it is first determined whether a rule with the same ID exists in the rule list in the communication permission list 224. If it exists, it is determined whether the DLC, signal condition, and periodic condition ID of the internally generated file 301 match the DLC, signal condition, and periodic condition ID of the rule in the corresponding communication permission list 224.
- the file with the corresponding cycle condition ID is further identified among the internally generated files 302 to 305, the cycle condition is acquired from that file, and the corresponding cycle in the communication permission list 224 is specified. Determine whether it matches the cycle condition in the condition list. If they match, it is determined that a rule with the same ID exists in the communication permission list 224, and the process returns to step S504.
- the communication permission list output unit 212 outputs information on the ID, DLC, signal condition, and cycle condition ID of the internally generated file 301 in step S506. , information on the transition condition, state, periodic condition, and transition condition of the file with the corresponding periodic condition ID among the internally generated files 302 to 305 is added to the communication permission list 224, and the process returns to step S504.
- step S504 to step S506 are repeated until all message information in the internally generated file 301 is read.
- step S504 if the next message information no longer exists in the internally generated file 301, this flowchart ends.
- the rule list in the communication permission list 224 that is generated when the communication permission list output process shown in FIG. 25 is executed using the contents of the internally generated files 301 to 305 shown in FIGS.
- the format of the periodic condition list is the same as the rule list 122 and periodic condition list 123 to periodic condition list 126 shown in FIGS. 4 to 8.
- FIG. 26 is a flowchart of communication data analysis processing performed by the communication data analysis unit 213 shown in FIGS. 11 and 12.
- step S601 the communication data analysis unit 213 reads the contents of the communication data 222 received as input.
- step S602 the communication data analysis unit 213 calculates the bandwidth load for each unit time from the content of the communication data 222, and analyzes the communication log for each unit time with low (less than 40%), medium (40% or more) bandwidth load. It is classified into three levels: less than 70%) and high (more than 70%).
- step S603 the communication data analysis unit 213 refers to the rule list in the communication permission list 224 generated in the communication permission list output process shown in FIG. determine whether it exists. If the analysis of all periodic messages has been completed, this flowchart ends.
- step S603 If it is determined in step S603 that there is an unanalyzed periodic message, the communication data analysis unit 213 acquires all communication logs that match the ID of the periodic message from the communication data 222 in step S604, and each communication log Assign sequential log numbers from the beginning.
- step S605 the communication data analysis unit 213 determines, based on the classification result in step S602 and the acquisition result in step S604, the maximum value and minimum value of the periodic error of the periodic message in each period of low, medium, and high bandwidth load. get.
- step S606 the communication data analysis unit 213 compares the maximum value/minimum value of the periodic error for each band load and determines whether a difference greater than a predetermined threshold value has occurred.
- step S607 the communication data analysis unit 213 updates the contents of the periodic condition list regarding the periodic message in the communication permission list 224.
- Change the "transition type" in the periodic condition list to "bandwidth load”, define three stages of low, medium, and high bandwidth load in the state and transition conditions, and define the periodic conditions of each state as obtained in step S605.
- the contents of list 123 are updated.
- the communication data analysis unit 213 determines the periodic error from all communication logs of the periodic message acquired in step S604 in step S608. Extract logs that exceed a predetermined threshold.
- step S609 the communication data analysis unit 213 checks the log number of the extracted log, and checks whether communication logs with large discrepancies occur at a certain counter interval.
- step S610 the communication data analysis unit 213 classifies all communication logs of the periodic message acquired in step S604 into two groups: communication logs with large periodic errors and other communication logs. Then, obtain the maximum and minimum values of the periodic error in each group.
- step S611 the communication data analysis unit 213 updates the contents of the periodic condition list regarding the periodic message in the communication permission list 224.
- the transition conditions define the timing at which the periodic error becomes large and the other timings.
- a value range is set based on the maximum value and minimum value of the cycle error acquired in S2410.
- the contents of the list 124 are updated.
- step S609 determines that the log numbers of the communication logs with a large periodic error are not at a constant counter interval.
- the communication data analysis unit 213 determines in step S612 that the communication logs with a large periodic error are Divide into groups based on similar values and determine whether the time intervals between groups are constant.
- step S613 the communication data analysis unit 213 divides all communication logs of the periodic message acquired in step S604 into two groups: communication logs with a large periodic error and other communication logs. Classify and obtain the maximum and minimum periodic errors in each group.
- step S614 the communication data analysis unit 213 updates the contents of the periodic condition list regarding the periodic message in the communication permission list 224.
- the transition conditions define the timing at which the periodic error becomes large and the other timings.
- a value range is set based on the maximum value and minimum value of the cycle error acquired in S2413.
- the contents of list 125 are updated.
- step S615 the communication data analysis unit 213 calculates the maximum and minimum values of the periodic error in all communication logs of the periodic message acquired in step S604. get.
- step S616 the communication data analysis unit 213 updates the contents of the periodic condition list regarding the periodic message in the communication permission list 224.
- a value range based on the maximum value and minimum value of the period error acquired in step S615 is set as the period condition. Since the transition type, state, and transition condition have already been stored with the information "none", 0, and "none", respectively, in the process step S506 shown in step FIG. 25, they are not changed in this process step.
- the contents of list 126 are updated.
- step S603 After performing the above processing steps, the process returns to step S603, and thereafter, the processing steps from step S603 to step S616 are repeated until the analysis of all periodic messages is completed.
- the communication The data analysis unit 213 ends its operation.
- the communication permission list generation device 200 it is possible to automatically generate periodic conditions that take into account the characteristics of each periodic message from communication specifications and communication data without relying on manual labor. By using it in combination with the fraudulent communication detection device 100, it is possible to realize fraudulent communication detection that suppresses both false detections and detection omissions.
- the first embodiment targets CAN messages in a vehicle system as an example
- the application target of the unauthorized communication detection device and communication permission list generation device according to the present disclosure is not necessarily limited to the above.
- the unauthorized communication detection device according to the present disclosure may be installed in a device on an IoT system built in a factory, building, home, etc., and may detect TCP/IP communication via a wired LAN or wireless LAN. In this case, the items that make up the rule list 122 shown in FIG.
- the communication specification 1021 shown in FIG. 13 is a specification that defines TCP/IP communication flowing on the IoT system, and the communication data 222 shown in FIG. 13 is a file that captures the TCP/IP communication flowing on the IoT system. .
- the periodic condition lists 123 to 126 shown in FIGS. 5 to 8 can take: "bandwidth load,” “counter,” “time,” and “none.”
- other types may be provided.
- the transition type is not fixedly defined in advance, but is dynamically defined based on the feature amount of each periodic message extracted from the communication data 222 in the communication data analysis unit 213 shown in FIG. Also good.
- the unauthorized communication detection device and communication permission list generation device are suitable for use in detecting unauthorized communication of communication messages on a vehicle system or an IoT system.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Small-Scale Networks (AREA)
Abstract
より精度良く通信メッセージが正常メッセージか否かの判定を行うことができる不正通信検知装置を得ることを目的とする。 本開示に係る不正通信検知装置は、通信メッセージを取得する通信取得部と、通信メッセージの時間変化する状態毎に設定された周期条件に基づき、通信メッセージが正常なメッセージか否かを判定する通信判定部と、を備えた。
Description
本開示は、不正通信検知装置、通信許可リスト生成装置、不正通信検知方法、通信許可リスト生成方法、不正通信検知プログラム、及び通信許可リスト生成プログラムに関する。
近年、IoT(Internet of Things)システム内部に取り付けた不正機器などから、ネットワーク内を流れるメッセージに成りすました不正メッセージを送信することで、当該システムの制御を騙す攻撃が研究等で明らかにされている。
このため、ネットワーク内を流れるメッセージを監視し、不正メッセージを検知する不正通信検知機能を搭載する動きが進んでいる。ネットワーク内を流れるメッセージに固定的、周期的なものが多く存在するシステムにおいては、それら正常なメッセージに関する情報を許可リストとして保持し、そこから逸脱したメッセージが流れた場合に不正メッセージとして検知する、許可リスト型の不正通信検知機能の適用が有効である。許可リスト型の不正通信検知機能は、不正メッセージに関する情報を保持する拒否リスト型の不正通信検知機能と比べ、リストの更新を頻繁に行う必要がないというメリットも存在する。
不正通信検知機能が周期条件による検知を行う場合、すなわち、周期性を持つメッセージについて正常な周期から逸脱した場合に不正メッセージとして検知する機能を備える場合、当該ネットワークで通常発生し得る遅延、早着などの周期誤差を考慮した上で、適切な周期範囲(正常と判断する周期の上限値と下限値)を周期条件として設定する必要がある。設定した周期条件が狭すぎると、正常メッセージを不正メッセージと判断する誤検知の可能性が高まる。一方、広すぎると、不正メッセージを検知しない検知漏れの可能性が高まる。
そこで、特許文献1では、通信データを学習、解析して周期条件を設定する方式を提案している。
特許文献1に開示された方法では、通信データ内で発生している周期誤差のワーストケースを包含した周期条件を生成することで、誤検知の発生を抑制することが可能となる。しかしながら、周期メッセージの中にはネットワーク環境やその周期メッセージを送信するアプリケーションの制約などによって、周期誤差が特徴的に変動するものが存在する。したがって、単に通信データ内の周期誤差のワーストケースを考慮しただけでは、正常メッセージと不正メッセージの判定ができないという問題があった。
本開示は、上記のような課題を解決するためになされたものであり、より精度良く通信メッセージが正常メッセージか否かの判定を行うことができる不正通信検知装置を得ることを目的とする。
本開示に係る不正通信検知装置は、通信メッセージを取得する通信取得部と、通信メッセージの時間変化する状態毎に設定された周期条件に基づき、通信メッセージが正常なメッセージか否かを判定する通信判定部と、を備えた。
本開示に係る不正通信検知装置は、通信メッセージの時間変化する状態毎に設定された周期条件に基づき、通信メッセージが正常なメッセージか否かを判定する通信判定部を備えたので、時間変化する状態毎の周期条件に基づき通信メッセージの判定を行うことにより、より精度良く通信メッセージが正常メッセージか否かの判定を行うことができる。
実施の形態1.
本開示では、初めに通信許可リストに基づいて不正通信検知を行う不正通信検知フェーズについて説明した後、当該通信許可リストを生成する通信許可リスト生成フェーズについて説明する。また、不正通信検知フェーズで説明する不正通信検知装置と、通信許可リスト生成フェーズで説明する通信許可リスト生成装置とを組み合わせて通信システムが構成される。
本開示では、初めに通信許可リストに基づいて不正通信検知を行う不正通信検知フェーズについて説明した後、当該通信許可リストを生成する通信許可リスト生成フェーズについて説明する。また、不正通信検知フェーズで説明する不正通信検知装置と、通信許可リスト生成フェーズで説明する通信許可リスト生成装置とを組み合わせて通信システムが構成される。
(不正通信検知フェーズ)
図1は、実施の形態1に係る車両システム10の構成を示す構成図である。
車両システム10は、GW(Gateway)11、ケーブル12、第一車載機器1、第二車載機器2、・・・第n車載機器nを備える。nは1以上の整数であり、実際の車両には数十から百数十個の車載機器が搭載される。
図1は、実施の形態1に係る車両システム10の構成を示す構成図である。
車両システム10は、GW(Gateway)11、ケーブル12、第一車載機器1、第二車載機器2、・・・第n車載機器nを備える。nは1以上の整数であり、実際の車両には数十から百数十個の車載機器が搭載される。
GW11、第一車載機器1、第二車載機器2、・・・第n車載機器nはケーブル12を介して互いに通信を行う。ケーブル12、車両内通信で標準的に用いられているCAN(Controller Area Network)通信に対応したケーブルである。CANはブロードキャスト通信のため、GW11はケーブル12を流れる通信を全て受信することが可能である。
図2は、GW11及び不正通信検知装置100の構成を示す構成図である。
GW11は、不正通信検知装置100、GW機能部130、通信部140を備える。以下において、「部」は機能構成の要素を意味し、「部」は適宜「処理」、「工程」に読み替えてもよい。また、不正通信検知装置100の動作が不正通信検知方法に対応し、不正通信検知方法をコンピュータに実行させるプログラムが不正通信検知プログラムに対応する。
GW11は、不正通信検知装置100、GW機能部130、通信部140を備える。以下において、「部」は機能構成の要素を意味し、「部」は適宜「処理」、「工程」に読み替えてもよい。また、不正通信検知装置100の動作が不正通信検知方法に対応し、不正通信検知方法をコンピュータに実行させるプログラムが不正通信検知プログラムに対応する。
GW機能部130は、通信メッセージの転送を行うものである。
通信部140は、データの通信を行うものである。通信部140は、データを受信する受信部141と、データを送信する送信部142とを備える。また、受信部141は、単位時間あたりに受信する通信メッセージの数をカウントすることで、ケーブル12の帯域負荷状況を観測する機能を有する。
不正通信検知装置100は、車両システム10を流れる通信メッセージの不正検知を行うものであり、処理部110及び記憶部120を備える。
処理部110は、通信取得部111、通信判定部112及びアラート部113を備える。
通信取得部111は、通信メッセージを取得するものである。実施の形態1において、通信取得部111は、受信部141が受信した通信メッセージを、受信部141での受信時刻情報と共に取得し、通信判定部112に送信する。
通信判定部112は、通信メッセージの時間変化する状態毎に設定された周期条件に基づき、通信メッセージが正常なメッセージか否かを判定するものである。ここで、通信メッセージの状態とは、周期誤差に対して影響を及ぼす通信メッセージの特徴を示すものであり、実施の形態1においては、通信メッセージの周期誤差に影響を与える要因である遷移種別と、遷移種別毎に設定された複数の遷移条件とに基づいて分類される。すなわち、通信判定部112は、遷移種別と遷移条件とに基づいて分類される通信メッセージの状態に基づき、通信メッセージの周期条件を特定し、通信メッセージが正常なメッセージか否かを判定する。
通信メッセージの状態について、より具体的には、通信メッセージの周期誤差に影響を与える特徴を帯域負荷、送信回数、時間間隔といった複数の遷移状態に項目分けした後、各項目においてさらに複数の項目を遷移条件として設定している。遷移状態と遷移条件の詳細については後述する。
実施の形態1において、通信判定部112は、通信メッセージの状態毎の周期条件が設定された周期条件リストを参照することにより、通信メッセージが正常なメッセージであるか否かを判定する。より具体的には、通信判定部112は、通信メッセージの受信周期が後述する周期条件リストに定められた周期範囲を逸脱しているか否かを判定することにより、通信メッセージが正常なメッセージか否かを判定する。
また、実施の形態1において、通信判定部112は、通信メッセージの周期誤差に影響を与える要因である遷移種別と、遷移種別毎に設定された複数の遷移条件とに基づいて分類される通信メッセージの状態に基づき、通信メッセージの周期条件を特定し、前記通信メッセージが正常なメッセージか否かを判定する。
ここでの遷移種別とは、例えば、帯域負荷、送信回数、時間間隔であって、実施の形態1において、通信判定部112は、帯域負荷、送信回数、時間間隔のうち少なくとも一つに基づき、通信メッセージの状態を特定し、特定した通信メッセージの状態に対して設定された周期条件に基づき、通信メッセージが正常なメッセージか否かを判定する。
アラート部113は、通信判定部112が通信メッセージが正常なメッセージでないと判定した場合、ユーザに対してアラートを提示するものである。
記憶部120は、各種情報を記憶するものであり、特に通信許可リスト121を記憶するものである。通信許可リスト121は、不正通信検知のルールを定めたものであり、ルールリスト122と周期条件リスト123~126を備える。すなわち、実施の形態1において、記憶部120は、複数の周期条件リスト123~126とルールリスト122とを通信許可リスト121として記憶する。
ルールリスト122は、通信メッセージに含まれるIDと周期条件リストの種類を示す周期条件IDとを対応付けたものである。
周期条件リスト123~126は、通信メッセージの状態毎の周期条件が設定されたものである。より具体的には、周期条件リストは、通信メッセージの状態毎の正常な周期範囲を周期条件として保持する。
実施の形態1において、周期条件リストは周期条件リスト123~126の4つのリストが存在するものとしているが、周期条件リストの数はこれに限らず少なくとも1つ以上であればよい。ルールリスト122および周期条件リスト123~126の詳細は後述する。通信許可リスト121は不揮発性の記憶装置に記憶され、GW11が起動する際に不揮発性の記憶装置からメモリに展開される。この他にも、記憶部120にはGW11で使用、生成、入力、出力、送信または受信される不図示のデータが記憶される。
図3は、車両システム10内を流れ、不正通信検知装置100が検知対象とするCANの通信メッセージのメッセージフォーマットである。CANの通信メッセージは、IDと、DLCと、データフィールドを備える。IDは通信メッセージを一意に識別するために付与されたメッセージ番号である。DLC(Data Length Code)は次に続くデータフィールドのデータ長をバイト単位で示す。データフィールドはアプリケーションが用いるデータが格納されたフィールドであり、CAN通信では最大8バイトである。データフィールドは複数のシグナルで構成される。シグナルは1~64ビットのデータ長を取り得る。ID、DLC、データフィールドおよび各シグナルの詳細は車両システム10毎に定義される。
CANの通信メッセージには、メッセージ毎に予め定められた周期で定期的に送信される周期メッセージが多く存在する。しかしながらその周期は必ずしも正確に維持されてはおらず、様々な要因の影響を受けて早着や遅延などの誤差が生じている。
実車内のネットワークの通信を観測した場合、これら周期メッセージの中には周期誤差の遷移に特徴がみられるものが存在する。例えば、10msなどの短い周期を持つ周期メッセージの場合、CANケーブルの帯域負荷の影響を受けやすく、負荷が高い場合には送信遅延が長くなり、周期誤差が大きくなる傾向がある。あるいは、送信回数や時間間隔など一定のタイミングで大きな周期誤差が生じる挙動を繰り返すものも存在する。これらは、当該周期メッセージを送信する車載機器やあるいは車載機器上のアプリケーションなどの影響によるものと推察される。本開示はこれら特徴をもつ周期メッセージに対する周期条件の設定方法に関するものである。
図4は、通信許可リスト121を構成するルールリスト122の内部構成及び取り得る値の一例を示すものである。通信許可リスト121は、車両システム10内を流れる正常なCANメッセージの情報を記載したリストである。
通信許可リスト121内のルールリスト122を構成する項目としては、ルール番号、ID,DLC,シグナル条件、周期条件IDがある。ルール番号はルールリスト122内で各ルールを一意に識別するためにシーケンシャルに付与される番号である。IDおよびDLCは、図3に示したCANの通信メッセージにおけるIDおよびDLCに対応する。シグナル条件は、図3に示したCANの通信メッセージにおける各シグナルの先頭ビット、レングス、最小値、最大値を定義する。周期条件IDは、周期メッセージについて、その周期条件を定義した周期条件リストへの紐づけを行うための番号である。
図4の例では、IDが0x10、0x20、0x30および0x40の4つの周期メッセージの情報が記載されている。ここで、ID=0x10の周期メッセージは、周期が10msであり、その周期誤差は帯域負荷の影響を大きく受けるメッセージであるものとする。具体的には、ID=0x10はケーブル12の帯域負荷が低い(例えば40%未満)場合には10msの周期に対して±1ms未満の周期誤差しか生じないものの、帯域負荷が中程度(例えば40%以上70%未満)の場合は±2ms未満、帯域負荷が高(例えば70%以上)の場合は±3ms未満の周期誤差となるものとする。
ID=0x20の周期メッセージは、周期が100msであり、その周期誤差は送信回数の影響を大きく受けるメッセージであるものとする。具体的には、ID=0x20は最初の3パケットは100msの周期に対して±2ms未満の周期誤差しか生じないものの、次の4パケット目は常に20msほど遅延するような挙動を繰り返すものとする。
ID=0x30の周期メッセージは、周期が200msであり、その周期誤差は時間間隔の影響を大きく受けるメッセージであるものとする。具体的には、ID=0x30は最初の約39秒間は200msの周期に対して±5ms未満の周期誤差しか生じないものの、続く1秒間は±15ms以上の周期誤差となる挙動を繰り返すものとする。
ID=0x40の周期メッセージは、周期が500msであり、その周期誤差の遷移は帯域負荷や一定タイミングとの関連は特にみられないものとする。本実施例では簡略化のためルールリスト122には4つのCANメッセージのルールのみ示しているが、車両システム10を流れ得る正常なCANメッセージの情報は、周期性を持たないメッセージも含めて、全て抜け漏れなく記載することが望ましい。
図5はID=0x10の周期条件リスト123の内部構成及び取り得る値の一例を示すものである。周期条件リスト123を構成する項目としては、周期条件ID,遷移種別、状態、周期条件、遷移条件がある。周期条件IDはルールリスト122と周期条件リスト123~126の紐づけを行うための番号で、ルールリスト122でID=0x10に関するルールが記載されたルール番号1における周期条件IDと同じ値が記載される。遷移種別には”帯域負荷”、”カウンタ”、”時間”、“無”のいずれかが記載される。ここで、”カウンタ”は送信回数に、”時間”は時間間隔に対応する。
実施の形態1において、ID=0x10の通信メッセージは帯域負荷の影響を受けるため、”帯域負荷”が記載される。本項目は文字列ではなく予め定めた種別番号などを記載する形式でも良い。状態及び遷移条件にはID=0x10の周期誤差に差異が現れる条件を定義する。実施の形態1においては、帯域負荷が低、中、高の3段階で、それぞれ周期誤差が±1ms未満、±2ms未満、±3ms未満と変化するので、この3段階を状態として定義する。周期条件は各状態において正常とみなす周期条件を前回受信時からの時間の取り得る値範囲として記載する。
図6はID=0x20の周期条件リスト124の内部構成及び取り得る値の一例を示すものである。周期条件リスト124の内部構成は周期条件リスト123と同一である。周期条件リスト124の周期条件IDは1、遷移種別は“カウンタ”が記載される。状態としては「最初の3パケット」と「後の1パケット」という2状態を定義する。
図7はID=0x30の周期条件リスト125の内部構成及び取り得る値の一例を示すものである。周期条件リスト125の内部構成は周期条件リスト123と同一である。周期条件リスト125の周期条件IDは2、遷移種別は“時間”が記載される。状態としては「最初の39秒間」と「後の1秒間」という2状態を定義する。
図8はID=0x40の周期条件リスト126の内部構成及び取り得る値の一例を示すものである。周期条件リスト126の内部構成は周期条件リスト123と同一である。周期条件リスト126の周期条件IDは3、遷移種別は“無”が記載される。状態は定義しないため0、遷移条件も“無”とする。周期条件は、周期500msに対し、実車環境で発生し得る周期誤差を考慮して任意のマージンを設けた値を記載する。実施の形態1においては±20msのマージンを設けることとする。
次に、不正通信検知装置100のハードウェア構成について説明する。図9は、不正通信検知装置100のハードウェア構成を示すハードウェア構成図である。不正通信検知装置100が備える通信取得部111、通信判定部112、及びアラート部113は、記憶装置1002に格納されたプログラムが処理装置1001で実行されることにより実現される。
処理装置1001は、CPU(Central Processing Unit)中央処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、またはDSP(Digital Signal Processor)等のプロセッサである。また、複数のプロセッサにより、不正通信検知装置100の各機能を実現しても良い。また、FPGA(Field Programmable Gate Array)やASIC等で不正通信検知装置100の各機能を実現しても良い。
記憶部120は、記憶装置1002によって実現され、記憶装置1002は、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ、EPROM(ErasableProgrammable ROM)、EEPROM(Electrically EPROM)等の不揮発性または揮発性の半導体メモリであっても良いし、ハードディスク、フレキシブルディスク等の磁気ディスクであっても良いし、ミニディスク、CD(Compact Disc)、DVD(Digital Versatile Disc)等の光ディスクでも良い。
通信装置3は、通信を行う装置であり、レシーバとトランスミッタとを備える。具体的には、通信装置3は通信チップまたはNIC(Network Interface Card)である。
図10は、不正通信検知装置100が行う不正通信検知処理のフローチャートである。
ステップS1において、通信取得部111は、受信部141が受信した通信メッセージを、受信部141での受信時刻情報と共に取得し、通信判定部112に送信する。
ステップS2において、通信判定部112は、渡された通信メッセージの内容を解析し、当該メッセージに含まれるID,DLC,データフィールドの値を取得する。
ステップS3において、通信判定部112は、当該通信メッセージに合致する情報がルールリスト122に存在するかを判定する。判定では、ルールリスト122に記載された検知ルールの中から、ID条件とDLC条件がステップS2で取得した値と一致するルールを探索する。一致するルールが存在した場合は、そのルールのシグナル条件に記載された全てのシグナルについて、先頭ビットとレングスの情報に従ってデータフィールドから値を読み出し、取り得る値の範囲内であるかをチェックする。
ステップS3の判定で、一致する情報がルールリスト122に存在しない場合は、ステップS9に進み、アラート部113にて、予め定められたアラート処理を行う。アラート処理としては、送信部242を介して、車両システム10内の不図示のログ記憶装置に対して不正通信の発生を示すログ情報を送信することや、不図示の操作パネルに警告メッセージを表示させて車両システム10の搭乗者に通知することなど、様々な処理を実施し得る。以上の処理ステップを実行した後、本フローチャートを終了する。
ステップS3の判定で、一致する情報がルールリスト122に存在する場合は、ステップS4において、通信判定部112は、ルールリスト122の周期条件IDを参照し、対応する周期条件リスト(123~126のいずれか)を取得する。
ステップS5において、通信判定部112は、取得した周期条件リストの遷移種別を参照し、当該メッセージに関する現在の状態を特定する。
例えば当該メッセージがID=0x10である場合は、周期条件リスト123の遷移種別が“帯域負荷”であるため、受信部141からケーブル12の帯域負荷状況を取得して、現在の状態が負荷低(=1)、負荷中(=2)、負荷高(=3)のいずれであるかを判断する。
当該メッセージがID=0x20である場合は、周期条件リスト124の遷移種別が“カウンタ”であるため、内部で管理しているID=0x20の受信カウンタの値を参照し、4の倍数であれば状態2、それ以外であれば状態1であると判断する。
当該メッセージがID=0x30である場合は、周期条件リスト125の遷移種別が“時間”であるため、内部で管理しているID=0x30の初回受信時点からのタイマ値を参照し、40秒区切りとした場合の残りの1秒間に該当すれば状態2、それ以外であれば状態1であると判断する。
当該メッセージがID=0x40である場合は、周期条件リスト126の遷移種別が“無”であるため、それ以上の処理は行わず、ステップS6に移る。
ステップS6において、通信判定部112は、特定した状態に対応する周期条件を取得する。
ステップS7において、通信判定部112は、ステップS1で取得した受信時刻情報と、予め内部で保持していた当該メッセージに関する前回の受信時刻情報とを比較し、受信間隔がステップS6で取得した周期条件の範囲内であるかをチェックする。
ステップS7の判定で、周期条件の範囲外であると判定した場合は、ステップS9に進み、アラート部113にて、予め定められたアラート処理を行った後、本フローチャートを終了する。
ステップS7の判定で、周期条件の範囲内であると判定した場合は、当該メッセージは正常メッセージであると判定し、ステップS8において、通信判定部112は、当該メッセージの情報を更新する。具体的には、通信判定部112は、内部で保持している当該メッセージに関する前回の受信時刻情報を、ステップS1で渡された受信時刻情報で上書きする。また、通信判定部112は、当該メッセージが遷移種別“カウンタ”のメッセージであった場合は、内部で管理している当該メッセージの受信カウンタの値をインクリメントする。
以上の処理ステップを実行した後、不正通信検知装置100は動作を終了する。
以上の処理ステップを実行した後、不正通信検知装置100は動作を終了する。
以上、不正通信検知装置100によれば、時間変化する状態毎の周期条件に基づき通信メッセージの判定を行うことにより、より精度良く通信メッセージが正常メッセージか否かの判定を行うことができる。また、自動車の車両内部に取り付けた不正な車載機器などから、当該車両の走行等に関わる制御を騙すような不正メッセージが送信された場合に、それを検知してアラートとして挙げることが可能となる。周期メッセージについて、メッセージ毎に生じ得る周期誤差に影響を与える特徴を状態として定義し、現在の状態に対応した周期条件に動的に切り替えることで、周期誤差の変化に対応したきめ細かい不正通信検知を実現することが可能となる。
(通信許可リスト生成フェーズ)
次に通信許可リスト121の生成処理について説明する。
上記のような通信許可リスト121を人が手作業で作成することは、作業負荷が高く、また、抜け漏れや記載ミスが発生する可能性が生じる。そこで、図2に示した通信許可リスト121を自動的に生成する通信許可リスト生成ツールが求められる。
以下では、通信許可リスト121を自動的に生成する通信許可リスト生成装置200について説明する。また、通信許可リスト生成装置200の動作が通信許可リスト生成方法に対応し、通信許可リスト生成方法をコンピュータに実行させるプログラムが通信許可リスト生成プログラムに対応する。
次に通信許可リスト121の生成処理について説明する。
上記のような通信許可リスト121を人が手作業で作成することは、作業負荷が高く、また、抜け漏れや記載ミスが発生する可能性が生じる。そこで、図2に示した通信許可リスト121を自動的に生成する通信許可リスト生成ツールが求められる。
以下では、通信許可リスト121を自動的に生成する通信許可リスト生成装置200について説明する。また、通信許可リスト生成装置200の動作が通信許可リスト生成方法に対応し、通信許可リスト生成方法をコンピュータに実行させるプログラムが通信許可リスト生成プログラムに対応する。
図11は、通信許可リスト生成装置200の構成を示す構成図である。
通信許可リスト生成装置200は、処理部210と記憶部220とを備える。
通信許可リスト生成装置200は、処理部210と記憶部220とを備える。
記憶部220は、各種情報を記憶するものであり、通信仕様221、通信データ222、設定定義223、通信許可リスト224および更新版通信許可リスト225を記憶する。
通信仕様221は、図1に示した車両システム10内を流れるCANメッセージの通信仕様を定義したファイルである。通信仕様221の詳細は図13で後述する。通信データ222は、図1に示した車両システム10内を実際に流れるCANメッセージをパケットキャプチャツールなどで取得して保存したファイルである。
通信データ222の詳細は図14で後述する。設定定義223は、処理部210が動作する際の設定情報を記載したファイルである。設定定義223の詳細は図15で後述する。
通信許可リスト224は通信許可リスト出力部212が出力するファイル、更新版通信許可リスト225は通信データ解析部213が出力するファイルであり、これらのフォーマットは、図2で示した通信許可リスト121と同じである。
この他にも、記憶部220は通信許可リスト生成装置200で使用、生成、入力、出力、送信または受信される不図示のデータが記憶される。
処理部210は、通信仕様解析部211、通信許可リスト出力部212、及び通信データ解析部213を備える。
通信仕様解析部211は、正常な通信メッセージの仕様を定義した通信仕様を解析するものである。
通信許可リスト出力部212は、通信仕様解析部の解析結果に基づき、不正な通信メッセージの検知に用いる通信許可リストを生成するものである。
通信データ解析部213は、実際の通信データ222に基づき、通信データ222に含まれる通信メッセージの周期誤差に変動が生じる条件を特定し、特定した条件ごとに正常な周期範囲を決定し、通信許可リストを更新するものである。また、ここでの条件とは、遷移種別及び遷移条件を意味する。
実施の形態1において、通信データ解析部213は、通信データ222に基づき、単位時間毎の帯域負荷を算出し、算出した帯域負荷を複数の段階に分類し、複数の段階毎の周期誤差を比較することにより、条件を特定する。より具体的には、通信データ解析部213は、複数の段階の周期誤差の差分が所定の閾値より大きい場合に、条件のうち遷移種別が”帯域負荷”であると特定し、分類した複数の段階に基づいて遷移条件を特定する。より詳細な処理については、図25で説明する。
また、実施の形態1において、通信データ解析部213は、一定のカウンタ間隔で通信メッセージの周期誤差が所定の閾値を超えているかを判定することにより、前記要因を特定する。より具体的には、通信データ解析部213は、一定のカウンタ間隔で通信メッセージの周期誤差が所定の閾値を超えている場合に、条件のうち遷移種別が”送信回数”であると特定し、上記一定のカウンタ間隔に基づいて遷移条件を特定する。より詳細な処理については、図25で説明する。
また、実施の形態1において、通信データ解析部213は、一定の時間間隔で通信メッセージの周期誤差が所定の閾値を超えているかを判定することにより、条件を特定する。より具体的には、通信データ解析部213は、一定の時間間隔で通信メッセージの周期誤差が所定の閾値を超えている場合に、条件のうち遷移種別が”時間間隔”であると特定すし、上記一定の時間間隔に基づいて遷移条件を特定する。より詳細な処理については、図25で説明する。
図12は、図11に示した処理部210の内部動作及び入出力情報に関するフロー図である。
処理部210は、通信仕様221、設定定義223および通信データ222を入力とし、更新版通信許可リスト225を出力とする。また、処理部210の内部では、通信許可リスト224が生成される。
通信仕様解析部211は、設定定義223に基づいて通信仕様221の内容を解析する。解析結果は通信許可リスト出力部212に出力する。
通信許可リスト出力部212は、入力した解析結果の内容に従って、通信許可リスト1024を生成する。
通信データ解析部213は、通信データ222の内容を解析し、解析結果に従って通信許可リスト224の内容を更新し、更新した結果を更新版通信許可リスト1025として出力する。
ここで、処理部210は、通信許可リスト224を単なる内部情報ではなく、外部に出力しても良い。この場合、処理部210は、通信許可リスト224と更新版通信許可リスト225を共に出力することになる。
更に、処理部210は、通信仕様解析部211と通信許可リスト出力部212からなる機能部と、通信データ解析部213からなる機能部とに分割され、それぞれ別の装置として動作しても良い。この場合、通信仕様解析部211と通信許可リスト出力部212からなる機能部は、通信仕様221と設定定義223を入力とし、通信許可リスト224を出力する。通信データ解析部213からなる機能部は、通信仕様221、通信データ222および通信許可リスト224を入力とし、更新版通信許可リスト225を出力する。
図13は、図11および図12に示した通信仕様221のフォーマットの一例である。通信仕様221は、車両システム10内を流れるCANメッセージの仕様が定義されたCANのデータベースファイルである。通信仕様221は、車両システム10や、GW(Gateway)11、第一車載機器1、第二車載機器2、・・・第n車載機器nなどの各車載機器の開発段階に作成、使用される設計情報である。通信仕様221は1つのファイルではなく、複数のファイルであっても良い。
通信仕様221は、装置情報、メッセージ情報、メッセージを構成するシグナルの情報、メッセージ種別情報、メッセージ周期情報などの情報を備える。装置情報は、通信仕様221内に定義されるメッセージの送受信に関わる車載機器の名称である。メッセージ情報は、各メッセージに関するメッセージID,DLC,送信元車載機器名などの情報である。各メッセージ情報は、そのメッセージのデータフィールド部分を構成するシグナル情報を備える。シグナル情報は、シグナル名、開始ビット、レングス、取り得る値などの情報である。メッセージ種別情報は、メッセージ情報で定義された各メッセージの種別に関する情報である。メッセージ種別としては、イベントトリガで送信されるメッセージや周期的に送信されるメッセージなどが存在する。メッセージ周期情報は、メッセージ種別情報で周期を持つメッセージと定義されたメッセージの送信周期に関する情報である。
図14は、図11および図12に示した通信データ222のフォーマットの一例である。通信データ222は、車両システム10内を流れる通信メッセージをパケットキャプチャツールなどで取得して保存したファイルである。通信データ222は、車両システム10や、GW(Gateway)11、第一車載機器1、第二車載機器2、第n車載機器nなどの各車載機器の開発段階で、実車両もしくはシミュレータ環境で取得される開発、評価用の情報である。通信データ222は1つのファイルではなく、複数のファイルであっても良い。
通信データ222は、日付情報と、キャプチャした通信メッセージに関する情報を備える。メッセージに関する情報は、キャプチャ時刻、メッセージID,DLC,データフィールドである。
図15は、図11および図12に示した設定定義223のフォーマットの一例である。設定定義223は、処理部210の動作に関連する設定情報を定義したテキストファイルである。設定定義223は対象機器、周期範囲などに関する情報を備える。対象機器は、通信仕様解析部211で解析対象とするメッセージの送信元車載機器を定義する。通信許可リスト出力部212が出力する通信許可リスト224には、対象機器に定義した車載機器が送信するメッセージに関するルールのみが定義されることとなる。対象機器の定義は省略することも可能である。この場合、通信仕様221に定義された全てのメッセージが通信仕様解析部211での解析対象となる。周期範囲は、通信仕様221に定義された周期情報に対し、どれだけのマージンをみて通信許可リスト224の周期条件として定義するかを比率で指定したものである。周期範囲で定義した比率は、通信仕様221に定義された全ての周期メッセージに対して適用される。
次に、通信許可リスト生成装置200のハードウェア構成について説明する。図16は、通信許可リスト生成装置200のハードウェア構成を示すハードウェア構成図である。通信許可リスト生成装置200が備える通信仕様解析部211、通信許可リスト出力部212、及び通信データ解析部213は、記憶装置2002に格納されたプログラムが処理装置2001で実行されることにより実現される。
処理装置2001は、CPU(Central Processing Unit)中央処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、またはDSP(Digital Signal Processor)等のプロセッサである。また、複数のプロセッサにより、不正通信検知装置100の各機能を実現しても良い。また、FPGA(Field Programmable Gate Array)やASIC等で通信許可リスト生成装置200の各機能を実現しても良い。
記憶部220は、記憶装置2002によって実現され、記憶装置2002は、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ、EPROM(ErasableProgrammable ROM)、EEPROM(Electrically EPROM)等の不揮発性または揮発性の半導体メモリであっても良いし、ハードディスク、フレキシブルディスク等の磁気ディスクであっても良いし、ミニディスク、CD(Compact Disc)、DVD(Digital Versatile Disc)等の光ディスクでも良い。
図17は、図11および図12に示した通信仕様解析部211が行う通信仕様解析処理のフローチャートである。
通信仕様解析部211は、ステップS201において、入力として受け付けた通信仕様221の内容を読み込む。具体的には、図13に示した通信仕様221のフォーマットの先頭からメッセージ情報を探索していく。
そして、ステップS202において、通信仕様解析部211は、メッセージ情報が存在するかを判断する。メッセージが存在する場合は、ステップS203において、メッセージ情報解析処理のサブルーチンを実行する。メッセージ情報解析サブルーチンについては図18で後述する。メッセージ情報解析サブルーチンを実行した後、ステップS202に戻り、以降、通信仕様221内の全てのメッセージ情報を解析するまで、ステップS202~ステップS203の処理ステップを繰り返す。
ステップS202において、通信仕様解析部211が、次のメッセージ情報は存在しないと判断した場合に、本フローチャートを終了する。
図18は、通信仕様解析部211が行うメッセージ情報解析サブルーチンのフローチャートである。図18の処理は、図17のステップS203に対応する。
通信仕様解析部211は、ステップS301において、通信仕様221から、解析対象のメッセージの送信元車載機器名を取得する。
次に、ステップS302において、ステップS301で取得した送信元車載機器名が、図15に示した設定定義223の対象機器に定義されているかを判断する。
定義されていない場合は、直ちに本フローチャートを終了する。
定義されていない場合は、直ちに本フローチャートを終了する。
定義されている場合は、ステップS303において、通信仕様解析部211は、通信仕様221から、解析対象のメッセージのIDとDLCを取得する。
ステップS304において、通信仕様解析部211は、通信仕様221から、解析対象のメッセージのメッセージ種別を取得する。
そして、ステップS305において、通信仕様解析部211は、解析対象のメッセージが周期メッセージであるかを判断する。
周期メッセージの場合は、ステップS306において、通信仕様解析部211は、通信仕様221から解析対象のメッセージの周期情報を取得し、図15に示した設定定義223の周期範囲で指定された比率で下限値と上限値を算出する。例えば、取得した周期情報が10msであり、設定定義1023の周期範囲で10%と指定されている場合、当該周期メッセージの周期条件は9~11msの範囲となる。
ステップS307において、シグナル情報解析処理のサブルーチンを実行する。シグナル情報解析サブルーチンについては図19で後述する。
一方、ステップS305において周期メッセージでない場合は、直ちにステップS307に進み、シグナル情報解析サブルーチンを実行する。
以上の処理ステップを実行した後、本フローチャートを終了する。
以上の処理ステップを実行した後、本フローチャートを終了する。
図19は、通信仕様解析部211が行うシグナル情報解析サブルーチンのフローチャートである。図19は、図18のステップS307に対応する。
通信仕様解析部211は、ステップS401において、通信仕様221から、解析対象のメッセージのシグナル情報を読み込む。
ステップS402において、通信仕様解析部211は、シグナル情報から開始ビット、レングス、取り得る値の情報を取得する。
ステップS403において、通信仕様解析部211は、解析対象のメッセージに関する全てのシグナル情報の解析が完了したかを判断する。
完了していない場合、ステップS404に戻り、以降、未解析のシグナル情報が無くなるまで、ステップS401~ステップS403の処理ステップを繰り返す。
ステップS403で解析対象のメッセージに関する全てのシグナル情報の解析が完了した場合、通信仕様解析部211は、ステップS404において、ステップS402で取得した各シグナルの情報を、開始ビットの昇順にソートする。
以上の処理ステップを実行した後、本フローチャートを終了する。
図20~図24は、図17~図19に示した通信仕様解析部211の通信仕様解析処理の結果として生成されるファイルの一例である。
図20~図24に示した各ファイルは、処理部210の内部で、通信仕様解析部211から通信許可リスト出力部212への入力となる情報である。
図20に示す内部生成ファイル301は、ID、DLC、シグナル条件、周期条件IDを備える。IDおよびDLCは図18のS303で取得した情報が格納される。シグナル条件は、開始ビット、レングス、最小値、最大値を備え、いずれも図19のS402で取得した情報が格納される。図19のS404のソート処理を実行した結果として、ID毎のシグナル条件は開始ビットの値の昇順で内部生成ファイル301に記録される。周期条件IDは、周期メッセージについて、後述する内部生成ファイル302~内部生成ファイル305のいずれかへの紐づけを行うための番号である。図20の例では、図4で例示したのと同じ、IDが0x10、0x20、0x30および0x40の4つの周期メッセージの情報が記載されている。
図21に示す内部生成ファイル302は、IDが0x10のメッセージに関する周期条件が格納されたファイルである。図21に示す内部生成ファイル302は、図5に示したID=0x10の周期条件リスト123と同様に、周期条件ID、遷移種別、状態、周期条件、遷移条件を備える。周期条件には、図18のS306で算出した周期範囲が格納される。通信仕様221からは遷移種別、状態、遷移条件に関する情報は取得できないため、遷移種別は”無”、状態は0、遷移条件は”無”が格納される。
同様に、図22に示す内部生成ファイル303は、IDが0x20のメッセージに関する周期条件が格納されたファイルである。図23に示す内部生成ファイル304は、IDが0x30のメッセージに関する周期条件が格納されたファイルである。図24に示す内部生成ファイル305は、IDが0x40のメッセージに関する周期条件が格納されたファイルである。いずれも、図21に示す内部生成ファイル302と同様に、周期条件には、図18のS306で算出した周期範囲が格納され、遷移種別は”無”、状態は0、遷移条件は”無”が格納される。
図25は、図11および図12に示した通信許可リスト出力部212が行う通信許可リスト出力処理のフローチャートである。
通信許可リスト出力部212は、ステップS501において、通信許可リスト224が既に存在するかを判断する。
存在しない場合は、ステップS502において、通信許可リスト出力部212は、通信許可リスト224を新規作成する。通信許可リスト224は、図2に示した通信許可リスト121と同様に、ルールリストと複数の周期条件リストから構成される。ステップS502の処理ステップを実行した後、ステップS504に進む。
一方、ステップS501で通信許可リスト224が既に存在する場合は、ステップS503において、通信許可リスト出力部212は、既存の通信許可リスト224を編集可能なよう、ファイルオープンした後、ステップS504に進む。
ステップS504において、通信許可リスト出力部212は、内部生成ファイル301にメッセージ情報が存在するかを判断する。
存在する場合、ステップS505において、通信許可リスト出力部212は、内部生成ファイル301内のメッセージ情報に対応するルールが通信許可リスト224に既に存在するかを判断する。具体的には、内部生成ファイル301から対象メッセージのIDを取得し、同じIDのルールが通信許可リスト224内のルールリストに存在するかをまず判断する。存在した場合は、内部生成ファイル301のDLC,シグナル条件、周期条件IDが、対応する通信許可リスト224内のルールのDLC,シグナル条件、周期条件IDと合致するかを判断する。合致した場合は、更に、内部生成ファイル302~内部生成ファイル305のうち、対応する周期条件IDを持つファイルを特定して、そのファイルから周期条件を取得し、通信許可リスト224内の対応する周期条件リストの周期条件と合致するかを判断する。合致した場合は、同じIDのルールが通信許可リスト224に存在していると判断し、ステップS504に戻る。
ステップS505で同じIDのルールが通信許可リスト224に存在していない場合は、通信許可リスト出力部212は、ステップS506において、内部生成ファイル301のID,DLC,シグナル条件、周期条件IDの情報と、内部生成ファイル302~内部生成ファイル305のうち、対応する周期条件IDを持つファイルの遷移条件、状態、周期条件、遷移条件の情報を、通信許可リスト224に追記して、ステップS504に戻る。
以降、内部生成ファイル301のメッセージ情報を全て読み出すまで、ステップS504~ステップS506の処理ステップを繰り返す。
ステップS504において、内部生成ファイル301に次のメッセージ情報が存在しなくなった場合は、本フローチャートを終了する。
図20~図24で示した内部生成ファイル301~内部生成ファイル305の内容を入力として、図25に示した通信許可リスト出力処理を実施した場合に生成される通信許可リスト224内のルールリストおよび周期条件リストのフォーマットは、図4~図8に示したルールリスト122および周期条件リスト123~周期条件リスト126と同じフォーマットである。
図26は、図11および図12に示した通信データ解析部213が行う通信データ解析処理のフローチャートである。
通信データ解析部213は、ステップS601において、入力として受け付けた通信データ222の内容を読み込む。
ステップS602において、通信データ解析部213は、通信データ222の内容から単位時間毎の帯域負荷を算出し、各単位時間の通信ログを、帯域負荷が低(40%未満)、中(40%以上70%未満)、高(70%以上)の3段階に分類する。
ステップS603において、通信データ解析部213は、図25に示した通信許可リスト出力処理で生成された通信許可リスト224内のルールリストを参照し、通信データ222内の通信ログに未解析の周期メッセージが存在するかを判断する。
全ての周期メッセージの解析が終了している場合は、本フローチャートを終了する。
全ての周期メッセージの解析が終了している場合は、本フローチャートを終了する。
ステップS603の判断において、未解析の周期メッセージが存在する場合は、通信データ解析部213は、ステップS604において、当該周期メッセージのIDに合致する通信ログを通信データ222から全て取得し、各通信ログに先頭からシーケンシャルなログ番号を付与する。
ステップS605において、通信データ解析部213は、ステップS602での分類結果とステップS604での取得結果から、帯域負荷が低、中、高それぞれの期間における当該周期メッセージの周期誤差の最大値と最小値を取得する。
ステップS606において、通信データ解析部213は、帯域負荷毎の周期誤差の最大値/最小値を比較し、所定の閾値以上の差異が生じているかを判断する。
生じている場合は、ステップS607において、通信データ解析部213は、通信許可リスト224内の当該周期メッセージに関する周期条件リストの内容を更新する。周期条件リストの“遷移種別”を“帯域負荷”に変更し、状態及び遷移条件には帯域負荷が低、中、高の3段階を定義し、各状態の周期条件にはステップS605で取得した周期誤差の最大値、最小値に基づいた値範囲を設定する。本処理ステップを実行した結果、通信許可リスト224内の当該周期メッセージに関する周期条件リストの内容は、例えば図21に示した内部生成ファイル302の内容から、図5に示したID=0x10の周期条件リスト123の内容に更新される。
ステップS606の比較で帯域負荷毎の周期誤差に大きな差異が見られない場合は、通信データ解析部213は、ステップS608において、ステップS604で取得した当該周期メッセージの全ての通信ログから、周期誤差が所定の閾値を上回っているログを抽出する。
ステップS609において、通信データ解析部213は、抽出したログのログ番号を確認し、一定のカウンタ間隔で乖離が大きい通信ログが発生しているかを確認する。
一定の間隔の場合は、ステップS610において、通信データ解析部213は、ステップS604で取得した当該周期メッセージの全ての通信ログを、周期誤差の大きい通信ログとそれ以外の通信ログの2群に分類し、それぞれの群における周期誤差の最大値と最小値を取得する。
ステップS611において、通信データ解析部213は、通信許可リスト224内の当該周期メッセージに関する周期条件リストの内容を更新する。周期条件リストの“遷移種別”を“カウンタ”に変更し、状態には上記2群をそのまま2状態として定義する。遷移条件には、周期誤差が大きくなるタイミングとそれ以外のタイミングを定義する。各状態の周期条件にはS2410で取得した周期誤差の最大値、最小値に基づいた値範囲を設定する。本処理ステップを実行した結果、通信許可リスト224内の当該周期メッセージに関する周期条件リストの内容は、例えば図22に示した内部生成ファイル303の内容から、図6に示したID=0x20の周期条件リスト124の内容に更新される。
一方、ステップS609の判定で、周期誤差が大きい通信ログのログ番号が一定のカウンタ間隔となっていない場合には、通信データ解析部213は、ステップS612において、周期誤差が大きい通信ログを受信時刻が近いものでグループ分けし、グループ間の時間間隔が一定かを判断する。
一定の時間間隔の場合は、ステップS613において、通信データ解析部213は、ステップS604で取得した当該周期メッセージの全ての通信ログを、周期誤差の大きい通信ログとそれ以外の通信ログの2群に分類し、それぞれの群における周期誤差の最大値と最小値を取得する。
ステップS614において、通信データ解析部213は、通信許可リスト224内の当該周期メッセージに関する周期条件リストの内容を更新する。周期条件リストの“遷移種別”を“時間”に変更し、状態には上記2群をそのまま2状態として定義する。遷移条件には、周期誤差が大きくなるタイミングとそれ以外のタイミングを定義する。各状態の周期条件にはS2413で取得した周期誤差の最大値、最小値に基づいた値範囲を設定する。本処理ステップを実行した結果、通信許可リスト224内の当該周期メッセージに関する周期条件リストの内容は、例えば図23に示した内部生成ファイル304の内容から、図7に示したID=0x30の周期条件リスト125の内容に更新される。
一方、ステップS612の判定で時間間隔が一定でない場合には、ステップS615において、通信データ解析部213は、ステップS604で取得した当該周期メッセージの全ての通信ログにおける周期誤差の最大値と最小値を取得する。
ステップS616において、通信データ解析部213は、通信許可リスト224内の当該周期メッセージに関する周期条件リストの内容を更新する。周期条件に、ステップS615で取得した周期誤差の最大値、最小値に基づいた値範囲を設定する。遷移種別、状態、遷移条件には、ステップ図25に示したS506の処理ステップにおいて既にそれぞれ”無”、0、”無”という情報が格納されているため、本処理ステップでは変更しない。本処理ステップを実行した結果、通信許可リスト224内の当該周期メッセージに関する周期条件リストの内容は、例えば図24に示した内部生成ファイル305の内容から、図8に示したID=0x40の周期条件リスト126の内容に更新される。
以上の処理ステップを行った後、ステップS603に戻り、以降、全ての周期メッセージの解析が終了するまで、ステップS603~ステップS616の処理ステップを繰り返し、全ての周期メッセージについて解析が終了した場合、通信データ解析部213は動作を終了する。
以上のように、通信許可リスト生成装置200によれば、周期メッセージ毎の特徴を考慮した周期条件を、人の手作業に依らず、通信仕様と通信データから自動生成することが可能となる。そして、不正通信検知装置100と組み合わせて用いることにより、誤検知と検知漏れの発生を共に抑制した不正通信検知を実現できる。
(その他の実施形態)
本開示に係る不正通信検知装置及び通信許可リスト生成装置のその他の実施形態について説明する。
実施の形態1では例として車両システムにおけるCANメッセージを対象としたが、本開示に係る不正通信検知装置および通信許可リスト生成装置の適用対象は必ずしも上記に限定されない。例えば、本開示にかかる不正通信検知装置は、工場、ビル、家庭などに構築されたIoTシステム上の装置に搭載され、有線LANや無線LANを介したTCP/IP通信を検知対象としても良い。この場合、図4に示したルールリスト122を構成する項目は、IDではなく送信元と送信先のアドレス(IPアドレスとポート番号、プロトコル番号など)、DLCではなくTCP/IPメッセージのペイロード部分のデータ長、シグナル条件ではなくペイロード条件、となる。図13に示した通信仕様1021はIoTシステム上を流れるTCP/IP通信を定めた仕様書であり、図13に示した通信データ222はIoTシステム上を流れるTCP/IP通信をキャプチャしたファイルとなる。
本開示に係る不正通信検知装置及び通信許可リスト生成装置のその他の実施形態について説明する。
実施の形態1では例として車両システムにおけるCANメッセージを対象としたが、本開示に係る不正通信検知装置および通信許可リスト生成装置の適用対象は必ずしも上記に限定されない。例えば、本開示にかかる不正通信検知装置は、工場、ビル、家庭などに構築されたIoTシステム上の装置に搭載され、有線LANや無線LANを介したTCP/IP通信を検知対象としても良い。この場合、図4に示したルールリスト122を構成する項目は、IDではなく送信元と送信先のアドレス(IPアドレスとポート番号、プロトコル番号など)、DLCではなくTCP/IPメッセージのペイロード部分のデータ長、シグナル条件ではなくペイロード条件、となる。図13に示した通信仕様1021はIoTシステム上を流れるTCP/IP通信を定めた仕様書であり、図13に示した通信データ222はIoTシステム上を流れるTCP/IP通信をキャプチャしたファイルとなる。
実施の形態1では、図5~図8で示した周期条件リスト123~126が取り得る遷移種別として、“帯域負荷”、“カウンタ”、“時間”、“無”の4種類が存在したが、この他の種別を設けても良い。また、遷移種別は予め固定的に定義しておくのではなく、図11に示した通信データ解析部213において、通信データ222から抽出した周期メッセージ毎の特徴量に基づいて動的に定義しても良い。
上記実施の形態は、好ましい形態の例示であり、本開示の技術的範囲を制限することを意図するものではない。実施の形態は、部分的に実施してもよいし、他の形態と組み合わせて実施してもよい。フローチャート等を用いて説明した手順は、適宜に変更してもよい。
本開示に係る不正通信検知装置及び通信許可リスト生成装置は、車両システムやIoTシステム上における通信メッセージの不正通信検知に用いるのに適している。
1 第一車載機器、2 第二車載機器、10 車両システム、11 GW、12 ケーブル、100 不正通信検知装置、110 処理部、111 通信取得部、112 通信判定部、113 アラート部、120 記憶部、121 通信許可リスト、122 ルールリスト、123,124,125,126 周期条件リスト、130 GW機能部、140 通信部、141 受信部、142 送信部、200 通信許可リスト生成装置、210 処理部、211 通信仕様解析部、212 通信許可リスト出力部、213 通信データ解析部、220 記憶部、221 通信仕様、222 通信データ、223 設定定義、224 通信許可リスト、225 更新版通信許可リスト、301,302,303,304,305 内部生成ファイル、1001 処理装置、1002記憶装置、1003 通信装置、2001 処理装置、2002 記憶装置。
Claims (15)
- 通信メッセージを取得する通信取得部と、
前記通信メッセージの時間変化する状態毎に設定された周期条件に基づき、前記通信メッセージが正常なメッセージか否かを判定する通信判定部と、
を備える不正通信検知装置。 - 前記通信判定部は、前記状態毎の周期条件が設定された周期条件リストを参照することにより、前記通信メッセージが正常なメッセージか否かを判定する
ことを特徴とする請求項1に記載の不正通信検知装置。 - 複数の前記周期条件リスト、及び前記通信メッセージに含まれるIDと前記周期条件リストの種類を示す周期条件IDとを対応付けたルールリストを記憶する記憶部
をさらに備えることを特徴とする請求項2に記載の不正通信検知装置。 - 前記周期条件リストは、前記状態毎の正常な周期範囲を前記周期条件として保持し、
前記通信判定部は、前記通信メッセージの受信周期が前記周期条件リストに定められた正常な周期範囲を逸脱しているか否かを判定することにより、前記通信メッセージが正常なメッセージか否かを判定する
ことを特徴とする請求項2又は3に記載の不正通信検知装置。 - 前記通信判定部は、前記通信メッセージの周期誤差に影響を与える要因である遷移種別と、前記遷移種別毎に設定された複数の遷移条件とに基づいて分類される前記通信メッセージの状態に基づき、前記通信メッセージの前記周期条件を特定し、前記通信メッセージが正常なメッセージか否かを判定する
ことを特徴とする請求項1から4のいずれか一項に記載の不正通信検知装置。 - 前記通信判定部は、帯域負荷、送信回数、時間間隔のうち少なくとも一つに基づき、前記通信メッセージの状態を特定し、特定した前記通信メッセージの状態に対して設定された前記周期条件に基づき、前記通信メッセージが正常なメッセージか否かを判定する
ことを特徴とする請求項1から5のいずれか一項に記載の不正通信検知装置。 - 正常な通信メッセージの仕様を定義した通信仕様を解析する通信仕様解析部と、
前記通信仕様解析部の解析結果に基づき、不正な通信メッセージの検知に用いる通信許可リストを生成する通信許可リスト出力部と、
実際の通信データに基づき、前記通信データに含まれる通信メッセージの周期誤差に変動が生じる条件を特定し、前記条件ごとに正常な周期範囲を決定し、前記通信許可リストを更新する通信データ解析部と、
を備える通信許可リスト生成装置。 - 前記通信データ解析部は、前記通信データに基づき、単位時間毎の帯域負荷を算出し、算出した前記帯域負荷を複数の段階に分類し、前記複数の段階毎の周期誤差を比較することにより、前記条件を特定する
ことを特徴とする請求項7に記載の通信許可リスト生成装置。 - 前記通信データ解析部は、一定のカウンタ間隔で前記通信メッセージの周期誤差が所定の閾値を超えているかを判定することにより、前記条件を特定する
ことを特徴とする請求項7又は8に記載の通信許可リスト生成装置。 - 前記通信データ解析部は、一定の時間間隔で前記通信メッセージの周期誤差が所定の閾値を超えているかを判定することにより、前記条件を特定する
ことを特徴とする請求項7から9のいずれか一項に記載の通信許可リスト生成装置。 - 請求項1から6のいずれか一項に記載の不正通信検知装置と、
請求項7から10のいずれか一項に記載の通信許可リスト生成装置と、
を備える通信システム。 - 通信メッセージを取得する通信取得工程と、
前記通信メッセージの時間変化する状態毎に設定された周期条件に基づき、前記通信メッセージが正常なメッセージか否かを判定する通信判定工程と、
を含む不正通信検知方法。 - 請求項12に記載の全工程をコンピュータに実行させる不正通信検知プログラム。
- 正常な通信メッセージの仕様を定義した通信仕様を解析する通信仕様解析工程と、
前記通信仕様解析工程での解析結果に基づき、不正な通信メッセージの検知に用いる通信許可リストを生成する通信許可リスト出力工程と、
実際の通信データに基づき、前記通信データに含まれる通信メッセージの周期誤差に変動が生じる条件を特定し、前記条件ごとに正常な周期範囲を決定し、前記通信許可リストを更新する通信データ解析工程と、
を含む通信許可リスト生成方法。 - 請求項14に記載の全工程をコンピュータに実行させる通信許可リスト生成プログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2023568237A JP7435929B2 (ja) | 2022-03-11 | 2022-03-11 | 不正通信検知装置、通信許可リスト生成装置、不正通信検知方法、通信許可リスト生成方法、不正通信検知プログラム、及び通信許可リスト生成プログラム |
PCT/JP2022/010920 WO2023170928A1 (ja) | 2022-03-11 | 2022-03-11 | 不正通信検知装置、通信許可リスト生成装置、不正通信検知方法、通信許可リスト生成方法、不正通信検知プログラム、及び通信許可リスト生成プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2022/010920 WO2023170928A1 (ja) | 2022-03-11 | 2022-03-11 | 不正通信検知装置、通信許可リスト生成装置、不正通信検知方法、通信許可リスト生成方法、不正通信検知プログラム、及び通信許可リスト生成プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2023170928A1 true WO2023170928A1 (ja) | 2023-09-14 |
Family
ID=87936429
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2022/010920 WO2023170928A1 (ja) | 2022-03-11 | 2022-03-11 | 不正通信検知装置、通信許可リスト生成装置、不正通信検知方法、通信許可リスト生成方法、不正通信検知プログラム、及び通信許可リスト生成プログラム |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP7435929B2 (ja) |
WO (1) | WO2023170928A1 (ja) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019087858A1 (ja) * | 2017-10-30 | 2019-05-09 | 日本電信電話株式会社 | 攻撃通信検出装置、攻撃通信検出方法、プログラム |
JP2021005821A (ja) * | 2019-06-27 | 2021-01-14 | 矢崎総業株式会社 | 異常検出装置 |
WO2022014027A1 (ja) * | 2020-07-17 | 2022-01-20 | 三菱電機株式会社 | 通信許可リスト生成装置、通信許可リスト生成方法、及び、プログラム |
-
2022
- 2022-03-11 WO PCT/JP2022/010920 patent/WO2023170928A1/ja active Application Filing
- 2022-03-11 JP JP2023568237A patent/JP7435929B2/ja active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019087858A1 (ja) * | 2017-10-30 | 2019-05-09 | 日本電信電話株式会社 | 攻撃通信検出装置、攻撃通信検出方法、プログラム |
JP2021005821A (ja) * | 2019-06-27 | 2021-01-14 | 矢崎総業株式会社 | 異常検出装置 |
WO2022014027A1 (ja) * | 2020-07-17 | 2022-01-20 | 三菱電機株式会社 | 通信許可リスト生成装置、通信許可リスト生成方法、及び、プログラム |
Non-Patent Citations (1)
Title |
---|
OSUGA, SETSUO.: "Database and knowledge base; 1st edition", 30 July 1989, OHMSHA LTD., ISBN: 4-274-07520-6, article OSUGA, SETSUO: "Passage; Database and knowledge base", pages: 91 - 96, XP009549456 * |
Also Published As
Publication number | Publication date |
---|---|
JPWO2023170928A1 (ja) | 2023-09-14 |
JP7435929B2 (ja) | 2024-02-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220116405A1 (en) | Vehicle communication apparatus, in-vehicle network system, and vehicle communication method | |
KR102601578B1 (ko) | 사이버 공격에 대한 네트워크 보호 방법 | |
EP3598329B1 (en) | Information processing method, information processing system, and program | |
CN106105105B9 (zh) | 网络通信系统、不正常检测电子控制单元以及不正常应对方法 | |
US11296965B2 (en) | Abnormality detection in an on-board network system | |
CN100445980C (zh) | 利用动态选择性过滤标准的多级信息包筛选的装置和方法 | |
CN106537872B (zh) | 用于检测计算机网络中的攻击的方法 | |
EP3402128A1 (en) | Abnormality detection method, abnormality detection device, and abnormality detection system | |
JP2017112590A (ja) | 通信装置、通信方法、及び通信プログラム | |
CN110546921A (zh) | 不正当检测方法、不正当检测装置以及程序 | |
CN114731301B (zh) | 决定方法、决定系统以及程序记录介质 | |
US10296746B2 (en) | Information processing device, filtering system, and filtering method | |
WO2023170928A1 (ja) | 不正通信検知装置、通信許可リスト生成装置、不正通信検知方法、通信許可リスト生成方法、不正通信検知プログラム、及び通信許可リスト生成プログラム | |
Francia et al. | Applied machine learning to vehicle security | |
JP7170945B2 (ja) | 通信許可リスト生成装置、通信許可リスト生成方法、及び、プログラム | |
US10666671B2 (en) | Data security inspection mechanism for serial networks | |
WO2019207764A1 (ja) | 抽出装置、抽出方法および記録媒体、並びに、検知装置 | |
KR102377306B1 (ko) | 메시지 처리 방법, 메시지 처리 서버 및 이를 포함하는 메시지 처리 시스템 | |
CN118829984A (zh) | 非法通信检测装置、通信许可列表生成装置、非法通信检测方法、通信许可列表生成方法、非法通信检测程序和通信许可列表生成程序 | |
KR102211804B1 (ko) | 다양한 통신 프로토콜에 적용 가능한 차량 통신 메시지 보안성 평가 방법 및 그 장치 | |
CN110535844B (zh) | 一种恶意软件通讯活动检测方法、系统及存储介质 | |
EP3605966B1 (en) | Intrusion detection device, intrusion detection method, and intrusion detection system | |
CA3186107A1 (en) | Method, apparatus, system, device, and storage medium for implementing terminal verification | |
CN113647064B (zh) | 信息处理装置 | |
JP2024093195A (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: 22930909 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2023568237 Country of ref document: JP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 112022006329 Country of ref document: DE |