[发明专利]一种线性汇编级的可配置容错方法、计算机、计算机程序有效
申请号: | 201711241004.9 | 申请日: | 2017-11-30 |
公开(公告)号: | CN108171016B | 公开(公告)日: | 2021-04-09 |
发明(设计)人: | 谭庆平;李盼盼;邓锦洲;徐建军;邵则铭;曾平;张南;孟宪凯;张浩宇;唐国斐;谢勤政;颜颖;刘鑫昊 | 申请(专利权)人: | 中国人民解放军国防科技大学 |
主分类号: | G06F21/12 | 分类号: | G06F21/12;G06F11/14 |
代理公司: | 北京众合诚成知识产权代理有限公司 11246 | 代理人: | 夏艳 |
地址: | 410073 湖南省长沙市砚*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 线性 汇编 配置 容错 方法 计算机 程序 | ||
本发明属于计算机软件加固技术领域,公开了一种线性汇编级的可配置容错方法、计算机、计算机程序,将程序代码划分为若干个基本块;所有变量重命名;计算每个变量的复算效率;计算每个变量的影响因子;对全部变量进行排序并选取部分进行可配置容错。本发明基于寄存器生命周期、进行加固所需添加的指令条数、影响的其他寄存器数量的情况,提出复算效率和影响因子两个评价指标,并提供计算方法与依据其进行可配置加固的方法,对寄存器的重要程度和加固难度进行了全面的考量,提出了更全面、性价比更高的可配置加固方法。
技术领域
本发明属于计算机软件加固技术领域,尤其涉及一种线性汇编级的可配置容错方法、计算机、计算机程序。
背景技术
在软加固技术的应用中,在不同应用、不同场景下对于加固开销以及应用的可靠性可能有不同的要求。程序中对可靠性有关键影响的代码和数据一般只是一小部分,因此在开销受限的情况下,可以优先保护这部分的代码和数据。现有对于可配置加固技术的研究,包括使用指令鲁棒性分析进行部分指令加固的SIRFT技术和使用寄存器优先级分析进行部分寄存器加固的S-SWIFT-R。SIRFT技术通过对指令对错误的容忍能力即指令的鲁棒性进行分析,通过选择性保护鲁棒性较差的指令,在尽量保证可靠性的前提下减少加固时间开销,S-SWIFT-R基于SWIFT-R,通过计算寄存器的泛化生命期来选择性的对某些寄存器进行保护。两种可配置加固方法存在:(1)在SIRFT技术中,是以指令的鲁棒性作为评价标准进行可配置加固,这样的评价方法难以反应程序的数据流和控制流特征,单纯的保护某几条指令而不保护它们的数据来源并不会产生良好效果;该方法只能保证受保护指令不会受到发生在指令执行时的软错误影响,如果软错误发生在其前置指令执行时,依然会导致受保护指令出错。
(2)在S-SWIFT-R中,选取了寄存器的重要性作为评价标准,通过根据不同可靠性要求调整需要加固的寄存器范围来实现可配置加固,以寄存器作为可配置加固的加固单位反映了一部分的程序数据流控制流特征,但只以生命周期作为评价标准并不全面,无法切实反映寄存器的重要程度与对其进行加固的实际成本。以生命周期作为重要性评价标准无法完全反映实际的重要性,从而在资源有限时会在保护中保护一些实际上不那么重要的寄存器,而使一些更重要的寄存器失去保护。
SIRFT技术中以指令的鲁棒性作为评价标准进行可配置加固的加固单位是一条或几条指令,而一条指令的执行结果是否会发生错误,不止取决于该指令执行中是否发生了错误,也取决于与作为该指令数据来源的前置指令是否会发生错误,只对一条指令进行保护而不保护作为其前置指令,当受保护指令的前置指令发生错误时,受保护指令也会发生错误;S-SWIFT-R与本发明一样以寄存器(S-SWIFT-R是在汇编语言级,故使用寄存器作为单位,本发明在xi级,故使用变量作为单位,原理上类似)的重要性作为评价标准,但是在对寄存器的重要性进行评价时只使用了生命周期作为评价标准,生命周期指一个寄存器从赋值到不再使用该寄存器的时间,实际上,寄存器的生命周期长并不一定代表寄存器的重要性高,有些寄存器虽然生命周期很长,但使用次数并不多,单纯使用生命周期作为重要性评价标准不能完全反映实际重要性。
综上所述,现有技术存在的问题是:现有的可配置加固方法存在:难以反应程序的数据流和控制流特征,单纯的保护某几条指令而不保护它们的数据来源并不会产生良好效果;只以生命周期作为评价标准并不全面,无法切实反映寄存器的重要程度与对其进行加固的实际成本。
发明内容
针对现有技术存在的问题,本发明提供了一种线性汇编级的可配置容错方法、计算机、计算机程序。现有技术即SIRFT和S-SWIFT-R。本方案相较于现有技术:(1)考虑了数据流和控制流的错误传播原理,并体现在变量的影响因子计算过程中;(2)将单个基本块中的变量作为加固的最小单位,使得可配置的粒度更细。
本发明是这样实现的,本发明所提出的变量影响因子计算方法综合了本领域现有的一些效果较好的计算思路,并在其基础上进行改进提出。
一种线性汇编级的可配置容错方法,所述线性汇编级的可配置容错方法包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军国防科技大学,未经中国人民解放军国防科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711241004.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:时效控制的方法和装置
- 下一篇:一种基于硬件的指令集在线加密系统