Bemutatkozott egy új technika a rendszer és a böngésző rejtett azonosítására

A kutatócsoport a gráci műszaki egyetemről (Ausztria), amely korábban támadási módszerek kidolgozásával foglalkozott, MDS, NetSpectre és Throwhammer, felfedte információkat nyújt az új, külső csatornák elemzésére szolgáló technikáról, amely lehetővé teszi a használt böngésző pontos verziójának, az operációs rendszernek, a CPU architektúrájának és a rejtett azonosítás elleni kiegészítők alkalmazásának meghatározását.

A megadott paraméterek meghatározásához elegendő a böngészőben a kutatók által előkészített JavaScript kód futtatása. A gyakorlatban a módszer nemcsak további forrásként használható a felhasználó közvetett azonosítására, hanem a célzott exploitok rendszerkörnyezet-paramétereinek meghatározására is, figyelembe véve az operációs rendszert, az architektúrát és a böngészőt. A módszer hatékony, többek között rejtett azonosítás megakadályozására szolgáló mechanizmusokat, például a Tor Browser használata esetén is. A módszer prototípusának kódjának forrásai megjelentek MIT licenc alatt áll.

A meghatározás a JavaScript-ben található különböző böngészőkhöz tartozó állapot-jellemzők mintáinak kiemelésén és a JIT, CPU és memóriaallokációs mechanizmusok működésétől függő műveletek végrehajtási idejének jellemzőin alapul. A jellemzők meghatározása úgy történik, hogy generálják az összes, a JavaScript-ből elérhető objektum listáját. Kiderült, hogy az objektumok száma közvetlen korrelációban áll a böngészőmotorral és annak verziójával.

function getProperties(o) {
var result = [];
while (o !== null) {
result = result.concat(Reflect.ownKeys(o));
o = Object.getPrototypeOf(o);
}
return result;
}

Például a Firefox esetében a dokumentáció 2247 tulajdonság támogatásáról számol be, míg a ténylegesen meghatározott tulajdonságok száma, figyelembe véve a nem dokumentáltakat, 15709 (a Tor Browser esetében 15639), a Chrome esetében 2698 tulajdonságot ígér, azonban a ténylegesen elérhető szám 13570 (Chrome Androidon 13119). A tulajdonságok száma és értékei böngésző verzióról verzióra és különböző operációs rendszerek alkalmazásával változnak.

A különböző tulajdonságok értéke és elérhetősége felhasználható az operációs rendszer típusának meghatározására. Például a Kubuntuban a window.innerWidth értéke 1000, míg Windows 10-ben 1001-re van beállítva. Windows alatt elérhető a window.navigator.activeVRDisplays tulajdonság, Linuxon viszont nincs. Android számára számos specifikus hívás áll rendelkezésre, de a window.SharedWorker nincs. Az operációs rendszer azonosításához javasolt a WebGL paraméterek elemzése is, amelynek állapota a driverektől függ. Továbbá a WEBGL_debug_renderer_info extension hívásával információt nyerhetünk az OpenGL renderelő motorjáról, amely minden operációs rendszer esetében eltérő.

A CPU azonosításához a különböző tipikus kódblokk futásidejének eltéréseinek értékelését alkalmazzák, amely a parancskészlet architektúrájától és a JIT viselkedésétől függ (meghatározza, hogy hány CPU regiszter kerül bevonásra, és mely esetekben generál JIT hatékony kódot optimalizációkkal és kiterjesztett utasítások bevonásával, valamint mikor nem). A memóriaelosztási rendszer típusa és az operációs rendszer azonosításához a memória különböző struktúráihoz történő allokálás időeltéréseit is mérik, amelyekből a memória blokkjainak méretére lehet következtetni.

A szkript futása során definiált paraméterek összehasonlításra kerülnek a előre tesztelt környezetek jellegzetes értékeivel. A felülvizsgálat során a kidolgozott technika lehetővé tette 40 különböző tesztkörnyezet pontos azonosítását, meghatározva a használt böngészők verzióját, a CPU gyártóját, az alkalmazott operációs rendszert és azt, hogy valós hardveren vagy virtuális gépen fut-e.

Külön kiemelendő a böngészőbővítmények és akár a bővítmények egyes beállításainak azonosításának lehetősége, beleértve az olyan bővítményeket, amelyek a rejtett azonosítási módszerek blokkolására vagy a privát böngészési mód működésére szolgálnak. A javasolt módszer kontextusában az ilyen bővítmények további adatforrássá válnak az azonosításhoz. A bővítmények az alap környezet paramétereinek torzításának értékelésével azonosíthatók, amelyeket a bővítmények okoznak.

Más azonosítási módszerek között említést nyernek a következő közvetett adatok figyelembevételének lehetősége: a képernyő felbontása, támogatott MIME-típusok listája, specifikus paraméterek a fejlécben (HTTP/2 és HTTPS), a telepített bővítmények és betűtípusok elemzése, bizonyos Web API-k elérhetősége, grafikus kártyákra specifikus jellemzői WebGL segítségével készített rajzok és Canvas, manipulációk CSS-sel, működési sajátosságok elemzése használati szokása, és egér.

Forrás: opennet.ru

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster