Fingerprintjs գրադարանի մշակողները, որը թույլ է տալիս պասիվ ռեժիմով ստեղծել բրաուզերի նույնականացուցիչներ՝ հիմնվելով անուղղակի այնպիսի գործառույթների վրա, ինչպիսիք են էկրանի լուծաչափը, WebGL գործառույթները, տեղադրված պլագինների և տառատեսակների ցանկերը, ներկայացրել են նոր նույնականացման մեթոդ, որը հիմնված է օգտատիրոջ կողմից տեղադրված ստանդարտ ծրագրերի գնահատման և բրաուզերի կողմից լրացուցիչ արձանագրությունների մշակիչների աջակցության ստուգման վրա: Մեթոդը իրականացնող սկրիպտային կոդը հրապարակված է MIT լիցենզիայի ներքո:
Ստուգումը կատարվում է մշակիչների կապակցվածության վերլուծության հիման վրա 32 հայտնի հավելվածների հետ։ Օրինակ՝ որոշելով բրաուզերում telegram://, slack:// և skype:// URL սխեմաների համար մշակիչների առկայությունը, կարելի է եզրակացնել, որ համակարգն ունի Telegram, Slack և Skype հավելվածներ, և օգտագործել այս տեղեկատվությունը որպես նշան համակարգի նույնականացուցիչը ստեղծելիս։ Քանի որ մշակիչների ցանկը նույնն է համակարգի բոլոր բրաուզերների համար, նույնականացուցիչը չի փոխվում բրաուզերը փոխելիս և կարող է օգտագործվել Chrome, Firefox, Safari, Brave, Yandex Browser, Edge և նույնիսկ Tor Browser-ում։
Մեթոդը թույլ է տալիս ստեղծել 32-բիթանոց նույնականացուցիչներ, այսինքն՝ այն թույլ չի տալիս առանձին հասնել բարձր ճշգրտության, բայց իմաստ ունի որպես լրացուցիչ գործառույթ՝ այլ պարամետրերի հետ համատեղ: Մեթոդի նկատելի թերությունը օգտատիրոջ համար նույնականացման փորձի տեսանելիությունն է. առաջարկվող ցուցադրական էջում նույնականացուցիչ ստեղծելիս ներքևի աջ անկյունում բացվում է փոքր, բայց հստակ տեսանելի պատուհան, որտեղ մշակիչները երկար ժամանակ տեսակավորվում են: Այս թերությունը չի երևում Tor Browser-ում, որտեղ նույնականացուցիչը կարող է հաշվարկվել աննկատ:
Հավելվածի առկայությունը որոշելու համար սկրիպտը փորձում է բացել արտաքին մշակողի հետ կապված հղումը թռուցիկ պատուհանում, որից հետո զննարկիչը ցուցադրում է երկխոսություն՝ խնդրելով բացել բովանդակությունը կապված հավելվածում, եթե ստուգվող հավելվածը ներկա է կամ ցուցադրում է սխալի էջ, եթե հավելվածը համակարգում չէ: Տիպիկ արտաքին մշակողների հաջորդական որոնման և սխալների վերադարձի վերլուծության միջոցով կարելի է եզրակացնել, որ համակարգը պարունակում է փորձարկվող ծրագրեր:
Chrome 90-ում Linux Մեթոդը չաշխատեց, և զննարկիչը ցուցադրեց գործողությունը հաստատելու ստանդարտ երկխոսության պատուհան (Chrome-ում՝ մշակիչը ստուգելու բոլոր փորձերի համար): Windows и macOS մեթոդը գործում է): Firefox 88-ում LinuxԵ՛վ սովորական, և՛ ինկոգնիտո ռեժիմներում սկրիպտը նույնականացրեց ցանկից տեղադրված լրացուցիչ ծրագրերի առկայությունը՝ 99.87% նույնականացման ճշգրտությամբ (26 թեստերից 35 նման համընկնում): Նույն համակարգի վրա Tor Browser-ը գործարկելով՝ այն ստեղծեց Firefox թեստին համապատասխանող նույնականացուցիչ:
Հետաքրքիր է, որ Tor Browser-ում լրացուցիչ պաշտպանությունը դաժան կատակ խաղաց և վերածվեց օգտատիրոջ կողմից աննկատ նույնականացում իրականացնելու հնարավորության: Tor Browser-ում արտաքին մշակիչների օգտագործումը հաստատելու համար նախատեսված երկխոսության պատուհանների անջատման պատճառով, ստուգման հարցումները հնարավոր դարձավ բացել iframe-ում, այլ ոչ թե ցատկող պատուհանում (մշակիչների առկայությունը և բացակայությունը տարբերակելու համար նույն ծագման կանոնները արգելափակում են սխալ պարունակող էջերին մուտքը և թույլատրում են մուտք գործել about:blank էջեր): Ջրհեղեղից պաշտպանության շնորհիվ Tor Browser-ում ստուգումը զգալիորեն ավելի երկար է տևում (10 վայրկյան մեկ հավելվածի համար):
Source: opennet.ru
