正如预测的那样 更多的分支预测处理器攻击被发现
消息来源:baojiabao.com 作者: 发布时间:2024-11-29
从威廉和玛丽学院的研究人员,卡内基梅隆大学,加州大学河滨分校,宾厄姆顿大学所描述的安全攻击,利用现代处理器的投机执行特性泄漏敏感信息,破坏操作系统和软件的安全边界建立保护重要的数据。
这可能听起来很熟悉。
今年早些时候发布的“幽灵攻击”利用了现代处理器的投机性执行特性来泄露敏感信息。新的攻击,被研究人员命名为BranchScope,与幽灵攻击的变体2有相似之处,因为BranchScope和幽灵2都利用了处理器分支预测器的行为。
在推测执行的情况下,处理器在程序实际所在的位置运行,并且它尝试执行指令,然后才能确定这些指令是否实际运行。例如,如果一个程序测试两个数字是否相等,如果它们是相同的,如果它们不是,那么处理器将猜测结果并推测执行结果操作。如果事后证明处理器猜错了,推测的结果就会被丢弃,至少从抽象的意义上来说,这就像是从未发生过的错误猜测。处理器从它停止的地方开始,执行它应该采取的动作。
“幽灵”的攻击是一个整体,因为处理器并没有完全按照他们应该的方式把东西放回原处。虽然处理器确实恢复了它的推测执行,但如果没有,程序就会简单地停止工作——它并不是那么完美。当涉及到处理器的缓存时,这一点尤其明显:推测执行可能导致处理器将数据载入到缓存中(或者,或者,从缓存中清除数据),并且这些缓存更改仍然存在,即使进行了错误的猜测。仔细编写的软件可以检测这些缓存变化,并利用它们来推断秘密信息。
该处理器的分支预测器是其核心的推理执行机构之一。虽然最新处理器中的分支预测器很复杂,但在广义上它们的操作方式类似。处理器会跟踪分支指令的地址,不管分支是否被取走,如果分支被取走,下一条指令的地址应该是该分支的目标。分支预测器提供了两个相关的预测:分支是否被捕获,如果被捕获,目标是什么。
BranchScope和幽灵2都利用了分支预测器的不同部分。幽灵2依赖于一个称为分支目标缓冲区(BTB)的部分——处理器中记录分支目标的数据结构。相反,BranchScope使用预测的方向来泄漏信息——不管它是否可能被取走——它存储在模式历史表中(PHT)。
PHT保持了最近的一种跑步成绩来记住这些分支是否被取走。通常情况下,它是一个两比特的计数器,有四个状态:强取,弱取,弱取,强不取。每当一个分支被取走,计数器的值就被移动到“强取”;每次它没有被拿走,它就被移动到“强烈不被拿走”。这个设计意味着偶尔的错误预测不会改变预测的结果:几乎总是被采用的分支仍然会被预测,即使它偶尔不被使用。改变预测需要两个背靠背的错误判断。这个设计被证明比一个单位计数器提供了更好的结果,它仅仅根据上次发生的情况预测一个分支。
对于幽灵2,攻击者启动BTB,仔细执行分支指令,使BTB具有可预测的内容,并使用目标指令,如果推测执行,将以可检测的方式干扰处理器的缓存。受害者程序然后运行并创建一个分支。然后攻击者检查缓存是否受到干扰;干扰信息的测量。
在新的攻击中,攻击者启动PHT并运行分支指令,这样PHT就会始终假设一个特定的分支被占用或不被占用。然后,受害者代码运行并创建一个分支,这可能会干扰PHT。然后攻击者会运行更多的分支指令来检测对PHT的干扰;攻击者知道应该在特定的方向和测试中预测一些分支,看看受害者的代码是否改变了这个预测。
研究人员只查看了英特尔处理器,利用英特尔的SGX(软件保护扩展)来保护信息,这是一种在某些芯片上发现的特征,可以划分出一小段加密的代码和数据,即使是操作系统(或虚拟化软件)也无法访问它。他们还描述了攻击可以用来对付地址空间布局的随机化,以及在加密和图像库中推断数据的方法。
幽灵2已经引起了操作系统和硬件的改变,并计划了更多的硬件修复。研究人员建议,对于分支机构来说,需要类似的解决方案组合;一些软件可以被修改以消除分支,而硬件可以被修改以在处理器上划分推测的执行数据结构,这样一个进程就不能攻击另一个进程。
与幽灵2一样,目前还不清楚究竟有多少软件真正容易受到分支攻击的攻击。在这两种情况下,攻击者都需要能够在受害者系统上运行代码,因此这些攻击永远不会被用于初始进入系统。然而,他们所做的是要证明,长期以来假定存在的隔离边界在某种程度上是由对高性能处理器至关重要的投机性执行硬件所渗透的。此外,BranchScope表明,幽灵党并不是唯一可以利用这种投机行为的途径。
从根本上说,处理器包含大量的内部状态(包括寄存器、缓存、分支预测器、存储缓冲区,以及更多),推测执行可以修改。架构状态——由处理器发布的、文档化的指令直接公开和操作的部分——被投机性的硬件妥善保存。像“幽灵”和“BranchScope”这样的攻击之所以存在,是因为非体系结构的状态——代表可能由家庭转移到家庭的处理器的实现细节的部分,以及不能直接访问程序的部分——并没有得到充分的保护。推测执行(以及它所依赖的非体系结构状态)的设计是不可见的,没有显示正在运行的程序。
结果就是像“幽灵2”和“BranchScope”这样的攻击。研究人员可能需要数年时间才能确定各种各样的方法,在这些方法中,推测性的执行硬件可以通过这种方式泄露信息,而且在强大的、普遍的防御系统能够阻止攻击之前,它还会更长的时间。
相关文章
- B站怎么炸崩了哔哩哔哩服务器今日怎么又炸挂了?技术团队公开早先原因
2023-03-06 19:05:55
- 苹果iPhoneXS/XR手机电池容量续航最强?答案揭晓
2023-02-19 15:09:54
- 华为荣耀两款机型起内讧:荣耀Play官方价格同价同配该如何选?
2023-02-17 23:21:27
- google谷歌原生系统Pixel3 XL/4/5/6 pro手机价格:刘海屏设计顶配版曾卖6900元
2023-02-17 18:58:09
- 科大讯飞同传同声翻译软件造假 浮夸不能只罚酒三杯
2023-02-17 18:46:15
- 华为mate20pro系列手机首发上市日期价格,屏幕和电池参数配置对比
2023-02-17 18:42:49
- 小米MAX4手机上市日期首发价格 骁龙720打造大屏标准
2023-02-17 18:37:22
- 武汉弘芯遣散!结局是总投资1280亿项目烂尾 光刻机抵押换钱
2023-02-16 15:53:18
- 谷歌GoogleDrive网云盘下载改名“GoogleOne” 容量提升价格优惠
2023-02-16 13:34:45
- 巴斯夫将裁员6000人 众化工巨头裁员潮再度引发关注
2023-02-13 16:49:06
- 人手不足 韵达快递客服回应大量包裹派送异常没有收到
2023-02-07 15:25:20
- 资本微念与李子柒销声匿迹谁赢? 微念公司退出子柒文化股东
2023-02-02 09:24:38
- 三星GalaxyS8 S9 S10系统恢复出厂设置一直卡在正在检查更新怎么办
2023-01-24 10:10:02
- 华为Mate50 RS保时捷最新款顶级手机2022多少钱?1.2万元售价外观图片吊打iPhone14
2023-01-06 20:27:09
- 芯片常见的CPU芯片封装方式 QFP和QFN封装的区别?
2022-12-02 17:25:17
- 华为暂缓招聘停止社招了吗?官方回应来了
2022-11-19 11:53:50
- 热血江湖手游:长枪铁甲 刚猛热血 正派枪客全攻略技能介绍大全
2022-11-16 16:59:09
- 东京把玩了尼康微单相机Z7 尼康Z7现在卖多少钱?
2022-10-22 15:21:55
- 苹果iPhone手机灵动岛大热:安卓灵动岛App应用下载安装量超100万次
2022-10-03 22:13:45
- 苹果美版iPhone可以在中国保修 从哪看怎么查询iPhone的生产日期?
2022-09-22 10:00:07