r   e   k   l   a   m   a
r   e   k   l   a   m   a

Wi-Fi podatne na atak – tak działa KRACK. Linux i Android szczególnie zagrożone

Strona główna AktualnościBEZPIECZEŃSTWO

Mathy Vanhoef z uniwersytetu KU Leuven przedstawia szczegółowe informacje dotyczące ataku KRACK – key reinstallation attack. To prawdziwa katastrofa, największe od lat zagrożenie bezpieczeństwa sieci bezprzewodowych, działające przeciwko wszystkim współczesnym sieciom Wi-Fi. Udany KRACK pozwala napastnikom na wykradanie wrażliwych informacji, wstrzykiwanie danych i manipulowanie nimi, a jego skutki są najbardziej dotkliwe dla urządzeń linuksowych i z Androidem 6.0+.

Jak wiadomo, handshake, czyli wymiana informacji między dwoma urządzeniami, jest integralną częścią procesu uwierzytelnienia w protokole bezpieczeństwa WPA2. Kiedy klient chce dołączyć do zabezpieczonej sieci Wi-Fi, wymiana taka służy potwierdzeniu, że zarówno klient jak i punkt dostępowy posiadają właściwe dane uwierzytelniające, tj. wstępnie rozprowadzone hasło sieci. Wykorzystywana tu procedura 4-way handshake służy też do stworzenia klucza szyfrującego, który posłuży do zaszyfrowania dalszego ruchu sieciowego.

KRACK polega na nakłonieniu ofiary do reinstalacji już wykorzystywanego klucza. Oczywiste jest, że klucz powinien być wykorzystany tylko jednorazowo. Protokół WPA2 tego jednak nie zapewnia. Odpowiednio manipulując wiadomościami kontrolnymi protokołu uwierzytelniania można zainstalować już wcześniej wykorzystywany klucz, co powoduje, że powiązane z nim parametry, takie jak numer transmisyjny pakietu (nonce) i numer odebranego pakietu (licznik odtworzeń) są resetowane do swojej startowej wielkości.

r   e   k   l   a   m   a

Szczegóły tego ataku zostały opisane w artykule pt. Key Reinstallation Attacks: Forcing Nonce Reuse in WPA2, który zostanie oficjalnie przedstawiony przez Vanhoefa podczas konferencji Computer and Communications Security. Możemy jednak pokrótce wyjaśnić, co tu się właściwie dzieje.

Otóż podczas negocjowania nowego klucza szyfrującego, klucz zostaje zainstalowany po odebraniu trzeciej wiadomości z sekwencji. Sęk w tym, że nic nie gwarantuje odebrania wiadomości, może ona przecież gdzieś zaginąć. Punkt dostępowy, jeśli nie otrzyma właściwej odpowiedzi, wyśle trzecią wiadomość po raz kolejny. Klient może więc otrzymać tę wiadomość wielokrotnie, a za każdym razem zainstaluje ten sam klucz szyfrujący, resetując przy tym wartość nonce i licznika odtworzeń.

Napastnik może więc wymusić resetowanie nonce, gromadząc i odtwarzając trzecią wiadomość uwierzytelniania 4-way handshake. Co się dzieje dalej zależy już od konkretnego rodzaju wymiany informacji. Na przykład przeciwko AES-CCMP napastnik może odtwarzać pakiety i je deszyfrować, przechwytując następnie pakiety TCP i wstrzykując w nie złośliwe dane. Przeciwko WPA-TKIP pakiety mogą zostać odtworzone, odszyfrowane i sfałszowane. To samo dotyczy nowego rozszerzenia GCMP dla sieci WiG, jak również ataków na grupowy klucz, PeerKey, TDLS, szybkie handshake BSS oraz WNM Sleep Mode Response.

Dlaczego jednak zresetowanie nonce pozwala na odszyfrowanie danych? Dochodzi otóż do sytuacji, w której ten sam klucz szyfrujący zostaje użyty z wartościami nonce, które już kiedyś były użyte. Oznacza to, że wszystkie protokoły szyfrujące WPA2 korzystają z tego samego strumienia klucza przy szyfrowaniu pakietów. Jeśli wiadomość ponownie zaszyfrowana tym samym strumieniem kluczy ma znaną treść, to odtworzenie strumienia kluczy staje się trywialne. W praktyce nie jest trudno wymusić przesłanie wiadomości o znanej treści, znane są też (trudne jednak) techniki odszyfrowania pakietów o treści nieznanej, ale możliwej do przewidzenia (tekst w języku naturalnym).

Na koniec mamy fatalną wiadomość dla użytkowników Androida i Linuksa. Oni zagrożeni są w sposób szczególny. Chodzi o to, że autorzy klienta Wi-Fi wpa_supplicant, powszechnie używanego w Linuksie i Androidzie 6.0+, jakoś dziwnie wczytali się w specyfikację standardu Wi-Fi. Mówi ona, że klucz szyfrujący ma zostać usunięty z pamięci po jego pierwszym zainstalowaniu. Gdy wpa_supplicant otrzyma ponownie wysłaną trzecią wiadomość w trakcie 4-way handshake, zainstaluje zerowy klucz szyfrujący zamiast rzeczywistego – zerowy, ponieważ przed chwilą został wyzerowany z pamięci. Oznacza to, że przechwytywanie i manipulowanie ruchem sieciowym wysyłanym przez urządzenia z Linuksem i Androidem jest trywialne.

Zgłoszone przez badaczy łącznie 10 luk w WPA2 otrzymało numery od CVE-2017-13077 do CVE-2017-13088. W gestii producentów pozostaje ich wdrożenie. Pamiętajmy – to problem przede wszystkim po stronie klientów. Większość routerów może nie potrzebować aktualizacji, co najwyżej dotyczyć one będą ich trybu klienckiego.

Poprawki wprowadzane do WPA2 zachowują wsteczną kompatybilność, więc załatany klient może wciąż rozmawiać z niezałatanym punktem dostępowym. Łatki po prostu zapewniają, że klucz jest instalowany tylko raz. Czekajcie na aktualizacje – praktycznie wszystkie wspierane urządzenia i systemy powinny niebawem zostać uodpornione na KRACK.

© dobreprogramy
r   e   k   l   a   m   a
r   e   k   l   a   m   a

Komentarze

r   e   k   l   a   m   a
r   e   k   l   a   m   a
Czy wiesz, że używamy cookies (ciasteczek)? Dowiedz się więcej o celu ich używania i zmianach ustawień.
Korzystając ze strony i asystenta pobierania wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.