Razvijalci knjižnice fingerprintjs, ki omogoča ustvarjanje identifikatorjev brskalnika v pasivnem načinu na podlagi posrednih funkcij, kot so ločljivost zaslona, funkcije WebGL, seznami nameščenih vtičnikov in pisav, so predstavili novo metodo identifikacije, ki temelji na oceni tipičnih nameščenih aplikacij. na uporabnika in delo s preverjanjem podpore v dodatnih obdelovalcih protokolov brskalnika. Koda skripta z implementacijo metode je objavljena pod licenco MIT.
Preverjanje se izvaja na podlagi analize vezave upravljavcev na 32 priljubljenih aplikacij. Na primer, z določitvijo prisotnosti shem za obravnavo URL-jev telegram://, slack:// in skype:// v brskalniku lahko sklepate, da ima sistem aplikacije telegram, slack in skype, in te informacije uporabite kot znak pri generiranju sistemskega identifikatorja. Ker je seznam upravljavcev enak za vse brskalnike v sistemu, se identifikator ne spremeni pri menjavi brskalnikov in se lahko uporablja v brskalnikih Chrome, Firefox, Safari, Brave, Yandex Browser, Edge in celo Tor Browser.
Metoda omogoča ustvarjanje 32-bitnih identifikatorjev, tj. posamično ne omogoča doseganja velike natančnosti, je pa smiseln kot dodatna funkcija v kombinaciji z drugimi parametri. Opazna pomanjkljivost metode je vidnost poskusa identifikacije za uporabnika - pri generiranju identifikatorja na predlagani predstavitveni strani se v spodnjem desnem kotu odpre majhno, a jasno opazno okno, v katerem se upravljalci precej dolgo pomikajo. Ta pomanjkljivost se ne pojavi v brskalniku Tor, v katerem je identifikator mogoče izračunati neopaženo.
Za ugotavljanje prisotnosti aplikacije poskusi skript odpreti povezavo, povezano z zunanjim upravljalnikom, v pojavnem oknu, nato pa brskalnik prikaže pogovorno okno, v katerem vas prosi, da odprete vsebino v povezani aplikaciji, če je aplikacija, ki se preverja, prisoten ali prikaže stran z napako, če aplikacije ni v sistemu. Z zaporednim iskanjem tipičnih zunanjih upravljavcev in analizo vrnitve napak lahko sklepamo, da sistem vsebuje programe, ki se testirajo.
V Chromu 90 za Linux metoda ni delovala in brskalnik je prikazal standardno potrditveno pogovorno okno za vse poskuse preverjanja upravljalnika (v Chromu za Windows in macOS metoda deluje). V Firefoxu 88 za Linux je tako v običajnem načinu kot v načinu brez beleženja zgodovine skript zaznal prisotnost nameščenih dodatnih aplikacij s seznama, natančnost identifikacije pa je bila ocenjena na 99.87% (35 podobnih ujemanj od 26 tisoč izvedenih testov). V brskalniku Tor, ki deluje v istem sistemu, je bil ustvarjen identifikator, ki se ujema s testom v Firefoxu.
Zanimivo je, da je dodatna zaščita v brskalniku Tor igrala kruto šalo in se spremenila v priložnost za identifikacijo, ki jo uporabnik ne opazi. Zaradi onemogočanja potrditvenih pogovornih oken za uporabo zunanjih obdelovalcev v brskalniku Tor se je izkazalo, da je mogoče zahteve za preverjanje odpreti v okvirju iframe in ne v pojavnem oknu (za ločevanje prisotnosti in odsotnosti obdelovalcev, pravila istega izvora blokirajte dostop do strani z napakami in dovolite dostop do about:prazne strani). Zaradi zaščite pred poplavami preverjanje v brskalniku Tor traja občutno dlje (10 sekund na aplikacijo).
Vir: opennet.ru