Bezpieczeństwo telefonii komórkowej (2): Ataki na system GSM

W pierwszej części cyklu przedstawiliśmy model bezpieczeństwa GSM i omówiliśmy rodzaje stosowanych zabezpieczeń. W obecnym artykule przyjrzymy się atakom na te zabezpieczenia i ich wpływowi na ewolucję modelu bezpieczeństwa sieci komórkowych.

W pierwszej części cyklu przedstawiliśmy model bezpieczeństwa GSM i omówiliśmy rodzaje stosowanych zabezpieczeń. W obecnym artykule przyjrzymy się atakom na te zabezpieczenia i ich wpływowi na ewolucję modelu bezpieczeństwa sieci komórkowych.

Ponad 120 lat temu Auguste Kerckhoffs, jeden z pionierów kryptografii i kryptoanalizy, opublikował swoje założenie dotyczące bezpieczeństwa systemów kryptograficznych. Mówi ono, iż model bezpieczeństwa (włączając w to poszczególne algorytmy) powinien być publicznie jawny, a bezpieczeństwo systemu powinno opierać się całkowicie na zastosowanych kluczach kryptograficznych. Projektanci systemu GSM starali się zaprojektować bezpieczną sieć komórkową, z funkcjami bezpieczeństwa bazującymi na tzw. silnych algorytmach. Niestety, wybrali oni filozofię "security through obscurity"1 – opisane w poprzednim artykule algorytmy A3, A5 i A8 były opracowywane jako tajne i nie zostały nigdy opublikowane.

Bezpieczeństwo telefonii komórkowej (2): Ataki na system GSM

Działanie algorytmu COMP128

W pierwszym okresie komercyjnego działania systemu GSM moc obliczeniowa potrzebna do złamania tych algorytmów była dostępna jedynie instytucjom rządowym nielicznych państw. Niestety, po kilku latach użytkowania telefonii GSM niektóre z tajnych specyfikacji przedostały się w formie przecieków do wiadomości publicznej i stały się obiektem analizy – z jednej strony środowisk naukowych zajmujących się kryptografią, a z drugiej hakerów wykorzystujących słabości systemów komputerowych. Jednocześnie olbrzymi postęp, jaki dokonał się w dziedzinie komputerów osobistych PC (szczególnie w zakresie pojemności pamięci i wielkości mocy obliczeniowej), umożliwił przeprowadzanie ataków przeciwko zabezpieczeniom systemu nie tylko przez różnego rodzaju organizacje, ale także przez osoby prywatne.

Ataki na zabezpieczenia systemu GSM

W kryptografii kluczowym pojęciem określającym poziom zabezpieczenia jest długość używanych parametrów kryptograficznych. Dla systemu GSM odpowiednie długości parametrów stosowanych w omówionych procedurach bezpieczeństwa wynoszą:

  • klucz identyfikacyjny abonenta Ki: 128 bitów;
  • zapytanie autentykacyjne RAND: 128 bitów;
  • odpowiedź autentykacyjna SRES: 32 bity;
  • klucz szyfrujący Kc: 64 bity.

Dodatkowo, jak pokazaliśmy wcześniej, cały model bezpieczeństwa GSM bazuje na tajności klucza identyfikacyjnego Ki. Ujawnienie tego klucza oznacza dla konkretnego abonenta złamanie podstawowych zabezpieczeń systemowych (a więc możliwość nieuprawnionego dostępu do przypisanych mu usług, jak również zniesienie poufności informacji). Znajomość klucza Ki daje potencjalnemu włamywaczowi nie tylko pełny dostęp do połączeń (włączając w to deszyfrowanie informacji), ale pozwala też podszywać się pod legalnego abonenta, np. przeprowadzając rozmowy na jego koszt.

Przyjrzyjmy się zatem słabym punktom modelu bezpieczeństwa GSM, a także różnym rodzajom ataków (zarówno już przeprowadzonych, jak i potencjalnych) przeciwko używanym w systemie algorytmom.

Złamanie algorytmu autentykacji i generowania klucza szyfrującego (klonowanie kart SIM)

