英特尔工程师的Linux补丁将提醒用户更新过时的微码
2024-11-08 / 阅读约3分钟
来源:tomshardware

(图片来源:英特尔)

一个Linux补丁表明,英特尔工程师计划实施一项功能,如果系统正在运行过时的微码,则会将系统标记为易受攻击(通过Phoronix)。这一计划源于最近英特尔第13代和第14代产品降级风波,这起风波正促使英特尔团队面临集体诉讼。

该补丁认为,无法在运行旧微码的系统上运行并认为其安全。微码基本上是CPU中的一组指令,可以在发布后进行更新以修复关键缺陷和安全漏洞。该补丁提议应清晰、简洁地通知用户他们的电脑可能不安全,将系统标记为易受攻击或不易受攻击。作者呼吁在“/sys/devices/system/cpu/vulnerabilities/old_microcode”中报告此漏洞,以便通过单个文件提示用户更新其微码。

(图片来源:lore.kernel)

已引入一个新的X86_BUG_OLD_MICROCODE标志,用于确定CPU是否正在运行旧微码。对于大多数CPU,Linux将维护一个基于英特尔git存储库的最新微码版本列表。

这种方法存在一个小缺陷,因为微码可以通过BIOS或操作系统的内核进行更新。CPU通常会选择最新的微码,但是,如果BIOS的微码较新,则系统可能会报告误报,即使CPU本身使用的是最新版本。这是因为上述git存储库仅托管操作系统可加载的微码。如果某个特定的BIOS供应商推出了新的微码(不属于git存储库的一部分),则内核将无法判断CPU是否使用的是最新版本。为了解决这个问题,作者建议英特尔发布一份包含所有CPU及其相应微码的“权威列表”,以方便用户使用和访问。

当然,这不会限制您运行旧微码。此次更新的目的是通知最终用户他们的系统容易受到缺陷或更具体地说,CPU降级的影响。关于降级问题,英特尔已开始通过内核本身推出微码更新,以免用户费心进入BIOS。另一方面,英特尔报告称,其解决CPU最小电压(Vmin)显著上升的0x129微码不会通过Windows更新提供。

我们将看到主流的Linux分支是否会接受这一概念,甚至为AMD的锐龙系列实施类似的功能。这个想法是可行的,但实施需要一些改进,特别是在区分操作系统加载的微码和BIOS加载的微码方面。