不为 Meltdown 修补服务器或管理程序有哪些风险?

信息安全 风险管理 崩溃
2021-08-31 08:24:26

有传言称 Meltdown 补丁会导致 30% 的性能损失,如果可能的话最好避免。所以这变成了一个安全与性能风险评估问题。

我正在寻找一个经验法则来评估不修补服务器或管理程序的风险。

通过阅读白皮书,我的理解是,如果您的机器出现以下情况,您肯定需要应用补丁:

  • 是一个运行随机潜在恶意代码的工作站 -事实证明,包括来自随机网站的 java 脚本,
  • 是一个可能运行恶意代码的虚拟机(这基本上成为第一种情况)。
  • 是一个虚拟机管理程序,它在敏感虚拟机旁边运行不受信任的虚拟机(这基本上成为第一种情况),

我的理解是,在以下情况下风险(显着)较低:

  • 服务器在专用硬件上运行,在严格控制的网络中运行一组严格控制的进程(包括不使用 Web 浏览器访问不受信任的站点)
  • 虚拟机在其他严格控制的虚拟机的虚拟化堆栈上运行一组严格控制的进程,所有这些都在一个严格控制的网络中。

这个逻辑是合理的,还是我错过了什么?


更新:Azure 中补丁的早期采用者报告没有明显的减速,所以这可能都没有实际意义。


相关问题: 不为 Meltdown 修补工作站操作系统有哪些风险?

2个回答

基本上,如果您在一台机器上运行来自不受信任来源的代码,而该机器上有您不希望该代码访问的数据,则需要修补。台式电脑应该打补丁,因为它们有遇到不受信任代码的不幸习惯;共享主机服务器,尤其是虚拟专用服务器主机,必须打补丁,因为 Meltdown 允许一个用户访问所有其他用户的数据。

请注意,Meltdown 攻击不能用于突破虚拟机您可以突破容器、沙箱或半虚拟化系统,但在完全虚拟化的系统中执行 Meltdown 攻击只会让您访问该 VM 的内核内存,而不是主机的内核内存。

我对这个问题的理解是它是本地信息泄漏,其中本地意味着信息“仅”泄漏到同一物理硬件上的进程,而不是(直接)泄漏到远程系统。而且,这是一种在实践中被证明可用于提取敏感信息的攻击,即使目前利用它也并非易事。但是,正如Rowhammer所看到的,该漏洞利用的容易程度可能会迅速改变,它在很短的时间内从一个主要是理论上的问题演变为在浏览器中使用 Javascript 或根 Android 手机更可靠地利用该问题。

因此,如果有可能在服务器上执行了一些不受信任的代码,您应该修补。这就是为什么所有大型云提供商都已经修补了他们的系统或将很快修补的原因。这就是为什么这些补丁如此迅速地整合到 Linux 内核中的原因,这对于内存子系统的更改来说是非常不寻常的。

请注意,如果系统上有不受信任的用户,则可能不仅会运行不受信任的代码。如果您处理来自不受信任来源的数据,也会发生这种情况。例如,攻击者可以使用您的 Web 服务器的现有功能上传图像,然后在您的服务器上进行转换(即缩放或类似)。鉴于图形库中的错误历史,这种对话可能会导致代码执行。考虑到问题的性质,我怀疑沙箱、docker 或类似工具会停止利用该漏洞。