我正在更新我的内核以保护我的系统免受“Retbleed”攻击,并且我知道受影响的 32 位事物尚未得到必要的缓解措施。我想知道需要在 Linux 内核中禁用哪些 32 位功能才能得到充分保护。
我已经找到了CONFIG_X86_X32_ABI
,CONFIG_IA32_EMULATION
到目前为止。如果可能的话,我希望保持执行 32 位二进制文件的能力,但性能会降低。这些配置选项中的哪一个(或两个)会启用该漏洞?我还需要禁用其他功能吗?
我知道一些较旧的 CPU 必须禁用 SMT 才能得到充分保护,但我的CPU不是其中之一。
答案1
运行 32 位内核。
如果您能够打开CONFIG_IA32_EMULATION
,那么您运行的不是 32 位内核。
您正在运行 64 位内核。这是适合您运行的正确类型的内核。无需更改配置。
https://lore.kernel.org/lkml/Ys%[电子邮件受保护]/
我们在 x86 机器上启动 i386 内核。随着 Spectre V2 补丁合并到 Linux 主线中,我们已经注意到 RETBleed:警告:Spectre v2 缓解措施使 CPU 容易受到 RETBleed 攻击,可能导致数据泄露!
那很好笑。我认为这不是一个值得关注的有效组合,但我将让 Pawan 来评论它是否是“真实”值得关注的东西。
是的,到目前为止还没有人关心修复 32 位。如果有人真的很好关心并希望投入精力,我想我会审查补丁,但说真的,你不应该在基于 Skylake / Zen 的系统上运行 32 位内核,这太愚蠢了。