# Detecting and Mitigating Attacks on GPS Devices
## 5 Detection Techniques and Their Comparison
### GPS Spoofing Detection
ML-based approaches are the current most popular method; however, a wide variety of existing approaches are not ML-based. These approaches can be classified as: (1) antenna-based approaches; (2) movement history-based approaches; and (3) signal statistics-based approaches. Many other proposed approaches do not easily fit into any generalized category or taxonomy. The authors of [88] proposed a microstrip patch antenna array-based solution that determines the Direction of Arrival (DOA) of the spoofed GPS signal through a DL-based approach. The DOA of authentic GPS signals is roughly known (upward-facing hemisphere); therefore, signals that are determined to have DOA values outside of that plausible range are deemed spoofed signals. The performance of the proposed approach is a function of three parameters: (1) the SNR of the actual GPS signal, (2) the SNR of the spoofed GPS signal, and (3) the number of antenna array elements. Good performance is achieved with a sufficiently high GPS SNR: greater than \(-4\) dB relative to the spoofed signal. The best performance was observed when the number of antenna array elements was greater than six. Similarly, the authors of [89] proposed an approach to detecting GPS spoofing by determining the DOA of the spoofed signal. The authors of [89] proposed using a compressed sensing method instead of a DL method to estimate the power and DOA of the incoming signal based on off-grid Bayesian inference. Simulation results demonstrated the ability to accurately estimate DOA towards the GPS spoofer when the power of the received spoofed signal was greater than that of the actual GPS signal and when the DOA of the spoofed signal was different from that of the actual GPS satellites. The authors of [90] proposed using a dual-antenna system to calculate the Doppler Frequency Difference of Arrival (FDOA). The \begin{table}
\begin{tabular}{c c c c c} \hline \hline
**Authors** & **Reference** & **Chosen Features Summary** & **ML Model** & \
\begin{tabular}{c} **Performance** \\ **Metrics** \\ \end{tabular} &
\begin{tabular}{c} **Achieved** \\ **Performance** \\ \end{tabular} \\ \hline G. [PERSON] et al. & [80] & PRN, DO, C/No, Others (Total of 11 Features) & Decision Tree (XGBoost) & Prob Detection Prob & 95.5\% \\  & & of 11 Features) & (XGBoost) & Misdetection Prob & 4.6\% \\  & & & False Alarm & 4.3\% \\ \hline S. [PERSON] et al. & [81] & C/No, PR, Carrier Doppler, Others (Total of 11 Features) & SVM & Accuracy & 97.8\% \\  & & & Prob Misdetection & 7.6\% \\  & & & Prob False Alarm & 1.5\% \\ \hline X. [PERSON] et al. & [82] & Magnetometer X-Axis, Mean GPS Altitude, Mean Latitude (Total of 21 Features) & RF, XGBoost & Accuracy & 99.69\% \\  & & & Precision & 98.76\%–99.07\% \\  & & & Recall & 99.38–99.69\% \\  & & & F1 & 99.22\% \\ \hline X. [PERSON] et al. & [83] & Latitude, Longitude, Altitude, Speed (Horizontal and Vertical), Roll, Pitch, Yaw, Roll Rate, Pitch & SVM, KNN, RF, GBDT, DT, MLP, XGBoost & Accuracy & 97.70\% \\  & & & Precision & 98.70\% \\  & & & F1 & 96.76\% \\  & & & GBDT, DT, MLP, XGBoost & Missing & 3.24\% \\  & & & Mistake & 1.32\% \\  & & & F1 & 97.72\% \\ \hline \hline \end{tabular}
\end{table} 
Table 11: _Cont._approach is predicated on the consistent, predictable nature of the GPSS downlink signal and the fact the presence of a spoofed GPS signal can be determined by detecting subtle differences in carrier frequency and phase, demonstrating that the proposed approach can discern between the actual and spoofed GPS signals. The advantage of this approach is its computational simplicity, since it requires little memory or processing capability. The disadvantage of this approach is the need for multiple antennas that must stay in the same formation during the observation window, making it unclear how well this approach would perform in the case of platform mobility. Another antenna array-based method was proposed by the authors of [91], in which the antenna array would be used to detect spoofed signals based on phase delay measurements.