Towards the Detection of GPS Spoofing Attacks against Drones by Analyzing Camera’s Video Stream
<p>Correlation as a function of distance for location #1 (a neighborhood in Manhattan) for an altitude of 200 m (the blue points indicate the simulation results, and the red line represents the linear regression).</p> "> Figure 2
<p>The implementation of the proposed method, using an example in which we obtained five frames (<math display="inline"><semantics> <mrow> <mi>f</mi> <mi>r</mi> <mi>a</mi> <mi>m</mi> <msub> <mi>e</mi> <mn>0</mn> </msub> </mrow> </semantics></math> to <math display="inline"><semantics> <mrow> <mi>f</mi> <mi>r</mi> <mi>a</mi> <mi>m</mi> <msub> <mi>e</mi> <mn>4</mn> </msub> </mrow> </semantics></math>) and tried to predict the distance for <math display="inline"><semantics> <mrow> <mi>f</mi> <mi>r</mi> <mi>a</mi> <mi>m</mi> <msub> <mi>e</mi> <mn>5</mn> </msub> </mrow> </semantics></math> (<span class="html-italic">i</span> = 0, <span class="html-italic">n</span> = 4).</p> "> Figure 3
<p>Example of the simulator screen. The drone speed and altitude values are inserted on the left and submitted by the user (by clicking on the “Submit” button); the user clicks on the image and uses the arrows to move the black frame on the map; to finish, the user presses “Enter”.</p> "> Figure 4
<p>Location #1: 200 m (in the <b>left</b> image), 100 m (in the <b>center</b> image), 50 m (in the <b>right</b> image).</p> "> Figure 5
<p>Location #2: 200 m (in the <b>left</b> image), 100 m (in the <b>center</b> image), 50 m (in the <b>right</b> image).</p> "> Figure 6
<p>Location #3: 200 m (in the <b>left</b> image), 100 m (in the <b>center</b> image), 50 m (in the <b>right</b> image).</p> "> Figure 7
<p>The two types of terrain from an altitude of 1.2 km and histogram graphs: Manhattan as urban (<b>top</b>) and Central Park as unsettled open/flat area (<b>bottom</b>).</p> "> Figure 8
<p>Terrain test for the Central Park Lake location (location #2) from altitudes of: 200 m (in the <b>left</b> image), 100 m (in the <b>center</b> image), 50 m (in the <b>right</b> image).</p> "> Figure 9
<p>The view of an urban location (location #1) from an altitude of 1.2 km in various lighting conditions (ranging from 75 to 10% light).</p> "> Figure 10
<p>The drone flight route for location #1 (the <b>left</b> image) and location #2 (the <b>right</b> image) from an altitude of 50 m.</p> "> Figure 11
<p>The drone flight route for location #1 (the <b>left</b> image) and location #2 (the <b>right</b> image) from an altitude of 100 m.</p> "> Figure 12
<p>The prediction error (in meters) vs. various window sizes for an altitude of 50 m (average for the two locations).</p> "> Figure 13
<p>The prediction error (in meters) vs. various window sizes for an altitude of 100 m (average for the two locations).</p> "> Figure 14
<p>The FPR for a window size of 4 and 5 frames and an altitude of 50 m.</p> "> Figure 15
<p>The FPR for a window size of 5 and 6 frames and an altitude of 100 m.</p> "> Figure 16
<p>Example of a drone flight in which the drone is changing direction (rotating, rather than flying straight ahead), which causes a false positive due to the decreased correlation between the frames (the frames are presented from <b>left</b> to <b>right</b>).</p> "> Figure 17
<p>Example of three frames from a flight in a unchanging direction; the frame in the center is blurry; this causes a false positive due to the decreased correlation between the frames.</p> ">
Abstract
:1. Introduction
- Our method is database independent: in contrast to methods presented in other studies (e.g., [5]) which use a precompiled database, our method does not rely on a precompiled database or a map of the drone’s flight area;
- Our method offers flexibility: unlike other methods, it can be implemented on the drone itself or from the ground control station used to control the drone (i.e., on the drone’s controller);
- We empirically evaluate the accuracy of our method and determine the level of security for a situation in which the spoofed location is an average of 2.5 m away from the actual location, an aspect that was not evaluated in related studies.
2. Related Work
3. Proposed Method
- After the drone takes off, frames along with their specific GPS locations are collected. For each second of flight, one frame and its GPS location are saved. Thus, after n seconds, we will have n frames ( = the first frame in the time window, and = the nth frame in the time window);
- The similarity correlation between and all other i + n frames is calculated. At the same time, the distance (based on the GPS measurements) between the location of and the location of all other i + n frames is calculated. This information is used to generate a graph presenting the correlation vs. distance (an example of such a graph is presented in Figure 1). This graph allows us to model the change in frame correlation against the GPS distance, which provides a suitable function for the prediction of the next point () on the graph;
- The next and its GPS location are obtained, and the correlation between and () and the distance between the GPS locations are calculated. Then, the model can predict from function = . We then have the actual and predicted distance between and ;
- If , the GPS location correlates with the frame, indicating that there was no GPS spoofing attack on the drone. If >, there is no correlation between the GPS location and the frame, confirming that there has been a GPS spoofing attack.
4. Analysis and Simulation
4.1. The Simulator
4.2. Influence of Altitude
4.3. Influence of Speed
4.4. Influence of Terrain
4.5. Influence of Ambient Light
5. Real-World Evaluation
5.1. The Experiment
5.2. Results
6. Limitations
7. Future Work
8. Summary
Author Contributions
Funding
Conflicts of Interest
References
- Nassi, B.; Bitton, R.; Masuoka, R.; Shabtai, A.; Elovici, Y. SoK: Security and privacy in the age of commercial drones. In Proceedings of the 2021 IEEE Symposium on Security and Privacy (SP), San Francisco, CA, USA, 24–27 May 2021; pp. 73–90. [Google Scholar]
- Abera, T.; Bahmani, R.; Brasser, F.; Ibrahim, A.; Sadeghi, A.R.; Schunter, M. DIAT: Data Integrity Attestation for Resilient Collaboration of Autonomous Systems. In Proceedings of the NDSS Symposium, San Diego, CA, USA, 24–27 February 2019. [Google Scholar]
- Jansen, K.; Tippenhauer, N.O.; Pöpper, C. Multi-receiver GPS spoofing detection: Error models and realization. In Proceedings of the 32nd Annual Conference on Computer Security Applications, Los Angeles, CA, USA, 5–9 December 2016; pp. 237–250. [Google Scholar]
- Ranganathan, A.; Ólafsdóttir, H.; Capkun, S. Spree: A spoofing resistant gps receiver. In Proceedings of the 22nd Annual International Conference on Mobile Computing and Networking, New York, NY, USA, 3–7 October 2016; pp. 348–360. [Google Scholar]
- Xue, N.; Niu, L.; Hong, X.; Li, Z.; Hoffaeller, L.; Pöpper, C. DeepSIM: GPS Spoofing Detection on UAVs using Satellite Imagery Matching. In Proceedings of the Annual Computer Security Applications Conference, Austin, TX, USA, 7–11 December 2020; pp. 304–319. [Google Scholar]
- Davidovich, B. Github. Available online: https://github.com/davbarak/VISAS (accessed on 23 February 2022).
- Ferreira, R.; Gaspar, J.; Sebastião, P.; Souto, N. A Software Defined Radio Based Anti-UAV Mobile System with Jamming and Spoofing Capabilities. Sensors 2022, 22, 1487. [Google Scholar] [CrossRef] [PubMed]
- 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]
- Luo, A. Drones hijacking—multi-dimensional attack vectors and countermeasures. In Proceedings of the DEF CON 24 Conference, Las Vegas, NV, USA, 4–7 August 2016; Available online: https://www.youtube.com/watch?v=R6RZ5KqSVcg (accessed on 23 February 2022).
- Zeng, K.C.; Liu, S.; Shu, Y.; Wang, D.; Li, H.; Dou, Y.; Wang, G.; Yang, Y. All your {GPS} are belong to us: Towards stealthy manipulation of road navigation systems. In Proceedings of the 27th USENIX Security Symposium (USENIX Security 18), Baltimore, MD, USA, 15–17 August 2018; pp. 1527–1544. Available online: https://www.usenix.org/conference/usenixsecurity18/presentation/zeng (accessed on 23 February 2022).
- Oligeri, G.; Sciancalepore, S.; Di Pietro, R. GNSS spoofing detection via opportunistic IRIDIUM signals. In Proceedings of the 13th ACM Conference on Security and Privacy in Wireless and Mobile Networks, Linz, Austria, 8–10 July 2020; pp. 42–52. [Google Scholar]
- Sathaye, H.; LaMountain, G.; Closas, P.; Ranganathan, A. SemperFi: Anti-Spoofing GPS Receiver for UAVs. Available online: https://harshadsathaye.com/files/semperfi_ndss22.pdf (accessed on 23 February 2022).
- Eichelberger, M.; Von Hagen, F.; Wattenhofer, R. A Spoof-Proof GPS Receiver. In Proceedings of the 2020 19th ACM/IEEE International Conference on Information Processing in Sensor Networks (IPSN), Sydney, Australia, 21–24 April 2020; pp. 145–156. [Google Scholar]
- Oligeri, G.; Sciancalepore, S.; Ibrahim, O.A.; Di Pietro, R. Drive me not: GPS spoofing detection via cellular network: (Architectures, models, and experiments). In Proceedings of the 12th Conference on Security and Privacy in Wireless and Mobile Networks, Miami, FL, USA, 15–17 May 2019; pp. 12–22. [Google Scholar]
- Dang, Y.; Benzaïd, C.; Shen, Y.; Taleb, T. GPS spoofing detector with adaptive trustable residence area for cellular based-UAVs. In Proceedings of the GLOBECOM 2020—2020 IEEE Global Communications Conference, Taipei, Taiwan, 7–11 December 2020; pp. 1–6. [Google Scholar]
- Amer, R.; Saad, W.; Marchetti, N. Mobility in the sky: Performance and mobility analysis for cellular-connected UAVs. IEEE Trans. Commun. 2020, 68, 3229–3246. [Google Scholar] [CrossRef] [Green Version]
- Wang, C.C.; Chen, J.C.; Chen, Y.; Tu, R.H.; Lee, J.J.; Xiao, Y.X.; Cai, S.Y. MVP: Magnetic vehicular positioning system for GNSS-denied environments. In Proceedings of the 27th Annual International Conference on Mobile Computing and Networking, New Orleans, LA, USA, 25–29 October 2021; pp. 531–544. [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]
- Qiao, Y.; Zhang, Y.; Du, X. A Vision-Based GPS-Spoofing Detection Method for Small UAVs. In Proceedings of the 2017 13th International Conference on Computational Intelligence and Security (CIS), Hong Kong, China, 15–18 December 2017; pp. 312–316. [Google Scholar]
- 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]
- Wikipedia. Technology Readiness Level—Wikipedia, The Free Encyclopedia. 2021. Available online: http://en.wikipedia.org/w/index.php?title=Technology%20readiness%20level&oldid=1060145453 (accessed on 23 February 2022).
- Feature Matching. Available online: https://docs.opencv.org/4.x/dc/dc3/tutorial_py_matcher.html (accessed on 23 February 2022).
- Introduction to Surf (Speeded-Up Robust Features). Available online: https://docs.opencv.org/3.4/df/dd2/tutorial_py_surf_intro.html (accessed on 23 February 2022).
- Jakubović, A.; Velagić, J. Image feature matching and object detection using brute-force matchers. In Proceedings of the 2018 International Symposium ELMAR, Zadar, Croatia, 16–19 September 2018; pp. 83–86. [Google Scholar]
- Google. Google Earth. Available online: https://www.google.com/earth/ (accessed on 23 February 2022).
- Dey, S. Hands-On Image Processing with Python: Expert Techniques for Advanced Image Analysis and Effective Interpretation of Image Data; Packt Publishing Ltd.: Birmingham, UK, 2018. [Google Scholar]
- DJI. Dji SDK Platform. Available online: https://developer.dji.com/ (accessed on 23 February 2022).
Altitude | Linear Function | RMSE | MEA | |
---|---|---|---|---|
200 m | −0.224X + 97.984 | 1.2588 | 0.9984 | 0.9323 |
100 m | −0.464X + 93.165 | 3.8040 | 0.9952 | 1.4468 |
50 m | −1.072X + 100.797 | 5.7254 | 0.9934 | 2.0112 |
Altitude | Linear Function | RMSE | MEA | |
---|---|---|---|---|
200 m | −0.220X + 97.168 | 1.9597 | 0.9974 | 1.2334 |
100 m | −0.497X + 103.025 | 3.7830 | 0.9958 | 1.6309 |
50 m | −1.229X + 107.230 | 39.3119 | 0.9664 | 5.6436 |
Altitude | Linear Function | RMSE | MEA | |
---|---|---|---|---|
200 m | −0.221X + 95.962 | 1.8016 | 0.9976 | 1.1909 |
100 m | −0.500X + 101.049 | 2.1226 | 0.9976 | 1.1129 |
50 m | −1.125X + 99.657 | 11.3997 | 0.9881 | 2.9085 |
Speed | Linear Function | RMSE | MEA | |
---|---|---|---|---|
5 m/s (18 km/h) | −1.487X + 145.204 | 0.2551 | 0.9918 | 0.4591 |
10 m/s (36 km/h) | −0.878X + 91.951 | 1.5243 | 0.9878 | 1.1585 |
20 m/s (72 km/h) | −0.914X + 93.379 | 1.7241 | 0.9965 | 1.1379 |
Speed | Linear Function | RMSE | MEA | |
---|---|---|---|---|
5 m/s (18 km/h) | −1.900X + 187.233 | 5.8169 | 0.8138 | 2.3882 |
10 m/s (36 km/h) | −1.720X + 173.427 | 0.7974 | 0.9936 | 0.7550 |
20 m/s (72 km/h) | −1.818X + 179.150 | 2.9411 | 0.9941 | 1.6993 |
Speed | Linear Function | RMSE | MEA | |
---|---|---|---|---|
5 m/s (18 km/h) | −0.225X + 98.134 | 1.2764 | 0.9983 | 0.9385 |
10 m/s (36 km/h) | −0.230X + 99.831 | 0.2852 | 0.9996 | 0.4229 |
20 m/s (72 km/h) | −0.229X + 99.946 | 0.5753 | 0.9993 | 0.5700 |
Speed | Linear Function | RMSE | MEA | |
---|---|---|---|---|
5 m/s (18 km/h) | −1.351X + 104.897 | 181.7630 | 0.8930 | 11.4522 |
10 m/s (36 km/h) | −1.105X + 97.275 | 247.5627 | 0.8547 | 13.2745 |
20 m/s (72 km/h) | −1.178X + 100.595 | 237.1031 | 0.8723 | 12.2619 |
Speed | Linear Function | RMSE | MEA | |
---|---|---|---|---|
5 m/s (18 km/h) | −0.714X + 116.341 | 240.2957 | 0.8761 | 13.4783 |
10 m/s (36 km/h) | −0.726X + 117.098 | 250.6292 | 0.8748 | 14.0265 |
20 m/s (72 km/h) | −0.729X + 118.303 | 239.9461 | 0.8797 | 13.8666 |
Speed | Linear Function | RMSE | MEA | |
---|---|---|---|---|
5 m/s (18 km/h) | −0.294X + 118.573 | 300.9058 | 0.8159 | 15.1959 |
10 m/s (36 km/h) | −0.279X + 115.805 | 278.9850 | 0.8254 | 14.5698 |
20 m/s (72 km/h) | −0.266X + 113.072 | 290.8093 | 0.8237 | 14.8485 |
Light | Linear Function | RMSE | MEA | |
---|---|---|---|---|
75% | −1.063X + 99.575 | 3.0514 | 0.9967 | 1.4503 |
50% | −1.111X + 102.380 | 6.8292 | 0.9926 | 2.1720 |
25% | −1.112X + 101.834 | 7.1568 | 0.9923 | 1.9989 |
10% | −1.026X + 125.131 | 543.1094 | 0.5925 | 19.7922 |
Light | Linear Function | RMSE | MEA | |
---|---|---|---|---|
75% | −0.485X + 96.490 | 3.4121 | 0.9956 | 1.4333 |
50% | −0.486X + 95.730 | 4.5149 | 0.9943 | 1.6018 |
25% | −0.500X + 99.148 | 4.7360 | 0.9943 | 1.8010 |
10% | −0.475X + 123.390 | 246.8611 | 0.7533 | 13.2136 |
Light | Linear Function | RMSE | MEA | |
---|---|---|---|---|
75% | −0.226X + 98.867 | 1.3956 | 0.9981 | 0.9657 |
50% | −0.231X + 99.090 | 2.4037 | 0.9970 | 1.2434 |
25% | −0.235X + 100.492 | 2.7024 | 0.9967 | 1.2696 |
10% | −0.225X + 103.089 | 41.5135 | 0.9487 | 5.8316 |
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
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. https://doi.org/10.3390/s22072608
Davidovich B, Nassi B, Elovici Y. Towards the Detection of GPS Spoofing Attacks against Drones by Analyzing Camera’s Video Stream. Sensors. 2022; 22(7):2608. https://doi.org/10.3390/s22072608
Chicago/Turabian StyleDavidovich, Barak, Ben Nassi, and Yuval Elovici. 2022. "Towards the Detection of GPS Spoofing Attacks against Drones by Analyzing Camera’s Video Stream" Sensors 22, no. 7: 2608. https://doi.org/10.3390/s22072608
APA StyleDavidovich, B., Nassi, B., & Elovici, Y. (2022). Towards the Detection of GPS Spoofing Attacks against Drones by Analyzing Camera’s Video Stream. Sensors, 22(7), 2608. https://doi.org/10.3390/s22072608