Útok bez hesla a bez zásahu majitele
Kaiser svůj výzkum představil 16. října na konferenci Hexacon v Paříži. Podle něj může útočník v dosahu Wi-Fi poslat routeru speciálně upravené zprávy a získat tak nad zařízením plnou kontrolu bez znalosti hesla. Majitel routeru s tím přitom nemůže nic udělat ani si ničeho všimnout.
Kaiser útok předvedl na dvou zařízeních belgických poskytovatelů připojení. U routeru Orange Belgium (Askey TCG3000) spustil vlastní kód, přečetl z paměti heslo k Wi-Fi a poslal si ho k sobě. Pak se s ním k síti přihlásil. U zařízení Proximus (BBOX3V+, vyrábí Sagemcom) otevřel vzdálený přístup do příkazové řádky, který fungoval jen přes Wi-Fi rámce, takže útočník nepotřeboval ani žádný řídicí server na internetu.
Na videích je anténa blízko routeru, ale podle Kaisera to nic neznamená. Útok funguje i na delší vzdálenost. Konkrétní dosah neuvádí, podle něj ale lze router ovládnout třeba z protější strany ulice. Patrně v dosahu signálu.
Kde je citlivé místo Wi-Fi routeru?
Problém tkví v proprietární implementaci funkce WPS (Wi-Fi Protected Setup), která umožňuje připojit zařízení k síti bez ručního zadávání hesla. Broadcom chybně zpracovává skládání fragmentovaných zpráv, které při tomto procesu putují mezi zařízeními. Útočník tak může vyvolat přetečení vyrovnávací paměti a přepsat část paměti routeru. Kaiser vytvořil dvě věci: nástroj pro únik informací z paměti a nástroj pro spuštění vlastního kódu.
Zranitelnost je podle výzkumníka přítomná v SDK společnosti Broadcom nejméně od roku 2010. Kaiser mluví o dvou chybách v jednom parseru, každá se týká jiné rodiny čipů. Podle Kaisera Broadcom o problému ví od roku 2018 a tehdy tiše vydal neúplnou opravu. Pak výrobcům doporučil přejít na open-source software hostapd. Veřejné varování ani identifikátor CVE nevznikly.
Mohlo by vás zajímat
Mít nejhorší heslo na světě se nevyplatilo. Hacker se dostal k údajům 8,8 milionu lidí přes „123456“
Kaiser chybu nahlásil 18. a 27. července a dal všem stranám 90 dní na reakci. Broadcom odpověděl, že oprava existuje a že mají výrobci zařízení kontaktovat přímo jeho. CVE odmítl přidělit a nechtěl vydat ani kopii oznámení, které prý výrobcům poslal. Případ, který Kaiser 4. srpna otevřel u koordinačního centra CERT/CC, byl uzavřen ještě týž den, protože Broadcom je sám oprávněn CVE přidělovat a neudělal to. Server The Hacker News žádné CVE pro tuto chybu nenašel.
Kaiser je přesvědčen, že právě mlčení Broadcomu je důvodem, proč mnoho výrobců zařízení chybu nikdy neopravilo. Kontaktoval také poskytovatele Proximus, Orange Belgium a VOO a předal informace belgickému národnímu centru kybernetické bezpečnosti. K 15. říjnu nedostalo opravu žádné z postižených zařízení.
Forever day: některé routery se opravy nedočkají
Kaiser označuje chybu na starších čipech BCM3380, BCM3383 a BCM33834 za „forever day“. Tyto čipy používají systém eCos a podle výzkumníka pro ně nikdy nevznikla funkční oprava. Zařízení s nimi zůstanou zranitelná trvale. U novějších čipů BCM3390, BCM65xx a BCM68xx, které běží na Linuxu, je situace o něco lepší.
Opravu mohou dostat, ale jen pokud se výrobce routeru rozhodne přejít na jiný software. Záleží tedy na jeho ochotě investovat do starších produktů.
Kaiser odhadl počty podle dat belgického regulátora a veřejných informací operátorů o nasazených modelech. Sám přiznává, že jde o hrubé výpočty.
- Proximus: zhruba 850 000 zařízení (BBOX 3 a BBOX3V+)
- VOO: zhruba 500 000 zařízení (Netgear CG3100, CG3700, Technicolor TC7210, CGA4233)
- Orange Belgium: zhruba 210 000 zařízení (Askey TCG3000)
- Telenet: možná postižený přes zařízení Sagemcom F@st, Kaiser ho ale nemohl otestovat
Jen v Belgii tedy jde o zhruba 1,56 milionu routerů. Problém se ale neomezuje na jednu zemi. Čipy Broadcom používají desítky výrobců ve stovkách produktů. Server Cybernews zmiňuje například španělské modely Movistar od výrobců Askey, MitraStar a Comtrend nebo ZTE F680 v4, který používají poskytovatelé v několika zemích včetně Vietnamu, Egypta a Moldavska.
Širší seznam, který Kaiser zveřejnil, zahrnuje i zařízení značek Cisco, Huawei či ARRIS, ale míchá potvrzené a nepotvrzené případy. U části z nich jde jen o výsledek automatické kontroly, který označuje zařízení za „pravděpodobně zranitelné“. Zda se chyba týká routerů používaných v Česku, zdroje neuvádějí.
Jak zjistit, jestli je váš router postižený?
Kaiser zveřejnil na GitHubu bezplatné nástroje, které pomáhají postižená zařízení identifikovat. Jde o pravidlo YARA, které v rozbaleném firmwaru hledá zranitelný kód, a skript, který naslouchá živému přístupovému bodu a vyhodnotí, zda vypadá zranitelně. Výzkumník sám upozorňuje, že jde jen o pomůcky pro prvotní posouzení. I opravené zařízení může pravidlu odpovídat, takže nález znamená důvod ke kontrole, ne potvrzenou chybu.
Obecná rada zní prostě. Zeptejte se poskytovatele nebo výrobce na aktualizaci firmwaru a u routerů bez podpory zvažte výměnu. Jednoduché vypnutí WPS nemusí zranitelnost odstranit. Žádné nastavení, které by bezdrátový útok spolehlivě zablokovalo, Kaiser neuvádí.
Důkazy o skutečných útocích zatím nejsou. Belgický výzkumník ale upozorňuje, že chyba je ideální pro útočníky, kteří se k cíli dostávají přes blízkou Wi-Fi síť, ne přes internet.
Příkladem je takzvaný útok od souseda, při kterém ruští státní hackeři pronikli do Wi-Fi sítě cíle přes zařízení napadená v sousední budově, nebo kompromitace hotelových sítí. Takové útoky jsou cílené proti zařízením, nad nimiž mají obránci jen omezený přehled. Lidé i firmy zpravidla vůbec nekontrolují firmware routerů od poskytovatele.
Zdroj: qkaiser, GitHub, The Hacker News, Security Affairs, The Register