Tvorcovia knižnice fingerprintjs, ktorá umožňuje generovať identifikátory prehliadača v pasívnom režime na základe nepriamych znakov, ako sú rozlíšenie obrazovky, vlastnosti WebGL, zoznamy nainštalovaných pluginov a fontov, predstavili novu metódu identifikácie, ktorá vychádza z hodnotenia nainštalovaných typových aplikácií a funguje prostredníctvom overovania podpory dodatočných protokolárnych manipulátorov v prehliadači. Skript s realizáciou metódy bol publikovaný pod licenciou MIT.
Overenie sa vykonáva na základe analýzy väzby manipulátorov na 32 populárnych aplikáciách. Napríklad, určením prítomnosti manipulátorov URL schém telegram://, slack:// a skype:// v prehliadači môžeme usúdiť o prítomnosti aplikácií telegram, slack a skype v systéme a využiť tieto informácie ako znak pri generovaní identifikátora systému. Keďže zoznam manipulátorov sa pre všetky prehliadače v systéme nezmení, identifikátor zostáva rovnaký aj pri zmene prehliadača a možno ho použiť v prehliadačoch ako Chrome, Firefox, Safari, Brave, Yandex Browser, Edge a dokonca aj v Tor Browseri.
Metóda umožňuje generovať 32-bitové identifikátory, čo samostatne neumožňuje dosiahnuť veľkú presnosť, ale má význam ako doplnkový znak v kombinácii s inými parametrami. Výrazným nedostatkom metódy je viditeľnosť pokusu o identifikáciu pre používateľa — pri generovaní identifikátora na navrhnutej ukážkovej stránke sa v pravom dolnom rohu otvorí malé, ale zjavné okno, v ktorom sa dosť dlho prechádzajú manipulátory. Tento nedostatok sa neprejavuje v Tor Browseri, kde je identifikátor možné vypočítať nenápadne.
Na určenie prítomnosti aplikácie skript sa pokúša otvoriť vyskakovacie okno s odkazom súvisiacim s externým manipulátorom, po ktorom prehliadač zobrazí dialóg s návrhom na otvorenie obsahu v súvislej aplikácii, ak je kontrolovaná aplikácia prítomná, alebo zarazí stránku s chybou, ak aplikácia v systéme nie je. Prostredníctvom sekvenčného prechodu typov externých manipulátorov a analýzy vrátenia chyby je možné usúdiť o prítomnosti kontrolovaných programov v systéme.
V prehliadači Chrome 90 pre Linux metóda nefungovala a prehliadač na všetky pokusy o overenie spracovateľa zobrazil štandardný dialóg potvrdenia akcie (v prehliadači Chrome pre Windows a macOS metóda funguje). V prehliadači Firefox 88 pre Linux, ako v bežnom režime, tak aj v režime inkognito, skript určil prítomnosť nainštalovaných ďalších aplikácií zo zoznamu, pričom presnosť identifikácie bola ohodnotená na 99,87 % (35 podobných zhôd z 26 000 vykonaných testov). V Tor prehliadači spustenom na tej istej sústave bol vygenerovaný identifikátor, ktorý sa zhodoval s testom vo Firefoxe.
Zaujímavé je, že dodatočná ochrana v Tor prehliadači sa obrátila proti používateľovi a umožnila identifikáciu bez jeho vedomia. V dôsledku deaktivácie dialógov potvrdzovania používania externých spracovateľov v Tor prehliadači bolo možné overovacie požiadavky otvárať v iframe, nie v popup okne (na oddelenie prítomnosti a neprítomnosti spracovateľov sa používa to, že pravidlá same-origin blokujú prístup na stránky s chybou a povoľujú prístup na stránky about:blank). Z dôvodu ochrany proti spamu trvá overenie v Tor prehliadači výrazne dlhšie (10 sekúnd na aplikáciu).
Zdroj: opennet.ru
