20/05/2019

Czy można zabezpieczyć się przed fałszowaniem sygnału GPS?

Technologie

Wyobraź sobie, że jedziesz w mieście samochodem. Nagle spoglądasz na nawigację, a ta informuje Cię, że jesteś na lotnisku. Zaczynasz się zastanawiać, o co chodzi. Nie jest to sytuacja hipotetyczna — to realny przykład oszukiwania danych GPS (ang. GPS spoofing), czyli zmiany współrzędnych GPS przy użyciu fałszywego, mocniejszego sygnału GPS nadawanego z powierzchni Ziemi, który zagłusza sygnał nadawany przez satelitę.

Kto jest autorem takich ataków i dlaczego tak robi — pozostaje tajemnicą, jednak sztuczka ta jest stosowana do różnych celów: od przechwytywania dronów po systemy nawigacyjne jachtów i tankowców. Jedyna dobra wiadomość jest taka, że powoli, ale jednak zaczynają pojawiać się rozwiązania zabezpieczające przed takimi atakami.

Kilka faktów na temat oszukiwania sygnału GPS:

  • Spoofing danych GPS to próba oszukania odbiornika GPS poprzez emitowanie z powierzchni Ziemi fałszywego sygnału GPS. Wszystkie znajdujące się w pobliżu nawigacje zaczynają wyświetlać niepoprawną lokalizację.
  • Atak ten może zostać wykorzystany do przechwycenia bezzałogowych statków powietrznych i samochodów, wprowadzania w błąd taksówkarzy, dronów i żeglarzy.
  • Narzędzia do spoofingu GPS nie są kosmicznie drogie — wszystko, co potrzebne, kupisz za kilkaset dolarów.
  • Technologia zapewniająca ochronę przed takimi atakami dopiero powstaje, jednak na tę chwilę jest ona tworzona głównie z myślą o dużych systemach, takich jak nawigacja morska.
  • Najprostszym sposobem ochrony swojego tabletu lub smartfona jest przełączenie go w tryb określania lokalizacji oszczędzający baterię, w którym do określania lokalizacji wykorzystywane są tylko sieci Wi-Fi i komórkowe, a GPS jest wyłączony (na niektórych urządzeniach tryb ten jest niedostępny).

A teraz kilka bardziej szczegółowych informacji.

Jak działa atak oszukujący dane GPS?

Aby zrozumieć, dlaczego w ogóle można oszukać GPS, przypomnijmy główną zasadę działania nawigacji satelitarnej. Działa ona tak: nad kulą ziemską, na orbicie geostacjonarnej zawieszone są systemy satelitarne: amerykański GPS, europejski Galileo, rosyjski GLONASS i chiński BeiDou.

Każdy satelita przesyła ciągły sygnał radiowy zawierający kod swojej satelity oraz dokładny czas transmisji sygnału. Telefon lub inne urządzenie służące do nawigacji nie służy do przesyłania, lecz wyłącznie odbiera te sygnały radiowe z przestrzeni kosmicznej. Analizując dokładny czas otrzymania dla każdego sygnału, można obliczyć odległość danego odbiornika GPS od każdego z satelitów.

Odbiornik wykonuje odpowiednie obliczenia matematyczne i porównuje kilka takich różnych sygnałów (co najmniej trzy, choć im więcej, tym lepiej), aby precyzyjnie określić swoją lokalizację w odniesieniu do satelitów. A ponieważ współrzędne satelitów są znane i niezmienne, wykonanie tych obliczeń umożliwia poznanie lokalizacji odbiornika GPS na powierzchni Ziemi.

Problem w tym, że sygnały satelitarne tracą swoją moc, zanim ostatecznie trafią na stały ląd — a anteny zamontowane w większości odbiornikach nie są jakoś szczególnie wrażliwe. Dlatego wystarczy umieścić w pobliżu stosunkowo mocny transmiter fal radiowych i zacząć rozprzestrzeniać z niego fałszywy, ale technicznie poprawny sygnał GPS, aby zagłuszyć satelity i sprawić, że wszystkie odbiorniki GPS w pobliżu będą obliczać nieprawidłowe współrzędne.

