如何在 Chrome 和 Firefox 中禁用读取“系统字体”和“浏览器插件详细信息”的权限

如何在 Chrome 和 Firefox 中禁用读取“系统字体”和“浏览器插件详细信息”的权限

即将http://panopticlick.eff.org/我发现 Firefox 和 Chrome 公开了更多关于“系统字体”和“浏览器插件详细信息”的信息,这比我喜欢的要多。

如何在 Firefox 和 Chrome 中禁用网页访问这些设置的权限?

答案1

有两个问题,但我正在回答字体列表的问题:

可以使用mms.cfg系统范围的配置文件禁用 Flash 字体枚举。如果您使用的是 Linux,则此文件应位于/etc/adobe/目录中。基本上,您只需要在文件中放入以下行:

DisableDeviceFontEnumeration = 1

查看Adobe Flash Player 管理指南更多细节。

通过此设置,Panopticlick 和其他网站无法通过 Flash 获取您的字体列表。

请注意,如果您安装了 Java,字体列表仍然可以通过 Java 获得。无论如何,最好还是放弃 Java。如果您使用几个需要 Java 的网站,请使用不同的浏览器实例和不同的用户配置文件,并只为这些网站启用 Java。

答案2

免费的 Chrome 扩展程序橡胶手套通过隐藏数组条目来阻止插件和 mime 类型枚举,其方式与 Firefox 和 Internet Explorer 本机可以/执行的方式大致相同。

您仍需要自行将 Chrome 设置为“点击播放”插件,并在 Chrome 的隐私设置中禁用第三方 Cookie。此外,正如研究中提到的那样,在足够多的人开始使用此类插件之前,您仍可能显示为唯一。

全面披露:我是作者。

此功能可能会(也可能不会)集成到电子前沿基金会的隐私獾将来会继续扩展。无论如何,他们似乎很感兴趣。

答案3

字体指纹识别只是浏览器指纹识别的一小部分。如果目的是让浏览器仍然正常运行,那么完全阻止它几乎是不可能的。据说最好的通用指纹保护是在 Tor 浏览器中。

实际测试发现,试图阻止字体指纹识别实际上会增加计算机指纹识别的独特性,因为大多数用户不会这样做。避免指纹识别的最好方法是不做任何特别的事情,与成千上万的其他用户融为一体。

防止字体指纹的第一步是测试你将采取的任何防御措施的有效性。这里有一个好工具https://browserleaks.com/fonts. 一个很好的工具来识别一般指纹的独特性是 https://panopticlick.eff.org/(在过去 45 天内测试的 199,984 个浏览器当中,我自己的浏览器是独一无二的)或者 我是独一无二的吗

为了保护 Chrome,您可以采取的措施包括:

  • 安装强化的 Chromium 版本
  • 使用扩展(我还没有测试过它们的有效性):

在 Firefox 中获取保护

Mozilla 目前正在开展 Tor Uplift 项目,其目标是在 Firefox 中建立与 Tor 浏览器相同级别的抗指纹识别能力。该项目正在进行中,并在文章中进行了描述 安全/指纹识别

您可以尝试使用 Firefox 强化脚本 Github ghacks-user.js,尽管据报道称,这可能太多了,实际上会损害浏览体验。

至于附加组件,页面上有一个有用的附加组件列表和其他建议 Firefox 调整

目前,我所知道的专门针对字体指纹识别的措施是 关于:配置设置

  • 右键单击并选择新建 > 字符串,创建新参数 font.system.whitelist,它将列出 JavaScript 将看到的字体。一个示例有效值是Helvetica, Courier, Verdana。更改立即生效。
    就我而言,这减少了我自己的 字体指纹 从 512 种字体列表中的 266 种字体和 238 种独特指标,到“仅”有 28 种字体和 9 种独特指标。(我不知道这会对浏览产生什么影响。)

  • privacy.resistFingerprinting=true是启用 Tor Uplift 项目中实施的隐私措施的通用开关。它允许分发统一的字体列表。Mozilla 不建议启用它,因为它会破坏某些网站。

  • 通过更改以下值来禁用“允许网站使用自己的字体”选项和 CSS 字体加载 API:

    browser.display.use_document_fonts = 0
    layout.css.font-loading-api.enabled = false
    font.blacklist.underline_offset = (empty string)
    gfx.downloadable_fonts.enabled = true
    gfx.font_rendering.opentype_svg.enabled = false
    gfx.font_rendering.graphite.enabled = false
    

    (这很可能会降低浏览速度。)

需要指出的是,我已经看到了讨论的复杂字体指纹识别和绘图方法,甚至可以识别显示卡和图形驱动程序。

我的想法 :指纹无法避免 - 字体不是一切。即使你:

  • 使用 VPN
  • 从原始 Windows 虚拟机进行浏览
  • 不安装字体或其他软件
  • 安装最广泛使用的浏览器 - Chrome,无需任何扩展程序
  • 使用隐身模式浏览,禁用所有 Cookie 和扩展程序

那么这些独特的保护方法以及虚拟机中仍可检测到的硬件元素很可能仍会形成独特或几乎独特的指纹。更不用说这种环境将很难使用。

有关一些已知指纹识别方法的讨论,请参阅以下文章:

答案4

Javascript 能够检查安装了哪些插件,这通常用于在需要时显示“安装缺失插件”消息。如果您愿意,您可以在设置中禁用插件,并使用 Chrome 的 Javascript Blacklist 或 Firefox 的 Quick Java statusbar 等插件禁用 Javascript。

相关内容