W lutym tego roku opublikowany został artykuł [1] opisujący "AirSnitch" nowy atak na sieci WiFi. Jego technika jest niezwykle sprytna. W bezpieczeństwie IT, w przypadku spektakularnych ataków, które nagłaśniane są przez media, mamy zazwyczaj do czynienia z wykorzystaniem jednej poważnej podatności oprogramowania, a bardzo rzadko z wykryciem jakiegoś fundamentalnego błędu w samych założeniach algorytmów chroniących dane (najczęściej dotyczy to algorytmów kryptograficznych). AirSnitch działa inaczej - twórcy bardzo sprytnie wykorzystują nie tyle dziury, co pewne "niedopowiedzenia" w standardzie oraz przyjęte przez producentów "drogi na skróty" w implementacji protokołów WiFi. Żadna z nich nie jest jeszcze podatnością, ale wykorzystane razem stały źródłem bardzo poważnego zagrożenia dla bezpieczeństwa.
Zasady działania AirSnitch'a są bardzo techniczne i ich zrozumienie wymaga pewnej wiedzy w zakresie funkcjonowania sieci Ethernet, rutingu IP oraz standardów 802.11 (WiFi). Można je jednak podsumować następująco: AirSnitch wykorzystuje: (1) "ziemię niczyją" leżacą pomiędzy chronionymi kryptograficznie protokołami WiFi, a przenoszonymi przez nie datagramami IP; (2) brak ustandaryzowania tzw. izolacji klientów (z którą każdy producent sprzętu WiFi radzi sobie po swojemu); (3) wadliwą implementacją wewnętrznego softwarowego przełącznika znajdującego się w każdym AP, który obsługuje kilka sieci WLAN lub ten sam WLAN w obydwu zakresach 2.4/5GHz (co jest dosć typowe); (4) pewne słabości związane z kryptograficzną ochrona ramek rozgłaszanych w sieciach WLAN.
Aby skutecznie przeprowadzić atak "AirSnitch" konieczny jest dostęp do dowolnej sieci jaką rozgłasza dany AP. Wydaje się to poważnym ograniczeniem, uniemożliwiającym z pozoru przeprowadzenie ataku przez "outsiderów". Okazuje się jednak, że atak jest także możliwy w dość typowej sytuacji, gdy np. w biurze AP (lub sam zestaw AP) udostępnia sieć dla gości, do której dostęp chroniony jest prostym współdzielonym hasłem (WPA2-PSK lub WPA3-SAE) i jednocześnie zamkniętą sieć chronioną silnymi mchanizmami typu WPA2/3-Enterpise (gdzie każdy klient ma własne poświadczenie kryptograficzne). Dzięki AirSnitch sam dostęp do sieci "gościnnej" pozwala na przejęcie ruchu w sieci zamkniętej.
Charakter ataków.
Co udaje się w praktyce osiągnąć atakującemu wykorzystujacemu AirSnitch? Zakres ataku zależy od zestawu niedociagnieć implementacyjnych w oprogramowaniu danego modelu AP i obejmować może:
- Przekierowanie i przechwycenie ruchu pochodzącego do klienta, przeznaczonego dla klienta lub w obydwu kierunkach (co oczywiście oznacza także odszyfrowanie danych, gdyż całość komunikacji WLAN jest szyfrowana).
- Wprowadzenie do sieci danych rzekomo pochodzących od danego klienta (data injection).
- Przełamanie izolacji różnych BSSID obsługiwanych przez AP.
- Podstawienie fałszywego AP.
Podatne systemy
Twórcy AirSnitch przeprowadzili z powodzeniem ataki na sieci bazujące zarówno na AP klasy SOHO jak i Enterprise. Przetestowano podatność systemów takich producentów jak: Netgear, Tenda, D-Link, ASUS, LANCOM, Cisco, Ubiquiti, a także na system Open Source OpenWrt 24.10. Choć nie każdy z tych ruterów posiadał pełen zestaw podoatności umożliwiajacych atak, to na każdym udało się zrealizować przechwytywanie ruchu do lub z AP, a w niektórych przypadkach zarówno ruchu upstream jak i downstream.
Obecnie bardzo zasadne jest pytanie jak z atakami realizowanymi przez Airsnitch radzą sobie inni producenci sprzętu klasy Enterprisie i jak szybko udostepnione zostaną poprawione wersje oprogramowania. Odpowiedź na to pytanie poznamy zapewne niebawem.
Szczegóły techniczne
Atak Airsnitch bazuje na wadliwej implementacji w trzech obszarach działania sieci WLAN.
Izolacja klientów
Jest to nieustandardyzowany zestaw mechanizmów polegający na uniemożliwieniu klientom w sieci (sieciach) WiFi na bezpośrednią komunikację. Klienci są separowani i mogą za pośrednictwem AP przekazywać dane poza sieć WLAN, ale nie wewnątrz niej. Izolacja obejmuje zarówno klientow połączonych do danego BSSID jak i klientow z różnych BSSID obsługiwanych przez dany AP. Izolacja realizowana jest poprzez szyfrowanie danych (co jest częścią standardów WiFi) oraz blokowanie możliwości przekazywania pakietów między klientami na poziomie L2 i/lub L3. Jedynym standardem bezpośrednio wspierajacym izolację klientów jest Hotspot 2.0 (Passpoint) [2], który zaleca stosowanie unikalnych dla klienta kluczy podczas asocjacji z siecią oraz ogranicza stosowanie niektorych typów rozgłaszania.
AirSnitch przełamuje izolację klientow wykorzystując zestaw technik, częściowo już wcześniej znanych, a częściowo nowych:
- Atakujący podłączony do sieci WPA2-PSK może przechwycić komunikaty asocjacji klienta z AP i obliczyć jego klucz sesji. Umożliwia to zarówno przechwytywanie ruchu jak i podszywanie się pod klienta.
- W przypadku sieci z WPA3-SAE przechwycenie asocjacji nie jest możliwe, atakujacy może jednak podszywać się pod legalny AP przy pomocy podrabianych komunikatów zmiany kanału.
- W przypadku sieci z ochroną WPA2/3-Enterprise powyższe techniki nie działają z uwagi na stosowanie unikalnych kluczy dla każdego klienta.
Atak na GTK i IGTK
GTK (Group Temporal Key) i IGTK (Key Integrity Group Temporal Key) używane są odpowiednio do szyfrowania oraz zapewnienia integralności komunikatów rozgłaszanych. Przekazywane są przez AP do klienta podczas fazy asocjacji z AP. AirSnitch wykorzystuje nową podatność polegającą na wykorzystaniu tych kluczy przez atakującego (normalnie tylko AP szyfruje dane przy pomocy GTK). Aby przekonać klienta do odbioru komunikatu atakujący podstawia jako adres nadawcy adres MAC należący do AP. Fałszywe komunikaty przekazywane są drogą radiową, nie mogą być więc zablokowane przez AP. Technika ta pozwala na przykład na transmisję fałszywych komunikatów ARP co w konsekwencji pozwala na przekierowanie ruchu z klienta do atakującego. Twórcy AirSnitch odkryli także, że standard Passpoint w niektórych sytuacjach (reasocjacja i szybka asocjacjia) nie wymaga randomizacji klucza GTK, co także umożliwia jego przechwycenie. Podobnie, wykryto inne niedociagnięcia uozliwiające przechwycenie IGTK.
Ataki na przełączanie i ruting
Sytuacje, w której AP obsługuje kilka BSSID i/lub ten sam BSSID na zakresach 2.4 i 5 GHz są obecnie typowe. Należało by oczekiwać, że w takim przypadku klienci należący do różnych BSSID i/lub pracujacy na różnych zakresach radia będą izolowani. Izolacja ta powinna być realizowana zarówno na poziomie L2 (MAC) jak i L3 (IP). Eksperymenty przeprowadzone przez twórców AirSnich pokazały jednak, że tak nie jest. Oprogramowanie AP najczęściej pozwala na wymuszenie rutingu IP łamiącego izolację klientów, a osiągnąć to można poprzez proste podstawienie w ramce WiFi adresu MAC rutera i adresu IP izolowanego klienta. W efekcie ruter "odbija" ramkę do odbiorcy i izolacja IP zostaje złamana.
Kolejny atak polega na wysłaniu ramki z MAC adresem rozgłoszeniowym. Ramka taka zostanie przez AP zaszyfrowana przy pomocy GTK przypisanego do danego BSSID. Przekazany pakiet na poziomie IP nie jest jednak datagramem rozgłaszanym, a zwykłym datagramem unicast zawierającym dane przeznaczone dla atakujacego klienta. Atakujący nie musi tu znać GTK gdyż to AP szyfruje w tym przypadku dane.
[1] https://papers.mathyvanhoef.com/ndss2026-airsnitch.pdf
[2] WiFi Alliance, Passpoint Specification Ver. 3.3, 2020, IEEE 802.11u

