[发明专利]防止乱序机器中归因于误推测的信息泄露在审
| 申请号: | 201910691268.7 | 申请日: | 2019-07-29 |
| 公开(公告)号: | CN110781499A | 公开(公告)日: | 2020-02-11 |
| 发明(设计)人: | D·A·卡尔森;S·S·穆克吉 | 申请(专利权)人: | 马维尔国际贸易有限公司 |
| 主分类号: | G06F21/57 | 分类号: | G06F21/57;G06F21/55 |
| 代理公司: | 11256 北京市金杜律师事务所 | 代理人: | 酆迅;张曦 |
| 地址: | 巴巴多斯*** | 国省代码: | 巴巴多斯;BB |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 高速缓存 乱序 重排序缓冲器 安全漏洞 存储数据 数据泄露 信息存储 信息泄露 指令 响应 检测 移动 访问 | ||
通常的乱序机器可能被安全漏洞(诸如Meltdown和Spectre)所利用,这使得误推测事件期间的数据泄露成为可能。一种防止这种信息泄露的方法包括:将与乱序机器的多个状态有关的信息存储至重排序缓冲器。该信息包括指令的状态、以及在状态之间的转变中被移动至高速缓存的数据的指示。响应于检测到在后来状态处的误推测事件,对存储数据的高速缓存的至少一部分的访问可以被防止。
背景技术
中央处理单元(CPU),诸如在网络处理器和其他计算系统中找到的那些CPU,经常实施乱序执行以完成工作。在乱序执行中,处理器以基于输入数据和执行单元的可用性的顺序来执行指令,而不是按照它们在程序中的原始顺序。作为结果,处理器当等待在前指令完成时可以避免空闲,并且可以同时独立地处理接下来的可用指令。处理器也可以实施分支预测,借此,处理器基于立即可用的数据来执行推测性执行。如果推测被证实,则结果立即可用,提高了执行的速度。否则,不正确的结果被丢弃。
通常的乱序机器可能被一些误推测事件中固有的安全漏洞所利用。在推测性执行期间,数据可以被加载至高速缓存中,在高速缓存中,其可以在推测被确定为不正确之后继续存在。攻击者则可以实施附加代码来访问该数据。Spectre和Meltdown是向可以按此方式被利用的两个安全漏洞给出的名字。
发明内容
示例实施例包括一种管理乱序机器以防止在误推测事件之后的信息泄露的方法。与乱序机器的第一状态有关的信息被存储至重排序缓冲器。该信息可以指示一个或多个寄存器的状态、数据的位置、和/或被调度的、未决的和/或已完成的指令的状态。当机器进展到第二状态(例如,在推测操作期间或之后)时,与第二状态有关的信息可以被存储至重排序缓冲器。该信息指示数据是否在从第一状态到第二状态的转变期间被移动至高速缓存。响应于检测到第二状态的误推测事件,对存储数据的高速缓存的至少一部分的访问被防止。
在进一步的实施例中,防止访问可以包括:使存储数据的高速缓存的至少一部分无效,和/或使高速缓存的全部无效。高速缓存可以包括d-高速缓存、分支目标高速缓存、分支目标缓冲器、存储-加载依赖性预测器、指令高速缓存、转换缓冲器、第二级高速缓存、末级高速缓存、以及DRAM高速缓存。响应于检测到误推测事件,分支预测器、分支目标高速缓存、分支目标缓冲器、存储-加载依赖性预测器、指令高速缓存、转换缓冲器、第二级高速缓存、末级高速缓存、和/或DRAM高速缓存可以被无效。
与第一状态和第二状态有关的信息可以包括:存储数据的高速缓存块的位置、以及在与误推测事件相关联的一个或多个操作的执行期间创建的高速缓存块的指示。基于与第二状态有关的信息,在与误推测事件相关联的操作的执行期间创建的高速缓存块可以被标识。误推测事件可以发生在由机器执行的加载/存储操作期间。第一状态可以对应于在加载/存储操作的执行之前的机器的状态,并且第二状态可以对应于在加载/存储操作的执行之后的机器的状态。
进一步的实施例可以包括一种乱序机器,该乱序机器包括高速缓存、被配置为执行指令的处理器、重排序缓冲器、以及控制器。控制器可以被配置为:1)在指令的执行之前,将与乱序机器的第一状态有关的信息存储到重排序缓冲器;2)在指令的执行之后,将与乱序机器的第二状态有关的信息存储到重排序缓冲器,该信息指示数据是否在第一状态和第二状态之间被移动至高速缓存;以及3)响应于检测到第二状态的误推测事件,防止对存储数据的高速缓存的至少一部分的访问。
附图说明
前文从如附图中图示的示例实施例的以下更具体描述来看将是明显的,在附图中,相似参考字符贯穿不同视图指代相同部分。附图不一定按比例绘制,而是重点放在图示实施例。
图1是示例实施例中的乱序机器的框图。
图2是一个实施例中的重排序缓冲器的框图。
图3是一个实施例中的管理乱序机器的过程的流程图。
图4图示了示例实施例可以被实施在其中的计算机网络或者类似的数字处理环境。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于马维尔国际贸易有限公司,未经马维尔国际贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910691268.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种智能卡和智能卡安全防护方法
- 下一篇:一种数据风控系统以及方法





