利用 WebAssembly 的浏览器指纹识别
密码学与安全
2025-06-03 v1
摘要
Web 客户端指纹识别已成为一种广泛使用的技术,能够高精度地唯一识别用户、浏览器、操作系统和设备。虽然它有利于欺诈检测和个性化体验等应用,但它也通过实现持久追踪和详细的用户画像而引发隐私担忧。本文介绍了一种使用 WebAssembly(Wasm)的高级指纹识别方法——这是一种在现代 Web 浏览器中提供接近原生执行速度的低级编程语言。凭借在主流浏览器中的广泛支持和日益普及的采用,WebAssembly 为开发更有效的指纹识别方法提供了坚实基础。在本工作中,我们提出了一种新方法,利用 WebAssembly 的计算能力来识别跨不同浏览会话返回的设备——如智能手机、平板电脑、笔记本电脑和台式机。我们的方法利用 WebAssembly JavaScript API 实现中的细微差异来区分基于 Chromium 的浏览器(如 Google Chrome 和 Microsoft Edge),即使 User-Agent 等标识符被完全伪造,也能实现低于 1% 的误报率。该指纹通过结合 CPU 密集型操作、内存任务和 I/O 活动来生成,以捕获独特的浏览器行为。我们在多种平台上验证了该方法,包括 Intel、AMD 和 ARM CPU,Windows、macOS、Android 和 iOS 等操作系统,以及 VMWare、KVM 和 VirtualBox 等环境。广泛评估表明,基于 WebAssembly 的指纹识别显著提高了识别准确率。我们还提出了缓解策略以降低与此方法相关的隐私风险,这些策略可集成到未来的浏览器设计中以更好地保护用户隐私。
关键词
引用
@article{arxiv.2506.00719,
title = {Browser Fingerprinting Using WebAssembly},
author = {Mordechai Guri and Dor Fibert},
journal= {arXiv preprint arXiv:2506.00719},
year = {2025}
}