[发明专利]一种免受Spectre攻击的高性能推测执行算法有效
| 申请号: | 201810144875.7 | 申请日: | 2018-02-12 |
| 公开(公告)号: | CN108427576B | 公开(公告)日: | 2022-04-01 |
| 发明(设计)人: | 费晓龙 | 申请(专利权)人: | 华夏芯(北京)通用处理器技术有限公司 |
| 主分类号: | G06F9/38 | 分类号: | G06F9/38;G06F21/55 |
| 代理公司: | 北京科家知识产权代理事务所(普通合伙) 11427 | 代理人: | 陈娟 |
| 地址: | 100176 北京市大兴区北京经济技术开*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | 本发明公开了CPU安全技术领域的一种免受Spectre攻击的高性能推测执行算法,该免受Spectre攻击的高性能推测执行算法的具体步骤如下:S1:译码、派遣阶段;S2:重命名阶段;S3:访存请求发送阶段;S4:下级缓存请求发送阶段,本方案综合考虑了修复硬件成本和安全性,保证推测执行在安全的检测隔离环境中发挥原有的性能优势,相比原有推测执行算法,本发明重点解决了Spectre多种攻击变体的攻击免疫问题,从根本上保障了推测执行不会引发用户信息泄露,相比原来,本方案会消耗额外硬件增加检测隔离机制,对威胁性的访存序列,采取安全保守的执行机制,从而可能在少数场景有性能损失。 | ||
| 搜索关键词: | 一种 免受 spectre 攻击 性能 推测 执行 算法 | ||
【主权项】:
1.一种免受Spectre攻击的高性能推测执行算法,其特征在于:该免受Spectre攻击的高性能推测执行算法的具体步骤如下:S1:译码、派遣阶段:通过分支预测之后的分支指令会被标记是否被预测执行,这个状态会被传递到派遣单元,Recorder结构会记录下来最近被预测执行的一笔分支指令,并把自身状态设置为busy,如果这笔最近被预测的分支指令被提交,那么recorder会切换到idle的状态,表明没有预测的分支指令在乱序执行过程中。通过这一结构,所有到达派遣单元的指令都会知道自己是否处在推测执行的状态下,从而为进一步的攻击特征提取提供最初的选定范围。S2:重命名阶段:传统意义的重命名阶段,负责解决数据冲突问题,为指令建立关联性,其内部主体包含一个寄存器别名表,记录逻辑寄存器与物理寄存器的映射关系。Spectre的攻击程序特征是在推测执行的路径上存在一个间址寻址的指令。从派遣阶段出来以后,所有加载指令都会被标识是否处于推测执行的状态中,以及到底依赖于最近的哪一笔分支指令,这两个信息会在目标寄存器更新寄存器别名表的同时,顺便被记录在别名表里,此外如果当前指令的源寄存器在访问寄存器别名表时,发现依赖于早前的一笔推测执行的加载指令时,会把这个推测状态同样记录在自己目的寄存器在寄存器别名表对应的表项里,这样就完成了推测执行状态和依赖分支指令的传递过程,我们称之为“着色”。S3:访存请求发送阶段:从重命名阶段出来以后每条加载指令会携带是否为推测执行的间址访存指令的指示位以及依赖的分支指令,这时候考虑到设计的复杂程度和访存的保守程度,分为几种不同做法:(1)只要当前加载指令为推测执行的间址访存指令,把他设置为in‑order执行,即当提交指针等于当前指令ID的时候才可以被发射,这就保证了这条指令的执行没有推测的成分。(2)只要当前加载指令为推测执行的间址访存指令,把他依赖的分支指令以ID的形式存在发射Queue中,monitor提交指针,当提交指针等于当前保存的分支指令ID的时候才可以被发射,这就保证了之前依赖的分支指令已经被执行而且预测结果也被得到认证。如果分支预测错误,发生flush,清空当前的加载指令,否则可以被发射出去。(3)只要当前加载指令为推测执行的间址访存指令,把他依赖的分支指令ID随着加载指令本身一同被发射到数据缓存中,如果返回命中,正常返回执行结果和状态,否则进行特殊处理,这就使得访存命中时候的性能不受任何损失。其深层次原理在于,Spectre攻击的最后需要侧信道攻击,侧信道攻击需要把目标地址从cache中先清除,这样才能在重加载的时候通过判断延迟来决定目标地址是否已经在缓存中,因此攻击过程中目标地址的访问一定不会是命中状态,所以只关心带有危险特征访存序列在不命中情况下的隔离问题。S4:下级缓存请求发送阶段:发生不命中的推测执行的间址访存的请求会被压到不命中的FIFO结构中,因此可以压制此类对下级缓存的访问请求,与此同时从访存请求发送阶段传送过来的分支指令ID也被存在于FIFO中,用来监测提交指针,当这条所依赖的分支指令被提交时,此条间址请求会采取动作,或是因分支预测错误被清除,或是继续向下级缓存发送请求。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华夏芯(北京)通用处理器技术有限公司,未经华夏芯(北京)通用处理器技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201810144875.7/,转载请声明来源钻瓜专利网。
- 上一篇:全流水结构SHA-2消息扩展优化方法
- 下一篇:一种通信方法、装置及系统





