Jak łatwo jest zlokalizować komórkę

dodał 18 lutego 2012 o 23:13 w kategorii HowTo, Info, Mobilne, Prywatność, Top  z tagami:
Jak łatwo jest zlokalizować komórkę

Dostęp do lokalizacji urządzenia GSM z założenia ma jedynie operator sieci oraz służby, które mogą mu kazać tę lokalizację wyjawić. Naukowcy z uniwersytetu w Minnesocie udowodnili jednak, że w pewnym zakresie takie same dane może zdobyć każdy obywatel uzbrojony w laptopa.

Uwaga: Właściwy artykuł zawiera sporą dawkę terminologii i technologii związanych z sieciami komórkowymi, dlatego na wstępie zamieszczamy streszczenie w wersji uproszczonej. Zainteresowanych szczegółami odsyłamy kilka akapitów niżej.

Streszczenie

Protokoły komunikacyjne sieci GSM oraz ich implementacja przez operatorów pozwalają na ustalenie obecności lub nieobecności abonenta na danym obszarze przy użyciu bardzo prostych środków. Wystarczy analogowa linia telefoniczna, laptop z oprogramowaniem open source projektu Osmocom oraz komórka z wgranym specjalnym oprogramowaniem z tego samego źródła.

Opis metody
Atak polega na podsłuchiwaniu ruchu radiowego wysyłanego przez stacje bazowe do wszystkich komórek znajdujących się w ich obszarze. Generowanie połączeń na komórkę, które nie dochodzą do skutku (kończone są zanim komórka zareaguje na komunikaty sieci), zsynchronizowane z podsłuchiwaniem ruchu radiowego, pozwala na zebranie informacji, które w oparciu o analizę statystyczną dają atakującemu wiedzę o lokalizacji urządzenia, na które wykonywane są próby połączeń.

Możliwości
Opisany i eksperymentalnie potwierdzony atak można przeprowadzić wobec wszystkich urządzeń pracujących w sieci GMS w opcji 2G. Autorzy twierdzą, że analogiczny atak jest również możliwy w sieci UMTS oraz LTE. Atak pozwala na ustalenie, czy komórka o danym numerze znajduje się w obszarze od kilku do kilkuset stacji bazowych, który w zurbanizowanym terenie może obejmować ok. 100km2. Po ustaleniu, że komórka obecna jest w zdefiniowanym obszarze, możliwe jest ustalenie, do której stacji bazowej komórka jest podłączona. W warunkach miejskich sprowadza się to do ustalenia lokalizacji komórki na obszarze ok. 1 km2. Czas potrzebny na przeprowadzenie ataku wynosi kilka minut, zakładając, że atakujący znajduje się w odpowiedniej lokalizacji.

Ograniczenia
Aby potwierdzić lub zanegować lokalizację komórki w danym obszarze, urządzenie atakującego (a co najmniej jego część komórkowa) musi znajdować się w tym samym obszarze. Aby ustalić, do której stacji bazowej podłączona jest komórka, urządzenie atakującego musi być w zasięgu tej samej stacji bazowej.

Zagrożenia dla prywatności
Przeprowadzenie tego ataku umożliwia atakującemu zaprzeczenie lokalizacji komórki w obszarze 100km2. Pozwala to np. włamywaczowi stwierdzić, czy gospodarz domu, który chce okraść, znajduje się w okolicy. Zawężenie lokalizacji do konkretnej stacji bazowej może pozwolić np. na potwierdzenie, bez angażowania operatora sieci, czy opozycjonista bierze udział w demonstracji. Przy większym zaangażowaniu zasobów (urządzenie w zasięgu każdej stacji bazowej) możliwe jest także śledzenie przemieszczania się konkretnego urządzenia w zdefiniowanym obszarze.

Wersja długa dla zainteresowanych szczegółami

W sieci komórkowej ważna jest oszczędność zasobów. Dlatego też systemy sieci śledzą lokalizację urządzeń w niej pracujących, by w trakcie potrzeby łączności z góry znać ich przybliżone położenie i nie musieć ich szukać w całej sieci. Sieć pamięta, w którym obszarze (Local Area Code, LAC) znajduje się (lub ostatnio się znajdowało) urządzenie. Kiedy z sieci PSTN przychodzi połączenie, system stacji bazowej (Base Station System, BSS) próbuje znaleźć urządzenie. W tym celu wszystkie stacje bazowe w ramach LAC wysyłają prośbę o kontakt ze stacją bazową (paging request).

