Professional Documents
Culture Documents
WEP
WEP
WEP
z
Wstęp
Standard Wired Equivalent Privacy (WEP) został wprowadzony w 1999 roku jako część
oryginalnego standardu 802.11. Miało to na celu zapewnienie poufności na poziomie
zbliżonym do sieci kablowych. W standardzie używany jest szyfr strumieniowy RC4 dla
zapewnienia poufności oraz suma kontrolna CRC-32 dla zapewnienia integralności.
Szyfrowanie występuje w dwóch wersjach z różną długością klucza RC4: 64 i 128 bitów. W
RC4 tekst jawny jest szyfrowany przy pomocy operacji XOR ze strumieniem klucza,
tworząc szyfrogram.
Na rynku dostępne są urządzenia pozwalające na użycie klucza o długości 128 lub 232
bitów, dając wraz z 24-bitowym IV 152 lub 256-bitowe klucze RC4. Oba te warianty
stanowią jednak rozwiązania własnościowe i nie są częścią oficjalnego standardu 802.11,
w związku z czym nie wszyscy producenci je implementują.
Jako szyfr symetryczny RC4 jest podatny na ataki polegające na analizie danych
zaszyfrowanych tym samym kluczem, dlatego strumień klucza nie może się powtarzać. Ze
względu na fakt, że klucz RC4 w WEP jest stosunkowo krótki, zdecydowano się na
wprowadzenie zabezpieczenia kryptograficznego, polegającego na użyciu tzw. wektora
inicjującego (IV). W przypadku WEP jest to 24-bitowa liczba, zmieniana dla każdego
transmitowanego pakietu. Jest on konkatenowany wraz z kluczem podanym przez
użytkownika (który jest stały), tworząc unikatowy dla każdego pakietu klucz algorytmu RC4.
z
Pojawia się tylko pytanie, skąd wziąć odpowiedni pakiet, skoro nie umiemy ich
odszyfrować? Z pomocą przychodzi protokół ARP odpowiedzialny za translację
adresów IP na MAC w sieci lokalnej. Żądania ARP są wysyłane na adres
rozgłoszeniowy, mają stałą długość 68 bajtów i często pojawiają się w sieci. Z tego
względu można je łatwo wykryć, przechwycić i ponownie przesłać do sieci, bez
konieczności rozszyfrowywania. Każde żądanie jest rozgłaszane przez AP i
otrzymuje nowy IV. Ten sam pakiet można wysyłać dowolną liczbę razy, zwiększając
znacząco liczbę przechwyconych IV.
z
Słabość WEP została w głównej mierze wykazana w trakcie ataków typu ‚related
key’, które były możliwe, ponieważ WEP dokonywał konkatenacji ‚passphrase’ z
wektorem inicjującym (IV). W TKIP zastosowano specjalną funkcję mieszającą,
która w nietrywialny sposób dokonuje połączenia passphrase i IV przed
przekazaniem ich do RC4, zapobiegając atakom typu ‚related key’.
CCMP jest skrótem od CCM mode Protocol. CCM określa tryb pracy
algorytmów kryptograficznych i oznacza Counter Mode with CBC-MAC (Cipher
Block Chaining Message Authentication Code). Przekładając to na język
bardziej przystępny, jest to tryb pracy algorytmu kryptograficznego, którym w
CCMP jest AES. Pracuje w trybie „counter” wraz z sumami uwierzytelniającymi
wiadomość generowanymi w trybie „cipher block chaining”. AES jest używany z
128-bitowym kluczem i blokiem o takim samym rozmiarze.
Protokół EAP został szczegółowo zdefiniowany w dokumencie RFC 3748 jako mechanizm
uwierzytelniania o ogólnym charakterze. Zatem definiuje oraz wspiera różne metody
uwierzytelniania, bez konieczności wstępnej negocjacji stosowanej metody. EAP definiuje jak
mają być wymieniane komunikaty pomiędzy zaangażowanymi stronami. Standardowo działa
w warstwie łącza danych, w związku z czym nie wymaga adresacji IP. Bardzo często EAP
jest też stosowany w sieciach bazujących na DHCP i w tym przypadku urządzenie nie ma
możliwości pobrania adresu, dopóki nie zostanie uwierzytelnione.
EAP nie definiuje szczegółowych zasad bezpieczeństwa oraz sposobu realizacji procesów
uwierzytelnienia – ich bezpieczeństwo jest bezpośrednio zależne od wybranej metody
uwierzytelniania. Serwer uwierzytelniający decyduje o akceptowanych metodach, a
urządzenie dostępowe zajmuje się tylko ich opakowywaniem.
Jedną z metod rozwiązania tego problemu, jest dystrybucja automatyczna odbywająca się w
ramach pierwszego połączenia, kiedy klient bezprzewodowy nawiązuje połączenie z użyciem
identyfikatora i hasła (podobnie jak w TTLS czy PEAP). Po zweryfikowaniu tożsamości klient
otrzymuje plik PAC i od tego momentu może już pracować, bazując na nim. Pozwala na to
skrócenie czasu oraz zmniejszenie liczby przesyłanych danych do uwierzytelnienia.
Brak systemowej implementacji w systemach Microsoft oraz brak darmowego klienta, którego
można by doinstalować, powoduje, że popularność tej metody jest stosunkowo niewielka.
z
EAP-PWD
Wszystkie opisane powyżej metody (za wyjątkiem MD5) wymagają zastosowania technik
kryptografii wykorzystujących PKI oraz wymagają zestawienia bezpiecznego tunelu.
Bezpieczeństwo tunelu jest najważniejszym elementem zapewniającym poufność
transmisji.
ataki słownikowe na dane uwierzytelniające użytkownika – jeśli nie zostanie wybrana jedna z
„niezalecanych metod” (takich jak MD5), dane użytkownika są transmitowane w tunelach TLS i jeśli tylko
użytkownik nie akceptuje nieznanych certyfikatów, nie ma możliwości wydobycia danych użytkownika z
podsłuchanej sesji TLS;
Należy pamiętać, że EAP-MD5 czy EAP-LEAP są uznawane za złamane i że należy ich unikać, gdyż stwarzają
zagrożenie dla całej infrastruktury.
z
WPA-Enterprise
W rozwiązaniu WPA-Enterprise wymagany jest dodatkowy element w postaci serwera
Radius, wykonujący operację uwierzytelniania, autoryzacji i księgowania (po ang. tzw. AAA:
authentication, authorization, accounting). Dzięki temu zyskujemy następujące dodatkowe
funkcjonalności:
Odłączenie danego użytkownika od sieci nie wymaga zmiany klucza dostępu dla
wszystkich pozostałych użytkowników, ponieważ unieważniamy dane dostępowe tylko
jednego użytkownika.
AP wysyła do klienta nonce – pewną unikatową dla danej sesji wartość, która powinna być
nieprzewidywalna dla atakującego (określaną dalej jako ANonce).
Klient wysyła własny nonce do AP (określany jako CNonce) wraz z sumą kontrolną MIC.
łatwe odłączenie danego użytkownika od sieci: nie jest wymagana zmiana klucza dostępowego dla
wszystkich pozostałych użytkowników, ponieważ unieważniamy dane dostępowe tylko pojedynczego
użytkownika, co nie ma wpływu na pozostałych;
Nawet jeśli nie jest znany PSK, ale uda się przechwycić dodatkowe
wartości używane podczas 4-way handshake, można przeprowadzić
atak siłowy mający na celu zgadnięcie PSK i uzyskanie dostępu do
sieci. Istota ataku polega na wypróbowywaniu różnych wartości PSK,
obliczenia dla nich PMK i PTK oraz sprawdzaniu, bazując na
przechwyconych danych z 4-way handshake, czy jest to poprawna
wartość.
z
W tej konfiguracji obsługa WPS jest aktywna cały czas. Podłączane urządzenie musi potwierdzić
swoją tożsamość przy użyciu 8-cyfrowego PIN-u, na podstawie którego generowane jest hasło
urządzenia. Dostępne są dwa warianty:
wewnętrzna – w konfiguracji AP należy wpisać PIN podany przez urządzenie chcące podłączyć się
do sieci,
zewnętrzna – na urządzeniu chcącym podłączyć się do sieci należy wpisać PIN skonfigurowany w
AP.
W praktyce stosowane jest drugie podejście. AP najczęściej posiada wydrukowany PIN znajdujący
się na nalepce z danymi urządzenia. Wystarczy odczytać PIN z AP, do którego powinniśmy mieć
dostęp, i wpisać go do podłączanego urządzenia. Bezpieczeństwo tej metody opiera się na
założeniu, że fizyczny dostęp do urządzenia jest ograniczony do „zaufanych osób”.
z
Tryb PBC
W tym rozwiązaniu nie jest wymagana znajomość sekretu, tak jak to było w przypadku
autoryzacji z wykorzystaniem PIN. Uproszczono jeszcze bardziej model zaufania do
osób mających fizyczny dostęp do urządzenia i w tym rozwiązaniu na AP wystarczy
tylko nacisnąć przycisk, który aktywuje protokół WPS i skonfiguruje oczekującego
klienta. W tym trybie WPS jest aktywowany tylko na moment podłączania nowego
urządzenia. W momencie aktywacji tego trybu, zarówno AP, jak i klient skanują
otoczenie w poszukiwaniu drugiego urządzenia przełączonego w tryb konfiguracji. Po
wzajemnym wykryciu się urządzeń następuje nawiązanie sesji analogicznie jak w
przypadku uwierzytelniania opisanego powyżej, tylko z użyciem domyślnej wartości
PIN składającej się z ośmiu zer. W przypadku braku aktywności w tym zakresie, AP po
upływie 2 minut wyłącza tryb konfiguracji WPS.
Według specyfikacji WPS PIN składa się z 8 cyfr dziesiętnych, co daje 10^8 różnych
wartości. Ze względu na użycie tylko cyfr, można by się pokusić o przeprowadzenie ataku
siłowego na konkretny PIN, sprawdzając wszystkie dostępne kombinacje. Jednak
liczba10^8 możliwości praktycznie wyklucza sensowność takiego ataku.
Po wczytaniu się w dokumentację WPS okazuje się jednak, że ostatnia cyfra stanowi
sumę kontrolną poprzednich 7 cyfr.
Konsekwencją takiego podejścia jest fakt, że liczba dostępnych wartości PIN-u spada do
10^7, czyli dziesięciokrotnie.
Jak to w kryptografii zwykle bywa, diabeł tkwi w szczegółach. Okazuje się, że weryfikacja
poprawności PIN-u w WPS odbywa się dwuetapowo. W pierwszej kolejności następuje
sprawdzenie poprawności 4 pierwszych cyfr kodu. Jeśli AP odpowie, że przedstawiona
połówka PIN jest poprawna, następuje weryfikacja poprawności pozostałych 3 cyfr.
z
Zatem w pierwszej kolejności należy znaleźć pierwsze 4 cyfry PIN-u, a potem pozostałe 3, zamiast
szukania wszystkich 7 po kolei.
Jeśli proces wymiany (8 wiadomości M), powyższych informacji się nie uda w którymkolwiek z
etapów, AP wysyła komunikat EAP-NACK do klienta. Zatem otrzymanie tego komunikatu po M4
oznacza niepoprawną pierwszą połowę PIN, a otrzymanie go po M6 – niepoprawną drugą połowę
PIN.
W wariancie pesymistycznym należy sprawdzić 10^4 wartości dla pierwszego etapu i 10^3 wartości
dla drugiego. Daje to sumaryczną złożoność 10^4+10^3, wynoszącą 11 000 kombinacji.
W związku z tym kolosalnym błędem przeprowadzenie ataku siłowego na 11k wartości nie powinno
stanowić problemu. Średni czas potrzebny na próbę podłączenia wynosi od 0.5 do 3 sekund.
Innymi słowy: jeśli średni czas wynosi 1.3s/próbę, to czas potrzebny na sprawdzenie wszystkich
wartości to ok. 4h.