20.06.2013 | 22:48

Adam Haertle

Domyślne hasło hotspota IOS banalne do złamania

Wygoda użytkownika często stoi w sprzeczności z bezpieczeństwem. Jeśli dodamy do tego nieudany algorytm losowania haseł, może się okazać, że odgadnięcie „losowego” hasła hotspota uruchomionego na iPhonie to kwestia niecałej minuty.

Hotspoty tworzone „w biegu” stają się coraz popularniejsze. Nie trzeba już hakować swoich telefonów, by móc na lotnisku czy dworcu podłączyć do sieci komputer swój i kolegi. Wystarczy uruchomić hotspota, wpisać odpowiednie hasło i można korzystać z dobrodziejstwa mobilnego internetu na wszystkich urządzeniach obsługujących WiFi. Domyślnie skonfigurowane szyfrowanie WPA2 daje użytkownikom duże poczucie bezpieczeństwa – jednak nie zawsze jest ono uzasadnione.

Mam WPA2, to jestem bezpieczny

Siła szyfrowania WPA2 tkwi w sile hasła, użytego do generowania klucza szyfrującego. O ile powoli odchodzące do lamusa szyfrowanie WEP można było złamać bez względu na poziom złożoności hasła użytkownika, o tyle nowsze standardy uniknęły błędów poprzedników i odpowiednio skomplikowane hasło sprawia, że włamanie do sieci staje się bardzo trudne lub wręcz niemożliwe. Co jednak zrobić, gdy producent oprogramowania proponuje hasło łatwe i przewidywalne?


Hasło proponowane przez IOS

Hasło proponowane przez IOS

Jak duży jest słownik?

Niemieccy naukowcy z uniwersytetu w Norymberdze postanowili przyjrzeć się metodzie tworzenia hasła, proponowanego użytkownikowi przez system operacyjny IOS w momencie uruchamiania hotspota. Zauważyli, że wszystkie generowane hasła składają się ze słów o długości od 4 do 6 znaków oraz 4 cyfr. Po zebraniu pierwszej próbki sprawdzili, że wszystkie z nich pochodzą z listy 52500 słów, stanowiącej podstawę słownika jednej z wersji gry Scrabble (później okazało się, że prawdopodobnie dostawca Apple oraz twórca gry korzystali z tej samej listy źródłowej). Próba ataku typu bruteforce na tak skonstruowane hasła (525,000,000 możliwości) trwała 49 minut na maszynie wyposażonej w kartę graficzną AMD Radeon HD 6990. Naukowcy uznali, że trudno ten atak nazwać praktycznym, ponieważ z reguły hotspoty tworzone są na krótki czas. Próbowali zatem ograniczyć listę haseł, które trzeba było zweryfikować.

W tym celu skorzystali z techniki inżynierii wstecznej dla poznania zamkniętego kodu Apple, odpowiedzialnego za generowanie hasła. Okazało się, że mimo posiadania dostępu do pliku, zawierającego słownik używany do generowania haseł, odczytanie jego zawartości było bardzo trudne. Plik, autorstwa firmy Lernout & Hauspie Speech Products, oprócz objęcia restrykcyjnymi prawami autorskimi, był także przechowywany w bardzo egzotycznym formacie. Zamiast zatem analizować format danych, naukowcy podeszli do problemu inaczej. Wywołali 100 milionów razy odpowiednią funkcję tworzącą hasło i przeanalizowali otrzymane wyniki.

Wylosujmy tylko co 20 słowo

Ku ich zaskoczeniu okazało się, że już po 250 tysiącach wywołań przestali obserwować nowe słowa. Podsumowali wszystkie 100 milionów prób i zauważyli, że funkcja, generująca hasło, korzysta jedynie z 1842 słów ze słownika zawierającego 52500 haseł. Z prawdopodobieństwem 100% wygenerowane losowo słowo musi być jednym z 1842. Ograniczyło to znacząco przestrzeń ataku – zamiast sprawdzać 525 milionów kombinacji, teraz wystarczało już jedynie 18,4 miliona. To jednak nie koniec optymalizacji procesu łamania hasła. Analiza statystyczna pokazała, że ze względu na brak prawdziwej losowości w doborze słowa użytego w haśle, dystrybucja tych 1842 słów jest silnie zaburzona. 10 najczęściej „wylosowanych” słów występuje z 10-krotnie większym prawdopodobieństwem niż pozostałe słowa.  Wykorzystując tę wiedzę oraz trochę mocniejszą maszynę (4×7970) naukowcy zredukowali czas potrzebny do złamania hasła hotspota do 50 sekund.


