Vulnerabilități în tehnologia de protecție a rețelelor wireless WPA3 și în EAP-pwd

Mathy Vanhoef, autorul atacului KRACK asupra rețelelor cu WPA2, și Eyal Ronen, coautor al unor atacuri asupra TLS, au dezvăluit informații despre șase vulnerabilități (CVE-2019-9494 — CVE-2019-9499) în tehnologia de protecție WPA3 pentru rețelele wireless, care permit recrearea parolei de conectare și accesul la rețeaua wireless fără a cunoaște parola. Vulnerabilitățile sunt grupate sub numele de code name Dragonblood și permit compromiterea metodei de negociere a conexiunilor Dragonfly, care oferă protecție împotriva atacurilor de tip brute force în offline. Pe lângă WPA3, metoda Dragonfly este utilizată de asemenea pentru protecția împotriva atacurilor de tip dictionar în protocolul EAP-pwd, utilizat în Android, servere RADIUS și în hostapd/wpa_supplicant.

În cadrul cercetării au fost identificate două tipuri principale de probleme arhitecturale în WPA3. Ambele tipuri de probleme, în cele din urmă, pot fi exploatate pentru a recrea parola de acces. Primul tip permite un atac de downgrade asupra metodelor criptografice nesigure: mecanismele de compatibilitate cu WPA2 (modul de tranzit, care permite utilizarea WPA2 și WPA3) permit atacatorului să forțeze clientul să efectueze negocierea de conexiune WPA2 în patru etape, ceea ce permite ulterior utilizarea atacurilor clasice de recuperare a parolelor aplicabile WPA2. De asemenea, a fost identificată posibilitatea de a efectua un atac de downgrade direct asupra metodei de negociere a conexiunilor Dragonfly, care permite revenirea la tipuri de curbe eliptice mai puțin protejate.

Al doilea tip de probleme duce la scurgeri indirecte de informații despre caracteristicile parolei și se bazează pe neajunsurile metodei de codare a parolei în Dragonfly, care permit, prin date indirecte, cum ar fi modificarea întârziatului în execuția operațiunilor, recrearea parolei originale. Algoritmul utilizat în Dragonfly pentru conversia hash-ului în curbă eliptică (hash-to-curve) s-a dovedit a fi vulnerabil atacurilor prin urmărirea informațiilor în cache-ul procesorului (cache attack), iar algoritmul de conversie a hash-ului în grup (hash-to-group) este vulnerabil la atacuri prin măsurarea timpului de execuție al operațiunilor (timing attack).

Pentru a efectua atacuri prin analiza cache-ului, atacatorul trebuie să aibă capacitatea de a executa cod neprivilegiat pe sistemul utilizatorului care se conectează la rețeaua wireless. Ambele metode permit obținerea informațiilor necesare pentru a clarifica corectitudinea alegerii părților parolei în procesul de ghicire. Eficiența atacului este destul de ridicată și permite ghicirea unei parole de 8 caractere, care include litere mici, interceptând doar 40 de sesiuni de negociere a conexiunii (handshake) și consumând resurse echivalente cu închirierea capacităților Amazon EC2 de 125 dolari.

