Budapesti M˝ uszaki ´es Gazdas´agtudom´anyi Egyetem Villamosm´ern¨oki ´es Informatikai Kar H´ırad´astechnikai Tansz´ek
M´ er´ esi u ´ tmutat´ oa WIFI 1: Helyi hiteles´ıt˝ o elj´ ar´ asok elleni ” t´ amad´ asok” c´ım˝ u m´ er´ eshez
H´ırk¨ozl˝o rendszerek biztons´aga szakir´any H´ırk¨ozl˝o rendszerek biztons´aga laborat´orium I. (BMEVIHIM220)
A m´er´est kidolgozt´ak: ´ ´ ra La ´ szlo ´ , Laczko ´ Pe ´ter Buttyan Levente, Do
[email protected]
CrySyS – Adatbiztons´ ag Laborat´ orium
2009. okt´ober 26.
Tartalomjegyz´ ek 1. M´ er´ es c´ elja
1
2. Elm´ eleti o ¨sszefoglal´ o 2.1. Alapfoglamak . . . . . . . . . . . . . . . . . . . . . . . 2.1.1. Vezet´ek n´elk¨ uli interf´esz . . . . . . . . . . . . . 2.1.2. Beacon u ¨zenet . . . . . . . . . . . . . . . . . . 2.2. Rejtett SSID . . . . . . . . . . . . . . . . . . . . . . . 2.3. MAC sz˝ ur´es . . . . . . . . . . . . . . . . . . . . . . . . 2.4. WEP . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.4.1. A WEP m˝ uk¨od´ese . . . . . . . . . . . . . . . . 2.4.2. A WEP hib´ ai . . . . . . . . . . . . . . . . . . . 2.4.3. Egy komplett t´amad´as WEP ellen . . . . . . . 2.5. WPA . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.5.1. Ismertet˝o . . . . . . . . . . . . . . . . . . . . . 2.5.2. Helyi hozz´ af´er´es-v´edelem ´es kulcsmenedzsment 2.5.3. WPA gyenges´egei . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
2 2 2 2 2 3 3 3 6 7 10 10 11 12
3. M´ er´ esi k¨ ornyezet
13
4. Feladatok 4.1. Csatlakoz´as rejtett SSID-j˝ u AP-hoz . . . . . . . . . . . . . . . . . . . . . . . . 4.2. WEP elleni t´amad´as . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3. WPA gyenges´egei . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14 14 15 15
5. Tov´ abbi inform´ aci´ ok
15
6. Minta beugr´ o k´ erd´ esek
17
1.
M´ er´ es c´ elja
Wi-fi, WLAN, vezet´ekn´elk¨ uli h´al´ozat, IEEE 802.11: Ha nem is mind pontosan ugyanazt fedik le, m´egis mindenki sz´am´ara t¨obbnyire ugyanazt jelenti. Adott egy fix eszk¨oz, u ´gynevezett access point (AP) vagy magyarul hozz´ af´er´esi pont, amelyik t¨obbnyire vezet´ekn´elk¨ uli kapcsolaton kereszt¨ ul biztos´ıtja az Internet hozz´ af´er´est az ´eppen hozz´ a kapcsol´ od´ o mobil ´allom´asok (STA) sz´am´ara. Az egyik legelterjedtebb megold´ast az IEEE 1999-ben kezdte szabv´anyos´ıtani 802.11-es k´odsz´am alatt [1]. Ennek a megold´asnak a biztons´ agi vonatkoz´asait k´ıv´ anjuk megismertetni a hallgat´ oval. Hogy mi´ert pont ezt? Egyr´eszt, mert ahogy m´ ar mondtuk, az egyik legelterjedtebb megold´as, teh´ at j´o es´ellyel minden informatikus tal´alkozik vele munk´ aja sor´ an. M´ asr´eszt pedig, el´eg r´eg´ota elkezd˝ od¨ ott a szabv´anyos´ıt´ as, hogy tal´aljanak benne hib´ at, amib˝ol tanulni lehet. Azt rem´elj¨ uk, hogy az itt bemutatott t´amad´ asokat a hallgat´ o ´altal´ anosabban ´ertelmezve meg´erti a h´al´ozati biztons´ ag komplexit´as´ at, ´es int˝o p´eldak´ent szolg´al a MAC sz˝ ur´es kij´atszhat´os´ aga, valamint a WEP tervez´ese sor´ an elk¨ovetett hib´ ak. A m´er´es k´et r´eszre oszlik, az els˝ oben helyi hiteles´ıt´esen alapul´ o megold´asokat vizsg´alunk, illetve az adatforgalom rejtjelez´essel ´es integrit´as-v´edelemmel kapcsolatos vizsg´alatokat v´egz¨ unk el, m´ıg a m´ asik m´er´esben a k¨ozponti hiteles´ıt´est j´arjuk k¨or¨ ul. Sikeres m´er´es eset´en a hallgat´ o az els˝ o m´er´es sor´ an 1) l´ athatja, hogy a rejtett SSID ´es a MAC sz˝ ur´es val´oj´aban mennyi biztons´ agot jelent; 2) visszafejt egy WEP jelsz´ot; 3) megvizsg´ alja a WPA biztons´ agoss´ag´ at, amin kereszt¨ ul betekint´est ny´ ujtunk a brute force t´amad´asok hat´ekonys´ag´ aba is.
1
2.
Elm´ eleti ¨ osszefoglal´ o
Ebben a fejezetben ´ attekintj¨ uk a ma haszn´alatos WLAN biztons´ agi megold´asokat, valamint azok gyenges´egeit. Mindezt egy r¨ ovid bevezet˝o ut´an, ahol n´eh´ any fogalmat ´es m˝ uk¨od´esi elvet tiszt´azunk.
2.1. 2.1.1.
Alapfoglamak Vezet´ ek n´ elk¨ uli interf´ esz
Az IEEE 802.11-ben meghat´ arozott teljes frekvencias´avot csatorn´akra osztott´ak. A jelenlegi hardver t¨obbnyire csak egy csatorn´an val´o kommunik´al´ ast enged´elyez. Ez´ert minden esetben ki kell v´alasztani, hogy melyik csatorn´an akarunk k¨ uldeni vagy hallgatni. Norm´ alis esetben ez automatikusan ´es ´eszrev´etlen¨ ul t¨ort´enik. Norm´alis esetnek tekinthet˝ o az, amikor egy STA egy adott AP-hoz kapcsol´ odik. Ilyenkor az STA be´all´ıtja a megfelel˝ o csatorn´at ´es att´ol kezdve csak egy adott frekvenciatartom´ anyban ´ertelmezi a jeleket. R´aad´ asul, ha nem promiscuous m´ odban van a k´artya, akkor azokat a csomagokat, amelyeknek nem mi vagyunk a c´ımzettjei, eldob´ asra ker¨ ulnek. Ezzel szemben promiscuous m´ odban minden olyan csomag megjelenik az interf´eszen, amelyik att´ol az AP-t´ ol ´erkezik, amelyikhez kapcsol´ odott a STA, f¨ uggetlen¨ ul att´ol, hogy ki a c´ımzett. M´eg nagyobb szabads´ agot biztos´ıt a monitor m´ od, amelyik nem ig´enyel AP-hoz val´o kapcsol´ od´ ast, ´es ennek megfelel˝ oen minden olyan csomagot megjelen´ıt az interf´eszen, amelyek 802.11 fejl´eccel rendelkeznek. Itt m´ ar CRC vizsg´alat sem t¨ort´enik, teh´ at megjelenhetnek s´er¨ ult csomagok is. Mint l´ athat´ o monitor m´ odban a c´elcsatorna nem egy´ertelm˝ u, teh´ at azt a felhaszn´al´onak kell be´all´ıtani. 2.1.2.
Beacon u ¨ zenet
Az AP periodikusan k¨ uld egy beacon u ¨zenetet minden egyes csatorn´an, hogy a hat´osugar´aban l´ev˝ o STA-k sz´am´ara tudtukra adja jelenl´et´et. Ezekben az u ¨zenetekben az AP k¨ ul¨ onb¨oz˝o inform´aci´ okat oszt meg u ´gy, mint a kommunik´aci´ ora haszn´alt csatorna, t´amogatott ´atviteli sebess´eg, biztons´ agi mechanizmus vagy az SSID. Az SSID (Service Set ID) egy azonos´ıt´ o, ami egy h´al´ozati eszk¨ozcsoportot hat´aroz meg. Az STA-k SSID alapj´an tudj´ ak megk¨ ul¨ onb¨oztetni a vezet´ek n´elk¨ uli h´al´ozatokat. Amikor t¨obb AP ugyanahhoz a h´al´ozathoz tartozik, ugyanazt az SSID-t kapj´ak. Ilyenkor a BSSIDvel (Basic SSID) lehet megk¨ ul¨ onb¨oztetni ˝oket, ami egy egyedi azonos´ıt´ o, ´es t¨obbnyire a MAC c´ımmel egyezik meg. Amikor egy STA csatlakozik az AP-hoz, az asszoci´ aci´ os csomagba be kell illeszteni az AP SSID-j´et is. Ekkor az AP ellen˝ orzi, hogy a kapott SSID megegyezik-e a saj´at SSID-j´evel. Amennyiben nem, az asszoci´ aci´ os k´er´est visszautas´ıtja.
2.2.
Rejtett SSID
A SSID-t ugyan lehet, de nem k¨otelez˝ o a beacon u ¨zenetbe beilleszteni. Amennyiben ez nem t¨ort´enik meg, akkor besz´el¨ unk rejtett SSID-j˝ u AP-r´ol. Mivel ilyenkor csak az az eszk¨oz tud csatlakozni, amelyik ismeri a SSID, az SSID tekinthet˝ o megosztott k¨oz¨os titoknak is. Ezt az elj´ar´ ast szok´as biztons´ agi megold´ask´ent haszn´alni. Csakhogy csatlakoz´askor az SSID-t ny´ıltan k¨ uldi ´at az azt ismer˝o STA, ez´ert egy t´amad´o egy asszoci´ aci´ os u ¨zenet lehallgat´ as´ aval az SSID birtok´ aba jut. Ezzel m´ ar a t´amad´o is k´epes csatlakozni az AP-hoz. R´aad´ asul egy t´amad´o k´epes k¨ uldeni egy deauthentication u ¨zenetet egy leg´ alis STA nev´eben. ´Igy a leg´ alis STA lev´alaszt´ asra ker¨ ul, amelyik nagy val´osz´ın˝ us´eggel
2
automatikusan visszacsatlakozik. Ezzel ny´ıltan ´atk¨ uldi az SSID-t, amit a t´amad´o azonnal megszerez.
2.3.
MAC sz˝ ur´ es
A MAC sz˝ ur´es tulajdonk´eppen m´ ar a vezet´ekes vil´agb´ ol is ismert elj´ar´ as, ´es f¨ uggetlen az IEEE 802.11 szabv´anyt´ ol. MAC sz˝ ur´es eset´en az AP fenntart egy list´at, hogy mely MAC c´ım˝ u STA-k jogosultak a h´al´ozat haszn´alat´ara. Amennyiben egy olyan STA k¨ uld csomagot, amely nincs a list´an, az AP egyszer˝ uen figyelmen k´ıv¨ ul hagyja a csomagot. A MAC c´ım a gy´art´ o ´ altal a h´al´ozati eszk¨ozbe be´egetett egyedi k´od. Azonban ezt a k´odot szoftveresen ´ at lehet ´ all´ıtani tetsz˝oleges ´ert´ekre, ´ıgy ak´ar egy olyan eszk¨oz´ere is, amelyik jogosult az AP-hoz val´o csatlakoz´asra. Ha egy t´amad´o sikeresen szerez egy ilyen MAC c´ımet, k´epes lesz csatlakozni az AP-hoz. Azonban, mivel minden elk¨ uld¨ ott csomagba beker¨ ul forr´ ask´ent vagy c´elk´ent a csatlakozott STA MAC c´ıme, m´ ar egy csomag elfog´ as´ aval megszerezhet˝o a c´ım. Bizonyos szempontb´ol ez a megold´as annyi biztons´ agot sem ny´ ujt, mint a rejtett SSID, mivel ott legal´ abb csak csatlakoz´askor k¨ uldt´ek ´at ny´ılt form´ aban a k¨oz¨os titkot. Itt azonban minden csomagban megjelenik a c´ım. Fontos megjegyezni viszont, hogy egyszerre k´et eszk¨oz azonos c´ımmel nem csatlakozhat ´ egy AP-hoz c´ım¨ utk¨ oz´es miatt. Eppen ez´ert a sikeres csatlakoz´ashoz meg kell v´arni, hogy a jogosult eszk¨oz lekapcsol´ odjon az AP-r´ol, vagy hamis deauthentication csomaggal lehet er˝oszakkal lev´alasztani. Azonban ilyenkor megeshet, hogy az STA megpr´ ob´ al automatikusan visszacsatlakozni.
2.4.
WEP
Az IEEE 802.11 vezet´ek n´elk¨ uli LAN szabv´any tervez˝ oi kezdett˝ ol fogva fontosnak tartott´ak a biztons´ agot. Ez´ert m´ ar a 802.11 korai verzi´oja [1] is tartalmazott biztons´ agi mechanizmusokat, melyek ¨ osszess´eg´et WEP-nek (Wired Equivalent Privacy) nevezt´ek el. Ahogy arra a n´ev is utal, a WEP c´elja az, hogy a vezet´ek n´elk¨ uli h´al´ ozatot legal´abb olyan biztons´ agoss´ a tegye, mint egy - k¨ ul¨ on¨ osebb biztons´ agi kieg´esz´ıt´esekkel nem rendelkez˝ o - vezet´ekes h´al´ozat. Ha p´eld´aul egy t´amad´o egy vezet´ekes Ethernet h´al´ozathoz szeretne csatlakozni, akkor hozz´ a kell f´ernie az Ethernet hub-hoz. Mivel azonban a h´al´ozati eszk¨oz¨ok ´altal´ aban fizikailag v´edve, z´art szob´aban tal´alhat´ok, ez´ert a t´amad´o neh´ezs´egekbe u ¨tk¨ ozik. Ezzel szemben egy v´edelmi mechanizmusokat n´elk¨ ul¨ oz˝o vezet´ek n´elk¨ uli LAN-hoz val´o hozz´ af´er´es - a r´adi´os csatorna nyitotts´aga miatt - trivi´ alis feladat a t´amad´o sz´am´ara. A WEP ezt a trivi´ alis feladatot hivatott megnehez´ıteni. Fontos azonban megjegyezni, hogy a WEP tervez˝ oi nem t¨orekedtek ”t¨ ok´eletes” biztons´ agra, mint ahogy a z´art szoba sem jelent t¨ok´eletes v´edelmet egy Ethernet hub sz´am´ara. A tervez˝ ok teh´ at nem tett´ek t´ ul magasra a l´ecet, ´am a WEP m´eg ezt a korl´atozott c´elt sem ´erte el. P´ ar ´evvel a megjelen´ese ut´an, a kriptogr´ afusok ´es az IT biztons´ agi szakemberek s´ ulyos biztons´ agi hib´ akat tal´altak a WEP-ben [2, 3, 4], ´es nyilv´ anval´ov´a v´alt, hogy a WEP nem ny´ ujt megfelel˝ o v´edelmet. A felfedez´est tett k¨ ovette, ´es hamarosan megjelentek az Interneten a WEP felt¨or´es´et automatiz´al´o programok. V´ alaszul, az IEEE u ´j biztons´ agi architekt´ ur´at dolgozott ki, melyet a 802.11 szabv´any i jelz´es˝ u kieg´esz´ıt´ese tartalmaz [5]. A 802.11i elosztott hiteles´ıt´essel kapcsolatos r´esz´et a k¨ovetkez˝ o m´er´esen, a helyi hiteles´ıt´essel kapcsolatos ter¨ uleteit a k¨ovetkez˝ o fejezetben t´argyaljuk. Ebben a fejezetben a WEP m˝ uk¨od´es´et ´es hib´ ait tekintj¨ uk ´ at. 2.4.1.
A WEP m˝ uk¨ od´ ese
Vezet´ek n´ek¨ uli h´al´ozatok eset´eben k´et alapvet˝ o biztons´ agi probl´ema mer¨ ul fel. Egyr´eszt a r´adi´os csatorna jellege miatt a kommunik´aci´ o k¨onnyen lehallgathat´ o. M´ asr´eszt — s ez 3
tal´an fontosabb — a h´al´ozathoz val´o csatlakoz´as nem ig´enyel fizikai hozz´ af´er´est a h´al´ozati csatlakoz´oponthoz (Access Point, vagy r¨oviden AP), ez´ert b´arki megpr´ ob´ alhatja a h´al´ozat szolg´altat´asait illeg´ alisan ig´enybe venni. A WEP az els˝ o probl´em´at az u ¨zenetek rejtjelez´esvel igyekszik megoldani, a m´ asodik probl´ema megold´asa ´erdek´eben pedig megk¨oveteli a csatlakozni k´ıv´ an´ o mobil eszk¨oz (Station, vagy r¨oviden STA) hiteles´ıt´es´et az AP fel´e. A hiteles´ıt´est egy egyszer˝ u kih´ıv´ as-v´ alasz alap´ u protokoll v´egzi, mely n´egy u ¨zenet cser´ej´eb˝ ol ´all. Els˝ok´ent a STA jelzi, hogy szeretn´e hiteles´ıteni mag´at (authenticate request). V´ alaszul az AP gener´ al egy v´eletlen sz´amot, s azt kih´ıv´ ask´ent elk¨ uldi a STA-nak (authenticate challenge). A STA rejtjelezi a kih´ıv´ ast, s az eredm´enyt visszak¨ uldi az AP-nak (authenticate response). A STA a rejtjelez´est egy olyan titkos kulccsal v´egzi, melyet csak a STA ´es az AP ismer. Ez´ert ha az AP sikeresen dek´ odolja a v´alaszt (azaz a dek´ odol´as eredm´enyek´ent visszakapja saj´at kih´ıv´ as´ at), akkor elhiszi, hogy a v´alaszt az adott STA a´ll´ıtotta el˝ o, hiszen csak az ismeri a helyes v´alasz gener´ al´as´ ahoz sz¨ uks´eges titkos kulcsot. M´ as szavakkal, a v´alasz sikeres dek´ odol´asa eset´en az AP hiteles´ıtette a STA-t, ´es ennek megfelel˝ oen d¨onthet arr´ ol, hogy a csatlakoz´ast enged´elyezi vagy sem. A d¨ont´esr˝ol az AP a protokoll negyedik u ¨zenet´eben t´aj´ekoztatja a STA-t (authenticate success vagy failure). Miut´an a hiteles´ıt´es megt¨ ort´ent, a STA ´es az AP u ¨zeneteiket rejtjelezve kommunik´alnak. A rejtjelez´eshez ugyanazt a titkos kulcsot haszn´alj´ak, mint a hiteles´ıt´eshez. A WEP rejtjelez˝ o algoritmusa az RC4 kulcsfolyam k´odol´o. A kulcsfolyam k´odol´ok u ´gy m˝ uk¨odnek, hogy egy kis m´eret˝ u, n´eh´ any b´ajtos titkos kulcsb´ol egy hossz´ u ´alv´eletlen b´ajtsorozatot ´all´ıtanak el˝o, ´es ezen sorozat b´ajtjait XOR-olj´ ak az u ¨zenet b´ajtjaihoz. Ez t¨ort´enik a WEP eset´eben is. Az M u ¨zenet k¨ uld˝ oje (a STA vagy az AP) a titkos kulccsal inizializ´alja az RC4 k´odol´ot, majd az RC4 ´altal el˝ oa´ll´ıtott K ´ alv´eletlen b´ajtsorozatot XOR-olja az u ¨zenethez. Az M ⊗K rejtjelezett u ¨zenet vev˝ oje ugyanazt teszi mint a k¨ uld˝ o: a titkos kulccsal inicializ´alja az RC4 algoritmust, amely ´ıgy ugyanazt a K ´ alv´eletlen b´ajtsorozatot ´all´ıtja el˝ o, amit a rejtjelez´eshez haszn´alt a k¨ uld˝ o. Ezt a rejtjelezett u ¨zenethez XOR-olva — az XOR m˝ uvelet tulajdons´agai miatt - a vev˝ o az eredeti u ¨zenetet kapja vissza: (M ⊗ K) ⊗ K = M . A fent le´ırtak majdnem megfelelnek a val´os´ agnak, van azonban m´eg valami amit a WEP rejtejelez´es kapcs´an meg kell eml´ıteni. K¨onnyen l´ athat´ o, hogy ha a rejtjelez´es a fent le´ırtak szerint m˝ uk¨odne, akkor minden u ¨zenethez ugyanazt a K ´alv´eletlen b´ajtsorozatot XORoln´ank, hiszen a k´odol´ot minden u ¨zenet elk¨ uld´ese el˝ ott ugyanazzal a titkos kulccsal inicializ´aljuk. Ez t¨obb szempontb´ol is hiba lenne. Tegy¨ uk fel p´eld´aul, hogy egy t´amad´o lehallgat k´et rejtjelezett u ¨zenetet, M1 ⊗ K-t ´es M2 ⊗ K-t. A k´et rejtjelezett u ¨zenetet XOR-olva, a t´amad´o a k´et ny´ılt u ¨zenet XOR ¨ osszeg´et kapja: (M1 ⊗ K) ⊗ (M2 ⊗ K) = M1 ⊗ M2 . Ez olyan, mintha az egyik u ¨zenetet a m´ asik u ¨zenettel, mint kulcsfolyammal rejtjelezt¨ uk volna. ´ Am ebben az esetben M1 ´es M2 nem ´alv´eletlen b´ajtsorozatok. Val´oj´aban teh´ at M1 ⊗ M2 egy nagyon gyenge rejtjelez´es, ´es a t´amad´o az u ¨zenetek statisztikai tulajdons´agait felhaszn´alva k¨onnyen meg tudja fejteni mindk´et u ¨zenetet. Tov´abbi p´eldak´ent tegy¨ uk fel, hogy a t´amad´o lehallgat egy rejtjelezett u ¨zenetet, M ⊗ K-t, ahol M -et teljes eg´esz´eben, vagy r´eszben ismeri. Ez nem irre´ alis felt´etelez´es, hiszen az M u ¨zenet tartalmazza a fels˝obb szint˝ u protokollok fejl´eceit, melyeknek mez˝oi t¨obbnyire ismertek lehetnek a t´amad´o sz´am´ara. Az egyszer˝ us´eg kedv´e´ert most tegy¨ uk fel, hogy a t´amad´o a teljes M u ¨zenetet ismeri. Ekkor a megfigyelt M ⊗ K ´es az ismert M u ¨zenet XOR ¨osszege pont K-t adja: (M ⊗ K) ⊗ M = K. Ennek ismeret´eben azonban a t´amad´o a tov´abbi rejtjelezett u ¨zeneteket egyszer˝ uen dek´ odolni tudja. Ha nem a teljes M u ¨zenetet ismeri a t´amad´o, akkor csak K egy r´esz´ehez jut hozz´ a, ´ am a tov´abbi rejtjelezett u ¨zeneteket ekkor is r´eszben dek´ odolni tudja. A fenti probl´em´ak elker¨ ul´ese ´erdek´eben, a WEP nem egyszer˝ uen a titkos kulcsot haszn´alja a rejtjelez´eshez, hanem azt kieg´esz´ıti egy IV-nek (Initialization Vector) nevezett ´ert´ekkel, mely u ¨zenetenk´ent v´altozik. A rejtjelez´es folyamata teh´ at a k¨ovetkez˝ o: az IV-t ´es a titkos kulcsot ¨ osszef˝ uzz¨ uk, a kapott ´ert´ekkel inicializ´aljuk az RC4 k´odol´ot, mely el˝oa´ll´ıtja az ´alv´eletlen b´ajtsorozatot, amit az u ¨zenethez XOR-olunk. A dek´ odol´as folyamata ezzel anal´og.
4
üzenet (+ ICV)
IV
xxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
titkos kulcs
RC4 kódolás IV üzenet (+ ICV) dekódolás
IV
xxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
titkos kulcs
RC4 üzenet (+ ICV)
1. ´ abra. A WEP rejtjelez´es folyamata Ebb˝ol k¨ovetkezik, hogy a vev˝ onek sz¨ uks´ege van a k´odol´asn´ al haszn´alt IV-re. Ez a rejtjelezett u ¨zenethez f˝ uzve, ny´ıltan ker¨ ul ´ atvitelre. Ez elvileg nem jelent probl´em´at, mert az u ¨zenet dek´ odol´as´ ahoz csup´an az IV ismerete nem elegend˝ o, ahhoz a titkos kulcsot is ismerni kell. A m´ereteket illet˝oen megeml´ıtj¨ uk - s ennek k´es˝obb m´eg lesz jelent˝os´ege - hogy az IV 24 bites, a titkos kulcs pedig (´altal´ aban) 104 bites1 . A WEP rejtjelez´es teljes folyamat´at az 1. ´abra szeml´elteti. Az 1. ´ abra azt is mutatja, hogy a rejtjelez´es el˝ ott, a k¨ uld˝ o egy integrit´as-v´ed˝ o ellen˝orz˝o ¨osszeggel (Integrity Check Value, vagy r¨oviden ICV) eg´esz´ıti ki a ny´ılt u ¨zenetet, melynek c´elja a sz´and´ekos m´ odos´ıt´ asok detekt´ al´as´ anak lehet˝ ov´e t´etele a vev˝ o sz´am´ara. A WEP eset´eben az ICV nem m´ as mint a ny´ılt u ¨zenetre sz´amolt CRC ´ert´ek. Mivel azonban a CRC ¨onmag´aban nem v´ed a sz´and´ekos m´ odos´ıt´ asok ellen (hiszen egy t´amad´o a m´ odos´ıtott u ¨zenethez u ´j CRC ´ert´eket tud sz´amolni), ez´ert a WEP a CRC ´ert´eket is rejtjelezi. A m¨ og¨ ottes gondolat az, hogy ´ıgy a t´amad´o nem tudja manipul´ alni az u ¨zeneteket, hiszen a titkos kulcs hi´ any´aban nem tudja a m´ odos´ıtott u ¨zenethez tartoz´o rejtjelezett CRC ´ert´eket el˝oa´ll´ıtani. Mint azt al´abb l´ atni fogjuk, ez a gondolatmenet nem teljesen hibamentes. V´egezet¨ ul a WEP kulcsokr´ol sz´olunk r¨oviden. A szabv´any lehet˝ ov´e teszi, hogy minden STA-nak saj´at titkos kulcsa legyen, amit csak az AP-vel oszt meg. Ez azonban megnehez´ıti a kulcsmenedzsmentet az AP oldal´ an, mivel ekkor az AP-nek minden STA kulcs´at ismernie ´es gondoznia kell. Ez´ert a legt¨ obb implement´aci´ o nem t´amogatja ezt a lehet˝ os´eget. A szabv´any el˝ o´ır egy u ´n. default kulcsot is, amit az AP ´es a h´al´ozathoz tartoz´o minden STA ismer. Eredetileg ezt a kulcsot azon u ¨zenetek v´edelm´ere sz´ant´ak, melyeket az AP t¨obbessz´ or´ assal (broadcast) minden STA-nak el szeretne k¨ uldeni. A legt¨ obb WEP implement´aci´ o azonban csak ezt a megold´ast t´amogatja. ´Igy a gyakorlatban, egy adott h´al´ozathoz tartoz´o eszk¨oz¨ok egyetlen k¨oz¨os kulcsot haszn´alnak titkos kulcsk´ent. Ezt a kulcsot manu´alisan kell telep´ıteni a mobil eszk¨oz¨okben ´es az AP-ben. Nyilv´anval´o, hogy ez a megold´as csak egy k¨ uls˝o t´amad´o ellen biztos´ıtja a kommunik´aci´ o biztons´ ag´ at; az eszk¨oz¨ok dek´ odolni tudj´ ak egym´as u ¨zeneteit. 1
K¨ ul¨ onb¨ oz˝ o marketing anyagokban ezt gyakran u ´ gy interpret´ alj´ ak, hogy a WEP 128 bites biztons´ agot” ” ny´ ujt. Ez term´eszetesen f´elrevezet˝ o (mint a marketing anyagok ´ altal´ aban), hiszen a 128 bitb˝ ol 24 ny´ıltan ker¨ ul atvitelre ´
5
2.4.2.
A WEP hib´ ai
A WEP tulajdonk´eppen a rossz protokolltervez´es mintap´eld´aja. Az al´abbi t¨om¨or ¨osszefoglal´ ob´ ol l´ athat´ o, hogy l´enyeg´eben egyetlen kit˝ uz¨ ott biztons´ agi c´elt sem val´os´ıt meg t¨ok´eletesen: Hiteles´ıt´ es. A WEP hiteles´ıt´esi elj´ar´ as´ anak t¨obb probl´em´aja is van. Els˝ok´ent mindj´art az, hogy a hiteles´ıt´es egyir´any´ u, azaz a STA hiteles´ıti mag´at az AP fel´e, ´am az AP nem hiteles´ıti mag´at a STA fel´e. M´ asodszor, a hiteles´ıt´es ´es a rejtjelez´es ugyanazzal a titkos kulccsal t¨ort´enik. Ez az´ert nem k´ıv´ anatos, mert ´ıgy a t´amad´o mind a hiteles´ıt´esi, mind pedig a rejtjelez´esi elj´ar´ as potenci´alis gyenges´egeit kihaszn´alhatja egy, a titkos kulcs megfejt´es´ere ir´ anyul´o t´amad´asban. Biztons´agosabb lenne, ha minden funkci´ ohoz k¨ ul¨ on kulcs tartozna. A harmadik probl´ema az, hogy a protokoll csak a h´al´ozathoz t¨ort´en˝ o csatlakoz´as pillanat´aban hiteles´ıti a STA-t. Miut´an a hiteles´ıt´es megt¨ ort´ent ´es a STA csatlakozott a ´ h´al´ozathoz, b´arki k¨ uldhet a STA nev´eben u ¨zeneteket annak MAC c´ım´et haszn´alva. Ugy t˝ unhet, hogy ez annyira nem nagy gond, hiszen a t´amad´o, a titkos kulcs ismeret´enek hi´ any´aban, ´ u ´gysem tud helyes rejtjelezett u ¨zenetet fabrik´ alni, amit az AP elfogad. Am ahogy azt kor´ abban eml´ıtett¨ uk, a gyakorlatban az ¨osszes STA egy k¨oz¨os titkos kulcsot haszn´al, s ´ıgy a t´amad´o megteheti azt, hogy egy STA1 ´altal k¨ uld¨ ott - ´es a t´amad´o ´altal lehallgatott rejtejelezett u ¨zenetet STA2 nev´eben megism´etel az AP fel´e; ezt az AP el fogja fogadni. A negyedik probl´ema egy gy¨ongyszem a protokolltervez´esi hib´ ak k¨oz¨ott. Eml´ekeztet¨ unk arra, hogy a WEP rejtjelez´esi algoritmusa az RC4 folyamk´ odol´o. Nemcsak az u ¨zeneteket k´odolj´ak az RC4 seg´ıts´eg´evel, hanem a STA ezt haszn´alja a hiteles´ıt´es sor´ an is az AP ´altal k¨ uld¨ ott kih´ıv´ as rejtjelez´es´ere. ´Igy a t´amad´o a hiteles´ıt´es sor´ an k¨ uld¨ ott u ¨zenetek lehallgat´ as´ aval k¨onnyen hozz´ ajut a C kih´ıv´ ashoz ´es az arra adott R = C ⊗ K v´alaszhoz, melyb˝ol C ⊗ R = K alapj´an azonnal megkapja az RC4 algoritmus ´altal gener´ alt K ´alv´eletlen b´ajtsorozatot. A j´at´eknak ezzel v´ege, hiszen K seg´ıts´eg´evel a t´amad´o b´armikor, b´armilyen kih´ıv´ asra helyes v´alaszt tud gener´ alni a STA nev´eben (s ezen az IV haszn´alata sem seg´ıt, mert az IV-t a rejtjelezett u ¨zenet k¨ uld˝ oje, jelen esetben a t´amad´o v´alasztja). S˝ot, mivel a gyakorlatban minden, az adott h´al´ozathoz tartoz´o eszk¨oz ugyanazt a titkos kulcsot haszn´alja, a t´amad´o ezek ut´an b´armelyik eszk¨oz nev´eben csatlakozni tud a h´al´ozathoz. Persze a csatlakoz´as ¨onmag´ aban m´eg nem elegend˝ o, a t´amad´o haszn´ alni is szeretn´e a h´al´ozatot. Ehhez olyan u ¨zeneteket kell fabrik´ alnia, amit az AP elfogad. A rejtjelez´es k¨ovetelm´enye miatt ez nem trivi´ alis feladat (hiszen mag´ahoz a titkos kulcshoz m´eg nem jutott hozz´ a a t´amad´o), de a WEP hib´ ainak t´arh´ aza b˝oven tartogat m´eg lehet˝ os´egeket. Integrit´ as-v´ edelem. A WEP-ben az u ¨zenetek integrit´as´ anak v´edelm´et az u ¨zenetekhez csatolt ellen˝orz˝o ¨ osszeg (ICV) hivatott biztos´ıtani. Az ICV nem m´ as, mint az u ¨zenetre sz´amolt CRC ´ert´ek, mely az u ¨zenettel egy¨ utt rejtjelez´esre ker¨ ul. Form´alis jel¨ol´eseket haszn´alva, a rejtjelezett u ¨zenet a k¨ovetkez˝ o m´ odon ´ırhat´ o fel: (M ||CRC(M )) ⊗ K, ahol M a ny´ılt u ¨zenet, K az RC4 ´ altal az IV-b˝ol ´es a titkos kulcsb´ol el˝ oa´ll´ıtott ´alv´eletlen b´ajtsorozat, CRC(.) jel¨oli a CRC f¨ uggv´enyt, ´es || jel¨oli az ¨ osszef˝ uz´es m˝ uvelet´et. Ismeretes, hogy a CRC line´ aris m˝ uvelet az XOR-ra n´ezve, azaz CRC(X ⊗ Y ) = CRC(X) ⊗ CRC(Y ). Ezt kihaszn´alva, a t´amad´o a rejtjelezett WEP u ¨zenetek b´armely bitj´et m´ odos´ıtani tudja (´at tudja billenteni), b´ar mag´at az u ¨zenetet nem l´ atja. Jel¨olj¨ uk a t´amad´o sz´and´ekolt m´ odos´ıt´ asait ∆M -mel. Ekkor a t´amad´o az ((M ⊗ ∆M )||CRC(M ⊗ ∆M )) ⊗ K rejtjelezett u ¨zenetet szeretn´e el˝oa´ll´ıtani az eredetileg megfigyelt (M ||CRC(M )) ⊗ K rejtjelezett u ¨zenetb˝ ol. Ehhez egyszer˝ uen CRC(∆M )-et kell kisz´amolnia, majd a M ||CRC(∆M ) ´ert´eket kell az eredeti rejtjelezett u ¨zenethez XOR-olnia. A k¨ovetkez˝ o egyszer˝ u levezet´es mutatja, hogy ez mi´ert vezet c´elra:
6
((M ||CRC(M )) ⊗ K) ⊗ (∆M ||CRC(∆M )) = ((M ⊗ ∆M )||(CRC(M ) ⊗ CRC(∆M ))) ⊗ K = ((M ⊗ ∆M )||CRC(M ⊗ ∆M )) ⊗ K ahol az utols´o l´ep´esben kihaszn´altuk a CRC linearit´as´ at. Mivel CRC(∆M ) kisz´amol´ as´ ahoz nincs sz¨ uks´eg a titkos kulcsra, ez´ert l´ athat´ oan a t´amad´o k¨onnyen tudja manipul´ alni a WEP u ¨zeneteket, az integrit´as-v´edelem ´es a rejtjelez´es ellen´ere. Az u ¨zenetfolyam integrit´as´ anak v´edelme kapcs´an szok´as eml´ıteni az u ¨zenetvisszaj´atsz´as detekt´ al´as´ at, mint biztons´ agi k¨ovetelm´enyt. A WEP eset´eben ennek vizsg´alat´aval egyszer˝ u dolgunk van, mert a WEP-ben egy´ altal´ an nincs semmilyen mechanizmus mely az u ¨zenetek visszaj´atsz´as´ anak detekt´ al´as´ at lehet˝ ov´e tenn´e. A tervez˝ ok nemes egyszer˝ us´eggel err˝ol a biztons´ agi k¨ovetelm´enyr˝ol megfeledkeztek. A t´amad´o teh´ at b´armely eszk¨oz kor´ abban r¨ogz´ıtett u ¨zenet´et vissza tudja j´atszani egy k´es˝obbi id˝ opontban, s ezt a WEP nem detekt´ alja. Nyilv´anval´o, hogy ez mi´ert gond, ha arra gondolunk, hogy a r¨ogz´ıtett u ¨zenet ak´ar egy bejelentkez´esi folyamatb´ol is sz´armazhat, s p´eld´aul egy felhaszn´al´oi n´ev/jelsz´o p´art tartalmazhat. Titkos´ıt´ as. Mint azt kor´ abban eml´ıtett¨ uk, folyamk´ odol´ok haszn´alata eset´en fontos, hogy minden u ¨zenet m´ as kulccsal legyen rejtjelezve. Ezt a WEP-ben az IV haszn´alata biztos´ıtja; sajnos nem teljesen megfelel˝ o m´ odon. A probl´ema abb´ ol ad´ odik, hogy az IV csak 24 bites, ami azt jelenti, hogy kb. 17 milli´ o lehets´eges IV van. Egy WiFi eszk¨oz kb. 500 teljes hossz´ us´ag´ u keretet tud forgalmazni egy m´ asodperc alatt, ´ıgy a teljes IV teret kb. 7 ´ora leforg´ asa alatt kimer´ıti. Azaz 7 ´ or´ ank´ent ism´etl˝odnek az IV ´ert´ekek, s ezzel az RC4 ´altal el˝oa´ll´ıtott ´alv´eletlen b´ajtsorozatok is. A probl´em´at s´ ulyosb´ıtja, hogy a gyakorlatban minden eszk¨oz ugyanazt a titkos kulcsot haszn´alja, potenci´alisan k¨ ul¨ onb¨oz˝o IV ´ert´ekekkel, ´ıgy ha egyszerre n eszk¨oz haszn´alja a h´al´ozatot, akkor az IV u ¨tk¨ oz´es v´arhat´ o ideje a 7 ´ora n-ed r´esz´ere cs¨okken. Egy m´ asik s´ ulyosb´ıt´ o t´enyez˝ o, hogy sok WEP implement´aci´ o az IV-t nem v´eletlen ´ert´ekr˝ ol ind´ıtja, hanem null´ar´ ol. Ez´ert beind´ıt´ as ut´an a k¨ ul¨ onb¨oz˝ o eszk¨oz¨ok ugyanazt a null´at´ ol indul´o ´es egyes´evel n¨ovekv˝o IV sorozatot haszn´alj´ak, legt¨ obbsz¨or ugyanazzal a k¨oz¨os titkos kulccsal. Azaz, a t´amad´onak v´arakoznia sem kell, azonnal IV u ¨tk¨ oz´esekhez jut. A WEP teljes ¨ osszeoml´as´ at az RC4 k´odol´o nem megfelel˝ o haszn´alata okozza. Ismeretes, hogy l´eteznek u ´n. gyenge RC4 kulcsok, melyekre az a jellemz˝o, hogy bel˝ol¨ uk az RC4 algoritmus nem teljesen v´eletlen b´ajtsorozatot ´all´ıt el˝ o [6]. Ha valaki meg tudja figyelni egy gyenge kulcsb´ol el˝ oa´ll´ıtott b´ajtsorozat els˝ o n´eh´ any b´ajtj´at, akkor abb´ ol k¨ovetkeztetni tud a kulcsra. Ez´ert a szakemberek azt javasolj´ak, hogy az RC4 a´ltal el˝oa´ll´ıtott b´ajtsorozat els˝ o 256 b´ajtj´at mindig dobjuk el, s csak az ut´ana gener´ alt b´ ajtokat haszn´aljuk a rejtjelez´eshez. Ezzel a gyenge kulcsok probl´em´aj´ at meg lehetne oldani. Sajnos a WEP nem ´ıgy m˝ uk¨odik. R´aad´ asul a v´altoz´ o IV ´ert´ek miatt el˝ obb-ut´obb biztosan gyenge kulcsot kap a k´odol´o, s az IV ny´ılt ´atvitele miatt, err˝ol a t´amad´o is tudom´ ast szerezhet. Ezt kihaszn´alva, n´eh´ any kriptogr´ afus olyan t´amad´o algoritmust konstru´ alt a WEP ellen, melynek seg´ıts´eg´evel a teljes 104 bites titkos kulcs n´eh´ any milli´ ou ¨zenet lehallgat´ asa ut´an nagy val´osz´ın˝ us´eggel megfejthet˝ o. A WEP minden kor´ abban le´ırt hib´ aja elt¨orp¨ ul ezen eredm´eny mellett, ugyanis ezzel a t´amad´assal mag´ahoz a titkos kulcshoz jut hozz´ a a t´amad´o. R´aad´ asul a t´amad´as k¨onnyen automatiz´alhat´o, ´es n´eh´ any seg´ıt˝ ok´esz” embernek k¨osz¨onhet˝ oen, az Internetr˝ol let¨olt¨ott t´amad´o ” programok haszn´alat´aval amat˝or¨ ok ´altal is rutinszer˝ uen v´egrehajthat´o. 2.4.3.
Egy komplett t´ amad´ as WEP ellen
Miut´an a hallgat´ o megismerkedett a WEP m˝ uk¨od´es´evel, ´es ismeri a f˝obb hib´ ait, itt az ideje egy komplex, gyors ´es sikeres t´amad´as bemutat´as´ anak. Ahogy l´ athat´ o, az eddig bemutatott gyenges´egek amellett, hogy kiakn´az´as´ aval csak r´eszsikereket ´er¨ unk el, sokszor olyan 7
felt´etelez´esen alapulnak (pl. ismert ny´ılt sz¨oveg r´eszlet, n´eh´ any milli´ o elfogott csomag), amelyek jelenl´et´enek felismer´ese nem k¨onny˝ u feladat, ´es a WEP-t˝ol teljesen f¨ uggetlen. A hamarosan bemutat´asra ker¨ ul˝ o t´amad´as bemutat´asa sor´ an egy nem mell´ekes c´el, hogy a hallgat´ oval ´erz´ekeltess¨ uk, hogy a gyenges´egek, melyekre ¨onmagukban vizsg´alva tal´an sokan k¨onnyen legyintenek is, mik´ent ´ allnak ¨ossze egy sikeres ´es nem mellesleg gyors t´amad´ass´ a. A t´amad´as kivitelez´es´ehez, melyben nem kisebb c´elt k´ıv´ anunk el´erni, mint a WEP-es jelsz´o visszafejt´ese, a szerz˝ok vezet´ekneveinek kezd˝ obet˝ uir˝ ol elnevezett FMS m´ odszert [6] haszn´aljuk. Az FMS m´ odszer az RC4 haszn´alat´ab´ ol ad´ od´ o gyenges´egek kihaszn´al´asa mellett statisztikai eszk¨oz¨oket is bevet. A statisztikai m´ odszereket csak nagy sz´am´ u mint´an lehet alkalmazni, ´eppen ez´ert sok k¨ ul¨ onb¨oz˝o IV-hez tartoz´o rejtjelezett u ¨zenetet kell elfogni. Mindez nagyon hosszadalmas lehet, ha nincs nagy forgalom a h´al´ozaton. Szerencs´ere” a ” WEP t¨obbi gyenges´ege lehet˝ os´eget ad a mesters´eges forgalomgener´al´asra. Az egyik u ´t a sikeres t´amad´ashoz a k¨ovetkez˝ o l´ep´eseken ´at vezet. 1) El˝ osz¨or is egy b´armilyen IV-hez tartoz´o 1500 b´ajtos kulcsfolyamot kell szerezni, hogy ´altalunk gener´ alt u ¨zenetet tudjunk visszainjekt´alni a h´al´ozatba. 1500 b´ajt az´ert elegend˝ o, mert az Interneten a IP csomagokat ´altal´ aban 1500 b´ajtos darabokban sz´all´ıtanak tov´abb (MTU), ´es ett˝ ol nemigen szoktak elt´erni kisebb h´al´ozatok eset´en sem. 2) Ezek ut´an egy olyan u ¨zenetet kell gener´ alni, amire tudjuk, hogy mit v´alaszol az AP, ´es mivel azt egy m´ asik IV-vel k¨ uldi, ez´ert megismer¨ unk egy m´ asik IV-hez tartoz´o kulcsfolyamot. Ennek k¨osz¨onhet˝ oen u ´jabb u ¨zeneteket tudunk gener´ alni, mik¨ ozben u ´jabb IV-khez tartoz´o u ¨zeneteket kapunk. A k¨ovetkez˝ okben r´eszletesebben ´ attekintj¨ uk, hogy mik´ent kivitelezhet˝ oek ezek a r´eszt´ amad´asok. A meg´ert´est seg´ıti a 2. ´ abra. Tov´abbi r´eszletekhez a The Final Nail in WEP’s Coffin’ c´ım˝ u cikket [7] aj´anlom. Els˝o l´ep´esk´ent egy adott IV-hez tartoz´o kulcsfolyam els˝ o 8 b´ajtj´at kell megszerezni. Ez az´ert k¨onny˝ u feladat, mert szinte minden 802.11 adatcsomag rejtjelezett r´esz´enek els˝ o 8 b´ajtja egy u ´gynevezett LLC/SNAP fejl´ec. Ennek a fejl´ecnek k¨osz¨onhet˝ oen lehet ARP ´es IP csomagokat k¨ uldeni a WLAN h´al´ozaton kereszt¨ ul. Az els˝ o 7 b´ajt adott, a 8. pedig k´etf´ele ´ert´eket vehet fel: ARP eset´en 0x06, IP eset´en 0x00. A val´os´ agban a csomag m´eret´eb˝ ol k¨ovetkeztetni lehet, hogy ARP vagy IP csomaggal van dolgunk, mert az ARP u ¨zenetek mindig fixen 36 b´ajt hossz´ uak, az IP csomagok pedig ett˝ ol val´osz´ın˝ uleg elt´er˝oek. Teh´ at az els˝ o 8 b´ajtot rejtelezett u ¨zenetb˝ ol az ismertnek tekinthet˝ o LLC/SNAP fejl´eccel egyszer˝ uen XOR-olva megkapjuk a kulcsfolyamk´ odol´o els˝ o 8 b´ajtj´at. Ez ¨onmag´aban m´eg nyilv´ anval´oan nem elegend˝ ou ¨zenet k¨ uld´esre. Csakhogy a WEP megengedi, hogy adatkapcsolat r´etegbeli u ¨zeneteket daraboljunk, u ´gy hogy k¨ozben ugyanazt az IV-t haszn´aljuk. Erre azonban van egy korl´at, legfeljebb 16 azonos IV-j˝ u u ¨zenetet fogad el az AP. ´Igy ¨osszesen 4 × 16 = 64 b´ajtos u ¨zenetet tudunk k¨ uldeni, mivel minden egyes u ¨zenetdarab 8 b´ajtj´ab´ ol az utols´o 4 b´ajtot elfoglalja a CRC k´od. A k¨ovetkez˝ o l´ep´eshez ismerni kell a broadcast u ¨zenetek k¨ uld´esi mechanizmus´at. Amennyiben egy STA0 akar u ¨zenetet k¨ uldeni az AP-hoz kapcsol´ od´ o minden m´ asik STAi -nak, azt csak az AP-n kereszt¨ ul tudja megtenni. Ennek oka, hogy l´etezhet egy m´ asik olyan STAi , aki STA0 hat´osugar´an k´ıv¨ ul tart´ozkodik, de az AP-t mindenketten el´erik. Teh´ at az STA0 -t´ol ´erkez˝ o broadcast u ¨zenetet csak az AP dolgozza f¨ol, aki viszont u ´jra k¨ uldi azt. Az AP az u ¨zenet k¨ uld´esekor az STA0 -t jel¨oli meg forr´ ask´ent. Ezt az´ert fontos kiemelni, mert lehallgat´ askor nem lehet megk¨ ul¨ onb¨oztetni az STA0 ´es az AP ´altal k¨ uld¨ ott csomagokat. A t´amad´as a k¨ovetkez˝ o m´ odon folytathat´ o. A t´amad´o a darabokban elk¨ uld¨ ott 64 b´ajtban egy broadcast u ¨zenetet k¨ uld (abcdefgh a 2. ´abr´ an), amit az AP el˝osz¨or ¨osszerak, majd u ´j IV-vel ell´atva u ´jrak¨ uldi. A t´amad´o pontosan tudja, hogy mi a k¨ uld¨ ott u ¨zenet teljes tartalma, hiszen ˝o ´all´ıtotta ¨ ossze, viszont az AP nem darabolva k¨ uldi, hanem egyben, amihez a 4 b´ajtos CRC-t hozz´ ateszi, amit viszont most m´ ar a t´amad´o is ki tud sz´amolni. Teh´ at a t´amad´o ´ıgy m´ ar 68 b´ajtnyi egy m´ asik IV-hez tartoz´o kulcsfolyamot ismer. A darabol´ast kihaszn´al´o t´amad´as imm´ ar nagyobb u ¨zenetdarabokkal megism´etelhet˝o (pl.
8
STA
AP
IV0 IV0 a xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
IV0 b xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
...
IV0 h xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
IV1 IV1
abcdefgh
xxxx xxxx xxxxxx xxxx xxxx
abcdefgh abcdefgh
= IV1 IV1
A
IV1
B
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
...
IV1
H
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
IV2 IV2
ABCDEFGH
xxxx xxxx xxxxxx xxxx xxxx
ABCDEFGH
ABCDEFGH
= IV2
IV2
alpha
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
...
xxxx xxxxxx xxxx xxxx xxxx
- Broadcast
2. ´ abra. Egy IV ´es a hozz´ a tartoz´o kulcs megszerz´es´enek l´ep´esei
9
ABCDEFGH a 2. ´ abr´ an). 16 darab 64 b´ajtos (CRC elfoglal minden darabban 4 b´ajtot) u ¨zenet elk¨ uld´ese ut´an az AP egy 1028 b´ajtos (64 × 16 + 4) csomagot broadcastol. Tov´abbi k´et u ¨zenet k¨ uld´es´evel egy komplett 1500 b´ajtos adott IV-hez tartoz´o kulcsfolyam ´all rendelkez´esre. Ezek ut´an k¨onny˝ u tov´abbi IV-khez tartoz´o kulcsfolyamokat szerezni, mivel m´ ar tudunk komplett broadcast csomagokat rejtjelezetten k¨ uldeni az AP sz´am´ara. Fontos megjegyezni, hogy a t´amad´as akkor lehet sikeres, ha az AP u ´j IV-t haszn´ al, amikor u ´jrak¨ uldi a csomagokat. Ez az esetek igen jelent˝os t¨obbs´eg´eben azonban fenn´ all. Miut´an sz´amos csomagot elfogtunk k¨ ul¨ onb¨oz˝o IV-kkel, az FMS m´ odszerrel a kulcs visszafejthet˝ o. Ahogy kor´ abban m´ ar eml´ıtett¨ uk, az FMS m´ odszer nem determinisztikus m´ odon fejti vissza a kulcsot, mivel sok esetben egy lefut´as sor´ an t´eved, ´es hib´ as eredm´enyt ad. A t´amad´as megalkot´ oi ezt u ´gy kezelt´ek, hogy sok mint´ara futtatj´ ak le a visszafejt˝ o algoritmust, ´es a szerz˝ok bebizony´ıtott´ ak, hogy a j´o kulcsot nagyobb val´osz´ın˝ us´eggel adja vissza az ´altaluk javasolt algoritmus, mint b´armely m´ as kulcsot. Az FMS t´amad´asban a kulcsot b´ajtonk´ent vizsg´alj´ak, ´es minden b´ajtra t¨obb r´eszkulcsjel¨oltet tartanak fenn, amikhez szavazatokat rendeltek. Egy kulcsjel¨olt minden egyes b´ajtja akkor kap egy szavazatot helyi´ert´eknek megfelel˝ oen, ha a visszafejt˝ o algoritmus egy rejtjelezett sz¨ovegre azt hozza ki, hogy az a kulcsjel¨olt lehetett a kulcs. Ezek ut´an az FMS ellen˝orzi a kulcsjel¨olteket, azaz v´egign´ezi, hogy egy adott kulcsjel¨olttel val´ oban dek´ odolni lehet-e az u ¨zeneteket u ´gy, hogy a CRC k´od megfelel˝ o legyen. Az FMS azokat a kulcsjel¨olteket vizsg´alja, amelyek egy bizonyos h´anyad´ at ´ert´ek el a legt¨ obbet el´er˝ o kulcsjel¨olt szavazatainak. Ez´ert min´el pontosabb az els˝ odleges kulcsjel¨olt ann´ al kevesebb kulcsjel¨oltet kell megvizsg´ alni, ´es ann´ al gyorsabb az algoritmus. Teh´ at min´el t¨obb IV-j˝ u csomagot siker¨ ul elfogni, ann´ al gyorsabb a felt¨or˝ o algoritmus lefut´asa. Ahhoz, hogy az FMS n´eh´ any percen bel¨ ul visszafejtsen egy 40 bites WEP kulcsot, 500.000n´el t¨obb k¨ ul¨ onb¨oz˝o IV-j˝ u csomagot kell ¨osszegy˝ ujteni. Azonban az FMS t¨obbsz¨ori optimaliz´al´asval, jelenleg 20.000 csomag is elegend˝ onek bizonyul.
2.5. 2.5.1.
WPA Ismertet˝ o
A WEP hib´ ait felismerve, az IEEE u ´j biztons´ agi megold´ast dolgozott ki, melyet a 802.11i specifik´ aci´ o tartalmaz [5]. A WEP-t˝ol val´o megk¨ ul¨ onb¨oztet´es ´erdek´eben, az u ´j koncepci´ ot RSN-nek (Robust Security Network) nevezt´ek el. Az RSN-t k¨ or¨ ultekint˝obben tervezt´ek meg, ´ m´ mint a WEP-et. Uj odszer ker¨ ult bevezet´esre a hiteles´ıt´es ´es a hozz´ af´er´es-v´edelem biztos´ıt´ as´ ara, mely a 802.1X szabv´any ´altal defini´alt modellre ´ep¨ ul, az integrit´as-v´edelmet ´es a titkos´ıt´ ast pedig az AES (Advanced Encryption Standard) algoritmusra t´amaszkodva oldott´ak meg. Sajnos azonban az u ´j RSN koncepci´ ora nem lehet egyik napr´ ol a m´ asikra ´att´erni. Ennek az az oka, hogy a haszn´alatban lev˝o WiFi eszk¨oz¨ok az RC4 algoritmust t´amogat´ o hardver elemekkel vannak felszerelve, ´es nem t´amogatj´ak az RSN a´ltal el˝ o´ırt AES algoritmust. Ezen puszt´ an szoftver upgrade-del nem lehet seg´ıteni, u ´j hardverre van sz¨ uks´eg, s ez kezdetben lass´ıtotta az RSN elterjed´es´enek folyamat´at. Ezt a probl´em´at az IEEE is felismerte, ´es egy olyan opcion´ alis protokollt is hozz´ aadott a 802.11i specifik´ aci´ ohoz, mely tov´abbra is az RC4 algrotimust haszn´alja, ´es ´ıgy — szoftver upgrade ut´an — futtathat´ o a r´egi hardveren, de er˝osebb mint a WEP. Ezt a protokollt TKIP-nek (Temporal Key Integrity Protocol) nevezik. A WiFi eszk¨oz¨oket gy´art´ o c´egek azonnal adapt´ alt´ak a TKIP protokollt, hiszen annak seg´ıts´eg´evel a r´egi eszk¨oz¨okb˝ol ´ all´ o WEP-es h´al´ozatokat egy csap´asra biztons´ agoss´a lehetett var´ azsolni. Meg sem v´art´ ak am´ıg a 802.11i specifik´ aci´ o a lass´ u szabv´anyos´ıt´ asi folyamat sor´ an v´egleges ´ allapotba ker¨ ul, azonnal kiadt´ ak a WPA (WiFi Protected Access) specifik´ aci´ ot [8], ami a TKIP-re ´ep¨ ul. A WPA teh´ at egy gy´art´ ok ´altal t´amogatott specifik´ aci´ o, mely az
10
adat-rejtjelezõ kulcs adat-integritásvédõ kulcs kulcs-rejtjelezõ kulcs kulcs-integritásvédõ kulcs
Kulcsgenerálás
PTK
PMK MACSTA MACAP RandomSTA RandomAP
3. ´abra. PTK gener´ al´asa a PMK-b´ ol, a felek MAC c´ım´eb˝ ol, ´es a v´eletlensz´ amokb´ ol RSN egy azonnal haszn´alhat´o r´eszhalmaz´ at tartalmazza. M´ ara m´ ar elterjedtt´e v´alt a WPA2 kifejez´es is, mely hivatalosan a komplett IEEE 802.11i-t mag´aban foglalja, de h´etk¨oznapi haszn´alatban utalhat csup´an a CCMP-re is, TKIP n´elk¨ ul. A tov´abbiakban ´ attekintj¨ uk a 802.11i-ben defini´alt helyi hozz´ af´er´es-v´edelmi, ´es kulcsmenedzsment m´ odszereket, melyek teh´ at megegyeznek az RSN-ben ´es a WPA-ban. A TKIP ´es AES-CCMP protokollok m˝ uk¨od´es´enek ´attekint´es´et˝ ol most el tekint¨ unk, mivel a m´er´es sor´ an nem j´atszik fontos szerepet. Az ´erdekl˝ od˝ o hallgat´ oknak aj´anljuk ennek a le´ır´ asnak egy b˝ov´ıtett kiad´ as´ at [9]. 2.5.2.
Helyi hozz´ af´ er´ es-v´ edelem ´ es kulcsmenedzsment
A helyi hozz´ af´er´es-v´edelemet egy u ´gynevezett p´aronk´enti mesterkulcs (pairwise master key, vagy r¨oviden PMK) biztos´ıtja. Az elnevez´es jelen esetben n´emik´epp f´elrevezet˝o, mivel a p´aronk´enti” kifejez´es arra utalna, hogy csak az adott STA ´es az AP ismeri. Ez csak abban ” az esetben igaz, amikor a hiteles´ıt´es egy k¨ozponti szerveren kereszt¨ ul t¨ort´enik, ´es a PMK val´oban egyedi. Azonban, mikor a WEP-es jelsz´ohoz hasonl´oan egyetlen jelsz´oval biztos´ıtj´ ak a hozz´ af´er´es v´edelm´et, a PMK egyszer˝ uen a megosztott jelsz´o lesz. Viszont minden esetben igaz, hogy a PMK mester” kulcs, mert ezt a kulcsot nem haszn´alj´ak k¨ozvetlen¨ ul rejtje” lez´esre, hanem tov´abbi kulcsokat gener´ alnak bel˝ ole. Eg´eszen pontosan a PMK-b´ ol mind a mobil eszk¨oz, mind pedig az AP n´egy tov´abbi kulcsot gener´ al: egy adat-rejtjelez˝o kulcsot, egy adat-integrit´as-v´ed˝ o kulcsot, egy kulcs-rejtjelez˝o kulcsot, ´es egy kulcs-integrit´as-v´ed˝ o kulcsot. Ezeket egy¨ uttesen p´aronk´enti ideiglenes kulcsnak (Pairwise Transient Key, vagy r¨oviden PTK) nevezik. Megjegyezz¨ uk, hogy az AES-CCMP protokoll az adatok rejtjelez´es´ehez ´es az adatok integrit´as-v´edelm´ehez ugyanazt a kulcsot haszn´alja, ez´ert AES-CCMP haszn´alata eset´en csak h´arom kulcs gener´ al´odik a PMK-b´ ol. A PTK el˝ oa´ll´ıt´ as´ ahoz a PMK-n k´ıv¨ ul felhaszn´alj´ak m´eg a k´et f´el (mobil eszk¨oz ´es AP) MAC c´ım´et, ´es k´et v´eletlensz´ amot, melyet a felek gener´ alnak. Ezt a 3. ´ abra szeml´elteti. A v´eletlensz´ amokat az u ´n. n´egyutas k´ezfog´ as (four way handshake) protokollt haszn´alva juttatj´ ak el egym´ashoz a felek. Ennek a protokollnak tov´abbi fontos feladata az, hogy seg´ıts´eg´evel a felek k¨ozvetlen¨ ul meggy˝ oz˝odjenek arr´ ol, hogy a m´ asik f´el ismeri a PMK-t. A n´egyutas k´ezfog´ as protokoll u ¨zeneteit az EAPOL protokoll Key t´ıpus´ u u ¨zeneteiben juttatj´ak el egym´ashoz a felek. Az u ¨zenetek tartalma ´es a protokoll m˝ uk¨od´ese v´azlatosan a 4. ´abra alapj´an a k¨ovetkez˝ o: • Els˝o l´ep´esk´ent az AP elk¨ uldi az ´altala gener´ alt v´eletlensz´ amot (AN once) a mobil eszk¨oznek. Mikor a mobil eszk¨oz ezt megkapja, rendelkez´es´ere ´all minden inform´aci´ oa PTK el˝ oa´ll´ıt´ as´ ahoz. A mobil eszk¨oz teh´ at kisz´amolja az ideiglenes kulcsokat. • A mobil eszk¨oz is elk¨ uldi az ´ altala gener´ alt v´eletlensz´ amot (SN once) az AP-nek. Ez az u ¨zenet kriptogr´ afiai integrit´as-ellen˝orz˝o ¨osszeggel (Message Integrity Code, vagy r¨oviden MIC) van ell´atva, amit a mobil eszk¨oz a frissen kisz´amolt kulcs-integrit´as-v´ed˝ o kulcs (KCK) seg´ıts´eg´evel ´ all´ıt el˝ o, ami a PTK r´esze. Az u ¨zenet v´etele ut´an az AP-nek is rendelkez´es´ere ´ all minden inform´aci´ o a PTK kisz´am´ıt´ as´ ahoz. Kisz´amolja az ideiglenes kulcsokat, majd a KCK seg´ıts´eg´evel ellen˝orzi a MIC-et. Ha az ellen˝orz´es sikeres, akkor elhiszi, hogy a mobil eszk¨oz ismeri a PMK-t. 11
STA
AP ANonce generálása ANonce
SNonce generálása PTK kiszámítása (KCK) SNonce, MICKCK PTK kiszámítása (KCK) ANonce, MIC'KCK MIC"KCK
4. ´ abra. N´egy-utas k´ezfog´ as l´ep´esei • Az AP is k¨ uld egy MIC-et (M IC ′ ) tartalmaz´o u ¨zenetet a mobil eszk¨oznek, melyben t´aj´ekoztatja a mobil eszk¨ozt arr´ ol, hogy a kulcsokat sikeresen telep´ıtette, ´es k´eszen ´ all a tov´abbi adatforgalom rejtjelez´esre. Az u ¨zenet v´etele ut´an a mobil eszk¨oz a KCK kulccsal ellen˝ orzi a M IC ′ -et, ´es ha az ellen˝orz´es sikeres, akkor elhiszi, hogy az AP ismeri a PMK-t. • Veg¨ ul a mobil eszk¨oz nyugt´azza az AP el˝ oz˝o u ¨zenet´et, mely egyben azt is jelenti, hogy a mobil eszk¨oz is k´eszen ´ all a tov´abbi adatforgalom rejtjelez´es´ere. A tov´abbiakban a mobil eszk¨oz ´es az AP az adat-integrit´as-v´ed˝ o ´es az adat-rejtjelez˝o kulccsal v´edik egym´asnak k¨ uld¨ ott u ¨zeneteiket. Sz¨ uks´eg van azonban m´eg olyan kulcsokra is, melyek seg´ıts´eg´evel az AP t¨obbessz´ or´ assal k¨ uldhet u ¨zeneteket biztons´ agosan minden mobil ´ eszk¨oz sz´am´ara. Ertelemszer˝ uen, ezeket a kulcsokat az ¨osszes mobil eszk¨ oznek ´es az AP-nek is ismernie kell, ez´ert ezeket egy¨ uttesen ideiglenes csoportkulcsnak (Group Transient Key, vagy r¨oviden GTK) nevezik. A GTK egy rejtjelez˝ o ´es egy integrit´as-v´ed˝ o kulcsot tartalmaz. AES-CCMP eset´en a k´et kulcs ugyanaz, ez´ert csak egy kulcsb´ol ´all a GTK. A GTK-t az AP gener´ alja, ´es a n´egyutas k´ezfog´ as sor´ an l´etrehozott kulcs-rejtjelez˝o kulcsok seg´ıts´eg´evel titkos´ıtva juttatja el minden mobil eszk¨ozh¨oz k¨ ul¨ on-k¨ ul¨ on. 2.5.3.
WPA gyenges´ egei
Ahogy m´ ar kor´ abban eml´ıtett¨ uk a WPA-t m´ ar j´oval k¨or¨ ultekint˝obben tervezt´ek meg, mint ´ azok k¨oz¨ a WEP-et. Ennek megfelel˝ oen a b˝ unlajstroma j´oval r¨ovidebb. Es ul is csak a gyakorlati szempontb´ol legfontosabbakat emelj¨ uk ki. Ugyan form´ alisan m´ ar bebizony´ıtott´ ak, hogy a n´egyutas k´ezfog´ as teljes´ıti a t˝ole elv´artakat bizonyos felt´etelek figyelembev´etel´evel. M´egis itt tal´alhat´o n´eh´ any apr´ os´ ag. El˝ osz¨or is nem volt ´es nem is lehetett elv´ar´ as helyi hozz´ af´er´es-v´edelem mellett val´odi hiteles´ıt´es n´elk¨ ul, hogy ismert jelsz´o (PMK) mellett ne lehessen dek´ odolni m´ asok u ¨zeneteit. Ahogy kor´ abban m´ ar le´ırtuk, a PTK-t sz´amol´ o f¨ uggv´eny ¨ot bemenet´eb˝ ol (eml´ekeztet˝ ou ¨l PMK, AP ´es STA MAC c´ıme, valamint AP ´es STA ´altal gener´ alt v´eletlen sz´amok) mindegyik ismert a n´egyutas k´ezfog´ as lehallgat´ asa ut´an, melyben a v´eletlen sz´amok ker¨ ulnek kicser´el´esre. A PTK ismeret´eben az u ¨zenetek dek´ odolhat´oak. R´aad´ asul a n´egyutas k´ezfog´ as lehallgat´ as´ aval egy kulcs jel¨olt off-line m´ odon ellen˝orizhet˝ov´e v´alik, hiszen a kulcs-integrit´asv´ed˝ o kulcsot felhaszn´alj´ak a MIC-ek kisz´am´ıt´ as´ an´ al. Amennyiben egy kulcsjel¨olt azonos MIC-et eredm´enyez, mint a lehallgatott u ¨zenetben, a kulcsjel¨olt nagy val´osz´ın˝ us´eggel a PMK. Azonban ´ıgy is csak a sz´ot´ aras t´amad´as a leghat´ekonyabb PMK visszafejt˝ o elj´ar´ as jelenleg. 12
Hivatkoz´ asok [1] IEEE Std 802.11TM . part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications, 1999. [2] Jesse R. Walker, Submission Page Jesse Walker, and Intel Corporation. Unsafe at any key size; an analysis of the wep encapsulation. IEEE 802.11-00/362, 2000. [3] Nikita Borisov, Ian Goldberg, and David Wagner. Intercepting mobile communications: the insecurity of 802.11. In MobiCom ’01: Proceedings of the 7th annual international conference on Mobile computing and networking, pages 180–189, New York, NY, USA, 2001. ACM. [4] W. Arbaugh, N. Shankar, J. Wan, and K. Zhang. Your 802.11 network has no clothes. IEEE Wireless Communications Magazine, 9(6):44–51, 2002. [5] IEEE Std 802.11iTM . Medium Access Control (MAC) security enhancements, amendment 6 to IEEE Standard for local and metropolitan area networks part 11: Wireless Medium Access Control (MAC) and Physical Layer (PHY) Specifications, July 2004. [6] Scott R. Fluhrer, Itsik Mantin, and Adi Shamir. Weaknesses in the key scheduling algorithm of rc4. In SAC ’01: Revised Papers from the 8th Annual International Workshop on Selected Areas in Cryptography, pages 1–24, London, UK, 2001. Springer-Verlag. [7] Andrea Bittau, Mark Handley, and Joshua Lackey. The final nail in wep?s coffin. Security and Privacy, IEEE Symposium on, 0:386–400, 2006. [8] Wi-Fi Alliance. Wi-Fi Protected Access. [9] Levente Butty´an and L´ aszl´ o D´ ora. H´ırad´ astechnika, May 2006.
3.
WiFi biztons´ ag - A j´o, a rossz, ´es a cs´ uf.
M´ er´ esi k¨ ornyezet
A m´er´eshez minden m´er˝ocsoport sz´am´ara egy Linksys WRT54GL t´ıpus´ u AP-t helyezt¨ unk u ¨zembe. Ezen AP-k k´epesek az OpenWRT be´agyazott Linux futtat´ as´ ara, mely lehet˝ ov´e teszi az AP-k dinamikus konfigur´ al´as´ at annak megfelel˝ oen, hogy az egyes m´er˝ocsoportok mely feladatokat v´egezt´ek el, ´es melyek vannak h´atra. A k¨ ul¨ onb¨oz˝o AP-k k¨ ul¨ onb¨oz˝o csatorn´an m˝ uk¨odnek u ´gy, hogy a lehet˝ o legkevesbb´e zavarj´ ak egym´as kommunik´aci´ oj´at. A feladatok elv´egz´es´ehez sz¨ uks´eges forgalmat egy automatikusan m˝ uk¨od˝ o kliens gener´ alja. Ez szint´en egy Linksys WRT54GL t´ıpus´ u eszk¨oz OpenWRT oper´aci´ os rendszerrel. Az automatikus kliens sorban minden m´er˝ocsoport AP-j´ ahoz csatlakozik, ´es lek´er egy weblapot, melyet az AP helyben kiszolg´al. A m´er´escsoportok a feladatokat egy Atheros AR2413 (802.11bg) t´ıpus´ u vezet´ek n´elk¨ uli h´al´ozati k´arty´aval ell´atott PC-n hajtj´ ak v´egre. A k´artya olyan szempontb´ol k¨ ul¨ onleges, hogy szemben az ´ atlagos k´arty´akkal, t´amogatja az egyedileg ¨ossze´all´ıtott csomagok visszainjekt´ al´as´ at. Erre egy´ebk´ent az ¨ osszes Madwifi driverrel vez´erelhet˝o vezet´ek n´elk¨ uli k´artya k´epes. A m´er˝og´epeken a m´er´es alatt Live CD fut (BackTrack), melyen megtal´alhat´oak az m´er´eshez sz¨ uks´eges alkalmaz´asok. Mivel kikapcsol´ askor minden adat ´es m´ odos´ıt´ as elveszik, amit a CDn tal´alhat´o rendszeren hajtottunk v´egre, ker¨ ulj¨ uk a feleseleges u ´jraind´ıt´ asokat, illetve u ¨gyelni kell arra, hogy minden sz¨ uks´eges adatot, amire sz¨ uks´eg lehet a m´er´es sor´ an olyan t´arol´ on helyezz¨ unk el, ahol kikapcsol´ as ut´an is megmarad.
13
A m´er´esi jegyz˝ok¨onyvet a m´er´es sor´ an folyamatosan kell kit¨olteni, ´es m´er´es v´eg´en a m´er´esvezet˝o sz´am´ara v´eglegese ´ allapot´ aban el´erhet˝ov´e kell tenni. A kit¨olt´est a Google Docs seg´ıts´eg´evel lehet elv´egezni, ami egy online dokumentumt´arol´o ´es sz¨ovegszerkezt˝o szolg´altat´as. Ez t¨obb okb´ol is sz¨ uks´eges ´es el˝ ony¨os is. Egyr´eszt a BackTrack nem rendelkezik el˝ore telep´ıtett sz¨ovegszerkeszt˝ ovel. M´ asr´eszt a Live CD u ´jraind´ıt´ asa eset´en is (amit okozhat egy esetleges ´aramsz¨ unet) biztosan megmarad a kit¨olt¨ott jegyz˝ok¨onyv. Harmadr´eszt pedig a m´er´esvezet˝o sz´am´ara is r¨ ogt¨ on el´erhet˝ov´e v´alik a elk´esz¨ ult m´er´esi jegyz˝ok¨onyv. A Google Docs bejelentkez´est ig´enyel, ahol m´er´es el˝ ott m´ ar el´erhet˝o lesz a jegyz˝ok¨onyv egy kit¨oltetlen p´eld´anya. A http://docs.google.com-on a wifimeres<m´ er} ohely>@crysys.hu felhaszn´al´on´evvel lehet bel´epni. A jelszavat a m´er˝ocsoportok a m´er´es elej´en kapj´ak meg, ami a m´er´es v´egezt´evel megv´altozik. AP be´ all´ıt´ as. Mindegyik AP-n tal´alhat´o egy u ´gynevezett SES (Secure Easy Setup) gomb. A SES gombbal ´ all´ıthatjuk, hogy melyik feladathoz tartoz´o biztons´ agi be´all´ıt´ as legyen ´erv´enyes. Az aktu´alis ´ allapotr´ ol a SES sz´ıne ´es egy WLAN felirat´ u LED ad visszajelz´est. Bekapcsol´ askor, alap´ertelmez´esk´ent a WLAN nincs bekapcsolva, ´es ilyenkor a WLAN felirat alatti LED nem vil´ag´ıt, minden m´ as esetben igen. A SES gomb visszajelz´es´et az 1. t´abl´azat ´ırja le. 1. t´abl´azat. SES gomb sz´ın´enek jelent´ese SES DMZ Biztons´ agi be´ all´ıt´ as Nem vil´ag´ıt Nem vil´ag´ıt Wi-fi kikapcsolva Feh´er Nem vil´ag´ıt MAC sz˝ ur´es ´es rejtett SSID Narancss´arga Nem vil´ag´ıt 40 bites WEP Feh´er Vil´ ag´ıt WPA (TKIP vagy CCMP) Narancss´arga Vil´ ag´ıt RADIUS (Wifi 2. m´er´es) A csatorn´ak frekvencia-´atlapol´od´ asa miatt akkor is elveszhetnek csomagok, ha az AP-k k¨ ul¨ onb¨oz˝o csatorn´an m˝ uk¨odnek. Ez k¨ ul¨ on¨ osen a WEP-es r´esz m´er´es´en´el jelenthet probl´em´at, mivel az ott elv´egzett t´amad´asok hatalmas forgalommal j´arnak. Ez´ert a feladatokat nem csak t´erben” (frekvencia), hanem id˝ oben is sz´et kell osztani. A m´er´esvezet˝o a m´er´es elej´en ” kiosztja, hogy melyik csoport mikor dolgozhat a WEP-es m´er´esen. Feladat Hiteles´ıt˝ o K´ od. Minden egyes AP-n fut egy mini webkiszolg´ al´o. Az automata kliens minden csatlakoz´as ut´an innen k´er le egy weblapot, amihez elk¨ uld egy felhaszn´al´onevet ´es egy jelsz´ot. A v´alasz egy k´od, ami az aktu´alis id˝ ot˝ ol, a felhaszn´al´o nev´et˝ ol ´es az AP sorsz´ am´at´ ol f¨ ugg, ´es SHA-1-et haszn´al´o HMAC-b˝ ol sz´amolja az AP. Ezt a k´odot Feladat Hiteles´ıt˝ o K´odnak nevezz¨ uk. A v´egs˝o c´el minden feladat eset´en egy ´erv´enyes Feladat Hiteles´ıt˝ o K´od megszerz´ese. Ehhez a k¨ovetkez˝ o l´ep´eseket biztosan el kell v´egezni: 1) meg kell szerezni a jelsz´ot, amit az automata kliens k¨ uld minden k´er´es eset´en (WEP ´es WPA eset´en ez rejtjelezetten ker¨ ul ´atvitelre), 2) hozz´ a kell kapcsol´ odni az AP-hoz (minden esetben valamilyen fok´ u v´edelmet kell kij´atszani), 3) le kell k´erni a Feladat Hiteles´ıt˝ o K´odot. Ez ut´obbihoz m´ as felhaszn´al´onevet kell haszn´alni, mint az automata kliensnek: ‘M’ ´es a m´er˝ohely sz´ama (pl. ‘M4’).
4.
Feladatok
4.1.
Csatlakoz´ as rejtett SSID-j˝ u AP-hoz
1. Fedje fel a rejtett SSID-t! 2. Csatlakozzon a rejtett SSID-j˝ u AP-hoz! Ha nem ny´ılt az AP, a tov´abbi l´ep´esekhez k´erjen jelsz´ot a m´er´esvezet˝ot˝ ol. 14
3. Der´ıtse ki, hogy ki csatlakozik a MAC sz˝ ur´essel ell´atott AP-hoz! 4. Csatlakozzon a rejtett SSID-j˝ u AP-hoz a megfelel˝ o MAC c´ımet hamis´ıtva! 5. Szerezze meg a m´er´eshelyhez tartoz´o Feladat Hiteles´ıt˝ o K´odot!
4.2.
WEP elleni t´ amad´ as
1. Der´ıtse ki a megt´ amadand´o AP adatait! El˝ otte egyeztessen a m´er´esvezet˝ovel, hogy rendelkez´esre ´ alljon szabad (m´ asok ´altal nem t´amadott), WEP-pel v´edett AP! 2. Ind´ıtson el egy lehallgat´ ast kiz´ar´ olag az adott AP-ra sz˝ urve! 3. V´egezzen el ´ alhiteles´ıt´est az AP-n´ al! 4. Szerezzen meg egy IV-hez tartoz´o 1500 b´ajt hossz´ u kulcsfolyamot! 5. K´esz´ıtsen egy visszainjekt´ alhat´o szab´alyos csomagot! 6. K´enyszer´ıtse az AP-t k¨ ul¨ onb¨oz˝o IV csomagok k¨ uld´es´ere! 7. A WEP kulcs kisz´am´ıt´ asa 8. Csatlakozzon az WEP-pel v´edett AP-hez, ´es k´erje le a Feladat Hiteles´ıt˝ o K´odot!
4.3.
WPA gyenges´ egei
1. Fejtse vissza a WPA jelsz´ot sz´ot´ aras t´amad´assal! Ha az alapsz´ot´ ar haszn´alat´aval nem j´ar sikerrel, eg´esz´ıtse ki a szavakat egy sz´ammal! 2. Fejtse vissza az idegen eszk¨oz kommunik´aci´ oj´ at! 3. Csatlakozzon az WPA-val v´edett AP-hez, ´es k´erje le a Feladat Hiteles´ıt˝ o K´odot!
5.
Tov´ abbi inform´ aci´ ok
Monitor m´ od. A m´er´es fontos r´esz´et k´epezi a lehallgat´ as. Ehhez sok esetben monitor m´ odba kell ´ all´ıtani a k´arty´at. Azonban, amikor csatlakozni kell egy AP-hoz, akkor vissza kell ´all´ıtani kliens vagy station m´ odba. Ehhez a wlanconfig parancs ad seg´ıts´eget madwifi driver eset´en. Ak´ar station, ak´ar monitor m´ odban haszn´aljuk a k´arty´an egy virtu´alis interf´eszt kell defini´alni a k¨ovetkez˝ o paranccsal: wlanconfig
create wlandev wlanmode sta|monitor Virtu´alis interf´eszt a k¨ovetkez˝ o paranccsal lehet t¨or¨ olni: wlanconfig destroy N´eh´ any hibalehet˝os´eget kiz´arhatunk azzal, ha a air*-ng parancsok futtat´ as´ ahoz a monitor m´ od v´alt´as´ at r´ ab´ızzuk egy be´ep´ıtett elj´ar´ asra az airmon-ng start|stop parancs seg´ıts´eg´evel.
15
Lehallgat´ as. Lehallgat´ ast sz´amos program megval´os´ıt, ezek k¨oz¨ ul a k¨ovetkez˝ o kett˝ ot haszn´alat´at javasoljuk: ‘airodump-ng’ ´es ‘Wireshark’. Mindk´et alkalmaz´as kezelni tudja az elterjedt PCAP (packet capture) form´ atumot, mely lehet˝ ov´e teszi az alkalmaz´asok k¨oz¨otti ´atj´ar´ as. Az el˝ obbi program k¨ ul¨ onlegess´ege, hogy t´amogatja a rejtjelezett csomagok lement´es´et is megfelel˝o param´eterez´es mellet. Az airodump parancs futtat´ asa ut´an megjelen´ıt minden fontosabb inform´aci´ ot az AP-kr´ ol (SSID, BSSID, csatorna, biztons´ agi be´all´ıt´ asok), valamint megjelen´ıti az AP-khoz csatlakoz´o STA-k MAC c´ım´et is. Az airodump-ng a k¨ovetkez˝ o minta szerint param´eterezhet˝ o (A m´er´est k¨onny´ıt˝ o kapcsol´ okat a 2. t´abl´azatban soroljuk fel): airodump-ng
2. t´abl´azat. airodump-ng kapcsol´ oi Kapcsol´ o Le´ır´ as --bssid <mac> Kiz´ar´ olag a <mac> MAC c´ımhez kapcsol´ od´ o kommunik´aci´ ot hallgatja le, egy´ebk´ent minden elfogott csomagot kezel --channel Kiz´ar´ olag a csatorn´an l´ev˝ o kommunik´aci´ ot hallgatja le, egy´ebk´ent ciklikusan v´altogat -w f´ajlba menti a lehallgatott kommunik´aci´ ot A Wireshark a grafikus interf´esznek k¨osz¨onhet˝ oen megk¨ onny´ıti a csomagok kezel´es´et. A Wireshark k´epes dek´ odolni a rejtjelezett csomagokat, amennyiben megadjuk a hozz´ a tartoz´o jelsz´ot. Ezt a ‘File → preferences → Protocols → IEEE 802.11’ men¨ uben a ‘Enable decryption’ beikszel´es´evel ´es az alatt tal´alhat´o mez˝o(k) kit¨olt´es´evel tudjuk el´erni. Csatlakoz´ as. Az access pointhoz val´o csatlakoz´ast t¨obbf´elek´epp is el lehet v´egezni: 1) user interf´esszel rendelkezik a ‘Wireless assistant’, 2) k´ezzel kell konfigur´ alni a ‘wpa supplicant’-ot. MAC c´ım v´ altoztat´ as. MAC c´ım v´altoztat´ as´ ara sz¨ uks´eg van, amikor MAC c´ımre is sz˝ ur az AP. Itt is t¨obb lehet˝ os´eg k¨oz¨ ul v´alaszthatunk: ifconfig hw ether <´ uj mac c´ ım> vagy macchanger --mac=<´ uj mac c´ ım> Visszaj´ atsz´ as. A csomagok megfelel˝ o visszaj´atsz´as´ at az ‘aireplay-ng’ programcsomaggal lehet elv´egezni. K¨ ul¨ onb¨oz˝o kapcsol´ okkal k¨ ul¨ onb¨oz˝o t´amad´asokat lehet v´egrehajtani. A 3. t´abl´azatban ¨ osszeszedt¨ uk a m´er´es sor´ an haszn´alatosakat. Tov´abbi kapcsol´ okhoz aj´anljuk a manual-t. ¨ Uzenet gener´ al´ as. A ‘packetforge-ng’ egy a WEP t¨or´es´ere haszn´alhat´o program, mely egy adott IV ´es kulcsfolyam ismeret´eben gener´ al egy visszainjekt´ alhat´o broadcast u ¨zenetet. A kimenet egy PCAP form´ atum´ u f´ajl, mely az azt kezel˝ o alkalmaz´asokkal feldolgozhat´o ´es felhaszn´alhat´o.
16
3. t´abl´azat. Aireplay-ng f˝obb kapcsol´ oi Kapcsol´ o R¨ ov. kapcs. T´ amad´ as --deauth= -0 Deauthentik´al egy megadott STA-t -szor ´ ıt´est v´egez el <delay> ms --fake-auth=<delay> -1 <delay> Alhiteles´ m´ ulva a tov´abbi kapcsol´ okkal megadott AP-hoz --interactive -2 Visszainjekt´ alhat´o broadcast u ¨zenettel forgalmat gener´ al a megadott AP-n´ al ¨ --fragment -5 Uzenet darabol´asi elj´ar´ assal valamelyik IV-hez megszerez 1500 b´ajtnyi kulcsfolyamot --test -9 Leteszteli, hogy t´amogatja-e a kiv´alasztott k´artya a csomagok visszainjekt´ al´as´ at WEP ´ es WPA t¨ or´ es. A ‘aircrack-ng’ WEP ´es WPA jelsz´o visszafejt´esre/felt¨ or´esre haszn´alhat´o program. WEP eset´en a kor´ abban m´ ar eml´ıtett FMS elj´ar´ ast implement´alja kieg´esz´ıtve sz´amos optimaliz´al´o elj´ar´ assal. WPA eset´en egyszer˝ uen sz´ot´ aras t´amad´ast hajt v´egre elfogott n´egyutas k´ezfog´ as seg´ıts´eg´evel.
6.
Minta beugr´ o k´ erd´ esek • Hogyan fedne fel egy rejtett SSID-t? • Mi az a beacon u ¨zenet? • Hogyan lehet csatlakozni egy AP-hoz, amelyikben csup´an MAC sz˝ ur´essel v´edekeznek? • K´et k¨ ul¨ onb¨oz˝o WEP-pel v´edett csomagok eset´en hogyan ´allap´ıthat´ o meg, hogy azonos kulcsfolyammal lett a k´et u ¨zenet k´odolva? • Nevezzen meg h´arom WEP gyenges´eget! • ´Irja le a WEP-es t´amad´as f˝obb l´ep´eseit! • Mi sz¨ uks´eges m´ as mobil ´ allom´as u ¨zeneteinek visszafejt´es´ehez WPA eset´en ismert jelsz´o mellett? • Mi a n´egyutas k´ezfog´ as c´elja? • Mi a leghat´ekonyabb ismert t´amad´as WPA jelsz´o visszafejt´esre?
17