[发明专利]一种面向边信道安全防护的循环语句执行方法及装置有效
申请号: | 202110443636.3 | 申请日: | 2021-04-23 |
公开(公告)号: | CN113076090B | 公开(公告)日: | 2022-07-05 |
发明(设计)人: | 黄立波;童敢;郭辉;郑重;邓全;倪晓强;郭维;雷国庆;王俊辉;隋兵才;孙彩霞;王永文 | 申请(专利权)人: | 中国人民解放军国防科技大学 |
主分类号: | G06F8/30 | 分类号: | G06F8/30;G06F8/41;G06F9/30 |
代理公司: | 湖南兆弘专利事务所(普通合伙) 43008 | 代理人: | 谭武艺 |
地址: | 410073 湖南*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 面向 信道 安全 防护 循环 语句 执行 方法 装置 | ||
本发明公开了一种面向边信道安全防护的循环语句执行方法及装置,本发明面向边信道安全防护的循环语句执行方法包括预先识别目标程序的源代码或目标代码中的循环体,为每一段循环体前插入一条基于可扩展指令集体系结构编码规范的扩展循环指令,得到使用扩展循环指令的目标程序;在执行使用扩展循环指令的目标程序时,若遇到扩展循环指令,则基于扩展循环指令确定性执行该扩展循环指令后的循环体。本发明能够抵御分支预测攻击,不仅保证了安全,还消除了由现有防御措施给循环带来的巨大性能损失,和循环展开相比也将代码量的增加控制在了每个循环仅一条,对现有程序修改量少。
技术领域
本发明属于处理器体系结构安全领域,具体涉及一种面向边信道安全防护的循环语句执行方法及装置。
背景技术
分支预测技术是现代处理器用于提高程序执行效率的关键性技术,大大降低了由分支指令带来的流水线延迟,高准确度的分支预测可以给处理器带来极大的性能提升。但是近年来曝光出了幽灵(Spectre)系列的漏洞族,显示出典型现代处理器体系结构的设计存在严重的安全问题,对处理器用户产生了极大的安全威胁。幽灵漏洞族利用了对分支预测技术的误导训练,使得处理器推测执行攻击者精心构造的代码序列,非授权访问由各种处理器和操作系统安全机制保护的数据,进而利用高速缓存等侧信道泄露数据。
防御这类攻击最根本的是从源头进行防护,也就是防止被恶意触发推测执行,攻击者就无法成功瞬态执行非授权访问的代码。现有在源头层面对幽灵漏洞进行防御的措施为防止对所有分支指令进行分支预测,在硬件层面主要方法是禁用分支预测,在软件层面主要方法是编译时在分支指令后插入fence指令。这类防御措施等效于在处理器执行到分支指令后暂停流水线,等到确定分支指令分支结果后再执行,这样处理器相当于未采用分支预测技术,导致程序执行效率大大下降,牺牲了由分支预测技术带来的巨大性能提升,代价很大。程序中包含很多的循环语句,这也是攻击者利用来构造“幽灵”攻击的必要条件,现有的措施通过完全禁用分支预测保证了处理器安全,但在执行分支指令尤其是循环中的分支指令时会带来巨大的开销。
发明内容
本发明要解决的技术问题:针对现有技术的上述问题,提供一种面向边信道安全防护的循环语句执行方法及装置,本发明能够抵御分支预测攻击,不仅保证了安全,还消除了由现有防御措施给循环带来的巨大性能损失,减少了执行分支指令尤其是循环中的分支指令的开销,和循环展开相比也将代码量的增加控制在了每个循环仅一条,对现有程序修改量少。
为了解决上述技术问题,本发明采用的技术方案为:
一种面向边信道安全防护的循环语句执行方法,包括:
1)预先识别目标程序的源代码或目标代码中的循环体,为每一段循环体前插入一条基于可扩展指令集体系结构编码规范的扩展循环指令,得到使用扩展循环指令的目标程序;
2)在执行使用扩展循环指令的目标程序时,若遇到扩展循环指令,则基于扩展循环指令确定性执行该扩展循环指令后的循环体。
可选地,步骤1)中的扩展循环指令的编码信息包括该扩展循环指令后循环体的循环迭代次数和循环体内指令条数。
可选地,所述扩展循环指令最大支持的循环体内指令条数为2a-1条,其中a为扩展循环指令中循环体内指令条数的位宽。
可选地,步骤1)中预先识别目标程序的源代码或目标代码中的循环体是指:通过编译器针对目标程序的源代码识别其中各个循环体的循环迭代次数和循环体内指令条数,根据循环迭代次数和循环体内指令条数生成一条基于可扩展指令集体系结构编码规范的扩展循环指令并插入对应的各段循环体前,最终得到使用扩展循环指令的目标程序;或者,通过优化器针对目标程序的目标代码识别其中各个循环体的循环迭代次数和循环体内指令条数,根据循环迭代次数和循环体内指令条数生成一条基于可扩展指令集体系结构编码规范的扩展循环指令并插入对应的各段循环体前,最终得到使用扩展循环指令的目标程序。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军国防科技大学,未经中国人民解放军国防科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110443636.3/2.html,转载请声明来源钻瓜专利网。