Yashirin tizim va brauzerni identifikatsiyalashning yangi texnikasi joriy etildi

Ilgari hujum usullarini ishlab chiqish bilan tanilgan Grats texnologiya universiteti (Avstriya) tadqiqotchilari guruhi MDS, NetSpectre ΠΈ Otish bolg'asi, oshkor bo'ldi brauzerning aniq versiyasini, ishlatiladigan operatsion tizimni, CPU arxitekturasini va yashirin identifikatsiyaga qarshi kurashish uchun qo'shimchalardan foydalanishni aniqlash imkonini beruvchi yangi uchinchi tomon tahlil qilish texnikasi haqida ma'lumot.

Ushbu parametrlarni aniqlash uchun tadqiqotchilar tomonidan tayyorlangan JavaScript kodini brauzerda bajarish kifoya. Amalda, usul nafaqat foydalanuvchini bilvosita identifikatsiyalash uchun qo'shimcha manba sifatida, balki OS, arxitektura va brauzerni hisobga olgan holda ekspluatatsiyalardan maqsadli foydalanish uchun tizim muhiti parametrlarini aniqlash uchun ham qo'llanilishi mumkin. Usul Tor brauzeri kabi yashirin identifikatsiyani blokirovka qilish mexanizmlariga ega brauzerlardan foydalanganda ham samarali. Usulni amalga oshirish bilan manba kodi prototip kodi nashr etilgan MIT litsenziyasi ostida.

Aniqlash JavaScript-da turli xil brauzerlarga xos xususiyat holati naqshlarini taqsimlash va JIT, CPU va xotira ajratish mexanizmlarining xususiyatlariga qarab operatsiyalarni bajarish vaqtining xususiyatlari asosida amalga oshiriladi. Xususiyatlarni aniqlash JavaScript-da mavjud bo'lgan barcha ob'ektlar ro'yxatini yaratish orqali amalga oshiriladi. Ma'lum bo'lishicha, ob'ektlar soni to'g'ridan-to'g'ri brauzer mexanizmi va uning versiyasi bilan bog'liq.

getProperties(o) funksiyasi
varresult = [];
while (o!== null) {
natija = natija.concat(Reflect.ownKeys(o));
o = Object.getPrototypeOf(o);
}
natijani qaytarish;
}

Masalan, Firefox uchun hujjatlarda 2247 xususiyatni qo'llab-quvvatlash e'lon qilingan, hujjatsizlarni hisobga olgan holda ma'lum xususiyatlarning haqiqiy soni 15709 (Tor brauzerida - 15639), Chrome uchun 2698 xususiyat e'lon qilingan, ammo 13570 aslida taklif etiladi (Android uchun Chrome-da - 13119). Xususiyatlarning soni va qiymatlari brauzer versiyasidan va turli xil operatsion tizimlarda farq qiladi.

OS turini aniqlash uchun ma'lum xususiyatlarning qiymatlari va mavjudligidan foydalanish mumkin. Masalan, Kubuntu'da window.innerWidth xossasi 1000, Windows 10 da esa 1001. Windows tizimida window.navigator.activeVRDisplays xususiyati mavjud, Linuxda esa yo'q. Android uchun ko'plab maxsus qo'ng'iroqlar taqdim etiladi, ammo window.SharedWorker yo'q. Operatsion tizimni aniqlash uchun holati drayverlarga bog'liq bo'lgan WebGL parametrlarini tahlil qilishdan foydalanish taklif etiladi. Bundan tashqari, WEBGL_debug_renderer_infoextension chaqiruvi har bir operatsion tizim uchun har xil bo'lgan OpenGL renderlash mexanizmi haqida ma'lumot olish imkonini beradi.

Protsessorni aniqlash uchun turli xil tipik kod bloklarining bajarilish vaqtidagi farqlarni baholash qo'llaniladi, ularni qayta ishlash JITning xatti-harakatlarini hisobga olgan holda ko'rsatmalar to'plamining arxitekturasiga bog'liq (qancha CPU registrlari aniqlanadi). jalb qilinadi va qaysi hollarda JIT optimallashtirish va kengaytirilgan ko'rsatmalarni o'z ichiga olgan samarali kod ishlab chiqaradi va qachon ). Xotirani taqsimlash tizimi va operatsion tizim turini aniqlash uchun turli tuzilmalar uchun xotira ajratish vaqtining farqi ham o'lchanadi, bu xotira bloklari hajmini aniqlash uchun ishlatilishi mumkin.

Skriptni bajarish jarayonida aniqlangan parametrlar oldindan sinovdan o'tgan muhitlar uchun xos bo'lgan mos yozuvlar qiymatlari bilan taqqoslanadi. Sinov davomida ishlab chiqilgan texnika 40 xil sinov muhitini aniq aniqlash imkonini berdi, foydalanilgan brauzerlarning versiyalari, protsessor ishlab chiqaruvchisi, foydalanilgan operatsion tizim va uning haqiqiy uskunada yoki virtual mashinada ishlayotganligini aniqlash imkonini berdi.

Alohida-alohida, brauzer qo'shimchalarini va hatto shaxsiy qo'shimcha sozlamalarini, shu jumladan yashirin identifikatsiya usullarini yoki shaxsiy ko'rish faoliyatini blokirovka qilish uchun mo'ljallangan qo'shimchalarni aniqlash imkoniyati qayd etilgan. Taklif etilayotgan usul kontekstida bunday qo'shimchalar identifikatsiyalash uchun yana bir ma'lumot manbasiga aylanadi. Qo'shimchalar qo'shimchalar bilan kiritilgan asl muhit parametrlarining buzilishlarini baholash orqali aniqlanadi.

Boshqa identifikatsiyalash usullari qatorida bilvosita ma'lumotlarni ko'rib chiqishni ta'kidlash mumkin ekran o'lchamlari, qoΚ»llab-quvvatlanadigan MIME turlari roΚ»yxati, sarlavhaga xos variantlar (HTTP / 2 ΠΈ HTTPS), o'rnatilgan tahlil plaginlar va shriftlar, video kartalarga xos bo'lgan ba'zi veb-APIlar mavjudligi xususiyatlari WebGL bilan renderlash va polotno, manipulyatsiya CSS bilan, ishlash xususiyatlarini tahlil qilish sichqoncha ΠΈ klaviatura.

Manba: opennet.ru

a Izoh qo'shish