Жасырын жүйе мен браузерді сәйкестендірудің жаңа техникасы енгізілді

Грац техникалық университетінің (Австрия) зерттеушілер тобы, бұрын шабуыл әдістерін әзірлеумен танымал. MDS, NetSpectre и Балға, ашылды Браузердің нақты нұсқасын, пайдаланылатын операциялық жүйені, процессордың архитектурасын және жасырын сәйкестендірумен күресу үшін қондырмаларды пайдалануды анықтауға мүмкіндік беретін жаңа үшінші тарап арналарын талдау әдісі туралы ақпарат.

Бұл параметрлерді анықтау үшін браузерде зерттеушілер дайындаған JavaScript кодын іске қосу жеткілікті. Тәжірибеде әдіс қолданушыны жанама сәйкестендірудің қосымша көзі ретінде ғана емес, сонымен қатар ОЖ, архитектура және браузерді ескере отырып, эксплуаттарды мақсатты пайдалану үшін жүйелік ортаның параметрлерін анықтау үшін де пайдаланылуы мүмкін. Бұл әдіс Tor Browser сияқты жасырын идентификацияны блоктау механизмдерін жүзеге асыратын браузерлерді пайдаланған кезде де тиімді. Әдісті іске асырумен бастапқы код прототипі жарияланған MIT лицензиясы бойынша.

Анықтау JavaScript-те әртүрлі браузерлерге тән сипат күйінің үлгілерін және JIT, CPU және жадты бөлу механизмдерінің сипаттамаларына байланысты операциялардың орындалу уақытының сипаттамаларын анықтау негізінде жасалады. Сипаттарды анықтау JavaScript арқылы қол жетімді барлық нысандардың тізімін жасау арқылы жүзеге асырылады. Белгілі болғандай, нысандардың саны браузер қозғалтқышымен және оның нұсқасымен тікелей байланысты.

getProperties(o) функциясы {
var нәтиже = [];
while (o!== null) {
нәтиже = нәтиже.concat(Reflect.ownKeys(o));
o = Object.getPrototypeOf(o);
}
нәтижені қайтару;
}

Мысалы, Firefox үшін құжаттамада 2247 сипаттарға қолдау көрсетіледі, ал анықталған сипаттардың нақты саны, құжатталмағандарын қоса алғанда, 15709 (Tor Browser-де - 15639), Chrome үшін 2698 сипаттар жарияланған, бірақ шын мәнінде 13570 сипаттар ұсынылған (ішінде). Android жүйесіне арналған Chrome - 13119). Сипаттардың саны мен мәндері браузер нұсқасынан браузер нұсқасына және әртүрлі операциялық жүйелерде өзгереді.

Белгілі бір қасиеттердің мәндері мен болуы ОЖ түрін анықтау үшін пайдаланылуы мүмкін. Мысалы, Kubuntu жүйесінде window.innerWidth сипаты 1000 мәніне орнатылған, ал Windows 10 жүйесінде ол 1001 мәніне орнатылған. window.navigator.activeVRDisplays сипаты Windows жүйесінде қол жетімді, бірақ ол Linux жүйесінде қол жетімді емес. Android үшін көптеген арнайы қоңыраулар беріледі, бірақ window.SharedWorker жоқ. Операциялық жүйені анықтау үшін күйі драйверлерге байланысты WebGL параметрлерін талдауды да пайдалану ұсынылады. Сонымен қатар, WEBGL_debug_renderer_infoextension шақыру әрбір операциялық жүйе үшін әртүрлі болатын OpenGL көрсету механизмі туралы ақпаратты алуға мүмкіндік береді.

Орталық процессорды анықтау үшін әртүрлі типтік код блоктарының орындалу уақытындағы айырмашылықтарды бағалау пайдаланылады, оны өңдеу JIT мінез-құлқын ескере отырып, нұсқаулар жиынтығының архитектурасына байланысты (қанша CPU регистрлері қолданылатыны анықталады) және қандай жағдайларда JIT оңтайландырулармен және кеңейтілген нұсқауларды пайдаланумен тиімді кодты жасайды және қай кезде ). Жадты бөлу жүйесі мен операциялық жүйенің түрін анықтау үшін әртүрлі құрылымдар үшін жадты бөлу уақытының айырмашылығы да өлшенеді, оны жад блоктарының өлшемін бағалауға болады.

Сценарийді орындау кезінде анықталған параметрлер бұрын тексерілген орталарға тән анықтамалық мәндермен салыстырылады. Тестілеу барысында әзірленген әдістеме 40 түрлі сынақ ортасын дәл анықтауға мүмкіндік берді, пайдаланылған браузерлердің нұсқаларын, процессордың өндірушісін, қолданылатын операциялық жүйені және оның нақты аппараттық құралда немесе виртуалды машинада жұмыс істейтінін анықтауға мүмкіндік берді.

Браузердің қондырмаларын және тіпті жеке қондырма параметрлерін, соның ішінде жасырын сәйкестендіру әдістерін немесе жеке шолу режимінің әрекетін блоктауға арналған қондырмаларды анықтауға болатыны бөлек. Ұсынылған әдіс контекстінде мұндай толықтырулар сәйкестендіру үшін басқа деректер көзіне айналады. Толықтырулар толықтырулар арқылы енгізілген бастапқы ортаның параметрлерінің бұрмалануын бағалау арқылы анықталады.

Басқа сәйкестендіру әдістеріне жанама деректерді есепке алу кіреді экран өлшемі, қолдау көрсетілетін MIME түрлерінің тізімі, тақырыпқа қатысты опциялар (HTTP / 2 и HTTPS), белгіленген талдау плагиндер мен қаріптер, бейне карталарға тән белгілі бір Web API интерфейстерінің болуы әсіресе WebGL көмегімен көрсету және кенеп, манипуляция CSS көмегімен, жұмыс істеу ерекшеліктерін талдау тышқан и пернетақта.

Ақпарат көзі: opennet.ru

пікір қалдыру