Preorder drugiego tomu książki sekuraka: Wprowadzenie do bezpieczeństwa IT. -15% z kodem: sekurak-book

Hackowanie kart SIM apokalipsą mobilnego bezpieczeństwa?

21 lipca 2013, 22:54 | Aktualności | komentarzy 7

Serwis Forbes.com ostrzegł właśnie przed interesującymi podatnościami odkrytymi przez Karstena Nohla. Błędy oprogramowania oraz słabości kryptograficzne pozwalają najprawdopodobniej na zdalne przejęcie całkowitej kontroli nad sporym odsetkiem kart SIM. Spójrzmy, czym grozi taki scenariusz.

SIM

Karta SIM (ang. Subscriber Identity Module) to dobrze wszystkim znana karta inteligentna, której głównym zadaniem jest identyfikowanie oraz uwierzytelnianie abonenta usług komórkowych.

To co jest już mniej oczywiste, to fakt, że karta ta jest swego rodzaju minikomputerem i zawiera między innymi pamięć ROM oraz RAM. ROM zawiera system operacyjny oraz preinstalowane oprogramowanie, a cały układ jest zdolny do wykonywania apletów Javy dzięki wykorzystaniu technologii Java Card.

Java Card to platforma pozwalająca na uruchamianie specjalnie przygotowanych apletów Javy właśnie w środowisku kart inteligentnych i jest standardem wspieranym przez praktycznie wszystkie wyprodukowane do tej pory (około 6 miliardów) karty SIM.

Operatorzy, na przykład w celu zaktualizowania informacji zgromadzonych na karcie, mają możliwość zdalnego uruchamiania apletów Java Card. Dzieje się to z wykorzystaniem metody znanej jako programowanie OTA (ang. Over-the-air programming). W praktyce uruchomienie takiego programu jest wywołane przesłaniem przez operatora specjalnie przygotowanej i niewidocznej dla abonenta, binarnej wiadomości SMS.

Podatność

Protokół OTA weryfikuje przesłane aplety z wykorzystaniem metod kryptograficznych. Jeśli podpis (w tym wypadku chodzi najprawdopodobniej o skrót przesłanych danych wyznaczony za pomocą klucza współdzielonego) jest błędny, karta odmawia wykonania poleceń i w niektórych przypadkach odpowiada błędem, który sam jest podpisany (zawiera skrót wiadomości) kluczem zapisanym na karcie SIM. Każda z kart dysponuje własnym unikalnym kluczem, który jest wykorzystywany przez operatora właśnie w procesie zdalnego uruchamiania programów.

Jak się okazało, na podstawie odpowiedzi karty, Nohl był w wielu przypadkach w stanie odzyskać klucz szyfrujący. Jest to możliwe dzięki temu, że część operatorów wykorzystuje w swych kartach standard symetrycznego szyfrowania DES (ang. Data Encryption Standard), który został opracowany w 1975 roku i od lat nie jest już uznawany za zapewniający wystarczający poziom bezpieczeństwa.

DES -- funkcja „F"

DES — funkcja „F”

Będąc już w posiadaniu odpowiedniego klucza, potencjalny intruz jest w stanie przesłać do karty SIM i wykonać w jej środowisku dowolny aplet. Wykradanie danych, niekontrolowane rozsyłanie kosztownych wiadomości SMS, możliwość zdalnego sklonowania karty SIM, czy nawet podsłuchiwanie rozmów w czasie rzeczywistym, to tylko niektóre z zagrożeń związanych z tego typu atakiem.

Nohl znalazł również podatność w samym środowisku uruchomieniowym Java Card, a dokładniej w implementowanej przez nie piaskownicy (ang. sandbox) ograniczającej swobodę uruchamianych aplikacji. Dzięki temu przesłane złośliwe aplety mają nieograniczoną możliwość działania.

Reasumując, znając wyłącznie numer telefoniczny skojarzony z podatną karta SIM, w ciągu kilku minut możliwe jest przejęcie całkowitej kontroli nad docelowym urządzeniem.

Apokalipsa mobilnego bezpieczeństwa?

Do tej pory bezpieczeństwo kart SIM nie było zbyt często kwestionowane, a głównym zagrożeniem dla użytkowników usług komórkowych zdawał się być malware infekujący systemy operacyjne samych urządzeń.

