什么是熔毁和幽灵?

阅读 1293 收藏 0 点赞 0 评论 0

安全研究人员今年早些时候发现了多个漏洞,这些漏洞几乎影响了市场上的每一台 PC、笔记本电脑和智能手机。这些被称为 Spectre 和 Meltdown 的缺陷存在于现代 CPU 的设计中,并允许通过利用推测执行和分支预测功能从内存中访问个人数据(密码、电子邮件和上网历史)。这些功能是性能增强技术,使处理器能够预先执行指令并预测未来的执行路线。

Meltdown 漏洞被认为很容易治愈。尽管如此,由于投机执行的性质,我们很可能不得不在 Spectre 的情况下解决缓解问题。

因此,当我们等待处理器架构的修订时,未来几年将存在系统妥协的风险。这些弱点可以通过标准用户对策(防病毒等)开发无法检测到的漏洞,并且不会在传统系统日志文件中留下任何痕迹。由于情况瞬息万变,因此保持设备最新并密切关注供应商公告至关重要。

它们是如何工作的?

了解 Meltdown 和 Spectre 的功能需要具备 CPU 设计的基础知识(回想一下,CPU 是设备的“大脑”)。

使您的设备应用程序工作的所有命令都由 CPU 执行。时钟速度决定了过去 CPU 的运行速度。两大处理器制造商英特尔和 AMD 在提高时钟速度的斗争中并驾齐驱。当他们意识到他们无法再提高时钟速度时,他们寻找新的方法来更快地处理数据和命令,这导致了推测性和无序执行的开发。

投机执行

推测执行通过允许 CPU 猜测(或推测)将遵循哪些过程或步骤来提高处理速度。CPU 会准确地假设某些时间,但不是所有时间。这意味着 CPU 有时会加载程序的一部分或代码片段,只是稍后在估计不正确并出现新命令时将其删除。通过查看接下来会出现哪些命令并检索这些未来操作所涉及的存储内存,Spectre 漏洞允许黑客侵入并运行恶意软件,利用这种预测(推测)过程窃取数据。Spectre 还可以访问以推测方式加载然后销毁的数据,包括密码等敏感信息。

乱序执行

乱序执行(或动态执行),就像它的推测对应物一样,允许 CPU 提前“思考”。无需等待所有指令以特定的线性顺序完成,乱序执行将使芯片能够执行当时可用的任何命令,而不管它们的顺序如何。

崩溃和幽灵:有什么区别?

Meltdown 和 Spectre 故障是同一漏洞的两个变种。通过打破用户应用程序和操作系统之间的障碍,Meltdown 漏洞允许攻击者访问系统内存和其他操作系统应用程序 (OS)。例如,Meltdown 会影响 Intel x86 微处理器以及各种 ARM 和 IBM 处理器。Spectre 漏洞的工作方式略有不同,它只是破坏了应用程序分离,允许攻击者访问这些程序的数据。这些攻击执行起来更具挑战性,防御起来也更具挑战性,它们几乎可以在任何类型的计算机芯片上运行。

Spectre 和 Meltdown 的危险是什么?

Spectre 和 Meltdown 允许攻击者从受感染的计算机窃取加密密钥和密码,从而允许他们执行需要访问受感染系统的进一步攻击。攻击 Spectre 和 Meltdown 不需要用户运行恶意形成的可执行文件,因为基于 JavaScript 的概念验证证明了在 Web 浏览器中利用这些漏洞的可行性。(因此,浏览器供应商降低了成功实施攻击所需的高分辨率计时精度。)

攻击者可以在云计算中使用 Spectre 和 Meltdown 来绕过软件容器、半虚拟化系统和虚拟机。

根据初步研究,作为一个独立的漏洞,Spectre 和 Meltdown 对于大数据泄露效率低下,Meltdown 以大约 120 KB/s 的速度访问数据,而 Spectre 以 1.5 到 2 KB/s 的速度访问数据。此外,Spectre-BTB(变体 2)在具有 64 GB RAM 的系统上初始化需要 10-30 分钟,并且随着主机 RAM 大小的增长,预计将“近似线性”扩展。

Spectre 和 Meltdown 漏洞利用可以在不可见的情况下进行,不会在系统日志中留下漏洞痕迹。尽管仍可以使用传统方法确定已知的恶意软件签名,但这使得在有针对性的恶意软件活动中更难检测到这对二人组。

今天的 Meltdown 和 Spectre 缺陷

CPU 的补丁程序在安全问题公开后不久发布。Microsoft、Apple、Google 和 Intel 发布了适用于 Windows、Linux 和 OS X 平台的补丁程序。大多数云提供商也已经修补了他们的系统。由于故障在硬件层面,这些问题无法完全修复;尽管如此,大多数更新都包含针对大多数问题的解决方法。例如,对 Linux 操作系统核心的更改导致系统速度变慢,以至于不得不将其移除。用户仍应确保他们的浏览器和 PC 是最新的。较旧的操作系统,例如 Windows XP,肯定不会打补丁。自首次发布以来,Meltdown 和 Spectre 至少有两打版本,例如 Speculative Store Bypass、Rogue Data Cache Load 和 Branch Target Injection。

领先的 CPU 制造商正在开发新的 CPU 来防御 Spectre 和 Meltdown 问题,尽管其中一些可能无法抵抗两个主要缺陷的最新版本。

如何检测威胁?

Meltdown 和 Spectre 缺陷影响的设备范围非常广泛,您几乎确实处于危险之中。然而,根据网络安全专家的说法,值得注意的是,这两个漏洞都尚未在野外被利用。在研究人员发现这些缺陷(并对其概念验证进行编码)后,英特尔和其他公司立即开始着手开发补丁。此外,由于 Meltdown 和 Spectre 不会像典型的恶意软件那样留下日志,因此很难判断这两个漏洞是否对您造成了伤害。虽然 Meltdown 和 Spectre 漏洞几乎肯定存在于您的设备上,但您是否已成为攻击目标值得怀疑。幸运的是,您可以做一些事情来避免成为这些可怕的安全漏洞的牺牲品。

如何防范 Meltdown/Spectre 缺陷?

除了更换 PC 的芯片之外,关闭漏洞的唯一选择是修补操作系统。12 月初,Apple 悄悄地为 OSX 发布了 Meltdown 补丁,而 Microsoft 于 1 月 3 日发布了 Windows 补丁,Linux 开发人员目前正在尝试制作补丁。

这些 Meltdown 修复程序在设计上会降低运行已修补操作系统的 PC 的处理速度,这是一种不良的副作用。这些减速预计会使性能降低 5-30%,具体取决于芯片的类型和正在完成的任务。

评论列表


问题


面经


文章

微信
公众号

扫码关注公众号