Protejează un VPN împotriva KRACK? Ce repară patch-ul
Un VPN ascunde traficul de rețeaua locală, dar nu poate repara strângerea de mână WPA2. Iată ce a schimbat patch-ul din 2017 și ce acoperă fiecare strat.
Dacă cumperi un VPN pentru că un titlu spunea că KRACK sparge criptarea Wi-Fi, repari stratul greșit. Acea dezvăluire din 2017 descria o familie de atacuri prin reinstalarea cheii asupra strângerii de mână în patru pași a WPA2, iar remedierea a venit ca actualizări de sistem de operare, patch-uri pentru driverele wireless și firmware de router. Un tunel poate ascunde traficul tău de rețeaua locală, dar nu poate repara o strângere de mână care se încheie sub el. Așadar prima întrebare nu este ce VPN să cumperi; este care dintre dispozitivele tale rulează încă o stivă wireless fără patch.
Aceeași distincție răspunde și grijii legate de buget. Cine nu își permite un abonament nu a fost niciodată exclus de la remediul real, pentru că remediul era o actualizare gratuită. Bani costă înlocuirea hardware-ului care nu mai primește una.
Ce a manipulat de fapt atacul
WPA2 derivă o cheie de pereche nouă la asociere printr-o strângere de mână în patru pași. Punctul de acces trimite un nonce, clientul răspunde cu al său, ambele părți calculează cheia tranzitorie de pereche, iar punctul de acces confirmă cu un mesaj pe care clientul îl confirmă. Un atac prin reinstalarea cheii interferează cu acea secvență în loc să ghicească fraza de acces, forțând un client să instaleze o cheie pe care a instalat-o deja. Fiecare reinstalare poate reseta nonce-ul de transmisie și contorul de repetare a recepției legate de acea cheie.
Odată ce acele contoare merg înapoi, o parte din traficul care ar fi trebuit respins devine din nou acceptabil. În funcție de variantă și de implementare, un atacator aflat în raza radio putea relua cadre, le putea decripta sau le putea injecta. Strângerea de mână a cheii de grup și cea a tranziției rapide aveau variante proprii, de aceea avizul a enumerat mai multe nume de atacuri, nu unul singur.
Android 6.0 și versiunile ulterioare au fost cel mai rău caz. Versiunile sale de wpa_supplicant puteau fi forțate să instaleze o cheie din numai zerouri, ceea ce făcea decriptarea mult mai ușoară decât pe platformele unde reinstalarea doar reseta contoare. Acel detaliu a separat o slăbiciune teoretică de una practică pe cea mai răspândită platformă de telefon de atunci.
Remedierea trăiește în stiva wireless
Corecția din amonte le-a spus supplicanților și punctelor de acces să ignore un mesaj de strângere de mână retransmis odată ce cheia era deja instalată. Compilările corectate de wpa_supplicant și hostapd o conțineau, iar distribuțiile au reportat-o în ramuri mai vechi, așa că șirul pe care îl afișează wpa_supplicant -v este un punct de plecare, nu o sentință. Citește avizul de securitate al distribuției și confirmă patch-ul concret, nu doar numărul versiunii. O compilare care raportează o versiune veche poate fi totuși corectată, iar una cu versiune nouă poate încă să nu aibă un backport al producătorului.
Ambele capete ale legăturii au nevoie de atenție. Un router reparat nu patch-uiește laptopul care se asociază cu el, iar un laptop reparat nu patch-uiește routerul. Producătorii publicau avize pe produs, iar corecțiile pentru routere rămâneau adesea în urma actualizărilor de telefon pentru că fiecare model are nevoie de propria compilare de firmware. Dacă ultima versiune a unui dispozitiv precede avizul, tratează-l ca necorectat până când producătorul spune altceva.
Pentru echipamentul pe care nu îl poți actualiza, opțiunile sunt înguste și deloc spectaculoase. Retrage-l, ține-l departe de rețele care transportă trafic sensibil sau limitează-l la un segment unde singurii lui semeni sunt la fel de sacrificabili. Niciuna dintre aceste opțiuni nu implică un abonament și niciuna nu se îmbunătățește alegând alt furnizor de tunel.
Ce acoperă un tunel
Un VPN mută granița. Dispozitivul tău criptează fiecare pachet și îl trimite unui server VPN, care îl decriptează și îl redirecționează. Cine manipulează legătura Wi-Fi vede pachetele exterioare ale tunelului, nu încărcătura din ele, așa că un atac prin reinstalare care expune cadrele stratului de legătură nu expune automat conținutul conexiunii tunelate. Acea protecție rezistă chiar și când stiva wireless de dedesubt rămâne vulnerabilă, și exact de aceea cele două controale sunt confundate.
Calificativul este „tunelat”. Tunelarea divizată, o listă de ocolire sau o excepție pentru portal captiv trimit o parte din trafic în afara tunelului, iar acel trafic nu are niciun beneficiu din el. La fel se întâmplă cu traficul altor dispozitive din aceeași rețea care nu au instalat niciodată clientul. Un tunel este o decizie pentru fiecare dispozitiv și fiecare rută, nu o proprietate a camerei, iar un VPN la nivel de router acoperă doar ce trece cu adevărat prin router.
Ce nu poate face tunelul este să repare driverul, să oprească un val de deautentificare sau să împiedice un atacator să bruieze canalul. Nu poate proteja nici o conexiune care nu intră niciodată în el. Sunt probleme de disponibilitate și de strat de legătură, și rămân la stiva wireless indiferent cât de puternic este setul de cifruri al tunelului.
HTTPS și tunelul protejează salturi diferite
O singură încărcare de pagină poate implica trei protecții separate: legătura Wi-Fi, tunelul către serverul VPN și sesiunea TLS către site. Fiecare este negociată independent. TLS cu un certificat valid și o versiune modernă de protocol îți dă criptare autentificată între browser și site chiar și când primul salt este ostil, pentru că verificarea certificatului este cea care împiedică un impostor să își substituie propria cheie.
Acea verificare are puncte slabe la margini. O redirecționare de la HTTPS la HTTP, o pagină care încarcă scripturi prin HTTP simplu sau un utilizator care face clic prin avertismentul de certificat mută tot traficul în afara sesiunii protejate. HSTS și paginile intermediare ale browserului există pentru că aceste greșeli sunt frecvente, nu pentru că TLS este fragil.
Păstrarea HTTPS și a unui tunel nu face implementarea wireless să nu mai fie vulnerabilă. Cadrele sunt în continuare decriptate de un driver defectuos; diferența este ce găsește atacatorul în ele și dacă acel conținut era deja protejat de altceva.
Ordinea reparațiilor pentru o rețea mixtă
Începe cu punctul de acces, pentru că este dispozitivul pe care îl controlezi și de care depinde fiecare client. Apoi parcurge sistemele de operare ale clienților, de la cele mai vechi, fiindcă platformele care au încetat să primească actualizări sunt cele care nu vor fi niciodată corectate. Abia după ce acel inventar este gata o decizie despre VPN are sens, și este o decizie despre expunere, nu despre reparație. A face asta în ordinea inversă, mai întâi tunelul și apoi firmware-ul, lasă defectul real la locul lui cât durează abonamentul.
Notează ce ai verificat, inclusiv versiunea de firmware și data. „Actualizat” nu este o stare pe care cineva o poate audita mai târziu.
Trei verificări acoperă cea mai mare parte a muncii, și merg în această ordine. Nu sări peste a treia doar pentru că primele două au revenit curate.
- Firmware-ul routerului: compară versiunea instalată cu pagina de avize a producătorului, nu cu butonul de actualizare.
- SO-ul clientului: confirmă nivelul de patch-uri care include corecția wireless pentru fiecare telefon, laptop și tabletă.
- Resturi: listează dispozitivele fără cale de patch și decide retragerea, izolarea sau acceptarea.
Dacă lista de resturi este lungă, o rețea de oaspeți cu izolare a clienților câștigă timp cât timp hardware-ul este înlocuit. Apoi testează un client cunoscut pe fiecare bandă, notează rezultatul și reverifică după următoarea versiune de firmware. Inventarul de hardware este ce face următorul aviz rapid; tunelul este ce acoperă golul între timp.