Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Security 除了熔毁和幽灵之外,是否存在其他处理器漏洞?_Security_Hardware_Cpu Architecture_Microprocessors - Fatal编程技术网

Security 除了熔毁和幽灵之外,是否存在其他处理器漏洞?

Security 除了熔毁和幽灵之外,是否存在其他处理器漏洞?,security,hardware,cpu-architecture,microprocessors,Security,Hardware,Cpu Architecture,Microprocessors,我了解了这两个漏洞,也了解了一些CPU和处理器的历史。我想知道是否还有其他硬件,尤其是以前的处理器。所有CPU设计都至少有一些细微的设计缺陷。我们称之为勘误表 出现了一些与安全相关的CPU错误。不过,通常只是DOS攻击 在修复B2步进之前,影响了所有Intel P5微体系结构。使用寄存器操作数而不是内存锁定cmpxchg8b eax,因此无效锁定CPU,直到硬重新启动,从而导致来自非特权用户空间的DOS攻击。Wikipedia说,它使用锁定的总线周期获取非法指令IDT条目,因此系统保持锁定状态,

我了解了这两个漏洞,也了解了一些CPU和处理器的历史。我想知道是否还有其他硬件,尤其是以前的处理器。

所有CPU设计都至少有一些细微的设计缺陷。我们称之为勘误表

出现了一些与安全相关的CPU错误。不过,通常只是DOS攻击

在修复B2步进之前,影响了所有Intel P5微体系结构。使用寄存器操作数而不是内存锁定cmpxchg8b eax,因此无效锁定CPU,直到硬重新启动,从而导致来自非特权用户空间的DOS攻击。Wikipedia说,它使用锁定的总线周期获取非法指令IDT条目,因此系统保持锁定状态,等待相应的写入操作,而该写入操作从未出现。它可以在软件中解决,方法是在尝试处理异常时强制CPU设置页面错误

维基百科上的条目将其与类似时代的Cyrix CPU上的进行了比较

从那时起,英特尔的设计和验证技术取得了进步:奔腾之后的CPU拥有可更新的微代码,它们通过向CPU抛出随机指令序列来模拟CPU的门级软件模型,以捕获即使在怪异的微体系结构状态下也无法预料的行为

但是bug仍然会发生。Skylake需要一个微码更新来禁用它的循环缓冲区,因为事实证明,启用了超线程,导致在运行OCaml编译器勘误表SKL150生成的代码时意外崩溃。我的理解是,Coffee Lake有一个工作循环缓冲区,但SKL和KBL仅从uop缓存运行,即使是对于较紧的循环也是如此。我认为这充其量只是一个锁定漏洞;很难获得任何特定的信息,因此无法阅读机密或获得特权

类似地,Skylake的mfence在微码更新中变得格外强大,完全阻止了无序执行,就像lfence一样。您可能无法利用WC内存(例如视频RAM)中movntdqa弱序加载的重新排序,但至少可能会依赖于它来确保某些内容的安全性/正确性

有关Skylake勘误表的完整列表,请参阅

AMD当然也发布了他们CPU的勘误表

熔毁和幽灵的不同之处在于CPU架构师知道CPU是这样工作的,但没有意识到有一种方法可以利用它。这相当微妙,将秘密数据转换为微体系结构状态,然后将微体系结构状态读回正确路径上寄存器中的体系结构状态实际值,而不是在预测失误的阴影下

据我们所知,还有其他令人不快的意外,我们需要重新设计CPU以有效缓解新的微体系结构攻击

通过一种新的设计,熔毁很容易以低成本缓解,只需将特权TLB+L1d命中率屏蔽为0,而不是返回实际数据。这是一些CPU已经做过的,根据这项测试,许多微芯片。然而,幽灵是很难廉价完成的


超线程和一般任何SMT都已经公开了共享物理内核的线程之间的微体系结构定时端通道。出于这一点和其他原因,加密算法通常编写得很仔细,因此其性能不依赖于数据。这意味着避免在缓存中丢失查找表。不过,定时侧通道是一种已知的攻击。

StackOverflow主题外。一般来说,处理器也有缺陷,例如旧的。。。。他们的规格是一个标准。冯·诺依曼早在20世纪40年代就注意到了这一事实,这可能是计算机科学的根源之一。早在1983年,我就遇到了一个硬件缺陷。在…上我的父亲和我的主人,例如J.Pitrat,在IBM7094上有硬件缺陷。在20世纪60年代,计算机的可靠性不如今天。@BasileStrynkevitch:一个更安全的例子是,使用寄存器(而不是内存)锁定cmpxchg8b eax操作数将CPU锁定,直到硬重启,从而从非特权用户空间发出DOS攻击。这基本上是一个停止并触发指令,但显然可以在软件中解决。任何实际计算机未按规定运行的硬件缺陷都可能与安全相关,特别是如果您可以复制该缺陷,这意味着每个处理器的架构都可能存在与安全问题相关的bug。因为抽象,人们不会注意到它们。