WebGPU(Web Graphics Processing Unit,网络图形处理器)是在浏览器中渲染图形并在 GPU 上执行计算的最新技术,它使开发人员能够使用硬件加速来实现 3D 图形和高性能计算。WebGPU 比以前的技术(如 WebGL)向前迈进了一大步,因为它开放了对底层 API 的访问,从而能够创建复杂的图形场景并高效执行密集计算。凭借这些功能,WebGPU 在反欺诈系统中也找到了自己的位置,它可以帮助追踪设备的独特特征以识别用户。 ##### WebGPU 的历史和目的 WebGPU 由 W3C 联盟开发,旨在满足网络应用程序更好地使用 GPU 功能的愿望。该标准是作为 WebGL 和 OpenGL 的一种性能更强、更现代的替代方案提出的,它允许通过浏览器使用 Vulkan、Direct3D 12 和 Metal 等现代图形 API 的功能。WebGPU 大大简化了与硬件加速渲染和计算任务的集成,使其不仅适用于视觉效果、游戏和科学计算,还适用于反欺诈系统(设备的数字指纹有助于识别)。 ##### WebGPU 技术能力 WebGPU 为开发人员提供了以下主要功能: - 低级访问 GPU:** WebGPU 允许您直接使用 GPU 的处理能力,提供高性能并控制图形计算。 - 支持 3D 和 2D 图形:** WebGPU 能够创建简单和复杂的 3D 模型和场景,因此适用于资源密集型任务。 - 着色器和计算任务:** WebGPU 可以使用自定义着色器来创建独特的纹理和逼真的视觉效果,还可以直接在 GPU 上执行复杂的计算。 这些功能使 WebGPU 成为从事图形密集型和计算密集型应用的网络开发人员以及构建反欺诈系统的专业人员的强大工具。 ##### WebGPU 在反欺诈系统中的应用:欺诈保护 WebGPU 在反欺诈系统中的应用之一是为设备创建独特的图形指纹。该指纹考虑了设备硬件和驱动程序处理图形和计算任务的方式。与 Canvas 和 WebGL 不同,WebGPU 提供了额外的跟踪参数,如可用 GPU 计算核心的数量、支持的扩展和精确的着色器处理特性,从而使反欺诈系统能够为每台设备创建独一无二的数字签名。 ##### WebGPU 如何帮助识别用户? 根据硬件、GPU 和驱动程序配置的不同,使用 WebGPU 渲染图形和执行计算在不同设备上可能会有不同的表现。这些差异体现在计算性能、渲染质量、对不同扩展和着色器的支持上。这些差异可用于创建难以伪造的唯一设备指纹。 影响 WebGPU 指纹独特性的关键因素包括 - GPU 模型和架构:** 不同的 GPU 模型以不同的速度和精度处理计算。 - 扩展和着色器支持:** 不同设备的可用扩展集和着色器执行规范各不相同。 - 浏览器和驱动程序配置:** 浏览器配置和驱动程序版本的具体情况也会影响着色器的执行和计算结果。 这些功能允许反欺诈系统创建准确的指纹,以唯一识别设备并检测数据欺骗企图。 ##### WebGPU 指纹欺骗技术 攻击者还试图使用各种欺骗方法来规避 WebGPU 指纹。最常见的方法包括 - 修改着色器结果:为了欺骗指纹,攻击者可以通过添加噪音或改变纹理来干扰着色器,从而改变最终图像并隐藏设备特征。 - 预先录制的数据注入:这种技术是利用其他设备预先录制的指纹来欺骗 WebGPU 结果。欺诈者可以利用这些数据模仿其他设备的性能,绕过反欺诈系统。 ##### 反欺诈系统如何检测 WebGPU 指纹欺骗? 反欺诈系统使用多种方法来检测WebGPU指纹欺骗。主要包括 - 分析计算和图形渲染结果:系统可以生成多个测试,并对测试结果进行比较,以识别异常值。例如,性能和渲染细节的细微差别可能表明使用了虚假数据。 - 动态着色器性能比较:通过使用动态着色器,系统可以迫使设备实时执行独特的任务。这样就很难伪造指纹,因为攻击者很难在没有明显延迟的情况下复制真实设备的行为。 因此,通过使用 WebGPU,反欺诈系统可以通过更深入地分析设备特征及其渲染和计算行为来识别可疑活动,从而使指纹伪造更具挑战性。 #### WebGPU 指纹 让我们举例说明使用 WebGPU API 可以从浏览器中获取哪些数据。让我们访问 browserleaks.com/webgpu 页面 第一部分:适配器信息  第二部分:适配器限制信息  第三部分:适配器支持的功能  第四部分:支持的纹理格式  第五部分:支持的 WGSL(WebGPU 着色语言)语言功能。  第六部分:附加适配器信息(首选 bgra8unorm 格式、alpha 通道模式、色调映射模式)。  让我们在电脑的 Chrome 浏览器中打开 test-webapi.tech/webgpufull,在测试页面上验证这些信息   在这一页,我们可以看到系统可以使用的适配器:高性能适配器、节能适配器、待机适配器。 格式支持 "部分同样重要,让我们来看看台式设备和移动设备支持哪些格式吧  只需检查支持的格式,就能非常准确地判断设备是移动电话还是台式机。 同样重要的是要认识到,用户经常会在租用的服务器上运行反检测浏览器,但却没有视频适配器,并试图将反检测浏览器作为移动设备浏览器来显示。在这种情况下,此类测试可确定用户没有 GPU 适配器,而真正的移动设备则会显示预期结果:  GPU 功能的作用较小,但有助于识别用户。其值取决于视频适配器和浏览器设置。从下面的示例中可以看出,不同设备上的特征值有所不同。  ##### WebGPU 性能足迹 让我们来看一个简单的例子,说明反欺诈系统如何利用 WebGPU 性能指纹识别用户 让我们在电脑的 Chrome 浏览器中打开测试页面 https://test-webapi.tech/webgpuperf  本页显示使用 WebGL 和 WebGPU 这两个应用程序接口获取的显卡信息,以及 GPU 适配器性能的两项测试结果。第一个测试显示适配器初始化时间和渲染时间。第二个测试与第一个测试不同,我们同时在适配器上添加了额外的负载。 让我们在其他设备上重复这项测试:    让我们将此性能足迹与 Anti-Detect 浏览器的性能足迹进行比较:  反检测浏览器测试显示的结果达到了高性能显卡的水平,尽管该设备声称使用的是英特尔适配器。这是因为反检测浏览器是在配备 Nvidia 显卡的电脑上运行的。 让我们检查一下不同移动设备上的性能:   根据我在不同设备上进行的测试结果,可以得出一些有趣的结论。在配备低端 GPU 的 PC 上,渲染速度往往比现代移动设备更快,这证明了硬件在性能方面的重要作用。同时,Radeon 显卡与 Nvidia 显卡在高负载测试中的表现也不尽相同,这凸显了驱动程序架构和优化方面的差异。不过,值得注意的是,测试结果很大程度上取决于浏览器版本和测试期间的并发负载。 一个奇怪的现象是,现代移动设备的适配器初始化时间在大多数情况下都比 PC 短。在我们的测试中,我们的目标是涵盖关键性能特征,以提供无偏见的比较。为了更好地区分不同适配器类型的渲染时间,我们随后还进行了其他测试,以更好地区分高性能和低性能适配器以及移动设备。这些数据在定制反欺诈系统时发挥着重要作用,有助于更好地考虑每个平台的特殊性。 ##### 结论 在本文中,我们了解了使用 WebGPU 技术的反欺诈系统如何识别用户和检测欺诈流量。总之,在反欺诈系统中使用 WebGPU 技术代表着在线欺诈保护领域向前迈出的重要一步。由于其高性能和高准确性,该技术可以有效识别用户并准确检测欺诈流量。对 WebGPU 和 WebGL 数据的比较表明,WebGPU 在识别设备类型、浏览器类型和欺骗企图方面具有优势,是网络安全不可或缺的工具。随着网络威胁的增加,进一步开发此类解决方案可以大大提高打击网络欺诈的效率。 在下一篇文章中,我们将继续分析反欺诈系统中使用的浏览器技术。 _Bannykh M.V._