WebAssembly 指纹识别对抗反检测浏览器:为什么 WASM 可能改变游戏规则


05.09.26

Canvas、WebGL、WebRTC、AudioContext、User-Agent——多年来,反欺诈系统和反检测浏览器开发者一直在围绕这些参数展开竞争。用户试图伪装成正常设备,反检测系统则匹配网站可见的特征,反欺诈系统寻找其中的差异。如今,这场竞争又有了新的战场,对于反检测系统而言,这可能更加棘手:WebAssembly 指纹识别。

问题不仅仅在于配置文件中添加了另一个参数。WASM 允许你更深入地了解特定设备上实际代码执行的特征,这从根本上改变了任务本身。现代反检测工具——Multilogin、AdsPower、Dolphin Anti、Octo Browser、GoLogin、Kameleo、Incogniton、Linken Sphere——已经能够可靠地使用大量经典的指纹参数。但独立研究表明,即使是高级产品也会因为各种不一致之处、浏览器篡改痕迹和其他信号而暴露自身。WebAssembly 又增加了一层风险。

什么是 WebAssembly?为什么它在反欺诈领域如此重要?

WebAssembly(简称WASM)是一种用于在浏览器中执行代码的底层二进制指令格式。它的主要优势在于高性能以及能够编译来自C/C++和其他语言的代码。简而言之,JavaScript运行在相当高的抽象层次上,而WebAssembly执行的计算任务则更接近于原生代码。这正是指纹识别技术真正有趣的地方。传统的指纹识别通常会问浏览器:“你想告诉我关于你自己的什么信息?”而WASM允许你添加第二个问题:“你是如何实际执行计算的?”——而且伪造答案要困难得多。

Vektor T13 演示程序使用了一个简洁的单页 WebAssembly 指纹检测器——代码仅 447 行。它基于 JavaScript 和 WebAssembly 的组合构建:JS 调用 WASM 函数,WebAssembly 回调 JavaScript,如此往复循环。最终形成了一种计算上的“乒乓”式交互——JavaScript → WASM → JavaScript → WASM——这些操作的性能特征会生成一组测量值,设备标识符便由此得出;在演示的实现中,设备标识符采用 SHA-256 格式。

为什么 User-Agent 在这里几乎毫无用处

我们来看反检测配置文件。在浏览器设置层面,它报告:Windows 系统、所需的 Chrome 版本、特定硬件。用户代理与配置文件匹配,Canvas 看起来合理,WebGL 也正常,WebRTC 已配置,其他一切似乎都没问题。但是,当网站运行计算测试时,如果代码执行特征与声明的环境存在统计上的不一致,就会生成一个完全不同的信号类别。

因此,在应用于此类分析时,Vektor T13 认为标准的 User-Agent 替换技术实际上已经过时。反欺诈软件不再需要信任浏览器的描述——它可以直接测量浏览器的行为。这才是问题的根本所在。

最糟糕的是:WASM 指纹可能取决于实际硬件。

本次网络研讨会着重强调了结果对硬件资源的依赖性:尽管代码运行在浏览器内部,但其计算特性取决于浏览器实际运行的环境。这使得构建分类器成为可能,从而区分真实PC、虚拟机、虚拟专用服务器/虚拟专用服务器以及服务器硬件。Vektor T13 特别关注服务器CPU:它们的计算特性有望将服务器基础设施与普通用户计算机区分开来。

重要的是不要过分夸大这种方法的作用。这并非意味着 WebAssembly 会向 JavaScript 发出类似 `getRealCPUModel()` 的命令。关键在于其他方面:它收集的是间接的计算特征,然后将这些特征与已知环境的累积数据进行统计比较。反欺诈工具积累的数据越多,这种方法就越有效。

为什么这对虚拟机来说尤其令人恼火

