你怎么能相信你的硬件没有后门?

信息安全 硬件 后门
2021-08-27 18:40:25

我们知道英特尔处理器有一个 ( ME ),所以这绝对是可能的。

一般来说,即使制造商说没有后门,你怎么能相信 CPU 或网卡这样的硬件呢?对于软件,这很容易,因为您可以访问源代码验证并编译它。但是对于硬件呢?

4个回答

简短的回答是,你不能。更长的答案:可以做一些事情来增加您对硬件的信任,尽管它们也只是将信任的根源转移到其他地方。

您提出的第一个有趣的问题是软件/硬件的区别。为了不讨论这两者之间可能模糊的边界,我将“硬件”理解为在某些物理设备中实现的不可重新配置的逻辑(即我将排除固件,如英特尔 ME 或微码)。

后门可以在多个阶段插入物理设备:从概念架构到逻辑设计,再到制造。为确保没有插入后门,您需要验证从最终产品到开始的整个过程。

好消息是初始阶段与软件非常相似——事实上,逻辑通常是使用硬件描述语言(HDL) 设计的。这些设计可以像审计软件一样被审计。从这里到制造的步骤涉及多次转换,例如使用合成软件到光刻掩模,其方式类似于使用编译器编译软件的方式。这些也可以像编译器一样被审计。(作为切线 -引导问题是一个非常有趣的问题,您考虑编译器编译您的编译器的可能性是不可信的)

所以这留下了最后一步:制造。此阶段的验证通常通过检查制造过程以及从同一生产批次(使用相同的光刻掩模生产)中随机抽样设备来完成。例如,可以将使用的掩码与经过验证的可信赖副本进行比较,以确保在此阶段没有插入任何后门。同样,随机抽样的设备可以在电子显微镜下进行延迟和检查。

但是,作为消费者,您通常无法使用这些步骤。对于大多数芯片生产商来说,整个过程涉及大量保密的商业机密,并且不公开。这就是为什么要创建开源硬件工具链和通用逻辑模块和系统的 HDL 实现的运动——尽管这里也存在许多问题

最后,正如@knallfrosch在评论中正确指出的那样,后门也可能在生产后被插入,无论是在分销商处,当产品被运送给客户时,或者就地(参见evil maid attack)。国家安全局的此类做法的一个例子通过斯诺登事件曝光。此阶段的篡改范围可能从添加到设备的硬件植入到编辑硅芯片上的电路,例如使用聚焦离子束 ( FIB )。此阶段的缓解措施通常依赖于这些类型的篡改,留下外部可见的痕迹,这可能会通过使用防篡改包装等额外强制执行(日常用户可以做的是闪光和指甲油技术)。此外,作为制造副产品的微小设备特定缺陷可用于创建所谓的物理不可克隆功能 ( PUF ),其设计方式可能是篡改肯定会改变或破坏 PUF,因此是可检测的。

plonk 的回答已经概述了增加对硬件的信任的技术选项,例如设备检查或开源硬件。

然而,归根结底,事情是:

你需要信任某人。

从根本上说,这对于任何类型的硬件(或服务)使用用途都是相同的:您怎么知道门锁的制造商或安装人员没有保留钥匙?你怎么知道你的医生没有秘密地与不正当的公司分享你的机密健康信息以获取回扣?

答案是:你无法确定——但有强烈的社会和法律激励他们遵守规则。


所以最后只能尽量选择靠谱的厂商。这更像是一个社会问题而不是技术问题。您可以寻找的一些东西是:

  • 供应商的激励措施是什么?他们似乎想建立一个可持续发展的企业吗?
  • 供应商受哪些法律约束?当他们打破它们时,他们会失去什么?
  • 他们受到什么样的审查?任何后门被发现的可能性有多大?

最后一点是开源硬件之类的帮助:

即使无法验证硬件,其他人(或多人)也可以,并且被发现的风险将有助于保持供应商的诚实。

没关系

