Key Reinstallation Attack ( KRACK - Key Reinstallation Attack ) este un atac de reluare asupra oricărei rețele Wi-Fi cu criptare WPA2 .
A fost descoperit pentru prima dată de cercetătorii belgieni Mathy Vanhoef și Frank Piessens în 2016. [1] Rezultatele studiului au fost publicate în octombrie 2017. Folosind acest atac, un atacator poate „asculta” datele și, în unele cazuri, chiar „falsifica” datele transmise între client și punctul de acces.
Toate rețelele Wi-Fi securizate utilizează o schemă de strângere de mână cu 4 căi [ pentru a genera o cheie criptografică . Atacatorul forțează victima să reseteze cheia criptografică deja utilizată în a treia etapă a strângerii de mână în 4 direcții.
Datorită utilizării cifrului de flux AES-CCMP în protocolul WPA2, rekeyingul slăbește foarte mult criptarea. Astfel, un atacator poate efectua un criptoatac, poate afla cheia și „conecta” datele schimbate între client și punctul de acces. Pe sistemele Linux[ ce? ] și Android 6.0 ca urmare a atacului, cheia nulă a fost resetată, ceea ce a făcut mult mai ușor să piratați dispozitivul.
Când un client nou se conectează la o rețea Wi-Fi, o cheie de criptare partajată este negociată în 4 etape („strângere de mână”) în 4 etape. Cheia convenită este apoi folosită pentru a cripta toate pachetele de date „normale”. Cu toate acestea, deoarece mesajele individuale se pot pierde, punctul de acces ( Punctul de acces englez , AP ) poate retrimite mesajele din etapa a treia până când primește o confirmare de primire. În consecință, clientul poate primi acest mesaj de mai multe ori. De fiecare dată, după ce a primit un astfel de mesaj, clientul setează cheia de criptare existentă și resetează contoarele ( contoare de reluare în engleză ). Cercetătorii au reușit să demonstreze în practică că un atacator este capabil să forțeze victima să reseteze contoarele prin retrimiterea mesajului din etapa a 3-a în timpul celei de-a 4-a etape „strângere de mână”.
Datorită reutilizarii cheii de criptare, devine posibilă atacarea protocolului criptografic : reluarea pachetelor, decriptarea și chiar falsificarea conținutului acestora [2] . Această metodă este potrivită pentru atacarea protocoalelor Group Key, Fast Basic Service Set (BSS), PeerKey, Tunneled Direct-Link Setup (TDLS) PeerKey (TPK) sau Wireless Network Management (WNM) Sleep Mode [3] .
În anumite condiții, un atacator poate nu numai să „asculte” traficul Wi-Fi, ci și să efectueze o serie de atacuri „man-in-the-middle ” : interceptarea sesiunilor TCP, inserarea informațiilor în sesiunile HTTP, adresa de redare sau difuzarea pachetelor, și efectuați alte atacuri precum falsificarea [3] .
Atacatorii au capacitatea de a asculta traficul din rețea și de a fura parole, cookie-uri HTTP și altele asemenea. Atacatorii câștigă, de asemenea, capacitatea de a decripta pachetele TCP SYN , făcând posibilă setarea unui contor de pachete și furtul unei sesiuni TCP. Astfel, în ciuda utilizării WPA2, un atacator are capacitatea de a efectua un atac man-in-the-middle și poate, de asemenea, să insereze module rău intenționate în datele HTTP. De exemplu, un atacator ar putea injecta software rău intenționat în datele HTTP pe care victima le primește de la site-urile web pe care le-a vizualizat. [patru]
Consecințele unui atac KRACK sunt deosebit de periculoase dacă rețeaua Wi-Fi folosește protocoale de criptare WPA-TKIP sau GCMP în loc de AES-CCMP. De menționat că protocolul GCMP stă la baza standardului WiGig (IEEE 802.11ad), care ar trebui să se răspândească în următorii ani. [patru]
Tabelul prezintă acțiunile atacatorului ca urmare a atacului KRACK în raport cu clientul și punctul de acces (AP), în funcție de protocolul de criptare a datelor utilizat (săgețile indică direcțiile de trimitere a pachetelor de informații):
Protocol | Repeta | Decriptare | fals |
---|---|---|---|
TKIP | AP → client | client → AP | client → AP |
CCMP | AP → client | client → AP | - |
GCMP | AP → client | client → AP | client ↔ AP |
Atacul este deosebit de devastator pentru versiunile 2.4 și 2.5 ale wpa_supplicant, un client Wi-Fi care a fost folosit pe unele sisteme de operare Linux în momentul în care a fost descoperită vulnerabilitatea . Acest client a instalat o cheie nulă în loc să reinstaleze cheia reală. Această vulnerabilitate s-a datorat unui bug în standardul 802.11, care implicit specifica ștergerea memoriei din cheia de criptare imediat după ce a fost instalată. Deoarece Android folosește un wpa_supplicant modificat, Android 6.0 și Android Wear 2.0 conțin și ele această vulnerabilitate. Drept urmare, 31,2% dintre dispozitivele Android sunt afectate de acest atac. [5]
Tabelul arată impactul atacului KRACK asupra diferitelor tipuri de clienți Wi-Fi. A doua coloană conține informații despre dacă implementarea clientului permite ca mesajul din a treia etapă să fie retrimis într-o strângere de mână în 4 direcții.
Implementarea | Re.Msg3 | 4 moduri |
---|---|---|
OS X 10.9.5 | da | vulnerabil |
macOS Sierra 10.12 | da | vulnerabil |
iOS 10.3.1 | Nu | nu vulnerabil |
wpa_supplicant v2.3 | da | vulnerabil |
wpa_supplicant v2.4-5 | da | vulnerabil |
wpa_supplicant v2.6 | da | vulnerabil |
Android 6.0.1 | da | vulnerabil |
OpenBSD 6.1 (rom) | da | nu vulnerabil |
OpenBSD 6.1 (iwn) | da | vulnerabil |
Windows 7 | Nu | nu vulnerabil |
Windows 10 | Nu | nu vulnerabil |
MediaTek | da | vulnerabil |
Utilizatorii sunt sfătuiți să folosească un VPN și să viziteze numai site-uri care utilizează protocolul HTTPS . Cu toate acestea, trebuie remarcat faptul că gateway-urile VPN au, de asemenea, acces deplin la traficul rețelei clienților, iar serverele HTTPS în unele configurații pot fi vulnerabile la diferite tipuri de atacuri (de exemplu, așa-numitele atacuri de downgrade în engleză , ca urmare a cărora utilizatorii sunt forțați să treacă la o conexiune nesigură prin protocolul HTTP). [6]
Tabelul conține remedieri pentru diferite dispozitive care elimină posibilitatea unui atac KRACK. De exemplu, în clientul Wi-Fi wpa_supplicant 2.6, cheia de criptare este setată o singură dată: după prima recepție a mesajului din a treia etapă de la punctul de acces. [2]
Pentru sistemele de operare din familia Linux, corecțiile au fost lansate în 2017. [7]
OS | Versiune | Remedieri |
---|---|---|
Android | Toate | Nivel de securitate 2017-11-06 [8] |
Sistemul de operare Chrome | Toate | 62.0.3202.74 [9] |
iOS | iOS 11 | iOS 11.1 [10] pentru iPhone >=7, iOS 11.2 [11] pentru toate dispozitivele iOS care rulează iOS 11. Versiunile iOS anterioare de 11 nu au fost afectate. |
macOS High Sierra | 10.13 | 10.13.1 [12] |
macOS Sierra | 10.12 | Actualizare de securitate 2017-001 [12] |
Windows | 7 | KB4041681 și KB4041678 [13] |
Windows | 8.1 | KB4041693 și KB4041687 [13] |
Windows | zece | KB4042895 [13] |
Windows Server | 2016 | KB4041691 [13] |