Mathy Vanhoef, a WPA2 vezeték nélküli hálózatoknál használt KRACK támadás szerzője, és Eyal Ronen, aki néhány TLS támadás társszerzője, hat sebezhetőségről (CVE-2019-9494 — CVE-2019-9499) számolt be a WPA3 vezeték nélküli hálózati védelmi technológia terén, amelyek lehetővé teszik a kapcsolódási jelszó visszaállítását és a vezeték nélküli hálózathoz való hozzáférést jelszó ismerete nélkül. A sebezhetőségeket Dragonblood fedőnév alatt csoportosították, és lehetővé teszik a Dragonfly összekapcsolási módszer kompromittálását, amely védi a jelszavak offline módban történő kipróbálása ellen. A Dragonfly módszert nemcsak a WPA3, hanem az EAP-pwd protokollban is alkalmazzák, amelyet Androidon, RADIUS szervereken és hostapd/wpa_supplicant-on használnak.
A kutatás során két fő architekturális problématípust azonosítottak a WPA3-ban. Mindkét probléma végső soron felhasználható a hozzáférési jelszó visszaállítására. Az első típus lehetővé teszi a visszaváltást megbízhatatlan kriptográfiai módszerekre (downgrade attack): a WPA2-vel való kompatibilitás érdekében használt eszközök (átmeneti mód, amely WPA2 és WPA3 használatát is megengedi) lehetővé teszik a támadó számára, hogy a klienst rávilágítson a WPA2 négylépcsős összekapcsolási protokollra, amely lehetővé teszi a klasszikus jelszópróbáló támadások alkalmazását, amelyek a WPA2-re vonatkoznak. Ezen kívül felfedezték a downgrade támadás lehetőségét közvetlenül a Dragonfly összekapcsolási módszerre, amely lehetővé teszi a visszaváltást kevésbé védett elliptikus görbék használatára.
A második probléma típusa az információs szivárgást okozza az alternatív csatornákon, a jelszó jellemzőiről szóló információkat vonva be, ami a Dragonfly jelszócsere-módszer hibáiból ered, amelyek lehetővé teszik, hogy közvetett adatok, mint például az eljárások végrehajtásakor tapasztalt késlekedések változása, segítségével rekonstruálják az eredeti jelszót. A Dragonfly-ban használt hash-átalakító algoritmus, amely elliptikus görbéket képez (hash-to-curve), érzékeny a processzorkészletbe történő információs szivárgásra (cache attack), míg a hash-átalakító algoritmus csoportba (hash-to-group) időméréses támadásoknak van kitéve (timing attack).
A támadónak, aki a cache elemzésén keresztül támadásokat kíván végrehajtani, képesnek kell lennie arra, hogy jogosulatlan kódot futtasson a felhasználói rendszeren, aki csatlakozik a vezeték nélküli hálózathoz. Mindkét módszer lehetővé teszi az információk megszerzését, amelyek szükségesek a jelszó részleteinek pontos kiválasztásához a jelszó kitalálásának folyamata során. A támadás hatékonysága elég magas, és lehetővé teszi egy 8 karakteres jelszó, amely kisbetűs karaktereket tartalmaz, kitalálását mindössze 40 csatlakozási handshake megszerzésével, és olyan erőforrások felhasználásával, amelyek egyenértékűek az Amazon EC2 125 dolláros bérlésével.
A felfedezett sebezhetőségek alapján több támadási forgatókönyvet javasoltak:
- WPA2 visszaminősítő támadás, amely lehetővé teszi a szótár alapú kitalálást. Olyan körülmények között, amikor a kliens és a hozzáférési pont támogatja mind a WPA3, mind a WPA2-t, a támadó létrehozhat egy saját hamis hozzáférési pontot, amely ugyanazzal a hálózati névvel rendelkezik, és csak WPA2-t támogat. Ilyen helyzetben a kliens a WPA2-re jellemző csatlakozási eljárást alkalmazza, amely során megállapítják, hogy a visszaminősítés elfogadhatatlan, de ezt akkor végzik el, amikor a csatorna kézfogásról szóló üzeneteket már elküldték, és az összes szükséges információ, amely a szótár alapú támadáshoz szükséges, már kiszivárgott. Hasonló módszer alkalmazható a problémás elliptikus görbék SAE-re való visszaminősítésére is.
Továbbá, megállapították, hogy az iwd démon, amelyet az Intel fejlesztett ki a wpa_supplicant alternatívájaként, és a Samsung Galaxy S10 vezeték nélküli stackje ki van téve a visszaminősítő támadásnak még olyan hálózatokban is, amelyek kizárólag WPA3-at használnak — ha ezek az eszközök korábban csatlakoztak WPA3 hálózathoz, megpróbálnak csatlakozni egy hamis WPA2 hálózathoz, amelynek ugyanaz a neve.
- Oldalcsatornákon végzett támadás a processzor gyorsítótárából történő adatkinyeréssel. A Dragonfly jelszó-kódoló algoritmusában feltételezett elágazás található, és a támadó, aki képes kódot végrehajtani a felhasználó vezeték nélküli hálózatában, az gyorsítótárazási viselkedés elemzése alapján meghatározhatja, hogy melyik if-then-else kifejezés blokkja került kiválasztásra. Az így nyert információ a jelszó fokozatos kitalálásához használható, olyan módszereket alkalmazva, amelyek hasonlítanak a WPA2 jelszavak offline támadásainak végrehajtására. A védelem érdekében javasolt állandó végrehajtási időtartamú műveletekre áttérni, függetlenül az feldolgozott adatok jellegétől;
- Oldalcsatornákon végzett támadás az operációk végrehajtási idejének értékelésével. A jelszavak kódolásakor a Dragonfly kódban több szorzási csoport (MODP) és változó számú iteráció alkalmazására kerül sor, amely a használt jelszótól és a hozzáférési pont vagy kliens MAC-címétől függ. A távoli támadó meghatározhatja, hogy hány iterációt hajtottak végre a jelszó kódolása során, és ezeket a fokozatos jelszókeresés során mint jelzőt használhatja.
- Szolgáltatásmegtagadási támadás. A támadó blokkolhatja a hozzáférési pont bizonyos funkcióit az elérhető erőforrások kimerítése révén, nagy számú csatornaegyeztetési kérés küldésével. A WPA3 védelme elleni árvízmegoldáshoz elegendő, hogy hamis, meg nem ismétlődő MAC-címekről küldjön kéréseket.
- Visszalépés a kevésbé védett kriptográfiai csoportokhoz, amelyeket a WPA3 kapcsolatok egyeztetése során használnak. Például, ha a kliens támogatja az elliptikus görbéket P-521 és P-256, és a P-521-et prioritásként használja, a támadó, függetlenül a hozzáférési pont oldalán található P-521 támogatásától, kényszerítheti a klienst a P-256 használatára. A támadás úgy valósul meg, hogy bizonyos üzeneteket kiszűrnek a kapcsolat egyeztetése során, és hamis üzeneteket küldenek arról, hogy bizonyos típusú elliptikus görbék támogatása nem áll rendelkezésre.
A sebezhetőségek ellenőrzésére több szkriptet készítettek a támadások elkövetésére vonatkozó példákkal:
Dragonslayer — EAP-pwd támadások megvalósítása;
- Dragonslayer — реализация атак на EAP-pwd;
- Dragondrain – egy eszköz a sérülékeny hozzáférési pontok ellenőrzésére az SAE (Simultaneous Authentication of Equals) kapcsolatkiépítési módszer megvalósításában, amelyet szolgáltatásmegtagadási támadások kezdeményezésére lehet használni.
- Dragontime – egy szkript, amely a SAE ellen irányuló támadást végez külső csatornákon, figyelembe véve a MODP 22, 23 és 24 csoportok műveleteinek feldolgozási ideje közötti eltéréseket.
- Dragonforce – egy információ-visszaállító eszköz (jelszó visszafejtés) a műveletek különböző feldolgozási idejének vagy az adatok gyorsítótárban való elhelyezkedésének nyomán.
A Wi-Fi Szövetség, amely a vezeték nélküli hálózatok szabványait fejleszti, bejelentette, hogy a hiba egy korai WPA3-Personal megvalósítást érint, és firmware- és szoftverfrissítéssel orvosolható. Jelenleg még nem észleltek olyan kártékony tevékenységeket, amelyek a sérülékenységek kihasználására építenének. A védelem fokozása érdekében a Wi-Fi Szövetség kiegészítő teszteket adott a vezeték nélküli eszközök tanúsítási programjához a megvalósítások helyességének ellenőrzésére, valamint kapcsolatba lépett az eszközgyártókkal az azonosított problémák közös koordinációjának érdekében. A problémák orvoslására már kiadtak javítócsomagokat a hostap/wpa_supplicant számára. Ubuntu-ra elérhetők a csomagfrissítések. Debian, RHEL, SUSE/openSUSE, Arch, Fedora és FreeBSD esetében a problémák eddig megoldatlanok maradtak.
Forrás: opennet.ru
