Predstavljena je nova tehnika za identifikaciju skrivenog sustava i preglednika

Skupina istraživača s Tehničkog sveučilišta u Grazu (Austrija), prethodno poznata po razvoju metoda napada MDS, NetSpectre и Bacački čekić, nepokriveni Informacije o novoj tehnici analize kanala treće strane koja vam omogućuje određivanje točne verzije preglednika, korištenog operativnog sustava, CPU arhitekture i upotrebe dodataka za borbu protiv skrivene identifikacije.

Za određivanje ovih parametara dovoljno je u pregledniku pokrenuti JavaScript kod koji su pripremili istraživači. U praksi se metoda može koristiti ne samo kao dodatni izvor za neizravnu identifikaciju korisnika, već i za određivanje parametara okruženja sustava za ciljanu upotrebu exploita, uzimajući u obzir OS, arhitekturu i preglednik. Metoda je također učinkovita kada se koriste preglednici koji implementiraju skrivene mehanizme blokiranja identifikacije, kao što je Tor Browser. Prototip izvornog koda s implementacijom metode Objavljeno pod licencom MIT-a.

Određivanje se provodi na temelju identificiranja obrazaca stanja svojstava u JavaScriptu koji su karakteristični za različite preglednike i karakteristikama vremena izvršavanja operacija, ovisno o karakteristikama JIT-a, CPU-a i mehanizama dodjele memorije. Definiranje svojstava vrši se generiranjem popisa svih objekata dostupnih iz JavaScripta. Kako se pokazalo, broj objekata izravno korelira s motorom preglednika i njegovom verzijom.

funkcija getProperties(o) {
var rezultat = [];
dok (o !== null) {
rezultat = rezultat.concat(Reflect.ownKeys(o));
o = Object.getPrototypeOf(o);
}
vratiti rezultat;
}

Na primjer, za Firefox dokumentacija navodi podršku za 2247 svojstava, dok je stvarni broj definiranih svojstava, uključujući nedokumentirana, 15709 (u pregledniku Tor - 15639), za Chrome deklarirano je 2698 svojstava, ali u stvarnosti se nudi 13570 (u Chrome za Android - 13119) . Broj i vrijednosti svojstava razlikuju se od verzije preglednika do verzije preglednika i između različitih operativnih sustava.

Vrijednosti i prisutnost određenih svojstava mogu se koristiti za određivanje vrste OS-a. Na primjer, u Kubuntu svojstvo window.innerWidth postavljeno je na 1000, au Windows 10 na 1001. Svojstvo window.navigator.activeVRDisplays dostupno je u Windowsima, ali nije dostupno u Linuxu. Za Android su dostupni mnogi specifični pozivi, ali window.SharedWorker nije. Za identifikaciju operativnog sustava također se predlaže korištenje analize WebGL parametara, čije stanje ovisi o upravljačkim programima. Osim toga, pozivanje WEBGL_debug_renderer_infoextension omogućuje vam dobivanje informacija o OpenGL motoru za prikazivanje, koji je drugačiji za svaki operativni sustav.

Za određivanje CPU-a koristi se procjena razlika u vremenu izvršavanja različitih tipičnih blokova koda, čija obrada ovisi o arhitekturi skupa instrukcija, uzimajući u obzir ponašanje JIT-a (određuje se koliko će se CPU registara koristiti i u kojim slučajevima će JIT generirati učinkovit kod s optimizacijama i korištenjem proširenih instrukcija, a kada ne). Za određivanje vrste sustava za dodjelu memorije i operativnog sustava, također se mjeri razlika u vremenu dodjele memorije za različite strukture, na temelju koje se može procijeniti veličina memorijskih blokova.

Parametri određeni tijekom izvođenja skripte uspoređuju se s referentnim vrijednostima tipičnim za prethodno testirana okruženja. Tijekom testa, razvijena tehnika omogućila je točnu identifikaciju 40 različitih testnih okruženja, identificirajući verzije korištenih preglednika, proizvođača CPU-a, korišteni operativni sustav i činjenicu da radi na stvarnom hardveru ili u virtualnom stroju.

Zasebno se napominje da je moguće definirati dodatke preglednika, pa čak i pojedinačne postavke dodataka, uključujući dodatke dizajnirane za blokiranje skrivenih metoda identifikacije ili aktivnosti privatnog načina pregledavanja. U kontekstu predložene metode, takvi dodaci postaju još jedan izvor podataka za identifikaciju. Dodaci se određuju procjenom iskrivljenja parametara izvornog okruženja uvedenih dodacima.

Druge metode identifikacije uključuju uzimanje u obzir neizravnih podataka kao što su Razlučivost zaslona, popis podržanih tipova MIME, specifični parametri u zaglavljima (HTTP / 2 и HTTPS), analiza instaliranih dodaci i fontovi, dostupnost određenih Web API-ja, specifičnih za video kartice značajke iscrtavanje pomoću WebGL-a i Platno, manipulacija s CSS-om, analiza značajki rada s miš и tipkovnica.

Izvor: opennet.ru

Dodajte komentar