研究人员称,低级主板安全密钥在 MSI 漏洞中泄露

研究人员称,低级主板安全密钥在 MSI 漏洞中泄露

源节点: 2641177

大约一个月前,我们写了一篇关于 数据泄露通知 由主要主板制造商 MSI 发布。

该公司表示:

MSI 的部分信息系统最近遭受了网络攻击。 […] 目前,受影响的系统已逐步恢复正常运行,对金融业务未造成重大影响。 […] MSI 敦促用户仅从其官方网站获取固件/BIOS 更新,不要使用官方网站以外来源的文件。

两天前,一个名为 Money Message 的网络勒索团伙声称窃取了 MSI 源代码、BIOS 开发工具和私钥,该公司因此认罪。

当时,不法分子还处于倒计时状态,并声称会 “当计时器到期时发布被盗数据”:

违规计时器到期前三小时的屏幕截图 [2023-04-07]。

时钟停止

上面截图中的“显示计时器”于 2023-04-07 到期,也就是一个多月前,但暗网上的 Money Message 网站自该团伙最初发布以来没有其他变化:

一个月后 [2023-05-09]。

尽管如此,漏洞研究公司 Binarly 的研究人员声称,他们不仅掌握了此次入侵中被盗的数据,而且还在其中搜索了嵌入的加密密钥,并得出了大量结果。

到目前为止,Binarly 声称 Github上Twitter 从其拥有的数据中提取了大量签名密钥,包括它描述的 [2023-05-09T14:00Z] 为:

  • 1 个英特尔 OEM 密钥。 显然,这个键可以用来控制11款不同主板的固件调试。
  • 27 个图像签名密钥。 Binarly 声称这些密钥可用于为 57 种不同的 MSI 主板签署固件更新。
  • 4 个 Intel Boot Guard 键。 这些泄露的密钥显然控制着 116 种不同 MSI 主板固件代码的运行时验证。

基于硬件的 BIOS 保护

根据英特尔的 自己的文件,现代基于英特尔的主板可以受到多层加密安全保护。

先到了 BIOS卫士,它只允许使用制造商指定的加密密钥签名的代码获得对用于存储所谓的闪存的写入访问权限 初始引导块, 或 IBB。

顾名思义,IBB 是主板供应商启动代码的第一个组件所在的位置。

破坏它将使攻击者对受感染计算机的控制不仅低于以后加载的任何操作系统的级别,而且低于官方 EFI 中安装的任何固件实用程序的级别(扩展固件接口) 磁盘分区,即使该分区可能受到固件自身的安全启动数字签名系统的保护。

BIOS Guard到来后 引导卫士,它验证从 IBB 加载的代码。

这里的想法似乎是,虽然 BIOS Guard 应该首先阻止任何非官方固件更新被刷新,但拒绝对流氓固件更新工具的写访问……

…由于固件映像签名密钥泄露,无法判断由主板供应商“正式”签名的固件不可信。

这就是 Boot Guard 介入的地方,它提供第二级证明,旨在在每次启动的运行时检测系统是否正在运行未经批准用于您的主板的固件。

一次写入密钥存储

为了加强 BIOS Guard 和 Boot Guard 提供的加密验证级别,并将该过程与特定主板或主板系列联系起来,它们使用的加密密钥本身并不存储在可重写闪存中。

他们得救了,或者 ,用行话来说,就是嵌入在主板上的一次写入内存。

这个单词 源于这样一个事实,即存储电路被构造为一系列纳米级“连接线”,实现为微型电保险丝。

这些连接可以保持不变,这意味着它们将读出为二进制 1(或 0,取决于它们的解释方式),或者“熔断”——换句话说,融合——在一次性修改中永久翻转它们成二进制 0(或 1)。

触发位刻录过程本身受保险丝保护,因此主板供应商有一次性机会设置这些所谓的值 现场可编程保险丝.

这是个好消息。

一旦 BIOS Guard 和 Boot Guard 加密验证密钥被写入易熔存储器,它们就会被永久锁定,并且 永远无法颠覆.

但相应的坏消息当然是,如果与这些安全到世界末日的公钥相对应的私钥遭到泄露,那么烧毁的公钥 永远无法更新.

同样,如上所述,调试级别的 OEM 密钥为主板供应商提供了一种在固件启动时控制固件的方法,包括逐条指令观察、调整其行为、监视和修改数据它保存在内存中,等等。

可以想象,这种对启动过程的访问和控制旨在帮助开发人员在实验室中获得正确的代码,然后再将其烧入将提供给客户的主板。

英特尔公司 文件 列出三个调试级别。

绿色 表示允许任何人进行调试访问,这不应该暴露任何低级机密或允许修改启动过程。

橘色 表示允许拥有相应供应商私钥的人进行完整的读写调试访问。

红色 表示与橙色相同,但指的是属于 Intel 的主私钥,可以解锁任何 vnedor 的主板。

