Një grup hulumtuesish nga Universiteti Teknik i Gradc-it (Austria), i njohur më parë për zhvillimin e metodave të sulmeve. , dhe , informacione mbi teknikën e re të analizës përmes kanaleve të jashtme, e cila i lejon të përcaktojë versionin e saktë të shfletuesit, sistemin operativ të përdorur, arkitekturën e CPU dhe aplikimin e shtesave për të luftuar identifikimin e fshehtë.
Për të përcaktuar parametrat e caktuar, mjafton të ekzekutohet në shfletues një kod JavaScript të përgatitur nga hulumtuesit. Në praktikë, metoda mund të përdoret jo vetëm si një burim shtesë për identifikimin indirekt të përdoruesit, por edhe për të përcaktuar parametrat e mjedisit sistemor për aplikimin e synuar të eksploitëve duke marrë parasysh OS-në, arkitekturën dhe shfletuesin. Metoda është efektive gjithashtu kur përdoren shfletues që zbatohen mekanizma bllokimi të identifikimit të fshehtë, siç është Tor Browser. Kodet burimore të prototipit të kodit që zbatojnë metodën. nën licencën MIT.
Përcaktimi bëhet përmes identifikimit të modeleve të veçanta për shfletues të ndryshëm në JavaScript dhe karakteristikave të kohës së ekzekutimit të operacioneve, të cilat varen nga karakteristikat e punës së JIT, CPU dhe mekanizmave të ndarjes së memorjes. Përcaktimi i karakteristikave bëhet përmes gjenerimit të një liste të gjitha objekteve që janë të aksesueshme nga JavaScript. Siç u duk, numri i objekteve korrelaton drejtpërdrejt me motorin e shfletuesit dhe versionin e tij.
function getProperties(o) {
var result = [];
while (o !== null) {
result = result.concat(Reflect.ownKeys(o));
o = Object.getPrototypeOf(o);
}
return result;
}
PĂ«r shembull, pĂ«r Firefox, dokumentacioni deklaron mbĂ«shtetje pĂ«r 2247 pronĂ«si, ndĂ«rsa numri real i pronĂ«sive tĂ« pĂ«rcaktuara, duke pĂ«rfshirĂ« ato tĂ« pa dokumentuara, arrin 15709 (nĂ« Tor Browser â 15639), pĂ«r Chrome Ă«shtĂ« deklaruar 2698 pronĂ«si, ndĂ«rsa nĂ« realitet ofrohet 13570 (nĂ« Chrome pĂ«r Android â 13119). Numri dhe vlerat e pronĂ«sive ndryshojnĂ« nga njĂ« version nĂ« version tĂ« shfletuesit dhe gjatĂ« pĂ«rdorimit tĂ« sistemeve tĂ« ndryshme operative.
Vlerat dhe disponueshmëria e disa atributeve mund të përdoren për të përcaktuar llojin e sistemit operativ. Për shembull, në Kubuntu, atributi window.innerWidth vendoset në 1000, ndërsa në Windows 10 në 1001. Në Windows është në dispozicion atributi window.navigator.activeVRDisplays, ndërsa në Linux ai nuk ekziston. Për Android ofrohen shumë thirrje specifike, por nuk ka window.SharedWorker. Për identifikimin e sistemit operativ sugjerohet gjithashtu analiza e parametrave WebGL, gjendja e të cilëve varet nga drejtuesit. Për më tepër, thirrja e zhvillimit WEBGL_debug_renderer_infoextension lejon marrjen e informacionit në lidhje me motorin e renderimit OpenGL, i cili është ndryshe për secilin sistem operativ.
Për përcaktimin e CPU-s, përdoret vlerësimi i dallimeve në kohën e ekzekutimit të blloqeve të ndryshme standarde të kodit, përpunimi i të cilave varet nga arkitektura e setit të komandave, duke marrë parasysh sjelljen JIT (përcaktohet se sa regjistra CPU do të angazhohen dhe në cilat raste JIT do të gjenerojë kod eficient me optimizime dhe përfshirjen e instrukcioneve të avancuara, e kur jo). Për përcaktimin e llojit të sistemit të shpërndarjes së memorjes dhe sistemit operativ, gjithashtu matet ndryshimi në kohën e ndarjes së memorjes për struktura të ndryshme, nga të cilat mund të gjykohet mbi madhësinë e blloqeve të memories.
Parametrat e caktuar gjatë ekzekutimit të skriptit krahasohen me vlerat ideale që janë karakteristike për ambientet e testuara paraprakisht. Gjatë kontrollit, teknika e zhvilluar lehtësoi përcaktimin e saktë të 40 ambienteve të ndryshme të testimit, duke përcaktuar versionet e shfletuesve të përdorur, prodhuesin e CPU, sistemin operativ të aplikuar dhe faktin nëse ishte aktivizuar në pajisje reale ose në një makinë virtuale.
Veçanërisht, theksohet mundësia për të përcaktuar shtesat e shfletuesit dhe madje edhe cilësimet e veçanta të shtesave, përfshirë ato që janë të destinuara për të bllokuar metoda të identifikimit të fshehtë ose aktivitetet në modalitetin e shikimit privat. Në kontekstin e metodës së propozuar, këto shtesa bëhen një burim tjetër të dhënash për identifikim. Shtesat përcaktohen përmes vlerësimit të distorsioneve të parametrave të ambientit origjinal, që janë sjellë nga shtesat.
Nga metodat e tjera të identifikimit, mund të theksohet marrja në konsideratë e të dhënave të tilla si , lista e MIME type-ve të mbështetur, parametra specifikë në tituj ( dhe ), analiza e instalimeve , disponueshmëria e disa Web API-ve, specifike për kartat e videove renderimet që bëhen me anë të WebGL dhe , me CSS, analiza e karakteristikave të punës me dhe .
Burimi: opennet.ru
