芯片组中的闭源二进制 blob - 隐私威胁?

信息安全 隐私 硬件 开源
2021-08-15 10:25:38

我想购买Librem Purism 13,因为我关心我的隐私,并且通常想要一台笔记本电脑来测试 Linux。

但是,我被建议不要这样做,因为它使用包含二进制 blob的 Intel i5 处理器。据我了解,二进制 blob 是无法读取的代码部分,您不确定它们的作用。例如,他们可以提取您在计算机上所做的事情并将这些信息发送到某个地方。

这有可能吗?如果有,有多大风险?几乎所有最近的计算机不会受到损害吗?有没有完全开源的笔记本电脑,里面没有二进制 blob?

4个回答

概括:

可能正在进行一些 BS 营销,但总的来说,他们可能正在制造更尊重隐私的笔记本电脑。其他答案提到了其他品牌的注重隐私的笔记本电脑,它们避免使用英特尔芯片而支持 100% 自由硬件,但这样做会导致性能和成本受到很大影响,因为英特尔是市场领导者是有原因的。


你信任谁?

除非你带着斧头走进树林并为自己建立生活,否则你必须信任某人根据他们页面上的描述,Purism 公司似乎是一个值得信赖的相当不错的团体(如果您已经在考虑购买他们的笔记本电脑,您似乎对此很满意)。他们显然在隐私方面对其组件供应商进行了大量审查。当然,假设这不全是 B***S***t 营销,我无法确定。(有关更多信息,请参阅底部的“其他想法”。)

英特尔

至于二进制 blob 和 Intel,这实际上是一个比您意识到的更深层次的问题。“二进制 Blob”是指以二进制(可执行)形式提供给您的软件,但您无法访问源代码或任何检查它的好方法。英特尔是一家硬件制造商,因此虽然他们可能有一些二进制软件,但以芯片形式提供给您的硬件又如何呢?你认为英特尔允许 Purism 检查 i5 板上所有芯片的蓝图吗?当然不是,那是价值数十亿美元的知识产权!

围绕英特尔、隐私和黑盒硬件的辩论目前是英特尔RdRand指令的热门话题 - 一种用于从主板上的英特尔硬件 RNG 芯片中检索随机数的汇编指令。我最近参加了一次加密会议,无意中听到 RdRand 芯片的一位设计师与另一位与会者进行了如下讨论:

与会者:“RdRand 是一个黑盒芯片。你们会发布源设计用于安全审计吗?”

英特尔工程师:“不,当然不是,那是受保护的知识产权。”

与会者:“英特尔在美国公司,我们怎么知道美国政府没有强迫你加入后门?”

英特尔工程师:“好吧,我想我无法向你证明,但我设计了它,我可以向你保证没有任何东西。”

与会者:“如果这还不够好,请原谅我。我将继续在软件中做随机数。”

英特尔工程师:“我猜是你的损失。”

那么,我们应该相信他们吗?

归根结底,除非你住在树林里,否则你必须相信某人。我个人认为英特尔公司非常注重安全 - 与他们一起参加过多次加密会议,虽然他们受美国法律约束(我不是美国 BTW),但我认为他们至少与任何其他封闭源代码一样值得信赖硬件供应商。Ken Thompson 1984 年的论文“Reflections on Trusting Trust”表明,木马可以在编译器级别以几乎无法检测到的方式注入,因此即使经过检查的开源代码也不能保证没有木马。

归根结底,你必须相信人,而不是代码。你相信英特尔吗?您是否相信 Purism 会尽其所能地审查他们的供应商?没有什么是 100% 可证明安全的,但 Purism 的产品肯定比百思买的标准笔记本电脑更好。

补充思想:

Purism Librem 产品页面说:

欢迎使用逐个芯片、逐行设计的精美笔记本电脑,以尊重您的隐私、安全和自由权利。

“逐行” .... 对,当然。linux 内核本身大约有1600 万行Librem 随附基于 Debian 的 PureOS 或 Qubes OS,它们都将包含数千万行、引导加载程序和固件,以及 Debian 存储库中的所有应用程序。你想让我相信Purism 的 6 位开发人员已经亲自检查了每一行代码中是否存在阴险、难以捕捉的后门并且还检查了所有用于寻找自我复制木马的编译器?请。过度热心的营销。

也就是说,如果你接受 Ken Thompson 的“信任作者,而不是代码”的理念,我们决定信任 Debian 开发人员和英特尔工程师(出于方便,我决定信任他们),我们信任 Purism适当地应用“相信人,而不是代码”的理念,那么我们可能就可以了。

是的,二进制 blob 与您无法审核的任何其他专有软件一样存在安全风险。我不会将所有使用专有软件的系统称为“受损”,但您只能信任此类系统,就像您信任销售它们的人一样。

关于纯粹主义的事情,我不会比任何其他笔记本电脑更信任他们。他们的常见问题解答指出:

Purism 为引导加载程序、内核、操作系统和软件中的所有软件提供源代码,并且其中不包含任何二进制 blob。人们可以安全地验证每一行代码。

然而,与上述说法相反,它似乎确实使用了二进制 blob。专门针对无需二进制 blob 即可使用的硬件的 libreboot 项目写道

