Spectre/Meltdown - 更新微代码

Spectre/Meltdown - 更新微代码

我正在尝试手动更新 Intel i5-2410M 的微码。

Dell XPS 15z 2011 - 英特尔 i5-2410M(Sandy bridge)。

Ubuntu 18.04(Debian)| Gnome | Grub2 | Systemd

我已经从 Ubuntu 存储库安装了一些预先打包的微码,但我不知道其中是否适用于我:

apt install intel-microcode

dmsg | grep microcode

[0.000000]微码:微码提前更新至修订版0x2d,日期=2018-02-07

[1.259590]微码:sig=0x206a7,pf=0x10,修订=0x2d

[1.259643]微码:微码更新驱动程序:v2.2。

请注意日期是 2018 年 2 月 7 日。英特尔将于 2018 年 4 月 25 日发布 i5-2410M。

https://downloadcenter.intel.com/download/27776/Linux-Processor-Microcode-Data-File?product=52224


CVE-2018-3640 [恶意系统寄存器读取] 又名“变体 3a”

  • CPU 微码可缓解该漏洞:否

状态:易受攻击(需要最新的 CPU 微码来缓解此漏洞)

如何修复:需要升级 CPU 的微码以缓解此漏洞。这通常在启动时由内核完成(升级在重新启动后不会持续,这就是每次启动时都要完成的原因)。如果您使用的是发行版,请确保您是最新的,因为微码更新通常与发行版内核一起提供。您的 CPU 型号的微码更新的可用性取决于您的 CPU 供应商。您通常可以通过搜索您的 CPUID(在“硬件检查”部分中显示)在线查找您的 CPU 是否有可用的微码更新。微码更新就足够了,不需要额外的操作系统、内核或软件更改。

CVE-2018-3639 [推测性存储绕过] 又名“变体 4”

  • 根据 /sys 接口缓解:否(易受攻击)

  • 内核支持推测存储绕过:是(在 /proc/self/status 中找到)

状态:易受攻击(您的 CPU 不支持 SSBD)

如何修复:您的内核足够新,可以使用 CPU 微码功能进行缓解,但您的 CPU 微码实际上并未提供内核使用的必要功能。因此,您的 CPU 的微码需要升级。这通常在启动时由您的内核完成(升级在重新启动后不会持续存在,这就是每次启动时都要完成的原因)。如果您使用的是发行版,请确保您是最新的,因为微码更新通常与发行版内核一起提供。您的 CPU 型号的微码更新的可用性取决于您的 CPU 供应商。您通常可以通过搜索您的 CPUID(在“硬件检查”部分中显示)在线查找您的 CPU 是否有可用的微码更新。


» grep . /sys/devices/system/cpu/vulnerabilities/*

/sys/devices/system/cpu/vulnerabilities/meltdown:缓解:PTI

/sys/devices/system/cpu/漏洞/spec_store_bypass:易受攻击

/sys/devices/system/cpu/vulnerabilities/spectre_v1:Mitigation:__user 指针清理

/sys/devices/system/cpu/vulnerabilities/spectre_v2:Mitigation:完整通用 retpoline、IBPB、IBRS_FW

有人能提供一些我应该研究的内容吗?我现在陷入了困境。感谢您抽出时间。

答案1

简短回答:您拥有最新版本。该下载包含许多 CPU 的微代码更新。至少有一个已更新,但不是针对您的 CPU。

细节:

注意微码 sig 是 0x206a7 修订版 2d。下载微码更新并解压。在调用的文件中查找list包含 06-2a-07 的行。(为什么数字被交换并用零填充,我不知道。)

06-2a-07/00000012       0000002d        2018-02-07

因此您拥有的是最新版本。

您需要提供您的操作系统,但至少使用 Gentoo 更新微代码很容易。您可以通过以下方式使用微代码创建 initramfs:

iucode_tool -S --write-earlyfw=/boot/early_ucode.cpio /lib/firmware/intel-ucode/*

Gentoo 已修补 grub 以自动包含此 initramfs。

如果您想检查操作系统的这一点:找到系统使用的任何 initramfs。使用 提取它cpio -idv < foo.img。微码将被调用kernel/x86/microcode/GenuineIntel.bin然后您可以根据 tarball 中的内容进行检查。例如:

md5sum kernel/x86/microcode/GenuineIntel.bin
63b77e80b39b5a3ed81a30682ef2c5ab  kernel/x86/microcode/GenuineIntel.bin

从您提取 tarball 时创建的 intel-ucode 目录中:

md5sum * | grep 63b77e80b39b5a3ed81a30682ef2c5ab
63b77e80b39b5a3ed81a30682ef2c5ab  06-2a-07

相关内容