您如何更改 Firefox 中的“系统字体”(以提高自身的安全性和隐私性)?

信息安全 网络 隐私 网页浏览器 javascript 火狐
2021-08-30 17:12:38

我知道以前有一些(类似的)问题,我已经全部阅读并尝试过,但没有任何帮助(可能是因为它是过时的信息)。

我所做的是我去了:https ://panopticlick.eff.org在互联网上查看我的数字指纹。我意识到我被认定为“独特”的主要原因是“系统字体”提供的信息。该网站说 160000 个浏览器中只有 1 个具有与我相同的字体,这真的很糟糕。

我的问题,实际上有没有办法在 Firefox 中减少/删除/编辑系统字体?

我使用 Tor 浏览器访问了该页面,并意识到它在 Firefox 上的系统字体比我少得多,这就是它不那么独特的原因。

我已经尝试过但没有奏效的方法(但可能仍然有助于提高您的安全性和匿名性):

  • 禁用闪光灯

  • 转到 about:config 并将“plugins.enumerable_names”设置为空字符串

  • 在您的计算机上,找到您的闪存文件夹,编辑 mms.cfg 并添加:DisableDeviceFontEnumeration = 1


还有其他想法吗?这真的很令人沮丧,我知道我们无法完全保护我们的隐私,但我们肯定至少可以让其他人更加困难。

编辑:感谢 WhiteWinterWolf:在 Firefox 上,您可以通过转到任务栏来删除大多数系统字体(从而减少指纹),写:“about:config”。然后在此处输入搜索:“browser.display.use_document_fonts”并修改它并将其设置为 0 或将其留空。我仍然想知道另一种方法,您可以自行决定删除特定字体,甚至添加一些(无需从您自己的计算机中删除它们)。

编辑:这是我的评估(我没有使用 Tor,我没有使用代理!),使用此处提供的答案尝试了一整天,这是迄今为止最好的结果(我仍然对结果不满意,但是我以为我会和你分享。从大约1:175000减少到1:21000其实还不错!)

在此处输入图像描述

4个回答

在 Firefox 上,您可能想尝试Random Agent Spoofer插件。

恕我直言,这个模块命名不佳,可能是出于历史原因,因为代理欺骗功能是完全可选的,甚至可能不是最有趣的功能。

这个模块应该仅仅被视为一个反跟踪模块,将特定功能和与 Firefox 跟踪相关的设置收集在一个地方(包括所谓的“高级”设置,比如禁用 WebRTC)。大多数 Panopticlick 跟踪标准都可以在其设置中找到。

可用字体列表可以通过设置Options > Standard options > Limitable fonts来限制。但是,设置此选项可能会稍微改变网站的外观,但这不会对可用性产生任何重大影响。

当您在这里时,我还建议您尝试禁用画布支持(选项>脚本注入选项>禁用画布支持),因为这将极大地提高您的 Panopticlick 分数。几个月以来我一直在使用它,但没有注意到此设置的任何影响,但 YMMV.

关于实际的代理欺骗功能,我不太高兴这个模块是如何实现的。如果您使用的是 Windows,我建议您禁用此功能。如果您在另一个操作系统上,您可能想尝试将自己显示为相同的 Firefox 版本,但在 Windows 上(遗憾的是,您必须手动选择版本并在更新后手动更改它,这正是我认为可以改进此功能的原因)。

我不建议使用随机更改的用户代理(或者更糟糕的是随机更改屏幕尺寸)或模拟与 Firefox 不同的浏览器(只要涉及跟踪,这可能对其他目的有用)。这可能会适得其反:反跟踪的目标不是让你随机变化,因为这会让你脱颖而出,相反的目标是通过看起来像人群来融入。

不要犹豫,依靠 Panopticlick 的故障(分析结束时显示指纹的完整结果链接)来确定哪种技术可以最独特地识别您。最有效的技术将是您可能首先要解决的技术,直到您达到合理的隐私级别。

使用此模块时,请注意某些设置可能会影响可用性,甚至会破坏某些网站。没什么好担心的,但是当您在浏览时遇到一些问题时请记住这一点:在指责网站开发人员之前检查您自己的设置;)!

笔记:

