崩溃和幽灵攻击

信息安全 脆弱性 已知漏洞 侧信道 崩溃 幽灵
2021-08-21 23:17:35

关于 2018 年 1 月披露的 Meltdown 和 Spectre Attacks 的规范问题。其他相同或显着相似的问题应作为该问题的副本关闭。

主要问题

  • 什么是投机执行,它有什么作用?
  • 熔毁和幽灵有什么区别?
    • 熔断是如何运作的?
    • 幽灵是如何工作的?
  • 我该如何保护自己?
  • KPTI/KAISER 补丁是否足以保护我的计算机?
  • 该补丁声称会导致性能损失;是真的吗?这意味着多少?
  • 如果我担心性能损失,我可以/应该禁用新补丁吗?有哪些风险?
  • 哪些平台和 CPU 易受攻击?
  • 我正在运行虚拟机/容器;我脆弱到什么程度?
  • 我可以在我的计算机上检测到 Meltdown/Spectre 攻击吗?
  • 这些攻击是远程代码执行漏洞吗?
  • 我需要修补我的软件/网站吗?
  • 我在访问网站时会受到影响吗?
  • 你能用一张图片解释一下吗?

参考:

3个回答

这个答案试图简单地解决主要问题。这里的细节可能不准确或不完整。如果可能,我会尝试链接到更详细的解释。

什么是投机执行,它有什么作用?

推测执行是现代处理器的一项优化功能。为了允许并行处理进入处理器流水线的指令,可以使用分支预测、值预测或内存预取等技术提前处理指令。然后可以乱序执行指令。

这是一种通过正确预测接下来会发生什么来赢得时间的方法,而不是让处理器保持空闲状态。当预测失败时,指令回滚。

熔毁和幽灵有什么区别?

Meltdown 漏洞利用在全球范围内比 Spectre 更容易实施。

Meltdown 利用乱序指令中的内存读取,Spectre 作用于分支预测机制。

Spectre 允许跨/内部进程内存泄露,Meltdown 允许将内核内存泄露给用户空间进程(通常不可访问)。

Meltdown 有一个已知的软件缓解措施。

两者都依赖于缓存侧通道攻击,这是在访问某些内存块以推断其他未知信息时测量时间差异的方法。

熔断是如何运作的?

简而言之,Meltdown 的工作原理是要求处理器加载用户空间程序不应访问的内存。内存以乱序方式读取并放入缓存中。对缓存使用侧通道攻击(执行时间测量),可以推断出该内存位置的值。

幽灵是如何工作的?

Spectre 在不同的级别上工作,不允许从用户空间访问内核空间数据。在这种攻击中,攻击者欺骗推测执行以错误地预测执行指令。简而言之,预测器被强制预测一个特定的分支结果(如果 -> true),这会导致请求受害进程通常不会请求的越界内存访问,从而导致错误的推测执行。然后通过旁路,检索此内存的值。这样,属于受害进程的内存就会泄露给恶意进程。

我该如何保护自己?

更新您的操作系统和/或管理程序。

主要的操作系统发行商已经发布了补丁来实现 KPTI/KAISER 行为。这是一种通过删除内核的用户内存映射来减少攻击面的一种方法,这些映射对于处理器运行并不是绝对必要的。

微码(固件)更新可能会在某个时候发布。

KPTI/KAISER 补丁是否足以保护我的计算机?

不,它只涵盖 Meltdown。

问题在于处理器的架构设计。要完全解决问题(甚至在 Spectre 的情况下部分解决),至少需要进行固件更新。处理器也有可能必须更换为没有此设计缺陷的更新型号。

该补丁声称会导致性能损失,这是真的吗?这意味着多少?

是的,但产生的损失取决于软件工作流程。声称它可能会造成 5% 到 30% 的损失,具体取决于您的软件对系统调用的依赖程度。据报道,具有高内核到用户空间转换的基准(例如数据库)受到的影响最大。

这仍在调查中,初步报告已作出(见链接)。但是,由于影响因应用程序而异,因此您应该在您的环境中测试性能影响,而不是依赖通用基准。

