NetBSD 8.0带来Spectre V2/V4、Meltdown、Lazy FPU缓解措施

NetBSD是一款基于BSD的操作系统,跨许多体系结构提供了可移植性。NetBSD 8.0是该系统的一个主要版本,该版本带来了Spectre V2/V4、MeltdownLazy FPU漏洞缓解措施以及许多新特性和Bug修复。

NetBSD通过独立虚拟空间(SVS)实现了Meltdown缓解措施,当在用户空间运行时,它会取消内核页面映射。对于所有易受攻击的CPU,这是默认启用的,可以通过执行如下命令手动禁用:

# sysctl -w machdep.svs.enabled=0

当安全要求不那么严格,而你又倾向于最大化性能时,禁用SVS是最好的选择。

Spectre V2可以通过一系列的缓解措施来解决,既有硬件方面的,也有软件方面的:

  • Intel IRBS:如果底层的CPU检测到支持这项特性,就会启用它。你可以通过下面的命令禁用:# machdep.spectre_v2.hwmitigated = 0
  • AMD DIS_IND:这是针对AMD CPU的硬件缓解措施,可以像上面那样,通过取消hwmitigation选项的设置来禁用。
  • 针对其他易受攻击的CPU的软件缓解措施(retpoline)。可以通过执行如下命令禁用:# machdep.spectre_v2.swmitigated = 0

对于Spectre V4,NetBSD 8提供了两种主要的缓解措施:Intel SSBD和AMD MONARCH,可以通过执行machdep.spectre_v4.mitigated = 0禁用。

Lazy FPU的缓解则是通过让FPU“过于热心”,迫使它在交换过程中清空寄存器。值得注意的是,NetBSD 8所采用的方法,即仅使易受攻击的FPU表现出过于热心的行为,这和Linux不同,内核启动参数eagerfpu=on会影响所有的FPU,不管它们是否易受攻击。

据NetBSD团队介绍,所有这些缓解措施都无法移植回旧版本的分支:

我们要求所有用户都尽快升级到NetBSD 8.0,避免运行旧版本的NetBSD,除非本地的安全专家已经分析了你的安装设置。

NetBSD 8提供的其他特性包括支持USB 3.0、内核音频混音器、超级用户模式访问预防、可重现构建(可以保证相同的源代码树生成相同的构建)、完整的用户调试信息等等。要了解详细信息,请查看官方的发布说明

查看英文原文:NetBSD 8.0 Brings Spectre V2/V4, Meltdown, and Lazy FPU Mitigations, and More

  • 发表于:
  • 原文链接:http://www.infoq.com/cn/news/2018/07/netbsd-8-released

扫码关注云+社区

领取腾讯云代金券