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

eau*_*bin 49 firefox google-chrome privacy

转到http://panopticlick.eff.org/我可以看到 Firefox 和 Chrome 比我更喜欢公开更多关于“系统字体”和“浏览器插件详细信息”的信息。

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

sna*_*nap 22

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

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

DisableDeviceFontEnumeration = 1
Run Code Online (Sandbox Code Playgroud)

有关更多详细信息,请参阅Adobe Flash Player 管理指南

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

请注意,如果您安装了 Java,字体列表仍可通过 Java 使用。无论如何,摆脱 Java 是个好主意。如果您使用几个需要 Java 的站点,请使用具有不同用户配置文件的不同浏览器实例,并为这些站点启用 Java。

  • 在我的 Windows 7 机器上,该文件位于 C:\Windows\SysWOW64\Macromed\Flash\mms.cfg (2认同)
  • 不适用于 OS X 上的 Chrome。事实证明,**Chrome 使用自己的 Flash 插件,该插件具有单独的配置文件。** 其路径是`~/Library/Application Support/Google/Chrome/Default/Pepper Data/ Shockwave Flash/System/mms.cfg`(如果不存在则创建`System/mms.cfg`。) (2认同)

小智 6

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

您仍然需要在 Chrome 的隐私设置中将 chrome 设置为“点击播放”插件并禁用第 3 方 cookie。此外,正如研究中提到的,在有足够多的人开始使用这样的插件之前,您可能仍然会表现得独一无二。

完全披露:我是作者。

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


小智 5

在 Firefox 28 中:

键入about:config地址栏

plugins.enumerable_names

将条目设置为空。

访问https://panopticlick.eff.org/以验证不再列出插件。

  • 我在 FireFox 41 中没有看到这个设置。有人知道它现在在哪里吗? (3认同)

har*_*ymc 5

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

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

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

为了保护 Chrome,您可能会采取以下措施:

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

用于 Firefox 中的保护

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

您可以在Github ghacks-user.js 中尝试 Firefox-hardening 脚本 ,尽管根据所有报告,它可能太多并且实际上会损害浏览。

就附加组件而言,在firefox-tweaks页面中维护了一个有用的附加组件列表和其他建议 。

目前,我所知道的专门针对字体指纹的措施在 about:config 设置中

  • 右键单击并选择New > String,创建新参数 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
    
    Run Code Online (Sandbox Code Playgroud)

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

只是想说明一下,我已经看到了针对复杂的字体指纹和绘图讨论的方法,这些方法甚至可以识别显示卡和图形驱动程序。

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

  • 使用 VPN
  • 从普通 Windows 虚拟机进行浏览
  • 不安装字体或其他软件
  • 安装最广泛使用的浏览器——Chrome,没有扩展
  • 在禁用所有 cookie 和扩展程序的隐身模式下浏览

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

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


NoB*_*ugs 3

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