Key Reinstallation Attack ( KRACK - Key Reinstallation Attack ) er et genafspilningsangreb på ethvert Wi-Fi- netværk med WPA2 - kryptering .
Det blev først opdaget af de belgiske forskere Mathy Vanhoef og Frank Piessens i 2016. [1] Resultaterne af undersøgelsen blev offentliggjort i oktober 2017. Ved at bruge dette angreb kan en angriber "lytte" til dataene og i nogle tilfælde endda "smede" de data, der er transmitteret mellem klienten og adgangspunktet.
Alle sikre Wi-Fi-netværk bruger et 4- vejs håndtryk [ -skema til at generere en kryptografisk nøgle . Angriberen tvinger offeret til at nulstille den allerede brugte kryptografiske nøgle i det tredje trin af 4-vejs håndtrykket.
På grund af brugen af AES-CCMP-strømchifferet i WPA2-protokollen, svækker gentastning kraftigt krypteringen. En angriber kan således udføre et kryptoangreb, finde ud af nøglen og "wire" de data, der udveksles mellem klienten og adgangspunktet. På Linux- systemer[ hvad? ] og Android 6.0 som følge af angrebet blev nul-nøglen nulstillet, hvilket gjorde det meget nemmere at hacke enheden.
Når en ny klient opretter forbindelse til et Wi-Fi-netværk, forhandles en delt krypteringsnøgle i 4 trin (4-trins "håndtryk"). Den aftalte nøgle bruges derefter til at kryptere alle "normale" datapakker. Men da individuelle meddelelser kan gå tabt, kan adgangspunktet ( Engelsk Access Point, AP ) sende tredje trins meddelelser igen, indtil det modtager en bekræftelse af sin modtagelse. Som en konsekvens heraf kan klienten modtage denne besked flere gange. Hver gang, efter at have modtaget en sådan besked, indstiller klienten den eksisterende krypteringsnøgle og nulstiller tællerne ( engelsk replay counters ). Forskerne var i stand til i praksis at bevise, at en angriber er i stand til at tvinge offeret til at nulstille tællerne ved at sende 3. trins beskeden igen under 4. trins "håndtryk".
På grund af genbrugen af krypteringsnøglen bliver det muligt at angribe den kryptografiske protokol : genafspilning af pakker, dekryptering og endda forfalskning af deres indhold [2] . Denne metode er velegnet til at angribe gruppenøgle, Fast Basic Service Set (BSS) Transition, PeerKey, Tunneled Direct-Link Setup (TDLS) PeerKey (TPK) eller Wireless Network Management (WNM) Sleep Mode [3] protokoller .
Under visse forhold kan en angriber ikke kun "lytte" til Wi-Fi-trafik, men også udføre en række man-in-the-middle- angreb : opsnappe TCP-sessioner, indsætte information i HTTP-sessioner, afspille adresse eller udsende pakker, og udføre andre angreb såsom spoofing [3] .
Angribere har mulighed for at lytte til netværkstrafik og stjæle adgangskoder, HTTP-cookies og lignende fra den. Angribere får også muligheden for at dekryptere TCP SYN- pakker , hvilket gør det muligt at indstille en pakketæller og stjæle en TCP-session. På trods af brugen af WPA2 har en angriber således mulighed for at udføre et man-in-the-middle-angreb og kan også indsætte ondsindede moduler i HTTP-data. For eksempel kan en angriber injicere ondsindet software i de HTTP-data, som offeret modtager fra de websteder, de har set. [fire]
Konsekvenserne af et KRACK-angreb er især farlige, hvis Wi-Fi-netværket bruger WPA-TKIP- eller GCMP-krypteringsprotokoller i stedet for AES-CCMP. Det skal bemærkes, at GCMP-protokollen ligger til grund for WiGig (IEEE 802.11ad) standarden, som bør blive udbredt i de kommende år. [fire]
Tabellen viser angriberens handlinger som følge af KRACK-angrebet i forhold til klienten og adgangspunktet (AP), afhængigt af den anvendte datakrypteringsprotokol (pilene viser vejledningen til afsendelse af informationspakker):
Protokol | Gentage | Dekryptering | forfalskning |
---|---|---|---|
TKIP | AP → klient | klient → AP | klient → AP |
CCMP | AP → klient | klient → AP | - |
GCMP | AP → klient | klient → AP | klient ↔ AP |
Angrebet er især ødelæggende for version 2.4 og 2.5 af wpa_supplicant, en Wi-Fi-klient, der blev brugt på nogle Linux-operativsystemer på det tidspunkt, hvor sårbarheden blev opdaget . Denne klient installerede en null-nøgle i stedet for at geninstallere den rigtige nøgle. Denne sårbarhed skyldtes en fejl i 802.11-standarden, som implicit specificerede at rydde hukommelsen fra krypteringsnøglen umiddelbart efter den blev installeret. Da Android bruger en modificeret wpa_supplicant, indeholder Android 6.0 og Android Wear 2.0 også denne sårbarhed. Som et resultat er 31,2 % af Android-enhederne berørt af dette angreb. [5]
Tabellen viser virkningen af KRACK-angrebet på forskellige typer Wi-Fi-klienter. Den anden kolonne indeholder information om, hvorvidt klientimplementeringen tillader, at tredje trins meddelelse sendes igen i et 4-vejs håndtryk.
Implementering | Re.Msg3 | 4 vejs |
---|---|---|
OS X 10.9.5 | Ja | sårbar |
macOS Sierra 10.12 | Ja | sårbar |
iOS 10.3.1 | Ingen | ikke sårbar |
wpa_supplicant v2.3 | Ja | sårbar |
wpa_supplicant v2.4-5 | Ja | sårbar |
wpa_supplicant v2.6 | Ja | sårbar |
Android 6.0.1 | Ja | sårbar |
OpenBSD 6.1 (rom) | Ja | ikke sårbar |
OpenBSD 6.1 (iwn) | Ja | sårbar |
Windows 7 | Ingen | ikke sårbar |
Windows 10 | Ingen | ikke sårbar |
MediaTek | Ja | sårbar |
Brugere anbefales kraftigt at bruge en VPN og kun besøge websteder, der bruger HTTPS-protokollen . Det skal dog bemærkes, at VPN-gateways også har fuld adgang til klientnetværkstrafik, og HTTPS-servere i nogle konfigurationer kan være sårbare over for forskellige typer angreb (f.eks. de såkaldte engelske nedgraderingsangreb , som følge af hvilke brugere er tvunget til at skifte til en usikker forbindelse over HTTP-protokollen). [6]
Tabellen indeholder rettelser til forskellige enheder, der eliminerer muligheden for et KRACK-angreb. For eksempel, i Wi-Fi-klienten wpa_supplicant 2.6, indstilles krypteringsnøglen kun én gang: efter den første modtagelse af tredje trins besked fra adgangspunktet. [2]
Til operativsystemer i Linux-familien blev patches udgivet i 2017. [7]
OS | Version | Rettelser |
---|---|---|
Android | Alle | Sikkerhedsniveau 2017-11-06 [8] |
Chrome OS | Alle | 62.0.3202.74 [9] |
iOS | iOS 11 | iOS 11.1 [10] til iPhone >=7, iOS 11.2 [11] for alle iOS-enheder, der kører iOS 11. iOS-versioner tidligere end 11 blev ikke påvirket. |
macOS High Sierra | 10.13 | 10.13.1 [12] |
macOS Sierra | 10.12 | Sikkerhedsopdatering 2017-001 [12] |
Windows | 7 | KB4041681 og KB4041678 [13] |
Windows | 8.1 | KB4041693 og KB4041687 [13] |
Windows | ti | KB4042895 [13] |
Windows Server | 2016 | KB4041691 [13] |