虚拟化技术长期以来一直用于隔离环境,但这种新方法引入了一个限制:虚拟机不仅要复制真实计算机的特性,还要在计算过程中表现得与真实计算机类似。演示声称 WASM 测试可以检测到虚拟化环境的迹象。然而,Vektor T13 本身也提出了一个重要的警告:虚拟机检测并非必然结果——它明确指出,它可以通过向浏览器分配大量资源来影响检测结果。因此,这其中并没有什么神奇之处:WASM 指纹识别并不能保证检测到任何虚拟机。它是一种全新的、信息量丰富的信号,可以与其他指标结合使用——而正是这种形式使其在反欺诈领域具有特别重要的意义。

这对 Multilogin、AdsPower、Octo 等公司意味着什么?

这正是业界主要问题的根源所在。长期以来,反检测方法之间的竞争并非在于接口切换的数量,而在于指纹匹配的质量:现代产品能够控制数十个参数,从 Canvas 和 WebGL/WebGPU 到 AudioContext 和硬件特性,无所不包。但 WASM 提出了一个不同的问题:是否有可能强制执行真实代码以匹配浏览器配置文件的合成身份?而答案可能因架构而异。

Multilogin历来被认为是同类产品中技术最先进的产品之一——它使用自主研发的浏览器引擎。然而,即使对Chromium或Firefox进行深度修改,也无法解决硬件依赖性测量的问题。如果某个配置文件由一个环境声明,但WASM基准测试始终显示另一个环境的特征,那么反欺诈解决方案就会收到额外的一致性信号。此时,任务就从“正确替换指纹”转变为“正确复现与该指纹对应的设备的计算行为”——这显然是一项难度更高的任务。

基于 Chromium 的产品(例如 AdsPower、Dolphin Anti、Octo Browser、GoLogin、Incogniton 和 Kameleo)也遵循同样的逻辑。您可以修改 Canvas、调整 WebGL 并设置硬件并发性,但如果环境的实际行为与声明的配置文件相冲突,反欺诈解决方案就有理由提高风险评分。而且,WASM 测试越多,这项任务就越困难。这些并非空穴来风:一项针对 2026 年反检测工具的独立研究已经利用原型完整性和全局范围等组合检测到了 AdsPower 和几款竞争对手的产品;学术研究 Browser Polygraph 也单独测试了修改后的浏览器(例如 Linken Sphere、Incogniton、GoLogin、Octo Browser、AdsPower 等),所有这些测试均未使用 WASM。WebAssembly 只是进一步扩展了可用特征集。问题不在于某个特定的反检测工具“不好”,而在于架构层面,它影响着整个类别。

为什么一次WASM测试不能排除抗药性

这是一个至关重要的注意事项。仅仅运行基准测试并得到“WASM 执行时间为 137 毫秒”并不能说明什么。性能取决于诸多因素:CPU 负载、功耗、温度、后台进程、浏览器调度器、分配的资源数量以及其他数十种因素。衡量一种方法的真正实力,并非来自单一的数字,而是来自一系列不同的测试、重复测量、统计归一化以及大量的参考设备。

这正是 Vektor T13 强调积累大量统计数据的重要性所在。网络研讨会声称其用户识别错误率低于 1%,但这应被视为所介绍的特定方法的结果,而非任何 WASM 指纹识别技术在任何网站上都具有的普遍准确性。二者之间的区别至关重要。

JavaScript 和 WASM 作为新的熵源

测量WASM性能之外的其他指标这一想法尤其引人入胜。在演示中,两种环境之间的边界不断被跨越——JS → WASM → JS → WASM——每次转换都会引入新的执行特征。我们可以测量不同类型的操作、迭代次数、上下文转换所需时间、计算特性以及结果的稳定性。与单一参数不同,我们得到的是一个完整的特征向量——通常为F = {t1, t2, t3, … tn}——经过归一化后,该向量可以与已知的设备或硬件类别进行比较。因此,一个有前景的WASM指纹并非仅仅是另一个Canvas哈希值,而是计算环境的行为指纹。