初步结果(独立??):

官方公告:

如果我担心性能损失,我可以/应该禁用新补丁吗?有哪些风险?

不,你可以,但绝对不推荐。

首先,如果您要管理来自他人的数据,您的客户就会容易受到数据盗窃的影响。

然后,仍然必须正确评估性能损失,并且高度依赖于您的特定工作流程。这不是性能直接下降30%。

如果您禁用 KPTI,您将面临机密数据泄露的风险。

哪些平台和哪些 CPU 易受攻击?

大多数Intel CPU都容易受到这两种攻击。AMD CPU 似乎只受 Spectre 的影响一些ARM Cortex 处理器受到影响,而所有其他 ARM 处理器则不受影响。POWER 7、POWER 8 和 POWER 9 系列中的 PowerPC 处理器会受到影响,其他处理器可能会受到影响。

(有关详细信息,请参阅链接)。

我正在运行虚拟机/容器,我在多大程度上易受攻击?

根据Steffen Ullrich 的回答

  • Meltdown 攻击不会跨虚拟机,只会将内核内存泄漏到本地进程。
  • Spectre 可以跨虚拟机工作。

此外,Steffen 再次指出,Meltdown 和 Spectre 与容器一起工作,因为容器依赖于主机内核。

我可以在我的计算机上检测到 Meltdown/Spectre 攻击吗?

这是非常困难的,如果可能的话。

Meltdown 和 Spectre 都使用了 CPU 的设计属性,该属性始终由无害程序触发,使得恶意程序难以与良性程序区分开来。

这些攻击是远程代码执行漏洞吗?

不,他们不是。

为了能够应用这种攻击,攻击者需要能够在目标主机上执行代码。但是请注意,如果这些与其他攻击媒介(例如文件上传或跨站点脚本攻击)结合使用,则有可能远程执行它们。

我需要修补我的软件/网站吗?

在理想的世界里,没有。

实际上,一些浏览器供应商已经实施了降低时间精度测量以减轻侧信道攻击。KPTI 应该已经为使用本机系统调用的程序提供了足够公平的修复。

我在访问网站时会受到影响吗?

是的,已经有一个针对 Spectre 的 Javascript 漏洞利用的概念证明(仅)。

你能用一张图片解释一下吗?

不,但兰德尔·门罗可以:

XKCD #1938 - 崩溃和幽灵