Algorytmy bezpieczeństwa związane z autentykacją (A3) i generowaniem klucza szyfrującego (A8) zostały w specyfikacjach GSM pozostawione do uznania operatorów poszczególnych sieci komórkowych. Oznaczało to, że teoretycznie każdy z operatorów mógłby używać innej pary A3 i A8. Niestety, przytłaczająca większość operatorów (poza nielicznymi wyjątkami) wybrała wspólny dla wszystkich "podwójny" algorytm A3/A8, znany pod nazwą COMP128, obliczający zarówno SRES, jak i Kc w jednym przebiegu (por. ramka na str. 28).

W 1998 r. Stowarzyszenie Wytwórców Kart Inteligentnych oraz ISAAC2 Security Research Group uniwersytetu Berkeley w Kalifornii ogłosiły odtworzenie pełnego algorytmu COMP128 i znalezienie w nim słabego punktu. Pokazali oni, że osoby lub organizacje posiadające fizyczny dostęp do karty SIM mogą odtworzyć (na podstawie analizy kryptograficznej) odpowiedni klucz identyfikacyjny Ki i sklonować kartę (por. ramka na str. 30). Umożliwiłoby to oszustwa polegające na przeprowadzaniu rozmów na koszt właściciela karty poprzez wprowadzenie wyprodukowanego klonu do dowolnego terminala GSM i "udawanie" w ten sposób legalnego użytkownika.

Odtworzenie klucza Ki z karty SIM implikuje również całkowity dostęp do informacji przekazywanej przez właściciela karty drogą radiową, z uwagi na łatwość obliczenia klucza Kc i deszyfrowania połączeń.

Klonowanie kart SIM metodą przedstawioną w ramce na str. 30 wymaga fizycznego dostępu do karty ofiary ataku przez konkretny czas. Nie jest to niemożliwe, ale jednak bardzo utrudnione z uwagi na fakt, że karta znajduje się w telefonie, który użytkownik nosi praktycznie zawsze przy sobie. Dodatkowo, karta SIM jest zwykle zabezpieczona kodem PIN (4 – 8 cyfr) ustanowionym przez właściciela i blokuje się po jego trzykrotnym nieprawidłowym wprowadzeniu. Odblokowanie jest możliwe jedynie za pomocą kodu PUK (PIN Unblocking Key), który przypisany jest na stałe do każdej karty, ale jego dziesięciokrotne błędne wprowadzenie powoduje trwałe zablokowanie karty.

Teoretycznie istnieje jednak alternatywna metoda ataku, polegająca na odtworzeniu klucza Ki metodą bezprzewodową. Atak tego rodzaju zasadza się na fakcie, że zgodnie z normami GSM karta SIM musi odpowiedzieć na każde zapytanie autentykacyjne skierowane do niej drogą radiową przez sieć. Jeśli więc sygnał wysłany z legalnej stacji bazowej zostanie zdominowany przez silniejszy sygnał pochodzący z fałszywej stacji bazowej, to taka fałszywa stacja może "bombardować" kartę seriami zapytań autentykacyjnych, w których wyniku uzyskane zostaną dane potrzebne do odtworzenia klucza Ki.

Atakowi takiemu podlegać może dowolny telefon GSM zalogowany do sieci. Ofiara ataku może być wybrana w sposób losowy na podstawie przypadkowo wygenerowanego numeru TMSI, którym telefon wywoływany jest przez stację bazową3. Brak procedury odwrotnej autentykacji (stacji bazowej przez telefon) całkowicie uniemożliwia telefonowi GSM wykrycie tego rodzaju sytuacji. Dodatkowo, atakujący nie musi znać PIN-u karty SIM, ponieważ wprowadza go w dobrej wierze właściciel telefonu w momencie logowania do sieci. Uzyskanie danych umożliwiających obliczenie klucza Ki jest tutaj kwestią ok. kilku godzin, dlatego nie jest realne zastosowanie ataku ciągłego (nawet gdyby abonent nie przemieszczał się w sieci, pozostając cały czas w zasięgu atakującej stacji bazowej, bateria telefonu uległaby szybko rozładowaniu przy ciągłej transmisji). Nie jest to jednak konieczne – atak można prowadzić z przerwami, np. po kilkanaście minut dziennie, rozciągając go na wiele dni – chodzi jedynie o zebranie wystarczającej liczby danych. Z powyższego opisu widać też jasno, że atak bezprzewodowy jest bardzo trudny do wykrycia.

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200