Oczywiście powyższy scenariusz ataku (w praktyce niezależny od modelu używanego telefonu czy innego urządzenia mobilnego!) brzmi bardzo poważnie, na chwilę obecną nie ma jednak żadnej pewności co do ilości podatnych kart SIM oraz zakresu operatorów stosujących przestarzałe standardy kryptograficzne.

W trakcie swych badań Nohl przetestował około 1000 kart SIM i na tej podstawie oszacował, że podatnych na opisany atak może być około pół miliarda urządzeń. Wiadomo też, że operatorzy pracują już nad poprawkami mającymi wyeliminować podatności, a do tej pory nie są znane przypadki praktycznego wykorzystania tego typu ataków.

Badacz ponadto szacuje, że przy wykorzystaniu upublicznionych obecnie informacji, opracowanie praktycznego ataku zajęłoby co najmniej 6 miesięcy. Na chwilę obecną z pewnością nie ma więc powodów do paniki.

Wszystkie szczegóły swych odkryć Nohl zaprezentuje już niedługo w trakcie zbliżającej się konferencji Black Hat USA 2013.

– Wojciech Smol, (wojciech.smol<at>sekurak.pl)

Spodobał Ci się wpis? Podziel się nim ze znajomymi:



Komentarze

  1. Adam

    Zaszyfrować przewidywalny tekst kluczem DES 56 bitów – mistrzostwo. Ciekawe, czy wśród operatorów, używających tak archiwalnych technik, są też europejscy dostawcy.

    Odpowiedz
    • Adam,
      Niczego nie musimy tutaj nawet przewidywać. W komunikacie o błędzie przesyłanym przez kartę w odpowiedzi na niepoprawny aplet otrzymujemy również sygnaturę tegoż komunikatu. Mamy więc wiadomość i jej sygnaturę, odpalamy tęczowe tablice i w ciągu minuty mamy klucz…

      Odpowiedz
  2. Michal

    Co to jest 'dobrze wszystkim znana karta inteligenta’?
    Nie powinno byc: „…inteligentNa karta…”

    Odpowiedz
    • Michal,
      Poprawione, tego typu bugi możesz też podsyłać bezpośrednio na maila podanego w podpisie.

      Odpowiedz
  3. > Błędy oprogramowania oraz słabości kryptograficzne pozwalają najprawdopodobniej na zdalne przejęcie całkowitej kontroli nad sporym odsetkiem kart SIM.
    W pracy jakis miesiac temu zostalismy poinformowani o tym bledzie, oszacowalismy ze ok. 2% kart jest podatne. Zanim karta zaloguje sie do sieci jest kilkadziesiat warunkow, i wszystkie z nich musi przejsc pomyslnie. Niektore sa nakladane przez telefon, a kolejne przez operatora. Jesli nie przejdzie jednego warunku z obu etapow, karta nie zaloguje sie. Dla okolo 85% uzywanych kart (ktorych szacuje sie na 7miliardow), nie daloby sie uzywac teczowych tablic. RT musialaby miec rekord na kazdy counter w karcie SIM, kazdy klucz DESa (2^40), a potem na kazdy 3DES czyli 2^192.
    Wiekszym problemem jest rodzaj karty SIM, potencjalnie wiekszym niebezpieczenstwem sa karty 2G, ktorych jest nadal sporo na rynku, a ich bezpieczenstwo zostalo zakwestionowane kilka lat temu.
    btw. te karty, ktore mozna hackowac metoda wyzej nie byly sprzedawane w Europie, przynajmniej nikt z firmy ich na tym rynku nie widzial.

    Odpowiedz
  4. yy

    @agilob:
    to jeszcze tylko napisz gdzie pracujesz.. :]

    Odpowiedz
  5. Michał

    No ale czy da się użyć karty SIM jako karty inteligentnej? W sensie tak by stracić możliwość używania jej w telefonie, ale zyskać bardzo tanią kartę inteligentną. Można na alledrogo kupić zestaw czystych kart inteligentnych, ale zastanawia mnie czy jak mam stare nie używane karty SIM to czy mogę je jakoś skasować i używać jako kart inteligentnych? Wgrałbym sobie certyfikat i używał takiej do odblokowywania komputera.

    Odpowiedz

Odpowiedz