UEFI 是否可能泄露加密密钥?

Rai*_*erW 8 encryption windows-7 truecrypt uefi

多年来,我刚刚构建了我的第一台计算机,现在我第一次拥有 UEFI 主板。我在旧模式下安装了 Windows 7,并使用 Truecrypt 加密了我的系统分区。

最近有一篇关于 Lighteater 概念证明的文章说 Lighteater 能够从内存中提取加密密钥。为此,UEFI 需要访问系统内存并将数据存储在未加密空间的某处。对于每个加密用户来说,这应该是令人震惊的。

据我所知,UEFI 本身就是一个运行 Windows 的操作系统。我的问题是,我不知道 UEFI 可以在多大程度上访问正在运行的 Windows 系统及其内存,以及部分内存是否在 UEFI 闪存中进行了处理,这可能会将我的加密密钥泄露给可以访问我计算机的人。我主要担心的是,即使计算机关闭并断开电源连接,有人也可以从主板上的 UEFI 内存中提取这些密钥。任何人都可以解决这个问题吗?

Law*_*ceC 16

据我所知 UEFI 本身就是一个操作系统,然后运行 ​​Windows

UEFI 与操作系统一样复杂,但说 UEFI 在操作系统加载后运行它是不正确的- 尽管有许多在线文本会产生这种印象。

稍微简化一下,表达 UEFI 和 Windows 如何共存的正确方式是“并排”——一旦 Windows 启动,UEFI 就不会在后台运行,但是有 UEFI 代码可以做一些事情,一旦调用就会做一些事情。Windows 启动对 UEFI 固件的任何调用。

UEFI 确实具有与操作系统内核相同的特权级别,并且可以访问所有内存和设备。如果没有操作系统的指导,它通常不会采取任何行动。

因此 UEFI 不会自行泄漏任何密钥——但 UEFI 提供的运行时服务之一是读取和写入 UEFI NVRAM——操作系统中的恶意进程可能会要求 UEFI 将密钥写入 UEFI NVRAM。


但是(戴上锡纸帽)...

自 80486 系列英特尔进程(奔腾之前的一代)以来,引入了称为系统管理中断的功能。SMI 被设计为无法被底层操作系统检测到。现代平台将它们用于:

  • 风扇控制。
  • 模拟硬件 - 例如,通过 SMI,USB 键盘/鼠标看起来像 PS/2 键盘/鼠标,以实现 DOS 兼容性。
  • 模拟其他硬件(您可能会觉得很有趣)。

因此,恶意 UEFI 固件完全有可能在操作系统不知情的情况下在后台运行某些东西。(至少在某些平台上,在操作系统启动之前运行的某些东西也可以在操作系统启动之前修改 SMI 处理程序。)

因此,就像任何软件一样,UEFI 是您选择信任的东西,并且由于它是封闭源代码而不是您自己编译/安装的东西,因此您也选择在某种程度上盲目信任它,就像大多数收缩包装和/或预装软件。

如果您还没有摘下锡纸帽子,请意识到与 UEFI 相比,英特尔博锐英特尔 AMT 之类的东西可以更多地访问您的系统,并且可以远程公开得多。