Nová metóda hackovania prekonáva problém „sieťového jitteru“, ktorý môže ovplyvniť úspešnosť útokov cez bočné kanály.

Nová metóda, vyvinutá vedcami z Leuven University (Belgicko) a New York University v Abú Dhabí, preukázala, že útočníci môžu využiť vlastnosti sieťových protokolov na organizovanie únikov dôverných informácií.
Táto metóda nazvaná , predvedená tento rok na konferencii Usenix, využíva vlastnosti spracovania súčasne vykonaných požiadaviek sieťovými protokolmi na odstránenie jedného z problémov vzdialených útokov na časových základov cez bočné kanály.
Problémy vzdialených útokov na časové základy.
Pri realizácii časových útokov útočníci merajú rozdiely v dobe vykonávania rôznych príkazov, snažiac sa obísť ochranu zabezpečenú šifrovaním a získať údaje o dôverných informáciách, napríklad o šifrovacích kľúčoch, súkromnej komunikácii a správaní používateľov pri webovom prehliadaní.
Ale pre úspešnú realizáciu časových útokov potrebuje útočník presné znalosti doby, ktorú potrebné útočenej aplikácii na spracovanie požiadavky.
To sa stáva problémom pri útokoch na vzdialené systémy, ako sú webové servery, pretože oneskorenie v sieti (jitter) spôsobuje variabilitu doby odpovede, čo sťažuje výpočet doby spracovania.
Pri vzdialených útokoch na časové základy zvyčajne útočníci posielajú každý príkaz niekoľkokrát a vykonávajú štatistickú analýzu doby odpovede, aby znížili vplyv sieťového jitteru. Tento prístup je však užitočný len do určitej miery.
„Čím menší rozdiel v čase, tým viac požiadaviek je potrebných, a v určitom okamihu sa výpočet stáva nemožným,“ hovorí nám výskumník systémov ochrany dát a hlavný autor článku o novom type útokov Tom Van Goetem.
„Bezčasový“ časový útok.
Metóda vyvinutá Goetem a jeho kolegami vykonáva vzdialené útoky na časové základy takým spôsobom, že minimalizuje vplyv sieťového jitteru.
Princíp, ktorý leží v základe bezčasového časového útoku, je jednoduchý: treba zabezpečiť, aby požiadavky prichádzali na server v úplne rovnakom čase, a nie aby sa zasielali po sebe.
Súbežnosť zaručuje, že všetky požiadavky sú na rovnakých podmienkach siete a že ich spracovanie nebude ovplyvnené cestou medzi útočníkom a serverom. Poradie prijímania odpovedí poskytne útočníkovi všetky informácie potrebné na porovnanie doby vykonania.
„Hlavná výhoda časových útokov bez ohľadu na čas spočíva v tom, že sú oveľa presnejšie, takže je potrebné menej požiadaviek. To umožňuje útočníkovi rozpoznať rozdiely v dobe vykonania až do 100 ns,“ hovorí Van Goetem.
Minimálny časový rozdiel, ktorý pozorovali výskumníci počas tradičného časového útoku cez internet, bol 10 μs, čo je 100-krát viac ako pri útoku súbežnými požiadavkami.
Ako sa zabezpečuje súbežnosť
„Súbežnosť zabezpečujeme tým, že oba požiadavky umiestnime do jedného sieťového paketu,“ vysvetľuje Van Goetem. „V praxi závisí implementácia hlavne od sieťového protokolu.“
Na odosielanie súbežných požiadaviek výskumníci využívajú možnosti rôznych sieťových protokolov.
Napríklad HTTP/2, ktorý sa rýchlo stáva de facto štandardom pre webové servery, podporuje „multiplexovanie požiadaviek“ – funkciu, ktorá umožňuje klientovi posielať viaceré požiadavky súčasne cez jedno TCP spojenie.
„V prípade HTTP/2 stačí zabezpečiť, aby oba požiadavky boli umiestnené do jedného paketu (napríklad oboje zapísať do soketu súčasne).“ Táto metóda však má svoje špecifiká. Napríklad vo väčšine sietí na distribúciu obsahu typu Cloudflare, ktorý poskytuje obsah veľkej časti webu, sa spojenie medzi okrajovými servermi a webovou stránkou vykonáva cez protokol HTTP/1.1, ktorý nepodporuje multiplexovanie požiadaviek.
Aj keď to znižuje účinnosť časového útoku, stále zostávajú presnejšie ako klasické vzdialené časové útoky, pretože eliminujú jitter medzi útočníkom a okrajovým CDN serverom.
V prípade protokolov, ktoré nepodporujú multiplexovanie požiadaviek, môžu útočníci využiť intermediárny sieťový protokol, ktorý encapsuluje požiadavky.
Výskumníci ukázali, ako funguje časová útoková technika na Tor sieti. V tomto prípade útočník zapuzdruje viacero požiadaviek vo vnútri Tor bunky — šifrovaného balíka, ktorý sa prenáša medzi uzlami Tor siete v jednom TCP pakete.
„Keďže Tor reťazec pre onion služby prechádza celou cestou až k serveru, môžeme zaručiť, že požiadavky dorazia súčasne,“ hovorí Van Goetem.
Časové útoky v praxi
Vo svojej štúdii výskumníci skúmali časové útoky v troch rôznych scenároch.
Pri priame časové útoky útočník sa priamo pripája k serveru a snaží sa usporiadať únik citlivých informácií súvisiacich s aplikáciou.
„Keďže pri väčšine webových aplikácií sa nezohľadňuje, že časové útoky môžu byť veľmi praktické a presné, domnievame sa, že mnohé webové stránky sú voči takýmto útokom zraniteľné,“ hovorí Van Goeten.
Pri medzisite časové útoky útočník vykonáva požiadavky na iné webové stránky prostredníctvom prehliadača obete a robí predpoklady o obsahu citlivých informácií sledovaním sekvencie odpovedí.
Útočníci použili tento schému na zneužitie zraniteľnosti v programe na vyplácanie odmien za chyby HackerOne a získali informácie ako kľúčové slová použité v dôverných hláseniach o neopravených zraniteľnostiach.
„Hľadal som prípady, kde bola časová útoková technika predtým zaznamenaná, ale nebola považovaná za efektívnu. Na chybu HackerOne už bolo hlásené minimálne trikrát (identifikačné čísla chýb: , a ), ale nebola opravená, pretože sa považovalo, že tento útok nie je možné využiť. Potom som vytvoril jednoduchý interný výskumný projekt s časovými útokmi.
V tom čase to stále nebolo veľmi optimalizované, pretože sme sa naďalej zaoberali detailami útoku, no aj tak sa ukázalo ako celkom presné (na mojej domácej WiFi sieti sa mi podarilo dosiahnuť veľmi presné výsledky).
Výskumníci sa tiež pokúsili vykonať časové útoky na WiFi protokol WPA3.
Jeden zo spoluautorov článku Mati Vanhof už skôr odhalil . Avšak čas bol buď príliš krátky na použitie na vysoko výkonných zariadeniach, alebo ho nebolo možné použiť proti serverom.
„S pomocou nového typu útokov bez času sme dokázali, že je skutočne možné využiť authentication handshake (EAP-pwd) proti serverom, aj keď beží na nich výkonné zariadenie,“ hovorí Van Goetem.
Ideálny moment
Vo svojej práci vedci uviedli odporúčania na ochranu serverov pred bezčasovými útokmi, ako je obmedzenie vykonávania na konštantný čas a pridávanie náhodnej latencie. Na realizáciu praktických ochranných prostriedkov proti priamym útokom v čase, ktoré by mali minimálny dopad na prácu siete, sú potrebné ďalšie výskumy.
„Myslíme si, že táto oblasť výskumu je na veľmi raných štádiách a vyžaduje si oveľa hlbšie preskúmanie,“ hovorí Van Goetem.
V budúcich výskumoch sa budú môcť skúmať ďalšie metódy, ktoré by útočníci mohli použiť na vykonávanie súbežných útokov v čase, iné protokoly a medzičlánky, na ktoré môžu byť útoky zamerané, ako aj vyhodnotiť zraniteľnosti populárnych webových stránok, ktoré umožňujú vykonávať takéto výskumy v rámci programu bug bounty.
Názov „bezčasový“ bol zvolený, „pretože pri týchto útokoch sme nepoužívali žiadne (absolútne) informácie o čase,“ vysvetľuje Van Goetem.
„Okrem toho ich možno považovať za „bezčasové“ aj preto, že (diaľkové) útoky v čase sa používajú už dávno, a podľa našich výskumov sa situácia len zhorší.“

Plný text správy s Usenix sa nachádza .
Na základe reklamy
s ochranou proti DDoS útokom a najnovším hardvérom. To všetko je o našich epických serveroch. Maximálna konfigurácia — 128 jadier CPU, 512 GB RAM, 4000 GB NVMe.
Zdroj: habr.com
