Identificatie via analyse van externe protocolhandelaars in de browser

De ontwikkelaars van de bibliotheek fingerprintjs, die in staat is om browseridentificaties passief te genereren op basis van indirecte kenmerken zoals schermresolutie, WebGL-eigenschappen en lijsten van geïnstalleerde plugins en lettertypen, hebben een nieuwe identificatiemethode gepresenteerd. Deze is gebaseerd op de evaluatie van de typen applicaties die de gebruiker heeft geïnstalleerd en werkt door de ondersteuning van extra protocolhandlers in de browser te controleren. De scriptcode voor de implementatie van deze methode is gepubliceerd onder de MIT-licentie.

De controle gebeurt op basis van de analyse van de binding van handlers aan 32 populaire applicaties. Bijvoorbeeld, door de aanwezigheid van URL-handlers zoals telegram://, slack:// en skype:// in de browser vast te stellen, kan worden geconcludeerd dat de applicaties telegram, slack en skype aanwezig zijn op het systeem, en deze informatie kan worden gebruikt als kenmerk bij het genereren van de systeemidentificatie. Aangezien de lijst van handlers hetzelfde is voor alle browsers, verandert de identificatie niet bij het wisselen van browser en kan deze worden toegepast in Chrome, Firefox, Safari, Brave, Yandex Browser, Edge en zelfs in Tor Browser.

Deze methode maakt het mogelijk om 32-bits identificaties te genereren. Dit biedt op zichzelf niet veel precisie, maar kan zinvol zijn als aanvullend kenmerk in combinatie met andere parameters. Een groot nadeel van deze methode is de zichtbaarheid van de identificatiepoging voor de gebruiker - bij het genereren van de identificatie verschijnt er een klein, maar duidelijk zichtbaar venster in de rechteronderhoek van de voorgestelde demonstratiepagina, waarin de handlers gedurende enige tijd worden geprobeerd. Dit nadeel doet zich niet voor in Tor Browser, waar de identificatie onopgemerkt kan worden berekend.

Om te bepalen of een applicatie aanwezig is, probeert het script een link die verbonden is met een externe handler in een pop-upvenster te openen. Vervolgens geeft de browser een dialoogvenster weer met de vraag om de inhoud in de bijbehorende applicatie te openen, als de te controleren applicatie aanwezig is, of toont een foutpagina als de applicatie niet op het systeem aanwezig is. Door systematisch de typische externe handlers te proberen en de terugkomst van een fout te analyseren, kan worden geconcludeerd of de gecontroleerde programma’s op het systeem aanwezig zijn.

In Chrome 90 for Linux did not work and the browser produced a standard confirmation dialog for all attempts to check the handler (in Chrome for Windows and macOS the method works). In Firefox 88 for Linux, both in regular mode and in incognito mode, the script detected the presence of installed additional applications from the list, with identification accuracy rated at 99.87% (35 matches out of 26 thousand tests conducted). In the Tor Browser running on the same system, an identifier was generated that matched the test in Firefox.

Interestingly, the additional protection in the Tor Browser played a trick and became a way to carry out identification unnoticed by the user. Due to the disabling of confirmation dialogs for the use of external handlers in Tor Browser, it turned out that verification requests could be opened in an iframe rather than in a popup window (to distinguish between the presence and absence of handlers, the same-origin rules block access to error pages and allow access to about:blank pages). Due to flood protection, checking in the Tor Browser takes noticeably longer (10 seconds per application).

Bron: opennet.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers 🔥 Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster