自动量化浏览器扩展的“指纹性”

原文作者:Oleksii Starov and Nick Nikiforakis

原文题目:XHOUND: Quantifying the Fingerprintability of Browser Extensions

原文会议:The 38th IEEE Symposium on Security and Privacy (IEEE S&P), 2017

浏览器指纹是一种有效的追踪手段。浏览器的插件常作为浏览器指纹中的重要元素,但是,随着HTML5技术的普及及插件自身的安全问题,导致插件的使用率不断降低,这势必会影响利用插件列表作为指纹元素的浏览器指纹对用户的追踪效率。可以预见新的浏览器指纹元素将不断被加入,因此,研究新的浏览器指纹及其对抗策略意义重大。

石溪大学(Stony Brook University)的Oleksii等人设计并实现了第一个能够自动化检测扩展能否被用于浏览器指纹元素的系统:XHOUND。该系统能够自动化检测一个浏览器扩展是否对页面DOM造成了可检测的改变,若能够检测到扩展对页面DOM造成的改变,则说明可以通过检测页面DOM改变的方法来检测扩展是否存在于浏览器中,从而可以将扩展作为浏览器指纹的一个元素,即扩展具有“指纹性”。XHOUND的总体框架,分为三个阶段:测试准备、执行和分析。

1)在测试准备阶段,修改扩展的源码,hook查询函数。并从扩展的Manifest文件中过滤出扩展所需的URL。2)在执行阶段,引入域名解析组件,访问特定的域名,将扩展访问的特定URL解析到本地搭建的honey page页面上。3)在分析阶段,对比前后DOM树的变化,去除honey page主动添加的元素(有记录),检测出扩展对DOM造成的改变,得出结论。

作者利用XHOUND对Chrome商店中的前10000个扩展进行了大范围的检测,9.2%的扩展在任意域名下引入了可检测的DOM改变,在特定的URL下16.6%的扩展引入了可检测的DOM变化。对于排名前1000的扩展,得到的结果分别是13.2%和23%。这说明,扩展越流行,可检测的比率越高。

虽然XHOUND能够自动化检测扩展是否可被用作指纹,但具备一定的局限性。首先,XHOUND目前仅支持对Chrome扩展和Firefox扩展的检测,并且hook的函数可能不完全。其次,XHOUND只是hook了查询DOM元素的函数并记录DOM的变化,但未利用扩展对BOM(Browser Object Module)造成的变化。最后,对于初次安装需要用户配置的扩展XHOUND无法检测。这些局限性将导致存在一定的误报率。

发表评论

电子邮件地址不会被公开。 必填项已用*标注