Identifikacija z analizo zunanjih obdelovalcev protokolov v brskalniku

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

Dodaj komentar