[来源 XKCD : https://xkcd.com/1938/ ]

简单提示

除了M'vy 的出色回答之外,我只想回答这个问题:

为了安全,我能做些什么?

  • Spectre、Meltdown 和 Rowhammer 是 CPU 概念性错误,因此无法通过软件更新正确修补它们。这意味着:实际的软件补丁确实会降低任何系统(Windows、MacOS 的 Linux)的整体性能。
  • 这些错误也与隔离有关知道:

    所有隔离功能()现在都需要谨慎!sandbox, containers, virtual host users privileges

    才是正确的思维方式!

  • 旧的安全习惯现在很有用,例如:
    • 所有敏感应用程序都位于物理专用主机上,
    • 为每个敏感客户(供应商)拥有一个物理主机,
    • 将重要数据(如备份)和敏感数据(如密码或任何机密)存储在单独的(专用)主机上。
    • 在专用主机上浏览网络并在完全重新启动或更好的桌面后进行银行业务:在另一台(专用)主机上!

如果您通过使用不同的硬件主机进行隔离,则可以安全地使用现代 CPU 提供的推测执行和所有其他不错的功能(即使存在其他未知的错误)。无需降低您的系统性能!

(如果是这样,升级可能不是更好的方法...... ;-)

为什么我认为硬件分离/专用可能有用?

请参阅 2013 年 4 月 17 日发布的这次旅行!(大约五年前;)

来源:xkcd.com/1200

XKCD 1200

此答案特定于 Spectre Next Generation 攻击,并将在新信息可用时立即更新。

5月22日更新:

第一个补丁即将推出,有关新漏洞的更多信息也即将推出:

英特尔于 2018 年 5 月 21 日发布了声明,它将为您提供有关 Spectre 变体 3a 和 4
的良好概述。各自的 CVE 是:

  • CVE-2018-3639 - 推测性存储绕过 (SSB) - 也称为变体 4
  • CVE-2018-3640 - 恶意系统寄存器读取 (RSRE) - 也称为变体 3a

过去 10 年生产的几乎所有英特尔处理器都受到这两个漏洞的影响。微码更新已提供给操作系统供应商,因此它们应该很快就会提供给客户。如果Linux 用户最近更新了他们的内核并且他们的发行版使用了 retpolines,他们应该是安全的。[需要引用]

如果您想了解更多有关技术细节的信息,英特尔分析投机执行侧通道的白皮书(在 Spectre 和 Meltdown 攻击曝光后发布)已扩展到现在涵盖变体 3a 和 4。本白皮书也是如此其中包括缓解。

延伸阅读:
Jann Horn 的原始披露邮件
AMD 说他们的产品都没有 SSB 的漏洞
ARM 博客文章
Debian 安全跟踪器
Intel 博客 Microsoft 对 SSB 的分析
Red HAT CVE DB
Red Hat 漏洞响应
SUSE 安全博客
Ubuntu 安全公告
美国 CERT 漏洞说明
VMWare Knowdlege基础物品


5月7日更新:

由于英特尔无法完成所需微码更新的开发,计划的技术细节发布已至少推迟到 5 月 21 日,甚至可能更长时间。
但是今天发布了一些新信息,列出了可能受八个新漏洞中的至少两个影响的处理器列表:

  • 自 2010 年以来的所有 iX 处理器和各自的 Xeon 衍生产品(这些也受到“6”中描述的漏洞的影响)
  • 自 2013 年以来基于 Atom 的 Pentium、Celeron 和 Atom 处理器

这些第一批处理器类型通常用于台式电脑、笔记本电脑和服务器。第二种用于平板电脑、智能手机和嵌入式设备。
目前还没有 CVE,也没有吸引人的名字。


5 月 3 日,专门研究 IT 的德国杂志 c't 报道称,研究人员在英特尔 CPU 中发现了 8 个额外的漏洞,这些漏洞都可以进行类似 Spectre 的攻击。所有这些新漏洞都基于与 Spectre V1 和 V2 所利用的漏洞相同的设计缺陷。

第一份涵盖其中一个漏洞的技术和深入报告可能会在 5 月 7 日由 Google Project Zero 发布。不过,其他研究人员或独立方可能会更早发布报告。

到目前为止我们所知道的:

  1. 有八个新漏洞。
  2. 每个人都将获得自己的 CVE。
  3. 每个都需要自己的补丁。到目前为止,关于补丁开发的进展情况知之甚少。根据 c't 的说法,英特尔计划进行两次补丁浪潮:一次在 5 月,另一次在 8 月。
  4. 目前还没有受影响处理器的列表。英特尔处理器可能在很大程度上受到影响。一些 ARM CPU 似乎也受到了影响。目前尚不清楚 AMD CPU 是否受到影响。
  5. 英特尔将八个漏洞中的四个归为“高风险”,另外四个为“中等风险”。
  6. 据称其中一个新漏洞允许非常容易的跨系统攻击。攻击者可能能够从源 VM 攻击主机系统或其他 VM。这对云提供商来说尤其危险。这样的攻击在以前是可能发生的,但非常复杂。新漏洞似乎更容易被利用。所有其他攻击媒介似乎都与 Spectre V1 和 V2 非常相似。

结论:到目前为止,我们知之甚少,我们所知道的仅仅是对新漏洞的抽象描述。Spectre 和 Meltdown 是非常复杂的攻击,其底层漏洞同样复杂。在接下来的几周内,所有技术细节都将慢慢融入讨论中。但是 CPU 供应商被告知,他们和内核开发人员似乎已经在研究解决方案。有耐心。

来源:https ://www.heise.de/ct/artikel/Super-GAU-fuer-Intel-Weitere-Spectre-Luecken-im-Anflug-4039134.html