Wi-Fi trpí nepochopitelnou bezpečnostní chybou [video]

Možná jste si právě koupili nový Wi-Fi router a nastavili velmi silné heslo. Možná je to ale úplně k ničemu, útočník ho totiž vůbec nepotřebuje. Vystačí si s technologií WPS.

Prakticky každý moderní domácí router podporuje funkci WPS – Wi-Fi Protected Setup. Jedná se o technologii, která byla navržena pro snadné připojování zařízení v bezdrátové síti. Zatímco dříve byla jedinou cestou návštěva (většinou) webového rozhraní, nastavení DHCP a zabezpečení, WPS si klade za úkol toto vše obejít a umožnit nastavení sítě i naprostému zelenáči.

Na routerech zpravidla objevíte tlačítko s popiskem WPS, případně se symbolem šroubováku a jiné značky. Když na něj klepnete, router začne poslouchat okolní „šum“ a zachytí signál třeba vašeho počítače, mobilního telefonu, síťového disku a dalších zařízení a vyslyší jejich žádost o autorizaci. Nikde tedy nemusíte nic nastavovat – nikde nemusíte zadávat žádné heslo. Celé to připomíná propojení dvou zařízení třeba s pomocí protokolu Bluetooth.

Ovšem WPS nastavení okolních zařízení přes tlačítko není zrovna nejbezpečnější. Pokud totiž máte za souseda síťového crackera, možná jeho počítač neustále sleduje okolí a zjišťuje, jestli cizí router zrovna neakceptuje WPS připojení. V takovém případě by totiž mohl váš router elegantně nastavit i jeho počítač a soused by dostal zcela legitimní přístup do vaší sítě a k internetovému připojení.

WPS a ochrana pomocí osmimístného kódu

„Tlačítková autorizace“ WPS má své limity,  proto existují i další techniky a jednou z nich je PIN. Na mnoha routerech najdete osmimístné číslo. Je to speciální klíč pro WPS. V takových případech router neustále poslouchá, jestli se náhodou v síti neozve nějaké zařízení s žádostí o nastavení. Pokud se tak stane, router se ho zeptá na osmimístný PIN.

wps pin edimax router.png
Dnes budu útočit na tento miniaturní router od Edimaxu. Podporuje nastavení sítě pomocí WPS, přičemž PIN se nachází tradičně na štítku na spodní straně krabičky.

Určitě vám to bude znít povědomě, i v tomto případě to totiž celé připomíná elementární autorizaci při propojení dvou zařízení na protokolu Bluetooth. I tam totiž zpravidla propojujete dvě zařízení na základě jednoduchého číselného kódu.

Sto milionů kombinací

Pokud si ještě vzpomínáte na středoškolskou kombinatoriku, dobře víte, že osmimístné číslo v sobě skrývá ohromné množství variant. V tomto případě by to bylo sto milionů možných čísel. Pokud byste tedy chtěli prolamovat takový PIN, museli byste použít velmi zdlouhavou techniku brute-force. Principiálně je to vlastně velmi hloupý a jednoduchý útok, kdy nějakému příjemci servírujete jednu možnou kombinaci za druhou, dokud se netrefíte.

brute force reaver.png
Útok typu brute-force pomocí programu Reaver na testovací router od Edimaxu. Teď už musím jen pár hodin počkat.

Routery ovšem tak hloupé nejsou a mnoho z nich při velmi častých a opakovaných útocích dočasně zablokují snahu o komunikaci na protokolu WPS a případně celou komunikaci i záměrně zpomalují, aby jeden pokus o autorizaci trval přinejmenším několik sekund. Crackování by se tedy protáhlo na velmi dlouhou dobu. Pokud by jeden pokus trval v průměru jednu sekundu, prolamování by v nejhorším případě zabralo celé tři roky. A to nemluvím o špatné kvalitě signálu, ztrácejících se paketech a také o tom, že každý router se občas restartuje, nastavuje, resetuje a nakonec také putuje do koše. Bylo by to prostě extrémně složité.

Neskutečné hloupá bezpečnostní chyba

