Predstavila novú techniku ​​pre skrytú identifikáciu systému a prehliadača

Skupina výskumníkov z Technickej univerzity v Grazi (Rakúsko), predtým známych vývojom metód útoku MDS, NetSpectre и Vrhací kladivo, nekrytý informácie o novej technike analýzy tretej strany, ktorá vám umožňuje určiť presnú verziu prehliadača, použitý operačný systém, architektúru CPU a použitie doplnkov na boj so skrytou identifikáciou.

Na určenie týchto parametrov stačí spustiť JavaScript kód pripravený výskumníkmi v prehliadači. V praxi je možné metódu použiť nielen ako doplnkový zdroj na nepriamu identifikáciu používateľa, ale aj na určenie parametrov systémového prostredia pre cielené využitie exploitov s prihliadnutím na OS, architektúru a prehliadač. Metóda je účinná aj pri používaní prehliadačov so skrytými mechanizmami blokovania identifikácie, ako je Tor Browser. Prototyp zdrojového kódu s implementáciou metódy publikovaný pod licenciou MIT.

Určenie sa uskutočňuje na základe pridelenia vzorov stavu vlastností charakteristických pre rôzne prehliadače v JavaScripte a charakteristík doby vykonávania operácií v závislosti od vlastností JIT, CPU a mechanizmov prideľovania pamäte. Definovanie vlastností sa vykonáva vygenerovaním zoznamu všetkých objektov dostupných z JavaScriptu. Ako sa ukázalo, počet objektov priamo koreluje s motorom prehliadača a jeho verziou.

function getProperties(o) {
varvysledok = [];
while (o !== null) {
vysledok = vysledok.concat(Reflect.ownKeys(o));
o = Object.getPrototypeOf(o);
}
vrátiť výsledok;
}

Napríklad pre Firefox je podpora pre vlastnosti 2247 deklarovaná v dokumentácii, zatiaľ čo skutočný počet určitých vlastností, berúc do úvahy tie nezdokumentované, je 15709 (v prehliadači Tor - 15639), pre Chrome je deklarovaných 2698 vlastností, ale 13570 sú skutočne ponúkané (v Chrome pre Android - 13119) . Počet a hodnoty vlastností sa líšia od verzie k verzii prehliadača a v rôznych operačných systémoch.

Hodnoty a prítomnosť určitých vlastností možno použiť na určenie typu OS. Napríklad v Kubuntu je vlastnosť window.innerWidth nastavená na 1000 a vo Windows 10 je nastavená na 1001. V systéme Windows je vlastnosť window.navigator.activeVRDisplays dostupná, ale v systéme Linux nie je. Pre Android je k dispozícii veľa špecifických hovorov, ale neexistuje žiadne okno.SharedWorker. Na identifikáciu operačného systému sa tiež navrhuje použiť analýzu parametrov WebGL, ktorých stav závisí od ovládačov. Okrem toho volanie WEBGL_debug_renderer_infoextension vám umožní získať informácie o vykresľovacom jadre OpenGL, ktoré je pre každý operačný systém iné.

Na určenie CPU sa používa posúdenie rozdielov v dobe vykonávania rôznych typických kódových blokov, ktorých spracovanie závisí od architektúry inštrukčnej sady s prihliadnutím na správanie JIT (určuje sa, koľko registrov CPU bude zapojený a v ktorých prípadoch bude JIT generovať efektívny kód s optimalizáciou a zahŕňajúci rozšírené inštrukcie a kedy nie). Na určenie typu systému prideľovania pamäte a operačného systému sa meria aj rozdiel v čase prideľovania pamäte pre rôzne štruktúry, ktorý možno použiť na posúdenie veľkosti pamäťových blokov.

Parametre určené počas vykonávania skriptu sa porovnávajú s referenčnými hodnotami typickými pre vopred testované prostredia. Vyvinutá technika umožnila počas testu presne určiť 40 rôznych testovacích prostredí, pričom určila verzie používaných prehliadačov, výrobcu CPU, použitý operačný systém a či bežal na skutočnom hardvéri alebo vo virtuálnom stroji.

Samostatne je uvedená možnosť definovania doplnkov prehliadača a dokonca aj individuálnych nastavení doplnkov vrátane doplnkov určených na blokovanie skrytých metód identifikácie alebo aktivity súkromného prehliadania. V kontexte navrhovanej metódy sa takéto doplnenia stávajú ďalším zdrojom údajov na identifikáciu. Prírastky sa určujú na základe posúdenia skreslení parametrov pôvodného prostredia, ktoré spôsobili doplnenia.

Z ďalších metód identifikácie je možné zaznamenať zohľadnenie takých nepriamych údajov, ako sú Rozlíšenie obrazovky, zoznam podporovaných typov MIME, možnosti špecifické pre hlavičku (HTTP / 2 и HTTPS), analýza zavedených pluginy a fontydostupnosť určitých webových rozhraní API špecifických pre grafické karty rysy vykresľovanie pomocou WebGL a Plátno, manipulácia s CSS, analýza funkcií práce s myš и klávesnica.

Zdroj: opennet.ru

Pridať komentár