最近有人发现,Chrome以及Edge用户安装的扩展插件可以用于生成独特的“指纹”,配合其他数据诸如GPU性能表现、已安网的Windows应用、屏幕分辨率、硬件配置甚至已安装的字体等,可以用于准确追踪用户在在线浏览的痕迹。
一位网名为“zoccc”的网页开发者制作了一个名为“ExtensionFingerprints”的网页,这个网页就是基于追踪用户安装的插件设计而成。里面包括了多种常见及热门的Chrome插件,用户只需要点击进去,网页就可以自动推算出用户安装了哪些插件,并且同时算出有多少访问过这网页的用户是安装了同样的插件。
这里要先说明一下网页一般是怎样得知用户装了哪些Chrome扩展插件。当开发者开发出一款Chrome扩展插件时,他们可以申明哪些资产是属于“webaccessibleresources”,而这些申明了的资产是可以被其他网页或者插件访问。早在年就有人发现,可以利用这些“webaccessibleresources”来检查用户安装了哪些Chrome插件,并且以此来生成用户的指纹。zoccc表示,有的插件为了防止被侦测出来,会秘密加入一个凭证,其他插件或网页想要访问这些“webaccessibleresources”就需要先有这个凭证。不过研究人员之后就发现,加入了秘密凭证的插件,比起没有加入的插件,访问“webaccessibleresources”的时间要更长。因此只需要对比一下两者的时间差异,就可以得知用户有没有安装这些插件。
在与BleepingComputer的沟通中zoccc也表示,安装了3个或以上的Chrome插件就已经可以让用户生成独一无二的插件指纹。如果把这些插件纪录与其他用户数据例如时区或者代理一起使用,就可以非常容易地分辨出用户,而Edge的插件也可以用同样的方法来检测出来。
笔者也点开了这个网页,里面显示只有0.%用户是与我有同样的插件。当然,随着访问这个页面的人数增加,那这个比例也会有所升高,不过即便是0.01%也算是可以很准确的辨认出不同用户。因此,笔者建议大家还是尽量少安装插件,只安装对于自己真正有用的插件就好,或者干脆换用Firefox,因为Firefox插件在每个浏览实例上的ID都不一样(笑)。