PerDet: Machine-Learning-Based UAV GPS Spoofing Detection Using Perception Data
Abstract
:1. Introduction
- Most existing machine-learning-based detection approaches only consider a few types of perception data. They cannot sufficiently represent the relationship among perception data since each sensor has shortcomings, for example, an accelerometer is sensitive to vibrations.
- Most detection methods are proposed and evaluated with the simulation data, which is not able to reflect real scenarios.
- The comparison between different detection techniques is difficult. Some approaches directly compare the value of the accuracy (the detection rate). However, these techniques are evaluated with different dataset. It may reduce the credibility of the comparison.
- Feature selection is based on the complementarity among the perception data. The relationship among these data is analyzed from the view of the position estimation and attitude estimation processes. The selected features can compensate the weaknesses of different kinds of sensors. This method of feature selection is not considered by existing works.
- We build a dataset through real flights, including normal and attacked scenarios. Machine-learning-based detection approaches are very dependent on the dataset, which is able to affect the effectiveness and feasibility of the classifier. Most existing works are proposed and evaluated through the simulation.
- We have implemented the existing method, run it on our dataset and compared its performance with our PerDet. The experiment comparison demonstrates that PerDet is better than existing methods.
2. Preliminaries
2.1. The UAV Architecture
2.2. GPS
2.3. Triaxial Accelerometer
2.4. Triaxial Gyroscope
2.5. Triaxial Magnetometer
2.6. Barometer
3. Methodology
3.1. Framework
3.2. Feature Analysis
3.2.1. Position Analysis
3.2.2. Attitude Analysis
3.2.3. Summary of Data Features
4. Results
4.1. Data Collection and Preprocessing
- For the longitude:
- -
- Firstly, we should select a value to change the longitude. The injected software generates a random value . mod 50 to generate a remainder. If the remainder is not greater than 20, the injected software will generate a new random value . The threshold value 20 is determined through a number of experiments and it can ensure that a UAV will be deceived to deviate from the planned path.
- -
- Then, we need to determine whether to decrease or increase the longitude. The random value mod 10. If the remainder is greater than 5, the GPS longitude is subtracted with this random value ; if the remainder is less than or equal to 5, the GPS longitude is added with this random value . In the calculation process, the longitude has been expanded times for the convenience of calculation. Thus, the longitude is directly added or subtracted with the .
- For the latitude, the injected software performs a similar operation.
4.2. Feature Selection
- Compute the importance score for each one of 45 features;
- Sort features based on the importance score in descending order;
- Train the RF model with k features, for − n, and determine the number of features, which makes the RF model produce the stable and lowest MAE.
4.3. Model Selection and Evaluation
- Accuracy: Accuracy represents the proportion of all data classified by the classifier with correct classification, including positive and negative classes. The calculation formula is provided in Formula (3). The RF and XGBoost models have the highest accuracy value (99.69%) among six models. However, only one accuracy criterion cannot sufficiently reflect the efficiency. It is necessary to take other criteria into consideration.
- Precision: Precision represents the number of positive classes among the number of positive classes considered by the classifier, as defined in Formula (4). It can be observed that the RF model has the highest value (99.07%).
- Recall: Recall represents the number of positive classes decided by the classifier in the whole positive class, as defined in Formula (5). It shows the capacity to correctly classify the positive samples. It can be observed that the XGBoost model has a highest recall value (99.69%) than the other classifiers.
- F1-measure: F1-measure is the harmonic mean of the precision value and the recall value, as defined in Formula (6). Its value range is between 0 and 1—the higher the better. Thus, the RF and XGBoost models, with the F1-measure value 99.22%, have the best performance compared with the other models.
5. Comparison and Discussion
6. Conclusions
Author Contributions
Funding
Institutional Review Board Statement
Informed Consent Statement
Data Availability Statement
Acknowledgments
Conflicts of Interest
References
- Humphreys, T. Statement on the Vulnerability of Civil Unmanned Aerial Vehicles and Other Systems to Civil GPS Spoofing; University of Texas at Austin: Austin, TX, USA, 2012; pp. 1–16. [Google Scholar]
- Gaspar, J.; Ferreira, R.; Sebastião, P.; Souto, N. Capture of UAVs through GPS spoofing using low-cost SDR platforms. Wirel. Pers. Commun. 2020, 115, 2729–2754. [Google Scholar] [CrossRef]
- Wang, K.; Chen, S.; Pan, A. Time and position spoofing with open source projects. Black Hat Eur. 2015, 148, 1–8. [Google Scholar]
- Ding, Y.; Fu, Z. Multi-UAV Cooperative GPS Spoofing Based on YOLO Nano. J. Cybersecur. 2021, 3, 69. [Google Scholar] [CrossRef]
- Guo, Y.; Wu, M.; Tang, K.; Tie, J.; Li, X. Covert spoofing algorithm of UAV based on GPS/INS-integrated navigation. IEEE Trans. Veh. Technol. 2019, 68, 6557–6564. [Google Scholar] [CrossRef]
- Mendes, D.; Ivaki, N.; Madeira, H. Effects of GPS Spoofing on Unmanned Aerial Vehicles. In Proceedings of the 2018 IEEE 23rd Pacific Rim International Symposium on Dependable Computing (PRDC), Taipei, Taiwan, 4–7 December 2018; pp. 155–160. [Google Scholar] [CrossRef]
- Arteaga, S.P.; Hernández, L.A.M.; Pérez, G.S.; Orozco, A.L.S.; Villalba, L.J.G. Analysis of the GPS spoofing vulnerability in the drone 3DR solo. IEEE Access 2019, 7, 51782–51789. [Google Scholar] [CrossRef]
- Kerns, A.J.; Shepard, D.P.; Bhatti, J.A.; Humphreys, T.E. Unmanned aircraft capture and control via GPS spoofing. J. Field Robot. 2014, 31, 617–636. [Google Scholar] [CrossRef]
- Gaspar, J.; Ferreira, R.; Sebastião, P.; Souto, N. Capture of UAVs through GPS Spoofing. In Proceedings of the 2018 Global Wireless Summit (GWS), Chiang Rai, Thailand, 25–28 November 2018; pp. 21–26. [Google Scholar] [CrossRef]
- Wang, S.; Wang, J.; Su, C.; Ma, X. Intelligent Detection Algorithm against UAVs’ GPS Spoofing Attack. In Proceedings of the 2020 IEEE 26th International Conference on Parallel and Distributed Systems (ICPADS), Hong Kong, China, 2–4 December 2020; pp. 382–389. [Google Scholar] [CrossRef]
- Panice, G.; Luongo, S.; Gigante, G.; Pascarella, D.; Di Benedetto, C.; Vozella, A.; Pescapè, A. A SVM-based detection approach for GPS spoofing attacks to UAV. In Proceedings of the 2017 23rd International Conference on Automation and Computing (ICAC), Huddersfield, UK, 7–8 September 2017; pp. 1–11. [Google Scholar] [CrossRef]
- Feng, Z.; Guan, N.; Lv, M.; Liu, W.; Deng, Q.; Liu, X.; Yi, W. Efficient drone hijacking detection using two-step GA-XGBoost. J. Syst. Archit. 2020, 103, 101694. [Google Scholar] [CrossRef]
- Calvo-Palomino, R.; Bhattacharya, A.; Bovet, G.; Giustiniano, D. Short: LSTM-based GNSS Spoofing Detection Using Low-cost Spectrum Sensors. In Proceedings of the 2020 IEEE 21st International Symposium on “A World of Wireless, Mobile and Multimedia Networks” (WoWMoM), Cork, Ireland, 31 August–3 September 2020; pp. 273–276. [Google Scholar]
- Kim, K.H.; Nalluri, S.; Kashinath, A.; Wang, Y.; Mohan, S.; Pajic, M.; Li, B. Security Analysis against Spoofing Attacks for Distributed UAVs. In Decentralized IoT Systems and Security; 2020; Available online: https://www.ndss-symposium.org/ndss-paper/auto-draft-59/ (accessed on 27 September 2022).
- Feng, Z.; Guan, N.; Lv, M.; Liu, W.; Deng, Q.; Liu, X.; Yi, W. Efficient drone hijacking detection using onboard motion sensors. In Proceedings of the Design, Automation & Test in Europe Conference & Exhibition (DATE), Lausanne, Switzerland, 27–31 March 2017; pp. 1414–1419. [Google Scholar]
- Feng, Z.; Guan, N.; Lv, M.; Liu, W.; Deng, Q.; Liu, X.; Yi, W. An efficient UAV hijacking detection method using onboard inertial measurement unit. ACM Trans. Embed. Comput. Syst. (TECS) 2018, 17, 1–19. [Google Scholar] [CrossRef]
- Kwon, K.C.; Shim, D.S. Performance Analysis of Direct GPS Spoofing Detection Method with AHRS/Accelerometer. Sensors 2020, 20, 954. [Google Scholar] [CrossRef] [PubMed] [Green Version]
- Meng, L.; Yang, L.; Ren, S.; Tang, G.; Zhang, L.; Yang, F.; Yang, W. An Approach of Linear Regression-Based UAV GPS Spoofing Detection. Wirel. Commun. Mob. Comput. 2021, 2021, 5517500. [Google Scholar] [CrossRef]
- Liang, C.; Miao, M.; Ma, J.; Yan, H.; Zhang, Q.; Li, X.; Li, T. Detection of GPS spoofing attack on unmanned aerial vehicle system. In International Conference on Machine Learning for Cyber Security; Springer: Berlin/Heidelberg, Germany, 2019; pp. 123–139. [Google Scholar]
- Jansen, K.; Schäfer, M.; Moser, D.; Lenders, V.; Pöpper, C.; Schmitt, J. Crowd-GPS-Sec: Leveraging Crowdsourcing to Detect and Localize GPS Spoofing Attacks. In Proceedings of the 2018 IEEE Symposium on Security and Privacy (SP), Francisco, CA, USA, 20–24 May 2018; pp. 1018–1031. [Google Scholar] [CrossRef]
- Xue, N.; Niu, L.; Hong, X.; Li, Z.; Hoffaeller, L.; Pöpper, C. DeepSIM: GPS Spoofing Detection on UAVs Using Satellite Imagery Matching. In Annual Computer Security Applications Conference; Association for Computing Machinery: New York, NY, USA, 2020; ACSAC ′20; pp. 304–319. [Google Scholar] [CrossRef]
- Davidovich, B.; Nassi, B.; Elovici, Y. Towards the Detection of GPS Spoofing Attacks against Drones by Analyzing Camera’s Video Stream. Sensors 2022, 22, 2608. [Google Scholar] [CrossRef] [PubMed]
- Basan, E.; Basan, A.; Nekrasov, A.; Fidge, C.; Sushkin, N.; Peskova, O. GPS-spoofing attack detection technology for UAVs based on Kullback–Leibler divergence. Drones 2021, 6, 8. [Google Scholar] [CrossRef]
- Quan, Q. Introduction to Multicopter Design and Control; Springer: Berlin/Heidelberg, Germany, 2017. [Google Scholar]
- Pressure Altitude. Available online: https://en.wikipedia.org/wiki/Pressure_altitude (accessed on 16 August 2022).
- Pixhawk Overview. Available online: https://ardupilot.org/copter/docs/common-pixhawk-overview.html (accessed on 16 August 2022).
- Khalid, S.; Khalil, T.; Nasreen, S. A survey of feature selection and feature extraction techniques in machine learning. In Proceedings of the 2014 Science and Information Conference, London, UK, 27–29 August 2014; pp. 372–378. [Google Scholar] [CrossRef]
Data Category | NO. of Data |
---|---|
Normal data | 4232 |
Attacked data | 1071 |
Total | 5303 |
Number | Feature | Importance Score |
---|---|---|
1 | GyrXVar: Variance of Gyroscope X-axis | 0.027047872647265256 |
2 | GyrXMean: Mean of Gyroscope X-axis | 0.020478915520140306 |
3 | GyrXStd: Standard deviation of Gyroscope X-axis | 0.027901527709141737 |
4 | GyrYVar: Variance of Gyroscope Y-axis | 0.012113055966779567 |
5 | GyrYMean: Mean of Gyroscope Y-axis | 0.039112297257957035 |
6 | GyrYStd: Standard deviation of Gyroscope Y-axis | 0.011983808186813057 |
7 | GyrZVar: Variance of Gyroscope Z-axis | 0.004671937520749573 |
8 | GyrZMean: Mean of Gyroscope Z-axis | 0.004806725061086842 |
9 | GyrZStd: Standard deviation of Gyroscope Z-axis | 0.004384702987196356 |
10 | AccXVar: Variance of accelerometer X-axis | 0.006230995763668541 |
11 | AccXMean: Mean of accelerometer X-axis | 0.0036214604839554863 |
12 | AccXStd: Standard deviation of accelerometer X-axis | 0.006574528254556745 |
13 | AccYVar: Variance of accelerometer Y-axis | 0.009534427196009212 |
14 | AccYMean: Mean of accelerometer Y-axis | 0.0038345508092264753 |
15 | AccYStd: Standard deviation of accelerometer Y-axis | 0.009647826608332646 |
16 | AccZVar: Variance of accelerometer Z-axis | 0.008152670034781638 |
17 | AccZMean: Mean of accelerometer Z-axis | 0.006064773321875541 |
18 | AccZStd: Standard deviation of accelerometer Z-axis | 0.00854410151003481 |
19 | LatVar: Variance of latitude | 0.0 |
20 | LatMean: Mean of latitude | 0.11619645311561558 |
21 | LatStd: Standard deviation of latitude | 0.06194370185362291 |
22 | LngVar: Variance of longitude | 0.0 |
23 | LngMean: Mean of longitude | 0.0563228486978627 |
24 | LngStd: Standard deviation of longitude | 0.025894171697234895 |
25 | AltVar: Variance of GPS-measured altitude | 0.007548479290500066 |
26 | AltMean: Mean of GPS-measured altitude | 0.122000875327044 |
27 | AltStd: Standard deviation of GPS-measured altitude | 0.007303051143228208 |
28 | SpdVar: Variance of horizontal speed | 0.006280268579953106 |
29 | SpdMean: Mean of horizontal speed | 0.007918887370481123 |
30 | SpdStd: Standard deviation of horizontal speed | 0.006117606660987284 |
31 | VZVar: Variance of vertical speed | 0.004946738122673714 |
32 | VZMean: Mean of vertical speed | 0.007150222533095057 |
33 | VZStd: Standard deviation of vertical speed | 0.005414814819930933 |
34 | MagXVar: Variance of magnetometer X-axis | 0.010834503789344425 |
35 | MagXMean: Mean of magnetometer X-axis | 0.20627677807115272 |
36 | MagXStd: Standard deviation of magnetometer X-axis | 0.008776591151908784 |
37 | MagYVar: Variance of magnetometer Y-axis | 0.01414957536161663 |
38 | MagYMean: Mean of magnetometer Y-axis | 0.017977767588110993 |
39 | MagYStd: Standard deviation of magnetometer Y-axis | 0.013649764819770736 |
40 | MagZVar: Variance of magnetometer Z-axis | 0.008303906972972301 |
41 | MagZMean: Mean of magnetometer Z-axis | 0.032444678414258535 |
42 | MagZStd: Standard deviation of magnetometer Z-axis | 0.007776687520476013 |
43 | BaroAltVar: Variance of barometer-measured altitude | 0.01124656015629109 |
44 | BaroAltMean: Mean of barometer-measured altitude | 0.006839046700832824 |
45 | BaroAltStd: Standard deviation of barometer-measured altitude | 0.011979843401464617 |
Model | FPR(%) | TPR(%) | Threshold |
---|---|---|---|
SVM-linear | 14.24 | 85.63 | 0.229304 |
SVM-rbf | 14.63 | 92.50 | 0.226970 |
KNN | 19.75 | 95.94 | 0.200000 |
RF | 0.24 | 99.69 | 0.423333 |
GBDT | 0.71 | 98.44 | 0.419147 |
XGBoost | 0.31 | 100 | 0.439972 |
Model | Accuracy (%) | Precision (%) | Recall (%) | F1-Measure (%) |
---|---|---|---|---|
SVM-linear | 85.67 | 60.13 | 85.31 | 70.54 |
SVM-rbf | 86.74 | 61.33 | 92.19 | 73.66 |
KNN | 85.92 | 60.53 | 86.25 | 71.13 |
RF | 99.69 | 99.07 | 99.38 | 99.22 |
GBDT | 99.06 | 97.21 | 98.13 | 97.67 |
XGBoost | 99.69 | 98.76 | 99.69 | 99.22 |
Model | Accuracy (%) | Precision (%) | Recall (%) | F1-Measure (%) |
---|---|---|---|---|
SVM-linear | 90.22 | 93.74 | 55.63 | 69.83 |
SVM-rbf | 90.51 | 94.07 | 56.93 | 70.93 |
XGBoost (default parameters) | 92.63 | 88.09 | 73.70 | 80.26 |
XGBoost (optimized parameters) | 92.53 | 89.38 | 71.84 | 79.66 |
Our PerDet (RF model) | 99.69 | 99.07 | 99.38 | 99.22 |
Our PerDet (XGBoost model) | 99.69 | 98.76 | 99.69 | 99.22 |
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |
© 2022 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Wei, X.; Wang, Y.; Sun, C. PerDet: Machine-Learning-Based UAV GPS Spoofing Detection Using Perception Data. Remote Sens. 2022, 14, 4925. https://doi.org/10.3390/rs14194925
Wei X, Wang Y, Sun C. PerDet: Machine-Learning-Based UAV GPS Spoofing Detection Using Perception Data. Remote Sensing. 2022; 14(19):4925. https://doi.org/10.3390/rs14194925
Chicago/Turabian StyleWei, Xiaomin, Yao Wang, and Cong Sun. 2022. "PerDet: Machine-Learning-Based UAV GPS Spoofing Detection Using Perception Data" Remote Sensing 14, no. 19: 4925. https://doi.org/10.3390/rs14194925
APA StyleWei, X., Wang, Y., & Sun, C. (2022). PerDet: Machine-Learning-Based UAV GPS Spoofing Detection Using Perception Data. Remote Sensing, 14(19), 4925. https://doi.org/10.3390/rs14194925