Mathy Vanhoef, WPA2 traadsete KRACK rünnaku autor, ja Eyal Ronen, kes aitas välja töötada mitmeid TLS rünnakuid, avaldasid teavet kuue haavatavuse (CVE-2019-9494 – CVE-2019-9499) kohta WPA3 traadsete võrkude kaitsetehnoloogias, mis võimaldavad taastada ühendamise parooli ja pääseda traadita võrku ilma parooli teadmiseta. Haavatavused on koondatud koodnimega Dragonblood ja võimaldavad kompromiteerida Dragonfly ühenduse lepingumeetodi, mis pakub kaitset paroolide proovima panemise eest offline-režiimis. Lisaks WPA3 kasutatakse Dragonfly meetodit ka paroolide proovimise kaitsmiseks EAP-pwd protokollis, mida rakendatakse Androidis, RADIUS серверites ja hostapd/wpa_supplicant'is.
Uuringu käigus avastati kaks peamist arhitektuuriprobleemi WPA3-s. Mõlemat tüüpi probleemide tõttu on võimalik taastada juurdepääs paroolile. Esimene tüüp võimaldab tagasiviimist ebausaldusväärsetele krüptograafilistele meetoditele (downgrade attack): WPA2-ga ühilduvuse tagamiseks (ülemineku režiim, mis lubab kasutada nii WPA2 kui ka WPA3) võib ründaja sundida klienti läbi viima WPA2 neljaastmelise ühenduse lepinguprotsessi, mis omakorda võimaldab klassikalisi paroolide proovimise rünnakuid, mis on rakendatavad WPA2 puhul. Lisaks tuvastati ka võimalus teostada downgrade-rünnak otse Dragonfly ühenduse lepingumeetodi suhtes, mis võimaldab tagasiviimist vähem turvalistele ellipsikõverate tüüpidele.
Teine probleemide tüüp viib parooli omaduste teabe lekkimiseni kõrvalkanalite kaudu ja põhineb Dragonfly parooli kodeerimismeetodi puudustel, mis võimaldavad kaudselt, nagu tegevuste viivituste muutumine, taastada algse parooli. Dragonflys rakendatud hash-to-curve algoritm osutus haavatavaks süsteemi mälus teabe jälgimise rünnakute suhtes (cache attack), samas kui hash-to-group algoritm on haavatav operatsioonide ajakava mõõtmise rünnakute suhtes (timing attack).
Ründe analüüsimise kaudu rünnakute tegemiseks peab ründaja saama täita mitteprivileegitud koodi kasutaja süsteemis, kes ühendub traadita võrku. Mõlemad meetodid aitavad saada vajalikku teavet, et selgitada välja parooliosade õige valiku täpsus parooli purustamise protsessis. Rünnaku efektiivsus on piisavalt kõrge, et lasta 8-märgilist parooli, mis sisaldab väiketähti, välja valida vaid 40 ühenduse lepingusessiooni (handshake) pealtkuulates ning kulutades ressursse, mis on võrdsed Amazon EC2 võimsuste rentimisega 125 dollari eest.
Tuvastatud haavatavuste põhjal on välja pakutud mitmeid rünnakustsenaariume:
- Rünnak WPA2-tagasiulatuva režiimi kaudu koos sõnastiku rünnaku võimalusega. Tingimustes, kus nii klient kui ka juurdepääsupunkt toetavad nii WPA3 kui ka WPA2, võib ründaja seadistada oma vale juurdepääsupunkti sama võrgu nimega, mis toetab ainult WPA2. Sellises olukorras jätkab klient WPA2-le iseloomulikku ühenduse lepingumenetlust, mille käigus määratakse kindlaks selle tüüpi tagasiulatumise lubamatust, kuid see toimub etapis, kus ühenduse lepingusõnumid on juba saadetud ja kõik vajalikud sõnastiku rünnaku teave on juba lekkinud. Sarnast meetodit saab kasutada ka probleemsete elliptiliste kõverate SAE tagasiulatumiseks.
Lisaks on leitud, et Intel’i arendatav iwd teenus, mille eesmärk on wpa_supplicant’ile alternatiivi pakkuda, ja Samsung Galaxy S10 traadita pakett on vastuvõtlikud tagasiulatamise rünnakutele isegi võrkudes, mis rakendavad ainult WPA3 — kui need seadmed on varem ühendatud WPA3-võrguga, püüavad nad ühendust võtta vale WPA2-võrguga sama nimega.
- Rünnak kõrvaliste kanalite kaudu, mis hangib andmeid protsessori vahemälust. Paroolide kodeerimise algoritm Dragonfly sisaldab tingimuslikku haru ning ründaja, omades võimalust käivitada koodi kasutaja süsteemis juhtmevaba võrgu kaudu, suudab analüüsida vahemälu käitumist, et määratleda, milline bloc if-then-else väljendist on valitud. Saadud teavet saab kasutada parooli järkjärguliseks saavutamiseks, rakendades meetodeid, mis sarnanevad offline paroolide sõnastiku rünnakutele WPA2. Kaitseks soovitatakse minna üle pideva täitmise töötlusoperatsioonide kasutamisele, mis ei sõltu töödeldud andmete iseloomust;
- Rünnak kõrvaliste kanalite kaudu, hinnates operatsioonide täitmise aega. Dragonfly koodis paroolide kodeerimisel kasutatakse mitmeid multiplikatiivseid gruppe (MODP) ja muutuva arvu iteratsioone, mille hulk sõltub kasutatud paroolist ja pääsupunkti või kliendi MAC-aadressist. Kaug-ründaja suudab määrata, kui palju iteratsioone on parooli kodeerimise ajal teostatud ja kasutada neid näitena järkjärgulisel parooli saavutamisel.
- Teenuse keelamise rünnak. Ründaja võib blokeerida teatud funktsioonide toimimise pääsupunktis, kasutades ressursside ammendamist, saates suures koguses kanali ühenduse nõudmisi. WPA3 kaitse üleujutuste eest on võimalik ringiga ületada, saates päringud vale kordumatute MAC-aadressidega.
- Tagasitõmbamine vähem turvaliste krüptograafiliste gruppide kasutamisele, mis on rakendatud ühenduste kokkuleppele WPA3-s. Näiteks, kui klient toetab elliptilisi kõveraid P-521 ja P-256 ning kasutab P-521 eelistatud variandina, siis ründaja, sõltumata P-521 toetamisest pääsupunktis, võib sundida klienti kasutama P-256. Rünnak viiakse läbi, filtreerides teatud sõnumeid ühenduse kokkuleppe protsessis ja saates vale sõnumeid teabe jagamiseks teatud tüüpi elliptiliste kõverate toe puudumisel.
Seadmiste haavatavuste kontrollimiseks on ette valmistatud mitmeid skripte rünnakute näidistega:
Dragonslayer — EAP-pwd rünnakute rakendamine;
- Dragonslayer — rünnakud EAP-pwd vastu;
- Dragondrain — tööriist, mis kontrollib juurdepääsupunktide haavatavust SAE (Simultaneous Authentication of Equals) ühenduse lepingumenetluse rakenduses, mida saab kasutada teenuse keelamise rünnaku algatamiseks;
- Dragontime — skript, mis viib läbi rünnaku kõrvaliste kanalite kaudu SAE-le, arvestades operatsioonide töötlemise aegade erinevust MODP rühmades 22, 23 ja 24;
- Dragonforce — tööriist, mis taastab teavet (paroolide katsetamine), tuginedes informatsioonile erinevate operatsioonide töötlemise aegade või andmete katkemise tuvastamise põhjal.
Wi-Fi Alliancet, mis arendab traadita võrkude standardeid, teatas, et probleem mõjutab piiratud arvu varaseid WPA3-Personal rakendusi ja seda saab lahendada tarkvara ja püsivara uuendamise kaudu. Kahte وېدhecimento haavatavuste kasutamise juhtumit pole siiani registreeritud. Wi-Fi Alliance on tugevdanud kaitset ja lisanud sertifitseerimisprogrammi täiendavad testid rakenduste õigsuse kontrollimiseks, samuti on nad kontakteerunud seadme tootjatega probleemide ühiseks lahendamiseks. Probleemide lahendamise plaastrid on juba välja antud hostap/wpa_supplicant jaoks. Ubuntu jaoks on paketi uuendused saadaval. Debianis, RHEL-is, SUSE/openSUSE-s, Archis, Fedors ja FreeBSDs jäävad probleemid siiski lahendamata.
Allikas: opennet.ru
