Mathy Vanhoef, autor ataku KRACK na sieci bezprzewodowe, ujawnił informacje o 12 lukach, które dotyczą różnych urządzeń bezprzewodowych. Wykryte problemy zostały opisane pod kryptonimem FragAttacks i obejmują praktycznie wszystkie powszechnie używane karty bezprzewodowe oraz punkty dostępu — spośród 75 przetestowanych urządzeń każde było podatne przynajmniej na jedną z opisanych metod ataku.
Problemy podzielono na dwie kategorie: 3 luki wykryto bezpośrednio w standardach Wi‑Fi i dotyczą one wszystkich urządzeń obsługujących aktualne standardy IEEE 802.11 (problemy te występują od 1997 roku). 9 luk dotyczy błędów i niedopracowań w konkretnych implementacjach stosów bezprzewodowych. Większe zagrożenie stanowi druga kategoria, ponieważ przeprowadzenie ataków wykorzystujących niedoskonałości standardów wymaga specyficznej konfiguracji lub wykonania przez ofiarę określonych działań. Wszystkie luki ujawniają się niezależnie od używanych protokołów zabezpieczeń Wi‑Fi, w tym także przy korzystaniu z WPA3.
Większość wykrytych metod ataku pozwala napastnikowi na wstrzykiwanie ramek L2 do chronionej sieci, co umożliwia ingerencję w ruch ofiary. Jako najbardziej realistyczny scenariusz wskazuje się podmianę odpowiedzi DNS w celu przekierowania użytkownika na host kontrolowany przez atakującego. Podano również przykład wykorzystania luk do obejścia translacji adresów na routerze bezprzewodowym i uzyskania bezpośredniego dostępu do urządzenia w sieci lokalnej lub ominięcia ograniczeń zapory sieciowej. Druga część luk, związana z obsługą fragmentowanych ramek, umożliwia pozyskanie danych o ruchu w sieci bezprzewodowej oraz przechwycenie danych użytkownika przesyłanych bez użycia szyfrowania.
Badacz przygotował demonstrację pokazującą, jak można wykorzystać podatności do przechwycenia hasła przesyłanego podczas łączenia się ze stroną przez nieszyfrowany protokół HTTP. Pokazano także, jak zaatakować inteligentne gniazdko sterowane przez Wi-Fi i wykorzystać je jako punkt wyjścia do dalszego ataku na nieaktualizowane urządzenia w sieci lokalnej, które mają niezałatane luki (na przykład udało się, omijając NAT, zaatakować nieaktualizowany komputer z Windows 7 w sieci wewnętrznej).

Aby wykorzystać te podatności, atakujący musi znajdować się w zasięgu docelowego urządzenia bezprzewodowego, aby wysłać ofierze specjalnie spreparowany zestaw ramek. Problemy dotyczą zarówno urządzeń klienckich i kart bezprzewodowych, jak i punktów dostępowych oraz routerów Wi-Fi. Ogólnie jako obejście ochronne wystarczy stosowanie HTTPS w połączeniu z szyfrowaniem ruchu DNS za pomocą DNS over TLS lub DNS over HTTPS. Do ochrony nadaje się również zastosowanie VPN.
Za najgroźniejsze uznaje się cztery podatności w implementacjach urządzeń bezprzewodowych, które w prosty sposób pozwalają na podstawienie własnych niezaszyfrowanych ramek:
- Podatności CVE-2020-26140 i CVE-2020-26143 umożliwiają podstawianie ramek w niektórych punktach dostępowych i kartach bezprzewodowych w Linux, Windows i FreeBSD.
- Podatność CVE-2020-26145 pozwala na traktowanie rozgłoszeniowych, niezaszyfrowanych fragmentów jako pełnoprawnych ramek w macOS, iOS, FreeBSD i NetBSD.
- Podatność CVE-2020-26144 pozwala na przetwarzanie niezaszyfrowanych, ponownie złożonych ramek A-MSDU z EtherType EAPOL w Huawei Y6, Nexus 5X, FreeBSD i LANCOM AP.
Pozostałe podatności w implementacjach są głównie związane z problemami pojawiającymi się podczas przetwarzania fragmentowanych ramek:
- CVE-2020-26139: umożliwia przekierowywanie ramek z flagą EAPOL wysłanych przez nieuwierzytelnionego nadawcę (dotyczy 2 z 4 sprawdzonych punktów dostępowych, a także rozwiązań opartych na NetBSD i FreeBSD).
- CVE-2020-26146: umożliwia ponowne składanie (reassembling) zaszyfrowanych fragmentów bez sprawdzania kolejności numerów sekwencyjnych.
- CVE-2020-26147: umożliwia ponowne składanie mieszanych fragmentów szyfrowanych i nieszyfrowanych.
- CVE-2020-26142: pozwala traktować fragmentowane ramki jako pełne ramki (dotyczy OpenBSD i modułu bezprzewodowego ESP12-F).
- CVE-2020-26141: brak weryfikacji TKIP MIC dla fragmentowanych ramek.
Problemy w specyfikacjach:
- CVE-2020-24588 — atak na ramki agregowane (flaga „is aggregated” nie jest chroniona i może zostać podmieniona przez atakującego w ramkach A-MSDU w WPA, WPA2, WPA3 i WEP). Jako przykład wykorzystania ataku wskazuje się przekierowanie użytkownika na złośliwy serwer DNS lub obejście NAT.

