KRACK – Key Reinstallation Attack
Napisał: Patryk Krawaczyński
16/10/2017 w Bezpieczeństwo 1 komentarz. (artykuł nr 643, ilość słów: 305)
M
athy Vanhoef oraz Frank Pissens z KU Leuven odkryli lukę, która wykorzystuje błąd w poczwórnym ucisku dłoni standardu 802.11i (WPA2). Nie jest to błąd kryptograficzny, ale błąd protokołu (dość oczywisty i trywialny). Kiedy klient łączy się z siecią, punkt dostępowy w pewnym momencie wyśle losowe “klucze” w celu rozpoczęcia szyfrowania transmisji. Ponieważ tego rodzaju pakiety mogą zostać utracone w transmisji – mogą one być wielokrotnie powtarzalne. To, co może zrobić atakujący to po prostu wielokrotnie wysyłać tego rodzaju pakiety – potencjalnie, nawet kilka godzin po pierwszej negocjacji. Za każdorazowym wykonaniem tej czynności zresetuje on “strumień klucza” do początkowych wartości.
W tym momencie błąd protokołu staje się błędem kryptograficznym. Skoro jesteśmy w stanie uzyskać dwa strumienie kluczy w tej samej pozycji początkowej – to wiemy, jak przełamać szyfrowanie. Czyli poprawką tego błędu będzie akceptowanie tylko pierwszego takiego pakietu i ignorowanie duplikatów. Dla posiadania pełnego obrazu warto zapoznać się z oryginalną pracą odkrywców luki, w której znajdziemy również listę wersji podatnych systemów. Matthew Green również podjął się odpowiedzi na pytanie: Jak do tego doszło, że błąd ten został okryty dopiero teraz skoro proces uścisku dłoni w WPA został oficjalnie uznany za bezpieczny?
Ze względu na fakt, że jest to błąd w protokole – to podatne na podsłuchanie transmisji (oraz w niektórych ograniczonych przypadkach ataki wstrzykiwania) są zarówno urządzenia oferujące usługę WiFi, jak i klienci z niej korzystający. Oczywiście nasza transmisja nie zostanie podsłuchana, jeśli wewnątrz sieci korzystamy z SSL/TLS lub VPN. Niemniej jednak zalecana jest aktualizacja oprogramowania, jak tylko zostanie wydana poprawka dla naszego urządzenia/systemu podłączonego do/udostępniającego sieci WiFi.
Więcej informacji: Key Reinstallation Attacks Breaking WPA2 by forcing nonce reuse
Naprawa CVE-2017-13080 w jądrze Linuksa.