Šifrování WPA2 prolomeno, Wi-Fi sítě je možné odposlouchávat (aktualizováno)

16. 10. 2017
Doba čtení: 5 minut

Sdílet

Aktualizováno 17. 10. 2017 8:06
Několik bezpečnostních problémů bylo objeveno v šifrovacím protokolu WPA2, který je dnes velmi často používán na Wi-Fi sítích. Útok byl nazván KRACK a umožňuje odposlech i podvržení informací.

Řada nově odhalených bezpečnostních chyb týkajících se WPA2 dovoluje útočníkům odposlouchávat provoz mezi přístupovým bodem a klientským zařízením. Hovoří se také o možnosti únosu spojení nebo vkládání vlastních informací do datového toku.

KRACK rozlouskne šifrování WPA2

Útok se nazývá KRACK, což je zkratka pro Key Reinstallation Attacks. Manipuluje s úvodním čtyřcestným handshakem, který je použit pro výměnu šifrovacího klíče používaného během další komunikace. KRACK zneužívá chyby ve třetím kroku, kdy je možné klíč poslat několikrát. Pokud je to uděláno správným způsobem, může být úvodní nonce použit tak, že to kompletně boří bezpečnost šifrování.

Konkrétní detaily byly zveřejněny v pondělí v 11:00 webu KrackAttacks.com. O chybě byla v předstihu několika týdnů informována zhruba stovka organizací, především výrobci Wi-Fi routerů a dalších zařízení. Detaily jsou zatím pečlivě střeženy, aby měli výrobci šanci vydat záplaty.

Příslušné chyby dostaly označení CVE-2017–13077, CVE-2017–13078, CVE-2017–13079, CVE-2017–13080, CVE-2017–13081, CVE-2017–13082, CVE-2017–13084, CVE-2017–13086, CVE-2017–13087 a CVE-2017–13088.

Formálně má být problém představen na ACM Conference on Computer and Communications Security v Dallasu, která proběhne 1. listopadu. Jako řečníci jsou uvedeni Mathy Vanhoef a Frank Piessens z KU Leuven a imec-DistriNet. Související přednáška [PDF] už proběhla na Black Hat Security Conference v Las Vegas.

Zranitelná jsou prakticky všechna zařízení

Podle zveřejněných informací jsou pravděpodobně zranitelná zařízení všech výrobců napříč trhem. Konkrétně jsou zmiňovány: Android, Linux, Apple, Windows, OpenBSD, MediaTek a Linksys. Tyto systémy a zřejmě i mnohé další jsou napadnutelné některou z variant útoku.

Byl zveřejněn 16stránkový dokument popisující detailně celý útok i jeho dopady: Key Reinstallation Attacks: Forcing Nonce Reuse in WPA2 [PDF]

Útok je demonstrován v následujícím videu, které ukazuje útok na telefon s Androidem. Linuxové systémy (tedy i Android) jsou silně náchylné, protože dovolují při úvodním handshake vložit klíč složený ze samých nul. Chyba se konkrétně týká wpa_supplicant verze 2.4 a vyšší – viz informace ve vývojářském mailing listu. Chyba je způsobena pravděpodobně poznámkou ve standardu 802.11, který říká, že při přijetí nového klíče je dobré informace o tom starém z paměti odstranit.

V závislosti na konfiguraci sítě je možné poslouchat data proudící od klientského zařízení, ale v některých případech je možné sledovat také opačný směr. Před sledováním samotných dat může uživatele ochránit další vrstva šifrování (HTTPS, VPN, SSH…), ale analytici varují, že i přesto je možné řadu informací získat dalšími způsoby.

Útok donutí znovu použít stejné klíče

Útok je veden na čtyřcestný handshake, který je součástí protokolu WPA2. Klient s ním začne v případě, že se chce připojit k síti. V takové situaci je potřeba ověřit správnost údajů na obou stranách (zejména hesla) a poté vyměnit jednorázový šifrovací klíč, který bude poté použit pro další komunikaci obou stran. Aby bylo možné zaručit bezpečnost šifrovaného kanálu, nesmí být klíč používán opakovaně.

