Skip to main content
QUICK REVIEW

[论文解读] Actions speak louder than words: Semi-supervised learning for browser fingerprinting detection

Sarah Bird, Vikash Kumar Mishra|arXiv (Cornell University)|Mar 9, 2020
Internet Traffic Analysis and Secure E-voting参考文献 43被引用 5
一句话总结

本文提出一种半监督机器学习方法,通过分析JavaScript执行痕迹中的API调用模式行为相似性,检测浏览器指纹追踪脚本。该方法在已知指纹追踪脚本上实现了94.9%的召回率,并在真实网络环境中发现了超过100个此前未被识别的设备级指纹追踪脚本,首次实现了对该指纹追踪类别的实证测量。

ABSTRACT

As online tracking continues to grow, existing anti-tracking and fingerprinting detection techniques that require significant manual input must be augmented. Heuristic approaches to fingerprinting detection are precise but must be carefully curated. Supervised machine learning techniques proposed for detecting tracking require manually generated label-sets. Seeking to overcome these challenges, we present a semi-supervised machine learning approach for detecting fingerprinting scripts. Our approach is based on the core insight that fingerprinting scripts have similar patterns of API access when generating their fingerprints, even though their access patterns may not match exactly. Using this insight, we group scripts by their JavaScript (JS) execution traces and apply a semi-supervised approach to detect new fingerprinting scripts. We detail our methodology and demonstrate its ability to identify the majority of scripts ($\\geqslant$94.9%) identified by existing heuristic techniques. We also show that the approach expands beyond detecting known scripts by surfacing candidate scripts that are likely to include fingerprinting. Through an analysis of these candidate scripts we discovered fingerprinting scripts that were missed by heuristics and for which there are no heuristics. In particular, we identified over one hundred device-class fingerprinting scripts present on hundreds of domains. To the best of our knowledge, this is the first time device-class fingerprinting has been measured in the wild. These successes illustrate the power of a sparse vector representation and semi-supervised learning to complement and extend existing tracking detection techniques.

研究动机与目标

  • 解决依赖人工整理或标注数据集的启发式方法与监督学习方法在指纹追踪检测中的局限性。
  • 通过识别未知脚本中JavaScript执行痕迹的行为相似性,检测此前未知的指纹追踪脚本。
  • 测量并验证设备级指纹追踪在真实网络部署中的存在性。
  • 开发一种可扩展的、半自动的方法,无需完整人工标注即可扩展内容过滤器列表。

提出的方法

  • 将JavaScript执行痕迹表示为每个脚本的稀疏API调用向量,实现在向量空间中的行为比较。
  • 利用已知指纹追踪脚本作为种子示例,通过分布相似性识别未知脚本中的相似行为模式。
  • 应用半监督学习框架,将少量标注脚本的标签传播至更大规模的未标注脚本集合。
  • 采用基于关键词的种子集进行程序化标注,以减少对人工整理的依赖。
  • 在脚本级别将API调用序列聚合为“片段”,以支持细粒度的脚本级行为分析。
  • 在包含约130万个唯一脚本URL和1.14亿条API调用的OverScripted网络爬取数据集上验证该方法。

实验结果

研究问题

  • RQ1仅使用少量已知示例,半监督方法能否以高召回率检测指纹追踪脚本?
  • RQ2尽管存在代码混淆或变体,指纹追踪脚本在其API访问序列中是否表现出一致的行为模式?
  • RQ3该方法能否发现现有启发式方法遗漏的新指纹追踪类别,如设备级指纹追踪?
  • RQ4与最先进的启发式方法相比,使用基于关键词的种子集进行初始标注时,该方法的有效性如何?
  • RQ5该方法在真实网络部署中可扩展到何种程度,能否检测到当前检测启发式方法未覆盖的脚本?

主要发现

  • 该方法检测到至少94.9%的指纹追踪脚本,这些脚本已被最先进的启发式技术识别。
  • 该方法成功识别出跨数百个域名的100多个此前未知的设备级指纹追踪脚本。
  • 这是首次在真实环境中对设备级指纹追踪进行实证测量,揭示了一种此前未被观察到的指纹追踪模式。
  • 当使用基于关键词的种子集时,模型泛化能力良好,表明其对不完整或不精确标注具有鲁棒性。
  • JavaScript执行痕迹的向量表示可有效检测经过混淆或修改的指纹追踪脚本,其依据是行为相似性。
  • 该方法能识别出与已知指纹追踪脚本行为相似但存在足够差异以规避现有启发式检测的候选脚本,从而实现实时主动检测。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。