A Key Reinstallation Attack ( KRACK – Key Reinstallation Attack ) egy újrajátszó támadás bármely WPA2 titkosítású Wi-Fi hálózaton .
Először Mathy Vanhoef és Frank Piessens belga kutatók fedezték fel 2016-ban. [1] A tanulmány eredményeit 2017 októberében tették közzé. Ezzel a támadással a támadó „meghallgathatja” az adatokat, sőt bizonyos esetekben „hamisíthatja” a kliens és a hozzáférési pont között továbbított adatokat.
Minden biztonságos Wi-Fi hálózat négyirányú kézfogási [ sémát használ a kriptográfiai kulcs létrehozásához . A támadó arra kényszeríti az áldozatot, hogy állítsa vissza a már használt kriptográfiai kulcsot a 4 irányú kézfogás harmadik lépésében.
A WPA2 protokollban az AES-CCMP adatfolyam titkosításának köszönhetően az újrakulcsolás nagymértékben gyengíti a titkosítást. Így a támadó kriptotámadást hajthat végre, megtudhatja a kulcsot, és „bekötheti” a kliens és a hozzáférési pont között kicserélt adatokat. Linux rendszereken _[ mi? ] és Android 6.0 esetén a támadás hatására a null kulcs visszaállításra került, ami jelentősen megkönnyítette a készülék feltörését.
Amikor egy új kliens csatlakozik egy Wi-Fi hálózathoz, a megosztott titkosítási kulcs 4 lépésben kerül megtárgyalásra ( 4 fokozatú "kézfogás"). Az egyeztetett kulcsot ezután az összes "normál" adatcsomag titkosításához használják. Mivel azonban az egyes üzenetek elveszhetnek, a hozzáférési pont ( angol hozzáférési pont, AP ) újra elküldheti a harmadik szakasz üzeneteit, amíg meg nem kapja az átvételi elismervényt. Ennek következtében az ügyfél többször is megkaphatja ezt az üzenetet. Minden alkalommal, amikor egy ilyen üzenetet kapott, a kliens beállítja a meglévő titkosítási kulcsot és visszaállítja a számlálókat ( angolul replay counters ). A kutatók a gyakorlatban be tudták bizonyítani, hogy a támadó képes rákényszeríteni az áldozatot a számlálók nullázására azáltal, hogy a 3. szakasz üzenetét a 4. szakasz "kézfogása" során újra elküldi.
A titkosítási kulcs újrafelhasználásának köszönhetően lehetővé válik a kriptográfiai protokoll megtámadása : csomagok újrajátszása, dekódolása, sőt tartalmuk meghamisítása [2] . Ez a módszer alkalmas csoportkulcs, gyors alapszolgáltatáskészlet (BSS) átmenet, PeerKey, tunneled Direct-Link Setup (TDLS) PeerKey (TPK) vagy Wireless Network Management (WNM) alvó üzemmód [3] protokollok támadására .
Bizonyos feltételek mellett a támadó nem csak „hallgathatja” a Wi-Fi forgalmat, hanem számos „ man-in-the-middle” támadást is végrehajthat : elfoghatja a TCP-munkameneteket, információkat illeszthet be a HTTP-munkamenetekbe, lejátszhatja a címet vagy a broadcast csomagokat, és egyéb támadásokat hajt végre, például hamisítást [3] .
A támadók meghallgathatják a hálózati forgalmat, és jelszavakat, HTTP cookie -kat és hasonlókat lophatnak el onnan. A támadók lehetőséget kapnak a TCP SYN -csomagok visszafejtésére is , ami lehetővé teszi a csomagszámláló beállítását és a TCP-munkamenet ellopását. Így a WPA2 használata ellenére a támadó képes emberközeli támadást végrehajtani, és rosszindulatú modulokat is beszúrhat a HTTP-adatokba. Például egy támadó rosszindulatú szoftvert juttathat az áldozat által megtekintett webhelyekről kapott HTTP-adatokba. [négy]
A KRACK támadás következményei különösen veszélyesek, ha a Wi-Fi hálózat AES-CCMP helyett WPA-TKIP vagy GCMP titkosítási protokollt használ. Megjegyzendő, hogy a GCMP protokoll a WiGig ( IEEE 802.11ad) szabvány alapja, amely a következő években széles körben elterjed. [négy]
A táblázat a támadó tevékenységét mutatja a KRACK támadás eredményeként a klienshez és a hozzáférési ponthoz (AP) kapcsolatban, a használt adattitkosítási protokolltól függően (a nyilak az információs csomagok küldésének irányait mutatják):
Jegyzőkönyv | Ismétlés | Dekódolás | hamisítvány |
---|---|---|---|
TKIP | AP → kliens | kliens → AP | kliens → AP |
CCMP | AP → kliens | kliens → AP | - |
GCMP | AP → kliens | kliens → AP | kliens ↔ AP |
A támadás különösen pusztító a wpa_supplicant, egy Wi-Fi-kliens 2.4-es és 2.5-ös verziója esetében, amelyet néhány Linux operációs rendszeren használtak a sérülékenység felfedezésekor . Ez az ügyfél nullkulcsot telepített a valódi kulcs újratelepítése helyett. Ezt a sérülékenységet a 802.11 szabvány hibája okozta, amely implicit módon azt írta elő, hogy a telepítés után azonnal törölni kell a memóriát a titkosítási kulcsból. Mivel az Android módosított wpa_supplicant használ, az Android 6.0 és az Android Wear 2.0 is tartalmazza ezt a biztonsági rést. Ennek eredményeként az Android készülékek 31,2%-át érinti ez a támadás. [5]
A táblázat bemutatja a KRACK támadás különböző típusú Wi-Fi kliensekre gyakorolt hatását. A második oszlop információkat tartalmaz arról, hogy a kliens megvalósítás lehetővé teszi-e a harmadik szakasz üzenetének négyirányú kézfogással történő újraküldését.
Végrehajtás | Re.Msg3 | 4 irányú |
---|---|---|
OS X 10.9.5 | Igen | sebezhető |
macOS Sierra 10.12 | Igen | sebezhető |
iOS 10.3.1 | Nem | nem sebezhető |
wpa_supplicant v2.3 | Igen | sebezhető |
wpa_supplicant v2.4-5 | Igen | sebezhető |
wpa_supplicant v2.6 | Igen | sebezhető |
Android 6.0.1 | Igen | sebezhető |
OpenBSD 6.1 (rum) | Igen | nem sebezhető |
OpenBSD 6.1 (iwn) | Igen | sebezhető |
Windows 7 | Nem | nem sebezhető |
Windows 10 | Nem | nem sebezhető |
MediaTek | Igen | sebezhető |
A felhasználóknak erősen javasolt a VPN használata, és csak a HTTPS protokollt használó webhelyek felkeresése . Megjegyzendő azonban, hogy a VPN-átjárók teljes hozzáféréssel rendelkeznek a kliens hálózati forgalmához, és a HTTPS-kiszolgálók bizonyos konfigurációkban sebezhetőek lehetnek különféle típusú támadásokkal szemben (például az úgynevezett English Downgrade Attacks , amelynek eredményeként a felhasználók kénytelenek nem biztonságos kapcsolatra váltani a HTTP protokollon keresztül). [6]
A táblázat különböző eszközökhöz tartalmaz olyan javításokat, amelyek kiküszöbölik a KRACK támadás lehetőségét. Például a wpa_supplicant 2.6 Wi-Fi kliensben a titkosítási kulcs csak egyszer kerül beállításra: a harmadik szakasz üzenetének első vétele után a hozzáférési ponttól. [2]
A Linux család operációs rendszereihez 2017-ben adtak ki javításokat. [7]
OS | Változat | Javítások |
---|---|---|
Android | Összes | Biztonsági szint 2017-11-06 [8] |
Chrome OS | Összes | 62.0.3202.74 [9] |
iOS | iOS 11 | iOS 11.1 [10] iPhone >=7, iOS 11.2 [11] minden iOS 11 rendszert futtató eszközre. A 11-nél korábbi iOS verziókat ez nem érinti. |
macOS High Sierra | 10.13 | 10.13.1 [12] |
macOS Sierra | 10.12 | Biztonsági frissítés 2017-001 [12] |
ablakok | 7 | KB4041681 és KB4041678 [13] |
ablakok | 8.1 | KB4041693 és KB4041687 [13] |
ablakok | tíz | KB4042895 [13] |
Windows Server | 2016 | KB4041691 [13] |