TMSI
Prośba adresowana jest na numer tymczasowego identyfikatora urządzenia (Temporary Mobile Subscriber Identity, TMSI), który jest oznaczeniem przyznawanym przez sieć komórkową każdemu urządzeniu w niej zarejestrowanemu. TMSI jest przydzielany tylko w ramach jednego LAC – kiedy telefon zmienia LAC, zmienia też TMSI. Protokół GSM nie określa czasu ważności TMSI. Testy przeprowadzone przez badaczy w ramach opisywanych eksperymentów wykazały, że w amerykańskich sieciach T-Mobile oraz AT&T czas ważności TMSI wynosi najczęściej powyżej kilku godzin, co pozwala na skuteczne przeprowadzenie opisanych poniżej ataków. Celem TMSI jest zapewnienie anonimowości użytkownika, ponieważ w założeniu powiązanie TMSI z konkretnym urządzeniem przechowywane jest jedynie w rejestrze abonentów gości (Visitor Location Register, VLR). Opisane poniżej ataki pokazują, że ustalenie TMSI danego urządzenia jest możliwe.

Komunikacja
Prośba o kontakt ze stacją bazową, kierowana do danego TMSI, przesyłana jest przez kanał logiczny PCCH (Paging Control Channel). Na kanale tym nasłuchują wszystkie aktywne urządzenia, by w razie potrzeby zgłosić się do BTS. Kanał ten znajduje się na jednej z częstotliwości opisywanej przez numer częstotliwości kanału radiowego (Absolute Radio Frequency Channel Number, ARFCN). Każde urządzenie weryfikuje każdą prośbę o kontakt, by sprawdzić, czy nie zawiera jego numeru TMSI. Jeśli trafi na prośbę skierowaną do właściwego numeru, przesyła do BTSa prośbę o zestawienie kanału transmisji. Prośba ta przesyłana jest przez kanał dostępu przypadkowego (Random Access Channel, RACH). W odpowiedzi BTS wysyła do urządzenia poprzez kanał PCCH dane samodzielnego dedykowanego kanału sterującego (Stand-Alone Dedicated Control Channel, SDCCH), który wykorzystywany jest do wymiany informacji poprzedzającej nawiązanie połączenia. Ciąg dalszy komunikacji nie jest przedmiotem tego ataku, więc pominiemy jego opis.

Istotne jest, że cała ta wymiana nie jest szyfrowana (parametry szyfrowania ustalane są dopiero w kolejnych krokach protokołu), a komunikaty przesyłane przez BTS w ramach kanału PCCH są dostępne dla wszystkich urządzeń w ramach danego obszaru, co umożliwia przeprowadzenie ataku.

Wyposażenie
Całe wyposażenie niezbędne do przeprowadzenia ataku składa się z łatwo dostępnych elementów. W opisanym eksperymencie wykorzystano laptop z oprogramowaniem Osmocom połączony ze stacjonarną linią telefoniczną oraz telefonem Motorola C118 z podmienionym oprogramowaniem (również powstałym w ramach projektu Osmocom), umożliwiającym podsłuchiwanie wszystkich komunikatów sieciowych. Dodatkowo w celu potwierdzenia prawidłowości przebiegu eksperymentu użyty został telefon G1 z lekko zmodyfikowanym oprogramowaniem rejestrującym wszystkie parametry sieci.

Pierwszy atak
Celem pierwszego ataku było ustalenie numeru TMSI powiązanego z docelowym numerem telefonu. W tym celu najpierw określono, jak powinno wyglądać połączenie głosowe, by wywołało komunikację na kanale PCCH pomiędzy BTSem a urządzeniem, jednocześnie nie powodując żadnych widocznych objawów na samym urządzeniu. Pomiary wykazały, że średni czas między rozpoczęciem połączenia z linii stacjonarnej a wysłaniem prośby o kontakt ze stacją bazową wyniósł 2.96 sekundy z odchyleniem standardowym na poziomie 0.152, a czas pomiędzy rozpoczęciem połączenia a dzwonkiem telefonu wyniósł 8.8 sekundy, z odchyleniem standardowym 4.5 i medianą równą 7.0. Dla celów eksperymentu przyjęto więc, że każde połączenie było zrywane po 4 sekundach, co zapewniało wygenerowanie ruchu na kanale PCCH i zapobiegało dzwonkowi na telefonie.

Atak polegał na generowaniu kolejnych zrywanych połączeń i jednoczesnym rejestrowaniu ruchu na kanale PCCH. W oparciu o wcześniejsze pomiary ustalono, że prośba o kontakt z BTS wysyłana jest między 2.50 a 3.42 sekundy od rozpoczęcia połączenia, co pozwoliło na zredukowanie liczby rejestrowanych wywołań. Oczywiście po pierwszej próbie połączenia w wyznaczonym przedziale czasu zarejestrowano więcej niż 1 identyfikator TMSI. Nawiązywano więc drugą i kolejne próby, w wyniku których otrzymywano kolejne pule TMSI. Poprzez eliminację TMSI, które nie występowały we wszystkich próbach możliwe było zidentyfikowanie TMSI powiązanego z numerem, na który dzwoniono. Co ciekawe, w większości wypadków wystarczyły do tego 2 lub 3 próby połączeń. Jako że odstępy między połączeniami muszą trwać jedynie dłużej niż 3.42 sekundy (by uniknąć powtórzeń), cały atak można przeprowadzić w czasie kilkunastu sekund.

