Linux 内核是否容易受到 LazyFP (CVE-2018-3665) 的攻击?

信息安全 linux 脆弱性 硬件 核心 侧信道
2021-08-16 23:12:01

最近,发现了一种利用延迟 FPU 状态切换来泄露 MMX、SSE 和 AVX 寄存器内容的侧信道攻击。该漏洞只能在使用惰性 FPU 保存而不是急切 FPU 保存时被利用。我正在阅读关于 Linux 内核是否易受攻击的冲突来源。一位消息人士声称它很脆弱。但是,2016 年的另一个资源解释了 Linux 默认使用 Eager FPU 切换,表明它不受影响。2016 年的提交显示了急切切换何时成为默认设置。

Linux 是否易受攻击,或者是否由于使用 Eager FPU 切换而没有受到影响?我的理解是它只有在 时才易受攻击eagerfpu=off,这不是默认设置。我的理解正确吗?

3个回答

您显示的补丁之前的内核版本会受到影响。例如,此RedHat 安全公告指出:

  • RHEL-7 将在 Sandy Bridge 和更新的 Intel 处理器上自动默认为(安全的)“急切”浮点寄存器恢复。AMD 处理器不受影响。

  • 您可以通过使用 eagerfpu=on 参数启动内核以启用 Eager FPU 恢复模式来缓解旧处理器上的此问题。在这种模式下,无论当前进程是否调用 FPU 指令,都会为每个任务/上下文切换保存和恢复 FPU 状态。该参数不会对性能产生负面影响,并且可以在没有负面影响的情况下应用于未受影响的处理器。

RHEL 6 及更早版本受此 CVE 影响,不提供 eagerfpu 参数。Red Hat 将发布将改变行为的更新。

这表明补丁将被向后移植到早期的内核,因为它需要修改内核本身,而不是简单地在编译时更改参数。

引用Redhat信息

RHEL-7 将在 Sandy Bridge 和更新的 Intel 处理器上自动默认为(安全的)“急切”浮点寄存器恢复。AMD 处理器不受影响。...您可以通过使用 eagerfpu=on 参数启动内核以启用 Eager FPU 恢复模式来缓解旧处理器上的此问题

对于 Debian ,lazyFP看起来对于任何使用 4.9 或更高版本内核的东西都是固定的。Debian 还链接到01/2016内核提交消息,其中默认为所有 CPU 启用了 eagerfpu。

至于其他发行版,需要查看使用了哪个内核,可能应用了哪些补丁以及使用了哪些配置设置。根本没有“Linux”,而是许多使用不同内核版本、不同补丁和不同设置等的发行版。

大多数情况下是的。

Linux 操作系统供应商正在尝试进行防御,现在他们提供了多个参数,当您希望使用特殊的 CPU 指令时,您可以启用/禁用这些参数。这是他们不必不断修补内核的方式。如果它易受攻击,请禁用该参数并继续...

要使参数可用,您需要最新的内核更新。

默认情况下启用缓解措施的那些,如红帽,仅限于特定的处理器集。如果找到此特定 CPU,它们会自动缓解。如果未找到,它们将故障转移到关闭状态。

因此,您需要检查您的 Linux Flavor 是什么,您的 CPU 是什么以及您使用的内核是什么,以了解您是否受到缓解。