Z kolei odbiorniki nie mają technicznych możliwości określenia kierunku, z którego nadchodzi sygnał, więc nie wiedzą, że pochodzi on z całkowicie innego źródła. Co gorsza, sprzęt do spoofingu GPS nie jest szczególnie drogi (kosztuje około 300 dolarów), a wszystkie potrzebne programy są dostępne za darmo. Innymi słowy, realizacja takiego ataku nie jest zbyt skomplikowanym zadaniem, a cały ekwipunek jest dostępny nie tylko dla wojska czy służb specjalnych — może go zdobyć zrobić niemal każda osoba.

Stephan Gerling opowiada o własnoręcznie przygotowanym sprzęcie do spoofingu GPS podczas Security Analyst Summit

Kto i po co oszukuje dane GPS?

Część znanych przypadków hakowania systemów GPS było związane z projektami badawczymi (na przykład przechwytywaniem jachtów), kłusownictwem i operacjami wojskowymi. Ponieważ jednak powstaje coraz więcej autonomicznych systemów, czyli np. dronów i bezzałogowych pojazdów, lista ta bez wątpienia będzie się wydłużać. Ponadto według niektórych doniesień medialnych udało się już przechwycić wojskowe bezzałogowe statki powietrzne, więc w przypadku dronów cywilnych sytuacja raczej nie będzie lepsza.

Jak ochronić się przed atakiem spoofingu GPS?

Mimo że o problemie tym wiadomo od jakiegoś czasu, ewolucję sposobów ochrony bardzo utrudnia fakt, że kluczowy do tego celu sprzęt znajduje się w kosmosie i nieprędko zostanie zastąpiony innym. Z kolei emitowanych przez satelity GPS sygnałów nie można wyposażyć w standardowe narzędzia zabezpieczające, takie jak szyfrowanie czy certyfikaty. Jak dotąd sposoby zabezpieczania miały charakter bardziej eksperymentalny i nie można ich wdrożyć na szeroką skalę.

Jeden ze sposobów (który oprócz zapewniania ochrony przed spoofingiem umożliwia także stabilniejsze odbieranie sygnału) wykorzystuje konfigurację odbiorników wieloantenowych (2×2) i technologię formowania wiązki. Takie połączenie nie tylko filtruje szum i zakłócenia, ale także może zostać użyte do określenia kierunku, z którego nadchodzi sygnał.

Technika ta ułatwia rozróżnienie fałszywego sygnału satelitarnego od prawdziwego. Jak dotąd takie instalacje dla GPS istniały tylko w ramach stosunkowo dużych prototypów eksperymentalnych, ale za jakiś czas będą one mogły zostać zaimplementowane w mniejszym sprzęcie. Nie będzie to tak trudne czy kosztowne, jak się wydaje — podobne technologie są już używane w sieciach komórkowych 4G i 5G.

Inny sposób wykorzystuje rozwiązanie komercyjne, które jest już dostępne, ale jest używane tylko w stosunkowo dużych odbiornikach GPS (na przykład na statkach morskich): są to tzw. zapory sieciowe GPS. Takie urządzenie jest zamontowane pomiędzy odbiornikiem GPS a jego anteną zewnętrzną i nieustannie porównuje sygnał GPS z zestawem reguł w celu zidentyfikowania fałszywych sygnałów, aby do odbiornika trafiały tylko oryginalne.

Być może za kilka lat producenci czipów do smartfonów umieszczą w odbiornikach nawigacji satelitarnej swoich urządzeń coś na kształt zapory sieciowej GPS. Niestety możliwe, że dopiero gdy usłyszymy o wykryciu jakichś incydentów związanych z przechwytywaniem sygnałów GPS, rynek producentów i programistów zauważy brak stosownych zabezpieczeń.

Tymczasem jeśli w jakimś momencie Twoja aplikacja do nawigacji satelitarnej będzie uparcie twierdzić, że jesteś na lotnisku, a w rzeczywistości będziesz stać w korku w centrum miasta, spróbuj użyć naszych podpowiedzi: przełącz urządzenie w tryb określania lokalizacji oszczędzający baterię. Wówczas do wyznaczania geolokalizacji nie jest wykorzystywana nawigacja satelitarna, lecz sieci Wi-Fi i komórkowe stacje bazowe. Chociaż nie zapewnia on wysokiej dokładności, zawsze to lepsze niż nic. W systemie iOS niestety nie ma takiego trybu; użytkownicy Androida mogą go aktywować poprzez otwarcie ekranu Ustawienia → Bezpieczeństwo i lokalizacja → Lokalizacja → Tryb → Oszczędzanie baterii.