Identificación a través del análisis de los controladores externos del protocolo en el navegador

Los desarrolladores de la biblioteca fingerprintjs, que permite generar identificadores de navegador de manera pasiva en función de pistas indirectas, como la resolución de pantalla, características de WebGL, listas de complementos y fuentes instaladas, han presentado un nuevo método de identificación basado en la evaluación de las aplicaciones estándar instaladas en el usuario y que funciona a través de la verificación del soporte en el navegador de controladores adicionales de protocolo. El código del script con la implementación del método se ha publicado bajo la licencia MIT.

La verificación se realiza mediante el análisis de la vinculación de controladores a 32 aplicaciones populares. Por ejemplo, al identificar la presencia de controladores de esquemas de URL telegram://, slack:// y skype:// en el navegador, se puede concluir que las aplicaciones telegram, slack y skype están presentes en el sistema, y utilizar esta información como un indicativo al generar el identificador del sistema. Dado que la lista de controladores es idéntica para todos los navegadores en el sistema, el identificador no cambia al cambiar de navegador y puede aplicarse en Chrome, Firefox, Safari, Brave, Yandex Browser, Edge e incluso en Tor Browser.

El método permite generar identificadores de 32 bits, es decir, por separado no ofrece alta precisión, pero tiene sentido como un indicativo adicional en combinación con otros parámetros. Un inconveniente notable del método es la visibilidad del intento de identificación para el usuario: al generar el identificador en la página de demostración propuesta, aparece en la esquina inferior derecha una pequeña ventana, pero claramente visible, en la que los controladores se están probando durante un tiempo considerable. Este inconveniente no se manifiesta en Tor Browser, donde el identificador puede calcularse de manera invisible.

Para determinar la presencia de una aplicación, el script intenta abrir en una ventana emergente un enlace asociado con un controlador externo, tras lo cual el navegador muestra un diálogo ofreciendo abrir el contenido en la aplicación asociada, si la aplicación comprobada está presente, o presenta una página de error si la aplicación no está en el sistema. A través de una secuencia de prueba de controladores externos estándar y el análisis de la devolución de errores, se puede concluir sobre la presencia de los programas comprobados en el sistema.

En Chrome 90 para Linux, el método no funcionó y el navegador mostró un cuadro de diálogo típico de confirmación de operación para todos los intentos de verificar el controlador (en Chrome para Windows y macOS, el método funciona). En Firefox 88 para Linux, tanto en modo normal como en modo incógnito, el script detectó la presencia de aplicaciones adicionales instaladas de la lista, y la precisión de identificación se evaluó en 99.87% (35 coincidencias similares de 26,000 pruebas realizadas). En Tor Browser, ejecutado en el mismo sistema, se generó un identificador que coincidía con el test en Firefox.

Es interesante que la protección adicional en Tor Browser jugó una mala pasada y se convirtió en una posibilidad de realizar la identificación sin que el usuario lo notara. Debido a la desactivación de los cuadros de diálogo de confirmación de uso de controladores externos en Tor Browser, las solicitudes de verificación se pueden abrir en un iframe en lugar de en una ventana emergente (para distinguir entre la presencia y ausencia de controladores, se utiliza que las reglas same-origin bloquean el acceso a páginas con error y permiten el acceso a páginas about:blank). Debido a la protección contra el flooding, la verificación en Tor Browser lleva significativamente más tiempo (10 segundos por aplicación).

Fuente: opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster