Nový útok na prehliadač umožňuje online sledovanie používateľov so zakázaným JavaScriptom

Výskumníci objavili nový bočný kanál, ktorý sa dá podľa nich spoľahlivo využiť na únik informácií z webových prehliadačov, ktoré by sa potom dali využiť na sledovanie používateľov, aj keď je JavaScript úplne zakázaný.

“Toto je útok bočného kanála, ktorý nevyžaduje JavaScript na spustenie,” uviedli vedci. “To znamená, že blokátory skriptov to nedokážu zastaviť. Útoky fungujú, aj keď sa zbavíte všetkých zábavných častí prehliadania webu. Je veľmi ťažké tomu zabrániť bez úpravy hlbokých častí operačného systému.”

Pri vyhýbaní sa JavaScriptu sú útoky postranných kanálov aj architektonicky agnostické, čo vedie k útokom na mikroarchitektonické webové stránky, ktoré fungujú na hardvérových platformách vrátane Intel Core, AMD Ryzen, Samsung Exynos 2100 a Apple CPU M1 – ide o prvý známy útok bočným kanálom na nové čipsety založené na ARM výrobcu iPhone.

Zistenia, ktoré pochádzajú od skupiny akademikov z Ben-Gurion Univ. z Negevu, University of Michigan a University of Adelaide, budú prezentované na USENIX Security Symposium v ​​auguste.

Útoky na bočných kanáloch sa zvyčajne spoliehajú na nepriame údaje, ako je časovanie, zvuk, spotreba energie, elektromagnetické emisie, vibrácie a správanie vyrovnávacej pamäte v snahe odvodiť tajné údaje o systéme. Mikroarchitektonické postranné kanály konkrétne využívajú zdieľané používanie komponentov procesora v rámci kódu vykonávaného v rôznych doménach ochrany na únik tajných informácií, ako sú kryptografické kľúče.

Štúdie navyše už predtým preukázali plne automatizované útoky, ako napríklad „Rowhammer.js“, ktoré sa nespoliehajú na nič iné ako na webovú stránku so škodlivým kódom JavaScript na spúšťanie porúch na vzdialenom hardvéri, čím získavajú neobmedzený prístup do systémov návštevníkov webových stránok.

Zatiaľ čo tieto netesné postranné kanály môžu byť efektívne zapojené technikami izolácie domén, predajcovia prehliadačov začlenili obranu, aby ponúkli ochranu pred útokmi načasovania a odtlačkov prstov znížením presnosti funkcií merania času, okrem pridania podpory pre úplné deaktivovanie JavaScriptu pomocou doplnkov. ako NoScript.

Najnovší výskum zverejnený tento týždeň má však za cieľ obísť takéto zmiernenia založené na prehliadači implementáciou útoku na bočnom kanáli s názvom „CSS Prime+Probe“ skonštruovaného výhradne pomocou HTML a CSS, čo umožňuje útokom fungovať aj v odolných prehliadačoch ako Tor, Chrome. Zero a DeterFox, ktoré majú JavaScript úplne zakázaný alebo obmedzujú rozlíšenie API časovača.

„Spoločným trendom v týchto prístupoch je, že sú symptomatické a neriešia hlavnú príčinu úniku, konkrétne zdieľanie mikroarchitektonických zdrojov,“ načrtli vedci. “Namiesto toho sa väčšina prístupov pokúša zabrániť úniku úpravou správania prehliadača, pričom sa dosiahne rozdielna rovnováha medzi bezpečnosťou a použiteľnosťou.”

