Método de identificación do sistema do usuario baseado na información da GPU

Investigadores da Universidade Ben-Gurion (Israel), da Universidade de Lille (Francia) e da Universidade de Adelaida (Australia) desenvolveron unha nova técnica para identificar os dispositivos dos usuarios mediante a detección de parámetros de funcionamento da GPU nun navegador web. O método chámase "Drawn Apart" e baséase no uso de WebGL para obter un perfil de rendemento da GPU, o que pode mellorar significativamente a precisión dos métodos de seguimento pasivo que funcionan sen o uso de Cookies e sen almacenar un identificador no sistema do usuario.

Os métodos que teñen en conta as características de renderizado, GPU, pila de gráficos e controladores ao identificar utilizáronse anteriormente, pero limitáronse á posibilidade de separar dispositivos só a nivel de diferentes modelos de tarxetas de vídeo e GPU, é dicir. só podería utilizarse como un factor adicional para aumentar a probabilidade de identificación. A característica fundamental do novo método "Drawn Apart" é que non se limita a separar diferentes modelos de GPU, senón que trata de identificar diferenzas entre GPU idénticas do mesmo modelo debido á heteroxeneidade do proceso de fabricación de chips deseñados para realizar un proceso paralelo masivo. informática. Nótase que as variacións que se producen durante o proceso de produción permiten formar moldes non repetitivos para os mesmos modelos de dispositivos.

Método de identificación do sistema do usuario baseado na información da GPU

Resultou que estas diferenzas pódense identificar contando o número de unidades de execución e analizando o seu rendemento na GPU. Comprobacións baseadas nun conxunto de funcións trigonométricas, operacións lóxicas e cálculos de coma flotante utilizáronse como primitivas para identificar diferentes modelos de GPU. Para identificar diferenzas nas mesmas GPU, avaliouse o número de fíos que se executan simultaneamente ao executar sombreadores de vértices. Suponse que o efecto detectado é causado polas diferenzas nas condicións de temperatura e o consumo de enerxía de diferentes instancias de chips (anteriormente, demostrouse un efecto similar para as CPU: procesadores idénticos mostraban un consumo de enerxía diferente ao executar o mesmo código).

Dado que as operacións a través de WebGL realízanse de forma asíncrona, a API de JavaScript performance.now() non se pode usar directamente para medir o seu tempo de execución, polo que propuxéronse tres trucos para medir o tempo:

  • en pantalla: renderizando a escena nun lenzo HTML, medindo o tempo de resposta da función de devolución de chamada, definida a través da API Window.requestAnimationFrame e chamada despois de que se complete a renderización.
  • offscreen - usando un traballador e renderizando a escena nun obxecto OffscreenCanvas, medindo o tempo de execución do comando convertToBlob.
  • GPU: debuxa un obxecto OffscreenCanvas, pero usa un temporizador proporcionado por WebGL para medir o tempo que teña en conta a duración dun conxunto de comandos no lado da GPU.

Durante o proceso de creación de ID realízanse 50 probas en cada dispositivo, que abarcan cada unha 176 medicións de 16 características diferentes. Un experimento que recompilou información en 2500 dispositivos con 1605 GPU diferentes mostrou un aumento do 67% na eficiencia dos métodos de identificación combinados ao engadir compatibilidade con Drawn Apart. En particular, o método combinado FP-STALKER proporcionou a identificación nun prazo medio de 17.5 días, e cando se combinou con Drawn Apart, a duración da identificación aumentou a 28 días.

Método de identificación do sistema do usuario baseado na información da GPU

  • A precisión de separación de 10 sistemas con chips Intel i5-3470 (GEN 3 Ivy Bridge) e GPU Intel HD Graphics 2500 na proba en pantalla foi do 93 %, e na proba fóra da pantalla foi do 36.3 %.
  • Para 10 sistemas Intel i5-10500 (GEN 10 Comet Lake) cunha tarxeta de vídeo NVIDIA GTX1650, a precisión foi do 70 % e do 95.8 %.
  • Para 15 sistemas Intel i5-8500 (GEN 8 Coffee Lake) con GPU Intel UHD Graphics 630 - 42% e 55%.
  • Para 23 sistemas Intel i5-4590 (GEN 4 Haswell) con GPU Intel HD Graphics 4600: 32.7% e 63.7%.
  • Para seis teléfonos intelixentes Samsung Galaxy S20/S20 Ultra con GPU Mali-G77 MP11, a precisión de identificación na proba en pantalla foi do 92.7 %, e para os teléfonos intelixentes Samsung Galaxy S9/S9+ con Mali-G72 MP18 foi do 54.3 %.

Método de identificación do sistema do usuario baseado na información da GPU

Nótase que a precisión viuse afectada pola temperatura da GPU e, para algúns dispositivos, o reinicio do sistema provocou unha distorsión do identificador. Cando se utiliza o método en combinación con outros métodos de identificación indirectos, a precisión pódese aumentar significativamente. Tamén planean aumentar a precisión mediante o uso de sombreadores informáticos despois da estabilización da nova API WebGPU.

Intel, ARM, Google, Khronos, Mozilla e Brave foron notificados do problema en 2020, pero os detalles do método só se están a revelar agora. Os investigadores tamén publicaron exemplos de traballo escritos en JavaScript e GLSL que poden funcionar con e sen mostrar información na pantalla. Ademais, para os sistemas baseados en GPU Intel GEN 3/4/8/10, publicáronse conxuntos de datos para clasificar a información extraída en sistemas de aprendizaxe automática.

Fonte: opennet.ru

Engadir un comentario