NetBSD 是一款基于 BSD 的操作系统,跨许多体系结构提供了可移植性。 NetBSD 8.0 是该系统的一个主要版本,该版本带来了 Spectre V2/V4、Meltdown 、 Lazy FPU 漏洞缓解措施以及许多新特性和 Bug 修复。
NetBSD 通过独立虚拟空间(SVS)实现了Meltdown 缓解措施,当在用户空间运行时,它会取消内核页面映射。对于所有易受攻击的CPU ,这是默认启用的,可以通过执行如下命令手动禁用:
<pre data-anchor-id="c813">
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
评论