研究人员创建了一个网站,该网站通过 Google Chrome 扩展程序来生成其设备的指纹,并进行跟踪。特征包括GPU性能、Windows应用程序、设备的屏幕分辨率、硬件配置,安装的字体,并可以使用相同的指纹识别方法跨站点跟踪设备。
已安装 Chrome 扩展程序的指纹
近日,网络开发者“z0ccc”分享了一个名为“Extension Fingerprints”的新指纹站点,该站点可以根据浏览器安装的 Google Chrome 扩展程序生成其设备指纹。在创建 Chrome 浏览器扩展时,可以将某些资产声明为网页或其他扩展可以访问的“网络可访问资源”。
这些资源通常是图像文件,它们是使用web_accessible_resources浏览器扩展清单文件中的属性声明的。
Web 可访问资源的示例声明如下所示:
早在2019年披露中,可以使用 Web 可访问资源来检查已安装的扩展程序,并根据找到的扩展程序的组合生成访问者浏览器的指纹。
为了防止检测,z0ccc表示某些扩展使用访问 Web 资源所需的秘密令牌。然而,研究人员发现了一种“资源时序比较”方法,该方法仍可用于检测是否安装了扩展。“与未安装的扩展资源相比,获取受保护扩展的资源需要更长的时间。通过比较时间差异,您可以准确地确定是否安装了受保护的扩展,”z0ccc 在项目的GitHub 页面上解释道。
为了说明这种指纹识别方法,z0ccc 创建了一个 Extension Fingerprints 网站 ,该网站将检查访问者的浏览器是否存在 Google Chrome Web Store 上可用的 1,170 个流行扩展中的 Web 可访问资源。
该网站将识别的一些扩展是 uBlock、LastPass、Adobe Acrobat、Honey、Grammarly、Rakuten 和 ColorZilla。根据已安装扩展的组合,网站将生成一个跟踪指纹,可用于跟踪该特定浏览器,如下所示。
一些流行的扩展,例如 MetaMask,不暴露任何资源,但 z0ccc 仍然可以通过检查“typeof window.ethereum 是否等于未定义”来识别它们是否已安装。
虽然那些没有安装扩展程序的人将具有相同的指纹并且对跟踪的用处较小,但那些具有许多扩展程序的人将有一个不太常见的指纹,可用于在网络上跟踪它们。
“这对于指纹识别用户来说绝对是一个可行的选择,”z0ccc 在给 BleepingComputer 的电子邮件中解释道。
“特别是使用'获取网络可访问资源'方法。如果将其与其他用户数据(如用户代理、时区等)结合使用,则可以很容易地识别出用户。”
Extensions Fingerprints 站点仅适用于从 Chrome Web Store 安装扩展的 Chromium 浏览器。虽然此方法适用于 Microsoft Edge,但需要对其进行修改以使用 Microsoft 扩展商店中的扩展 ID。
此方法不适用于 Mozilla Firefox 附加组件,因为 Firefox 扩展 ID 对于每个浏览器实例都是唯一的。
常用安装 uBlock
虽然 z0ccc 没有收集有关已安装扩展的任何数据,但他自己的测试表明,已安装 uBlock 是最常见的扩展指纹。
“到目前为止,最流行的是没有安装扩展。如前所述,我不收集特定的扩展数据,但在我自己的测试中,似乎只安装了 ublock 是一种常见的扩展指纹,”共享 z0ccc。
以下是 BleepingComputer 进行的测试中安装了各种流行扩展的用户百分比。
58.248% - 没有安装或启用扩展。
2.065% - 仅 Google Docs Offline,这是默认安装的唯一扩展。
0.528% - uBlock Origin + Google Docs Offline
0.238% - AdBlock + Google Docs 离线
0.141% - Adobe Acrobat + Google Docs Offline
0.122% - 谷歌翻译 + 离线谷歌文档
0.019% - Malwarebytes 浏览器防护
0.058% - Grammarly + Google Docs 离线
0.058% - LastPass + Google Docs 离线
0.051% - Honey + Google Docs 离线
0.013% - ColorZilla + Google Docs 离线
在我们的测试中,安装三到四个扩展程序使使用相同扩展程序的用户百分比低至 0.006%。显然,安装的扩展程序越多,安装相同组合的人就越少。
z0ccc 表示,0.006% 的百分比表明您是唯一拥有该扩展组合的用户,但随着更多人访问该网站,这种情况会发生变化。
Extension Fingerprints 已作为 开源 React 项目发布在 GitHub 上,允许任何人查看如何查询已安装扩展的存在。
2022年6月19日更新:澄清 、z0ccc没有发现检测已安装扩展的方法,而是发现了时序比较方法。
4000520066 欢迎批评指正
All Rights Reserved 新浪公司 版权所有