Drawn Apart,一种基于 GPU 的用户识别方法

几天前 有消息称研究人员 来自本古里安大学(以色列)、里尔大学(法国)和阿德莱德大学(澳大利亚) 开发了一种新技术来识别设备 通过在 Web 浏览器中检测 GPU 参数来吸引用户。

该方法称为 “Drawn Apart”,基于 WebGL 的使用 获得 GPU 性能配置文件,这可以显着提高被动跟踪方法的准确性,这些方法无需使用 cookie 且无需在用户系统上存储标识符。

那些方法 考虑渲染特性、GPU、图形堆栈和驱动程序 在识别它们时,它们以前被使用过,但它们仅限于仅在不同型号的显卡和 GPU 级别上分离设备的可能性,即它只能用作增加识别概率的附加因素。

主要特点 新的“Drawn Apart”方法 就是不局限于分离不同型号的GPU但是 尝试识别相同 GPU 之间的差异 由于设计芯片的生产过程存在异质性,因此型号相同。

还提到了在生产过程中观察到的变化,以便为相同的设备模型形成非重复模具。

事实证明,这些差异可以通过计算执行单元的数量并分析它们在 GPU 上的性能来识别。 作为识别不同 GPU 模型的原语,使用了基于一组三角函数、逻辑运算和浮点计算的检查。 为了识别同一 GPU 上的差异,估计了运行顶点着色器时同时运行的线程数。

假设显示的效果是由不同芯片实例的温度状况和功耗差异引起的(之前对 CPU 演示了类似的效果:相同的处理器在运行相同的处理器时表现出不同的功耗。代码)。

由于通过 WebGL 的操作是异步的,所以不能直接使用 performance.now() JavaScript API 来测量它们的执行时间,因此提出了三个技巧来测量时间:

  • 在屏幕上: 在 HTML 画布上渲染场景,并通过 Window.requestAnimationFrame API 公开并在渲染完成后调用回调函数的响应时间测量。
  • 离屏: 使用 worker 并通过测量 convertToBlob 命令的执行时间将场景渲染到 OffscreenCanvas 对象。
  • GPU: 渲染到 OffscreenCanvas 对象,但使用 WebGL 提供的计时器来测量时间,同时考虑到 GPU 端执行一组命令的持续时间。

在创建标识符的过程中 在每台设备上执行 50 次检查,每一个都涵盖了 176 种不同特征的 16 次测量。 实验期间, 在具有 2500 个不同 GPU 的 1605 台设备上收集的数据显示效率提高了 67% 通过向它们添加 Draw Apart 支持来组合识别方法。

特别是,FP-STALKER 组合方法平均在 17,5 天内提供识别,而与 Drawn Apart 组合,识别持续时间增加到 28 天。

观察到精度受GPU温度的影响 并且,对于某些设备,重新启动系统会导致标识符失真。 当该方法与其他方法结合使用时 间接识别, 精度可以显着提高。 在新的 WebGPU API 稳定后,还计划通过使用计算着色器来提高准确性。

英特尔、ARM、谷歌、Khronos、Mozilla 和 Brave 早在 2020 年就收到了该问题的通知,但该方法的细节才刚刚被披露。

除其他外,研究人员发布了用 JavaScript 和 GLSL 编写的工作示例,这些示例可以在屏幕上显示或不显示信息的情况下工作。 此外,对于基于英特尔 GEN 3/4/8/10 GPU 的系统,已发布数据集以对机器学习系统中提取的信息进行分类。

最后 如果您有兴趣了解更多有关它的信息,您可以在中查看详细信息 以下链接。


发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责资料:AB Internet Networks 2008 SL
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。