Identificación mediante análise de manejadores de protocolos externos no navegador

Os desenvolvedores da biblioteca fingerprintjs, que permite xerar identificadores de navegador en modo pasivo en función de funcións indirectas como resolución de pantalla, funcións WebGL, listas de complementos e fontes instaladas, presentaron un novo método de identificación baseado nunha avaliación das aplicacións típicas instaladas. sobre o usuario e traballando a través da comprobación da compatibilidade nos controladores de protocolos adicionais do navegador. O código de script coa implementación do método publícase baixo a licenza MIT.

A comprobación realízase a partir dunha análise da vinculación dos manipuladores a 32 aplicacións populares. Por exemplo, determinando a presenza de controladores de esquemas de URL telegram://, slack:// e skype:// no navegador, pode concluír que o sistema ten aplicacións telegram, slack e skype e utilizar esta información como un sinal. ao xerar un identificador do sistema. Dado que a lista de controladores é a mesma para todos os navegadores do sistema, o identificador non cambia ao cambiar de navegador e pódese usar en Chrome, Firefox, Safari, Brave, Yandex Browser, Edge e incluso Tor Browser.

O método permítelle xerar identificadores de 32 bits, é dicir. individualmente non permite acadar unha gran precisión, pero ten sentido como unha característica adicional en combinación con outros parámetros. Unha desvantaxe notable do método é a visibilidade do intento de identificación para o usuario: ao xerar un identificador na páxina de demostración proposta, ábrese unha xanela pequena pero claramente visible na esquina inferior dereita na que os controladores se desprazan durante bastante tempo. Esta desvantaxe non aparece no navegador Tor, no que se pode calcular o identificador sen que se note.

Para determinar a presenza dunha aplicación, o script tenta abrir unha ligazón asociada a un controlador externo nunha ventá emerxente, despois do cal o navegador mostra un diálogo que lle solicita que abra o contido na aplicación asociada se a aplicación que se está a comprobar está presente ou mostra unha páxina de erro se a aplicación non está no sistema. A través dunha busca secuencial de controladores externos típicos e da análise dos retornos de erros, pódese concluír que o sistema contén os programas que se están a probar.

En Chrome 90 para Linux, o método non funcionou e o navegador mostrou un diálogo de confirmación de operación estándar para todos os intentos de comprobar o controlador (en Chrome para Windows e macOS o método funciona). En Firefox 88 para Linux, tanto en modo normal como en modo de incógnito, o script detectou a presenza de aplicacións adicionais instaladas da lista, e a precisión de identificación estimouse nun 99.87% (35 coincidencias similares de 26 mil probas realizadas). No navegador Tor que se executa no mesmo sistema, xerou un identificador que coincide coa proba en Firefox.

Curiosamente, a protección adicional do navegador Tor foi unha broma cruel e converteuse nunha oportunidade para realizar a identificación sen que o usuario advirte. Debido á desactivación dos diálogos de confirmación para o uso de controladores externos no navegador Tor, resultou que as solicitudes de verificación pódense abrir nun iframe e non nunha ventá emerxente (para separar a presenza e ausencia de controladores, as regras da mesma orixe). bloquear o acceso a páxinas con erros e permitir o acceso a sobre:páxinas en branco). Debido á protección contra inundacións, a verificación no navegador Tor leva notablemente máis tempo (10 segundos por aplicación).

Fonte: opennet.ru

Engadir un comentario