Identifiering genom analys av externa protokollhanterare i webbläsaren

Utvecklarna av fingerprintjs-biblioteket, som låter dig generera webbläsaridentifierare i passivt läge baserat på indirekta funktioner som skärmupplösning, WebGL-funktioner, listor över installerade plugins och typsnitt, presenterade en ny identifieringsmetod baserad på en bedömning av de typiska installerade applikationerna på användaren och arbetar genom att kontrollera stöd i webbläsarens extra protokollhanterare. Skriptkoden med implementeringen av metoden publiceras under MIT-licensen.

Kontrollen utförs baserat på en analys av bindning av hanterare till 32 populära applikationer. Till exempel, genom att fastställa närvaron av URL-schemahanterare telegram://, slack:// och skype:// i webbläsaren, kan du dra slutsatsen att systemet har telegram-, slack- och skype-applikationer och använda denna information som ett tecken när en systemidentifierare genereras. Eftersom listan över hanterare är densamma för alla webbläsare i systemet, ändras inte identifieraren när du byter webbläsare och kan användas i Chrome, Firefox, Safari, Brave, Yandex Browser, Edge och även Tor Browser.

Metoden låter dig generera 32-bitars identifierare, d.v.s. individuellt tillåter inte att uppnå stor noggrannhet, men det är vettigt som en extra funktion i kombination med andra parametrar. En märkbar nackdel med metoden är synligheten av identifieringsförsöket för användaren - när man genererar en identifierare på den föreslagna demosidan öppnas ett litet men tydligt fönster i det nedre högra hörnet där hanterarna rullar ganska länge. Denna nackdel visas inte i Tor Browser, där identifieraren kan beräknas obemärkt.

För att fastställa närvaron av en applikation försöker skriptet öppna en länk som är kopplad till en extern hanterare i ett popup-fönster, varefter webbläsaren visar en dialogruta som ber dig att öppna innehållet i den associerade applikationen om applikationen som kontrolleras är närvarande, eller visar en felsida om programmet inte finns på systemet. Genom en sekventiell sökning av typiska externa hanterare och analys av felretur kan man dra slutsatsen att systemet innehåller de program som testas.

I Chrome 90 för Linux fungerade inte metoden och webbläsaren visade en standarddialogruta för bekräftelse av driften för alla försök att kontrollera hanteraren (i Chrome för Windows och macOS fungerar metoden). I Firefox 88 för Linux, både i normalt läge och i inkognitoläge, upptäckte skriptet närvaron av installerade ytterligare applikationer från listan, och identifieringsnoggrannheten uppskattades till 99.87% (35 liknande matchningar av 26 tusen utförda tester). I Tor Browser som körs på samma system genererades en identifierare som matchade testet i Firefox.

Intressant nog spelade det extra skyddet i Tor Browser ett grymt skämt och förvandlades till en möjlighet att utföra identifiering obemärkt av användaren. På grund av inaktiveringen av bekräftelsedialoger för användning av externa hanterare i Tor Browser, visade det sig att verifieringsförfrågningar kan öppnas i en iframe och inte i ett popup-fönster (för att separera närvaron och frånvaron av hanterare, reglerna med samma ursprung blockera åtkomst till sidor med fel och tillåt åtkomst till about:blanka sidor). På grund av översvämningsskydd tar incheckningen i Tor Browser märkbart längre tid (10 sekunder per applikation).

Källa: opennet.ru

Lägg en kommentar