Azonosítás a böngészőben lévő külső protokollkezelők elemzésével

A passzív módban böngészőazonosítók generálását lehetővé tevő fingerprintjs könyvtár fejlesztői olyan közvetett funkciók alapján, mint a képernyőfelbontás, a WebGL-funkciók, a telepített bővítmények és a betűtípusok listája, egy új azonosítási módszert mutattak be, amely a tipikus telepített alkalmazások értékelésén alapul. a felhasználón, és ellenőrizni kell a böngésző további protokollkezelőiben a támogatást. A szkript kódja a metódus megvalósításával az MIT licenc alatt kerül közzétételre.

Az ellenőrzés a kezelők 32 népszerű alkalmazáshoz való kötődésének elemzése alapján történik. Például, ha meghatározza a telegram://, slack:// és skype:// URL-séma-kezelők jelenlétét a böngészőben, megállapíthatja, hogy a rendszer rendelkezik telegram-, slack- és skype-alkalmazásokkal, és ezt az információt jelként használhatja. rendszerazonosító generálásakor. Mivel a kezelők listája a rendszer összes böngészőjénél azonos, az azonosító nem változik böngészőváltáskor, és használható Chrome, Firefox, Safari, Brave, Yandex Browser, Edge és még Tor Browser esetén is.

A módszer lehetővé teszi 32 bites azonosítók generálását, pl. külön-külön nem teszi lehetővé a nagy pontosság elérését, de értelmes kiegészítő funkcióként más paraméterekkel kombinálva. A módszer észrevehető hátránya az azonosítási kísérlet láthatósága a felhasználó számára - a javasolt bemutató oldalon egy azonosító generálásakor a jobb alsó sarokban megnyílik egy kicsi, de jól észrevehető ablak, amelyben a kezelők meglehetősen hosszú ideig görgetnek. Ez a hátrány nem jelenik meg a Tor Browserben, amelyben az azonosító észrevétlenül kiszámítható.

Egy alkalmazás jelenlétének meghatározásához a szkript megpróbál megnyitni egy külső kezelőhöz társított hivatkozást egy felugró ablakban, majd a böngésző megjelenít egy párbeszédablakot, amely arra kéri, hogy nyissa meg a tartalmat a társított alkalmazásban, ha az ellenőrzött alkalmazás jelen van, vagy hibaoldalt jelenít meg, ha az alkalmazás nincs a rendszeren. A tipikus külső kezelők szekvenciális keresése és a hibaüzenetek elemzése alapján megállapítható, hogy a rendszer tartalmazza a tesztelt programokat.

A Chrome 90 for Linux esetében a módszer nem működött, és a böngésző normál művelet-megerősítő párbeszédpanelt jelenített meg a kezelő ellenőrzésére tett minden kísérlethez (a Chrome for Windows és a macOS rendszerben a módszer működik). A Firefox 88 for Linuxban normál módban és inkognitó módban is a szkript a listáról észlelte a telepített további alkalmazások jelenlétét, az azonosítási pontosságot 99.87%-ra becsülték (35 ezer elvégzett tesztből 26 hasonló egyezés). Az ugyanazon a rendszeren futó Tor Browserben egy azonosító jött létre, amely megegyezett a Firefox tesztjével.

Érdekes módon a Tor Browser kiegészítő védelme kegyetlen viccet játszott, és a felhasználó által észrevétlenül történő azonosítás lehetőségévé vált. A Tor Browserben a külső kezelők használatát megerősítő párbeszédpanelek letiltása miatt kiderült, hogy az ellenőrző kérések iframe-ben nyithatók meg, nem pedig felugró ablakban (a kezelők jelenlétének és hiányának elkülönítésére az azonos eredetű szabályok blokkolja a hozzáférést a hibás oldalakhoz, és engedélyezze a hozzáférést az about:blank oldalakhoz). Az árvízvédelem miatt a Tor Browserben való ellenőrzés észrevehetően tovább tart (alkalmazásonként 10 másodperc).

Forrás: opennet.ru

Hozzászólás