Método de identificação do sistema do usuário com base nas informações da GPU

Pesquisadores da Universidade Ben-Gurion (Israel), da Universidade de Lille (França) e da Universidade de Adelaide (Austrália) desenvolveram uma nova técnica para identificar dispositivos de usuários, detectando parâmetros operacionais de GPU em um navegador da web. O método é denominado “Drawn Apart” e é baseado no uso de WebGL para obter um perfil de desempenho da GPU, o que pode melhorar significativamente a precisão dos métodos de rastreamento passivo que funcionam sem o uso de Cookies e sem armazenar um identificador no sistema do usuário.

Métodos que levam em consideração os recursos de renderização, GPU, pilha gráfica e drivers na identificação foram usados ​​​​anteriormente, mas eram limitados à capacidade de separar dispositivos apenas no nível de diferentes modelos de placas de vídeo e GPUs, ou seja, só poderia ser usado como um fator adicional para aumentar a probabilidade de identificação. A principal característica do novo método "Drawn Apart" é que ele não se limita a separar diferentes modelos de GPU, mas tenta identificar diferenças entre GPUs idênticas do mesmo modelo devido à heterogeneidade do processo de fabricação de chips projetados para operações massivamente paralelas. Informática. Observa-se que variações que surgem durante o processo de produção possibilitam a formação de moldes não repetitivos para os mesmos modelos de dispositivos.

Método de identificação do sistema do usuário com base nas informações da GPU

Descobriu-se que essas diferenças podem ser identificadas contando o número de unidades de execução e analisando seu desempenho na GPU. Verificações baseadas em um conjunto de funções trigonométricas, operações lógicas e cálculos de ponto flutuante foram usadas como primitivas para identificar diferentes modelos de GPU. Para identificar diferenças nas mesmas GPUs, foi estimado o número de threads em execução simultânea ao executar vertex shaders. Supõe-se que o efeito detectado seja causado por diferenças nas condições de temperatura e consumo de energia de diferentes instâncias de chips (anteriormente, um efeito semelhante foi demonstrado para CPUs - processadores idênticos apresentavam consumo de energia diferente ao executar o mesmo código).

Como as operações através do WebGL são executadas de forma assíncrona, a API JavaScript performance.now() não pode ser usada diretamente para medir o tempo de execução, portanto, três truques foram propostos para medir o tempo:

  • onscreen — renderizando a cena em uma tela HTML, medindo o tempo de resposta da função de retorno de chamada, definida por meio da API Window.requestAnimationFrame e chamada após a conclusão da renderização.
  • offscreen - usando um trabalhador e renderizando a cena em um objeto OffscreenCanvas, medindo o tempo de execução do comando convertToBlob.
  • GPU - Desenhe para um objeto OffscreenCanvas, mas use um temporizador fornecido pelo WebGL para medir o tempo que leva em consideração a duração de um conjunto de comandos no lado da GPU.

Durante o processo de criação do ID, são realizados 50 testes em cada dispositivo, cada um abrangendo 176 medições de 16 características diferentes. Um experimento que coletou informações sobre 2500 dispositivos com 1605 GPUs diferentes mostrou um aumento de 67% na eficiência dos métodos de identificação combinados ao adicionar suporte Drawn Apart. Em particular, o método combinado FP-STALKER proporcionou a identificação em média em 17.5 dias e, quando combinado com Drawn Apart, a duração da identificação aumentou para 28 dias.

Método de identificação do sistema do usuário com base nas informações da GPU

  • A precisão de separação de 10 sistemas com chips Intel i5-3470 (GEN 3 Ivy Bridge) e GPU Intel HD Graphics 2500 no teste na tela foi de 93% e no teste fora da tela foi de 36.3%.
  • Para 10 sistemas Intel i5-10500 (GEN 10 Comet Lake) com placa de vídeo NVIDIA GTX1650, a precisão foi de 70% e 95.8%.
  • Para 15 sistemas Intel i5-8500 (GEN 8 Coffee Lake) com GPU Intel UHD Graphics 630 - 42% e 55%.
  • Para 23 sistemas Intel i5-4590 (GEN 4 Haswell) com GPU Intel HD Graphics 4600 – 32.7% e 63.7%.
  • Para seis smartphones Samsung Galaxy S20/S20 Ultra com GPU Mali-G77 MP11, a precisão de identificação no teste na tela foi de 92.7%, e para smartphones Samsung Galaxy S9/S9+ com Mali-G72 MP18 foi de 54.3%.

Método de identificação do sistema do usuário com base nas informações da GPU

Observa-se que a precisão foi afetada pela temperatura da GPU e, para alguns dispositivos, a reinicialização do sistema levou a uma distorção do identificador. Ao usar o método em combinação com outros métodos de identificação indireta, a precisão pode ser significativamente aumentada. Eles também planejam aumentar a precisão através do uso de shaders de computação após a estabilização da nova API WebGPU.

Intel, ARM, Google, Khronos, Mozilla e Brave foram notificados do problema em 2020, mas detalhes do método só agora foram revelados. Os pesquisadores também publicaram exemplos de trabalho escritos em JavaScript e GLSL que podem funcionar com e sem exibição de informações na tela. Além disso, para sistemas baseados em GPU Intel GEN 3/4/8/10, foram publicados conjuntos de dados para classificação de informações extraídas em sistemas de aprendizado de máquina.

Fonte: opennet.ru

Adicionar um comentário