买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!
摘要:本发明属于集成电路设计领域,具体为基于加载指令依赖链的RISC‑V处理器防御幽灵攻击的方法。本发明方法包括在BOOM流水线中添加推测污染追踪表和寄存器依赖前馈逻辑和发射单元内的判断逻辑来阻止非安全的指令信息在脱离错误推测路径之前被发射,以此来实现防御幽灵攻击。本发明在不大规模更改流水线架构的情况下,在发射阶段之前增加对加载指令的依赖链的追踪,如果在相同推测路径下的寄存器依赖链上的最老的加载指令脱离了错误路径,则整条依赖链上的加载指令都变为安全,并可以被发射。该种方式可以成功防御Spectre等攻击变体,同时相比传统的非安全的情况下所有加载指令都被阻止的情形该方案在性能上的开销损失相对较小。
主权项:1.一种基于加载指令依赖链的RISC-V处理器防御幽灵攻击方法,其特征在于,包括通过在高性能处理器的重命名单元之后添加推测污染跟踪逻辑,对伯克利开源处理器BOOM原有的流水线逻辑进行修改;具体地,在重命名单元和派遣模块之间添加推测污染跟踪逻辑模块;其中,推测污染跟踪逻辑本质上是多张推测污染跟踪表,而且多张推测污染跟踪表存放于多个寄存器中,构成寄存器堆;推测污染跟踪逻辑模块用于更新推测污染跟踪表中信息,此时需要标定在同一周期内被派遣的指令之间的寄存器依存关系,称之为同周期内的寄存器依赖前馈逻辑;此外,在发射模块中添加安全判断逻辑模块,用于阻止非安全的指令在脱离非安全状态之前被发射;以此实现防御幽灵攻击;其中:所以推测污染跟踪逻辑模块,是针对整型指令和浮点指令都建立的四张表,其中,一张表指示该指令是否为会泄露信息的加载指令;另一张表来记录加载指令的rob_idx,即指令所处的rob的位置信息;第三张表指示该指令是否存在被污染的寄存器依赖的根目的寄存器,第四张表指示该指令存在被污染的寄存器依赖的根目的寄存器对应的指令所在的重排序缓存的位置;所述寄存器依赖前馈逻辑模块,在推测污染跟踪逻辑模块中的多张推测污染跟踪表还未更新的时候,以未更新的污染跟踪表信息为基础,对于超标量处理器中同周期内派遣的指令,找到这些指令之间的寄存器依赖关系,并经过寄存器依赖前馈逻辑模块处理过之后的信息去更新推测污染跟踪表,以保证整个跟踪链条的正确性;所述发射模块中添加的安全判断逻辑模块,实际是在发射模块中添加安全寄存器,该寄存器初始状态为0;同时使用BOOM处理器的ROB模块里面的rob_pnr_idx信号,该信号原来是在ROB里面指示当前指令是否为分支、跳转、访存指令发生异常;现将该信号引入发射模块中,用于指示当前指令是否安全;判断逻辑的判断规则是,用输入发射槽的微操作附带的指示当前指令的被污染的根寄存器rob_idx位置的rd_s1_root信号,与rob_pnr_idx、rob_tail_idx,即最后一行rob的位置进行比较,当rob_pnr_idx比rd_s1_root信号指示的rob_idx更加靠近rob_tail_idx时,指令即转为安全;或者进入发射槽的指令并不属于加载指令依赖链,此时也为安全;或者rob_pnrrob_pnr_idx所处的行号信号已经走到rob_tail最后一行重排序缓存的行号,此时也为安全。
全文数据:
权利要求:
百度查询: 复旦大学 基于加载指令依赖链的RISC-V处理器防御幽灵攻击方法
免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。