请注意,我使用了“合理的隐私级别”一词,而不是“完美”或“完全”的隐私:没有办法完全无法追踪

在标准浏览器上,您通常会在 Panopticlick 结果详细信息中的“x 个浏览器中的一个具有此值”列中看到达到(数)万个值,这意味着仅在统计上相应的技术就可以在大集合中唯一地标识您的计算机:这些是您需要避免的值,因为它们基本上只是跟踪器的糖果。

考虑到不同硬件、操作系统、浏览器、设置和版本的数量,你不能合理地期望值低于几十个。

如果您不清楚这背后的原因:假设您与另外两个用户(一个 Mac 用户和一个 Windows 用户)在一起,您应该模拟哪个系统,以便跟踪引擎将您误认为两者?

这是不可能的:它们是不同的,你不可能两者都平等。假设您是 Linux 用户,第三种操作系统类型,而是显示为 Windows 用户:跟踪器仍然能够将您与 Mac 用户区分开来(因此识别信息位永远不会为零),但它无法将您(使用此技术)与 Windows 用户区分开来(因此比您作为这三台机器中唯一的 Linux 机器出现时的值更低)。

多样性越多,您的浏览器就越容易识别,而没有任何机会成为“像其他人一样”。这就是为什么在 Tor 网络上建议不要修改 Tor 浏览器设置,以尽可能降低这种多样性,从而使跟踪尽可能困难。

安装在系统上的字体(因此浏览器可以访问)是系统的属性,而不是浏览器的属性。而且我很确定您不需要使用 flash 来确定是否安装了特定字体,即一些 CSS 和 JavaScript 可能就足够了:

  • 有一些字体设置为 font1 和替代 font2 的文本,这与 font1 非常不同。
  • 具有相同的文本,字体设置为 font2
  • 将文本的像素长度与 JavaScript 进行比较:如果它们相同,则可能未安装 font1。

这真是令人沮丧,我知道我们不能完全保护我们的隐私......

有很多方法可以跟踪用户。虽然可以通过关闭所有活动内容(JavaScript、Flash ......)来禁用这个特定的内容,但其他人需要您禁用缓存(即Etag 跟踪)等。有关如何跟踪您的更多但仍然不完整的信息,请参阅技术分析客户识别机制

......但我们肯定至少可以让其他人更难。

对抗追踪所需的技术通常对用户的影响比对追踪者的影响更大。除非法律禁止收集这些信息,否则用户通常是输家。

在 Windows 系统上,您可以使用外观和个性化设置下的字体控制面板“隐藏”字体。Windows 通常会隐藏不适合您的键盘语言的字体,但您可以选择隐藏或公开您想要的任何字体。一旦隐藏,您的浏览器将无法再枚举它们。

然后真正的诀窍是找出要公开的安全字体列表,这样您就可以与一大群类似配置的浏览器和系统融为一体。您通常希望模拟没有其他应用程序的默认操作系统安装。不过,我不知道 EFF 是否提供该数据。

或者,您可以在浏览会话之间随机隐藏/取消隐藏某些字体,因此每次浏览时您都会显示为不同的系统。一般来说,我认为跟踪系统通常像任何其他自动化系统一样进行编程:它们可能正在寻找完全匹配,而不是紧密匹配。

主要缺点是当您在系统中隐藏字体时,该字体会从您的所有应用程序中消失。如果您使用相同的系统进行艺术作品,您可能不想放弃这么多字体。

从 Firefox 52 开始,有一项功能可以准确指定要报告的字体

  1. 在浏览器的地址栏中输入 about:config,然后按 Enter 键。

  2. 如果显示警告提示,请确认您会小心。

  3. 右键单击列出所有首选项的主窗格,然后从上下文菜单中选择新建 > 字符串。

  4. 将新参数命名为 font.system.whitelist。

  5. 现在将字体添加到以逗号分隔的白名单中:例如,Helvetica、Courier、Verdana 是一个有效值。

更改立即生效。作为响应,您可能会注意到浏览器 UI 或网站上的字体会发生变化。

这将我的“识别信息位”从系统字体从 8.28 更改为 6.74……但使 panopticlick 网页中的刻度和十字无法正确呈现。

参考:https ://www.ghacks.net/2016/12/28/firefox-52-better-font-fingerprinting-protection/