Podstawy bezpieczeństwa w sieci bezprzewodowej
Wprowadzenie
Prowadzone w Londynie siedmiomiesięczne badania pokazały, że 94% liczby
wykorzystywanych sieci WLAN była niedostatecznie zabezpieczona przed atakiem.
Jednostka Cybercrime, będąca oddziałem Międzynarodowej Izby Przemysłowo-Handlowej
(ang. International Chamber of Commerce) uznała, że jeżeli nawet sieci
bezprzewodowe są zabezpieczone, to zabezpieczenie ich jest słabe. Rośnie
popularność tzw. ruchomego hakingu: hakerzy poruszają się po dzielnicach
biurowych samochodami i próbują z ulicy penetrować należące do firm sieci
bezprzewodowe. Pozwala na to fakt, iż nawet z ulicy można odebrać sygnał.
W zeszłym roku pracownicy naukowi Uniwersytetu Kalifornijskiego w Berkeley,
Nikita Borisov, Ian Goldberg i David Wagner wykryli główne wady protokołu
WEP. Ponadto, w sierpniu 2001 roku, kryptografowie Scott Fluher, Itsik
Mantin i Adi Shamir opublikowali artykuł, których tematem była słabość
algorytmu szyfrującego RC4. Tymczasem protokół WEP bazuje na RC4. Krótko
potem, pod koniec sierpnia 2001 roku, studentowi Uniwersytetu Rice, Adamowi
Stubblefieldowi, oraz dwóm pracownikom badawczym laboratoriów firmy AT&T,
Johnowi Ioannidisowi oraz Avielowi D. Rubinowi udało się urzeczywistnić
tezy głoszone w tych dwóch publikacjach. Najgorsze, zaś było to, że niepotrzebny
był do tego celu specjalny sprzęt. Wszystko, czego potrzeba to komputer
PC wyposażony w bezprzewodową kartę sieciową wraz ze ściągniętymi z Internetu
zmodyfikowanymi sterownikami. Mając na wyposażeniu taki sprzęt, można
przechwycić kilkaset tysięcy pakietów danych.
Działanie protokołu WEP
Obecnie protokół WEP korzysta z 40- lub 104-bitowych kluczy oraz 24-bitowego
wektora inicjującego (IV). W efekcie klucz kodujący ma długość 64 lub
128 bitów.
Standard nie określa sposobu zarządzania kluczem; wymagane jest jedynie,
aby karta WLAN oraz punkt dostępowy korzystały z tego samego algorytmu.
W sieci lokalnej, zwyczajowo każdy użytkownik korzysta z tego samego tajnego
klucza. Algorytm RC4 rozwija krótki klucz WEP na nieskończony pseudolosowy
strumień kluczy. Aby zapobiec szyfrowaniu pakietów tym samym kluczem RC4,
generowanym "losowo" na podstawie identycznego klucza WEP, użytkownicy
WLAN wykorzystują różne wektory IV.
Przed wysłaniem pakietu danych obliczane są bity cyklicznej kontroli
nadmiarowości CRC-32 (ang. Cyclicy Redundancy Check), pozwalające skontrolować
integralności pakietu (ang. IC - Integrity Check). Celem tego postępowania
jest uzyskanie gwarancji, że haker nie ingerował w dane podczas transmisji.
Wykorzystując klucz WEP oraz wektor IV, algorytm RC4 generuje strumień
kluczy. Następnie wykorzystując funkcję XOR (exclusive OR - alternatywa
wykluczająca) WEP łączy dane oraz bity CRC-32 ze strumieniem kluczy w
tzw. chipertekst. Wektor inicjujący przesyłany jest w sposób jawny przed
zakodowanymi danymi. Odbiorca znając klucz WEP oraz wektor inicjujący
może odzyskać klucz RC4, a następnie odszyfrować dane za pomocą funkcji
XOR.
Słaby
punkt: Wektor inicjalizacji
Słabość protokołu szyfrującego WEP wynika ze słabej implementacji wektora
inicjującego. Na przykład, jeżeli haker użyje jako argumentów funkcji
XOR dwóch pakietów szyfrowanych z użyciem tego samego wektora inicjalizującego,
czyli mających identyczny klucz RC4, to będzie w stanie obliczyć klucz
WEP.
Wektor inicjalizujący ma długość 24 bitów. Przy wysyłaniu 1500-bitowych
pakietów z szybkością 11 Mb/s, na obciążonym punkcie dostępowym, wektor
inicjalizujący zostanie zduplikowany w czasie nie dłuższym od 5 godzin.
Zostanie w tym czasie przesłane maksymalnie 24 GB danych. Przy wykorzystaniu
notebooka istnieje realna możliwość zgromadzenia dwóch pakietów z identycznym
wektorem inicjalizującym, a w konsekwencji z identycznym kluczem RC4.
Standard nie określa sposobu generowania wektora inicjalizującego. Nie
wszyscy producenci implementują wektor inicjalizujący od długości 24 bitów.
W efekcie może zaistnieć sytuacja, w której szybciej nastąpi zduplikowanie
wektora inicjalizacji, co znaczy, że trzeba zgromadzić mniej pakietów.
Zapisując strumienie danych wysyłane przez różnych użytkowników w WLAN,
haker zgromadzi pakiety ze zduplikowanym wektorem inicjalizującym w jeszcze
krótszym czasie.
Fluhrer, Martin i Shamir odkryli również, że istnieją tzw. słabe wektory
inicjalizacji, naprowadzające na bity klucza z pięcioprocentową pewnością.
Liczbę pakietów ze słabymi wektorami inicjalizującymi, wystarczającą do
określenia klucza WEP, dostaje się po zapisaniu 5 do 6 milionów pakietów
(około 8.5 GB).
Sytuacja jest jeszcze łatwiejsza, jeżeli w przeciwieństwie do przypadku,
gdy wymagany jest format heksadecymalny klucza WEP, oprogramowanie WLAN
dopuszcza tworzenie klucza WEP ze znaków ASCII. Ponieważ w tej sytuacji
mogą być wykorzystane, jedynie zwykłe symbole i cyfry, liczba możliwych
kombinacji jest mniejsza. Rośnie prawdopodobieństwo trafienia w słaby
wektor inicjalizacji i do określenia klucza WEP potrzeba jedynie 2 milionów
pakietów.
Narzędzia
hakerskie w Internecie
Adam Stubblefield opisał w swoich publikacjach praktyczną próbę włamania
do sieci WLAN. Nie podał jednak informacji o wykorzystanym hakerskim oprogramowaniu.
Obecnie takie darmowe narzędzia dostępne są w Internecie. Podobnie do
programów wykorzystywanych przez Stubblefield, pracują one z kartami WLAN
wyposażonymi w chipset Pism-2. Modele dostępne w sklepach, wyposażone
w Pism-2 to między innymi: Compaq WL100, D-Link DWL-650, Linksys WPC11
oraz SMC 2632W. Wybór tego chipsetu został podyktowany istnieniem dla
niego sterowników pracujących pod kontrolą systemu Linux (WLAN-NG), co
pozwala zapisywać pakiety nie logując się do atakowanej sieci. Programy,
o których tu jest mowa, wyszukują słabych wektorów inicjalizacji i po
zapisaniu od 5 do 10 milionów pakietów wyznaczają klucz WEP w ciągu sekundy.
Aktywne
ataki też są możliwe
Ponieważ istnieje, opisana wyżej, możliwość przeprowadzenia niezawodnego
ataku pasywnego, poszukiwanie możliwości aktywnego ataku traci trochę
na znaczeniu. Atak aktywny można jednak wykorzystać do wprowadzenia informacji
do sieci WLAN.
Załóżmy, że haker zna oryginalne dane i rezultaty ich zaszyfrowania. Mógłby
on więc samodzielnie, wykorzystując funkcję XOR, dokonać zamiany danych
bez znajomości klucza. Odbiorca tej informacji zidentyfikuje ją jako poprawną.
Haker może również dokonać próby manipulacji nie samymi danymi, ale ich
docelowym adresem IP. Większość sieci LAN jest podłączona do Internetu.
Haker może, więc zmienić docelowy adres IP w taki sposób, aby dane wysyłane
ze stacji w bezprzewodowej sieci LAN były odszyfrowywane w punkcie dostępowym
i w postaci jawnej przychodziły do hakera poprzez Internet.
Efektywne
środki zaradcze
Nad zwiększeniem bezpieczeństwo protokołu WEP oraz nad opracowaniem nowych
algorytmów szyfrujących pracowały dwie firmy: RSA Security, twórca algorytmu
RC4 oraz Hifn (www.hifn.com), kalifornijska firma specjalizująca się w
rozwiązywaniu problemów bezpieczeństwa w Internecie. Firmy te ogłosiły,
że opracowały nowy algorytm szyfrujący RC4 Fast Packet Keying. Dla każdego
transmitowanego pakietu danych, generowane są szybko zmieniające się klucze
RC4. Obydwie strony wykorzystują 128-bitowy czasowy klucz RC4, (ang. TK
- Temporal Key). Każdy użytkownik używa różnych strumieni kluczy, ponieważ
TK jest podpięty do adresu nadawcy. Do tego dodawany jest 16-bitowy wektor
inicjalizujący, co w rezultacie daje 128-bitowy klucz RC4. Algorytm RC4
Fast Packet Keying został tak zaprojektowany, aby w istniejących sieciach
WLAN wystarczyło dokonać uaktualnienia oprogramowania firmowego oraz sterowników.
Cisco
idzie własną drogą
Cisco wprowadził wiele usprawnień w urządzeniach serii Aironet. Można
jednak korzystać z ich dobrodziejstw jedynie, gdy używa się urządzeń tej
firmy. Pierwszym krokiem w stronę zwiększenia bezpieczeństwa w sieci WLAN
jest wzajemne, rzadko jednostronne, uwierzytelnianie. Opracowany przez
Cisco protokół LEAP (ang. Lightweight Extensible Authentication Protocol)
umożliwia uwierzytelnianie przez serwer Cisco z zaimplementowanym protokołem
RADIUS (Access Control Server 2000 V2.6).
Do generowania odpowiedzi na wzajemne prośby, Cisco wykorzystuje metodę
dzielonego klucza. Nieodwracalne i niebezpośrednie algorytmy kluczujące
czynią niemożliwymi ataki bazujące na odzyskanych hasłach.
Cisco wykorzystuje dynamiczny przydzielany dla użytkownika oraz sesji
klucz WEP, który może być generowany przez system bez dodatkowych wysiłków
administratora. Użytkownik dla każdej sesji otrzymuje unikalny klucz sesji,
którego nie dzieli z żadnym innym użytkownikiem. Przed wysłaniem, rozgłaszany
klucz WEP jest szyfrowany protokołem uwierzytelniania LEAP. W powiązaniu
z Access Control Server 2000 2.6, możliwe jest ustanowienie wytycznych
dla powtarzanego uwierzytelniania. Użytkownicy muszą się regularnie uwierzytelniać
i przy każdym logowaniu przyznawany jest im nowy klucz sesji. Aby zneutralizować
działania hakerów wykorzystujących predefiniowane sekwencje oraz obliczających
na ich podstawie tablice deszyfrujące, każdej sesji przyporządkowywany
jest inny wektor inicjalizacji.
Przedstawione środki zapobiegawcze nie pozwalają zabezpieczyć się całkowicie,
ponieważ używane mechanizmy szyfrowania wektora IV oraz klucza WEP pozostają
niezmienione. Mimo to, ciągłe zmiany klucza redukują istotnie podatność
na ataki hakerów. Jakiekolwiek ataki bazujące na deszyfrowaniu tablic
skazane są na porażkę. Jeżeli zmiana klucza jest tak częsta, że zapisywane
pakiety nie wystarczają już na określenie klucza WEP to szanse na skuteczny
hakerski atak są praktycznie zerowe.
IEEE koncentruje
się na opracowywaniu i uaktualnianiu standardu WEP (www.ieee.org). W tym
standardzie algorytm RC4 będzie zastępowany przez nowy algorytm szyfrujący.
Szczegółowo dyskutuje się algorytm AES (Zaawansowany Standard Szyfrowania)
w trybie Office Codebook.
Poniżej
zostały przedstawione czynności, które należy wykonać w celu prawidłowego
zabezpieczenia komórki WLAN:
a. Wyłączyć w AP rozgłaszanie SSID, włączyć ukrywanie SSID o ile jest
to możliwe
b. Zmienić domyślne ustawienia (SSID, hasła, adres IP)
c. Włączyć szyfrowanie z kluczem WEP (najlepiej przy zastosowaniu najdłuższego
klucza)
d. Stosować trudne do odgadnięcia klucze WEP
e. Zastosować politykę częstej wymiany klucza WEP
f. Stosować SSID jako hasło. Stosować trudny do odgadnięcia SSID
g. Włączyć kontrolę dostępu na poziomie adresów MAC, nr IP, czy protokołów
h. Wyłączyć protokół DHCP
i. Stosować bezpieczne protokoły: IPSEC, SSH, 802.1X)
j. Aktualizować oprogramowanie kart sieciowych i AP
k. Zabezpieczyć AP przed fizycznym dostępem
l. Zainstalować firewalla i system IDS
m. Zastosować fałszywy punkt dostępowy w celu zmylenia przeciwnika
|