Atak ten umożliwia nie tylko ustalenie numeru TMSI skojarzonego z urządzeniem, ale także pozwala na zaprzeczenie obecności urządzenia na danym obszarze LAC. Jeśli po kilku próbach połączenia okaże się, że żaden TMSI nie pojawił się w każdej z nich, oznacza to, że albo telefonu nie ma w tym obszarze, albo jest wyłączony. Stan „wyłączony” możemy łatwo zweryfikować nie przerywając połączenia – jeśli nie dojdzie ono do skutku lub zostanie skierowane na skrzynkę głosową, oznacza to, że telefon jest wyłączony.

Drugi atak
Potwierdzenie, czy dane urządzenie znajduje się w zasięgu tego samego BTSa co atakujący jest bardziej skomplikowane, lecz nadal możliwe. O ile w pierwszej części protokołu potrafimy już zidentyfikować TMSI, to niestety druga wiadomość przesyłana przez BTS w kanale PCCH, który możemy podsłuchiwać (dane kanału SDCCH) nie są kierowane na numer TMSI, lecz wg identyfikatora, który wybrał telefon odpowiadając stacji bazowej na pierwsze zapytanie (tego komunikatu nie potrafimy podsłuchać). Nie wszystko jednak stracone. Badacze wykorzystali fakt, że każdy BTS komunikuje się na innej częstotliwości a próba nawiązania połączenia wiąże się z wymianą konkretnych rodzajów informacji.

Przeprowadzili 3 różne doświadczenia:

  • słuchali na kanale prawidłowego BTSa (tego, do którego łączyło się testowe urządzenie) i wywoływali komunikację poprzez zrywane połączenia głosowe
  •  słuchali na kanale nieprawidłowego BTSa i wywoływali komunikację poprzez zrywane połączenia głosowe
  •  słuchali na kanale dowolnego BTSa i nie wywoływali komunikacji.

Nie wnikając już w statystyczne szczegóły obliczeń, udało im sie zaobserwować istotne statystycznie różnice w czasie między rozpoczęciem połączenia a pierwszym komunikatem SDCCH na kanale PCCH następującym po rozpoczęciu połączenia. Okazało się, że różnice te są na tyle duże, że można ze 100% pewnością potwierdzić, czy atakujący słucha ruchu tego samego BTSa, w zasięgu którego znajduje się poszukiwane urządzenie. Testy wykazały, że potwierdzenie lokalizacji urządzenia można było uzyskać po 8 zerwanych połączeniach.

Oczywiście ustalenie lokalizacji urządzenia wymaga obecności atakującego w zasięgu tego samego BTSa. Ułatwieniem w terenie miejskim jest fakt, że łatwo znaleźć lokalizację, która znajduje się w zasięgu 2 lub 3 BTSów naraz, znacząco ograniczając logistyczny aspekt weryfikacji kolejnych możliwości.

Urządzenie w ruchu
Dalsze eksperymenty wykazały, że pierwszy atak jest skuteczny wobec urządzeń przemieszczających się w ramach LAC. W testowym przypadku urządzenie przemieszczało się z prędkością ponad 100km/h, lecz ze względu na rozmiar LAC pozostawało w nim przez 8 minut, a do potwierdzenia jego obecności wystarczyły tylko 2 minuty. Ze względu na czas potrzebny na przeprowadzenie ataku drugiego rodzaju okazał się on nieskuteczny w scenariuszu szybko przemieszczającego się urządzenia.

Inne ograniczenia
Należy pamiętać, że wyniki badań, jakkolwiek bardzo ciekawe, są prawdziwe tylko dla dwóch przetestowanych amerykańskich sieci komórkowych i mogą być zupełnie inne np. w Polsce. Wystarczy, by operator skrócił czas ważności TMSI, na przykład zmieniając wartość przy każdej próbie połączenia. Inną metodą ograniczającą możliwość przeprowadzenia opisanych powyżej ataków jest wysyłanie prośby o kontakt z BTSem do kilku LAC naraz. Można także wprowadzić większą losować do czasów realizacji poszczególnych etapów negocjacji połączenia. Nie wiemy, czy któreś z tych czynników nie zostały juz wprowadzone w polskich sieciach.

Podsumowanie
Nie jesteśmy ekspertami w technologii sieci komórkowych, dlatego wszystkich, którzy dotarli aż do tego miejsca, prosimy o przesyłanie ewentualnych poprawek lub komentarzy. Zachęcamy tez do przeprowadzenia wyżej opisanych testów w Polsce i przesłania nam wyników. Na koniec polecamy lekturę oryginalnego raportu.