从 Canvas 指纹识别到计算指纹识别

这或许是主要的转变。第一代指纹识别技术关注的是:浏览器报告了什么?下一代则关注的是:浏览器绘制了什么?Canvas 和 WebGL 成为衡量图形堆栈输出的一种方式;WebGPU 则更进一步,直指 GPU。WASM 让我们能够提出这样的问题:设备是如何计算的?这与计算指纹识别的理念更为接近。在这样的世界里,反检测技术仅仅替换 navigator.userAgent、navigator.hardwareConcurrency、WebGLRenderer、Canvas、AudioContext 以及其他十几个 API 是不够的——所有这些值都必须与观察到的系统行为在物理上保持一致。

更高层次的一致性检查

假设有这样一个配置:Windows 11 系统、Chrome 浏览器、Intel Core i5 处理器,典型的家用电脑配置,以及 Canvas、WebGL 和 WebGPU。但 WASM 执行特征却显示出服务器环境的典型特征。单凭这一点并不一定能断定存在欺诈行为。然而,反欺诈软件现在可以结合 IP 信誉、TLS 指纹、浏览器指纹、Canvas、WebGL、WebGPU、WASM 执行特征以及行为信号,构建更强大的风险模型。这正是现代检测系统的发展方向:有效的关键在于多种信号的结合,而非依赖单一的“神奇”指纹。

Cyber​​source、PerimeterX 和微软的情况如何?

在网络研讨会上,Vektor T13 指出,Cyber​​source 和 PerimeterX 的反欺诈基础设施中已经使用了类似的技术,其中 Cyber​​source 的实施阶段更为成熟。他还举了另一个例子:微软合作伙伴注册。据他观察,微软合作伙伴注册系统使用 WASM 指纹识别技术来过滤可疑的注册信息,包括虚拟机、VPS 和远程服务器。

需要注意的是:这些是网络研讨会作者的观点和观察,并非来自这些公司的公开确认的技术规范。在未进行进一步验证的情况下,就断言“微软肯定在利用这种算法屏蔽VPS”是不恰当的。但这种趋势本身相当现实:浏览器欺诈检测已经充分利用了多层环境分类技术,学术研究也表明,修改后的浏览器是基于多种信号的组合来检测的。

WebAssembly指纹识别技术能否破解反检测机制?

如果从字面上理解“摧毁”,答案是否定的。但它完全有能力摧毁旧的反检测模型,该模型认为只需精心替换一组常用的浏览器指纹参数就足够了。而这才是更有趣的地方。Multilogin、AdsPower、Dolphin Anti、Octo Browser、GoLogin、Linken Sphere、Incogniton、Kameleo、MoreLogin、Undetectable 等反检测工具不仅要考虑网站获取的参数值,还要考虑实际环境的行为是否与这些参数值相符。本质上,这场竞赛已经进入了一个新的阶段:指纹欺骗 → 指纹一致性 → 硬件和计算一致性。

Canvas 可以更改,User-Agent 可以重写,WebGL 可以统一。但是,要让一台计算机的计算行为与另一台计算机的行为完全不同,其难度也截然不同。因此,WebAssembly 指纹识别不应被视为庞大的反欺诈网络中的又一个环节,而应被视为从“浏览器如何描述自身”到“浏览器实际如何运行”的潜在转变。如果反欺诈系统收集到足够大的真实设备、虚拟机、服务器 CPU 和各种浏览器引擎的数据集,那么这种差异很可能成为未来几年反检测行业面临的主要挑战之一。

想第一时间获取此类分析和最新研究成果吗?立即注册 Detect Expert 并订阅——所有新文章和研究报告都将直接发送到您的邮箱。毕竟,知识就是当今最好的反侦测手段!

还没有和我们在一起吗?

注册以访问所有网站功能。

注册

相关帖子

点击 "接受",即表示您同意专家可以使用 cookie 来帮助个性化内容。

您可以根据我们的 Cookie 政策.