Método de identificación del sistema de usuario basado en información de GPU

Investigadores de la Universidad Ben-Gurion (Israel), la Universidad de Lille (Francia) y la Universidad de Adelaida (Australia) han desarrollado una nueva técnica para identificar los dispositivos de los usuarios mediante la detección de los parámetros operativos de la GPU en un navegador web. El método se llama "Drawn Apart" y se basa en el uso de WebGL para obtener un perfil de rendimiento de GPU, lo que puede mejorar significativamente la precisión de los métodos de seguimiento pasivo que funcionan sin el uso de cookies y sin almacenar un identificador en el sistema del usuario.

Anteriormente se usaban métodos que tienen en cuenta las características de renderizado, GPU, pila de gráficos y controladores al identificarlos, pero se limitaban a la capacidad de separar dispositivos solo al nivel de diferentes modelos de tarjetas de video y GPU, es decir, sólo podría utilizarse como un factor adicional para aumentar la probabilidad de identificación. La característica clave del nuevo método "Drawn Apart" es que no se limita a separar diferentes modelos de GPU, sino que intenta identificar diferencias entre GPU idénticas del mismo modelo debido a la heterogeneidad del proceso de fabricación de los chips diseñados para el paralelo masivo. informática. Cabe señalar que las variaciones que surgen durante el proceso de producción permiten formar impresiones no repetidas para los mismos modelos de dispositivos.

Método de identificación del sistema de usuario basado en información de GPU

Resultó que estas diferencias se pueden identificar contando el número de unidades de ejecución y analizando su rendimiento en la GPU. Se utilizaron comprobaciones basadas en un conjunto de funciones trigonométricas, operaciones lógicas y cálculos de punto flotante como primitivos para identificar diferentes modelos de GPU. Para identificar diferencias en las mismas GPU, se estimó la cantidad de subprocesos que se ejecutan simultáneamente al ejecutar sombreadores de vértices. Se supone que el efecto detectado es causado por diferencias en las condiciones de temperatura y consumo de energía de diferentes instancias de chips (anteriormente, se demostró un efecto similar para las CPU: procesadores idénticos mostraron un consumo de energía diferente al ejecutar el mismo código).

Debido a que las operaciones a través de WebGL se realizan de forma asincrónica, la API de JavaScript performance.now() no se puede utilizar directamente para medir su tiempo de ejecución, por lo que se han propuesto tres trucos para medir el tiempo:

  • en pantalla: representa la escena en un lienzo HTML, mide el tiempo de respuesta de la función de devolución de llamada, se configura a través de la API Window.requestAnimationFrame y se llama después de que se completa la representación.
  • offscreen: utiliza un trabajador y representa la escena en un objeto OffscreenCanvas, midiendo el tiempo de ejecución del comando convertToBlob.
  • GPU: dibuje en un objeto OffscreenCanvas, pero use un temporizador proporcionado por WebGL para medir el tiempo que tiene en cuenta la duración de un conjunto de comandos en el lado de la GPU.

Durante el proceso de creación de la identificación, se realizan 50 pruebas en cada dispositivo, cada una de las cuales cubre 176 mediciones de 16 características diferentes. Un experimento que recopiló información en 2500 dispositivos con 1605 GPU diferentes mostró un aumento del 67% en la eficiencia de los métodos de identificación combinados al agregar soporte Drawn Apart. En particular, el método combinado FP-STALKER proporcionó identificación en un promedio de 17.5 días, y cuando se combinó con Drawn Apart, la duración de la identificación aumentó a 28 días.

Método de identificación del sistema de usuario basado en información de GPU

  • La precisión de separación de 10 sistemas con chips Intel i5-3470 (GEN 3 Ivy Bridge) y GPU Intel HD Graphics 2500 en la prueba en pantalla fue del 93% y en la prueba fuera de pantalla fue del 36.3%.
  • Para 10 sistemas Intel i5-10500 (GEN 10 Comet Lake) con una tarjeta de video NVIDIA GTX1650, la precisión fue del 70 % y del 95.8 %.
  • Para 15 sistemas Intel i5-8500 (GEN 8 Coffee Lake) con GPU Intel UHD Graphics 630: 42 % y 55 %.
  • Para 23 sistemas Intel i5-4590 (GEN 4 Haswell) con GPU Intel HD Graphics 4600: 32.7 % y 63.7 %.
  • Para seis smartphones Samsung Galaxy S20/S20 Ultra con GPU Mali-G77 MP11, la precisión de identificación en la prueba en pantalla fue del 92.7%, y para los smartphones Samsung Galaxy S9/S9+ con Mali-G72 MP18 fue del 54.3%.

Método de identificación del sistema de usuario basado en información de GPU

Se observa que la precisión se vio afectada por la temperatura de la GPU y, en algunos dispositivos, reiniciar el sistema provocó una distorsión del identificador. Cuando se utiliza el método en combinación con otros métodos de identificación indirecta, la precisión puede aumentar significativamente. También planean aumentar la precisión mediante el uso de sombreadores informáticos después de la estabilización de la nueva API WebGPU.

Intel, ARM, Google, Khronos, Mozilla y Brave fueron notificados del problema en 2020, pero recién ahora se están revelando detalles del método. Los investigadores también publicaron ejemplos de trabajo escritos en JavaScript y GLSL que pueden funcionar con y sin mostrar información en la pantalla. Además, para sistemas basados ​​en GPU Intel GEN 3/4/8/10, se han publicado conjuntos de datos para clasificar la información extraída en sistemas de aprendizaje automático.

Fuente: opennet.ru

Añadir un comentario