研究人员已经提取了加密各种英特尔CPU更新的密钥,这一壮举可能会对芯片的使用方式以及可能的保护方式产生广泛的影响。
该密钥可以解密英特尔为修复安全漏洞和其他类型的错误而提供的微码更新。拥有更新的解密副本可能会让黑客对其进行反向工程,并准确地了解如何利用它正在修补的漏洞。该密钥还可能允许英特尔以外的各方--比如恶意黑客或业余爱好者--用自己的微码更新芯片,尽管定制的版本在重启后无法存活。
独立研究员Maxim Goryachy在一条直接信息中说:“目前,很难评估安全影响。”但无论如何,这是英特尔处理器历史上第一次可以在内部执行微代码并分析更新。Goryachy和另外两名研究人员-Dmitry Sklyarov和Mark Ermolov,都是安全公司Positive Technologies的成员-共同参与了这个项目。
任何基于英特尔Goldmont架构的芯片--赛扬、奔腾或Atom--都可以提取密钥。
这一发现的起源是在三年前,当时戈利亚奇和埃尔莫洛夫发现了一个索引为英特尔SA-00086的关键漏洞,该漏洞允许他们在独立的芯片核心内执行他们选择的代码,其中包括一个被称为英特尔管理引擎的子系统。英特尔修复了该漏洞并发布了补丁,但由于芯片总是可以回滚到较早的固件版本,然后加以利用,因此无法有效消除该漏洞。
五个月前,这三个人能够利用该漏洞进入“红色解锁”,这是一种嵌入英特尔芯片的服务模式(见第6页)。公司工程师在芯片公开发布前使用此模式调试微码。为了向电影“黑客帝国”致敬,研究人员将他们的工具命名为访问这个以前未被记录在案的调试器Chip Red Pill,因为它允许研究人员体验芯片的内部工作,而这通常是禁止的。这项技术使用USB电缆或特殊的英特尔适配器将数据输送到易受攻击的CPU。
在红色解锁模式下访问基于Goldmont的CPU允许研究人员提取一个称为MSROM的特殊ROM区域,MSROM是微码定序器ROM的缩写。从那里开始,他们开始了对微码进行反向工程的艰苦过程。经过几个月的分析,它披露了更新过程和使用的RC4密钥。然而,这项分析没有透露英特尔用来以密码方式证明更新真实性的签名密钥。
所描述的问题并不代表对客户的安全风险,我们也不依赖红色解锁背后的信息混淆作为一种安全措施。除了英特尔-SA-00086缓解措施外,遵循英特尔制造指南的原始设备制造商还降低了本研究所需的原始设备制造商特定解锁能力。
用于验证微码的私钥不在硅片中,攻击者无法在远程系统上加载未经验证的补丁。
这意味着攻击者不能使用Chip Red Pill和它暴露的解密密钥来远程攻击易受攻击的CPU,至少不能在没有将其链接到其他目前未知的漏洞的情况下。同样,攻击者也不能使用这些技术感染戈德蒙特设备的供应链。但这项技术确实为能够物理访问运行这些CPU之一的计算机的黑客提供了可能性。
MongoDB的产品安全负责人肯恩·怀特(Kenn White)告诉我:“有一种常见的误解,认为现代CPU大多是出厂修复的,偶尔它们会得到狭义的微码更新,特别是严重的错误,”MongoDB的产品安全负责人肯恩·怀特(Kenn White)告诉我。“但就这一点而言(很大程度上并非如此),工程师可以用硅片王国的钥匙来做什么,实际上几乎没有什么限制。”
一种可能是想让自己的CPU扎根的业余爱好者,就像人们越狱或扎根iPhone和Android设备,或者侵入索尼的PlayStation3游戏机一样。
从理论上讲,也有可能在邪恶女仆攻击中使用芯片红色药丸,在这种攻击中,某人可以短暂地访问设备,对其进行黑客攻击。但在这两种情况下,黑客攻击都会受到束缚,这意味着只有在设备打开的情况下,黑客攻击才会持续。一旦重新启动,芯片将返回到其正常状态。在某些情况下,在CPU内执行任意微码的能力对于攻击加密密钥(如可信平台模块中使用的密钥)可能也很有用。
“就目前而言,只有一个但非常重要的结果:对微码补丁进行独立分析,这是到目前为止还不可能的,”积极技术研究员马克·埃尔莫洛夫(Mark Ermolov)说。“现在,研究人员可以看到英特尔是如何修复一个或另一个错误/漏洞的。这真是太棒了。微码补丁的加密是一种通过隐蔽实现的安全。“