Mathy Vanhoef, autor útoku KRACK na bezdrátové sítě, odhalil informace o 12 zranitelnostech týkajících se různých bezdrátových zařízení. Zjistit problémy byly představeny pod kódovým názvem FragAttacks a pokrývají prakticky všechny běžně používané bezdrátové karty a přístupové body – z testovaných 75 zařízení bylo každé vystaveno alespoň jedné z navržených metod útoku.
Problémy jsou rozděleny do dvou kategorií: 3 zranitelnosti byly odhaleny přímo ve standardech Wi-Fi a pokrývají všechna zařízení podporující aktuální standardy IEEE 802.11 (problémy trvají od roku 1997). 9 zranitelností se týká chyb a nedostatků v konkrétních realizacích bezdrátových protokolů. Hlavní nebezpečí představuje druhá kategorie, protože organizace útoků na nedostatky standardů vyžaduje specifická nastavení nebo provedení určitých akcí obětí. Všechny zranitelnosti se projevují nezávisle na používání protokolů pro zabezpečení Wi-Fi, včetně WPA3.
Většina zjištěných metod útoků umožňuje útočníkovi provést substituci rámců L2 v zabezpečené síti, což dává možnost zasáhnout do provozu oběti. Jako nejrealističtější scénář útoku se zmiňuje záměna odpovědí DNS k nasměrování uživatele na hostitele útočníka. Také se uvádí příklad využití zranitelností k obcházení překladatele adres na bezdrátovém routeru a zajištění přímého přístupu k zařízení v lokální síti nebo ignorování omezení firewallu. Druhá část zranitelností, která souvisí s zpracováním fragmentovaných rámců, umožňuje extrakci dat o provozu v bezdrátové síti a zachycení údajů uživatele přenášených bez šifrování.
Výzkumník připravil demonstraci, která ukazuje, jak lze využít zranitelnosti k odcizení hesla přenášeného při přístupu na web pomocí protokolu HTTP bez šifrování. Také je ukázáno, jak zaútočit na chytrou zásuvku řízenou přes Wi-Fi a využít ji jako základnu pro pokračování útoku na neaktualizovaná zařízení v místní síti, která mají neopravené zranitelnosti (například se podařilo, pomocí obcházení NAT, zaútočit na neaktualizovaný počítač s Windows 7 v interní síti).

Aby útočník mohl zranitelnosti využít, musí se nacházet v dosahu cílového bezdrátového zařízení, aby mohl oběti zaslat specificky upravenou sadu paketů. Problémy se týkají jak klientských zařízení a bezdrátových karet, tak přístupových bodů a Wi-Fi routerů. Obecně jako ochranná opatření stačí použití HTTPS v kombinaci s šifrováním DNS provozu pomocí DNS over TLS nebo DNS over HTTPS. Pro ochranu je také vhodná aplikace VPN.
Nejnebezpečnějšími jsou čtyři zranitelnosti v implementacích bezdrátových zařízení, které umožňují triviálním způsobem dosáhnout vložení svých nezašifrovaných paketů:
- Zranitelnosti CVE-2020-26140 a CVE-2020-26143 umožňují vkládání paketů na některých přístupových bodech a bezdrátových kartách v Linuxu, Windows a FreeBSD.
- Zranitelnost VE-2020-26145 umožňuje zpracování širokopásmových nezašifrovaných fragmentů jako úplných paketů v macOS, iOS, FreeBSD a NetBSD.
- Zranitelnost CVE-2020-26144 umožňuje zpracování nezašifrovaných znovu sestavených paketů A-MSDU s EtherType EAPOL v Huawei Y6, Nexus 5X, FreeBSD a LANCOM AP.
Další zranitelnosti v implementacích jsou většinou spojeny s problémy, které vznikají při zpracování fragmentovaných paketů:
- CVE-2020-26139: umožňuje přesměrování paketů s vlajkou EAPOL, zaslaných neautentizovaným odesílatelem (týká se 2/4 ověřených přístupových bodů, jakož i řešení založených na NetBSD a FreeBSD).
- CVE-2020-26146: umožňuje znovu sestavení šifrovaných fragmentů bez kontroly pořadí sekvenčních čísel.
- CVE-2020-26147: umožňuje znovu sestavení smíšených šifrovaných a nešifrovaných fragmentů.
- CVE-2020-26142: umožňuje zpracování fragmentovaných paketů jako úplných paketů (týká se OpenBSD a bezdrátového modulu ESP12-F).
- CVE-2020-26141: chybí kontrola TKIP MIC pro fragmentované rámce.
Problémy ve specifikacích:
- CVE-2020-24588 — útok na agregované rámce (flag „is aggregated“ není chráněn a může být změněn útočníkem v rámcích A-MSDU v WPA, WPA2, WPA3 a WEP). Jako příklad použití útoku je zmíněno přesměrování uživatele na škodlivý DNS server nebo obcházení NAT.

- CVE-2020-245870 — útok na míchání klíčů (je povoleno znovu sestavení fragmentů šifrovaných pomocí různých klíčů v WPA, WPA2, WPA3 a WEP). Útok umožňuje určit údaje odeslané klientem, například zjistit obsah cookies při přístupu přes HTTP.

- CVE-2020-24586 — útok na cache fragmentů (standardy pokrývající WPA, WPA2, WPA3 a WEP nevyžadují odstranění již usazených fragmentů v cache po novém připojení k síti). Umožňuje určit údaje odeslané klientem a provést substituci svých údajů.

Pro testování míry zranitelnosti svých zařízení byl připraven speciální nástroj a hotový Live obraz pro vytvoření bootovatelného USB disku. V Linuxu se problémy projevují v bezdrátové síti mac80211, v jednotlivých bezdrátových ovladačích a ve firmwarech nahrávaných na bezdrátové karty. K odstranění zranitelností byl navržen soubor patchů pokrývající stack mac80211 a ovladače ath10k/ath11k. Pro některá zařízení, jako jsou bezdrátové karty Intel, je navíc vyžadováno instalaci aktualizace firmwaru.
Testy typových zařízení:

Testy bezdrátových karet v Linuxu a Windows:

Testy bezdrátových karet ve FreeBSD a NetBSD:

Výrobci byli o problémech informováni již před 9 měsíci. Takto dlouhé embargo je vysvětleno koordinovanou přípravou aktualizací a prodlevami při přípravě změn specifikací organizacemi ICASI a Wi-Fi Alliance. Původně se plánovalo odhalit informace 9. března, ale po zvážení rizik bylo rozhodnuto odložit publikaci ještě o dva měsíce, aby bylo poskytnuto více času na přípravu patchů s ohledem na netriviálnost prováděných změn a obtíže vyplývající z pandemie COVID-19.
Je pozoruhodné, že navzdory embargu společnost Microsoft v březnové aktualizaci systému Windows předčasně odstranila některé zranitelnosti. Zveřejnění informací bylo odloženo o týden od původně plánovaného termínu a společnost Microsoft nestačila nebo nechtěla provést změny v již připravené aktualizaci, čímž vytvořila hrozbu pro uživatele jiných systémů, protože útočníci mohli získat informace o zranitelnostech reverzním inženýrstvím obsahu aktualizací.
Zdroj: opennet.ru