Najprv malý základ o bočných kanáloch založených na vyrovnávacej pamäti: Na rozdiel od útokov Flush+Reload, pri ktorých môže špión použiť inštrukciu vyprázdnenia vyrovnávacej pamäte (napr. clflush v x86) na vyprázdnenie konkrétnych riadkov vyrovnávacej pamäte a určiť, či obeť pristupovala k týmto údajom opätovný prístup k rovnakému pamäťovému riadku a načasovanie prístupu pre zásah (údaje sú späť vo vyrovnávacej pamäti) alebo zmeškanie (obeť k nim nemá prístup), Prime+Probe vyžaduje, aby útočník zaplnil celú zdieľanú vyrovnávaciu pamäť, aby odstránil údaje obete z vyrovnávacej pamäte a potom načasovanie vlastných prístupov po naplnení vyrovnávacej pamäte – prítomnosť vynechania vyrovnávacej pamäte naznačuje, že obeť pristúpila k zodpovedajúcemu riadku vyrovnávacej pamäte, čo spôsobilo odstránenie špiónových údajov.

Hoci tieto metódy využívajú skrytý kanál časovania vo vyrovnávacej pamäti CPU, nový útok navrhnutý výskumníkmi Ben-Gurion sa zameriava na bočný kanál založený na vyrovnávacej pamäti v moderných webových prehliadačoch.

Technika CSS Prime+Probe konkrétne závisí od vykreslenia webovej stránky, ktorá obsahuje premennú s dlhým reťazcom HTML, ktorá pokrýva celú vyrovnávaciu pamäť (napr. prvok

s názvom triedy, ktorý obsahuje dva milióny znakov), a potom sa vykoná vyhľadávanie krátkej , neexistujúci podreťazec v texte, čo zase núti vyhľadávanie skenovať celý reťazec. V poslednom kroku sa čas na vykonanie tejto sondovacej operácie odošle na server kontrolovaný útočníkom.

“Útočník najskôr zahrnie do CSS prvok z domény kontrolovanej útočníkom, čím si vynúti rozlíšenie DNS,” vysvetlili vedci. “Zlý server DNS zaznamená čas prichádzajúcej požiadavky DNS. Útočník potom navrhne stránku HTML, ktorá evokuje vyhľadávanie reťazcov z CSS, čím efektívne skúma vyrovnávaciu pamäť. Po tomto vyhľadávaní reťazcov nasleduje požiadavka na prvok CSS, ktorý vyžaduje rozlíšenie DNS.” zo škodlivého servera. Časový rozdiel medzi po sebe nasledujúcimi požiadavkami DNS zodpovedá času potrebnému na vykonanie vyhľadávania reťazcov, ktoré […] je proxy pre spor o vyrovnávaciu pamäť.”

Na vyhodnotenie účinnosti metód prostredníctvom útokov na snímanie odtlačkov prstov výskumníci použili vyššie uvedený bočný kanál okrem iného na zhromažďovanie stôp používania vyrovnávacej pamäte pri načítavaní rôznych webových stránok – vrátane webových stránok Alexa Top 100 – pomocou „pamäťových gramov“ na trénovanie do hĺbky. model neurónovej siete na identifikáciu konkrétneho súboru webových stránok navštívených cieľom.

Zatiaľ čo útoky na obsadenie vyrovnávacej pamäte založené na JavaScripte ponúkajú vyššiu presnosť, viac ako 90 % na všetkých platformách v porovnaní s CSS Prime+Probe, štúdia poznamenala, že presnosť dosiahnutá pomocou CSS je dostatočne vysoká na únik údajov, ktoré by mohli umožniť škodlivým stranám identifikovať a sledovať. používateľov.

“Ako teda môžu používatelia, ktorí si uvedomujú bezpečnosť, pristupovať na web?”, uzavreli vedci. “Jedným komplikujúcim faktorom tohto konceptu je skutočnosť, že webový prehliadač využíva ďalšie zdieľané zdroje mimo vyrovnávacej pamäte, ako je DNS resolver operačného systému, GPU a sieťové rozhranie. Rozdelenie medzipamäte sa javí ako sľubný prístup, a to buď pomocou priestorového izoláciu založenú na farbení vyrovnávacej pamäte alebo dočasnú izoláciu založenú na OS.”