[论文解读] Fingerprinting the Fingerprinters: Learning to Detect Browser Fingerprinting Behaviors
FP-Inspector 是一种基于机器学习的系统,通过结合 JavaScript 脚本的静态分析与动态分析来检测浏览器指纹识别,准确率达到 99.9%,比以往的启发式方法多检测出 26% 的指纹识别脚本。该系统可实施细粒度的 API 级别防护措施,使网站崩溃率降低两倍,同时揭示了在 10.18% 的顶级 10 万网站中存在广泛存在的指纹识别行为,以及此前未知的 Permissions 和 Performance 等 API 的滥用情况。
Browser fingerprinting is an invasive and opaque stateless tracking technique. Browser vendors, academics, and standards bodies have long struggled to provide meaningful protections against browser fingerprinting that are both accurate and do not degrade user experience. We propose FP-Inspector, a machine learning based syntactic-semantic approach to accurately detect browser fingerprinting. We show that FP-Inspector performs well, allowing us to detect 26% more fingerprinting scripts than the state-of-the-art. We show that an API-level fingerprinting countermeasure, built upon FP-Inspector, helps reduce website breakage by a factor of 2. We use FP-Inspector to perform a measurement study of browser fingerprinting on top-100K websites. We find that browser fingerprinting is now present on more than 10% of the top-100K websites and over a quarter of the top-10K websites. We also discover previously unreported uses of JavaScript APIs by fingerprinting scripts suggesting that they are looking to exploit APIs in new and unexpected ways.
研究动机与目标
- 为应对日益严重的、隐蔽的浏览器指纹识别威胁,此类威胁可规避传统追踪防护机制。
- 克服现有防护措施(如全面限制 API 或阻断网络请求)的局限性,此类措施常导致网站功能异常。
- 开发一种精确且可扩展的检测机制,能够在不降低用户体验的前提下,区分指纹识别脚本与正常功能。
- 衡量浏览器指纹识别在现实网络中的实际普遍性及其技术演变趋势。
- 识别此前未知的 JavaScript API 被用于指纹识别,以指导未来的隐私保护措施。
提出的方法
- FP-Inspector 采用混合方法,结合静态分析(以克服动态分析的覆盖范围限制)与动态分析(以应对代码混淆)。
- 它从 JavaScript 代码中提取语法和语义特征,包括控制流、数据流和 API 调用模式,用于训练机器学习分类器。
- 该系统利用客户端代码插桩与静态代码解析相结合的方式,在脚本级别检测指纹识别行为。
- 基于检测结果实施有针对性的 API 限制防护措施,通过避免广泛限制来最小化网站崩溃。
- 该框架通过修改后的 OpenWPM 管道部署在 Alexa 排名前 10 万名网站上,用于测量指纹识别的普遍性。
- 对指纹识别脚本所使用的 JavaScript API 进行聚类分析,以识别新型指纹识别向量。
实验结果
研究问题
- RQ1与手工设计的启发式方法相比,基于机器学习的语法-语义分析方法在检测浏览器指纹识别脚本方面的有效性如何?
- RQ2有针对性的 API 级别防护措施在有效缓解指纹识别的同时,能在多大程度上减少网站崩溃?
- RQ3浏览器指纹识别在顶级 10 万名网站中的当前普遍性如何?哪些域名是主要来源?
- RQ4哪些此前未知或未受重视的 JavaScript API 正被用于指纹识别?
- RQ5如脚本分散或合并等对抗性技术如何影响检测与防护效果?
主要发现
- FP-Inspector 以 99.9% 的准确率检测指纹识别脚本,显著优于以往基于启发式的检测方法。
- 其检测到的指纹识别脚本比 Englehardt 和 Narayanan(2018)提出的最先进启发式方法多出 26%。
- 基于 FP-Inspector 检测结果实施的有针对性的 API 限制防护措施,使易崩溃网站的崩溃率降低两倍。
- 浏览器指纹识别存在于 10.18% 的 Alexa 排名前 10 万名网站中,由 2,349 个不同的域名提供,其中包括反广告欺诈服务商和跨站追踪者。
- FP-Inspector 揭示了 Permissions 和 Performance API 被用于指纹识别的此前未知用法,以及对 userproximity 等传感器的新型使用方式。
- 该系统识别出指纹识别脚本过度依赖某些此前未被充分认识的 API,提示未来防护加固应关注这些新型攻击向量。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。