硬件后门是昂贵的。非常贵。 你需要影响复杂的供应链,以及对它们负责的人。每次使用后门都有被发现和发布的风险,随着时间的推移变得无用,并降低个人和公司代价高昂的声誉。对于这些时间中的每一次,您都需要考虑给攻击者带来的好处与攻击的成本。

硬件通常是系统中最安全的部分坦率地说,您计算机上通常拥有的软件的安全记录非常糟糕即使您是一个高于平均水平的用户,您也很有可能在一年内的计算机软件中至少存在一个严重漏洞。

此外,没有办法对任何事情有绝对的信任古语有云:只有关机的电脑才是安全的!并与任何电源断开连接。

但这并不能真正回答你的问题——你怎么能相信它(有点)?实际上,作为感兴趣的用户或开发人员,您可以做许多实际的事情。


检测硬件后门

在最现实的攻击场景中,硬件后门必须升级为操作系统级别的入侵或远距离通信(网络、无线电等)。您可以设置系统来检测这些。

入侵检测系统可以帮助您检测后门。这既可以在潜在受损的系统内完成,也可以在网络级别完成。显然,到目前为止,您只能信任前者(继续阅读以缓解该问题)。

如果防病毒和rootkit检测是基于启发式的,它们可能会提供一些非常基线的保护,但如果它们是众所周知的,则很可能会被具有硬件后门的攻击者规避。

如果您有理由怀疑它们,SDR接收器可让您监控电波是否存在异常。说起来容易做起来难,但在受控环境的可能性范围内。

啊

RTL SDR 的成本约为 25 美元

值得注意的是,老练的攻击者可能会将可检测的时间窗口保持在非常小的范围内,因此单独检测可能对您没有太大帮助。


减轻攻击

使用开源硬件是您可以做的最简单的事情。例如,有许多供应商销售完全开放的系统,包括 BIOS和外围固件,或者禁用英特尔的管理引擎。

配置良好的硬件防火墙可以防止与外界的不良通信。

当然,防火墙本身也有可能被攻破使用不同的硬件、软件和操作系统堆叠多个防火墙/IDS 会使攻击者(和您!)的代价更高

如果您的攻击者非常老练,他们可能会决定构建一个网状网络来完全绕过您的防火墙,因此最好考虑一下您的计算机可以在同一网络上与哪些其他事物进行通信。

实际上,拔掉网络可能不是一个坏主意。当您使用它时,对任何可能具有嵌入式无线电发射器的插入 USB 电缆执行相同操作,包括您的键盘。或者也许只是把你的电脑放在一个大保险箱里,这样会更安全,也更方便。

如果你真的有足够的时间、金钱和意志力来完成整个计算机内部安全的事情,那你真的很痛苦。您的攻击者将完全避开网络他们将使用您听不见的声音从您的计算机传输数据加热您的 CPU将您的主板线转换为 GSM 天线

也许您应该考虑改用打字机:)

我的书架上有一台电脑,不可能有后门。

原因很简单。没有一个看似合理的后门设计可以知道我是如何连接 IO 端口的。我的汇编代码手动驱动所有 IO,包括 IO 时钟,就 CPU 而言,这只是另一个数据引脚。

此外,如果有寻找 SD 卡的后门,我会注意到,因为我用 SD 引脚上的 LED 调试了我的 SD 组件。

拥有一台没有后门的机器可用于验证另一台机器是否没有后门。我可以使用这台机器作为源来引导一个编译器,并用它来交叉检查以太网端口的东西,依此类推,直到我可以检查当前的千兆以太网。

在 IME 的情况下,它很容易失败,原因很简单,如果您添加带有以太网控制器的 PCI 卡,它没有驱动程序(这几乎是任何非英特尔的),它就无法工作。

但是不信任是非常昂贵的,你可能买不起。英特尔对 IME 失去了很多信任(应该在 BIOS 设置中有一个简单的开/关开关,确实有效),而且很难恢复。