Wykrywanie zakłóceń i podszyfowania sygnału GNSS

Zakłócenia GNSS można podzielić na 2 kategorie:

  • Zagłuszanie
  • Podszywanie się

Ataki zagłuszające polegają na nadawaniu silnych sygnałów radiowych w tym samym zakresie częstotliwości co GNSS, co może zagłuszyć stosunkowo słabsze sygnały nadawane przez satelity GNSS. Może to uniemożliwić odbiornikom GNSS, w tym telefonom, obliczanie lokalizacji.

Podszywanie się to bardziej zaawansowany atak, podczas którego nadawane są fałszywe sygnały udające prawdziwe sygnały GNSS. Te fałszywe sygnały mogą wprowadzić odbiornik GNSS w błąd i spowodować, że obliczy on pozycję lub czas, które znacznie różnią się od rzeczywistości. Wystarczy to, aby aplikacje do mapowania i nawigacji podawały użytkownikom nieprawidłowe informacje.

Informacje o podszywaniu się pod GNSS i zagłuszaniu sygnału GNSS

Siła sygnału lub stosunek sygnału do szumu (C/N0) oraz automatyczna regulacja wzmocnienia (AGC) radia GNSS w telefonie mogą być dobrym wskaźnikiem zakłóceń.

Wartość AGC zwykle spada, gdy wykryte zostanie spoofing lub zagłuszanie. Gdy radio odbiera silne fale radiowe, zmniejsza wzmocnienie wzmacniacza (AGC), aby dostosować moc odbieranego sygnału.

Porównanie siły sygnału wskazujące na zakłócenia
Rysunek 1. AGC spada podczas zakłóceń (czerwony obszar) i wraca do normalnego poziomu po ich usunięciu (zielony obszar). (Źródło obrazu: https://doi.org/10.33012/navi.537)

Jednak zachowanie C/N0 zmienia się w przypadku zakłócania i podszywania się. W przypadku zdarzeń zakłóceń szum odbierany przez radio jest znacznie silniejszy niż zwykle, dlatego mianownik stosunku sygnału do szumu rośnie, a wartość C/N0 maleje. W przypadku spoofingu jest odwrotnie – ponieważ nadawany jest fałszywy sygnał, który jest wystarczająco głośny, aby zagłuszyć prawdziwy sygnał z satelity, ogólna siła sygnału jest duża, a w związku z tym wzrasta C/N0.

Sprawdzanie, czy nie dochodzi do podszywania się pod GNSS lub zagłuszania sygnału GNSS

Na karcie Spoof/Jam w aplikacji GnssLogger możesz w czasie rzeczywistym sprawdzać wpływ otoczenia na C/N0 i AGC.

Wykres AGC i C/N0 w czasie rzeczywistym

Karta Spoof/Jam wyświetla wykres w czasie rzeczywistym przedstawiający AGC i C/N0 dla każdej konstelacji i pasma GNSS (np. „GPS L1” lub „G:L1:”, „Galileo E5a” lub „E:E5A:”).

Wykres AGC i C/N0 dla każdej konstelacji i każdego pasma GNSS.
Rysunek 2. Wartości AGC i C/N0 spadają, gdy telefon jest trzymany w pobliżu routera Wi-Fi (czerwony owal). Średnie 3 najsilniejsze sygnały dla każdej konstelacji i każdego pasma są przedstawione jako linie przerywane. Wartość AGC dla każdej konstelacji i pasma, która jest pojedynczą wartością, jest przedstawiona jako linia ciągła. Czerwony okrąg na wykresie pokazuje, jak AGC i C/N0 spadają, gdy telefon jest trzymany obok routera Wi-Fi, a tym samym obserwowane są zakłócenia.

Sprawdzanie w czasie rzeczywistym pod kątem spoofingu i zagłuszania

Pod wykresem w czasie rzeczywistym przedstawiającym AGC i C/N0 aplikacja wyświetla serię automatycznych kontroli danych, które identyfikują warunki związane z zakłóceniami GNSS.

Interfejs pokazujący dowody na warunki, które mogą być spowodowane podszywaniem się i zagłuszaniem.
Rysunek 3. Automatyczne kontrole mogą wykrywać warunki,
które mogą być spowodowane podszywaniem się i zagłuszaniem.

W sekcji Jamming checks aplikacja sprawdza, czy średnia z 10 najnowszych epok C/N0 i AGC zmieniła się w porównaniu z poprzednimi 50 epokami. Jeśli wartości C/N0 i AGC zmniejszają się jednocześnie, może to być objaw zagłuszania GNSS. Jeśli taka sytuacja zostanie wykryta, na karcie pojawi się komunikat NIEPOWODZENIE wraz z dodatkowymi informacjami:

Warunki potencjalnie spowodowane zakłóceniami GNSS.
Rysunek 4. Błąd wskazujący, że wykryto warunki potencjalnie spowodowane zakłóceniami GNSS.

Pierwsza karta w sekcji Sprawdzanie spoofingu również sprawdza C/N0 i AGC, ale szuka jednoczesnego wzrostu C/N0 i spadku AGC.

Drugie sprawdzenie związane z podszywaniem się polega na wykrywaniu różnicy większej niż 1 sekunda między czasem GNSS obliczonym na urządzeniu a czasem pobranym z internetu z serwera NTP (Network Time Protocol) (czas sieciowy – czas GNSS). Duża różnica może wskazywać, że obliczony czas GNSS jest nieprawidłowy.

Porady, wskazówki i ostrzeżenia

Korzystając z funkcji Spoof/Jam aplikacji GnssLogger, pamiętaj o tych kwestiach:

  • Jest to funkcja eksperymentalna – w miarę zdobywania wiedzy o charakterystyce AGC na różnych urządzeniach z Androidem dokładne algorytmy używane do spoofingu i zagłuszania mogą być aktualizowane.
  • Ta funkcja nie wykrywa wszystkich przypadków spoofingu i zagłuszania – wykres w czasie rzeczywistym i sprawdzanie danych ułatwiają wykrywanie właściwości danych w czasie rzeczywistym, ale nie są wystarczająco zaawansowane, aby wykrywać wszystkie przypadki spoofingu lub zagłuszania.
  • Ta funkcja została zaprojektowana do wykrywania zmian w C/N0 i AGC. Jeśli otworzysz aplikację w przypadku wykrycia spoofingu lub zagłuszania, a wartości C/N0 i AGC pozostaną stałe, spoofing i zagłuszanie nie zostaną wykryte.
  • Serwery NTP niekoniecznie są bezpieczne – czas sieciowy też można sfałszować.

Prześlij opinię na temat funkcji Spoof/Jam, korzystając z naszego publicznego narzędzia do rejestrowania błędów.