英特尔/AMD 微码问题如何交付?有可能阻止它们吗?

信息安全 硬件 后门
2021-08-16 12:45:50

阅读本文后,我真的很好奇英特尔或 AMD 的处理器微码更新究竟是如何发布的。数据是通过什么方式传输的?如果有人偏执于普京改用打字机以避免固有的计算机安全漏洞,是否有可能对这些更新进行“防火墙”?如果我使用的是 Linux,我是否可能因为没有收到 Windows 更新而安全?我认为有人会在某个时候注意到从他们的计算机到英特尔或攻击者服务器的连接。

根据我的阅读,安全社区的共识是这些攻击不太可行。但是我还是很好奇这些更新是如何发布的,使用的是什么类型的传输协议。为了实现这一点,计算机必须请求连接以通过正确配置的防火墙,无论后门是否仅存在于处理器本身中,而不是操作系统中。

如果一个人非常偏执,是否可以完全阻止这些更新?

2个回答

一一回答你的问题:

  1. 微码更新文件是如何发布的?

    • 它们是由处理器制造商发布的简单的、相当小的文件。
  2. 它们是如何加载到 CPU 中的?

    • 您的处理器带有一个初始版本,它可以启动。
    • 您的处理器有一系列指令来启动微码上传。
    • 您系统的 BIOS/UEFI 可能有较新的版本,它将在您的引导加载程序获得控制之前加载到处理器中。
    • 操作系统可能有更新的版本。如果是这样,它将在系统启动期间将其加载到处理器中。
  3. 新版本通常如何传输到您的计算机中:

    • 如果您更新了 BIOS,它可能包含更新的版本。
    • 您的操作系统可能已设置为通过系统更新接收微码更新。(现在的都可以)
    • 如果来自英特尔的好心人给你他们微码的加密密钥,你可以加密/签署一个修改后的版本,把它放在你的硬盘上,然后用一些指令加载它。
    • 如果其他人可以使用系统/root 权限(例如病毒、木马)在您的系统上运行进程,他们甚至可以为您/为您执行此操作。
  4. 在我不知道的情况下,有人怎么能应用这样的更新?

    • 如今,BIOS/UEFI 实现本身就是完整的操作系统,具有所有现代功能、网络、USB、图形……支持。
    • 大多数网卡也运行一个完整的、独立的操作系统。除了你可以打赌的错误之外,这些固件都有(部分)记录在案的远程通信协议。
    • 有人利用您的 NIC 中的错误,或使用 magic_key/protocol,可以向您的 CPU 发送正确签名的微码更新。
  5. 这种攻击的可行性如何?

    • 对于对关键持有人具有权威的人:非常容易。
    • 对于精明的邻居孩子:不可能

是的,完全可以避开它们。而且没有任何强制措施。也没有任何特定的方式你不应该能够回滚。

更新要么带有较新的 BIOS,要么操作系统加载它们。在后一种情况下,我们可以假设您使用的是 Linux 或 Windows。

在第一种情况下,它们是从 linux-firmware/intel-ucode 加载的,在第二种情况下,它们是通过普通的 Windows 更新来的。因此,您可以随意安装/卸载它们。

如果您真的很偏执,请删除您在系统上找到的任何mcupdate_AuthenticAMD.dll实例mcupdate_GenuineIntel.dll