Prezantoi një teknikë të re për identifikimin e sistemit të fshehur dhe shfletuesit

Një grup studiuesish nga Universiteti Teknik i Grazit (Austri), i njohur më parë për zhvillimin e metodave të sulmit MDS, NetSpectre и Çekiçi i hedhjes, të pambuluara Informacion në lidhje me një teknikë të re të analizës së kanaleve të palëve të treta që ju lejon të përcaktoni versionin e saktë të shfletuesit, sistemin operativ të përdorur, arkitekturën e CPU-së dhe përdorimin e shtesave për të luftuar identifikimin e fshehur.

Për të përcaktuar këto parametra, mjafton të ekzekutoni kodin JavaScript të përgatitur nga studiuesit në shfletues. 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 të sistemit për përdorimin e synuar të shfrytëzimeve, duke marrë parasysh OS, arkitekturën dhe shfletuesin. Metoda është gjithashtu efektive kur përdorni shfletues që zbatojnë mekanizma bllokimi të fshehtë të identifikimit, siç është shfletuesi Tor. Prototipi i kodit burimor me zbatimin e metodës botuar nën licencën MIT.

Përcaktimi bëhet në bazë të identifikimit të modeleve të gjendjes së vetive në JavaScript që janë karakteristike për shfletues të ndryshëm dhe karakteristikave të kohës së ekzekutimit të operacioneve, në varësi të karakteristikave të JIT, CPU dhe mekanizmave të shpërndarjes së memories. Përcaktimi i vetive bëhet duke gjeneruar një listë të të gjitha objekteve të aksesueshme nga JavaScript. Siç doli, numri i objekteve lidhet drejtpërdrejt me motorin e shfletuesit dhe versionin e tij.

funksioni getProperties(o) {
var rezultat = [];
ndërsa (o !== null) {
rezultat = rezultat.concat(Reflect.ownKeys(o));
o = Object.getPrototypeOf(o);
}
rezultati i kthimit;
}

Për shembull, për Firefox-in dokumentacioni thotë mbështetje për 2247 prona, ndërsa numri aktual i pronave të përcaktuara, përfshirë ato të padokumentuara, është 15709 (në Tor Browser - 15639), për Chrome 2698 janë deklaruar pronat, por në realitet ofrohen 13570 (në Chrome për Android - 13119) . Numri dhe vlerat e vetive ndryshojnë nga versioni i shfletuesit në versionin e shfletuesit dhe në sisteme të ndryshme operative.

Vlerat dhe prania e vetive të caktuara mund të përdoren për të përcaktuar llojin e OS. Për shembull, në Kubuntu vetia window.innerWidth është vendosur në 1000 dhe në Windows 10 është vendosur në 1001. Vetia window.navigator.activeVRDdisplays është e disponueshme në Windows, por nuk disponohet në Linux. Për Android, ofrohen shumë thirrje specifike, por window.SharedWorker jo. Për të identifikuar sistemin operativ, propozohet gjithashtu të përdoret analiza e parametrave të WebGL, gjendja e të cilave varet nga drejtuesit. Për më tepër, thirrja e WEBGL_debug_renderer_infoextension ju lejon të merrni informacion në lidhje me motorin e interpretimit OpenGL, i cili është i ndryshëm për çdo sistem operativ.

Për të përcaktuar CPU-në, përdoret një vlerësim i ndryshimeve në kohën e ekzekutimit të blloqeve të ndryshme tipike të kodit, përpunimi i të cilave varet nga arkitektura e grupit të udhëzimeve, duke marrë parasysh sjelljen JIT (përcaktohet se sa regjistra të CPU do të përdoren dhe në cilat raste JIT do të gjenerojë kod efikas me optimizime dhe përdorimin e udhëzimeve të zgjeruara, dhe kur jo). Për të përcaktuar llojin e sistemit të alokimit të memories dhe sistemit operativ, matet edhe diferenca në kohën e alokimit të memories për struktura të ndryshme, e cila mund të përdoret për të gjykuar madhësinë e blloqeve të memories.

Parametrat e përcaktuar gjatë ekzekutimit të skriptit krahasohen me vlerat e referencës tipike për mjediset e testuara më parë. Gjatë testit, teknika e zhvilluar bëri të mundur identifikimin e saktë të 40 mjediseve të ndryshme të testimit, duke identifikuar versionet e shfletuesve të përdorur, prodhuesin e CPU-së, sistemin operativ të përdorur dhe faktin që ai funksiononte në harduer real ose në një makinë virtuale.

Më vete, vihet re se është e mundur të përcaktohen shtesat e shfletuesit dhe madje edhe cilësimet individuale të shtesave, duke përfshirë shtesat e krijuara për të bllokuar metodat e fshehura të identifikimit ose aktivitetin e modalitetit të shfletimit privat. Në kontekstin e metodës së propozuar, shtesa të tilla bëhen një tjetër burim i të dhënave për identifikim. Shtesat përcaktohen duke vlerësuar shtrembërimet e parametrave të mjedisit origjinal të paraqitura nga shtesat.

Metoda të tjera identifikimi përfshijnë marrjen parasysh të të dhënave të tilla indirekte si rezolucioni i ekranit, lista e llojeve MIME të mbështetura, parametra specifikë në kokë (HTTP / 2 и HTTPS), analiza e instaluar shtojcat dhe fontet, disponueshmëria e disa API-ve të internetit, specifike për kartat video karakteristikat renderimi duke përdorur WebGL dhe Kanavacë, manipulimi me CSS, analiza e veçorive të punës me miu и tastierë.

Burimi: opennet.ru

Shto një koment