什么是Meltdown和Spectre漏洞?
安全研究人员今年早些时候发现了多个影响几乎所有市场上的PC、笔记本电脑和智能手机的漏洞。这些漏洞被称为Spectre和Meltdown,存在于现代CPU的设计中,可以通过利用推测执行和分支预测功能来访问内存中的个人数据(密码、电子邮件和浏览历史记录)。这些功能是提高性能的技术,使处理器能够预先执行指令并预测未来的执行路径。
人们认为Meltdown漏洞非常容易修复。但是,由于推测执行的性质,在Spectre的情况下,我们很可能不得不采取缓解措施。
因此,在我们等待处理器架构的修改期间,未来几年系统受到攻击的风险将会存在。这些弱点可以通过标准用户对策(防病毒软件等)开发出无法检测到的漏洞,并且在传统的系统日志文件中不会留下任何痕迹。由于情况瞬息万变,因此务必保持设备更新并密切关注供应商的公告。
它们是如何工作的?
要理解Meltdown和Spectre是如何工作的,需要对CPU设计有一个基本的了解(回想一下,CPU是设备的“大脑”)。
所有使设备应用程序工作的命令都由CPU执行。过去,时钟速度决定了CPU的运行速度。英特尔和AMD是两家主要的处理器制造商,它们在提高时钟速度方面势均力敌。当他们意识到无法再提高时钟速度时,他们开始寻找新的方法来更快地处理数据和命令,这导致了推测执行和乱序执行的发展。
推测执行
推测执行通过允许CPU猜测(或推测)接下来将执行哪些进程或步骤来提高处理速度。CPU有时能够准确地猜测,但并非总是如此。这意味着CPU有时会加载程序的一部分或代码片段,然后在猜测错误并出现新命令时将其删除。通过查看接下来将执行哪些命令并检索这些未来操作中涉及的存储内存,Spectre漏洞允许黑客入侵并运行恶意软件,通过利用此预测(推测)过程窃取数据。Spectre还可以访问推测加载然后被销毁的数据,包括敏感信息,例如密码。
乱序执行
乱序执行(或动态执行),与其推测性对应物一样,允许CPU“提前思考”。乱序执行不会等待所有指令按特定的线性顺序完成,而是允许芯片执行当时可用的任何指令,而不管其顺序如何。
Meltdown和Spectre:有什么区别?
Meltdown和Spectre漏洞是同一漏洞的两个变体。通过打破用户应用程序和操作系统之间的屏障,Meltdown漏洞允许攻击者访问系统内存和其他操作系统应用程序(OS)。例如,Meltdown会影响英特尔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的补丁。微软、苹果、谷歌和英特尔发布了针对Windows、Linux和OS X平台的补丁。大多数云提供商也已修复了其系统。由于错误是在硬件级别,因此无法完全修复这些问题;但是,大多数更新都包含针对大多数问题的解决方法。例如,对Linux OS内核的更改导致系统速度变慢,以至于不得不将其删除。用户仍然应该确保他们的浏览器和PC是最新的。旧版操作系统,例如Windows XP肯定不会得到修复。自最初发布以来,Meltdown和Spectre至少有二十多个版本,例如推测存储旁路、恶意数据缓存加载和分支目标注入。
领先的CPU制造商正在开发新的CPU来防御Spectre和Meltdown问题,但其中一些可能无法抵御这两个主要漏洞的最新版本。
如何检测威胁?
Meltdown和Spectre漏洞影响了如此广泛的设备,因此您几乎肯定处于危险之中。但是,根据网络安全专家的说法,值得注意的是,这两个漏洞都尚未在野外被利用。在研究人员发现这些漏洞(并编写其概念验证)后,英特尔和其他公司立即开始着手修复补丁。此外,由于Meltdown和Spectre不会像典型的恶意软件那样留下日志,因此很难判断这两个漏洞是否对您造成了损害。虽然Meltdown和Spectre漏洞几乎肯定存在于您的设备上,但您不太可能成为攻击目标。幸运的是,您可以采取一些措施来避免成为这些可怕的安全漏洞的受害者。
如何防御Meltdown/Spectre漏洞?
除了更换PC的芯片外,关闭漏洞的唯一方法是修补操作系统。12月初,苹果秘密发布了针对OSX的Meltdown补丁,而微软在1月3日发布了Windows补丁,Linux开发人员目前正在努力拼凑一个补丁。
这些Meltdown修复程序的设计将使运行已修补操作系统的PC的处理速度降低,这是一个不希望出现的副作用。预计这些速度下降将使性能降低5-30%,具体取决于芯片类型和正在执行的任务。