Udviklerne af fingerprintjs-biblioteket, som muliggør generering af browseridentifikatorer i passiv tilstand baseret på indirekte funktioner som skærmopløsning, WebGL-funktioner, lister over installerede plugins og skrifttyper, har præsenteret en ny identifikationsmetode baseret på en vurdering af brugerens installerede standardapplikationer og ved at kontrollere browserens understøttelse af yderligere protokolhåndteringsprogrammer. Scriptkoden, der implementerer metoden, er udgivet under MIT-licensen.
Kontrollen udføres baseret på en analyse af bindingen af handlere til 32 populære applikationer. For eksempel, efter at have fastslået tilstedeværelsen af handlere for URL-ordningerne telegram://, slack:// og skype:// i browseren, kan man konkludere, at systemet har telegram-, slack- og skype-applikationer, og bruge disse oplysninger som et tegn, når systemidentifikatoren genereres. Da listen over handlere er den samme for alle browsere i systemet, ændres identifikatoren ikke, når browseren skiftes, og den kan bruges i Chrome, Firefox, Safari, Brave, Yandex Browser, Edge og endda i Tor Browser.
Metoden tillader generering af 32-bit identifikatorer, dvs. den tillader ikke at opnå høj nøjagtighed separat, men den giver mening som en ekstra funktion i kombination med andre parametre. En mærkbar ulempe ved metoden er synligheden af identifikationsforsøget for brugeren - når der genereres en identifikator på den foreslåede demoside, åbnes et lille, men tydeligt synligt vindue i nederste højre hjørne, hvor handlerne sorteres i lang tid. Denne ulempe vises ikke i Tor Browser, hvor identifikatoren kan beregnes ubemærket.
For at fastslå tilstedeværelsen af en applikation, forsøger scriptet at åbne et link tilknyttet en ekstern handler i et pop-up vindue, hvorefter browseren viser en dialog, der beder dig om at åbne indholdet i den tilknyttede applikation, hvis applikationen, der kontrolleres, er til stede, eller viser en fejlside, hvis applikationen ikke er på systemet. Gennem en sekventiel søgning af typiske eksterne handlere og analyse af fejlreturneringer kan man konkludere, at systemet indeholder de programmer, der testes.
I Chrome 90 til Linux Metoden virkede ikke, og browseren viste en standarddialogboks for at bekræfte handlingen (i Chrome for alle forsøg på at kontrollere handleren) Windows и macOS metoden virker). I Firefox 88 til LinuxI både almindelig og inkognitotilstand identificerede scriptet tilstedeværelsen af installerede yderligere applikationer fra listen med en identifikationsnøjagtighed på 99.87 % (35 sådanne match ud af 26 tests). Ved at køre Tor Browser på det samme system genererede det en identifikator, der matchede Firefox-testen.
Interessant nok spillede den ekstra beskyttelse i Tor Browser en grinagtig joke og blev til muligheden for at udføre identifikation ubemærket af brugeren. På grund af deaktiveringen af dialogbokse til bekræftelse af brugen af eksterne handlere i Tor Browser viste det sig, at verifikationsanmodninger kunne åbnes i en iframe og ikke i et pop op-vindue (for at skelne mellem tilstedeværelsen og fraværet af handlere blokerer same-origin-reglerne adgang til sider med en fejl og tillader adgang til about:blank-sider). På grund af oversvømmelsesbeskyttelse tager verifikation i Tor Browser mærkbart længere tid (10 sekunder pr. applikation).
Kilde: opennet.ru