- CVE-2020-245870 — atak polegający na mieszaniu kluczy (dopuszczany jest ponowny montaż fragmentów zaszyfrowanych przy użyciu różnych kluczy w WPA, WPA2, WPA3 i WEP). Atak umożliwia ustalenie danych wysyłanych przez klienta, na przykład określenie zawartości Cookie podczas połączenia przez HTTP.

- CVE-2020-24586 — atak na pamięć podręczną fragmentów (standardy obejmujące WPA, WPA2, WPA3 i WEP nie wymagają usuwania fragmentów, które już trafiły do pamięci podręcznej, po ponownym połączeniu z siecią). Umożliwia to ustalenie danych wysyłanych przez klienta i podstawienie własnych danych.

Aby przetestować stopień podatności urządzeń na te problemy, przygotowano specjalny zestaw narzędzi oraz gotowy obraz Live do utworzenia rozruchowego nośnika USB. W Linux problemy występują w bezprzewodowym stosie sieciowym mac80211, w niektórych sterownikach bezprzewodowych oraz w firmware wczytywanym do kart bezprzewodowych. W celu usunięcia luk zaproponowano zestaw poprawek obejmujący stos mac80211 oraz sterowniki ath10k/ath11k. W przypadku niektórych urządzeń, takich jak karty bezprzewodowe Intel, dodatkowo wymagane jest zainstalowanie aktualizacji firmware.
Testy typowych urządzeń:

Testy kart bezprzewodowych w Linux i Windows:

Testy kart bezprzewodowych we FreeBSD i NetBSD:

Producenci zostali poinformowani o problemach już 9 miesięcy temu. Tak długi okres embarga wynikał ze skoordynowanego przygotowywania aktualizacji oraz opóźnień przy opracowywaniu zmian w specyfikacjach przez organizacje ICASI i Wi‑Fi Alliance. Początkowo ujawnienie informacji planowano na 9 marca, jednak po ocenie ryzyka zdecydowano się przesunąć publikację o kolejne dwa miesiące, aby dać więcej czasu na przygotowanie poprawek z uwagi na złożoność wprowadzanych zmian oraz trudności wynikające z pandemii COVID-19.
Warto zauważyć, że mimo embarga firma Microsoft w marcowej aktualizacji Windows przedterminowo usunęła część luk. Ujawnienie informacji przesunięto o tydzień przed pierwotnie planowanym terminem, a Microsoft nie zdążył lub nie chciał wprowadzać zmian do gotowej do publikacji planowej aktualizacji, przez co stworzył zagrożenie dla użytkowników innych systemów, ponieważ atakujący mogli uzyskać informacje o lukach poprzez inżynierię wsteczną zawartości aktualizacji.
Źródło: opennet.ru