Útok nazvaný „key reinstallation attack“ manipuluje obětí tak, aby použila klíče, které již byly dříve používány. Je toho dosaženo manipulací a znovupoužitím starších zpráv posílaných v rámci handshake. Protokol totiž dovoluje opakování zpráv při výměně jednorázového klíče, pokud protistrana správně nezareaguje. Za normálních okolností to znamená, že komunikace byla dočasně přerušena a zpráva nedorazila. Proto ji přístupový bod automaticky zopakuje.

Klient tedy může zprávu s klíčem obdržet několikrát a pokaždé resetuje parametry jako transmit packet number (nonce) a receive packet number (replay counter). Útok zneužívá toho, že opětovně tyto parametry resetuje za použití dříve vysílaných a zaznamenaných zpráv. Dokáže tak vlastně klientovi podstrčit vlastní nonce a tím oslabit/napadnout podstatu šifrování.

Pokud jsou parametry šifry známé, je možné odvodit použitý klíč, pokud známe otevřený obsah části komunikace. Pokud jej neznáme, je to podle autorů útoku těžší, ale také ne nemožné. V praxi ale není vůbec složité najít rámce se známým obsahem a klíč ze šifrované podoby odvodit. Útok ale neumožňuje zjistit heslo k Wi-Fi síti ani nedokáže odkrýt nový šifrovací klíč dohodnutý během handshake.

Výsledkem je stav, kdy útočník může dešifrovat klientovu komunikaci. Pokud oběť navíc nepoužívá protokol AES-CCMP, ale spoléhá na WPA-TKIP nebo GCMP, je výsledek katastrofální. V takové situaci je možné při opakování nonce nejen odposlouchávat, ale i vytvářet a injektovat vlastní rámce. GCMP navíc používá stejný klíč pro obě komunikující strany.

To, zda je možné sledovat a ovlivňovat oba směry, pak závisí na použitém handshake. Při běžném čtyřcestném handshake je možné číst rámce vysílané klientem. Pokud je ale ve hře Fast BSS Transition (FT) handshake, je možné sledovat a podvrhovat také rámce přístupového bodu. Podstatné také je, že většina útoků dovoluje manipulovat unicastovými, broadcastovými i multicastovými rámci.

První výrobci už záplatovali

Dobrou zprávou je, že nemusíme měnit standard WPA2 a je možné prostě aplikovat záplatu. Ta je dokonce zpětně kompatibilní, takže opravená strana může bez problémů komunikovat s postiženou protistranou. Záplata zajistí, že klíč bude do paměti zařízení instalován jen jednou a není možné jej během handshake přepsat.

Bohužel je nepravděpodobné, že by se záplaty pro většinu zařízení objevily rychle. Mnoho zařízení zůstane pravděpodobně bez opravy velmi dlouho nebo navždy. Někteří z výrobců, kteří byli o problému informováni předem, už ale opravené verze firmwarů zveřejnili.

Podle dostupných informací mezi ně patří Aruba a Ubiquiti, což jsou výrobci zaměřující se především na velké korporátní sítě. Zareagoval už ale také MikroTik, který vydal opravené verze RouterOS v6.39.3, v6.40.4 a v6.41rc. Podle vyjádření firmy jde o chybu v samotném protokolu, takže i správná implementace je napadnutelná. Součástí oznámení ale prý byla také doporučení k úpravě protokolu výměny klíčů, která by měla minimalizovat dopad problému.

bitcoin_skoleni

Debian už také poslal oznámení o vydání záplatovaných verzí WPA supplicantu pro všechny podporované verze.

Gentoo už také zveřejnilo opravu pro wpa_supplicant, označená je jako wpa_supplicant-2.6-r3.ebuild. Ubuntu má záplaty pro podporované verze: 14.04 LTS, 16.04 LTS, 17.04.

Další informace

Autor článku

Petr Krčmář pracuje jako šéfredaktor serveru Root.cz. Studoval počítače a média, takže je rozpolcen mezi dva obory. Snaží se dělat obojí, jak nejlépe umí.