来自以色列、澳大利亚和法国大学的研究人员发现了一种完全基于 GPU 指纹识别的设备识别技术。
计算世界中的指纹识别是指设备或用户的识别。它可以单独使用,也可以与其他跟踪技术结合使用。
指纹尝试可以使用从用户设备检索到的一个或多个因素来在线跟踪用户。当用户使用现代网络浏览器连接到网站时,至少有一些数据会自动显示,而其他数据可能会使用在网站本身上运行的脚本来检索。
连接到站点可能会显示有关操作系统、屏幕大小或设备上使用的语言的信息。其中一些因素可能会改变,例如浏览器窗口的大小,而其他因素可能不会。
一些 Web 浏览器,例如Firefox或 Brave,包括反指纹选项,但这些仅针对常见形式,而不是可能用于该目的的所有方法。
研究人员发现的 GPU 指纹识别技术仅依赖于图形处理单元。根据研究论文,该技术可用于将其他指纹识别方法的跟踪时间延长多达 67% 。
从这个角度来看:研究人员的平均跟踪时间在 17 到 18 天之间。研究人员发现的 GPU 指纹识别方法将其延长到 25.5 到 30 天;显着增加。
研究人员使用该技术在 2500 个独特的设备上进行了实验。他们开发了两种方法,都使用了所有现代网络浏览器都支持的网络图形库 (WebGL)。
研究人员在研究论文中描述了他们称之为 DRAWNAPART 的技术是如何工作的:
通过对 GPU 堆栈进行指纹识别,DRAWNAPART 可以区分具有名义上相同配置的设备,无论是在实验室还是在野外。简而言之,为了创建指纹,DRAWNAPART 生成一系列渲染任务,每个任务针对不同的 EU。它对每个渲染任务进行计时,创建指纹跟踪。该跟踪由深度学习网络转换为一个嵌入向量,该向量简洁地描述它并将
对手指向生成它的特定设备。[..] 通过使用由 GPU 执行的简短 GLSL 程序作为顶点着色器的一部分(参见第 II-B 节)。我们依靠 WebGL 软件堆栈中最可预测的作业分配来针对特定的 EU。我们观察到,当分配一组并行的顶点着色器任务时,WebGL 堆栈倾向于以非随机方式将任务分配给不同的 EU。这使我们能够发出针对相同 EU 的多个命令。
最后,我们不是测量特定任务,而是确保目标 EU 的执行时间支配整个管道的执行时间。我们通过为非目标 EU 分配一个快速完成的顶点着色程序来做到这一点,同时分配执行时间对各个 EU 之间的差异高度敏感的目标 EU 任务。一个
已创建屏幕上和屏幕外方法来解决不同的用例。屏幕上的方法更快但需要更多的资源,屏幕外的方法需要更长的时间才能提供结果,但它对资源更友好。
研究人员指出,对策可能会阻止使用该方法成功创建指纹。Tor 浏览器的“最小能力模式”阻止了攻击默认依赖的 API 的使用。WebGL 也可能在其他浏览器中被禁用以防止攻击,但代价是潜在的可用性或可访问性问题。脚本阻止可能是有效的,但前提是脚本默认被阻止并由用户手动允许。
原创文章,作者:校长,如若转载,请注明出处:https://www.yundongfang.com/Yun123206.html