12/12/2016

Totalna inwigilacja: bezprzewodowe hakowanie GSM

Porady

Jest taka legenda miejska mówiąca o przechwytywaniu kluczy szyfrowania w locie. Zakłada ona, że ktoś może sklonować kartę SIM bez fizycznego majstrowania przy niej, nawet jeśli miałby to być tymczasowy klon. Jednak klucz Ki jest przechowywany lokalnie na karcie SIM i w bazie danych dostawcy sieci, więc nawet nie opuszcza własnego podwórka. Na czym więc polega trik?

gsm-eavesdropping-featured

Teoretycznie atakujący może stworzyć fałszywą stację bazową emitującą silny sygnał, która będzie imitować oryginalne żądania podpisu elektronicznego SRES poprzez wysyłanie losowych zapytań uwierzytelniających RAND. Dzięki tej metodzie atakujący może obliczyć klucz Ki przy użyciu kryptoanalizy — tak jak można to zrobić, mając fizyczny dostęp do karty SIM.

Jednak metoda ta jest dosyć skomplikowana: kryptoanaliza zajmuje sporo czasu i wymaga wykonania wielu zapytań. Gdy atakujący zajmuje się bombardowaniem ofiary zapytaniami RAND, właściciel telefonu może opuścić zakres radiowy fałszywej stacji bazowej, a wtedy atakujący będzie musiał podążać za ofiarą z całym wyposażeniem. Jeśli mówimy o dobrze zaplanowanym ataku ukierunkowanym, sprzęt może być rozmieszczony w okolicy domu lub firmy. Powodzenie ataku zależy od algorytmu szyfrowania: jeśli dostawca sieci używa COMP128v2, atak może nie działać.

Ataki bezprzewodowe były początkowo przeznaczone do umożliwienia atakującemu podsłuchiwania rozmów abonenta. Jak wiadomo, komunikacja bezprzewodowa jest szyfrowana zazwyczaj po to, aby ograniczyć możliwości podsłuchiwania rozmów prywatnych (poza szczególnymi przypadkami, gdy szyfrowanie jest wyłączone podczas działań organów ścigania). Szyfrowanie wykorzystuje algorytm A5 z 64-bitowym kluczem. A5 posiada dwie wersje: wytrzymalszą A5/1 i mniej odporną A5/2.

Wnikając głębiej, nawet klucz stosowany w wersji A5/1 nie jest 64-bitowy, lecz 54-bitowy: pierwsze dziesięć bitów to tzw. „niskie bity”, których zadaniem jest uproszczenie procesu. A5/2 ma za zadanie ułatwić zadanie tajnym służbom.

Wcześniej metoda hakowania A5/1 wykorzystywała łamanie lokalnie przechowywanych danych metodą siłową i wymagała tyle czasu, że informacja czasami traciła na wartości, zanim została zdobyta. Dzisiejsze komputery (a nawet nie dzisiejsze, bo stosowny dowód koncepcji został pokazany po raz pierwszy już w 2010 roku) mogą go zhakować w ciągu kilku sekund i obliczyć klucz przy pomocy tzw. „tęczowych tablic”. Zestaw tablic o wadze 1,7 TB może być przechowywany na szybkich dyskach SSD o wysokiej pojemności, które są stosunkowo tanie i powszechnie dostępne.

Atakujący działa pasywnie i nie emituje niczego bezprzewodowo, przez co nie można go wyśledzić. Zestaw narzędzi do hakowania klucza uzupełnia program Kraken z tęczowymi tabelami i zwykły telefon klasy „Nokia z kalkulatorem”. Wyposażony w taki arsenał, atakujący może podsłuchiwać rozmowy i przechwytywać, blokować lub zmieniać wiadomości SMS (dlatego nie można uważać uwierzytelniania dwuetapowego dla bankowości online jako „cyfrowej twierdzy”).

Posiadając klucz, atakujący może także przechwytywać połączenia i podszywać się pod ofiarę. Inną możliwością jest dynamiczne klonowanie. Oszust inicjuje żądanie połączenia wychodzącego do sieci komórkowej, ale w sesję jest zaangażowana także ofiara. Gdy sieć zwraca żądanie autoryzacji, atakujący przechwytuje je i kieruje do ofiary, uzyskując w ten sposób klucz Kc. Wówczas sesja z ofiarą zostaje zamknięta, a atakujący rozpoczyna własną sesję z siecią, podszywając się pod ofiarę.

Umożliwia to inicjowanie rozmów na koszt ofiary, wysyłanie wiadomości tekstowych na numery premium czy zarabianie na programach partnerskich dostawców treści. Metoda ta została użyta kiedyś w Moskwie: grupa osób jeździła w zatłoczone miejsca autem w celu masowego klonowania kart SIM i pobierania z telefonów niewielkich sum pieniędzy.

Przestępcom udało się pozostać niezauważonym przez dosyć długi czas: fałszywe operacje wyglądały tak, jakby były inicjowane przez legalnych użytkowników. Na oszustwo zwróciła uwagę podejrzanie duża liczba podobnych żądań na określony numer premium dostawcy treści w określonym zakresie stacji radiowej.

Aby szyfrować ruch pakietowy (GPRS/EDGE), wykorzystywany jest inny klucz Kc. Chociaż różni się on od klucza Kc używanego w ruchu telefonicznym, jest on obliczany przy użyciu tego samego algorytmu — GPRS-A5, znanego także jako GEA (GPRS Encryption Algorithm), który istnieje w postaciach GEA1, GEA2 i GEA3. Oznacza to, że można przechwycić nawet ruch odbywający się w ramach internetu mobilnego, jednak z uwagi na to, że obecnie wykorzystuje on zazwyczaj standard 3G i LTE, problem ten nie jest już taki poważny. Warto jednak pamiętać, że transmisja danych 2G wciąż jest używana przez wiele systemów telematycznych, np. bankomaty czy terminale obsługujące płatności kartowe (POS).

Atakom takim można zapobiec tylko w jeden sposób: korzystając z odporniejszego i aktualnego algorytmu A5/3, którego nie można złamać przy użyciu tęczowych tablic. Jednak, dostawcy sieci niechętnie stosują nową technologię: po pierwsze jest to kosztowne przejście, które nie przynosi dodatkowych korzyści (co oznacza inwestycję w coś niezbyt opłacalnego). Po drugie, większość dzisiejszych telefonów nie obsługuje A5/3 lub przynajmniej nie obsługuje ich poprawnie, co może prowadzić do powstawania zakłóceń.

Po trzecie, A5/3 nie zatrzyma atakujących przed podsłuchiwaniem abonentów: jeśli oszust użyje fałszywej stacji bazowej, będzie mógł sprawić, że telefon przejdzie na niższy algorytm szyfrowania, co ostatecznie pomoże w uzyskaniu klucza (który jest taki sam we wszystkich algorytmach!). Jeśli wszystko idzie zgodnie z planem, po co wydawać więcej pieniędzy i wysiłku, aby przejść na lepszy algorytm szyfrowania? Po czwarte, to jest kosztowne. Po piąte, to niesamowicie kosztowne.

Pocieszające jest to, że wszystkie opisane dzisiaj ataki wkrótce nie będą już nam zagrażać, bo era wirtualnych kart SIM i kart eSIM już się rozpoczęła. To nowe podejście pomoże naprawić przynajmniej część luk w zabezpieczeniach, które istnieją w dzisiejszych kartach SIM.