[发明专利]一种基于访存请求序列的处理器芯片假安全依赖冲突的识别方法有效
申请号: | 202010039387.7 | 申请日: | 2020-01-15 |
公开(公告)号: | CN111274573B | 公开(公告)日: | 2022-09-09 |
发明(设计)人: | 侯锐;孟丹;李沛南;赵路坦 | 申请(专利权)人: | 中国科学院信息工程研究所 |
主分类号: | G06F21/52 | 分类号: | G06F21/52;G06F21/57;G06F21/71 |
代理公司: | 北京君尚知识产权代理有限公司 11200 | 代理人: | 陈艳 |
地址: | 100093 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 请求 序列 处理器 芯片 安全 依赖 冲突 识别 方法 | ||
本发明提出一种基于访存请求序列的处理器芯片假安全依赖冲突的识别方法,属于处理器微体系结构设计领域,在安全依赖关系的基础上,分析推测执行侧信道攻击中的关键步骤,提取共有的访存模式,在处理器微体系结构中引入安全依赖关系检查逻辑,动态地识别不存在危险的假安全依赖关系。
技术领域
本发明属于处理器微体系结构设计领域,涉及一种基于访存请求序列的识别假安全依赖冲突的安全处理器微体系结构设计方法。
背景技术
推测执行技术在一些指令还未被解析,跳转方向或者指令是否有权限执行还不能确定时,允许后续的指令提前执行。若推测成功,则可以有效地提升程序的执行效率。在发现推测错误后,将体系结构恢复至正确状态,保证程序的正确性。这一方法可以有效地提升指令并行性,是主流商业芯片中至关重要的性能优化措施之一。然而由于在错误推测的窗口期间,对微体系结构上的改变未被恢复,其中残留的敏感信息可能被攻击者推算出来,带来严重的安全风险。
针对推测执行侧信道攻击,在微体系结构上可以通过引入保护域的标识或者对共享资源进行隔离,从而保证攻击者不能直接影响受害者程序的执行,或者在受害者执行后,通过微体系结构信息推算出敏感信息。这两种方法会带来较大的面积代价,也会带来较为紧张的时序约束。安全依赖为触发推测执行的指令与后续超前推测执行的指令之间建立依赖关系,并为相关的访存操作附加安全依赖标签,将该标识位与指令信息一同在流水线中传递。但这种方法标识的存在安全依赖的访存中,有些访存操作其实并不具备泄露信息的可能,因而带来了不必要的性能损失。
发明内容
为了在免受推测执行侧信道攻击的前提下,降低硬件代价、减少时序压力,本发明提出一种基于访存请求序列的处理器芯片假安全依赖冲突的识别方法,在安全依赖的基础上,分析推测执行侧信道攻击中的关键步骤,提取共有的访存模式,在微体系结构中引入安全依赖检查逻辑,动态地识别不存在危险的假安全依赖。
本发明方法的技术方案主要包含以下内容:
一种基于访存请求序列的处理器芯片假安全依赖冲突的识别方法,包括以下步骤:
一)识别基于共享页的推测执行侧信道攻击的访存模式
基于共享页的方法是利用推测执行漏洞构造侧信道攻击的常用且危险的方法。在采用这种方法进行攻击时,访存序列存在特定的访存模式,因此,可以程序执行过程中,动态地分析访存请求序列是否存在这种访存模式;
二)在微体系结构中动态识别访存模式
在处理器的微体系结构中,动态地识别访存序列是否符合共享页的推测执行侧信道攻击的访存模式,例如在读写单元中来检测,本文包括但不局限于在这一单元进行识别。在微体系结构引入识别逻辑,动态地判断存在安全依赖的访存操作是否满足这种访存模式。如果该访存操作满足所述访存模式,则判定该访存操作存在真安全依赖关系,否则存在假安全依赖关系。
其中,所述访存模式具体内容包括:
1)利用受害者执行过程中在错误推测路径上首先读取敏感信息的值;
2)将该敏感信息作为地址来访问非敏感信息所在页的数据;
3)访问非敏感信息所在页的数据时,未命中缓存,如若执行,将会引入新的缓存行,期间有可能替换掉原有的缓存行,改变缓存内容。
攻击者通过分析该数据区域访问缓存时间的变化,来判断受害者的访问行为,继而分析出敏感数据。通常情况下,敏感数据与非敏感数据区域不会被分配在同一个页面,即在第2)步骤的访存操作与第1)步骤的访存操作不在同一个页面。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院信息工程研究所,未经中国科学院信息工程研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010039387.7/2.html,转载请声明来源钻瓜专利网。