Teď si možná mnozí oddechli, důvod k tomu ale rozhodně není. Teprve před pár dny totiž dva bezpečnostní analytici nezávisle na sobě odhalili stěží pochopitelnou bezpečnostní díru v komunikaci WPS (PDF).

Když totiž router obdrží špatný PIN, sice síťovému zařízení odešle zprávu, že je tato hodnota neplatná, zároveň ale do odpovědi zakóduje informaci o tom, jestli náhodou nebyla první, nebo druhá část PINu zadaná správně. Tento přístup tak trochu připomíná prolamování hesel do starších verzí Windows včetně XP při použití algoritmu LM. Takové heslo mohlo dosahovat délky až 14 znaků, takže bylo poměrně bezpečné, systém ovšem heslo vnitřně rozdělil na dva sedmimístné kousky, pro které spočítal kontrolní součty a ty uložil do databáze hesel. Detaily se už nemusím zabývat, je to totiž zřejmé – sedmimístný řetězec se odhaluje mnohonásobně rychleji než čtrnáctimístný. Více jsem se o prolamování LM hesel rozepsal v tomto starším článku.

Ovšem zpět k bezdrátovým sítím. Pokud router klientu předá informaci o tom, že jeho osmimístný PIN je alespoň z poloviny správný, znamená to, že pomocí brute-force nemusíte procházet 108 kombinací (osm číslic, z nichž každá může nabývat deseti hodnot 0-9), ale vlastně jen 2 × 104. Nejprve odhalíte první polovinu PINu a posléze tu druhou. Je to směšných dvacet tisíc pokusů, což je 5 000× méně než bylo původně třeba.

kontrolni soucet.png
Crackeři to mají jednoduché, ve skutečnosti totiž musí odhalit pouze dva menší díly celého PINu

Ale ani toto není ta nejhorší zpráva. Poslední osmá číslice PINu je pouze kontrolní součet, ve skutečnosti tedy potřebujete vyzkoušet maximálně jen 104 + 103 kombinací. A to je směšných 11 000 pokusů. Pythonový skript od Stefana Viehböcka, který chybu v návrhu WPS popsal jako první, tento „drobný“ brute-force zvládne v řádu hodin, což dokládá i video níže.

Brute-force útok s využitím chyby ve standardu WPS

Další funkční program napsal Craig Heffner. Je určený výhradně pro Linux a jeho zdrojové kódy si můžete stáhnout z webu Google Code. Jmenuje se Reaver a co je nejhorší, opravdu funguje – sám jsem ho vyzkoušel. Sice je (prý) pomalejší než Viehböckův skript wpscrack.py, ale nabízí více možností a je také mnohem inteligentnější. Pokud router rozezná, že na něj někdo útočí a pozastaví komunikaci, zastaví se také Reaver, počká několik minut a začne opět útočit. Nakonec si poradí i s tím, pokud bude router průběžně měnit kanály. Stačí program spustit pozdě večer a ráno už budete znát kýžený WPS PIN.

Existuje nějaké řešení? Ano, naštěstí tu jedna možnost je. Pokud WPS nepotřebujete a vyznáte se v konfiguraci svého routeru, WPS vypněte. Bohužel ovšem existují i modely, kde to možné není a WPS trvalé „svítí do světa“.

 

Možná používáte skvělé heslo a silné WPA2 zabezpečení. Možná je to ale úplně k ničemu.

 

Technologii WPS navrhlo konsorcium Wi-Fi Alliance v roce 2007 a od té doby se na trh dostaly více než dvě stovky nejrůznějších certifikovaných zařízení. WPS najdete u většiny současných běžných domácích bezdrátových routerů od všech předních značek počínaje Netgearem a D-Linkem a konče krabičkami od ZyXELu, Cisca/Linksysu a Belkinu.

Přeji vám co nejméně crackerů v sousedství…


Prolamování zabezpečení na Živě.cz:

Diskuze (125) Další článek: Běloruský zákon zakáže porno a zahraniční služby na internetu

Témata článku: , , , , , , , , , , , , , , , , , , , , ,