正如英特尔在其文档中相当明显且直截了当地指出的那样:

假设平台制造商不会与任何其他调试器组共享他们的 [橙色模式] 身份验证密钥。

不幸的是,Binarly 声称骗子现在已经泄露了一个橙色模式密钥,该密钥可以在 HP、联想、Star Labs、AOPEN 和 CompuLab 提供的 11 种不同主板上启用低级启动时调试。

当心bootkit

因此,Binarly 的声明似乎表明,使用固件签名密钥和 Boot Guard 签名密钥,攻击者可能不仅能够首先欺骗您和您的固件更新工具来安装看起来像真正的固件更新……

…但也能够欺骗通过引导防护保护被硬件锁定的主板,使其允许加载恶意固件,即使更新修补了初始引导块本身也是如此。

同样,能够在固件调试模式下启动被盗计算机可能允许攻击者运行或植入流氓代码、提取机密或以其他方式操纵低级启动过程,使受害者的计算机处于不受信任、不安全和不安全的环境中状态。

简而言之,至少在理论上,您不仅可以得到一个 rootkit的,但 的bootkit.

A rootkit的,用行话来说,是操纵操作系统内核的代码,以防止操作系统本身以后检测、报告或阻止某些类型的恶意软件。

一些 Rootkit 可以在操作系统加载后被激活,通常是通过利用内核级漏洞对操作系统代码本身进行未经授权的内部更改。

其他 Rootkit 通过破坏部分基于固件的启动序列来避免内核级安全漏洞的需要,目的是在操作系统开始加载之前激活安全后门,从而危及一些底层代码,这些代码在其上运行系统自身的安全依赖。

和a 的bootkit粗略地说,将这种方法更进一步,以便在固件引导过程中尽可能早地加载低级后门,并且尽可能不被发现,甚至可能在计算机检查和读取硬盘上的任何内容之前。

一个 bootkit 下降到那个级别意味着甚至擦除或更换整个硬盘(包括所谓的 扩展固件接口系统分区,缩写为 EFI 或 ESP)不足以对系统进行消毒。

典型的 Mac 磁盘设置。
EFI 分区被相应地标记。
典型的 Windows 11 磁盘设置。
Type c12a7...ec93b 表示 EFI 分区。

作为类比,您可以将在操作系统之后加载的 Rootkit 想象成有点像试图贿赂陪审团以在刑事审判中宣告有罪的被告无罪。 (发生这种情况的风险是刑事陪审团通常有 12、15 或更多成员的原因之一。)

在固件过程中加载较晚的 Rootkit 有点像试图贿赂检察官或首席调查员,让他们做得不好,并至少留下一些证据漏洞,让有罪的部分可以钻过去。

但 bootkit 更像是让立法机关本身废除被告被指控所依据的法律,这样一来,无论证据的收集和出示多么仔细,案件都无法继续进行。

怎么办呢?

Boot Guard 公钥一旦刻录到您的主板中,就无法更新,因此如果它们对应的私钥被泄露,您将无能为力。

受损的固件签名密钥可以退役和更换,这让固件下载器和更新工具有机会在未来警告您有关使用现在不受信任的密钥签名的固件,但这并不能积极防止被盗的签名密钥被使用.

丢失签名密钥有点像丢失办公楼中每一层楼和每一间套房的物理万能钥匙。

每次更换一把受损的锁,都会降低被盗钥匙的用处,但除非并且直到您更换了每一把锁,否则您还没有正确解决安全问题。

但是,如果你在一夜之间立即更换建筑物中的每一把锁,你就会把所有人都锁在门外,因此你将无法让真正的租户和工作人员在他们可以交换旧钥匙的宽限期内继续使用他们的办公室对于新的。

因此,在这种情况下,您最好的选择是严格遵守 MSI 的原始建议:

[O] 仅从 [MSI] 官方网站获取固件/BIOS 更新,并且 [不] 使用来自官方网站以外来源的文件。

不幸的是,该建议可能归结为五个并非完全有用的词和一个感叹号。

伙计们,小心点!


更新。 英特尔的公关公司给我们发了一封电子邮件,告诉我们该公司 “了解这些报告并积极调查。” 他们还要求我们指出 “英特尔 Boot Guard OEM 密钥由系统制造商生成,[因此] 这些不是英特尔签名密钥。” 缩写 OEM 是 原始设备制造商,一个有点令人困惑但长期存在的术语,它不是指产品中内置的单个组件的供应商,而是指制造完整系统的供应商。 例如,当您从 MSI 购买您可能称之为“Intel 主板”的产品时,MSI 是 OEM,而 Intel 是处理器芯片的供应商,也许还有其他芯片组组件,是成品的核心。 (如果您的主板是自行车安全电缆,那么英特尔会制作锁,但 OEM 会焊接电缆,用保护涂层覆盖产品,然后选择密码组合。)[2023-05 -09T22:45Z]


时间戳记:

更多来自 裸体安全