最近发现的硬件漏洞Meltdown和Spectre有哪些关键区别?我知道它们都依赖于推测执行,但它们之间有什么不同之处?
Meltdown是一种影响大多数Intel处理器的漏洞,它允许攻击者访问系统内存中的数据。Spectre是另一种类型的漏洞,它影响几乎所有处理器,包括Intel、AMD和ARM等。Spectre漏洞利用了CPU的分支预测功能,它使得攻击者可以访问应该被保护的数据。
最近发现的硬件漏洞Meltdown和Spectre有哪些关键区别?我知道它们都依赖于推测执行,但它们之间有什么不同之处?
Meltdown是一种影响大多数Intel处理器的漏洞,它允许攻击者访问系统内存中的数据。Spectre是另一种类型的漏洞,它影响几乎所有处理器,包括Intel、AMD和ARM等。Spectre漏洞利用了CPU的分支预测功能,它使得攻击者可以访问应该被保护的数据。
Meltdown为什么很危险?内核存储加密密钥、密码或其他进程的物理页面,由于Meltdown的存在,这些信息可能会被系统中的任何用户进程读取。
Spectre和Meltdown之间的主要区别在于,由于Spectre,您可以读取或欺骗同一权限级别上的其他进程泄露内存,而使用Meltdown,您可以读取没有访问权限的内存。
这是我基于Linux的Spectre-Based Meltdown(即2合1)概念证明,仅用了99行代码:
它允许使用边界检查绕过(即Spectre)来读取内核空间(即Meltdown)。“熔断”攻击打破了用户应用程序和操作系统之间最基本的隔离。这种攻击允许程序访问其他程序和操作系统的内存,因此也可以获取它们的机密信息。
如果您的计算机拥有一个易受攻击的处理器并且运行一个未修补的操作系统,那么在不泄露信息的情况下使用敏感信息是不安全的。这适用于个人计算机以及云基础架构。幸运的是,针对“熔断”攻击有软件补丁。
“幽灵”攻击打破了不同应用程序之间的隔离。它允许攻击者欺骗遵循最佳实践的无错误程序来泄漏它们的机密信息。实际上,这些最佳实践的安全检查实际上增加了攻击面,并可能使应用程序更容易受到“幽灵”攻击。
“幽灵”攻击比“熔断”攻击更难利用,但也更难以减轻。但是,通过软件补丁可以防止特定已知基于“幽灵”攻击的攻击。
来源:
为了更好地理解,“计算机之音”上有一段关于“幽灵”和“熔断”的精彩视频: