[发明专利]一种并发应用运行时加固方法与装置在审
申请号: | 202110677805.X | 申请日: | 2021-06-18 |
公开(公告)号: | CN113885887A | 公开(公告)日: | 2022-01-04 |
发明(设计)人: | 陈恺;卢垚松;梁瑞刚 | 申请(专利权)人: | 中国科学院信息工程研究所 |
主分类号: | G06F8/60 | 分类号: | G06F8/60;G06F8/41;G06F21/57 |
代理公司: | 北京君尚知识产权代理有限公司 11200 | 代理人: | 邱晓锋 |
地址: | 100093 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 并发 应用 运行 加固 方法 装置 | ||
1.一种并发应用运行时加固方法,其特征在于,包括以下步骤:
为应用执行提供事务区间,在事务区间的指令执行模式称为事务模式,事务执行期间不可被其它任务抢占;
事务执行失败后,将应用回滚至事务执行前的状态,并记录回滚次数和失败原因;
为无法在事务模式下执行的指令提供暂时退出事务区间的隔离区模式。
2.根据权利要求1所述的方法,其特征在于,基于Intel TSX指令集使指令执行处于所述事务模式中,防止应用执行被抢占。
3.根据权利要求1所述的方法,其特征在于,处于所述事务模式状态的指令的数量不大于一个基本代码块中指令的数量。
4.根据权利要求1所述的方法,其特征在于,指令执行进入所述事务模式以及处于所述事务模式的操作步骤包括:
1)保存RAX寄存器和标志位寄存器;
2)执行xbegin指令,开启事务模式并指定事务执行失败时的处理代码地址;
3)恢复RAX寄存器和标志位寄存器;
4)顺序执行原应用指令;
5)判断待执行指令是否为分支指令,是则执行步骤6),否则执行步骤8);
6)执行分支指令,完成跳转;
7)执行xend指令,退出事务模式,执行步骤1);
8)判断是否需要进入隔离区,若是则执行隔离区操作,否则执行步骤9);
9)判断是否结束事务模式执行,若是则执行步骤10),否则执行步骤4);
10)执行xend指令结束事务模式执行。
5.根据权利要求4所述的方法,其特征在于,所述判断是否需要进入隔离区,包括:如果发现指令需要触发中断或需要进入特权级,则进入隔离区,如果未发现会触发中断或进入特权级的指令,则不进入隔离区。
6.根据权利要求4所述的方法,其特征在于,指令执行进入所述隔离区模式、处于所述隔离区模式以及退出所述隔离区模式的操作步骤包括:
(1)保存事务执行模式上下文,包括函数参数、内存变量;
(2)执行xend指令,退出事务模式,随即进入隔离区模式;
(3)执行原应用指令;
(4)执行xbegin指令,恢复事务执行模式并指定事务失败时的处理代码地址;
(5)恢复事务执行模式上下文;
(6)检查受保护的应用资源是否遭到破坏,若是则结束应用执行,否则执行步骤4),以结束隔离区模式,回到事务模式。
7.根据权利要求6所述的方法,其特征在于,事务执行失败后的操作步骤包括:
[1]跳转至步骤2)指定的事务执行失败时的处理代码处;
[2]获取事务失败次数t;
[3]t=t+1;
[4]判断是否有tN,N为设定的一个较大的回滚次数,是则退出应用执行,否则执行步骤[5];
[5]获取RAX寄存器的二进制值,记为r,若r的最低第二位为1,执行步骤[6],否则执行步骤[7];
[6]返回至事务模式开始位置,执行步骤1);
[7]向用户报告r值并退出应用执行。
8.一种采用权利要求1~7中任一权利要求所述方法的并发应用运行时加固装置,其特征在于,包括:
事务执行模块,用于为应用执行提供事务区间,在事务区间的指令执行模式称为事务模式,事务执行期间不可被其它任务抢占;
事务执行失败处理模块,用于在事务执行失败后,将应用回滚至事务执行前的状态,并记录回滚次数和失败原因;
隔离区模式操作模块,用于为无法在事务模式下执行的指令提供暂时退出事务区间的隔离区模式。
9.一种电子装置,其特征在于,包括存储器和处理器,所述存储器存储计算机程序,所述计算机程序被配置为由所述处理器执行,所述计算机程序包括用于执行权利要求1~7中任一权利要求所述方法的指令。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储计算机程序,所述计算机程序被计算机执行时,实现权利要求1~7中任一权利要求所述的方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院信息工程研究所,未经中国科学院信息工程研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110677805.X/1.html,转载请声明来源钻瓜专利网。