JavaScript模板攻击暴露新浏览器指纹向量
学者们提出了一种新技术,可以揭示用户浏览器的数据。足以克服反指纹系统和浏览器扩展保护隐私,并提供了一种通过浏览器和底层平台识别用户的方法,这是以前从未做过的。
这项名为“JavaScript模板攻击”的新技术重点关注JavaScript属性的概念和浏览器引擎返回的基本JavaScript查询的默认值。
奥地利格拉茨科技大学的三名研究人员创建了一个系统,可以从用户的环境中自动查询和收集数千个JavaScript属性及其默认值。
基本思想是自动执行这些查询,然后轮换浏览器、操作系统、硬件平台和浏览器扩展,为每个环境/安装收集所有已知JavaScript属性的默认值。
然后,研究人员为每个环境构建一个默认的属性值矩阵,并为每个可能的检测场景创建一个模板——,即JavaScript模板攻击——的名称列出了与环境相关的所有属性值。
研究团队表示,这些模板将来可以用来扫描访问用户,并根据用户浏览器返回的默认属性值检测具体的环境细节。
这些数据可用于创建用户配置文件(用于流量/用户指纹),以打破用户的匿名性,或用于欺诈手段,如细化零日攻击的目标。
研究团队表示,测试表明,他们的方法可以区分所有40种测试环境。将浏览器分成精确的版本;根据安装的扩展如何修改本机属性值来确定它们;甚至决定单个分机的设置;识别技术性很强的细节,比如CPU供应商和实际操作系统(而不是用户代理可以伪造的操作系统);确定是否存在浏览器私有模式;即使浏览器是从虚拟机运行的。
这些信息可能有助于跟踪,或者更有助于改进漏洞。这完全取决于威胁行为者试图做什么,但结论是这种方法足够可靠,可以工作,甚至可以绕过隐私增强的环境,例如android上的tor。
总之,JavaScript模板攻击非常强大,因为研究人员还发现了大量没有被官方记录的JavaScript属性,从而提高了他们方法的准确性。
此外,浏览器制造商倾向于使用新的网络应用编程接口来改进他们的软件——,所有这些都可以由JavaScript控制。在过去的几年中,JavaScript属性的数量一直在增加,并且有望进一步增加,这将进一步提高JavaScript模板攻击的准确性。
研究团队表示,希望浏览器厂商和隐私扩展开发者能够利用他们的工作,根据环境揭示JavaScript属性值之间的差异,从而改进他们的产品,为用户指纹识别提供任何机会。