Rozkład prawdopodobieństwa wystąpienia poszczególnych słów w haśle

Rozkład prawdopodobieństwa wystąpienia poszczególnych słów w haśle

Czy ten atak może wystąpić w rzeczywistości?

Przeprowadzenie ataku na hotspot IOS nie jest aż tak niemożliwe, jak wydaje się na pierwszy rzut oka. Zacznijmy od tego, że taki hotspot bardzo łatwo jest zidentyfikować – wystarczy mac adres interfejsu WiFi, który pozwoli ustalić, czy mamy do czynienia z urządzeniem Apple. Po drugie, by zacząć łamać hasło sieci, atakujący potrzebuje pierwszych pakietów negocjacji połączenia klienta z siecią. Nie musi jednak czekać, aż ktoś podłączy się w jego obecności – może, wysyłając odpowiednie pakiety, odłączyć od sieci istniejącego użytkownika i poczekać, aż automatycznie połączy się on ponownie. Po trzecie, atakujący nie musi nosić ze sobą klastra GPU do łamania haseł – może skorzystać np. z odpłatnej usługi CloudCracker, która pewnie wkrótce obejmie (jeśli już nie obejmuje) pulę wszystkich haseł generowanych przez IOS .

Jakie będą skutki

Poznanie hasła do cudzego hotspota może mieć wiele negatywnych konsekwencji dla ofiary ataku. Po pierwsze, atakujący może wykorzystywać połączenie internetowe ofiary. W najlepszym wypadku skutkiem będzie zwiększony transfer danych, jednak łącze to może być użyte np. do wykonania nielegalnych operacji na koncie bankowym czy aukcyjnym, wpędzając posiadacza telefonu w kłopoty. Drugim możliwym skutkiem jest utrata poufności przesyłanych treści. Atakujący, znając hasło dostępu do sieci, może zarówno przechwycić wiadomości w niej przesyłane, jak i przeprowadzić atak typu MiTM, podszywając się pod zaufane usługi. Trzecim potencjalnym ryzykiem związanym z ujawnieniem hasła do sieci bezprzewodowej jest uzyskanie przez atakującego dostępu do usług, świadczonych lokalnie przez urządzenie posiadacza sieci. Użytkownicy czasami korzystają np. z aplikacji do przesyłania plików, domyślnie ufających urządzeniom w sieci lokalnej i udostępniających swoje interfejsy bez autoryzacji. Także przeprowadzenie jailbreak’u urządzenia mogło zostawić na nim otwartą usługę SSH, z domyślnym hasłem roota (alpine).

Krótka rekomendacja

Nie ufajcie hasłom, proponowanym przez IOS i ustawiajcie swoje – najlepiej długie i takie, których nie ma w słowniku. Powinno wystarczyć.

Powrót

Komentarze

  • 2013.06.20 23:59 Michal Sajdak

    Adam, z ciekawości – czy Apple jakoś się odniosło do sprawy? (pacz, albo w ogóle info, że nie będą łatać bo to taki „użyteczny” ficzer?;-)

    Odpowiedz
    • 2013.06.24 16:40 Adam

      Nie natrafiłem na żaden oficjalny komentarz. Może będzie „silent patch” :)

      Odpowiedz
  • 2013.06.21 09:48 mTi

    wygląda jak zwalony algorytm losowania ze słownika, za mało randomu przy starcie, jakoś dziwnie mi się to kojarzy ze słynnym debianowym getRandomNumber -> return 4 :)

    Odpowiedz
    • 2015.04.02 18:55 Łukasz

      Komputer (telefon) nie ”losuje” , przez działanie z wykorzystaniem czasu w telefonie (komputerze) lub innuch czynników liczbowyć (jak np. ilość rdzeni procesora zapisana w urządzeniu, ilość pamięci (na pliki lub RAM) zainstalowanej , itp) wylicza z wykorzystaniem pewnego działania zapisany ”numer (np słowa w słowniku) ” który jest potem wykorzystany do podania np hasła
      ”prawdziwy random” uzyskuje się w Generatorach Liczb Losowych

      Odpowiedz

Zostaw odpowiedź do Łukasz

Jeśli chcesz zwrócić uwagę na literówkę lub inny błąd techniczny, zapraszamy do formularza kontaktowego. Reagujemy równie szybko.

Domyślne hasło hotspota IOS banalne do złamania

Komentarze