( Nie )bezpieczne Wi‑Fi
Wi-Fi, czyli technologia bezprzewodowej transmisji danych w sieciach komputerowych oparta na standardzie 802.11 b/g, zdobywa coraz większą popularność. Asortyment urządzeń do budowy sieci Wi-Fi jest coraz szerszy i każdy znajdzie w nim coś dla siebie, co zaspokoi jego potrzeby. Przykładowo, oferowane przez TP S.A. urządzenie livebox działa w technologii Wi-Fi, dzięki czemu użytkownicy neostrady nie są ograniczeni długością kabla. Technologia ta zapewnia pełną mobilność użytkowników oraz znacznie ogranicza koszty instalacji sieci, gdyż nie jest wymagana pajęczyna kabli. Niestety, obok wielu zalet posiada ona jedną, aczkolwiek znaczną wadę - niski poziom bezpieczeństwa. W dalszej części artykułu zostaną skrótowo przedstawione protokoły odpowiedzialne za bezpieczeństwo sieci Wi-Fi, a także szczegółowo zostanie przedstawiony atak na sieć Wi-Fi oraz przedstawione zostaną aspekty prawne dotyczące przedmiotowego tematu.
W bieżącym roku mija dokładnie 10 lat od opracowania pierwszego standardu 802.11, definiującego lokalną bezprzewodową sieć komputerową WLAN ( Wireless Local Area Network ), popularnie zwaną siecią Wi-Fi ( Wireless Fidelity ). Standard ten definiował aż 3 warstwy fizyczne sieci, przy czym dwie z nich wykorzystywały fale radiowe w paśmie 2,4 GHz które różniły się techniką modulacji i rozpraszania widma. Trzecia warstwa fizyczna, wykorzystująca promieniowanie podczerwone, nigdy nie była stosowana w praktyce. Niezależnie od warstwy fizycznej maksymalna przepustowość sieci zgodnej z 802.11 wynosi 2 Mb/s.
Dwa lata później, w 1999 roku, zatwierdzone zostały dwa standardy sieci bezprzewodowych. Standard 802.11b był wstecznie kompatybilny ze standardem 802.11, wykorzystującym jako medium fale radiowe w paśmie 2,4 GHz, i zapewnia przepustowość 11 Mb/s. Natomiast 802.11a zawierał zupełnie nowatorskie rozwiązanie, wykorzystujące stosowaną w telewizji cyfrowej technikę modulacji OFDM ( Orthogonal Frequency-Division Multiplexing ) oraz pasmo częstotliwości 5 GHz, co pozwala na osiągnięcie przepustowości 54 Mb/s.
Kolejne opracowanie spod znaku Wi-Fi ujrzało światło dzienne w 2003 roku. Był to standard 802.11g, który oferuje przepustowość 54 Mb/s w paśmie 2,4 GHz.
Najnowszym opracowaniem jest szkic ( draft ) standardu 802.11n, który wykorzystując technikę MIMO ( Multiple Input, Multiple Output ) zapewnia przepustowość 600 Mb/s. Technologia MIMO polega na jednoczesnej transmisji kilku strumieni danych, co znacznie przyspiesza szybkość transmisji. Osiągnięcie najwyższej zdefiniowanej w standardzie szybkości realizowane jest poprzez równoczesną transmisje 4 strumieni danych, każdy o przepływności 150 Mb/s. Ratyfikacji tego opracowania w postaci standardu można spodziewać się jeszcze w tym roku.
Protokoły ( nie )bezpieczeństwa
O protokołach bezpieczeństwa sieci Wi-Fi napisano już setki artykułów oraz kilka książek. W skrócie, pierwszym był protokół WEP, który miał zapewnić poziom bezpieczeństwa równoważny do sieci przewodowych. Jednak go nie zapewniał i dlatego w 2003 roku Wi-Fi Alliance opracowało protokół WPA, który stał się podstawą zatwierdzonego w 2004 roku standardu 802.11i definiującego protokół WPA2.
Protokół WEP rozwija 64- lub 128-bitową sekwencję w nieskończony strumień szyfrujący, który "XORuje" paczkę danych. Problemem protokołu WEP jest struktura wejściowej sekwencji bitowej. Otóż tylko 24 bity tej sekwencji, zwane wektorem inicjującym IV, są dynamicznie generowane, a pozostałe 40 lub 104 bity to statyczna wartość zwana kluczem WEP i definiowana przez użytkownika. Oznacza to, że sekwencja wejściowa może przyjąć jedną z blisko 17 milionów wartości. Zakładając, że sieć pracuje w standardzie 802.11g z szybkością transmisji 54 Mb/s, w ciągu 1 sekundy transmitowanych jest około 10 000 pakietów. Oznacza to, że w ciągu 1 700 sekund zostanie powtórnie wykorzystana ta sama sekwencja szyfrująca. Podsumowując te wywody matematyczne, w sieci 802.11g złamanie klucza WEP możliwe jest w ciągu około 30 minut, przy czym czas ten ulega wydłużeniu wraz ze spadkiem obciążenia sieci.
W protokole WPA opisana powyżej luka została wyeliminowana. Klucz WEP został zastąpiony kluczem PSK, który wykorzystywany jest przez protokół TKIP do wygenerowania klucza TK, a dopiero ten wraz z 24-bitowym wektorem inicjującym jest rozwijany w sekwencję szyfrującą. Tak więc potencjalny intruz nie ma możliwości poznania wartości klucza PSK na podstawie przechwyconych danych. Niestety, protokół WPA posiada dziurę w procesie autentykacji użytkowników przyłączających się do sieci, która pozwala na poznanie wartości klucza PSK.Do ataku
W celu udowodnienia przedstawionej powyżej teorii, przeprowadziliśmy mały eksperyment. Zbudowaliśmy sieć Wi-Fi, składającą się z punktu dostępowego oraz dwóch klientów ( komputer stacjonarny oraz palmtop ). W sieci tej był współdzielony Internet z sieci telewizji kablowej. Trzeci komputer ( notebook ) stanowił narzędzie intruza, którego celem było uzyskanie nieautoryzowanego dostępu do sieci.
Na komputerze intruza zainstalowany został program aircrack, umożliwiający poznanie wartości klucza WEP oraz PSK. Program dostępny jest pod adresem www.aircrack-ng.org - http://www.aircrack-ng.org, aktualna wersja opatrzona jest numerem 0.6.2.
Program aircrack współpracuje tylko z wybranymi modelami kart sieci bezprzewodowej opartymi na konkretnych modelach chipsetów, dla których dedykowane są specjalne sterowniki - zestawienie tych modeli wraz z linkami do sterowników znajduje się na stronie internetowej programu.
Użyta w przykładowej sieci karta DWL-G650 firmy D-Link została zbudowana na chipsecie AR5001X+ firmy Atheros i wymagała zainstalowania The WildPackets Atheros Wireless Driver v4.2.1 dostępnego na stronie Wildpackets.com - http://www.wildpackets.com/support/downloads/drivers.
Po zainstalowaniu powyższego sterownika karta pracowała w trybie monitorowania, czego nie zapewniają standardowe sterowniki. Tryb ten polega na nieodrzucaniu pakietów przeznaczonych dla innych kart sieciowych, czyli w efekcie na przechwytywaniu wszystkich otrzymywanych pakietów.
Pogram aircrack dla systemu Windows składa się z dwóch narzędzi:
@ airodump-ng - program do przechwytywania pakietów,
@ aircrack-ng - program do łamania klucza WEP lub PSK przetwarzający przechwycone pakiety.
W przypadku wersji przeznaczonej dla systemu Linux dostępne jest jeszcze jedno narzędzie, w postaci programu aireplay-ng, które między innymi umożliwia wstrzykiwanie pakietów ARP do sieci bezprzewodowej oraz anulowanie uwierzytelniania istniejących klientów. Wstrzykiwanie pakietów ARP ma na celu sztuczne generowanie ruchu w sieci bezprzewodowej, co znacznie przyspiesza łamanie klucza WEP, natomiast anulowanie uwierzytelniania istniejących klientów przyspiesza łamanie klucza WPA-PSK.
W przykładowej sieci został skonfigurowany protokół WEP w wersji 128-bitowej. Ruch w sieci był generowany automatycznie, poprzez odtwarzanie na komputerze stacjonarnym obrazu telewizyjnego udostępnionego w Internecie na stronie http://www.see.tv ( do wyboru kilkaset stacji telewizyjnych z kilkudziesięciu krajów ) oraz prowadzenia pogaduszek internetowych z wykorzystaniem programu MobileGadu, będącego mobilną wersją komunikatora Gadu-Gadu przeznaczoną dla systemu Windows Mobile.Uruchomienie programu airodump-ng w systemie Windows sprowadza się do podania odpowiedzi na kilka pytań, zgodnie z poniższym rysunkiem.
Po skonfigurowaniu program airodump-ng przystępuje do nasłuchiwania wybranych kanałów ( lub jednego wybranego kanału ) a przechwycone pakiety zapisuje do wskazanego pliku ( out.ivs ).
W przykładowej sieci program wykrył na kanale 4 punkt dostępowy posiadający identyfikator SSID o nazwie "domowa siec bezprzewodowa", posiadający adres MAC 00:11:95:08:65:50 oraz skojarzonych z nim 2 użytkowników sieci bezprzewodowej o adresach MAC 00:11:0A:2B:24:03 oraz 00:0E:2E:A3:C5:9D.
Kolejny krok to uruchomienie narzędzie aircrack-ng z konsoli systemowej. W tym celu należy kliknąć przycisk "Start", z menu wybierać "Uruchom...", w oknie "Uruchamianie" wpisać "cmd" i zatwierdzić klawiszem [Enter]. Następnie w konsoli systemowej, korzystając z polecenia cd ( ang. change dictionary ), należy przejść do katalogu, w którym zlokalizowany jest pakiet aircrack, a potem do podkatalogu bin, z którego uruchomić należy program aircrack-ng wydając polecenie: aircrack-ng out.ivs. Spowoduje to uruchomienie narzędzia aircrack-ng, które na podstawie danych gromadzonych w pliku out.ivs odzyska klucz WEP.
Po wykonaniu tych czynności należy uzbroić się w cierpliwość w oczekiwaniu na wyliczenie wartości klucza WEP. Może to zająć od kilkunastu minut nawet do kilku godzin w zależności od ruchu generowanego w sieci bezprzewodowej.
Jak wynika z powyższej ilustracji, ustalenie 104-bitowego klucza WEP zajęło programowi aircrack 39 minut i 11 sekund. Wymagało to zebrania 81 235 pakietów danych szyfrowanych niepowtarzalnymi wektorami IV oraz przetestowania 71 178 735 wartości klucza WEP.W wyniku przeprowadzonego ataku intruz poznaje wartość klucza szyfrującego WEP, który wraz z wartością identyfikatora SSID stanowi wystarczające dane do uzyskania dostępu do sieci bezprzewodowej Wi-Fi zabezpieczonej protokołem WEP.
Złamanie klucza WEP wymaga zebrania znacznej ilości pakietów danych szyfrowanych niepowtarzalnymi wektorami IV i dopiero na ich podstawie możliwe jest wyliczenie wartości klucza WEP. Natomiast w przypadku protokołu WPA, wystarczające jest przechwycenie danych tylko z jednego procesu przyłączania użytkownika do sieci, czyli pojedynczego procesu autentykacji. Jest to wystarczająca ilość danych, niezbędnych do odtworzenia wartości klucza PSK.
Znaczne przyspieszenie złamania klucza PSK oferuje, dostępne tylko dla systemu Linux, narzędzie aireplay-ng, które wykorzystuje anulowanie uwierzytelniania istniejących klientów. Użytkownik, którego uwierzytelnienie zostanie anulowane, automatycznie przeprowadza ponownie proces uwierzytelniania, rejestrowany przez narzędzie airodump-ng do pliku z rozszerzeniem *.cap ( rejestracja danych niezbędnych do wyliczenia wartości klucza WEP odbywa się do pliku z rozszerzeniem *.ivs ). Dane z tego pliku przetwarzane są przez narzędzie aircrack-ng, który na podstawie słownika ustala wartość klucza PSK.
Pakiet przeznaczony dla systemu Windows nie posiada narzędzia aireplay-ng, przez co potencjalny intruz zmuszony jest do oczekiwania na proces uwierzytelniania.
W naszym przypadku złamanie klucza PSK zajęło 1 sekundę, gdyż po prostu "trafiliśmy" na proces autentykacji i wartość klucza znajdowała się w słowniku.
Zgodne z prawem
Jak wynika z powyższych opisów ataków, poznanie wartości kluczy szyfrujących wykorzystywanych przez mechanizmy bezpieczeństwa sieci Wi-Fi to kwestia od kilku sekund do kilkudziesięciu minut. Dlatego też na etapie konfiguracji sieci bezprzewodowej należy poświęcić szczególną uwagę na konfiguracje protokołów bezpieczeństwa i wszelkich dostępnych narzędzi podwyższających to bezpieczeństwo, np. filtracja klientów sieci.
Dodatkową zachętą dla potencjalnych intruzów jest fakt, iż polskie prawo nie przewiduje sankcji karnych za złamanie zabezpieczeń sieci Wi-Fi. Zgodnie z art. 267 § 1 Kodeksu karnego każdy, kto bez uprawnienia uzyskuje informację dla niego nie przeznaczoną, otwierając zamknięte pismo, podłączając się do przewodu służącego do przekazywania informacji lub przełamując elektroniczne, magnetyczne albo inne szczególne jej zabezpieczenie, podlega grzywnie, karze ograniczenia wolności albo pozbawienia wolności do lat 2. Oznacza to, że samo złamanie zabezpieczeń nie jest przestępstwem. Przestępstwem jest natomiast przeglądanie zasobów zaatakowanej sieci.