Pe baza vulnerabilităților identificate, au fost propuse mai multe scenarii de atac:

  • Atac de revenire la WPA2 cu posibilitatea de a efectua un atac prin dicționar. În condițiile în care clientul și punctul de acces suportă atât WPA3, cât și WPA2, atacatorul poate desfășura propriul punct de acces fals cu același nume de rețea, care suportă doar WPA2. În această situație, clientul va aplica metoda de negociere de conectare specifică WPA2, în procesul căreia va fi identificată inadecvarea unei astfel de reveniri, însă acest lucru se va face într-o etapă în care mesajele de negociere a canalului au fost trimise și toate informațiile necesare pentru atacul prin dicționar au fost deja scurse. O metodă similară este aplicabilă și pentru revenirea la versiunile problematice ale curbelor eliptice în SAE.

    În plus, s-a descoperit că demonul iwd, dezvoltat de Intel ca o alternativă la wpa_supplicant, și stiva wireless Samsung Galaxy S10 sunt vulnerabile la atacurile de downgrade chiar și în rețele care utilizează doar WPA3 — dacă aceste dispozitive s-au conectat anterior la o rețea WPA3, ele vor încerca să se conecteze la o rețea falsă WPA2 cu același nume.

  • Atacurile prin canale externe cu extragerea informațiilor din memoria cache a procesorului. Algoritmul de codare a parolelor în Dragonfly conține ramificații condiționale, iar atacatorul, având capacitatea de a executa cod în sistemul utilizatorului rețelei wireless, poate, pe baza analizei comportamentului cache-ului, să determine care dintre blocurile expresiei if-then-else a fost ales. Informațiile obținute pot fi utilizate pentru a efectua o încercare progresivă de spargere a parolei, folosind metode similare cu cele ale atacurilor offline prin dicționar pentru spargerea parolelor WPA2. Pentru a se proteja, se recomandă trecerea la utilizarea operațiunilor cu timp de execuție constant, independent de natura datelor procesate;
  • Atacuri prin canale externe cu evaluarea timpului de execuție al operațiunilor. În codul Dragonfly, la codarea parolelor se aplică mai multe grupuri multiplicative (MODP) și un număr variabil de iterații, cantitatea acestora depinzând de parola utilizată și de adresa MAC a punctului de acces sau a clientului. Un atacator de la distanță poate determina câte iterații au fost efectuate în timpul codării parolei și le poate folosi ca indiciu în timpul încercărilor progresive de spargere a parolei.
  • Atac de refuz al serviciului. Atacatorul poate bloca funcționarea anumitor funcții ale punctului de acces din cauza epuizării resurselor disponibile prin trimiterea unui număr mare de cereri de negociere a canalului de comunicație. Pentru a ocolea protecția împotriva inundației prevăzută în WPA3, este suficient să se trimită cereri de pe adrese MAC fictive, unice.
  • Revenirea la grupuri criptografice mai puțin securizate, utilizate în procesul de negociere a conexiunilor în WPA3. De exemplu, dacă clientul suportă curbe eliptice P-521 și P-256 și folosește P-521 ca variantă prioritizată, atacatorul, indiferent de suportul
    P-521 pe partea punctului de acces, poate forța clientul să utilizeze P-256. Atacul se desfășoară prin filtrarea unor mesaje în timpul procesului de negociere a conexiunii și trimiterea de mesaje false cu informații despre lipsa suportului pentru anumite tipuri de curbe eliptice.

Au fost pregătite mai multe scripturi pentru a verifica dispozitivele pentru vulnerabilități, cu exemple de atacuri:

  • Dragonslayer — implementarea atacurilor împotriva EAP-pwd;
  • Dragondrain — un utilitar pentru verificarea vulnerabilității punctelor de acces în implementarea metodei de autentificare simultană a egaliților SAE (Simultaneous Authentication of Equals), care poate fi utilizat pentru a iniția un refuz de serviciu;
  • Dragontime — un script pentru a efectua un atac prin canale externe împotriva SAE, având în vedere diferența de timp de procesare a operațiunilor utilizând grupuri MODP 22, 23 și 24;
  • Dragonforce — un utilitar pentru recuperarea informațiilor (spargere de parole) bazat pe informații despre timpul diferit de procesare a operațiunilor sau determinarea persistenței datelor în cache.

Asocierea Wi-Fi Alliance, care dezvoltă standarde pentru rețelele wireless, a anunțat că problema afectează un număr limitat de implementări timpurii ale WPA3-Personal și poate fi rezolvată prin actualizarea firmware-ului și software-ului. Până în prezent, nu au fost raportate fapte de exploatare a vulnerabilităților în scopuri malițioase. Pentru a întări securitatea, Wi-Fi Alliance a adăugat teste suplimentare în programul de certificare a dispozitivelor wireless pentru a verifica corectitudinea implementărilor și a contactat producătorii de dispozitive pentru a coordona în comun soluționarea problemelor identificate. Patch-uri de remedii sunt deja lansate pentru hostap/wpa_supplicant. Actualizări de pachete sunt disponibile pentru Ubuntu. În Debian, RHEL, SUSE/openSUSE, Arch, Fedora și FreeBSD, problemele rămân nerezolvate.

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster