The present invention relates to an attack detection device, an attack detection program, and an attack detection method.
An inclination sensor is often used for attitude measurement or attitude control of an aircraft and heavy equipment. In particular, an inclination sensor called an attitude heading reference system (AHRS) is referred to as an inertial measurement unit. The AHRS is composed of an acceleration sensor, a gyroscope sensor, a magnetic sensor (compass), and a processor. The processor performs signal processing on various types of sensor data and outputs inclination data. Sensors and a module that performs signal processing for the sensors, like this, will be referred to as a sensor module.
As the various sensors constituting the AHRS, micro-electro-mechanical system (MEMS) sensors, which are advantageous in cost and downsizing, are often used. A MEMS sensor has a configuration such that mechanical parts and an electronic circuit are integrated into one unit.
The AHRS calculates an inclination by signal processing based on acceleration data obtained from the acceleration sensor, angular velocity data obtained from the gyroscope sensor, and magnetic data obtained from the magnetic sensor. Signal processing for fusing different types of sensor data and measuring different types of physical information in this way will be referred to as sensor fusion.
Non-Patent Literature 1 and Non-Patent Literature 2 disclose sensor fusion algorithms using the Kalman filter for the AHRS. In the sensor fusion algorithms based on Non-Patent Literature 1 and Non-Patent Literature 2, the same physical quantity is measured by two types of sensors, and the error is corrected by the Kalman filter to derive the correct measurement value. Specifically, the direction of gravity can be known from the acceleration sensor and the gyroscope sensor. The geomagnetic field can be known from the magnetic sensor and the gyroscope sensor. Therefore, by combining both of them, the inclination in world coordinates is calculated.
In measurement and control using a sensor, the reliability of sensor data is directly linked to the reliability of a system. Therefore, an attack on the sensor is a threat. An attack that disguises sensor data in software using malware can be dealt with by existing information security technologies.
On the other hand, an attack that deceives in hardware by emitting a physical signal to the sensor to physically vary the state of the sensor cannot be dealt with only by existing information security technologies. Non-Patent Literature 3 and Non-Patent Literature 4 disclose attack methods that deceive a MEMS gyroscope sensor and a MEMS acceleration sensor, respectively, by ultrasonic waves. An ultrasonic wave attack leverages the fact that a MEMS sensor includes a spring and a weight, and obtains an abnormal sensor output by forcibly resonating the sensor.
Non-Patent Literature 3 discloses, as countermeasure methods, physically shielding the sensor and changing the resonance frequency of the sensor as countermeasures in hardware.
Non-Patent Literature 4 discloses, as a countermeasure method, replacing the parts constituting the sensor with parts that are less susceptible to an ultrasonic attack as a countermeasure in hardware. Furthermore, Non-Patent Literature 4 discloses, as a countermeasure method, changing the sampling interval of the sensor as a countermeasure in software.
Non-Patent Literature 1: Daniel Roetenberg, Henk J Luinge, Chris T M Baten, and Peter H Veltink. 2005. Compensation of magnetic disturbances improves inertial and magnetic sensing of human body segment orientation. IEEE Transactions on neural systems and rehabilitation engineering 13, 3 (2005), 395-405.
Non-Patent Literature 2: NXP Semiconductors. 2016 AN5023—Sensor Fusion Kalman Filters.
Non-Patent Literature 3: Son, Yunmok, et al. “Rocking drones with intentional sound noise on gyroscopic sensors.” 24th USENIX Security Symposium (USENIX Security 15). 2015.
Non-Patent Literature 4: Timothy Trippel, Ofir Weisse, Wenyuan Xu, Peter Honeyman, and Kevin Fu. 2017. WALNUT: Waging doubt on the integrity of mems accelerometers with acoustic injection attacks. In Security and Privacy (EuroS&P), 2017 IEEE European Symposium on. IEEE, 3-18.
The countermeasure methods in hardware disclosed in Non-Patent Literature 3 and Non-Patent Literature 4 require modification to the sensor itself, resulting in increased costs. The method of shielding the sensor may affect other sensors, and may adversely affect measurement performance.
The countermeasure method in software disclosed in Non-Patent Literature 4 has a problem in terms of versatility in that it can be applied only to limited sensors. This is because it is a prerequisite for applying this countermeasure method that a user of the sensor can set the sampling interval of the sensor.
It is an object of the present invention to provide an attack detection device that detects an attack on a sensor and can be used for many types of sensors without requiring modification to the sensor itself and without adversely affecting other sensors.
An attack detection device according to the present invention includes:
an intermediate value acquisition unit to acquire respective intermediate values of a plurality of physical quantities during execution of a sensor fusion algorithm that calculates an output by combining the plurality of physical quantities observed by a plurality of sensors of different types, the sensor fusion algorithm calculating the respective intermediate values of the plurality of physical quantities, and changing the output using the respective intermediate values; and
a determination unit to determine whether there is an attack on at least one sensor of the plurality of sensors by comparing each of the respective intermediate values with an intermediate-value threshold value, which is a threshold value.
According to the present invention, it is possible to provide an attack detection device that detects an attack on a sensor and can be used for many types of sensors without requiring modification to the sensor itself and without adversely affecting other sensors.
The attack detection device 2 includes a correlation calculation unit 21 and an attack determination unit 22. The attack determination unit 22 includes a threshold value counter 220. The correlation calculation unit 21 is a similarity calculation unit. The attack determination unit 22 is an intermediate value acquisition unit. The attack determination unit 22 is a determination unit.
The processor 13 includes, as functional components, the sensor fusion unit 12a, the correlation calculation unit 21, and the attack determination unit 22. The functions of the sensor fusion unit 12a, the correlation calculation unit 21, and the attack determination unit 22 are implemented as the attack detection program. The memory 14 stores the attack detection program that implements the functions of the sensor fusion unit 12a, the correlation calculation unit 21, and the attack determination unit 22. The processor 13 executes the attack detection program that implements the functions of the sensor fusion unit 12a, the correlation calculation unit 21, and the attack determination unit 22. As described above, the attack detection program may be stored and provided in a computer readable recording medium, or may be provided as a program product.
Operation of the attack detection device 2 will be described. The operation of the attack detection device 2 is operation implemented by execution of the attack detection program by the attack detection device 2. The operation of the attack detection device 2 is an attack detection method.
The operation of the attack detection device 2 will be described, assuming the inclination sensor module 1a illustrated in
The first method for detecting an inconsistency between sets of sensor data is to look at a correlation between the sets of sensor data.
The first method uses the fact that physical states observed by various sensors coincide with each other during normal operation of the AHRS, so that a high correlation appears between sets of sensor data. In particular, the acceleration sensor 11b and the magnetic sensor 11c are common in that each indicates a certain direction at a certain point, namely gravity and the geomagnetic field, respectively. Therefore, the correlation between them is high.
The second method for detecting an inconsistency between sets of sensor data is to look at intermediate values of sensor fusion. What is simply described as sensor fusion signifies execution of a sensor fusion algorithm.
The second method assumes a sensor fusion algorithm that calculates an inclination by measuring an error between sets of sensor data and correcting a measurement value based on that error. Therefore, the attack detection device 2 looks at a sensor fusion error to find an inconsistency between physical states observed by sensors.
For example,
Therefore, by looking at a gravity error and a geomagnetic error calculated by the sensor fusion algorithm in the process of calculating an inclination, inconsistencies can be detected for these two types of combinations of sensors.
By combining the first method and the second method, inconsistencies can be detected for all of the following three combinations:
First, the first method that detects inconsistencies between sets of sensor data by correlation will be described. In the first method, consistencies between the acceleration sensor 11b and the magnetic sensor 11c will be checked. Specifically, the effectiveness of the first method will be indicated by comparing correlations between sets of sensor data during normal operation with correlations between sets of sensor data during abnormal operation under an attack.
Correlations during normal operation are obtained first.
denote the arithmetic averages of xi and yi, respectively.
Next, correlations during abnormal operation are obtained.
Such an attack on the AHRS is described in the following Reference Literature 1.
Reference Literature 1: Nashimoto, Suzuki, et al., “A Security Evaluation of Attack Resilience of Sensor Fusion”, SCIS2018 2018 Symposium on Cryptography and Information Security Niigata, Japan, Jan. 23-26, 2018, The Institute of Electronics, Information and Communication Engineers.
The second method that detects an inconsistency using intermediate values of sensor fusion will now be described. In order to do so, the technology of sensor fusion will be described first based on Non-Patent Literature 2.
In sensor fusion of the AHRS, a geomagnetic vector and a gravity vector have important roles. The geomagnetic vector <m> is a unit vector parallel to the magnetic field of the Earth, and the gravity vector <g> is a unit vector pointing to the center of the Earth. It is important that when <m>and <g> are given, the inclination is uniquely determined. Conversely, <m>and <g> can be calculated from the inclination.
The basic definitions required hereinafter will be described below. The notation is in accordance with Non-Patent Literature 2. The premise is that the inclination ([Rk]) in world coordinates is given as a three-dimensional rotation matrix by the following equation (1).
The relationship between sensor data and the rotation matrix is defined as indicated in the following equation (2).
This equation (2) can be explained as follows. In this algorithm, North, East, Down (NED) coordinates are especially adopted. Therefore, since the Z axis of [Rk] indicates the direction of gravity, it is calculated only based on the acceleration sensor 11b. Since the magnetic sensor 11c indicates the northward direction facing downward, the cross product of <Gk> and <Bk> indicates the East direction along the Y axis. The remaining X axis can be calculated as the cross product of the other two.
The flow of the sensor fusion unit in
Similarly, the gravity vector represents the field of gravity. The gravity vector is the following equation (4).
That is, they are as indicated below.
Main components of the observation error <Qv,k> are disturbance and sensor noise.
Disturbance includes acceleration <Qa,k>and magnetic disturbance <Qd,k>.
Sensor noise includes <QvB,k> in an acceleration sensor and <QvG,k> in a compass.
Therefore, the absence of any observation error can be expressed by the following equations (5) and (6).
[Formula 6]
Q
vB,k
+Q
d,k≈3(|Bk|−B)2=0 (5)
Q
vG,k
+Q
a,k≈3(|Gk|−g)2=0 (6)
Note that <g> denotes gravity acceleration and <B> denotes local geomagnetic field strength.
In step S302 of
[Formula 7]
ωk−=Yk−bk− (7)
Next, an a priori estimate value of the inclination is as indicated in the following equation (8).
[Formula 8]
q k−=qk−1+Δq(ωk−δt) (8)
Note that δt is the update interval of the Kalman filter.
Note that Δq denotes a quaternion that converts an angle |(ω−k)|δt to rotation, and is expressed by the following equation (9).
By using the inclination q−k obtained with the gyroscope, the directions of gravity and the geomagnetic field can be obtained by equation (2). These will be referred to as a gravity vector <gk−> and a geomagnetic vector <mk−>.
So far, sets of the gravity vector and the geomagnetic vector obtained by the two methods, that is,
{<gk6DOF>,<mk6DOF>} and {<gk−>,<mk−>}
have been obtained.
In step S303 of
The error between <gk6DOF> and <gk−> is a rotation quaternion qzgε,k that makes one coincide with the other, and can be obtained from <gk6DOF> and <gk−>.
Similarly, the error qzmε,k between <mk6DOF> and <mk−>is obtained.
Generally, a rotation quaternion for making a vector <r> coincide with another vector <s> can be obtained by the following equation (9-1).
Note that · and X denote the inner product and cross product of the vectors, respectively.
Equation (9-1) can be used to calculate the two types of rotation quaternions representing the errors.
In step S304 of
[Formula 11]
K
k
=Q
w,k
C
k
T(CkQw,kCkT+Qv,k)−1 (10)
Note that [Ck] is what is referred to as an observation matrix in the Kalman filter.
An a posteriori estimate x+ε,k of the observation error is given by the following equation (11).
In step S305 of
[Formula 13]
mk+=qmε,k+mk−(qmε,k+)* (12)
gk+=qgε,k+gk−(qgε,k+)* (13)
In equations (12) and (13), * denotes conjugate.
Furthermore, by substituting equations (12) and (13) into equation (2), an a posteriori estimate [RK+] of the inclination is obtained. Finally, the inclination, that is, roll φk, pitch θk, yaw angle ψk, is expressed by the following equation (14).
By repeating the above process, the inclination is calculated successively.
In attack detection by the attack detection device 2, the presence or absence of an attack is determined by looking at the gravity vector error qzgε,k and the geomagnetic vector error qzmε,k calculated based on the errors in step S303 of
A specific explanation will be given using the sensor data under normal conditions and abnormal conditions indicated in
The above two inconsistency detection methods are applied to the attack detection device 2.
In step S11, the gyroscope sensor 11a transmits angular velocity data to the sensor fusion unit 12a.
In step S12, the acceleration sensor 11b transmits acceleration data to the sensor fusion unit 12a.
In step S13, the magnetic sensor 11c transmits magnetic data to the sensor fusion unit 12a.
In step S14, the sensor fusion unit 12a transmits the acceleration data and the magnetic data to the correlation calculation unit 21.
Then, the sensor fusion unit 12a performs sensor fusion using the angular velocity data, the acceleration data, and the magnetic data, as described in the explanation of
The correlation calculation unit 21 calculates correlations between the acceleration data and the magnetic data. In step S16, the correlation calculation unit 21 transmits the calculated correlation values to the attack determination unit 22. In step S17, the attack determination unit 22 determines the presence or absence of an attack based on the sensor fusion error data and the correlation values, and transmits a determination result to the controller 3.
In step S101, the correlation calculation unit 21 receives acceleration data and magnetic data from the sensor fusion unit 12a.
In step S102, the correlation calculation unit 21 calculates correlation coefficients between the acceleration data and the magnetic data.
In step S103, the correlation calculation unit 21 transmits the correlation values to the attack determination unit 22.
As described above, the correlation calculation unit 21, which is the similarity calculation unit, acquires sensor data of the acceleration sensor 11b and the magnetic sensor 11c, which are two sensors of the plurality of sensors, and calculates correlation values between two sets of sensor data as similarities. As will be described later, the attack determination unit 22 compares a similarity threshold value with each of the correlation values, which are similarities, to determine whether there is an attack on at least one sensor of the plurality of sensors.
The two sensors for which similarities are calculated have different observable physical quantities. Specifically, the observable physical quantity of the acceleration sensor 11b is gravity, and the observable physical quantity of the magnetic sensor 11c is the geomagnetic field.
In step S201, the attack determination unit 22 initializes the threshold value counter 220.
In step S202, the attack determination unit 22 receives correlation values from the correlation calculation unit 21.
In step S203, the attack determination unit 22 determines, for each axis, whether the correlation value exceeds a preset correlation-value threshold value for each axis. If the correlation value exceeds the threshold value, the attack determination unit 22 increments the threshold value counter 220 in step S204. Since there are three axes, the upper limit of the counter for the correlation value is 3.
There are three threshold values: the threshold value for the X axis, the threshold value for the Y axis, and the threshold value for the Z axis. These will be denoted as a threshold value 1, a threshold value 2, and a threshold value 3, respectively. The threshold value 1, the threshold value 2, and the threshold value 3 will be referred to as similarity threshold values. The threshold value 1 is the threshold value for the X axis, the threshold value 2 is the threshold value for the Y axis, and the threshold value 3 is the threshold value for the Z axis.
In step S205, the attack determination unit 22 receives sensor fusion error data, which is signal processing intermediate values, from the sensor fusion unit 12a.
In step S206, the attack determination unit 22 determines whether the error of each axis exceeds a threshold value with regard to two types of physical quantities of the gravity vector and the geomagnetic vector. Since determinations are performed for three axes for each of the two types of errors, the upper limit of the counter regarding the errors is 6. There are six axes in total, three axes for the gravity vector and three axes for the geomagnetic vector, and a threshold value is set separately for each of the axes.
The threshold values for the X axis, the Y axis, and the Z axis of the gravity vector will be denoted as a threshold value 4, a threshold value 5, and a threshold value 6, respectively. The threshold values for the X axis, the Y axis, and the Z axis of the geomagnetic vector will be denoted as a threshold value 7, a threshold value 8, and a threshold value 9, respectively. The threshold values 4 to 9 will be referred to as intermediate-value threshold values.
The attack determination unit 22 increments the threshold value counter if each error exceeds the corresponding threshold value, and does not increment the threshold value counter if each error does not exceed the threshold value for the error (step S207).
Since the threshold values are the threshold values 1 to 9, the threshold value counter 220 becomes 9 at the maximum and 0 at the minimum as a result of steps S203 and S206.
In step S208, the attack determination unit 22 determines whether the threshold value counter 220 exceeds a predetermined threshold value. This threshold value is the threshold value for the threshold value counter 220 different from the threshold values 1 to 9. This threshold value will be referred to as a counter threshold value. If the threshold value counter 220 exceeds the counter threshold value, the attack determination unit 22 determines the presence of an attack and transmits an anomaly notification to the controller 3 (step S209). If the threshold value counter 220 does not exceed the counter threshold value, the attack determination unit 22 determines the absence of an attack and transmits a normal-state notification to the controller 3 (step S210).
For example, when the counter threshold value is 1, if even one of the values compared with the threshold values 1 to 9 exceeds the threshold value, the attack determination unit 22 determines the presence of an attack. When the counter threshold value is 5, if six or more of the nine values compared with the threshold values 1 to 9 exceed the threshold value, the attack determination unit 22 determines the presence of an attack.
As described above, the attack determination unit 22 acquires the respective intermediate values during execution of the sensor fusion algorithm. The sensor fusion algorithm executed by the sensor fusion unit 12a is an algorithm that calculates an output by combining a plurality of physical quantities observed by the gyroscope sensor 11a, the acceleration sensor 11b, and the magnetic sensor 11c, which are a plurality of sensors of different types. The plurality of physical quantities here are gravity and the geomagnetic field. The sensor fusion algorithm is the algorithm that calculates the gravity vector error qzgε,k and the geomagnetic vector error qzmε,k, which are the respective intermediate values of the plurality of physical quantities, and changes the output using the respective intermediate values.
In this way, the respective intermediate values are the respective error data of the plurality of physical quantities observed by the plurality of sensors of different types.
The attack determination unit 22 compares the gravity vector error qzgε,k and the geomagnetic vector error qzmε,k, which are the respective intermediate values, with the threshold values 4 to 9, which are the intermediate-value threshold values, so as to determine whether there is an attack on at least one sensor of the plurality of sensors.
The correlation calculation unit 21 may calculate similarities by the following methods instead of using the Pearson correlation coefficient.
The attack determination unit 22 can weight the intermediate-value threshold values depending on the types of intermediate values, and can weight the similarity threshold values depending on the types of two sets of sensor data. The weighting of the intermediate-value threshold values may change the intermediate-value threshold values or may change intermediate values. Similarly, the weighting of the similarity threshold values may change the similarity threshold values or may change similarities.
Specifically, the attack determination unit 22 can realize the threshold value counter 220 by the following methods.
The signal processing unit 12 may be realized not only by the sensor fusion algorithm using the Kalman filter described in the first embodiment, but also by algorithms that perform state estimation as follows:
The attack detection device 2 of the first embodiment can detect an attack on a sensor based on an inconsistency between sets of sensor data, using the fact that when sensors observe different physical states due to an attack, this results in low correlation values and large sensor fusion errors.
Even with a black box sensor whose internal structure is unknown, an attack detection mechanism can be introduced by extracting sensor data and intermediate values of signal processing and connecting an attack detection device separately. Therefore, an attack can be detected without any modification to the sensor.
In addition, since the attack detection device 2 detects an attack independently of measurement by sensors, it does not adversely affect measurement by the sensors.
In the first embodiment, the inclination sensor module that uses, as sensors, the gyroscope sensor 11a, the acceleration sensor 11b, and the magnetic sensor 11c has been described. This is not limiting, and the inclination sensor module may include two or more types of sensors among an acceleration sensor, a gyroscope sensor, a magnetic sensor, and a tilt sensor.
Furthermore, the inclination sensor is not limiting, and it may be replaced with a position sensor having two or more types of sensors among an acceleration sensor, a gyroscope sensor, a magnetic sensor, an ultrasonic sensor, an optical sensor, a camera, and a GPS sensor.
Furthermore, the inclination sensor is not limiting, and it may be replaced with a ranging sensor having two or more types of sensors among a radar, an ultrasonic sensor, an optical sensor and a camera.
Furthermore, the inclination sensor is not limiting, and it may be replaced with a soil sensor having two or more types of sensors among a temperature sensor, a humidity sensor, a radiation sensor, a pH sensor, and a camera.
Lastly, a supplemental description of the hardware configuration of the attack detection device 2 will be provided. The following description also applies to the inclination sensor module 1a.
The processor 23 is a central processing unit (CPU), a digital signal processor
(DSP), or the like.
The memory 24 is a random access memory (RAM), a read only memory (ROM), a flash memory, a hard disk drive (HDD), a solid state drive (SDD), or the like.
Each of the sensor data input interface 25, the signal processing intermediate value input interface 26, and the attack determination result output interface 27 is an Inter-Integrated Circuit (I2C) interface, a Serial Peripheral Interface (SPI), an Ethernet (registered trademark) interface, or the like.
The “unit” of each of the signal processing unit 12, the correlation calculation unit 21, and the attack determination unit 22 may be interpreted as a “circuit”, “step”, “procedure”, or “process”.
The attack detection device 2 may be realized by an electronic circuit, such as a logic integrated circuit (IC), a gate array (GA), an application specific integrated circuit (ASIC), or a field-programmable gate array (FPGA).
The processor and the above electronic circuit are also collectively referred to as processing circuitry.
The electronic circuit 99 is connected to a signal line 99a. Specifically, the electronic circuit 99 is a single circuit, a composite circuit, a programmed processor, a parallel-programmed processor, a logic IC, a gate array (GA), an application specific integrated circuit (ASIC), or a field-programmable gate array (FPGA).
1: sensor module, 1a: inclination sensor module, 2: attack detection device, 3: controller, 11: sensor data input unit, 11a: gyroscope sensor, 11b: acceleration sensor, 11c: magnetic sensor, 12: signal processing unit, 12a: sensor fusion unit, 13: processor, 14: memory, 15: attack determination result output interface, 16: inclination output interface, 21: correlation calculation unit, 22: attack determination unit, 23: processor, 24: memory, 25: sensor data input interface, 26: signal processing intermediate value input interface, 27: attack determination result output interface, 30: attack detection system, 99: electronic circuit, 99a: signal line, 220: threshold value counter
This application is a Continuation of PCT International Application No. PCT/JP2018/016647, filed on Apr. 24, 2018, which is hereby expressly incorporated by reference into the present application.
Number | Date | Country | |
---|---|---|---|
Parent | PCT/JP2018/016647 | Apr 2018 | US |
Child | 17009188 | US |