Przedstawiając problem bezpieczeństwa sieci bezprzewodowych należy na wstępie stwierdzić, że sieci te nie są sieciami bezpiecznymi [14]. W związku z powyższym pojawia się pytanie: Czy można wykorzystywać sieci bezprzewodowe, które z zasady swego działania narażone są na liczne ataki z zewnątrz? Naszym zdaniem można wykorzystywać sieci bezprzewodowe do stosunkowo bezpiecznego przesyłania informacji pod warunkiem zachowania pewnych środków ostrożności. Najważniejszym aspektem mającym wpływ na bezpieczeństwo danych przesyłanych w dowolnej sieci (nie tylko bezprzewodowej) jest znajomość możliwych do wystąpienia zagrożeń. Wiedza ta umożliwia wprowadzenie odpowiedniej polityki bezpieczeństwa w sieci, co zdecydowanie zwiększy jej bezpieczeństwo. W przypadku sieci kablowych uzyskanie dostępu do sieci możliwe jest wyłącznie poprzez fizyczne uzyskanie dostępu do kabli sieciowych, czy urządzeń dostępowych takich jak switch. Bez wykorzystania specjalistycznych ( czyli bardzo drogich i trudno dostępnych) urządzeń podsłuchowych nie ma możliwości innego włączenia się do sieci. W takim wypadku bezpieczeństwo sieci uzależnione jest od zabezpieczenia przewodów sieciowych.
W warunkach biurowych jest to zadanie bardzo proste. Znacznie trudniej jest ograniczyć dostęp do sieci bezprzewodowych, które ze względu na wykorzystywane medium transmisyjne ( fale radiowe) nie są ograniczane warunkami administracyjnymi ( trudno wyobrazić sobie sieć radiową, która funkcjonuje w pomieszczeniu o wymiarach 5x10m, a poza tym pomieszczeniem nie jest w żadnym punkcie dostępna). Wymusza to stosowanie innego rodzaju zabezpieczeń. Oczywiście istnieją rozwiązania ograniczające zasięg terytorialny sieci np. Klatka Faradaya, lecz są to rozwiązania bardzo drogie wykorzystywane w instytucjach specjalnego znaczenia (np. wojsko). Wiemy już, że praktycznie nie możemy ukryć sieci bezprzewodowej przed potencjalnym atakiem z zewnątrz. Co należy zrobić, żeby go przynajmniej utrudnić?
9.1.Tablica adresów fizycznych MAC
Istnieje kilka typowych metod zabezpieczania bezprzewodowych sieci radiowych. Pierwszą z nich jest stosowanie tablicy adresów fizycznych MAC. Każde urządzenie dostępowe umożliwia włączenie filtrowania adresów fizycznych MAC urządzeń, które się z nim łączą. Zastosowanie tablicy umożliwia wpisanie wszystkich urządzeń, które powinny mieć możliwość uzyskania połączenia z danym urządzeniem dostępowym. Urządzenie, którego adres MAC nie znajduje się na liście nie ustanowi połączenia z punktem dostępowym. Funkcja ta działa w sposób następujący: każdy klient urządzenia dostępowego wysyła żądanie podłączenia się do sieci. Informacja taka zawiera adres fizyczny MAC danego klienta. Punkt dostępowy odbiera żądanie i porównuje otrzymany adres fizyczny MAC klienta z wzorcami adresów przechowywanymi w tablicy. Jeśli na liście dopuszczonych adresów znajduje się sprawdzany aktualnie adres MAC, to punkt dostępowy umożliwia połączenie, w przeciwnym wypadku żądanie połączenia jest ignorowane. Zabezpieczenie to ogranicza możliwość uzyskania dostępu do sieci bezprzewodowej. Niestety nie jest to ograniczenie całkowicie pewne. Istnieje oprogramowanie umożliwiające śledzenie całego ruchu obsługiwanego przez dowolne urządzenie dostępowe (dla systemu operacyjnego Linux jest to np. Kismet). Oprogramowanie to umożliwia uzyskanie adresów fizycznych MAC klientów łączących się z danym punktem dostępowym. Dysponując listą prawidłowych adresów fizycznych MAC można bez najmniejszego problemu uzyskać dostęp do danego access pointa. Wystarczy w tym celu zmienić adres fizyczny MAC karty sieciowej, która ma posłużyć do połączenia się z danym punktem dostępowym. Punkt dostępowy nie jest w stanie wykryć intruza w sytuacji, gdy jakaś karta sieciowa podszywa się pod prawidłowego klienta. Dodatkowo istnieje możliwość jednoczesnej pracy dwóch kart sieciowych o tym samym adresie fizycznym. Jedynym możliwym do zaobserwowania zjawiskiem może być zmniejszenie prędkości transmisji danych. Jest to jednak trudne do wykrycia bez specjalnego oprogramowania.
9.2.Kodowanie WEP
Kolejnym sposobem zabezpieczenia sieci bezprzewodowej jest użycie kodowania WEP ( Wired Equivalent Privacy). Jest to najprostsza metoda kodowania transmisji oparta na wykorzystaniu identycznego klucza dla wszystkich podłączanych do danego urządzenia dostępowego klientów. Największą wadą tego rozwiązania jest brak możliwości automatycznej zmiany klucza. Oznacza to, że w przypadku zmiany klucza w urządzeniu dostępowym należy dokonać jego zmiany we wszystkich urządzeniach klienckich. Dodatkowo implementacja kodowania WEP w urządzeniach standardu 802.11x ułatwia stosunkowo szybkie jego złamanie [3]. Rysunek 9.1 przedstawia stronę konfiguracji urządzenia dostępowego w trybie WEP.
W zależności od typu urządzenia istnieje możliwość wybrania długości klucza kodującego 64, 128 lub 256 bitów. Wbrew oczekiwaniom błędy w implementacji kodowania powodują, że zwiększenie długości klucza zwiększa bezpieczeństwo sieci w nieznaczny sposób [3]. Warto jednak wykorzystywać największą możliwą długość klucza (wszystkie urządzenia muszą mieć możliwość jego obsługi). Złamanie klucza WEP wymaga przechwycenia kilku GB danych przesyłanych poprzez sieć bezprzewodową, co może oznaczać czas nasłuchiwania od kilku do kilkunastu godzin. Jest to dużo w sytuacji, gdyby klucze wymieniane były dosyć często. W praktyce jednak zmiany kluczy – jeśli w ogóle następują – dokonywane są bardzo rzadko. Przykładowym programem umożliwiającym odkrycie klucza jest program AirSnort dla systemu operacyjnego Linux. Umożliwia on pracę w locie tzn. bezpośrednie dekodowanie ramek przechwytywanych przez bezprzewodową kartę sieciową lub z wykorzystaniem pliku ze zgromadzonymi przechwyconymi pakietami danych. Rysunek 9.2 przedstawia program AirSnort w trakcie dekodowania klucza WEP.
Protokół WEP nie jest pewnym zabezpieczeniem sieci bezprzewodowej, lecz w połączeniu z tablicą adresów MAC tworzy wystarczającą zaporę dla “amatorów włamań”.
9.3.System autoryzacji WPA
Kolejną metodą zabezpieczenia sieci bezprzewodowej przed niepowołanym dostępem jest zastosowanie systemu WPA (Wi-Fi Protected Access). Wszystkie dostępne aktualnie w sprzedaży urządzenia posiadają możliwość użycia tego rodzaju zabezpieczenia. Dla urządzeń starszego typu producenci udostępniają poprawione wersje oprogramowania Firmware. WPA posiada zaimplementowane mocniejsze algorytmy szyfrowania danych. Podstawową jego zaletą jest stosowanie automatycznie wymiennych kluczy (Temporary Key Integrity Protocol). Wyróżniamy dwa typy kodowania WPA:
- WPA - oparty o serwery autoryzacji RADIUS,
- WPA-PSK – oparty o stosowanie sekretnego klucza inicjalizującego.
Niezależnie od zastosowanego typu WPA opiera się na sekwencyjnej wymianie kluczy indywidualnie dla każdego klienta pracującego w sieci. Oznacza to, że w tym samym momencie przesyłane pakiety kodowane są różnymi kluczami. System WPA oparty o serwery RADIUS umożliwia autoryzację poszczególnych użytkowników. Rysunek 9.3 przedstawia schemat autoryzacji z wykorzystaniem serwera RADIUS.
Użytkownik łączący się z siecią lokalną podaje swój identyfikator i hasło. W przypadku potwierdzenia autentyczności danych następuje przekazanie klucza kodującego i podłączenie użytkownika do sieci. Brak autoryzacji uniemożliwia korzystanie z sieci LAN [21]. Jest to najlepsze rozwiązanie zapewniające bezpieczeństwo transmisji danych. Wadą tego rozwiązania jest konieczność stosowania specjalnego serwera autoryzującego RADIUS. Konfiguracja urządzenia dostępowego do korzystania z serwera RADIUS sprowadza się do podania jego adresu IP. Rysunek 9.4 przedstawia przykładową konfigurację urządzenia dostępowego w trybie WPA.
Dodatkowym atutem takiego rozwiązania jest autoryzacja poszczególnych urządzeń dostępowych. Uniemożliwia ona podszywanie się pod punkt dostępowy w celu uzyskania danych od użytkownika. Pomimo niezaprzeczalnych zalet autoryzacja za pomocą serwerów RADIUS jest rzadko wykorzystywana. Fakt ten może dziwić zwłaszcza w sytuacji, gdy dostępne są darmowe implementacje serwera RADIUS dla systemu operacyjnego Linux. Częściej wykorzystywaną metodą kodowania jest WPA-PSK (pre-shared key). Metoda ta oparta jest na identycznych algorytmach kodowania i zmiany kluczy co WPA. Różni się tylko sposobem inicjalizacji klucza. Każde urządzenie w sieci rozpoczyna transmisję wykorzystując identyczny dla całej sieci tzw. klucz inicjujący. Rysunek 9.5 przedstawia konfigurację urządzenia w trybie WPA-PSK.
Klucz inicjujący jest uważany za najsłabszy punkt w zabezpieczeniu sieci WPA-PSK. W przeciwieństwie do kodowania WEP kodowanie WPA/WPA-PSK jest odporne na proste metody złamania klucza. Wynika to z faktu, że w relatywnie krótkich odcinkach czasowych dokonywana jest zmiana klucza. Dodatkowo każdy użytkownik prowadzący transmisję radiową wykorzystuje indywidualny klucz, co utrudnia zbieranie informacji. Przykładowo zebranie kilku GB danych dla punktu pracującego w trybie WEP wymaga kilku – kilkunastu godzin. W przypadku pojedynczego użytkownika może to potrwać kilka dni. Zakładając, że klucz zostanie wymieniony po przesłaniu 1 GB danych może się okazać, że nie da się uzyskać prawidłowego klucza przed jego kolejną zmianą. Niestety zabezpieczenie WPA posiada jedną istotną wadę. Jest mało odporne na ataki DDOS. Wysłanie kilku pakietów posiadających niewłaściwy klucz kodujący zostanie zinterpretowane jako próba włamania i spowoduje chwilowe zablokowanie dostępu do sieci dla wszystkich użytkowników. Regularne wysyłanie błędnych pakietów może sparaliżować pracę punktu dostępowego.
9.4.Najsłabsze ogniwo zabezpieczeń - użytkownik
Opisując zagadnienia bezpieczeństwa sieci bezprzewodowych należy wspomnieć o najsłabszym ich ogniwie jakim jest niezdający sobie sprawy z zagrożeń użytkownik sieci. Niestety najlepsze mechanizmy zabezpieczające nie są w stanie uchronić sieci przed włamaniami dokonanymi z wykorzystaniem oryginalnych kluczy WEP, kluczy inicjujących WPA-PSK czy identyfikatora użytkownika i hasła dla WPA. Powyżej wspominaliśmy o konieczności wprowadzenia klucza inicjującego dla kodowania WPA-PSK. Klucz ten musi być identyczny dla wszystkich urządzeń pracujących w sieci identycznie jak w przypadku klucza WEP, co zwiększa prawdopodobieństwo przejęcia takiego klucza przez osoby niepowołane. W przypadku sieci korporacyjnych klucz ten może być znany tylko administratorowi sieci. Trudno sobie jednak wyobrazić sieć osiedlową, w której administrator wpisuje klucz we wszystkich komputerach klienckich po każdej reinstalacji systemu operacyjnego u klienta. W sytuacji, w której wszyscy użytkownicy sieci znają “tajny” klucz klucz ten jest praktycznie jawny. Z tego względu warto jest stosować rozwiązania autoryzacyjne na poziomie użytkownika (WPA). W sytuacji, gdy każdy użytkownik dysponuje własnym identyfikatorem i hasłem dużo łatwiej jest wykryć źródło włamania. Dodatkowo ewentualna odpowiedzialność za wyrządzone szkody spada na danego użytkownika. Świadomość odpowiedzialności dyscyplinuje użytkowników do zachowania większej odpowiedzialności. Bardzo częstym zjawiskiem jest całkowity brak konfiguracji zakupionego urządzenia. Możemy odnaleźć urządzenia dostępowe o nazwie “linksys”, czy “default” sugerujące brak jakichkolwiek zmian w konfiguracji fabrycznej urządzenia. Najczęściej nawet hasło dostępowe do urządzenia pozostaje niezmienione. Wynika to z braku świadomości “administratorów” tak tworzonych sieci. Przykładowo siedząc w samochodzie na parkingu przed budynkiem Politechniki Opolskiej z włączonym komputerem uzyskałem automatycznie adres IP i zostałem przyłączony do sieci internet. Access point (urządzenie z wbudowanym routerem), z którym uzyskałem połączenie podłączony był bezpośrednio do łącza DSL 1 Mb dzierżawionego od Telekomunikacji Polskiej S.A. Takie niezabezpieczone sieci są idealnym miejscem do przeprowadzenia ataku na dowolne serwery korporacyjne. Wykrycie prawdziwego sprawcy włamania, który korzysta z przypadkowej sieci jest praktycznie niemożliwe. Jedynym śladem jaki pozostanie to adres fizyczny MAC karty sieciowej (pod warunkiem, że włamywacz nie zmienił tego adresu przed rozpoczęciem połączenia sieciowego).
9.5.Dodatkowe środki bezpieczeństwa
Każde urządzenie dostępowe umożliwia ograniczenie mocy nadajników. Rozwiązanie to nie może być uznawane za zabezpieczenie sieci bezprzewodowej, ale ogranicza obszar działania sieci, co może mieć wpływ na jej bezpieczeństwo. Kolejnym utrudnieniem może być brak rozgłaszania identyfikatora punktu dostępowego. W takiej sytuacji połączenie urządzenia klienckiego jest możliwe tylko w sytuacji, gdy wpiszemy identyfikator ręcznie. Nie jest to również duże utrudnienie dla potencjalnych włamywaczy, ponieważ oprogramowanie typu Kismet bez problemu rozpoznaje nazwy ukrytych punktów dostępowych. Pozostał jeszcze jeden element mający wpływ na bezpieczeństwo sieci bezprzewodowej, a dokładnie samego urządzenia dostępowego. Urządzenia dostępowe wykorzystują do transmisji adresy fizyczne MAC. W celu utrudnienia dostępu osobom niepowołanym do konfiguracji urządzeń dostępowych możemy wykorzystać adresy IP z innej puli adresowej niż stosowane przez klientów sieci. Przykładowo jeśli pula adresowa dla sieci bezprzewodowej to: 192.168.10.0/24 możemy wykorzystać pulę np. 192.168.5.0/25 dla urządzeń dostępowych. Takie rozwiązanie utrudni osobom ciekawskim dostęp z wewnątrz sieci do urządzeń dostępowych, natomiast dla administratora nie będzie żadnym problemem. Wystarczy ustawić alias dla interfejsu sieciowego (system Linux). Rozwiązanie takie skutecznie sprawdza się w sieciach amatorskich.