WO2019220746A1 - 異常検知装置および異常検知方法 - Google Patents
異常検知装置および異常検知方法 Download PDFInfo
- Publication number
- WO2019220746A1 WO2019220746A1 PCT/JP2019/008746 JP2019008746W WO2019220746A1 WO 2019220746 A1 WO2019220746 A1 WO 2019220746A1 JP 2019008746 W JP2019008746 W JP 2019008746W WO 2019220746 A1 WO2019220746 A1 WO 2019220746A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- bus
- data frame
- attack
- threshold
- reception
- Prior art date
Links
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/60—Protecting data
- G06F21/606—Protecting data by securing the transmission between two devices or processes
-
- 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
- G06F21/554—Detecting local intrusion or implementing counter-measures involving event detection and direct action
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40006—Architecture of a communication node
- H04L12/40013—Details regarding a bus controller
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/40267—Bus for use in transportation systems
- H04L2012/40273—Bus for use in transportation systems the transportation system being a vehicle
Definitions
- the present disclosure relates to an apparatus and method for detecting a cyber attack on a device connected to a network.
- an ECU that electronically controls not only an engine and a brake but also a plurality of devices is connected to an in-vehicle network, and the in-vehicle network is connected to an external network.
- Patent Documents 1 and 2 disclose a technique for performing a cyber attack (detection of fraud) by comparing a data reception interval with a predetermined period.
- the present invention provides an anomaly detection device and an anomaly detection method for detecting a cyber attack on a device connected to a network such as an in-vehicle network.
- an anomaly detection device that is connected to a bus through which data frames are transmitted at a predetermined cycle and detects an attack on a device connected to the bus.
- the abnormality detection device determines whether or not the reception period of the data frame to be inspected is within a normal range using a threshold value indicating the normal range, and receives a data frame transmitted to the bus.
- An attack detection unit that detects the presence or absence of an attack based on the determination result, a bus load calculation unit that calculates a bus load value indicating the degree of bus congestion based on the content of the data frame received by the frame reception unit, and a bus load
- a reception cycle threshold value calculation unit that determines a threshold value according to the bus load value calculated by the calculation unit.
- an abnormality detection method is provided that is connected to a bus through which data frames are transmitted at a predetermined cycle and detects an attack on a device connected to the bus.
- the abnormality detection method includes a step of receiving a data frame, a step of calculating a bus load value indicating the degree of bus congestion based on the content of the received data frame, and a data frame based on the calculated bus load value.
- a program for controlling an anomaly detection device that is connected to a bus that transmits data frames at a predetermined cycle and detects an attack on a device connected to the bus.
- the program includes a step of receiving a data frame, a step of calculating a bus load value indicating a degree of bus congestion based on the content of the received data frame, and a calculated bus load value.
- the threshold for judging the reception period is changed according to the degree of bus congestion. For this reason, when a data frame is delayed due to bus congestion, it is possible to prevent an erroneous detection of a normal frame as an attack frame, and to accurately detect an attack frame when the bus is not congested. Can do.
- the figure which showed the example of application to the network in a vehicle of the abnormality detection apparatus of this indication The figure which shows the hardware constitutions of the gateway device
- the figure which shows the functional structure of a gateway apparatus The figure which shows the composition of the data frame transmitted with CAN (Controller Area Network) network
- the figure which shows the various data referred in control of a gateway apparatus Comprising: The figure which shows a frame information table
- the figure which shows a period threshold value table The figure for demonstrating the attack detection operation
- movement by the gateway apparatus in Embodiment 1 The figure for explaining the calculation method of the total number of received bits per unit time Illustration for explaining the expected reception time range
- the abnormality detection device of the present disclosure is a device that detects an attack (for example, a DoS attack) on a device connected to a network.
- FIG. 1 is a diagram illustrating an example in which the abnormality detection device of the present disclosure is applied to a network in a vehicle.
- in-vehicle networks 200 a and 200 b are provided in the vehicle 10.
- the in-vehicle network 200a and the in-vehicle network 200b are connected by the gateway device 100.
- the in-vehicle network 200a includes a bus 201a and a plurality of ECUs (Electronic Control Units) 300 connected to the bus 201a.
- ECUs Electronic Control Units
- the in-vehicle network 200b includes a bus 201b and a plurality of ECUs 300 connected to the bus 201b.
- the ECU 300 is a device that electronically controls a device connected to the ECU 300 and collects information from the device. For example, an engine, a brake, a power window actuator, various sensors, and the like are connected to the ECU 300.
- the in-vehicle network 200a and the in-vehicle network 200b may be collectively referred to as “in-vehicle network 200”.
- the bus 201a and the bus 201b may be collectively referred to as “bus 201”.
- the gateway device 100 has a function of detecting a cyber attack on the ECU 300 of the vehicle 10 and operates as an abnormality detection device.
- the gateway device 100 detects an attack, it notifies the driver, the owner of the vehicle, a predetermined engine, and the ECU that the attack has been received.
- the ECU controls the engine and the brake to ensure safety according to this notification.
- the gateway device 100 As shown in FIG. 1, the gateway device 100 according to the first embodiment is connected to the in-vehicle network 200 and has a function of detecting an attack on the network 200. The gateway device 100 detects an attack based on the reception period of data frames periodically transmitted on the network 200.
- FIG. 2 is a diagram illustrating a hardware configuration of the gateway device 100.
- the gateway device 100 includes a CPU (control unit) 110, and implements a predetermined function by executing a predetermined program.
- the CPU 110 another type of general-purpose processor such as an MPU may be used.
- a processor designed exclusively for realizing a predetermined function may be used. That is, the gateway device 100 can include various processors such as a CPU, MPU, GPU, DSP, FPGA, and ASIC.
- the gateway device 100 includes a RAM 120, a ROM 130, and a data storage unit 140.
- the RAM 120 is a memory that temporarily stores information and programs necessary for the CPU 110 to execute calculations, and is a work area that is appropriately accessed from the CPU 110.
- the ROM 130 is a memory that stores a program executed by the CPU 110.
- the program executed by the CPU 110 may be downloaded from a server via a communication line, or may be a gateway via an internal recording medium on a board such as a nonvolatile memory or an external recording medium such as an optical disk or a memory card.
- the device 100 may be provided.
- the data storage unit 140 is a recording medium that records various information referred to in the control of the gateway device 100.
- the data storage unit 140 can be configured by, for example, an internal recording medium such as a nonvolatile memory, or an external recording medium such as a hard disk (HDD), a solid state drive (SSD), or an optical disk device.
- an internal recording medium such as a nonvolatile memory
- an external recording medium such as a hard disk (HDD), a solid state drive (SSD), or an optical disk device.
- the gateway device 100 includes first and second communication interfaces 150 and 160.
- the first communication interface 150 is a communication circuit or a communication module for exchanging data with the ECU connected to the in-vehicle network 200a.
- the second communication interface 160 is a communication circuit or a communication module for exchanging data with the ECU connected to the in-vehicle network 200b.
- the first and second communication interfaces 150 and 160 perform communication in accordance with a CAN (Controller-Area-Network) protocol widely used in an in-vehicle network.
- the first and second communication interfaces 150 and 160 may perform communication according to a protocol other than the CAN protocol. For example, communication may be performed according to the CAN FD protocol.
- FIG. 3 is a diagram showing a functional configuration of the gateway device 100. Each function shown in FIG. 3 is realized by the CPU 110 executing a predetermined program.
- the gateway device 100 includes a frame reception unit 121, a frame confirmation unit 111, a bit count unit 113, a bus load factor calculation unit 114, a reception cycle threshold calculation unit 115, a reception cycle threshold update unit 116, and an attack detection unit. 117. Furthermore, the gateway device 100 includes a bit count holding unit 141, a reception cycle information holding unit 143, and a reception cycle threshold holding unit 145.
- the frame receiving unit 121 receives a data frame transmitted on the in-vehicle network 200.
- the frame receiving unit 121 includes the first communication interface 150 and / or the second communication interface 160.
- the frame confirmation unit 111 confirms whether or not the received data frame is an inspection target based on the CAN ID of the received data frame.
- a data frame that is periodically transmitted is a frame to be subjected to an inspection for detecting a cyber attack.
- the bit count unit 113 counts the entire length of the data frame to be inspected, that is, the number of bits of the data frame to be inspected.
- the bus load factor calculation unit 114 calculates a bus load factor as an example of a bus load value that is an index indicating the degree of congestion of data transmitted on the bus 201 of the in-vehicle network 200. It can be said that the bus load factor is a value indicating the load of the in-vehicle network 200. Details of the bus load factor calculation method will be described later.
- the reception cycle threshold value calculation unit 115 calculates a threshold value of a normal cycle range that is a criterion for detecting the presence or absence of a cyber attack. Specifically, the reception cycle threshold calculation unit 115 calculates the width of the normal cycle range indicating the range of the normal reception cycle of the data frame.
- the reception cycle threshold update unit 116 updates the threshold (width) of the normal cycle range based on the bus load factor.
- the attack detection unit 117 refers to the normal cycle range, and detects the presence or absence of a cyber attack based on the data frame reception cycle.
- the frame confirmation unit 111, the bit count unit 113, the bus load factor calculation unit 114, the reception cycle threshold calculation unit 115, the reception cycle threshold update unit 116, and the attack detection unit 117 are executed by the CPU 110. It is realized by.
- the bit count holding unit 141, the reception cycle information holding unit 143, and the reception cycle threshold holding unit 145 are configured by the data storage unit 140. Details of the information held by the holding units 141, 143, and 145 will be described later with reference to FIGS. 5A to 5C.
- FIG. 4 is a diagram showing a configuration of a data frame (hereinafter referred to as “CAN frame”) defined in the CAN protocol.
- the CAN frame starts with an SOF (Start of Frame) 51 and ends with an EOF (End of Frame) 62. Further, the CAN frame has a field 52 for storing an ID for specifying the type of the frame, an RTR 53, a DLC 56, and a field 57 for storing data.
- An RTR (Remote Transmission Request) 53 stores a value for identifying a data frame and a remote frame.
- a DLC (Data length Code) 56 stores a value indicating the length of the data field 57.
- FIG. 5A to 5C are diagrams showing various table information referred to in the control of the gateway device 100.
- FIG. 5A to 5C are diagrams showing various table information referred to in the control of the gateway device 100.
- FIG. 5A is a diagram illustrating an example of the configuration of a frame information table 81 that stores information on various data frames.
- the frame information table 81 manages the expected period of data frames, DLC, RTR, and allowable values of bus load factor.
- the frame information table 81 is stored in the reception cycle information holding unit 143.
- DLC and RTR are defined for each data frame type by the CAN protocol.
- a transmission cycle is defined for each type of data frame. That is, the data frame is expected to be received at a reception cycle (expected cycle) corresponding to a transmission cycle defined in advance for each type of frame (that is, for each CAN ID). Therefore, in the frame information table 81, the expected reception cycle (expected cycle) of the data frame is managed for each CAN ID.
- the expected cycle of “0” means that the data frame is a frame that is transmitted aperiodically.
- the gateway apparatus 100 excludes data frames that are transmitted (received) aperiodically from the inspection target for attack detection and uses data frames that are transmitted (received) periodically as the inspection target. .
- the value of CAN ID indicates the priority in data frame transmission control. That is, a data frame with a smaller CAN ID value has a higher transmission priority.
- data frames are transmitted preferentially from the one with the highest priority.
- the allowable value of the bus load factor is information referred to in the attack detection process, and is set in advance for each CAN ID of the data frame (details will be described later).
- the allowable value of the bus load factor is set for each type of data frame (for each CAN ID).
- FIG. 5B is a bit count table 83 that manages the total number of bits of the data frame received at each predetermined reception time.
- the reception time is a time measured using a predetermined timing (for example, when the CPU (control unit) 110 is activated) as a reference time.
- the bit count table 83 is stored in the bit count holding unit 141. For example, in the example of FIG. 5B, three data frames are received at time 2011, and the number of bits is 121, 95, and 45 bits. In the bit count table 83, 261 bits are recorded as the total number of received bits. Yes.
- FIG. 5C is a period threshold table 85 that manages threshold information for defining a normal period range that is a range of a reception period determined to be normal reception for each CAN ID data frame. .
- the period threshold value table 85 is stored in the reception period threshold value holding unit 145.
- the upper threshold width and the lower threshold width which are margins of the upper and lower cycles, are managed as threshold information for defining the normal cycle range. That is, the normal cycle range is set to a range having margins by an upper threshold width and a lower threshold width on the upper side and the lower side, respectively, with an expected cycle T defined in advance for each frame as a reference.
- the normal cycle range W is expressed by the following equation.
- the periodic threshold table 85 manages the upper threshold and lower threshold of the data frame for each type of data frame, that is, for each CAN ID.
- the upper threshold is 10 + ⁇ mh (ms)
- the lower threshold is 10 ⁇ ml (ms). Therefore, for a data frame with a CAN ID “100”, the normal cycle range W is in a range of (10 ⁇ ml) ms to (10 + ⁇ mh) ms.
- the upper threshold value and the lower threshold value are values that give a threshold value within the range of the reception cycle that is determined to be normal.
- the cyber attack detection operation in the gateway device 100 configured as described above will be described below.
- the gateway device 100 detects a cyber attack based on fluctuations in the reception cycle of data flowing on the in-vehicle network 200.
- the gateway device 100 monitors the reception cycle of data frames that are periodically transmitted, and determines that a cyber attack has occurred when the expected reception cycle (expected cycle) is not within the normal cycle range.
- the gateway device 100 monitors the reception cycle of a data frame having periodicity, and if the cycle is within the normal cycle range, the gateway device 100 determines that the reception cycle is normal and is not under attack. On the other hand, when the reception cycle is out of the normal cycle range, it is determined that the reception cycle is abnormal, and an attack is detected.
- the gateway device 100 determines whether there is an attack based on the reception cycle as follows.
- a case where a data frame having a period T with a CAN ID has a reception time expected from the previous reception is texp and a time actually received this time is tact will be described as an example.
- a minimum threshold time thmin that is a time indicating the lower limit of the normal cycle range W, and a maximum threshold time that is a time indicating the upper limit thmax is calculated by the following equation.
- thmin texp ⁇ ml (2a)
- thmax texp + ⁇ mh (2b)
- the upper threshold width ⁇ mh and the lower threshold width ⁇ ml are calculated by the following formulas based on the bus load factor L, respectively.
- the bus load factor L is an index indicating the degree of congestion of data transmitted on the bus, and a calculation method thereof will be described later.
- the reception cycle is within the normal range, so that it is determined that the frame is a normal data frame.
- the reception time tact is earlier than the minimum threshold time thmin or later than the maximum threshold time thmax, the reception cycle is out of the normal cycle range, so it is determined that an attack has occurred.
- the upper threshold width ⁇ mh and the lower threshold width ⁇ ml are changed according to the bus load factor L, that is, the bus congestion, as shown in equations (3a) and (3b). That is, the threshold for period determination is changed according to the bus load factor L, that is, the bus congestion.
- the upper threshold width ⁇ mh and the lower threshold width ⁇ ml are increased, and the normal cycle range W serving as a determination criterion is increased. This reduces the probability of misidentifying a frame delayed due to bus congestion as an attack frame.
- the upper threshold width ⁇ mh and the lower threshold width ⁇ ml are reduced to reduce the normal cycle range W, thereby improving the original attack frame detection accuracy.
- FIG. 7 is a flowchart showing an attack detection operation by the gateway device 100 according to the first embodiment.
- an attack detection operation performed by the gateway device 100 will be described with reference to FIG.
- the process shown in FIG. 7 is repeatedly executed at a predetermined control cycle.
- the frame receiving unit 121 receives a data frame transmitted on the in-vehicle network 200 (S1).
- the bit count unit 113 counts the number of bits of each received data frame, adds it to the number of bits of other data frames received at the same reception time to obtain the total number of received bits, and calculates the total number of received bits at each reception time as a bit. Recorded in the count holding unit 141 (S2).
- the bit count unit 113 may acquire the value stored in the DLC as the number of bits instead of actually counting the number of bits of the received data frame.
- the bit count unit 113 calculates the total number of received bits (Bit_sum) per unit time for each reception time and records it in the bit count table 83.
- Bit_sum the total number of received bits
- the bit count unit 113 adds the received bits at the reception time “2011” and records “261” as the total number of received bits per unit time in the bit count table 83.
- the bit count unit 113 records “143” as the total number of received bits in the bit count table 83.
- the frame confirmation unit 111 confirms whether or not the received data frame is a data frame to be inspected for detecting a cyber attack (S3). Specifically, the frame confirmation unit 111 refers to the frame information table 81 and confirms whether or not the received data frame is a periodic frame based on the CAN ID of the received data frame. When the received data frame is a frame having periodicity, the frame confirmation unit 111 is assumed to be a frame to be inspected for detection of a cyber attack.
- the frame confirmation unit 111 further determines whether the data frame reception time tact is equal to the expected reception time texp (S4).
- the expected reception time texp is obtained by adding the expected period T of the data frame to the previous reception time.
- the expected period T is acquired by referring to the frame information table 81 based on the CAN ID of the received data frame.
- the attack detection unit 117 determines that a cyber attack has not been detected (S12). The process ends.
- the frame confirmation unit 111 determines whether or not the reception time tact is delayed from the expected reception time texp (S5).
- the bus load factor calculation unit 114 calculates a deviation time Te indicating the amount of deviation of the reception time tact from the expected reception time texp (S6). ). Next, the bus load factor calculation unit 114 calculates the bus load factor L according to the following equation (S7).
- BPS is the data transfer rate on the bus.
- the bus load factor calculation unit 114 calculates the bus load factor from the deviation time Te and the sum of the total number of bits Bit_sum received at each reception time between the expected reception time texp and the reception time tact. L is calculated (S7). The total number of bits Bit_sum at each reception time between the expected reception time texp and the reception time tact can be acquired from the bit count table 83.
- the bus load factor calculator 114 compares the calculated bus load factor L with the allowable value PL (allowable value) of the bus load factor (S8).
- the allowable value PL of the bus load factor is acquired by referring to the frame information table 81 based on the CAN ID of the received data frame.
- the allowable value PL of the bus load factor is a threshold value for determining whether or not the data frame delay is caused by bus congestion.
- the allowable value PL of the bus load factor is a threshold value for determining whether or not the data frame delay is caused by bus congestion.
- the allowable value PL of the bus load factor which is a reference value when determining that the cause of the delay is the congestion of the bus 201 (that is, the delay is not due to the attack) is set as the data frame. It is set according to the priority. That is, when the priority of the data frame is high, the allowable value PL is set low (the reference value for determining that the data frame is congested is strict). Further, when the priority of the data frame is low, the allowable value PL is set high (the reference value for determining that the data frame is congested is loosened). As shown in FIG. 5A, the allowable value PL is set in advance for each data frame priority, that is, for each data frame type (CAN ID), and is managed in the frame information table 81.
- CAN ID data frame type
- the bus load factor calculation unit 114 reads the frame information table 81 from the reception cycle information holding unit 143.
- the bus load factor calculation unit 114 refers to the frame information table 81 and acquires the allowable value PL (allowable value) of the bus load factor based on the CAN ID of the received data frame. For example, in the example of FIG. 5A, when the CAN ID is “100”, “90%” is acquired as the allowable value PL of the bus load factor.
- step 8 when the calculated bus load factor L is equal to or less than the allowable value PL (NO in S8), it is considered that the bus is not so congested that the received data frame is affected by the congestion. Therefore, it is considered that this delay (that is, a shift in the reception cycle) occurs because the data frame is not a legitimate one and is a spoofed data frame due to a cyber attack. Therefore, when the bus load factor L is equal to or less than the allowable value PL (NO in S8), the attack detection unit 117 detects that a cyber attack has been received (S16). At this time, the reception cycle threshold update unit 116 resets the upper threshold width ⁇ mh and the lower threshold width ⁇ ml to predetermined values, and updates the cycle threshold table 85 of the reception cycle threshold holding unit 145 with the reset values (S15).
- the reception cycle threshold calculation unit 115 sets the maximum threshold time (thmax) that defines the upper limit of the normal cycle range W. Calculate (S9).
- the reception cycle threshold value calculation unit 115 first obtains the upper threshold width ⁇ mh from the deviation time Te and the bus load factor L using the equation (3a). Then, the reception cycle threshold value calculation unit 115 obtains the maximum threshold time thmax from the expected reception time texp and the upper threshold width ⁇ mh using the equation (2b). The reception cycle threshold update unit 116 updates the cycle threshold table 85 in the reception cycle threshold holding unit 145 using the calculated upper threshold width ⁇ mh.
- the attack detection unit 117 determines whether the reception time tact is equal to or earlier than the maximum threshold time thmax (S10).
- the reception time tact is equal to or earlier than the maximum threshold time thmax (YES in S10)
- the period of the received data frame is within the normal period range W, so that no attack is considered. It is done.
- the attack detection unit 117 determines that a cyber attack has not been detected (S12).
- the reception cycle threshold update unit 116 calculates the lower threshold width ⁇ ml according to the equation (3b), and updates the cycle threshold table 85 of the reception cycle threshold holding unit 145 (S11).
- the attack detection unit 117 is considered to have been attacked. It is detected that a cyber attack has been received (S16). At this time, the reception cycle threshold update unit 116 resets the upper threshold width ⁇ mh and the lower threshold width ⁇ ml to predetermined values, and updates the cycle threshold table 85 of the reception cycle threshold holding unit 145 (S15).
- step S5 if the reception time tact is earlier than the expected reception time texp (NO in S5), it is determined whether the reception time tact is equal to or later than the minimum threshold time thmin (S13). ).
- reception cycle threshold update unit 116 resets the upper threshold width ⁇ mh and the lower threshold width ⁇ ml to predetermined values, and updates the cycle threshold table 85 of the reception cycle threshold holding unit 145 (S14).
- the reception cycle threshold update unit 116 resets the upper threshold width ⁇ mh and the lower threshold width ⁇ ml to predetermined values, and updates the cycle threshold table 85 of the reception cycle threshold holding unit 145 (S15).
- the size of the normal cycle range W in which the received frame is determined to be normal is set as the congestion status of the bus 201 (bus load factor). L).
- the reception time tact is compared with the expected reception time texp.
- the expected time texp may be widened as shown in FIG.
- an expected reception time range having a predetermined margin ⁇ ⁇ t around the expected time texp may be set.
- step S4 it may be determined whether the reception time tact falls within the expected time range. In this case, in step S5, it may be determined whether the reception time tact is after the expected reception time range.
- step S13 the minimum threshold time is obtained by further subtracting ⁇ t from the value obtained by equation (2a), and the obtained minimum threshold time is compared with the reception time tact.
- the gateway device 100 is a device that is connected to the bus 201 through which data frames are transmitted in a predetermined cycle and detects an attack on a device that is connected to the bus 201.
- the gateway device 100 receives a frame reception unit 121 that receives a data frame transmitted to the bus 201, and whether or not the reception cycle of the data frame to be inspected is within a normal range, a threshold value indicating a normal range (for example, Thmin, Thmax, or ⁇ ml, ⁇ mh), and an attack detection unit 117 that detects the presence or absence of an attack based on the determination result, and a bus load factor that indicates the degree of bus congestion based on the content of the received data frame
- a bus load factor calculation unit 114 that calculates L
- a reception cycle threshold value calculation unit 115 that determines a threshold according to the calculated bus load factor.
- the reception cycle threshold calculation unit 115 for example, a threshold (for example, Thmin, Thmax, or ⁇ ml, ⁇ mh) so that the normal cycle range W becomes wider as the bus load factor indicates that the degree of bus congestion is higher. To decide.
- a threshold for example, Thmin, Thmax, or ⁇ ml, ⁇ mh
- the threshold widths ⁇ ml and ⁇ mh that define the normal cycle range and the threshold times Thmin and Thmax are changed according to the bus load factor L indicating the degree of congestion of the bus 201.
- the threshold of the normal cycle range in the determination of the reception cycle is changed according to the bus load factor L.
- the priority for data frame transmission differs for each type of data frame.
- the attack detection unit 117 further detects that an attack has occurred (S16) when the bus load factor is equal to or less than the allowable value (S8).
- S16 an attack has occurred
- S8 the allowable value
- the allowable value is set according to the priority of the data frame. Accordingly, it is possible to set an appropriate allowable value for each of a data frame having a high priority and difficult to delay and a data frame having a low priority and easy to delay.
- the bus load factor which is an index indicating the degree of congestion of the bus 201, is represented by the received bit with respect to the maximum possible number of bits of the bus between the expected time texp and the received time tact as shown in the equation (4). Calculated as the ratio L of the total number.
- the method for calculating the bus load factor is not limited to this.
- an attack detection operation using a bus load factor LB different from that of the first embodiment will be described. Note that the hardware configuration of the gateway device 100 is the same as that of the first embodiment.
- the bus load factor LB is calculated as the number of bits of the received frame per unit time.
- size of the normal period range W is set according to the time when the bus load factor LB exceeds the threshold value PB.
- FIG. 10 is a diagram for explaining an attack detection operation by the gateway device 100 according to the second embodiment.
- the bus load factor LB is calculated at each predetermined reception time for various data frames having periodicity. Specifically, the bus load factor calculation unit 114 obtains the total number of bits of frames received per unit time as the bus load factor LB.
- the bus load factor LB continues to be the allowable value PB after the expected reception time texp has elapsed.
- the time Tover that exceeds is calculated.
- the size of the normal cycle range W is set based on the elapsed time Tover. More specifically, the upper threshold width ⁇ mh and the lower threshold width ⁇ ml for determining the maximum threshold time thmax indicating the upper limit of the normal cycle range W and the minimum threshold time thmin indicating the lower limit are set by the following equations.
- the allowable value PB of the bus load factor LB is stored in advance in the frame information table 81b as shown in FIG. 5A.
- the allowable value PB of the bus load factor LB is set for each CAN ID as in the first embodiment.
- FIG. 11 is a first flowchart showing an attack detection operation by the gateway device 100 according to the second embodiment.
- the process shown in FIG. 11 is repeatedly executed by the CPU 110 at a predetermined cycle. Further, the process shown in FIG. 11 is performed for each type of data frame having a periodicity (CAN ID).
- CAN ID a periodicity
- the reception cycle threshold value calculation unit 115 determines whether or not the bus load factor LB of the type of data frame to be inspected is larger than the allowable value PB (S33).
- the allowable value PB is acquired from the frame information table 81b according to the type of data frame (CANCAID).
- the reception cycle threshold value calculation unit 115 sets the maximum threshold time Thmax based on the time Tover in which the total number of bits continuously exceeds the threshold value. (S34).
- the reception cycle threshold value calculation unit 115 calculates the upper threshold width ⁇ mh and the lower threshold width ⁇ ml of the normal cycle range W using the formula (based on the time Tover in which the total number of received bits continuously exceeds the allowable value PB) 7a) and (7b). Then, the reception cycle threshold value calculation unit 115 obtains the maximum threshold time thmax and the minimum threshold time thmin using these values ⁇ mh and ⁇ ml.
- the reception cycle threshold update unit 116 updates the cycle threshold table 85 using the upper threshold width ⁇ mh and the lower threshold width ⁇ ml obtained in the calculation process of the maximum threshold time thmax and the minimum threshold time thmin (S35). As a result, the normal cycle range W is updated.
- the bus load factor (the total number of received bits per unit time) LB is larger than the allowable value PB indicates that a lot of data is transmitted on the bus. For this reason, the delay in frame reception is considered to be due to bus congestion, not to an attack. Therefore, when the bus load factor LB is larger than the threshold value PB (YES in S33), the attack detection unit 117 detects that there is no cyber attack (S36).
- the bus load factor LB is equal to or smaller than the allowable value PB (NO in S33)
- the bus is not congested. Even though the bus is not congested, the fact that the frame reception is delayed, that is, the reception cycle is abnormal, is considered to be a spoofed frame caused by a cyber attack. Therefore, when the bus load factor LB is equal to or smaller than the allowable value PB (NO in S33), the attack detection unit 117 detects that a cyber attack has been received (S37).
- FIG. 12 is a second flowchart showing an attack detection operation based on the maximum and minimum threshold times set as described above.
- the frame receiving unit 121 receives a data frame transmitted on the bus of the in-vehicle network 200 (S51).
- the attack detection unit 117 determines whether or not the reception time tact is later than the maximum threshold time thmax (S52). If the reception time tact is later than the maximum threshold time thmax (YES in S52), the attack detection unit 117 detects that a cyber attack has been received (S56).
- the attack detection unit 117 determines whether the reception time tact is earlier than the minimum threshold time thmin (S53). .
- the attack detection unit 117 detects that a cyber attack has been received (S56).
- the attack detection unit 117 detects that a cyber attack has not been received (S55). At that time, the reception cycle threshold value calculation unit 115 resets the upper threshold width ⁇ mh and the lower threshold width ⁇ ml to predetermined values (S54).
- the total number of received bits per unit time is used as the bus load factor LB which is an index indicating the bus congestion.
- the upper threshold width ⁇ mh and the lower threshold width ⁇ ml that define the normal cycle range are changed based on the elapsed time Tover when the total number of received bits LB per unit time exceeds a predetermined value.
- the threshold for the period determination is dynamically changed.
- the example in which the abnormality detection device according to the present disclosure is applied to the gateway device 100 has been described, but it may be applied to other devices.
- the abnormality detection device according to the present disclosure can be applied to various devices connected to a network such as the ECU 300.
- the bus load value that is an index indicating the bus congestion
- the bus load factor obtained by the formula (4) or the formula (6) is presented.
- the bus load value is limited to this. Not. Arbitrary information can be used as the bus load value as long as it is information that quantitatively indicates bus congestion.
- An apparatus (100) that is connected to a bus (201) through which a data frame is transmitted at a predetermined cycle and detects an attack on a device connected to the bus, A frame receiving unit (121) for receiving a data frame transmitted to the bus; An attack detection unit (117) that determines whether or not the reception period of the data frame to be inspected is in a normal range, using a threshold value indicating the normal range, and detects the presence or absence of an attack based on the determination result; A bus load calculation unit (114) for calculating a bus load value indicating the degree of bus congestion based on the contents of the data frame received by the frame reception unit; A reception period threshold value calculation unit (115) for determining a threshold value according to the bus load value calculated by the bus load calculation unit; An anomaly detection device with
- the reception cycle threshold value calculation unit determines the threshold value so that the normal range becomes wider as the bus load value indicates that the degree of bus congestion is higher. Also good.
- a plurality of types of data frames may be transmitted on the bus, and the priority with respect to the transmission of the data frames may be different for each type of data frame.
- the attack detection unit may further detect that there has been an attack (S16, S37) when the bus load value is less than or equal to the allowable value (S8, S33).
- the allowable value is set to a smaller value as the priority of the data frame is higher.
- the bus load value (L) is received with respect to the total number of bits communicable on the bus in a period (Te) including the reception time of the data frame and having a width of a normal cycle range. It may be the ratio of the total number of bits of data (see equation (4)).
- the bus load value (LB) may be the total number of bits of the data frame received per unit time (see Expression (6)).
- the reception cycle threshold value calculation unit continuously sets the bus load value to a predetermined value for a data frame that has passed the expected reception time, which is a time at which the reception of the data frame is expected.
- the threshold value may be determined according to the exceeded time.
- the abnormality detection device may be connected to a network in the vehicle.
- the data frame may be transmitted according to a CAN (Controller-Area-Network) protocol.
- CAN Controller-Area-Network
- a method of detecting an attack on a device connected to a bus to which a data frame is transmitted at a predetermined cycle and connected to the bus Receiving a data frame (S1); Calculating a bus load value indicating the degree of bus congestion based on the content of the received data frame (S7, S32); A step (S9, S11, S34) of determining a threshold value of a normal range of the reception period of the data frame based on the calculated bus load value; A step (S10, S13, S52, 53) of determining whether the reception cycle of the data frame to be inspected is in a normal range using the determined threshold; Detecting the presence or absence of an attack based on the determination result (S12, S16, S52, S56), Anomaly detection method.
- a program for controlling an anomaly detection device that is connected to a bus through which a data frame is transmitted at a predetermined cycle and detects an attack on a device connected to the bus,
- the program is stored in the controller of the abnormality detection device.
- Vehicle 100 Gateway Device 110 CPU 111 Frame Confirmation Unit 113 Bit Count Unit 121 Frame Reception Unit 120 RAM 130 ROM 140 Data storage unit 150 First communication interface 160 Second communication interface 200a, 200b, 200 In-vehicle network 201a, 201b, 201 Bus 300 ECU (electronic control unit)
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- Signal Processing (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Small-Scale Networks (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
Abstract
異常検知装置(100)は、所定の周期でデータフレームが伝送されるバスに接続され、当該バスに接続された機器への攻撃を検知する装置である。異常検知装置(100)は、バスに伝送されるデータフレームを受信するフレーム受信部(121)と、検査対象のデータフレームの受信周期が正常範囲にあるか否かを、正常範囲を示す閾値を用いて判断し、その判断結果に基づき攻撃の有無を検知する攻撃検知部(117)と、フレーム受信部が受信したデータフレームの内容に基づきバスの混雑さの程度を示すバス負荷値を算出するバス負荷計算部(114)と、バス負荷計算部が算出したバス負荷値に応じて閾値を決定する受信周期閾値計算部(115)と、を備える。
Description
本開示は、ネットワークに接続された機器に対するサイバー攻撃を検知する装置及び方法に関する。
車両においては、エンジン、ブレーキのみならず複数の機器を電子制御するECUが車載ネットワークに接続され、かつ、車載ネットワークは外部のネットワークに接続されている。
近年、車両の自動運転技術の開発が進められているが、車両の自動運転技術の進化に伴い、車両内の各機器の電子制御の重要度が増す状況において、車載ネットワークに接続された機器に対して外部からのサイバー攻撃を迅速に検知し、対処することは重要な課題である。
このため、車載ネットワークに対するサイバー攻撃を検知する技術が種々開発されている。例えば、特許文献1、2は、データの受信間隔と所定周期とを比較することでサイバー攻撃(不正の検出)を行う技術を開示している。
本発明は、車載ネットワークのようなネットワークに接続された機器に対するサイバー攻撃を検知する異常検知装置及び異常検知方法を提供する。
本発明の第一の態様において、所定の周期でデータフレームが伝送されるバスに接続され、当該バスに接続された機器への攻撃を検知する異常検知装置が提供される。異常検知装置は、バスに伝送されるデータフレームを受信するフレーム受信部と、検査対象のデータフレームの受信周期が正常範囲にあるか否かを、正常範囲を示す閾値を用いて判断し、その判断結果に基づき攻撃の有無を検知する攻撃検知部と、フレーム受信部が受信したデータフレームの内容に基づき、バスの混雑さの程度を示すバス負荷値を算出するバス負荷計算部と、バス負荷計算部が算出したバス負荷値に応じて閾値を決定する受信周期閾値計算部と、を備える。
本発明の第二の態様において、所定の周期でデータフレームが伝送されるバスに接続され、当該バスに接続された機器への攻撃を検知する異常検知方法が提供される。異常検知方法は、データフレームを受信するステップと、受信したデータフレームの内容に基づき、バスの混雑さの程度を示すバス負荷値を算出するステップと、算出したバス負荷値に基づき、データフレームの受信周期の正常範囲の閾値を決定するステップと、決定した閾値を用いて、検査対象のデータフレームの受信周期が正常範囲にあるか否かを判断するステップと、その判断結果に基づき攻撃の有無を検知するステップと、を含む。
本発明の第三の態様において、所定の周期でデータフレームが伝送されるバスに接続され、当該バスに接続された機器への攻撃を検知する異常検知装置を制御するプログラムが提供される。当該プログラムは、異常検知装置の制御部に、データフレームを受信するステップと、受信したデータフレームの内容に基づきバスの混雑さの程度を示すバス負荷値を算出するステップと、算出したバス負荷値に基づき、データフレームの受信周期の正常範囲の閾値を決定するステップと、決定した閾値を用いて、検査対象のデータフレームの受信周期が正常範囲にあるか否かを判断するステップと、その判断結果に基づき攻撃の有無を検知するステップと、を実行させる。
本発明によれば、バスの混雑度合いに応じて受信周期の判断における閾値を変化させる。このため、バスの混雑によりデータフレームが遅延した場合において、正常フレームを攻撃フレームであると誤検知することを防止しつつ、バスが混雑していない場合には精度よく、攻撃フレームを検知することができる。
以下、適宜図面を参照しながら、本発明のネットワークに対する異常検知装置の実施の形態を詳細に説明する。
(適用例)
本開示の異常検知装置は、ネットワークに接続された機器に対する攻撃(例えば、DoS攻撃)を検知する装置である。図1は、本開示の異常検知装置を車両内のネットワークに適用した例を示した図である。図1に示すように、車両10において車載ネットワーク200a、200bが設けられている。車載ネットワーク200aと車載ネットワーク200bはゲートウェイ装置100によって接続されている。車載ネットワーク200aは、バス201aと、バス201aに接続された複数のECU(Electronic Control Unit:電子制御ユニット)300とを含む。車載ネットワーク200bは、バス201bと、バス201bに接続された複数のECU300とを含む。ECU300は、それに接続される機器を電子的に制御したり、機器から情報を収集したりする装置である。ECU300には、例えば、エンジン、ブレーキ、パワーウィンドウのアクチュエータ、各種センサ等が接続される。なお、以下では、説明の便宜上、車載ネットワーク200aと車載ネットワーク200bをまとめて「車載ネットワーク200」と称することがある。また、バス201aとバス201bをまとめて「バス201」と称することがある。
本開示の異常検知装置は、ネットワークに接続された機器に対する攻撃(例えば、DoS攻撃)を検知する装置である。図1は、本開示の異常検知装置を車両内のネットワークに適用した例を示した図である。図1に示すように、車両10において車載ネットワーク200a、200bが設けられている。車載ネットワーク200aと車載ネットワーク200bはゲートウェイ装置100によって接続されている。車載ネットワーク200aは、バス201aと、バス201aに接続された複数のECU(Electronic Control Unit:電子制御ユニット)300とを含む。車載ネットワーク200bは、バス201bと、バス201bに接続された複数のECU300とを含む。ECU300は、それに接続される機器を電子的に制御したり、機器から情報を収集したりする装置である。ECU300には、例えば、エンジン、ブレーキ、パワーウィンドウのアクチュエータ、各種センサ等が接続される。なお、以下では、説明の便宜上、車載ネットワーク200aと車載ネットワーク200bをまとめて「車載ネットワーク200」と称することがある。また、バス201aとバス201bをまとめて「バス201」と称することがある。
ゲートウェイ装置100は、車両10のECU300へのサイバー攻撃を検知する機能を有し、異常検知装置として動作する。ゲートウェイ装置100は攻撃を検知したときに、ドライバ、車両の所有者、所定の機関、及びECUに、攻撃を受けた旨を通知する。例えばECUはこの通知にしたがい安全を確保するためにエンジンやブレーキを制御する。
(実施の形態1)
以下、本開示の異常検知装置の一実施形態であるゲートウェイ装置の構成及び動作について説明する。
以下、本開示の異常検知装置の一実施形態であるゲートウェイ装置の構成及び動作について説明する。
1.ゲートウェイ装置の構成
図1に示すように、本実施の形態1のゲートウェイ装置100は車載ネットワーク200に接続され、ネットワーク200への攻撃を検知する機能を有する。ゲートウェイ装置100は、ネットワーク200上で周期的に伝送されるデータフレームの受信周期に基づいて攻撃を検知する。
図1に示すように、本実施の形態1のゲートウェイ装置100は車載ネットワーク200に接続され、ネットワーク200への攻撃を検知する機能を有する。ゲートウェイ装置100は、ネットワーク200上で周期的に伝送されるデータフレームの受信周期に基づいて攻撃を検知する。
図2は、ゲートウェイ装置100のハードウェア構成を示す図である。同図に示すように、ゲートウェイ装置100はCPU(制御部)110を含み、所定のプログラムを実行することによって所定の機能を実現する。CPU110に変えて、他の種類の汎用プロセッサ、例えばMPUを用いてもよい。または、CPU110に変えて、所定の機能を実現するように専用に設計されたプロセッサを用いてもよい。すなわち、ゲートウェイ装置100はCPU、MPU、GPU、DSP、FPGA、ASIC等、種々のプロセッサを含むことができる。
さらに、ゲートウェイ装置100は、RAM120と、ROM130と、データ記憶部140とを備える。RAM120は、CPU110が演算を実行するにあたって、必要な情報やプログラムを一時的に記憶するメモリであり、CPU110から適宜アクセスされる作業領域である。ROM130はCPU110で実行されるプログラムを記憶するメモリである。なお、CPU110で実行されるプログラムは、通信回線を介してサーバからダウンロードされてもよいし、不揮発メモリ等のボード上の内部記録媒体、または、光ディスクやメモリカード等の外部記録媒体を介してゲートウェイ装置100に提供されてもよい。
データ記憶部140は、ゲートウェイ装置100の制御において参照する種々の情報を記録する記録媒体である。データ記憶部140は、例えば、不揮発メモリ等の内部記録媒体、または、ハードディスク(HDD)、ソリッドステートドライブ(SSD)、光ディスク装置等の外部記録媒体で構成できる。
さらに、ゲートウェイ装置100は、第1及び第2通信インタフェース150,160を備える。第1通信インタフェース150は車載ネットワーク200aに接続するECUとの間でデータのやりとりを行うための通信回路または通信モジュールである。第2通信インタフェース160は、車載ネットワーク200bに接続するECUとの間でデータのやりとりを行うための通信回路または通信モジュールである。本実施の形態では、第1ないし第2通信インタフェース150、160は、車載ネットワークにおいて広く使用されているCAN(Controller Area Network)プロトコルにしたがい通信を行なう。なお、第1ないし第2通信インタフェース150、160はCANプロトコル以外のプロトコルにしたがい通信を行ってもよい。例えば、CAN FDプロトコルにしたがい通信を行なってもよい。
図3は、ゲートウェイ装置100の機能的な構成を示した図である。図3に示す各機能はCPU110が所定のプログラムを実行することで実現される。
ゲートウェイ装置100は、フレーム受信部121と、フレーム確認部111と、ビットカウント部113と、バス負荷率計算部114と、受信周期閾値計算部115と、受信周期閾値更新部116と、攻撃検知部117とを備える。さらに、ゲートウェイ装置100は、ビットカウント保持部141と、受信周期情報保持部143と、受信周期閾値保持部145と、を備える。
フレーム受信部121は、車載ネットワーク200上を伝送するデータフレームを受信する。フレーム受信部121は第1通信インタフェース150及び/または第2通信インタフェース160で構成される。
フレーム確認部111は、受信したデータフレームのCAN IDに基づき、受信したデータフレームが検査対象であるか否かについて確認する。本実施の形態では、周期的に伝送されるデータフレームを、サイバー攻撃の検知のための検査を実施する対象のフレームとしている。
ビットカウント部113は、検査対象のデータフレームの全体の長さ、すなわち、検査対象のデータフレームのビット数をカウントする。
バス負荷率計算部114は、車載ネットワーク200のバス201上で伝送されるデータの混雑の程度を示す指標であるバス負荷値の一例として、バス負荷率を計算する。バス負荷率は、車載ネットワーク200の負荷の大きさを示す値とも言える。バス負荷率の算出方法の詳細については後述する。
受信周期閾値計算部115は、サイバー攻撃の有無を検知する際の判断基準となる正常周期範囲の閾値を計算する。具体的には、受信周期閾値計算部115は、データフレームの正常な受信周期の範囲を示す正常周期範囲の幅を計算する。
受信周期閾値更新部116は、バス負荷率に基づき正常周期範囲の閾値(幅)を更新する。
攻撃検知部117は、正常周期範囲を参照し、データフレームの受信周期に基づきサイバー攻撃の有無を検知する。
フレーム確認部111と、ビットカウント部113と、バス負荷率計算部114と、受信周期閾値計算部115と、受信周期閾値更新部116と、攻撃検知部117とは、CPU110がプログラムを実行することにより実現される。
ビットカウント保持部141と、受信周期情報保持部143と、受信周期閾値保持部145とは、データ記憶部140により構成される。各保持部141、143、145で保持される情報の詳細については図5A~図5Cを参照して後述する。
車載ネットワーク200a、200bはCANプロトロコルに準拠した通信を行う。図4は、CANプロトコルにおいて規定されるデータフレーム(以下「CANフレーム」と称す)の構成を示す図である。CANフレームは、SOF(Start of Frame)51で始まり、EOF(End of Frame)62で終わる。さらに、CANフレームは、フレームの種類を特定するIDを格納するフィールド52と、RTR53と、DLC56と、データを格納するフィールド57とを有する。RTR(Remote Transmission Request)53は、データフレームとリモートフレームとを識別するための値を格納する。DLC(Data length Code)56は、データフィールド57の長さを示す値を格納する。
図5A~図5Cは、ゲートウェイ装置100の制御において参照される各種のテーブル情報を示す図である。
(1)フレーム情報テーブル
図5Aは、各種のデータフレームの情報を格納するフレーム情報テーブル81の構成の例を説明した図である。フレーム情報テーブル81は、データフレームの期待周期、DLC、RTR、バス負荷率の許容値を管理する。フレーム情報テーブル81は受信周期情報保持部143に格納される。
図5Aは、各種のデータフレームの情報を格納するフレーム情報テーブル81の構成の例を説明した図である。フレーム情報テーブル81は、データフレームの期待周期、DLC、RTR、バス負荷率の許容値を管理する。フレーム情報テーブル81は受信周期情報保持部143に格納される。
DLCおよびRTRはCANプロトコルにより、データフレームの種類毎に規定されている。また、CANプロトコルでは、データフレームの種類毎に伝送周期が規定されている。すなわち、データフレームは、フレームの種類毎(すなわち、CAN ID毎)に予め規定された伝送周期に対応する受信周期(期待周期)で受信されることが期待される。そこで、フレーム情報テーブル81において、CAN ID毎に、データフレームの期待される受信周期(期待周期)を管理している。
期待周期が「0」とは、そのデータフレームが非周期的に伝送されるフレームであることを意味する。本実施の形態のゲートウェイ装置100は、このような非周期的に伝送(受信)されるデータフレームは攻撃検知の検査対象外とし、周期的に伝送(受信)されるデータフレームを検査対象とする。
また、CANプロトコルでは、CAN IDの値は、データフレームの送信制御における優先度を示している。すなわち、CAN IDの値が小さいデータフレームほど、送信の優先度がより高くなっている。バスの混雑時には、データフレームは優先度の高いものから優先的に送信される。
バス負荷率の許容値は、攻撃検知処理において参照される情報であり、データフレームのCAN ID毎に予め設定される(詳細は後述)。バス負荷率の許容値は、データフレームの種類毎(CAN ID毎)に設定される。
(2)ビットカウントテーブル
図5Bは、所定の受信時刻毎に受信したデータフレームのビットの総数を管理するビットカウントテーブル83である。受信時刻は、所定のタイミング(例えば、CPU(制御部)110の起動時)を基準時刻として計測される時刻である。ビットカウントテーブル83はビットカウント保持部141に格納される。例えば、図5Bの例では、時刻2011において3つのデータフレームが受信され、それぞれのビット数が121、95、45ビットであり、ビットカウントテーブル83において、受信ビット総数として、261ビットが記録されている。
図5Bは、所定の受信時刻毎に受信したデータフレームのビットの総数を管理するビットカウントテーブル83である。受信時刻は、所定のタイミング(例えば、CPU(制御部)110の起動時)を基準時刻として計測される時刻である。ビットカウントテーブル83はビットカウント保持部141に格納される。例えば、図5Bの例では、時刻2011において3つのデータフレームが受信され、それぞれのビット数が121、95、45ビットであり、ビットカウントテーブル83において、受信ビット総数として、261ビットが記録されている。
(3)周期閾値テーブル
図5Cは、各CAN IDのデータフレームに対する、正常な受信と判断される受信周期の範囲である正常周期範囲を規定するための閾値情報を管理する周期閾値テーブル85である。周期閾値テーブル85は、受信周期閾値保持部145に格納される。
図5Cは、各CAN IDのデータフレームに対する、正常な受信と判断される受信周期の範囲である正常周期範囲を規定するための閾値情報を管理する周期閾値テーブル85である。周期閾値テーブル85は、受信周期閾値保持部145に格納される。
本実施の形態では、正常周期範囲を規定するための閾値情報として、上側及び下側の周期のマージンである上側閾値幅と下側閾値幅を管理する。すなわち、正常周期範囲は、フレーム毎に予め規定される期待周期Tを基準として、上側および下側においてそれぞれ上側閾値幅と下側閾値幅だけマージンを持たせた範囲に設定される。具体的には、上側閾値幅をΔmhとし、下側閾値幅をΔmlとすると、正常周期範囲Wは下記式で表される。
T-Δml≦正常周期範囲W≦T+Δmh (1)
周期閾値テーブル85は、データフレームの種類毎に、すなわち、CAN ID毎に、データフレームの上側閾値と下側閾値を管理する。図5Cにおいて、CAN IDが「100」のデータフレームについては、上側閾値は10+Δmh(ms)であり、下側閾値は10-Δml(ms)である。よって、CAN IDが「100」のデータフレームについては、正常周期範囲Wは、(10-Δml)ms以上かつ(10+Δmh)ms以下の範囲となる。このように、上側閾値及び下側閾値は、正常と判断される受信周期の範囲の閾値を与える値である。
2.サイバー攻撃の検知動作
以上のように構成されたゲートウェイ装置100におけるサイバー攻撃の検知動作を以下に説明する。ゲートウェイ装置100は車載ネットワーク200上に流れるデータの受信周期の変動に基づきサイバー攻撃を検知する。
以上のように構成されたゲートウェイ装置100におけるサイバー攻撃の検知動作を以下に説明する。ゲートウェイ装置100は車載ネットワーク200上に流れるデータの受信周期の変動に基づきサイバー攻撃を検知する。
CANプロトコルによれば、周期的に送信されるデータフレームの種類と、非周期的に送信されるデータフレームがある。周期的に送信されるデータフレームを、本来の期待される受信周期(期待周期)から大きくずれた周期で受信した場合、そのデータフレームは正規のデータフレームではなく、サイバー攻撃により送信された、なりすましのデータフレームである可能性が高い。そこで、ゲートウェイ装置100は、周期的に送信されるデータフレームの受信周期を監視し、期待される受信周期(期待周期)が正常周期範囲内でない場合にサイバー攻撃があったと判断する。
すなわち、ゲートウェイ装置100は、周期性を有するデータフレームの受信周期を監視し、その周期が正常周期範囲内に入っている場合は、受信周期は正常であり、攻撃を受けていないと判断する。一方、受信周期が正常周期範囲外である場合、受信周期は異常であると判断し、攻撃を受けたことを検知する。
より具体的には、ゲートウェイ装置100は以下のようにして受信周期に基づき攻撃の有無を判断する。図6を参照し、周期Tを有する、あるCAN IDのデータフレームについて、前回の受信から期待される受信時刻がtexpであり、今回実際に受信した時刻がtactである場合を例に説明する。この場合、周期閾値テーブル85に格納された下側閾値幅Δml、上側閾値幅Δmhを用いて、正常周期範囲Wの下限を示す時刻である最小閾値時刻thmin、上限を示す時刻である最大閾値時刻thmaxは次式で算出される。
thmin=texp-Δml (2a)
thmax=texp+Δmh (2b)
thmax=texp+Δmh (2b)
ここで、上側閾値幅Δmh及び下側閾値幅Δmlはそれぞれバス負荷率Lに基づき下記式により算出される。バス負荷率Lはバス上で伝送されるデータの混雑さの程度を示す指標であり、その算出方法については後述する。
Δmh=Te×L (3a)
Δml=Δmh (3b)
Te=tact-texp (3c)
Δml=Δmh (3b)
Te=tact-texp (3c)
受信時刻tactが、以上のようにして求めたthmin以上でかつthmax以下の正常周期範囲W内にあるときは、その受信周期は正常範囲内となるため、正常なデータフレームであると判断する。一方、受信時刻tactが、最小閾値時刻thminよりも早いか、または、最大閾値時刻thmaxよりも遅い場合は、受信周期は正常周期範囲の範囲外となるため、攻撃を受けたと判断する。
このとき、上側閾値幅Δmh及び下側閾値幅Δmlは式(3a)、(3b)に示すように、バス負荷率Lすなわちバスの混雑さに応じて変化させている。すなわち、周期判定のための閾値をバス負荷率Lすなわちバスの混雑さに応じて変化させている。具体的には、バスが混雑しているときには、上側閾値幅Δmh及び下側閾値幅Δmlを大きくし、判断基準となる正常周期範囲Wを大きくしている。これにより、バスの混雑により遅延したフレームを攻撃フレームであると誤認する確率を低減している。一方、バスが混雑していないときには、上側閾値幅Δmh及び下側閾値幅Δmlを小さくして正常周期範囲Wを小さくし、これにより本来の攻撃フレームの検知精度を向上している。
図7は、実施の形態1におけるゲートウェイ装置100による攻撃検知動作を示すフローチャートである。以下、図7を参照して、ゲートウェイ装置100による攻撃検知動作を説明する。なお、図7に示す処理は所定の制御周期で繰り返し実行される。
ゲートウェイ装置100において、フレーム受信部121は、車載ネットワーク200上を伝送するデータフレームを受信する(S1)。
ビットカウント部113は、受信した各データフレームのビット数をカウントし、同じ受信時刻に受信した他のデータフレームのビット数に加算して受信ビット総数を求め、受信時刻毎の受信ビット総数をビットカウント保持部141に記録する(S2)。ビットカウント部113は、受信したデータフレームのビット数を実際にカウントする代わりに、DLCに格納された値をビット数として取得してもよい。
すなわち、ビットカウント部113は、図8に示すように、受信時刻毎に、単位時間当たりの受信ビット総数(Bit_sum)を求め、ビットカウントテーブル83に記録する。例えば、図5Bの例では、受信時刻「2011」で、3つのデータフレームを受信し、それぞれのビット数が121、95、45である。このため、ビットカウント部113は、受信時刻「2011」において、受信ビットを合算して、単位時間当たりの受信ビット総数として「261」をビットカウントテーブル83に記録する。また、受信時刻「2012」では、68ビットと75ビットの2つのデータフレームが受信されたため、ビットカウント部113は、受信ビット総数として「143」をビットカウントテーブル83に記録する。受信時刻「2013」では、データフレームを受信しておらず、受信ビット総数「0」がビットカウントテーブル83に記録される。受信時刻「2014」では、111ビットのデータフレームを受信したため、受信ビット総数「111」がビットカウントテーブル83に記録される。
フレーム確認部111は、受信したデータフレームがサイバー攻撃の検知のための検査対象のデータフレームであるか否かを確認する(S3)。具体的には、フレーム確認部111は、フレーム情報テーブル81を参照し、受信したデータフレームのCAN IDに基づき、受信したデータフレームが周期性を持つフレームであるか否かを確認する。フレーム確認部111は、受信したデータフレームが周期性を有するフレームである場合、サイバー攻撃の検知のための検査対象のフレームであるとする。
受信したデータフレームが検査対象のフレームでない場合(S3でNO)、本処理を終了する。
一方、受信したデータフレームが検査対象のフレームである場合(S3でYES)、フレーム確認部111はさらにデータフレームの受信時刻tactが期待受信時刻texpと等しいか否かを判断する(S4)。期待受信時刻texpは、前回の受信時刻に、そのデータフレームの期待周期Tを加算して求める。期待周期Tは、受信したデータフレームのCAN IDに基づきフレーム情報テーブル81を参照して取得する。
受信時刻tactが期待受信時刻texpと等しい場合(S4でYES)、データフレームは正規の周期で受信されているため、攻撃検知部117は、サイバー攻撃は検知されなかったと判断し(S12)、本処理を終了する。
受信時刻tactが期待受信時刻texpと等しくない場合(S4でNO)、フレーム確認部111は、受信時刻tactが期待受信時刻texpよりも遅延しているか否かを判断する(S5)。
受信時刻tactが期待受信時刻texpよりも遅延している場合(S5でYES)、バス負荷率計算部114は、期待受信時刻texpに対する受信時刻tactのずれ量を示す偏差時間Teを算出する(S6)。次に、バス負荷率計算部114は下記式にしたがいバス負荷率Lを計算する(S7)。
ここで、BPSはバス上でのデータ転送レートである。
すなわち、バス負荷率計算部114は、図8に示すように、偏差時間Teと、期待受信時刻texpから受信時刻tactの間における各受信時刻で受信したビット総数Bit_sumの合計とから、バス負荷率Lを計算する(S7)。期待受信時刻texpから受信時刻tactの間の各受信時刻におけるビット総数Bit_sumはビットカウントテーブル83から取得できる。
バス負荷率Lの算出後、バス負荷率計算部114は、算出したバス負荷率Lを、バス負荷率の許容値PL(許容値)と比較する(S8)。バス負荷率の許容値PLは、受信したデータフレームのCAN IDに基づきフレーム情報テーブル81を参照して取得される。
ここで、バス負荷率の許容値PLについて説明する。バス負荷率の許容値PLは、データフレームの遅延がバスの混雑さに起因したものか否かを判定するための閾値である。バスが許容値PLを超えた混雑さを有する状態にある場合、受信したデータフレームよりも優先度の高い他のフレームが多数伝送されている状況にあると考えられる。よって、この場合、たとえ大きな遅延があったとしても、その遅延は、より優先度の高い他のフレームの伝送によるバスの混雑さが原因であり、攻撃によるものではないと判断する。一方、バスが許容値PLを超えていない状態にある場合は、バスの混雑さの影響を考慮せずにフレームの受信周期の判断を行う。
つまり、バス上のトラフィックが混雑している場合、優先度の高いフレームは優先して伝送される。このため本来優先度の高いデータフレームはバスの混雑さに依らず遅延しにくく、バスのトラフィックの影響は受けにくい。一方、優先度の低いデータフレームは、送信が後回しにされるため、バスのトラフィックの影響を受けやすく、遅延し易くなる。これらの点から、優先度の高いデータフレームは遅延し難いため、バスが混雑していない場合であっても少しの遅延があれば、その遅延が攻撃に起因すると考えることができる。一方、優先度の低いデータフレームは遅延し易いため、バスが混雑している場合は、大きな遅延があっても、その遅延はバスの混雑に起因し、攻撃によるものではないと考えることができる。
そこで、本実施の形態では、遅延の原因がバス201の混雑さである(すなわち、遅延が攻撃のせいではない)と判断するときの基準値であるバス負荷率の許容値PLを、データフレームの優先度に応じて設定している。すなわち、データフレームの優先度が高い場合、許容値PLを低く設定する(混雑していると判断する基準値を厳しくする)。また、データフレームの優先度が低い場合、許容値PLを高く設定している(混雑していると判断する基準値を緩くする)。許容値PLは、図5Aに示すように、データフレームの優先度、すなわち、データフレームの種類(CAN ID)毎に予め設定され、フレーム情報テーブル81において管理される。
バス負荷率計算部114は、受信周期情報保持部143からフレーム情報テーブル81を読み出す。バス負荷率計算部114は、このフレーム情報テーブル81を参照して、受信したデータフレームのCAN IDに基づきバス負荷率の許容値PL(許容値)を取得する。例えば、図5Aの例において、CAN IDが「100」である場合、バス負荷率の許容値PLとして「90%」が取得される。
ステップ8において、算出したバス負荷率Lが許容値PL以下の場合(S8でNO)、受信したデータフレームが混雑さの影響を受ける程にバスが混雑した状態にないと考えられる。よって、この遅延(すなわち、受信周期のずれ)が発生しているのは、そのデータフレームが正規のものではなく、サイバー攻撃による、なりすましのデータフレームであるためであると考えられる。そこで、バス負荷率Lが許容値PL以下の場合(S8でNO)、攻撃検知部117はサイバー攻撃を受けたことを検知する(S16)。このとき、受信周期閾値更新部116は、上側閾値幅Δmh及び下側閾値幅Δmlを所定値にリセットし、リセットした値で受信周期閾値保持部145の周期閾値テーブル85を更新する(S15)。
一方、ステップ8において、算出したバス負荷率Lがその許容値PLよりも大きい場合(S8でYES)、受信周期閾値計算部115は正常周期範囲Wの上限を規定する最大閾値時刻(thmax)を算出する(S9)。
このため、受信周期閾値計算部115はまず、偏差時間Teとバス負荷率Lとから式(3a)を用いて上側閾値幅Δmhを求める。そして、受信周期閾値計算部115は、期待受信時刻texpと上側閾値幅Δmhとから式(2b)を用いて最大閾値時刻thmaxを求める。受信周期閾値更新部116は、算出された上側閾値幅Δmhを用いて受信周期閾値保持部145における周期閾値テーブル85を更新する。
その後、攻撃検知部117は、受信時刻tactが最大閾値時刻thmaxと等しいか、またはそれよりも前かを判断する(S10)。
受信時刻tactが、最大閾値時刻thmaxと等しいか、またはそれよりも前である場合(S10でYES)、受信したデータフレームの周期は正常周期範囲W内であるため、攻撃は受けていないと考えられる。この場合、攻撃検知部117は、サイバー攻撃を検知しなかったと判断する(S12)。また、受信周期閾値更新部116は、式(3b)により、下側閾値幅Δmlを算出し、受信周期閾値保持部145の周期閾値テーブル85を更新する(S11)。
一方、受信時刻tactが最大閾値時刻thmaxよりも後の場合(S10でNO)、データフレームの受信周期は正常周期範囲Wの外であるため、攻撃を受けたと考えられるので、攻撃検知部117はサイバー攻撃を受けたことを検知する(S16)。このとき、受信周期閾値更新部116は、上側閾値幅Δmh及び下側閾値幅Δmlを所定値にリセットし、受信周期閾値保持部145の周期閾値テーブル85を更新する(S15)。
ステップS5に戻り、受信時刻tactが期待受信時刻texpよりも前である場合(S5でNO)、受信時刻tactが最小閾値時刻thminと等しいか、それよりも後であるかが判定される(S13)。
受信時刻tactが最小閾値時刻thminと等しいか、それよりも後である場合(S13でYES)、受信したデータフレームの受信周期は正常周期範囲W内であると考えられるため、攻撃は受けていないと判定される(S12)。このとき、受信周期閾値更新部116は、上側閾値幅Δmh及び下側閾値幅Δmlを所定値にリセットし、受信周期閾値保持部145の周期閾値テーブル85を更新する(S14)。
一方、受信時刻tactが最小閾値時刻thminよりも前である場合(S13でNO)、受信周期は正常周期範囲W内ではない。よって、この場合、なりすましのデータフレームによる攻撃を受けていると考えられる。すなわち、攻撃検知部117はサイバー攻撃を受けたことを検知する(S16)。また、受信周期閾値更新部116は、上側閾値幅Δmh及び下側閾値幅Δmlを所定値にリセットし、受信周期閾値保持部145の周期閾値テーブル85を更新する(S15)。
以上のように、本実施の形態では、受信したフレームが正常であると判断する正常周期範囲Wの大きさ(換言すれば、正常周期範囲Wの閾値)をバス201の混雑状況(バス負荷率L)に基づき変動させている。これにより、バス201の混雑時において、混雑さに起因して遅延したフレームに対する攻撃の誤検知を低減しつつ、バスが混雑していないときには、攻撃フレームの検知精度を向上させることができる。
なお、上記のフローチャートにおけるステップS4では、受信時刻tactを期待受信時刻texpと比較した。ジッタ等の、優先度の低さ以外の遅延要因を考慮して、図9に示すように期待時刻texpに幅を持たせても良い。例えば、期待時刻texpを中心として所定のマージン±Δtを持たせた期待受信時刻範囲を設定してもよい。
texp-Δt≦期待受信時刻範囲≦texp+Δt (5)
そして、ステップS4において、受信時刻tactが期待時刻範囲内に入るか否かを判断してもよい。この場合、ステップS5においては、受信時刻tactが期待受信時刻範囲よりも後か否かを判断すればよい。また、ステップS13では、式(2a)で求めた値からさらにΔtだけ減算して最小閾値時刻を求め、この求めた最小閾値時刻と受信時刻tactとを比較すればよい。
以上のように本実施の形態のゲートウェイ装置100は、所定の周期でデータフレームが伝送されるバス201に接続され、当該バス201にされた機器への攻撃を検知する装置である。ゲートウェイ装置100は、バス201に伝送されるデータフレームを受信するフレーム受信部121と、検査対象のデータフレームの受信周期が正常範囲にあるか否かを、正常範囲を示す閾値(例えば、Thmin、Thmax、またはΔml、Δmh)を用いて判断し、その判断結果に基づき攻撃の有無を検知する攻撃検知部117と、受信したデータフレームの内容に基づき、バスの混雑さの程度を示すバス負荷率Lを算出するバス負荷率計算部114と、算出したバス負荷率に応じて閾値を決定する受信周期閾値計算部115と、を備える。
受信周期閾値計算部115、例えば、バス負荷率がバスの混雑さの程度がより高いことを示すほど、正常周期範囲Wがより広くなるように閾値(例えば、Thmin、Thmax、またはΔml、Δmh)を決定する。
上記の構成によれば、バス201の混雑度合いを示すバス負荷率Lに応じて、正常周期範囲を規定する閾値幅Δml、Δmhや閾値時刻Thmin、Thmaxを変化させている。すなわち、バス負荷率Lに応じて受信周期の判断における正常周期範囲の閾値を変化させている。これにより、バス201の混雑によりデータフレームが遅延した場合において、正常フレームを攻撃フレームであると誤検知することを防止しつつ、バスが混雑していない場合には精度よく、攻撃フレームを検知することができる。
また、CANプロトコルによれば、データフレームの種類毎にデータフレームの送信に対する優先度が異なっている。攻撃検知部117はさらに、バス負荷率が許容値以下であるときに(S8)、攻撃があったことを検知する(S16)。これにより、バスが混雑していないにもかかわらず、データフレームが遅延している場合、その原因はサイバー攻撃であると判断する。また、許容値はデータフレームの優先度に応じて設定される。これにより、優先度が高く遅延しにくいデータフレームと、優先度が低く遅延し易いデータフレームのそれぞれに対して適切な許容値を設定できる。
(実施の形態2)
実施の形態1では、バス201の混雑度を示す指標であるバス負荷率を、式(4)に示すように、期待時刻texpから受信時刻tactの間における、バスの最大可能ビット数に対する受信ビット総数の比率Lとして算出した。バス負荷率の算出方法はこれに限定されない。本実施の形態では、実施の形態1と異なるバス負荷率LBを用いた攻撃検知の動作を説明する。なお、ゲートウェイ装置100のハードウェア構成は実施の形態1のものと同じである。
実施の形態1では、バス201の混雑度を示す指標であるバス負荷率を、式(4)に示すように、期待時刻texpから受信時刻tactの間における、バスの最大可能ビット数に対する受信ビット総数の比率Lとして算出した。バス負荷率の算出方法はこれに限定されない。本実施の形態では、実施の形態1と異なるバス負荷率LBを用いた攻撃検知の動作を説明する。なお、ゲートウェイ装置100のハードウェア構成は実施の形態1のものと同じである。
本実施の形態では、バス負荷率LBは、単位時間当たりの受信したフレームのビット数として算出される。そして、バス負荷率LBが閾値PBを超えている時間に応じて正常周期範囲Wの大きさを設定する。
図10は、実施の形態2におけるゲートウェイ装置100による攻撃検知動作を説明するための図である。本実施の形態では、周期性を有する各種のデータフレームについて、所定の受信時刻毎にバス負荷率LBを算出する。具体的には、バス負荷率計算部114は、単位時間当たりに受信したフレームのビット総数をバス負荷率LBとして求める。
LB=単位時間の間に受信したフレームのビット総数/単位時間 (6)
そして、周期性を有する各種のデータフレームについて、期待受信時刻texpが経過してもデータフレームを受信していない場合に、期待受信時刻texpの経過後から継続してバス負荷率LBが許容値PBを超えている時間Toverを算出する。そして、この経過時間Toverに基づき正常周期範囲Wの大きさを設定する。より具体的には、正常周期範囲Wの上限を示す最大閾値時刻thmaxと下限を示す最小閾値時刻thminとをそれぞれ決定する上側閾値幅Δmhと下側閾値幅Δmlを次式により設定する。
Δmh=Tov (7a)
Δml=Δmh (7b)
Δml=Δmh (7b)
ここで、バス負荷率LBの許容値PBは、図5Aに示すように、フレーム情報テーブル81bに予め記憶されている。バス負荷率LBの許容値PBは、実施の形態1と同様にCAN ID毎に設定されている。
図11は、実施の形態2におけるゲートウェイ装置100による攻撃検知動作を示す第1のフローチャートである。図11に示す処理は、CPU110により所定の周期で繰り返し実行される。また、図11に示す処理は、周期性を有するデータフレームの種類(CAN ID)毎に実施される。
ビットカウント部113は、検査対象の種類のデータフレームの受信時刻tactが期待受信時刻texpを超過しているか否かを判断する(S31)。受信時刻tactが期待受信時刻texpを超過している場合(S31でYES)、ビットカウント部113は、所定の受信時刻毎に、受信した全フレームそれぞれのビット数を合算してビット総数(Bit_sum)を算出することでバス負荷率LBを算出する(S32)。例えば、図5Bに示す例では、時刻「2011」におけるバス負荷率LBは、261(=125+95+45)となる。同様に、時刻「2012」におけるバス負荷率LBは143(=68+75)となる。時刻「2013」におけるバス負荷率LBは0となり、時刻「2014」におけるバス負荷率LBは111となる。
受信周期閾値計算部115は、検査対象のデータフレームの種類のバス負荷率LBが、許容値PBよりも大きいか否かを判断する(S33)。許容値PBはフレーム情報テーブル81bから、データフレームの種類(CAN ID)に応じて取得される。
バス負荷率LBが許容値PBよりも大きい場合(S33でYES)、受信周期閾値計算部115は、継続してビット総数がしきい値を超えている時間Toverに基づき、最大閾値時刻Thmaxを設定する(S34)。
具体的には、受信周期閾値計算部115は、継続して受信ビット総数が許容値PBを超えている時間Toverに基づき、正常周期範囲Wの上側閾値幅Δmhと下側閾値幅Δmlを式(7a)、(7b)により決定する。そして、受信周期閾値計算部115はそれらの値Δmh、Δmlを用いて最大閾値時刻thmaxと最小閾値時刻thminを求める。
受信周期閾値更新部116は、最大閾値時刻thmaxと最小閾値時刻thminの算出過程で求められた上側閾値幅Δmhと下側閾値幅Δmlを用いて周期閾値テーブル85を更新する(S35)。これにより正常周期範囲Wが更新される。
バス負荷率(単位時間当たりの受信ビット総数)LBが許容値PBより大きいことは、バス上に多くのデータが伝送されている混雑状態にあることを示している。このため、フレーム受信の遅延はバスの混雑によるものと考え、攻撃によるものではないと考えられる。よって、バス負荷率LBが閾値PBよりも大きい場合(S33でYES)、攻撃検知部117は、サイバー攻撃がないことを検知する(S36)。
一方、バス負荷率LBが許容値PB以下の場合(S33でNO)、バスは混雑状態にない。バスが混雑していないにもかかわらず、フレームの受信が遅延していること、すなわち、受信周期が異常であることは、そのフレームがサイバー攻撃による、なりすましフレームであると考えられる。よって、バス負荷率LBが許容値PB以下の場合(S33でNO)、攻撃検知部117はサイバー攻撃を受けたことを検知する(S37)。
図12は、以上のようにして設定された最大及び最小閾値時刻に基づく攻撃検知動作を示す第2のフローチャートである。
ゲートウェイ装置100において、フレーム受信部121は、車載ネットワーク200のバス上を伝送するデータフレームを受信する(S51)。
攻撃検知部117は、受信時刻tactが最大閾値時刻thmaxよりも後か否かを判断する(S52)。受信時刻tactが最大閾値時刻thmaxよりも後である場合(S52でYES)、攻撃検知部117は、サイバー攻撃を受けたことを検知する(S56)。
受信時刻tactが最大閾値時刻thmaxと等しいかそれよりも前である場合(S52でNO)、攻撃検知部117は、受信時刻tactが最小閾値時刻thminよりも前か否かを判断する(S53)。
受信時刻tactが最小閾値時刻thminよりも前である場合(S53でYES)、攻撃検知部117は、サイバー攻撃を受けたことを検知する(S56)。
受信時刻tactが最小閾値時刻thminと等しいか、それよりも後である場合(S53でNO)、攻撃検知部117は、サイバー攻撃を受けていないことを検知する(S55)。その際、受信周期閾値計算部115は、上側閾値幅Δmh及び下側閾値幅Δmlを所定値にリセットする(S54)。
以上のように、本実施の形態では、バスの混雑さを示す指標であるバス負荷率LBとして、単位時間当たりの受信ビット総数を用いている。そして、単位時間当たりの受信ビット総数LBが所定値を超えた経過時間Toverに基づき、正常周期範囲を規定する上側閾値幅Δmh及び下側閾値幅Δmlを変化させる。換言すれば、単位時間当たりの受信ビット総数が所定値を超えた経過時間に基づき、周期判定の際の閾値を動的に変化させる。このように周期判定の際の閾値を動的に変化させることで、バスの混雑時の誤検知を防止しつつ、バスが混雑していない時の検知精度を向上させることができる。
(変形例)
上記の実施の形態では、本発明に係る異常検知装置(及び方法)の構成を、車載ネットワークに対して適用した例を説明したが、他の種類のネットワークに対しても同様に適用することができる。
上記の実施の形態では、本発明に係る異常検知装置(及び方法)の構成を、車載ネットワークに対して適用した例を説明したが、他の種類のネットワークに対しても同様に適用することができる。
上記の実施の形態では、本開示に係る異常検知装置を、ゲートウェイ装置100に適用した例を説明したが、他の機器に適用することもできる。例えば、本開示に係る異常検知装置は、ECU300のようなネットワークに接続する種々の機器に適用することができる。
上記の実施の形態において、バスの混雑さを示す指標であるバス負荷値の例として、式(4)または式(6)で求められるバス負荷率を提示したが、バス負荷値はこれに限定されない。バスの混雑さを定量的に示す情報であれば、任意の情報をバス負荷値として使用できる。
(本開示)
上記の実施の形態は以下の思想を開示している。
上記の実施の形態は以下の思想を開示している。
(1)所定の周期でデータフレームが伝送されるバス(201)に接続され、当該バスに接続された機器への攻撃を検知する装置(100)であって、
バスに伝送されるデータフレームを受信するフレーム受信部(121)と、
検査対象のデータフレームの受信周期が正常範囲にあるか否かを、正常範囲を示す閾値を用いて判断し、その判断結果に基づき攻撃の有無を検知する攻撃検知部(117)と、
フレーム受信部が受信したデータフレームの内容に基づきバスの混雑さの程度を示すバス負荷値を算出するバス負荷計算部(114)と、
バス負荷計算部が算出したバス負荷値に応じて閾値を決定する受信周期閾値計算部(115)と、
を備えた異常検知装置。
バスに伝送されるデータフレームを受信するフレーム受信部(121)と、
検査対象のデータフレームの受信周期が正常範囲にあるか否かを、正常範囲を示す閾値を用いて判断し、その判断結果に基づき攻撃の有無を検知する攻撃検知部(117)と、
フレーム受信部が受信したデータフレームの内容に基づきバスの混雑さの程度を示すバス負荷値を算出するバス負荷計算部(114)と、
バス負荷計算部が算出したバス負荷値に応じて閾値を決定する受信周期閾値計算部(115)と、
を備えた異常検知装置。
(2)(1)の異常検知装置において、受信周期閾値計算部は、バス負荷値がバスの混雑さの程度がより高いことを示すほど、正常範囲がより広くなるように閾値を決定してもよい。
(3)(1)または(2)の異常検知装置において、バス上に複数種類のデータフレームが伝送され、データフレームの種類毎にデータフレームの送信に対する優先度が異なってもよい。攻撃検知部はさらに、バス負荷値が許容値以下であるときに(S8、S33)、攻撃があったことを検知してもよい(S16、S37)。許容値はデータフレームの優先度が高いほど小さな値に設定される。
(4)(1)の異常検知装置において、バス負荷値(L)は、データフレームの受信時刻を含み正常周期範囲の幅を持つ期間(Te)における、バスで通信可能なビット総数に対する受信したデータのビット総数の比率であってもよい(式(4)参照)。
(5)(1)の異常検知装置において、バス負荷値(LB)は、単位時間に受信したデータフレームのビット総数であってもよい(式(6)参照)。
(6)(5)の異常検知装置において、受信周期閾値計算部は、データフレームの受信が期待される時刻である期待受信時刻の経過したデータフレームについて、バス負荷値が連続して所定値を超えた時間に応じて、閾値を決定してもよい。
(7)(1)~(6)のいずれかの異常検知装置は、車両内のネットワークに接続されてもよい。
(8)(7)の異常検知装置において、データフレームはCAN(Controller Area Network)プロトコルにしたがって伝送されてもよい。
(9)所定の周期でデータフレームが伝送されるバスに接続され、当該バスに接続された機器への攻撃を検知する方法であって、
データフレームを受信するステップ(S1)と、
受信したデータフレームの内容に基づき、バスの混雑さの程度を示すバス負荷値を算出するステップ(S7、S32)と、
算出したバス負荷値に基づき、データフレームの受信周期の正常範囲の閾値を決定するステップ(S9、S11、S34)と、
決定した閾値を用いて、検査対象のデータフレームの受信周期が正常範囲にあるか否かを判断するステップ(S10、S13、S52、53)と、
その判断結果に基づき攻撃の有無を検知するステップ(S12、S16、S52、S56)と、を含む、
異常検知方法。
データフレームを受信するステップ(S1)と、
受信したデータフレームの内容に基づき、バスの混雑さの程度を示すバス負荷値を算出するステップ(S7、S32)と、
算出したバス負荷値に基づき、データフレームの受信周期の正常範囲の閾値を決定するステップ(S9、S11、S34)と、
決定した閾値を用いて、検査対象のデータフレームの受信周期が正常範囲にあるか否かを判断するステップ(S10、S13、S52、53)と、
その判断結果に基づき攻撃の有無を検知するステップ(S12、S16、S52、S56)と、を含む、
異常検知方法。
(10)所定の周期でデータフレームが伝送されるバスに接続され、当該バスに接続された機器への攻撃を検知する異常検知装置を制御するプログラムであって、
当該プログラムは、異常検知装置の制御部に、
データフレームを受信するステップ(S1)と、
受信したデータフレームの内容に基づき、バスの混雑さの程度を示すバス負荷値を算出するステップ(S7、S32)と、
算出したバス負荷値に基づき、データフレームの受信周期の正常範囲の閾値を決定するステップ(S9、S11、S34)と、
決定した閾値を用いて、検査対象のデータフレームの受信周期が正常範囲にあるか否かを判断するステップ(S10、S13、S52、53)と、
その判断結果に基づき攻撃の有無を検知するステップ(S12、S16、S52、S56)と、を実行させる、
プログラム。
当該プログラムは、異常検知装置の制御部に、
データフレームを受信するステップ(S1)と、
受信したデータフレームの内容に基づき、バスの混雑さの程度を示すバス負荷値を算出するステップ(S7、S32)と、
算出したバス負荷値に基づき、データフレームの受信周期の正常範囲の閾値を決定するステップ(S9、S11、S34)と、
決定した閾値を用いて、検査対象のデータフレームの受信周期が正常範囲にあるか否かを判断するステップ(S10、S13、S52、53)と、
その判断結果に基づき攻撃の有無を検知するステップ(S12、S16、S52、S56)と、を実行させる、
プログラム。
上述の実施の形態は、本開示における技術を例示するためのものであるから、特許請求の範囲またはその均等の範囲において種々の変更、置き換え、付加、省略などを行うことができる。
10 車両
100 ゲートウェイ装置
110 CPU
111 フレーム確認部
113 ビットカウント部
121 フレーム受信部
120 RAM
130 ROM
140 データ記憶部
150 第1通信インタフェース
160 第2通信インタフェース
200a、200b、200 車載ネットワーク
201a、201b、201 バス
300 ECU(電子制御ユニット)
100 ゲートウェイ装置
110 CPU
111 フレーム確認部
113 ビットカウント部
121 フレーム受信部
120 RAM
130 ROM
140 データ記憶部
150 第1通信インタフェース
160 第2通信インタフェース
200a、200b、200 車載ネットワーク
201a、201b、201 バス
300 ECU(電子制御ユニット)
Claims (14)
- 所定の周期でデータフレームが伝送されるバスに接続され、当該バスに接続された機器への攻撃を検知する装置であって、
前記バスに伝送されるデータフレームを受信するフレーム受信部と、
検査対象のデータフレームの受信周期が正常範囲にあるか否かを、正常範囲を示す閾値を用いて判断し、その判断結果に基づき攻撃の有無を検知する攻撃検知部と、
前記フレーム受信部が受信したデータフレームの内容に基づき前記バスの混雑さの程度を示すバス負荷値を算出するバス負荷計算部と、
前記バス負荷計算部が算出した前記バス負荷値に応じて前記閾値を決定する受信周期閾値計算部と、
を備えた異常検知装置。 - 前記受信周期閾値計算部は、前記バス負荷値がバスの混雑さの程度がより高いことを示すほど、前記正常範囲がより広くなるように前記閾値を決定する、
請求項1記載の異常検知装置。 - 前記バス上に複数種類のデータフレームが伝送され、データフレームの種類毎にデータフレームの送信に対する優先度が異なり、
前記攻撃検知部はさらに、前記バス負荷値が許容値以下であるときに、攻撃があったことを検知し、
前記許容値は前記データフレームの優先度が高いほど小さな値に設定される、
請求項1または2に記載の異常検知装置。 - 前記バス負荷値は、データフレームの受信時刻を含み正常周期範囲の幅を持つ期間における、前記バスで通信可能なビット総数に対する受信したデータのビット総数の比率である、
請求項1に記載の異常検知装置。 - 前記バス負荷値は、単位時間に受信したデータフレームのビット総数である、
請求項1に記載の異常検知装置。 - 前記受信周期閾値計算部は、データフレームの受信が期待される時刻である期待受信時刻の経過したデータフレームについて、前記バス負荷値が連続して所定値を超えた時間に応じて、前記閾値を決定する、
請求項5に記載の異常検知装置。 - 車両内のネットワークに接続される、請求項1ないし6のいずれか1つに記載の異常検知装置。
- 前記データフレームはCAN(Controller Area Network)プロトコルにしたがって伝送される、請求項7に記載の異常検知装置。
- 所定の周期でデータフレームが伝送されるバスに接続され、当該バスに接続された機器への攻撃を検知する方法であって、
データフレームを受信するステップと、
受信したデータフレームの内容に基づき、前記バスの混雑さの程度を示すバス負荷値を算出するステップと、
前記算出したバス負荷値に基づき、データフレームの受信周期の正常範囲の閾値を決定するステップと、
前記決定した閾値を用いて、検査対象のデータフレームの受信周期が正常範囲にあるか否かを判断するステップと、
その判断結果に基づき攻撃の有無を検知するステップと、を含む、
異常検知方法。 - 前記バス負荷値がバスの混雑さの程度がより高いことを示すほど、前記正常範囲がより広くなるように前記閾値を決定する、
請求項9に記載の異常検知方法。 - さらに、前記バス負荷値が許容値以下であるときに、攻撃があったことを検知するステップを含み、
前記バス上には複数種類のデータフレームが伝送され、データフレームの種類毎にデータフレームの送信に対する優先度が異なり、
前記許容値は、前記データフレームの優先度が高いほど小さな値に設定される、
請求項9または10に記載の異常検知方法。 - 所定の周期でデータフレームが伝送されるバスに接続され、当該バスに接続された機器への攻撃を検知する異常検知装置を制御するプログラムであって、
前記プログラムは、前記異常検知装置の制御部に、
データフレームを受信するステップと、
前記受信したデータフレームの内容に基づき、前記バスの混雑さの程度を示すバス負荷値を算出するステップと、
前記算出したバス負荷値に基づき、データフレームの受信周期の正常範囲の閾値を決定するステップと、
前記決定した閾値を用いて、検査対象のデータフレームの受信周期が正常範囲にあるか否かを判断するステップと、
その判断結果に基づき攻撃の有無を検知するステップと、を実行させる、
プログラム。 - 前記バス負荷値がバスの混雑さの程度がより高いことを示すほど、前記正常範囲がより広くなるように前記閾値を決定する、
請求項12に記載のプログラム。 - さらに、前記バス負荷値が許容値以下であるときに、攻撃があったことを検知するステップを前記制御部に実行させ、
前記バス上には複数種類のデータフレームが伝送され、データフレームの種類毎にデータフレームの送信に対する優先度が異なり、
前記許容値は、前記データフレームの優先度が高いほど小さな値に設定される、
請求項12または13に記載のプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201980028573.6A CN112119392B (zh) | 2018-05-17 | 2019-03-06 | 异常检测装置以及异常检测方法 |
EP19804554.4A EP3796195B1 (en) | 2018-05-17 | 2019-03-06 | Abnormality detection device and abnormality detection method |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018095688A JP7035791B2 (ja) | 2018-05-17 | 2018-05-17 | サイバー攻撃を検知する異常検知装置および異常検知方法 |
JP2018-095688 | 2018-05-17 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2019220746A1 true WO2019220746A1 (ja) | 2019-11-21 |
Family
ID=68540025
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2019/008746 WO2019220746A1 (ja) | 2018-05-17 | 2019-03-06 | 異常検知装置および異常検知方法 |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP3796195B1 (ja) |
JP (1) | JP7035791B2 (ja) |
CN (1) | CN112119392B (ja) |
WO (1) | WO2019220746A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114545893A (zh) * | 2021-11-30 | 2022-05-27 | 深圳元戎启行科技有限公司 | 线控帧检测方法、自动驾驶平台以及计算机可读存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008211644A (ja) * | 2007-02-27 | 2008-09-11 | Auto Network Gijutsu Kenkyusho:Kk | 車載通信装置及び車載通信システム |
WO2014115455A1 (ja) | 2013-01-28 | 2014-07-31 | 日立オートモティブシステムズ株式会社 | ネットワーク装置およびデータ送受信システム |
WO2017061079A1 (ja) * | 2015-10-09 | 2017-04-13 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | セキュリティ装置、攻撃検知方法及びプログラム |
JP2017073765A (ja) | 2015-10-09 | 2017-04-13 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America | セキュリティ装置、攻撃検知方法及びプログラム |
JP2017085197A (ja) * | 2015-10-22 | 2017-05-18 | 本田技研工業株式会社 | 通信システム、送信装置、及び通信方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4878630B2 (ja) * | 2009-03-25 | 2012-02-15 | 日本電信電話株式会社 | 通信サーバおよびDoS攻撃防御方法 |
EP2827536A4 (en) * | 2012-03-15 | 2015-03-04 | Toyota Motor Co Ltd | APPARATUS AND METHOD OF COMMUNICATION |
JP6573819B2 (ja) * | 2015-01-20 | 2019-09-11 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America | 不正検知ルール更新方法、不正検知電子制御ユニット及び車載ネットワークシステム |
EP3249855B1 (en) * | 2015-01-20 | 2022-03-16 | Panasonic Intellectual Property Corporation of America | Invalid frame handling method, invalidity detection electronic-control unit and vehicle-mounted network system |
JP6369341B2 (ja) * | 2015-01-30 | 2018-08-08 | 株式会社デンソー | 車載通信システム |
JP6585001B2 (ja) * | 2015-08-31 | 2019-10-02 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America | 不正検知方法、不正検知電子制御ユニット及び不正検知システム |
CN106899614B (zh) * | 2017-04-14 | 2019-09-24 | 北京梆梆安全科技有限公司 | 基于报文周期的车内网络入侵检测方法及装置 |
-
2018
- 2018-05-17 JP JP2018095688A patent/JP7035791B2/ja active Active
-
2019
- 2019-03-06 CN CN201980028573.6A patent/CN112119392B/zh active Active
- 2019-03-06 WO PCT/JP2019/008746 patent/WO2019220746A1/ja active Application Filing
- 2019-03-06 EP EP19804554.4A patent/EP3796195B1/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008211644A (ja) * | 2007-02-27 | 2008-09-11 | Auto Network Gijutsu Kenkyusho:Kk | 車載通信装置及び車載通信システム |
WO2014115455A1 (ja) | 2013-01-28 | 2014-07-31 | 日立オートモティブシステムズ株式会社 | ネットワーク装置およびデータ送受信システム |
WO2017061079A1 (ja) * | 2015-10-09 | 2017-04-13 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | セキュリティ装置、攻撃検知方法及びプログラム |
JP2017073765A (ja) | 2015-10-09 | 2017-04-13 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America | セキュリティ装置、攻撃検知方法及びプログラム |
JP2017085197A (ja) * | 2015-10-22 | 2017-05-18 | 本田技研工業株式会社 | 通信システム、送信装置、及び通信方法 |
Non-Patent Citations (1)
Title |
---|
See also references of EP3796195A4 |
Also Published As
Publication number | Publication date |
---|---|
EP3796195A4 (en) | 2022-02-23 |
EP3796195A1 (en) | 2021-03-24 |
EP3796195B1 (en) | 2022-11-09 |
CN112119392B (zh) | 2024-02-13 |
JP2019200670A (ja) | 2019-11-21 |
JP7035791B2 (ja) | 2022-03-15 |
CN112119392A (zh) | 2020-12-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109792409B (zh) | 用于在拥塞事件期间丢弃消息的方法、系统和计算机可读介质 | |
US8667585B2 (en) | Transmission control protocol flooding attack prevention method and apparatus | |
US10498661B2 (en) | Packet loss tolerant transmission control protocol congestion control | |
US9282116B1 (en) | System and method for preventing DOS attacks utilizing invalid transaction statistics | |
US10075468B2 (en) | Denial-of-service (DoS) mitigation approach based on connection characteristics | |
JP6291135B2 (ja) | コネクション制御装置、コネクション制御方法およびコネクション制御プログラム | |
CN109922072B (zh) | 一种分布式拒绝服务攻击检测方法及装置 | |
CN102577240B (zh) | 用于采用速率限制进行病毒扼制的方法和装置 | |
CN110677355A (zh) | 一种丢包应对方法、装置、电子设备及存储介质 | |
JP2004164553A (ja) | サーバ計算機保護装置、サーバ計算機保護方法、サーバ計算機保護プログラム及びサーバ計算機 | |
WO2019220746A1 (ja) | 異常検知装置および異常検知方法 | |
CN107547561B (zh) | 一种进行ddos攻击防护处理的方法及装置 | |
CN106656912B (zh) | 一种检测拒绝服务攻击的方法及装置 | |
CN103001958A (zh) | 异常tcp报文处理方法及装置 | |
JP2007180891A (ja) | 通信装置及びそれに用いるパケット送信制御方法並びにそのプログラム | |
JP6089518B2 (ja) | 転送装置、転送方法および転送プログラム | |
CN108449280B (zh) | 一种避免tcp报文乒乓的方法及装置 | |
JP3984233B2 (ja) | ネットワーク攻撃検出方法、ネットワーク攻撃元識別方法、ネットワーク装置、ネットワーク攻撃検出プログラムおよびネットワーク攻撃元識別プログラム | |
JP5009200B2 (ja) | ネットワーク攻撃検出装置及び防御装置 | |
JP6792532B2 (ja) | 異常検知装置および異常検知方法 | |
CN113810383B (zh) | Web应用防火墙及拥塞控制方法、介质及电子设备 | |
US20220329519A1 (en) | Packet transmission method and electronic device | |
KR20170011598A (ko) | 서비스 거부 공격 탐지 및 차단 방법,시스템 및 컴퓨터프로그램 | |
JP6920835B2 (ja) | 設備監視装置 | |
KR20140102399A (ko) | 비정상 세션 탐지 방법 및 장치 |
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: 19804554 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2019804554 Country of ref document: EP |
|
ENP | Entry into the national phase |
Ref document number: 2019804554 Country of ref document: EP Effective date: 20201217 |