是否支持 Purism Librem 笔记本电脑?#librem

可能不是。由于使用英特尔芯片组,这些笔记本电脑存在一些隐私、安全和自由问题。请参阅#英特尔。有无法替换的签名专有 blob(例如 Intel 管理引擎和 CPU 微码更新)。它使用专有的英特尔 FSP blob 进行整个硬件初始化,英特尔不会提供其源代码。Video BIOS(图形硬件的初始化固件)也是专有的。libreboot 项目建议完全避免使用此硬件。

我显然希望项目具有更高的透明度,该项目需要额外的资金来保护我的隐私。

二进制 blob 是否会构成潜在的安全威胁?

简而言之:是的。

根据定义,二进制 blob 是不可审计的(除非进行扩展的逆向工程)。你不知道他们到底在做什么,以及他们是否有后门。

我想强调的一个特殊二进制 blob 是Intel 管理引擎(和 AMD 等效的平台安全处理器)中的二进制 blob。它是一个运行在直接连接到您的 CPU 和主内存的处理器上的 blob;它可以完全访问您的操作系统、硬件,并在您的计算机关闭但通电时保持开启状态

它是一个远程后门,因为它的预期用途是允许通过 Internet 进行 BIOS 管理、微码更新等,方法是直接访问您的网络硬件并通过只有英特尔(大概)拥有的密钥加密的通道与英特尔服务器通信。在大多数较新的 CPU 中不能禁用它。

你可以说:“好吧,如果我不能信任我的硬件开发人员,我就没有人身安全,而且我还是被搞砸了”,但是为什么要选择你知道有英特尔和美国政府可以使用的后门的硬件呢?哪一天可能会被其他人利用?

所有最近的计算机都受此影响吗?

是的。每个 i3、i5 和 i7 处理器都是。每个现代英特尔处理器。每个现代 AMD 处理器。粗略计算告诉您,至少有 3 亿台活动计算机(根据维基百科,发达国家的互联网上有大约 4.33 亿台计算机)。

我不了解你,但我觉得这非常令人不安。

第一个在英特尔管理引擎中发现漏洞利用的人将在一天内获得数十或数百百万台计算机的攻击,或者将能够危害数十或数百台计算机。

那么 Librem 是隐私和安全方面的好选择吗?

不。它带有 Intel ME 和其他一些不太好的东西(BIOS 是一个 blob,微代码升级是作为签名 blob 提供的(所以你不能使用你自己的),视频 BIOS 是一个 blob)。它确实有很好的硬件终止开关,但可以用外部网络加密狗和相机上的一条胶带代替。

操作系统看起来不错,但我看不出它比 Kubuntu 或其他一些用户友好的 Ubuntu/Debian/Arch 发行版更好的地方,而且它很容易安装在任何笔记本电脑上(尽管硬件支持仍然会有所不同一点点;Google 上的“适用于 Linux 的最佳笔记本电脑”似乎对此有非常容易理解的指南)。

Reddit 上的一个人对Librem 笔记本电脑进行了全面细分,我认为它提供了非常清晰的概述。

有没有没有二进制 blob 的笔记本电脑?

是的,所有 FSF 认证的笔记本电脑。Libreboot T400 是三款产品中规格最好的一款。是的,经过 FSF 认证的笔记本电脑很少,完整列表在这里

另一个需要查看的地方可能是受支持的 Libreboot 硬件列表,但是您必须自己刷新引导加载程序并自己处理笔记本电脑上的其他固件。

如果您要购买注重隐私的笔记本电脑,我个人建议您考虑使用Libreboot X200Libreboot T400 。它们由自由部有限公司制作,其中包括 Libreboot 的主要贡献者 Leah Woods。

这两个运行笔记本电脑 Libreboot,它不使用任何二进制 blob(Libreboot 是 Coreboot 的 deblobbed 发行版)。实际上,这些笔记本电脑没有任何二进制 blob,并附带有关构建和刷新您自己的固件的说明。

除了提供所有固件的完整资源并具有用于网络和摄像头/麦克风的硬件终止开关外,它还具有完全禁用的 Intel ME(管理引擎)。

您将获得更少的性能(英特尔 Core2Duo 可升级到 Core2Quad),但它是唯一能满足所有隐私和自由的选项之一。

二进制 blob 是您必须发送到设备以使其工作的代码,但您无法检查或修改。它们对您的法律自由的威胁比对您的隐私的威胁更大。对于 Intel 芯片,您不能编写自由软件 BIOS,因为它必须包含非自由二进制 blob。

二进制 blob 让芯片将代码存储外包给软件。另一种方法是将(仍然是非免费的)代码放在内置闪存上。当然,昂贵的 CPU 芯片是放置闪存的可怕场所,因此如果您可以将其放在一边,只在芯片需要时发送 blob,您可以节省一些现金。

请注意,为嵌入式存储服务的芯片仍然可以做与带有斑点的芯片完全相同的潜在侵入性事情。这个问题更像是一个合法的问题,因为你被迫触摸 blob 来使用芯片,并且这会污染 blob 的非自由许可证的自由软件。