Professional Documents
Culture Documents
Temat numeru
Guillaume Lehembre
stopie trudnoci
Wi-Fi, czyli Wireless Fidelity, jest obecnie jedn z wiodcych technologii bezprzewodowych, a jej obsuga pojawia si w coraz to nowych urzdzeniach: laptopach, palmtopach, telefonach komrkowych. Czsto pomijanym aspektem konfiguracji Wi-Fi pozostaje, niestety, bezpieczestwo. W tym artykule przyjrzymy si zabezpieczeniom, jakie oferuj dostpne implementacje Wi-Fi.
awet jeli zabezpieczenia urzdze Wi-Fi s wczane, to najczciej stosowany jest w nich sabo szyfrowany protok na przykad WEP. Za chwil przyjrzymy si sabociom WEP i przekonamy si, e jego zamanie jest bardzo proste. Godny poaowania poziom zabezpiecze oferowany przez WEP w peni uzasadnia potrzeb wprowadzenia nowej architektury bezpieczestwa w postaci standardu 802.11i poznamy zatem rwnie komercyjne implementacje tego standardu, WPA i WPA2. Przeanalizujemy nie tylko ich zalety, ale i pierwsze znane saboci, a take moliwoci integracji z systemami operacyjnymi.
teczny szyfrogram C by zatem wyliczany wedug nastpujcego wzoru: C = [ M || ICV(M) ] + [ RC4(K || WI) ] gdzie || jest operatorem konkatenacji, a + jest operatorem XOR. Wida tu wyranie, e bezpieczestwo transmisji WEP zaley od wektora inicjalizacyjnego, ktry dla utrzymania przyzwoite-
WEP (Wired Equivalent Privacy) by domylnym protokoem wprowadzonym w pierwszym standardzie IEEE 802.11 jeszcze w 1999 roku. Bazuje na algorytmie szyfrujcym RC4, w ktrym tajny klucz o dugoci 40 lub 104 bitw jest czony z 24-bitowym wektorem inicjalizacyjnym (WI), tworzc cig uywany do zaszyfrowania tekstu jawnego M oraz jego sumy kontrolnej ICV (Integrity Check Value). Osta-
Powiniene wiedzie...
powiniene zna podstawy dziaania protokow TCP/IP i Wi-Fi, powiniene orientowa si w podstawowych pojciach kryptograficznych.
12
hakin9 Nr 1/2006
www.hakin9.org
go poziomu zabezpiecze i minimalizacji ujawnie powinien by zwikszany dla kadego pakietu tak, by kady kolejny pakiet by szyfrowany innym kluczem. Niestety, WI jest przesyany otwartym tekstem a standard 802.11 nie przewiduje obowizkowej jego inkrementacji. W efekcie dostpno tego zabezpieczenia zaley wycznie od implementacji standardu, ktra bdzie dziaa na konkretnej stacji bezprzewodowej (punkcie dostpowym lub karcie bezprzewodowej).
Rysunek 1. Protok szyfrujcy WEP Tabela 1. Karta chorobowa protokou WEP Data wrzesie 1995 padziernik 2000 maj 2001 lipiec 2001 Opis Odkrycie potencjalnej saboci algorytmu RC4 (Wagner) Pierwsza publikacja opisujca podatnoci WEP: Unsafe at any key size; An analysis of the WEP encapsulation (Walker) Indukcyjny atak z wybranym tekstem jawnym na WEP/ WEP2 (Arbaugh) Atak na CRC z przerzucaniem bitw Intercepting Mobile Communications: The Insecurity of 802.11 (Borisov, Goldberg, Wagner) Ataki FMS Weaknesses in the Key Scheduling Algorithm of RC4 (Fluhrer, Mantin, Shamir) Publikacja AirSnorta Zoptymalizowane ataki FMS autorstwa h1kari Ataki KoreKa z niepowtarzalnymi WI, publikacja narzdzi chopchop i chopper Narzdzia Aircrack (Devine) i WepLab (Sanchez) implementujce ataki KoreKa cyjny Arbaugha, pozwalajce na deszyfrowanie dowolnych pakietw bez znajomoci klucza z wykorzystaniem techniki wstrzykiwania pakietw. Narzdzia implementujce te techniki, na przykad Aircrack autorstwa Christophea Devinea czy WepLab Jos Ignacia Sncheza, potrafi odtworzy 128-bitowy klucz WEP w zaledwie 10 minut (czasem troch duej, w zalenoci od konkretnego punktu dostpowego i karty sieciowej). Dodanie wstrzykiwania pakietw znacznie skrcio czas amania zabezpiecze WEP, gdy odtworzenie klucza nie wymagao ju milionw, a zaledwie tysicy pakietw o rnych WI okoo 150 000 dla 64-bitowego klucza WEP i 500 000 dla klucza 128-bitowego. Technika wstrzykiwania pozwala zebra potrzebne dane dosownie w kilka minut. Protok WEP jest zatem nieodwoalnie
Protok WEP nie zosta stworzony przez specjalistw w dziedzinie bezpieczestwa i kryptografii, tote wkrtce po jego wprowadzeniu okazao si, e opisane cztery lata wczeniej saboci algorytmu RC4 s aktualne i tutaj. W 2001 roku Scott Fluhrer, Itsik Mantin i Adi Shamir (znani pod kolektywnymi inicjaami FMS) opublikowali gony artyku o WEP, opisujcy powane podatnoci algorytmu szyfrujcego RC4 na dwa rodzaje atakw: atak na niezmienno klucza i atak ze znanym WI. Oba wykorzystuj fakt, e dla niektrych wartoci klucza pocztkowe bajty strumienia mog by zalene jedynie od kilku bitw klucza szyfrujcego cho teoretycznie kady bit strumienia powinien rni si od poprzedniego z prawdopodobiestwem 50%. Klucz szyfrujcy jest tu tworzony przez proste sklejenie klucza tajnego z WI, tote w istocie dla niektrych wartoci WI istniej klucze sabe. Podatnoci na ataki zostay wykorzystane w praktyce przez takie narzdzia, jak na przykad AirSnort, potrafice odtworzy klucze WEP na podstawie analizy dostatecznie duej iloci zaszyfrowanych pakietw. O ile jednak w ruchliwej sieci taki atak mona byo przypuci w rozsdnym czasie, o tyle co do zasady czas przez niego wymagany by do dugi. David Hulton (h1kari) opracowa zoptymalizowan wersj tego ataku, uwzgldniajc w wyliczeniach nie tylko pierwszy bajt wyniku RC4 (jak to miao miejsce w metodzie FMS), ale rwnie kolejne bajty, co pozwolio nieco
sierpie 2001 sierpie 2001 luty 2002 sierpie 2004 lipiec/sierpie 2004
zmniejszy ilo danych niezbdnych do odtworzenia klucza. Z etapem sprawdzania integralnoci wie si rwnie powana sabo wynikajca z uycia CRC32 jako algorytmu sumy kontrolnej. CRC32 jest wprawdzie czsto uywany do wykrywania bdw transmisji, ale ze wzgldu na liniowo przetwarzania nigdy nie by uwaany za algorytm kryptograficznie bezpieczny. Ju cztery lata temu dowiedli tego Nikita Borysow, Ian Goldberg i David Wagner. Po tych odkryciach powszechnie przyjto, e oferowany przez WEP poziom bezpieczestwa nadaje si wycznie dla uytkownikw domowych i aplikacji bez znaczenia krytycznego. Nawet to zastrzeenie stracio jednak racj bytu w 2004 roku, gdy pojawiy si ataki KoreKa (uoglnione ataki FMS korzystajce z optymalizacji h1kariego) oraz odwrotny atak induk-
www.hakin9.org
hakin9 Nr 1/2006
13
Temat numeru
dania ARP
STATION 00:0C:F1:19:77:5C
Packets 1
ESSID hakin9demo
martwy (patrz Tabela 1) i nie naley go uywa, nawet w przypadku stosowania rotacji kluczy. Wady bezpieczestwa protokou WEP mona podsumowa nastpujco: saboci algorytmu RC4 przeniesione na WEP ze wzgldu na metod generowania klucza, zbyt krtki WI (24 bity wystarczy niecae 5000 pakietw, by osign pidziesicioprocentowe prawdopodobiestwo kolizji) i dopuszczenie powtrnego wykorzystania tego samego WI (brak ochrony przed atakami z powtrzeniem wiadomoci), brak przyzwoitego sprawdzania integralnoci (algorytm CRC32 nadaje si do wykrywania bdw, ale nie jest kryptograficznie bezpieczny ze wzgldu na sw liniowo), brak wbudowanej metody aktualizacji kluczy.
aireplay: narzdzie do wstrzykiwania pakietw, aircrack: amacz kluczy WEP przetwarzajcy niepowtarzalne WI zebrane podczas nasuchu.
Opisany w RFC826 protok ARP (Address Resolution Protocol) suy do tumaczenia 32-bitowego adresu IP na 48-bitowy adres ethernetowy (bowiem sieci Wi-Fi rwnie korzystaj z protokou Ethernet). Dla przykadu zamy, e komputer A (192.168.1.1) chce si porozumie z komputerem B (192.168.1.2), co wymaga przetumaczenia znanego adresu IP odbiorcy na adres MAC z pomoc protokou ARP. Komputer A wysya wic pakiet rozgoszeniowy zawierajcy adres IP adresata (Who has 192.168.1.2? Tell 192.168.1.1). Widzc w zapytaniu swj wasny adres, komputer B zwraca odpowied (192.168.1.2 is at 01:23:45:67: 89:0A), ktra z reguy jest nastpnie skadowana w pamici podrcznej.
O atwoci amania zabezpiecze WEP mona si przekona korzystajc z narzdzia Aircrack, stworzonego przez francuskiego badacza Christophea Devinea. Pakiet Aircrack zawiera trzy podstawowe narzdzia, odpowiadajce trzem kolejnym fazom ataku: airodump: sniffer do wykrywania sieci obsugujcych WEP,
Wstrzykiwanie z wykorzystaniem aireplay dziaa jedynie dla wybranych chipsetw bezprzewodowych, a w trybie monitorowania wymaga dodatkowo zmodyfikowanych wersji najnowszych sterownikw. Tryb monitorowania jest odpowiednikiem trybu promiscuous dla sieci przewodowych i polega na nieodrzucaniu pakietw przeznaczonych dla innych kart sieciowych (co ma zwykle miejsce w warstwie fizycznej modelu OSI), czyli w efekcie na przechwytywaniu wszystkich otrzymywanych pakietw. Zmodyfikowane sterowniki pozwalaj jednoczenie odbiera i wstrzykiwa pakiety na tej samej karcie. Gwnym celem ataku jest generowanie sztucznego ruchu midzy uprawnionym klientem sieci a punktem dostpowym, co pozwala przechwytywa niepowtarzalne WI. Pewne rodzaje zaszyfrowanych informacji mona atwo rozpozna, gdy maj one, na przykad, sta dugo czy stay adres docelowy. Dotyczy to midzy innymi pakietw da ARP (patrz Ramka dania ARP), ktre s zawsze wysyane na adres rozgoszeniowy (FF:FF:FF:FF:FF:FF) i maj sta dugo 68 bajtw. Moliwe jest cige wysyanie da ARP do tego samego komputera, co sprawi, e bdzie on szyfrowa iden-
tyczne wiadomoci z kolejnymi wartociami WI. W poniszych przykadach 00: 13:10:1F:9A:72 jest adresem MAC punktu dostpowego (BSSID) na kanale 1 o SSID hakin9demo, a 00: 09:5B:EB:C5:2B jest adresem MAC klienta sieci bezprzewodowej (w zalenoci od przypadku korzystajcego z WEP lub z WPA-PSK). Wykonanie opisywanych polece wymaga uprawnie roota. Zaczynamy od przeczenia naszej karty bezprzewodowej (w tym przypadku karty z chipsetem Atheros) w tryb monitorowania, co pozwoli przechwytywa wszystkie pakiety (Listing 1). Kolejnym etapem jest wykrycie pobliskich sieci i ich klientw poprzez skanowanie wszystkich 14 moliwych kanaw, z jakich mog korzysta sieci Wi-Fi (Listing 2). Wynik widoczny na Listingu 2 naley interpretowa nastpujco: punkt dostpowy o BSSID 00:13:10: 1F:9A:72 uywa szyfrowania WEP na kanale 1 z SSID hakin9demo, a z sieci skojarzony jest jeden uwierzytelniony klient o adresie MAC 00: 0C:F1:19:77:5C. Gdy ju namierzylimy sie docelow, musimy uruchomi przechwytywanie pakietw na odpowiednim kanale, by unikn przepuszczania pakietw podczas niepotrzebnego skanowania kolejnych kanaw.
14
hakin9 Nr 1/2006
www.hakin9.org
Teraz moemy ju wykorzysta zebrane informacje do wstrzyknicia pakietw za pomoc narzdzia aireplay. Proces wstrzykiwania rozpocznie si w momencie zarejestrowania w monitorowanej sieci dania ARP, dotyczcego namierzanego BSSID:
# aireplay -3 \ -b 00:13:10:1F:9A:72 \ -h 00:0C:F1:19:77:5C \ -x 600 ath0 (...) Read 980 packets (got 16 ARP requests), sent 570 packets...
Rysunek 2. Wyniki pracy Aircracka po kilku minutach wodowej do ponownego uwierzytelnienia, podszywajc si pod BSSID i wysyajc odpowiednio spreparowane pakiety na adres MAC klienta:
# aireplay -0 5 -a 00:13:10:1F:9A:72 -c 00:0C:F1:19:77:5C ath0
Pozostaje ju tylko odtworzy klucz WEP za pomoc narzdzia aircrack. Skorzystanie z pliku pcap pozwoli uruchomi ten ostatni etap, gdy airodump nadal rejestruje pakiety (Rysunek 2 przedstawia wyniki):
# aircrack -x -0 wep-crk.cap
Moliwa (cho nie zawsze skuteczna) jest masowa wersja tego ataku, polegajca na wielokrotnym podszywaniu si pod BSSID i wysyaniu pakietw wymuszajcych uwierzytelnienie na adres rozgoszeniowy:
# aireplay -0 0 -a 00:13:10:1F:9A:72 ath0
Ta metoda ataku moe posuy do odtworzenia ukrytego, czyli nierozgaszanego SSID, przechwycenia czteroetapowej negocjacji poczenia WPA lub zablokowania usugi (wicej o tym ostatnim zastosowaniu w czci powiconej protokoowi 802.11i). Celem ataku jest zmuszenie klienta do ponownego uwierzytelnienia si w sieci, co w poczeniu z brakiem uwierzytelniania dla ramek sterujcych (odpowiedzialnych wanie za uwierzytelnianie, kojarzenie z sieci itd.) pozwala napastnikowi faszowa adresy MAC. Za pomoc poniszego polecenia mona zmusi klienta sieci bezprze-
Atak ten wykorzystuje stworzone przez KoreKa narzdzie typu proof-of-concept o nazwie chopchop, pozwalajce deszyfrowa pakiety WEP bez znajomoci klucza. Stosowane w protokole WEP sprawdzenie integralnoci pozwala napastnikowi modyfikowa zarwno szyfrogram, jak i jego CRC. Co gorsze, wykorzystanie operatora XOR w protokole WEP oznacza, e dany bajt szyfrogramu jest zaleny od odpowiadajcego mu pozycj bajtu wiadomoci jawnej. Prba odgadnicia ostatnie-
go bajtu wiadomoci wymaga zatem usunicia ostatniego bajtu szyfrogramu i zastpienia go innym, a nastpnie wysania zmodyfikowanego pakietu z powrotem do sieci. Jeli bajt nie zostanie odgadnity, punkt dostpowy odrzuci pakiet i trzeba bdzie sprbowa jeszcze raz. Jeli natomiast pakiet zostanie przyjty i przekazany dalej, to bajt zosta poprawnie odgadnity. Powtrzenie procedury dla wszystkich bajtw wiadomoci pozwoli odszyfrowa pakiet WEP i odtworzy strumie klucza. Wiemy ju, e zwikszanie WI kolejnych pakietw nie jest w protokole WEP obowizkowe, tote wykorzystanie odtworzonego strumienia i przechwyconego WI do szyfrowania sfaszowanych pakietw nie jest trudne. Wykonanie ataku wymaga, by karta bezprzewodowa nasuchiwaa na odpowiednim kanale w trybie monitorowania (tak samo, jak w poprzednim przykadzie), a ofiar ataku powinien by poprawnie skojarzony klient sieci (w naszym przypadku ponownie bdzie nim 00:0C:F1:19: 77:5C). Aireplay bdzie nas pyta o pozwolenie wykorzystania kolejnych zaszyfrowanych pakietw (Listing 3). W wyniku zostan utworzone dwa pliki pcap: jeden dla odszyfrowanego pakietu, a drugi dla strumienia klucza uytego do szyfrowania. Pliki te mona przeglda za pomoc dowolnego narzdzia przeznaczonego do tego celu my sko-
www.hakin9.org
hakin9 Nr 1/2006
15
Temat numeru
Pozostaje ju tylko wielokrotnie wysa ten pakiet za pomoc aireplay (patrz Listing 5). Przedstawiona metoda ataku jest mniej zautomatyzowana ni mechanizm faszowania da ARP wbudowany w Aircracka (wczany przecznikiem -1), ale za to bardziej elastyczna. Napastnik moe wykorzysta odtworzony strumie klucza do sfaszowania dowolnego pakietu o dugoci nieprzekraczajcej dugoci klucza; dusze pakiety wymagayby znajomoci wikszej czci strumienia klucza.
Opisana wczeniej metoda amania klucza (ataki 1 i 3) wymaga, by uprawniony klient (fizyczny lub wirtualny, cho fizyczny jest lepszy) by skojarzony z punktem dostpowym. W przeciwnym razie punkt dostpowy mgby odrzuca pakiety kierowane pod nieskojarzony adres. Jeli stosowane jest otwarte uwierzytelnianie, to moliwe jest te uwierzytelnienie dowolnego klienta i skojarzenie go z punktem dostpowym, ale ten ostatni odrzuci wszelkie pakiety niezaszyfrowane odpowiednim kluczem WEP. Przykad z Listingu 6 ilustruje wykorzystanie aireplay do sfaszowania dania uwierzytelnienia i skojarzenia dla SSID hakin9demo (BSSID: 00:13:10:1F:9A:72) o sfaszowanym adresie MAC 0:1:2:3:4:5. Niektre punkty dostpowe wymagaj od klientw powtrnego uwierzytelniania co 30 sekund. Aireplay umoliwia naladowanie tego zachowania wystarczy jako drug opcj w wierszu polece poda warto 30.
rzystamy z programu tcpdump. Listing 4 przedstawia odszyfrowane danie echa (ping) wymienione midzy dwoma komputerami. Znajomo strumienia klucza pozwala te faszowa pakiety. Oto sfaszowane danie ARP wysane
802.11i
W styczniu 2001 roku stworzono w ramach IEEE grup projektow i, majc za zadanie ulepszenie mechanizmw uwierzytelniania i szyfrowania danych protokou 802.11. W kwietniu 2003 roku Wi-Fi Alliance (organiza-
16
hakin9 Nr 1/2006
www.hakin9.org
Protok uwierzytelniania IEEE 802.1X (znany te pod nazw Port-Based Network Access Control) zosta pierwotnie stworzony dla sieci przewodowych. Zapewnia on mechanizmy uwierzytelniania, autoryzacji, dystrybucji klucza i kontroli dostpu uytkownikw doczajcych do sieci. Architektura IEEE 802.1X obejmuje trzy podmioty funkcjonalne: petenta (supplicant) doczajcego do sieci, podmiot uwierzytelniajcy odpowiedzialny za kontrol dostpu, serwer uwierzytelniania podejmujcy decyzje o autoryzacji.
W sieciach bezprzewodowych za uwierzytelnianie odpowiada punkt dostpowy. Kady fizyczny port sieci (a w przypadku sieci bezprzewodowych port wirtualny) dzielony jest na dwa porty logiczne, razem skadajce si na obiekt dostpu do portu, czyli PAE (Port Access Entity). PAE uwierzytelniania jest zawsze otwarty i przepuszcza jego ramki, natomiast PAE usug jest otwierany dopiero wtedy, gdy jest w stanie autoryzowanym czyli po udanym uwierzytelnieniu i tylko na okrelony czas (domylnie 3600 sekund). Decyzja o dopuszczeniu dostpu jest na og podejmowana przez trzeci stron komunikacji, czyli serwer uwierzytelniania, ktrym moe by zarwno osobny serwer Radius, jak i prosty proces dziaajcy w ramach punktu dostpowego (na przykad w sieciach domowych). Rysunek 3 ilustruje proces komunikacji podmiotw 802.1X. Standard 802.11i wprowadza w IEEE 802.1X drobne zmiany dla potrzeb sieci bezprzewodowych, majce na celu zabezpieczenie przed kradzie tosamoci. Wprowadzone zostao dodatkowe uwierzytelnianie wiadomoci, ktre pozwala upewni si, e zarwno petent, jak i podmiot uwierzytelniajcy maj wyliczone tajne klucze i wczyli szyfrowanie przed uzyskaniem dostpu do sieci. Petent i podmiot uwierzytelniajcy komunikuj si za pomoc protokou opartego na EAP, przy czym rola tego drugiego jest w zasadzie pasywna moe on po prostu przekazywa wszystkie dania uwierzytelnienia do serwera. EAP okrela oglne zasady transportu rnego rodzaju metod uwierzytelniania i dopuszcza bardzo ograniczon liczb komunikatw (Request, Response, Success, Failure). Inne komunikaty zale ju od wybranej metody uwierzytelnienia: EAP-TLS, EAP-TTLS, PEAP, Kerberos V5, EAP-SIM itd. Po zakoczeniu tego procesu obie strony (petent i serwer uwierzytelniajcy) maj wasny, tajny klucz nadrzdny. Komunikacja midzy podmiotem uwierzytelniajcym a serwerem odbywa si poprzez protok EAPOL (EAP Over LAN), stosowany w sieciach bezprzewodowych do przenoszenia danych EAP w ramach protokow wyszego poziomu (na przykad protokou Radius).
twork (RSN) i wykorzystuje uwierzytelnianie z protokoem 802.1X, niezawodn dystrybucj klucza oraz nowe mechanizmy zapewniania integralnoci i poufnoci. Architektura RSN jest bardziej skomplikowana od jego poprzednika, ale za to pozwala tworzy bezpieczne i skalowalne systemy komunikacji bezprzewodowej. Sie RSN z zaoenia dopuszcza wycznie urzdzenia z obsug RSN, lecz standard IEEE 802.11i przewiduje te przejciow architektur TSN (Transitional Security Network), dopuszczajc wspprac systemw RSN i WEP tym samym dajc uytkownikom wicej czasu na przysz wymian sprztu. Jeli proces uwierzytelniania lub kojarzenia midzy punktami sieci odbywa si z wykorzystaniem negocjacji czteroetapowej, to ustalone w ten sposb skojarzenie nosi nazw RSNA (Robust Security Network Association). Nawizanie bezpiecznego kontekstu komunikacji skada si z czterech faz (patrz Rysunek 4): uzgodnienia polityki bezpieczestwa, uwierzytelniania 802.1X, generowania i dystrybucji klucza, zapewnienia integralnoci i poufnoci danych w ramach architektury RSNA.
cja majca za cel popularyzacj i certyfikacj rozwiza Wi-Fi) ogosia oficjaln rekomendacj w reakcji na wtpliwoci uytkownikw korporacyjnych co do bezpieczestwa sieci bezprzewodowych. Byo jednak oczywiste, e wszelkie nowe rozwizania bd musiay bazowa na wykorzystaniu istniejcego sprztu. W czerwcu 2004 roku przyjto ostateczn wersj standardu 802.11i, ktrej wersja komercyjna otrzymaa Listing 6. Faszywe uwierzytelnianie
od Wi-Fi Alliance nazw WPA2. Standard IEEE 802.11i wprowadza szereg fundamentalnych zmian, na przykad oddzielenie uwierzytelniania uytkownikw od zapewniania integralnoci i poufnoci danych, tworzc tym samym niezawodn i skalowaln architektur bezpieczestwa nadajc si tak samo dobrze dla sieci domowych, jak dla duych sieci korporacyjnych. Nowa architektura sieci bezprzewodowych nosi nazw Robust Security Ne-
# aireplay -1 0 -e hakin9demo -a 00:13:10:1F:9A:72 -h 0:1:2:3:4:5 ath0 18:30:00 Sending Authentication Request 18:30:00 Authentication successful 18:30:00 Sending Association Request 18:30:00 Association successful
W ramach pierwszej fazy komunikujce si strony musz uzgodni stosowan polityk bezpieczestwa. Polityki obsugiwane przez punkt dostpowy s ogaszane jako parametr Beacon lub zwracane w komunikacie Probe Respond, stanowicym odpowied na nadesany przez klienta Probe Request. Potem nastpuje standardowe otwarte uwierzytelnianie (podobne, jak w przypadku sieci TSN, gdzie uwierzytelnianie jest zawsze udane). Odpowied klienta jest doczana do dania skojarzenia (Association Request) i zatwierdzana za pomoc odpowiedzi odesanej przez punkt dostpowy (Association Response). Informacje o polityce bezpieczestwa s przesyane
www.hakin9.org
hakin9 Nr 1/2006
17
Temat numeru
w ramach pola IE (Information Element) ramki RSN, okrelajcego: obsugiwane metody uwierzytelniania (802.1X, Pre-Shared Key (PSK)), protokoy bezpieczestwa dla transmisji pojedynczej (CCMP, TKIP itd.) zestaw szyfrw do komunikacji jeden do jednego, protokoy bezpieczestwa dla transmisji grupowej (CCMP, TKIP itd.) zestaw szyfrw do komunikacji grupowej, obsug wstpnego uwierzytelniania, dziki ktremu uytkownicy mog si pynnie przecza midzy rnymi punktami dostpowymi w tej samej sieci.
Druga faza obejmuje uwierzytelnianie 802.1X wykorzystujce EAP i konkretn, uzgodnion wczeniej metod uwierzytelniania: EAP/TLS z certyfikatami klienta i serwera (co wymaga dostpnoci infrastruktury klucza publicznego), EAP/TTLS lub PEAP z uwierzytelnianiem mieszanym (certyfikaty s wymagane jedynie od serwerw) itd. Proces uwierzytelniania 802.1X rozpoczyna si w chwili, gdy punkt dostpowy zada danych o tosamoci klienta. Odpowied klienta okrela preferowan metod uwierzytelnienia. Midzy klientem a serwerem uwierzytelniajcym wymieniane s nastpnie komunikaty majce na celu ustalenie wsplnego klucza nadrzdnego (Master Key, czyli MK). Na zakoczenie serwer wysya do punktu dostpowego komunikat Radius Accept, zawierajcy MK i ostateczny komunikat EAP Success dla klienta. Rysunek 6 ilustruje przebieg drugiej fazy.
Rysunek 5. Faza 1: uzgodnienie polityki bezpieczestwa rnych kluczy, zorganizowanych w hierarchi. Po udanym uwierzytelnieniu tworzony jest bezpieczny kontekst komunikacji, po czym tymczasowe klucze sesji s tworzone i regularnie aktualizowane a do zamknicia kontekstu. Celem trzeciej fazy jest wygenerowanie i wymiana kluczy. W ramach generowania kluczy wykorzystywane s dwie procedury negocjacji (patrz Rysunek 7): czteroetapowa negocjacja (4Way Handshake) dla ustalenia kluczy tymczasowych: pojedynczego PTK (Pairwise Transient Key) i grupowego GTK (Group Transient Key),
Bezpieczestwo poczenia w duym stopniu zaley od tajnych kluczy. Kady klucz ma w architekturze RSN ograniczony czas wanoci, a oglne bezpieczestwo zapewnia cay zbir
18
hakin9 Nr 1/2006
www.hakin9.org
Proces generowania pojedynczego klucza gwnego PMK (Pairwise Master Key) rni si w zalenoci od stosowanej metody uwierzytelniania: jeli uywany jest z gry ustalony klucz PSK (Pre-Shared Key), to PMK = PSK. PSK jest generowany na podstawie hasa (od 8 do 63 znakw) lub cigu 256-bitowego i jest przeznaczony dla sieci domowych i maych sieci firmowych nieposiadajcych serwera uwierzytelniajcego, jeli uywany jest serwer uwierzytelniajcy, to PMK jest wyliczany z klucza gwnego MK dla 802.1X.
Sam klucz PMK nie jest nigdy uywany do szyfrowania czy sprawdzania integralnoci. Dopiero na jego podstawie generowany jest tymczasowy klucz szyfrujcy w przypadku transmisji pojedynczej bdzie nim PTK. Dugo PTK zaley od stosowanego protokou szyfrujcego 512 bitw dla TKIP, 384 bity dla CCMP. Klucz PTK skada si z kilku kluczy tymczasowych o konkretnych zastosowaniach: KCK (Key Confirmation Key 128 bitw): klucz do generowania kodu uwierzytelniajcego wiadomoci (MIC), uywany w ramach negocjacji czteroetapowej i negocjacji klucza grupowego, KEK (Key Encryption Key 128 bitw): klucz do zapewniania poufnoci danych w czasie negocjacji czteroetapowej i negocjacji klucza grupowego, TK (Temporary Key 128 bitw): klucz do szyfrowania danych (uywany przez TKIP i CMMP), TMK (Temporary MIC Key 2x64 bity): klucz do uwierzytelniania danych (uywany wycznie przez algorytm Michael z TKIP). Dla kadej z komunikujcych si stron uywany jest osobny klucz.
Rysunek 7. Faza 3: generowanie i dystrybucja kluczy Proces negocjacji czteroetapowej, inicjowany przez punkt dostpowy, ma na celu: potwierdzenie, e klient faktycznie zna klucz PMK, wygenerowanie nowego klucza PTK, instalacj kluczy szyfrowania i integralnoci, szyfrowanie transportu klucza GTK, potwierdzenie wyboru zestawu szyfrw. powego, adresu MAC klienta i dwch losowych wartoci jednorazowych ANonce i SNonce, generowanych odpowiednio przez podmiot uwierzytelniajcy i petenta. Punkt dostpowy inicjuje cay proces generujc losow warto ANonce i wysyajc j petentowi bez szyfrowania czy wprowadzania jakichkolwiek zabezpiecze integralnoci. Petent generuje wasn warto losow SNonce i znajc ANonce moe ju wyliczy PTK i tymczasowe klucze pochodne, wic odsya SNonce oraz kod MIC uzyskany dziki kluczowi KCK z drugiej wiadomoci. Podmiot uwierzytelniajcy odbiera wiadomo i pobiera z niej warto SNonce (wiadomo nadal nie jest szyfrowana), wic moe wyliczy klucz PTK i pochodne klucze tymczasowe, a dziki temu sprawdzi poprawno kodu MIC w drugiej wiadomoci. Poprawna warto MIC ozna-
Podczas negocjacji czteroetapowej, midzy klientem a punktem dostpowym wymieniane s cztery komunikaty EAPOL-Key. Proces ten ilustruje Rysunek 9. Klucz PTK jest wyliczany na podstawie: klucza PMK, staego cigu znakw, adresu MAC punktu dost-
www.hakin9.org
hakin9 Nr 1/2006
19
Temat numeru
i punkt dostpowy uzgodnili, wyliczyli i zainstalowali klucze szyfrujce, ktrych mog odtd uywa do stworzenia bezpiecznego kanau komunikacji w transmisji pojedynczej. Transmisje grupowe chroni stosowny klucz tymczasowy GTK (Group Transient Key), generowany na podstawie gwnego klucza grupowego GMK (Group Master Key), staego cigu znakw, adresu MAC punktu dostpowego oraz wartoci losowej GNonce. Dugo GTK zaley od protokou szyfrujcego 256 bitw dla TKIP, 128 bitw dla CCMP. GTK dzieli si na specjalizowane klucze tymczasowe: Rysunek 8. Faza 3: hierarchia kluczy pojedynczych GEK (Group Encryption Key) klucz do szyfrowania danych (uywany przez TKIP i przez CCMP do szyfrowania i uwierzytelniania), GIK (Group Integrity Key) klucz do uwierzytelniania danych (uywany tylko przez algorytm Michael w TKIP).
Rysunek 9. Faza 3: negocjacja czteroetapowa cza, e petent zna klucz i poprawnie wyliczy klucz PTK oraz pochodne klucze tymczasowe. Trzeci komunikat jest wysyany do petenta i zawiera zaszyfrowany kluczem KEK klucz GTK, wyliczony na podstawie losowego GMK i wartoci GNonce (wida to dokadnie na Rysunku 10). Wysyany jest rwnie kod MIC dla trzeciego komunikatu, uzyskany przy pomocy klucza KCK. Po odebraniu wiadomoci petent sprawdza MIC by upewni si, e punkt dostpowy zna klucz PMK i poprawnie wyliczy klucz PTK oraz pochodne klucze tymczasowe. Ostatni komunikat potwierdza zakoczenie negocjacji i sygnalizuje, e petent instaluje klucz i bdzie go uywa do szyfrowania. Po odebraniu komunikatu i weryfikacji jego kodu MIC, podmiot uwierzytelniajcy rwnie instaluje klucz i przechodzi do szyfrowania. W ten sposb klient
Hierarchi kluczy grupowych przedstawia Rysunek 10. W ramach negocjacji klucza grupowego midzy klientem a punktem dostpowym wymieniane s dwa komunikaty EAPOL-Key. Proces negocjacji wykorzystuje tymczasowe klucze KCK i KEK wygenerowane podczas negocjacji czteroetapowej ilustruje to Rysunek 11. Jedynym celem negocjacji klucza grupowego jest anulowanie skojarzenia klienta i odnowienie klucza GTK na jego danie. Podmiot uwierzytelniajcy wybiera losow liczb GNonce i generuje nowy klucz GTK, a nastpnie, po zaszyfrowaniu go kluczem KEK, wysya go do petenta, wraz z numerem sekwencyjnym GTK oraz kodem MIC wiadomoci wyliczonym za pomoc KCK. Po otrzymaniu komunikatu klient sprawdza kod MIC, po czym moliwe staje si odszyfrowanie klucza GTK. Drugi komunikat jest wysyany przez klienta jako potwierdzenie negocjacji klucza grupowego i zawiera numer sekwencyjny klucza GTK oraz kod MIC tej dla wiadomoci.
20
hakin9 Nr 1/2006
www.hakin9.org
Po otrzymaniu komunikatu i sprawdzeniu wartoci kodu MIC, podmiot uwierzytelniajcy instaluje nowy klucz GTK. Istnieje te procedura negocjacji klucza STAkey, ale nie bdziemy jej tu omawia. Jej celem jest wygenerowanie przez punkt dostpowy tajnego klucza tymczasowego o nazwie STAkey, uywanego do obsugi pocze zestawianych na danie.
Wszystkie klucze wygenerowane w poprzednich etapach s wykorzystywane w protokoach zapewniania poufnoci i integralnoci danych RSNA: TKIP (Temporal Key Hash), CCMP (Counter-Mode/Cipher Block Chaining Message Authentication Code Protocol), WRAP (Wireless Robust Authenticated Protocol).
Zanim szczegowo poznamy poszczeglne protokoy, konieczne jest dokadne zrozumienie rnicy midzy jednostkami danych MSDU (MAC Service Data Unit) a MPDU (MAC Protocol Data Unit). Obie jednostki odpowiadaj pojedynczemu pakietowi danych, ale MSDU odpowiada pakietowi przed fragmentacj, natomiast MPDU to cz pierwotnego pakietu po fragmentacji. Rnica midzy tymi jednostkami jest istotna w przypadku szyfrowania TKIP i CCMP, gdy w TKIP kod MIC jest wyliczany na podstawie MSDU, podczas gdy w CCMP jest on wyliczany z MPDU. Podobnie do protokou WEP, TKIP oparty jest na algorytmie RC4, lecz powd jego istnienia jest tylko jeden: umoliwienie przyszej aktualizacji systemw WEP do obsugi bardziej bezpiecznego protokou. Obsuga TKIP jest wymagana do uzyskania certyfikacji WPA, natomiast w ramach RSN 802.11i jest tylko opcjonalna. TKIP implementuje mechanizmy majce na celu zaradzenie opisanym wczeniej podatnociom WEP: zapewnianie integralnoci nowy kod integralnoci wiadomo-
Rysunek 11. Faza 3: negocjacja klucza grupowego ci (MIC) o nazwie Michael moe by implementowany nawet w oprogramowaniu dziaajcym na powolnych procesorach, WI nowe reguy wyboru wartoci WI, wykorzystanie WI jako licznika powtrze (TSC TKIP Sequence Counter) oraz inkrementacja kolejnych WI w celu zapobiegania atakom powtrzeniowym, mieszanie klucza dla pojedynczych pakietw (Per Packet Key) moliwo stosowania pozornie niepowizanych kluczy szyfrujcych, zarzdzanie kluczami: nowy mechanizm zarzdzania kluczami i ich wymian. zwalajcy unikn kolizji WI) oraz starsze 32 bity WI. Etap drugi korzysta z wyniku etapu pierwszego oraz modszych 16 bitw WI, zmieniajc wszystkie bity pola Per Packet Key dla kolejnych nowych WI. Warto WI zawsze zaczyna si od 0 i jest zwikszana o 1 dla kadego wysyanego pakietu, przy czym odrzucane s wszystkie pakiety, w ktrych warto licznika TSC nie jest wiksza od wartoci dla poprzedniego pakietu. Wynik drugiej fazy mieszania, cz rozszerzonego WI oraz dodatkowy bit s podawane na wejciu algorytmu RC4. Wygenerowany w ten sposb strumie klucza jest XOR-owany z MPDU tekstu jawnego, kodem MIC wyliczonym dla tego MPDU i starym ICV protokou WEP (patrz Rysunek 12). Wyliczanie kodu MIC wykorzystuje stworzony przez Nielsa Fergusona algorytm Michael. Zosta on stworzo-
Proces mieszania klucza TKIP skada si z dwch etapw. Etap pierwszy wykorzystuje dane statyczne: tajny klucz sesji (TEK), adres MAC nadawcy (po-
www.hakin9.org
hakin9 Nr 1/2006
21
Temat numeru
Rysunek 12. Mieszanie kluczy i szyfrowanie TKIP ny specjalnie dla potrzeb TKIP a zaoony w nim poziom bezpieczestwa ma 20 bitw (przy czym ze wzgldw wydajnociowych nie moe korzysta z operacji mnoenia, gdy musi by obsugiwany rwnie na starszym sprzcie przeznaczonym do przyszej aktualizacji do WPA). Ograniczony poziom bezpieczestwa wymaga dodatkowych zabezpiecze przed faszowaniem kodu MIC. Wicej ni jedno niepowodzenie weryfikacji kodu MIC na minut powoduje zablokowanie komunikacji na 60 sekund, po czym konieczne jest ustalenie nowych kluczy GTK i PTK. Wyliczany przez Michaela MIC jest omiooktetow wartoci kontroln doczan do kadego MSDU przed jego wysaniem. MIC jest wyliczany na podstawie adresu nadawcy, adresu odbiorcy, nieszyfrowanego MSDU i odpowiedniego klucza TMK (do wysyania i odbioru wiadomoci uywane s rne klucze). Protok CCMP bazuje na szyfrze blokowym AES (Advanced Encryption Standard) w trybie CCM z kluczem i blokami o dugoci 128 bitw. Z pozoru mogoby si zdawa, e szyfr AES jest dla CCMP tym, czym RC4 dla TKIP, jednak w przeciwiestwie do TKIP, ktrego celem jest jedynie utrzymanie obsugi starszego sprztu, CCMP nie jest kompromisem, lecz zupenie nowym protokoem. CCMP generuje kod MIC w trybie licznika metod uwierzytelniania CBC (Cipher Block Chaining). W nowym protokole pojawio si kilka ciekawych rozwiza, na przykad wykorzystanie tego samego klucza z rnymi WI do szyfrowania i uwierzytelniania, albo objcie uwierzytelnianiem rwnie danych nieszyfrowanych. Protok CCMP rozszerza MPDU o dodatkowych 16 bajtw: 8 bajtw na nagwek CCMP i osiem bajtw na kod MIC. Nagwek CCMP jest nieszyfrowanym polem umieszczanym midzy nagwkiem MAC a szyfrowanymi danymi i zawierajcym 48-bitowy numer pakietu (czyli rozszerzony WI) oraz pole klucza grupowego KeyID. Numer pakietu jest zwikszany o jeden dla kadego kolejnego MPDU. Obliczanie kodu MIC odbywa si za pomoc algorytmu CBC-MAC. Jego dziaanie polega na zaszyfrowaniu pocztkowej wartoci jednorazowej (wyliczonej na podstawie wartoci pola Priority, adresu rdowego MPDU oraz zwikszonego numeru pakietu), po czym XOR-owaniu jej z kolejnymi blokami a do uzyskania ostatecznego 64-bitowego kodu MIC (wynikiem oblicze jest wprawdzie 128 bitw, ale modsze 64 bity s odrzucane). Kod MIC jest nastpnie doczany do tekstu jawnego a cao zostaje zaszyfrowana algorytmem AES w trybie licznikowym. Licznik jest tworzony na podstawie wartoci jednorazowej podobnej do tej stosowanej dla kodu MIC, ale zawierajcej dodatkowe pole licznika, inicjalizowane jedynk i zwikszane dla kadego kolejnego bloku. Istnieje te protok WRAP, ktry rwnie opiera si na AES, ale stosuje szyfrowanie uwierzytelniania w trybie OCB (Offset Codebook Mode), pozwalajce jednoczenie przeprowadza uwierzytelnianie i szyfrowanie. Grupa robocza IEEE 802.11i pierwotnie wybraa wanie tryb OCB, ale w kocu zosta on odrzucony ze wzgldw patentowych i zwizanej z nimi moliwoci pojawienia si opat licencyjnych. W jego miejsce przyjto CCMP jako protok obowizkowy.
Saboci WPA/WPA2
Od czasu pojawienia si na rynku implementacji WPA/WPA2 odkryto ju w nich kilka drobnych saboci, ale adna z nich nie stanowi powanego zagroenia pod warunkiem przestrzegania prostych regu bezpieczestwa. Najwiksze znaczenie praktyczne ma podatno klucza PSK na atak. Jak ju wspomnielimy, klucz PSK stanowi alternatyw dla wymagajcego dostpnoci serwera uwie-
22
hakin9 Nr 1/2006
www.hakin9.org
Rysunek 13. Obliczanie kodu MIC algorytmem Michael rzytelniania klucza PMK 802.1x. Kluczem PSK jest cig 256 bitw lub haso o dugoci od 8 do 63 znakw uywane do wygenerowania takiego cigu. Algorytm generowania klucza jest prosty: PSK = PMK = PBKDF2(haso, SSID, dugo SSID, 4096, 256), gdzie PBKDF2 jest algorytmem opisanym w dokumencie PKCS#5, 4096 jest liczb operacji mieszania, a 256 jest dugoci danych wejciowych. Klucz PTK jest wyliczany na podstawie PMK z wykorzystaniem negocjacji czteroetapowej, a wszelkie informacje uywane do obliczenia jego wartoci s przesyane otwartym tekstem. Sia klucza PTK zaley tym samym wycznie od klucza PMK, co w przypadku PSK oznacza po prostu zaleno od siy hasa. Robert Moskowitz zauway, e druga wiadomo negocjacji czteroetapowej moe by poddana sownikowym i siowym atakom offline. Do wykorzystania tej podatnoci stworzono narzdzie Cowpatty, ktrego kod rdowy zosta wykorzystany i ulepszony przez Christophea Devinea w Aircracku, umoliwiajc tym samym ataki sownikowe i siowe na klucz PSK w komunikacji WPA. Konstrukcja protokou 4096 operacji mieszania na kade sprawdzane haso oznacza w praktyce, e atak siowy jest bardzo powolny (zaledwie kilkaset hase na sekund na najnowszym pojedynczym procesorze). Klucza PMK nie da si wyliczy, gdy haso jest dodatkowo mieszane na podstawie wartoci ESSID. Skuteczna ochrona przed t podatnoci wymaga stosowania mocnych, niesownikowych hase o dugoci co najmniej 20 znakw. Przeprowadzenie takiego ataku wymaga od napastnika przechwycenia komunikatw negocjacji czteroetapowej poprzez pasywne monitorowanie sieci bezprzewodowej lub zastosowanie opisanego wczeniej ataku z anulowaniem uwierzytelnienia (co znacznie przyspiesza cay proces). W rzeczywistoci do podjcia prby ataku na klucz PSK potrzebne
s dwie pierwsze wiadomoci negocjacji. Wzr na warto PTK to PTK = PRF-X (PMK, rozszerzenie klucza pojedynczego, Min(AP_Mac, STA_ Mac) || Max(AP_Mac, STA_Mac) || Min(ANonce, SNonce) || Max(ANonce, SNonce)), gdzie (w tym przypadku) PMK rwna si PSK. Po przechwyceniu dwch pierwszych komunikatw napastnik zna warto ANonce (z pierwszej wiadomoci) warto SNonce (z drugiej wiadomoci) i moe rozpocz zgadywanie wartoci PSK, ktrej znajomo pozwoli wyliczy PTK i pochodne klucze tymczasowe. Udane odgadnicie PSK mona pozna po tym, e kod MIC wyliczony za pomoc odtworzonego klucza KCK daje MIC drugiej wiadomoci w przeciwnym razie trzeba zgadywa dalej. Pora na praktyczny przykad takiego ataku. Zaczynamy tak samo, jak przy amaniu protokou WEP, czyli wczamy tryb monitorowania:
# airmon.sh start ath0
Listing 7 przedstawia kolejny etap, czyli wykrywanie pobliskich sieci i skojarzonych z nimi klientw. Widoczny wynik mona odczyta nastpujco: w tej sieci bezprzewodowej uwierzytelniony jest jeden punkt dostpowy o BSSID 00:13:10:1F:9A:72, stosujcy szyfrowanie WPA na kana-
www.hakin9.org
hakin9 Nr 1/2006
23
Temat numeru
STATION 00:0C:F1:19:77:5C
Packets 1
ESSID hakin9demo
Rysunek 15. Saby klucz PSK dla WPA, odkryty za pomoc Aircracka le 1 z SSID hakin9demo oraz jeden klient o adresie MAC 00:0C:F1:19: 77:5C (oznacza to, e klient ten przeszed pomylnie proces czteroetapowej negocjacji poczenia). Po zlokalizowaniu sieci docelowej rozpoczynamy przechwytywanie pakietw na odpowiednim kanale, co pozwoli unikn przeoczenia pakietw podczas zbdnego skanowania innych kanaw:
# airodump ath0 wpa-psk 1
wej. Aireplay moe posuy rwnie do takiego ataku. Skadnia dla anulowania uwierzytelnienia klienta o wskazanym BSSID jest nastpujca:
# aireplay -0 1 -a <BSSID> -c <MAC_klienta> ath0
Kolejnym etapem bdzie anulowanie uwierzytelnienia istniejcych klientw w celu wymuszenia ponownego ich skojarzenia, co pozwoli przechwyci komunikaty negocjacji czteroetapo-
Pozostaje ju tylko przeprowadzi atak sownikowy z pomoc Aircracka (patrz Listing 8). Rysunek 15 przedstawia wynik ataku. Drug saboci WPA jest podatno na atak DoS (Denial of Service) podczas negocjacji czteroetapowej. Jak zauwayli Changhua He i John C. Mitchell, pierwszy komunikat negocjacji nie jest uwierzytelniony, w zwizku z czym klient musi ska-
dowa kady pierwszy komunikat do momentu otrzymania poprawnie podpisanego komunikatu trzeciego, co z kolei otwiera drog do potencjalnego wyczerpania zasobw klienta. Jeli dopuszczane jest istnienie kilku rwnolegych sesji, napastnik moe przeprowadzi atak DoS faszujc pierwszy komunikat wysyany przez punkt dostpowy. Rwnie kod MIC Michael posiada znane saboci, wynikajce bezporednio z ogranicze narzuconych przez zaoenia grupy roboczej 802.11i. Bezpieczestwo Michaela zaley w caoci od szyfrowania transmisji, gdy w przeciwiestwie do kryptograficznych kodw integralnoci jest on odwracalny, przez co nie jest odporny na ataki ze znanym tekstem jawnym (czyli ataki, gdzie napastnik dysponuje zarwno oryginaln wiadomoci, jak i jej kodem MIC). Do wyliczenia tajnego klucza MIC wystarczy jedna znana wiadomo i jej kod MIC, wic utrzymanie MIC-a w tajemnicy ma znaczenie absolutnie kluczowe. Ostatni ze znanych podatnoci jest teoretyczna moliwo ataku na skrt klucza tymczasowego WPA, oznaczajca w pewnych warunkach (przy znajomoci kilku kluczy RC4) zmniejszenie zoonoci ataku z 128 do 105. Implementacje WPA/WPA2 dziel te saboci innych mechanizmw standardu 802.11i, na przykad podatno na atak z faszowanymi komunikatami 802.1X (EAPoL Logoff, EAPoL Start, EAP Failure itd.), opisany po raz pierwszy przez Williama Arbaugha i Arunesha Mishr, a moliwy za spraw braku uwierzytelniania. Koniecznie trzeba te pamita, e stosowanie protokou WPA/WPA2 nie chroni przed atakami niszego poziomu, na przykad zaguszaniem czstotliwoci radiowych, atakami DoS poprzez naruszanie standardu 802.11, anulowaniem uwierzytelnienia, anulowaniem skojarzenia i tym podobnym.
24
hakin9 Nr 1/2006
www.hakin9.org
Sowniczek
AP (Access Point) punkt dostpowy, stacja bazowa sieci WiFi czca klientw sieci ze sob nawzajem i innymi sieciami. ARP (Address Resolution Protocol) protok tumaczenia adresw IP na adresy MAC. BSSID (Basic Service Set Identifier) adres MAC punktu dostpowego. CCMP (Counter-Mode / Cipher Block Chaining Message Authentication Code Protocol) protok szyfrowania stosowany w WPA2, oparty na szyfrze blokowym AES. CRC (Cyclic Redundancy Check) suma kontrolna uywana w protokole WEP jako (bardzo saby) kod integralnoci. EAP (Extensible Authentication Protocol) protok obsugujcy rne metody uwierzytelniania. EAPOL (EAP Over LAN) protok uywany w sieciach bezprzewodowych do transportu danych EAP. GEK (Group Encryption Key) klucz szyfrujcy dla transmisji grupowych (w CCMP uywany rwnie do sprawdzania integralnoci). GIK (Group Integrity Key) klucz szyfrujcy dla transmisji grupowych (uywany w TKIP). GMK (Group Master Key) klucz gwny w hierarchii kluczy grupowych. GTK (Group Transient Key) klucz tymczasowy wyliczany z GMK. ICV (Integrity Check Value) dodatkowe pole doczane do jawnych danych jako sprawdzenie integralnoci (uywa sabego algorytmu CRC32). IV (Initialization Vector) wektor inicjalizacyjny (WI), czyli cig czony z kluczem szyfrujcym w celu wygenerowania niepowtarzalnego strumienia klucza. KCK (Key Confirmation Key) klucz odpowiadajcy za integralno komunikatw negocjacji. KEK (Key Encryption Key) klucz odpowiadajcy za poufno komunikatw negocjacji. MIC (Message Integrity Code) dodatkowe pole doczane do jawnych danych jako sprawdzenie integralnoci (uywa algorytmu Michael). MK (Master Key) klucz gwny znany obu stronom po udanym procesie uwierzytelniania 802.1X. MPDU (Mac Protocol Data Unit) pakiet danych przed fragmentacj. MSDU (Mac Service Data Unit) pakiet danych po fragmentacji. PAE (Port Access Entity) port logiczny w protokole 802.1X. PMK (Pairwise Master Key) klucz gwny hierarchii kluczy pojedynczych. PSK (Pre-Shared Key) klucz wyliczany na podstawie hasa, zastpujcy klucz PMK wydawany przez serwer uwierzytelniajcy. PTK (Pairwise Transient Key) klucz tymczasowy wyliczany z PMK. RSN (Robust Security Network) architektura bezpieczestwa 802.11i (TKIP, CCMP itd.). RSNA (Robust Security Network Association) bezpieczne skojarzenie klienta w sieci RSN. RSNIE (Robust Security Network Information Element) pola zawierajce informacje RSN z pl Probe Response i Association Request. SSID (Service Set Identifier) identyfikator sieci bezprzewodowej (nie to samo co ESSID). STA (Station) klient sieci bezprzewodowej. TK (Temporary Key) tymczasowy klucz szyfrujcy w transmisji pojedynczej (w CCMP uywany rwnie do sprawdzania integralnoci). TKIP (Temporal Key Integrity Protocol) protok szyfrujcy stosowany w WPA, podobnie jak w przypadku WEP bazujcy na RC4. TMK (Temporary MIC Key) klucz integralnoci danych w transmisji pojedynczej (uywany w TKIP). TSC (TKIP Sequence Counter) licznik powtrze uywany z protokoem TKIP (nie myli z rozszerzonym WI). TSN (Transitional Security Network) architektura bezpieczestwa sieciowego obsugujca mechanizmy sprzed 802.11i (m.in. WEP). WEP (Wired Equivalent Privacy) domylny protok szyfrowania dla sieci 802.11. WPA (Wireless Protected Access) implementacja wczesnej wersji standardu 802.11i bazujca na algorytmie szyfrujcym TKIP. WRAP (Wireless Robust Authenticated Protocol) stary protok szyfrowania obsugiwany przez WPA2.
nak 29 kwietnia 2005 roku pojawia si aktualizacja dla Windows XP SP2 (KB893357) dodajca obsug WPA2 i usprawniajca wykrywanie sieci (patrz Rysunek 16). Uytkownicy innych systemw operacyjnych Microsoftu musz korzysta z zewntrznego moduu petenta (komercyjnego lub open source, na przykad wpa_supplicant, dostpnego dla Windows w wersji eksperymentalnej).
Modu wpa_supplicant dla systemw linuksowych i *BSD obsugiwa WPA2 ju w chwili publikacji standardu 802.11i. Zewntrzny petent obsuguje szeroki zakres metod EAP i mechanizmw zarzdzania kluczami dla WPA, WPA2 i WEP. Istnieje moliwo definiowania rnych algorytmw szyfrowania i zarzdzania kluczami oraz rnych metod EAP dla rnych sieci Listing 9 przedsta-
wia prosty plik konfiguracyjny WPA2. Domyln lokalizacj tego pliku jest /etc/wpa_supplicant.conf i oczywicie powinien on by dostpny wycznie dla uytkownika root. Jako uytkownik root uruchamiamy najpierw demona wpa_supplicant w trybie debugowania (przecznik -dd), podajc odpowiedni sterownik (dla naszego przykadowego chipsetu Atheros bdzie to opcja
www.hakin9.org
hakin9 Nr 1/2006
25
Temat numeru
O autorze
-D madWi-Fi ), -i,
nazw interfejsu (opcja w tym przykadzie z wartoci ath0) oraz ciek do pliku konfiguracyjnego (opcja -c ):
# wpa_supplicant -D madWi-Fi -dd -c /etc/wpa_supplicant.conf -i ath0
Podsumowanie
Wczenie trybu debugowania powoduje wypisywanie na ekranie postpw wszystkich opisanych wczeniej etapw (skojarzenia z punktem dostpowym, uwierzytelniania 802.1X, negocjacji czteroetapowej itd.). Jeli wszystko dziaa poprawnie, mona wyczy tryb debugowania i uruchomi program wpa_supplicant jako demona podajc przecznik -B zamiast -dd. WPA2 na Macintoshu jest obsugiwane od wersji 4.2 oprogramowania Apple AirPort dla maszyn z obsug AirPort Extreme, AirPort Extreme Base Station lub AirPort Express.
Dawno ju stao si jasne, e szyfrowanie WEP nie zapewnia odpowiedniego poziomu bezpieczestwa w sieciach bezprzewodowych, przez co jego bezpieczne uytkowanie jest moliwe wycznie z szyfrowaniem wyszego poziomu (na przykad w sieciach VPN). WPA jest znacznie bezpieczniejszym rozwizaniem dla starszych urzdze nieobsugujacych WPA2, ale to ten drugi bdzie ju wkrtce nowym standardem
Guillaume Lehembre jest specjalist ds. bezpieczestwa, zatrudnionym w firmie HSC (Herv Schauer Consultants http://www.hsc.fr). Jego urozmaicona kariera zawodowa obejmowaa audyty, badania i testy penetracyjne, co pozwolio mu zdoby cenne dowiadczenie w dziedzinie bezpieczestwa bezprzewodowego. Opublikowa wiele artykuw dotyczcych bezpieczestwa, wygosi te kilka odczytw. Kontakt z autorem: Guillaume.Lehembre@hsc.fr.
bezpieczestwa bezprzewodowego. W przypadku sieci o znaczeniu krytycznym trzeba mimo wszystko pamita o umieszczaniu urzdze bezprzewodowych w strefach ekranowanych i dostpnoci awaryjnego cza kablowego skutki zaguszania czstotliwoci radiowych i atakw niskopoziomowych na sieci bezprzewodowe mog nadal by dotkliwe. l
W Sieci
http://standards.ieee.org/getieee802/download/802.11i-2004.pdf standard IEEE 802.11i, http://www.awprofessional.com/title/0321136209 Real 802.11 Security Wi-Fi Protected Access and 802.11i (Edney, Arbaugh) Addison Wesley ISBN: 0-32113620-9, http://www.cs.umd.edu/~waa/attack/v3dcmnt.htm An inductive chosen plaintext attack against WEP/WEP2 (Arbaugh), http://www.drizzle.com/~aboba/IEEE/rc4_ksaproc.pdf Weaknesses in the Key Scheduling Algorithm of RC4 (Fluhrer, Mantin, Shamir), http://www.dachb0den.com/projects/bsd-airtools/wepexp.txt opis optymalizacji h1kariego, http://www.isaac.cs.berkeley.edu/isaac/mobicom.pdf Intercepting Mobile Communications: The Insecurity of 802.11 (Borisov, Goldberg, Wagner), http://airsnort.shmoo.com/ narzdzie AirSnort, http://www.cr0.net:8040/code/network/aircrack/ narzdzie Aircrack (Devine), http://weplab.sourceforge.net/ narzdzie Weplab (Sanchez), http://www.Wi-Finetnews.com/archives/002452.html opis podatnoci klucza PSK w WPA (Moskowitz), http://new.remote-exploit.org/images/5/5a/Cowpatty-2.0.tar.gz narzdzie Cowpatty do amania WPA-PSK, http://byte.csc.lsu.edu/~durresi/7502/reading/p43-he.pdf Analysis of the 802.11i 4-Way Handshake (He, Mitchell), http://www.cs.umd.edu/%7ewaa/1x.pdf An initial security analysis of the IEEE 802.1X standard (Arbaugh, Mishra), http://support.microsoft.com/?kbid=893357 aktualizacja WPA2 dla Microsoft Windows XP SP2, http://hostap.epitest.fi/wpa_supplicant/ wpa_supplicant, http://www.securityfocus.com/infocus/1814 WEP: Dead Again, cz 1, http://www.securityfocus.com/infocus/1824 WEP: Dead Again, cz 2.
26
hakin9 Nr 1/2006
www.hakin9.org