[发明专利]一种免受Spectre攻击的高性能推测执行算法有效
| 申请号: | 201810144875.7 | 申请日: | 2018-02-12 |
| 公开(公告)号: | CN108427576B | 公开(公告)日: | 2022-04-01 |
| 发明(设计)人: | 费晓龙 | 申请(专利权)人: | 华夏芯(北京)通用处理器技术有限公司 |
| 主分类号: | G06F9/38 | 分类号: | G06F9/38;G06F21/55 |
| 代理公司: | 北京科家知识产权代理事务所(普通合伙) 11427 | 代理人: | 陈娟 |
| 地址: | 100176 北京市大兴区北京经济技术开*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 免受 spectre 攻击 性能 推测 执行 算法 | ||
本发明公开了CPU安全技术领域的一种免受Spectre攻击的高性能推测执行算法,该免受Spectre攻击的高性能推测执行算法的具体步骤如下:S1:译码、派遣阶段;S2:重命名阶段;S3:访存请求发送阶段;S4:下级缓存请求发送阶段,本方案综合考虑了修复硬件成本和安全性,保证推测执行在安全的检测隔离环境中发挥原有的性能优势,相比原有推测执行算法,本发明重点解决了Spectre多种攻击变体的攻击免疫问题,从根本上保障了推测执行不会引发用户信息泄露,相比原来,本方案会消耗额外硬件增加检测隔离机制,对威胁性的访存序列,采取安全保守的执行机制,从而可能在少数场景有性能损失。
技术领域
本发明涉及CPU安全技术领域,具体为一种免受Spectre攻击的高性能推测执行算法。
背景技术
近期暴露的CPU底层硬件设计缺陷包括Meltdown和Spectre,破坏用户级别和特权级别隔离机制,并提供不同用户进程之间的非法访问通道以及云端信息窃取途径。Spectre缺陷利用推测执行的副作用,诱使CPU执行不该执行的程序路径,从而在数据缓存中留下操作痕迹,最后利用侧信道攻击恢复机密数据。各大主流操作系统厂商和通用软件提供商,发布了修复性的patch,并完成了自底向上适配,以显著性的性能牺牲换取用户信息安全。现有技术的缺陷和不足:
基于Spectre缺陷的攻击由于利用了绝大多数现代处理器都会使用的推测执行技术,因此影响到所有主流处理器,现有硬件设计无法通过简单的配置或是控制避免推测执行,而关闭推测执行会使CPU性能下滑严重,因此只能依靠操作系统的修复来避免被攻击,但是依然会在特定应用领域或场景下带来可观的性能损失。此外软件修复可能无法适应灵活多变的攻击变体,不能从根本上完全杜绝此类问题。
发明内容
本发明的目的在于提供一种免受Spectre攻击的高性能推测执行算法,以解决上述背景技术中提出的现有硬件设计无法通过简单的配置或是控制避免推测执行,而关闭推测执行会使CPU性能下滑严重,因此只能依靠操作系统的修复来避免被攻击,但是依然会在特定应用领域或场景下带来可观的性能损失。此外软件修复可能无法适应灵活多变的攻击变体,不能从根本上完全杜绝此类问题。
为实现上述目的,本发明提供如下技术方案:一种免受Spectre攻击的高性能推测执行算法,该免受Spectre攻击的高性能推测执行算法的具体步骤如下:
S1:译码、派遣阶段:
通过分支预测之后的分支指令会被标记是否被预测执行,这个状态会被传递到派遣单元,Recorder结构会记录下来最近被预测执行的一笔分支指令,并把自身状态设置为busy,如果这笔最近被预测的分支指令被提交,那么recorder会切换到idle的状态,表明没有预测的分支指令在乱序执行过程中。通过这一结构,所有到达派遣单元的指令都会知道自己是否处在推测执行的状态下,从而为进一步的攻击特征提取提供最初的选定范围。
S2:重命名阶段:
传统意义的重命名阶段,负责解决数据冲突问题,为指令建立关联性,其内部主体包含一个寄存器别名表,记录逻辑寄存器与物理寄存器的映射关系。Spectre的攻击程序特征是在推测执行的路径上存在一个间址寻址的指令。
从派遣阶段出来以后,所有加载指令都会被标识是否处于推测执行的状态中,以及到底依赖于最近的哪一笔分支指令,这两个信息会在目标寄存器更新寄存器别名表的同时,顺便被记录在别名表里,此外如果当前指令的源寄存器在访问寄存器别名表时,发现依赖于早前的一笔推测执行的加载指令时,会把这个推测状态同样记录在自己目的寄存器在寄存器别名表对应的表项里,这样就完成了推测执行状态和依赖分支指令的传递过程,我们称之为“着色”。
S3:访存请求发送阶段:
从重命名阶段出来以后每条加载指令会携带是否为推测执行的间址访存指令的指示位以及依赖的分支指令,这时候考虑到设计的复杂程度和访存的保守程度,分为几种不同做法:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华夏芯(北京)通用处理器技术有限公司,未经华夏芯(北京)通用处理器技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810144875.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:全流水结构SHA-2消息扩展优化方法
- 下一篇:一种通信方法、装置及系统





