[发明专利]控制流完整性保护方法、装置、设备及存储介质在审
申请号: | 202010599864.5 | 申请日: | 2020-06-28 |
公开(公告)号: | CN111898119A | 公开(公告)日: | 2020-11-06 |
发明(设计)人: | 孟丹;陈李维;李锦峰;佘才睿;史岗 | 申请(专利权)人: | 中国科学院信息工程研究所 |
主分类号: | G06F21/52 | 分类号: | G06F21/52 |
代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 李文清 |
地址: | 100093 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 控制 完整性 保护 方法 装置 设备 存储 介质 | ||
1.一种控制流完整性保护方法,其特征在于,包括:
将待保护程序的控制流中的当前间接分支指令的所有合法目标地址的预设位更改至相同;
将所述当前间接分支指令的当前目标地址的预设位改写为与所述合法目标地址的预设位相同,以使所述待保护程序在所述当前目标地址被篡改时终止执行。
2.根据权利要求1所述的控制流完整性保护方法,其特征在于,所述将所述当前间接分支指令的当前目标地址的预设位改写为与所述合法目标地址的预设位相同,以使所述待保护程序在所述当前目标地址被篡改时终止执行,具体包括:
将所述当前目标地址的预设位改写至与所述当前间接分支指令的标签相同,以使所述待保护程序在所述当前目标地址被篡改时,所述当前间接分支无法跳转至所述合法目标地址,所述待保护程序终止执行;
其中,所述标签为所述当前间接分支指令的合法目标地址的预设位。
3.根据权利要求2所述的控制流完整性保护方法,其特征在于,所述将所述当前目标地址的预设位改写至与所述当前间接分支指令的标签相同,具体包括:
在所述当前间接分支指令处进行代码插桩操作;
其中,所述代码用于将所述当前目标地址的预设位改写至与所述标签相同。
4.根据权利要求1所述的控制流完整性保护方法,其特征在于,所述将待保护程序的控制流中的当前间接分支指令的所有合法目标地址的预设位更改至相同,具体包括:
对所述所有合法目标地址分别进行空指令填充操作,以使所述所有合法目标地址预设位变大,直至与所述当前间接分支指令的标签相等。
5.根据权利要求4所述的控制流完整性保护方法,其特征在于,所述当前间接分支指令的标签是随机预设的,其中,所述的当前间接分支指令的标签与所述待保护程序中其他间接分支指令的标签不同。
6.根据权利要求1至5任一所述的控制流完整性保护方法,其特征在于,所述合法目标地址的预设位为所述合法目标地址的低字节,所述当前目标地址的预设位为所述当前目标地址的低字节。
7.根据权利要求1所述的控制流完整性保护方法,其特征在于,所述将待保护程序的控制流中的间接分支指令的所有合法目标地址进行重排之前,所述方法还包括:
对所述待保护程序进行静态分析,获取所述待保护程序的控制流。
8.一种控制流完整性保护装置,其特征在于,包括:
更改模块,用于将待保护程序的控制流中的当前间接分支指令的所有合法目标地址的预设位更改至相同;
改写模块,用于将所述当前间接分支指令的当前目标地址的预设位改写为与所述合法目标地址的预设位相同,以使所述待保护程序在所述当前目标地址被篡改时终止执行。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7任一项所述控制流完整性保护方法的步骤。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至7任一项控制流完整性保护方法的步骤。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院信息工程研究所,未经中国科学院信息工程研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010599864.5/1.html,转载请声明来源钻瓜专利网。