Uvedena je nova tehnika za identifikaciju skrivenog sistema i pretraživača

Grupa istraživača sa Tehničkog univerziteta u Gracu (Austrija), ranije poznata po razvoju metoda napada MDS, NetSpectre и Throwhammer, nepokriven Informacije o novoj tehnici analize kanala treće strane koja vam omogućava da odredite tačnu verziju pretraživača, operativni sistem koji se koristi, arhitekturu procesora i upotrebu dodataka za borbu protiv skrivene identifikacije.

Za određivanje ovih parametara dovoljno je pokrenuti JavaScript kod koji su pripremili istraživači u pretraživaču. U praksi, metoda se može koristiti ne samo kao dodatni izvor za indirektnu identifikaciju korisnika, već i za određivanje parametara sistemskog okruženja za ciljanu upotrebu eksploata, uzimajući u obzir OS, arhitekturu i pretraživač. Metoda je također efikasna kada se koriste pretraživači koji implementiraju skrivene mehanizme blokiranja identifikacije, kao što je Tor Browser. Prototip izvornog koda sa implementacijom metode objavljeno pod MIT licencom.

Određivanje se vrši na osnovu identifikacije obrazaca stanja svojstava u JavaScript-u koji su karakteristični za različite pretraživače i karakteristika vremena izvršavanja operacija, u zavisnosti od karakteristika JIT, CPU i mehanizama alokacije memorije. Definiranje svojstava se vrši generiranjem liste svih objekata dostupnih iz JavaScript-a. Kako se ispostavilo, broj objekata u direktnoj je korelaciji sa pretraživačem i njegovom verzijom.

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

Na primjer, za Firefox dokumentacija navodi podršku za 2247 svojstava, dok je stvarni broj definiranih svojstava, uključujući i nedokumentirana, 15709 (u Tor pretraživaču - 15639), za Chrome je deklarirano 2698 svojstava, ali je u stvarnosti ponuđeno 13570 (u Chrome za Android - 13119) . Broj i vrijednosti svojstava variraju od verzije pretraživača do verzije pretraživača i u različitim operativnim sistemima.

Vrijednosti i prisutnost određenih svojstava mogu se koristiti za određivanje tipa OS-a. Na primjer, u Kubuntu-u svojstvo window.innerWidth je postavljeno na 1000, au Windowsu 10 na 1001. Svojstvo window.navigator.activeVRDisplays dostupno je na Windows-u, ali nije dostupno na Linuxu. Za Android postoji mnogo specifičnih poziva, ali window.SharedWorker nije. Za identifikaciju operativnog sistema također se predlaže korištenje analize WebGL parametara čije stanje ovisi o drajverima. Pored toga, pozivanje WEBGL_debug_renderer_infoextension omogućava vam da dobijete informacije o OpenGL mašini za renderovanje, koja je različita za svaki operativni sistem.

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 JIT ponašanje (određuje se koliko će se CPU registara koristiti i u kojim slučajevima će JIT generisati efikasan kod sa optimizacijama i upotrebom proširenih instrukcija, a kada ne ). Da bi se odredio tip sistema za dodjelu memorije i operativnog sistema, također se mjeri razlika u vremenu dodjele memorije za različite strukture, što se može koristiti za procjenu veličine memorijskih blokova.

Parametri određeni tokom izvršavanja skripte upoređuju se sa referentnim vrijednostima tipičnim za prethodno testirana okruženja. Tokom testiranja, razvijena tehnika je omogućila da se precizno identifikuje 40 različitih testnih okruženja, identifikujući verzije korišćenih pretraživača, proizvođača CPU-a, korišćeni operativni sistem i činjenicu da je radio na stvarnom hardveru ili na virtuelnoj mašini.

Odvojeno, napominje se da je moguće definirati dodatke pretraživača, pa čak i pojedinačne postavke dodataka, uključujući dodatke dizajnirane da blokiraju skrivene metode identifikacije ili aktivnosti u načinu privatnog pregledavanja. U kontekstu predložene metode, ovakvi dodaci postaju još jedan izvor podataka za identifikaciju. Dodaci se određuju procjenom izobličenja parametara izvornog okruženja unesenih dodacima.

Druge metode identifikacije uključuju uzimanje u obzir indirektnih podataka kao što su rezolucija ekrana, lista podržanih MIME tipova, 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 renderiranje pomoću WebGL-a i platno, manipulacija sa CSS-om, analiza karakteristika rada sa miš и tastatura.

izvor: opennet.ru

Dodajte komentar