[发明专利]控制流完整性保护方法、系统、装置及可读存储介质有效

专利信息
申请号: 202110300061.X 申请日: 2021-03-22
公开(公告)号: CN112966258B 公开(公告)日: 2022-12-30
发明(设计)人: 李金库;李睿;向昊;姚青松;马建峰 申请(专利权)人: 西安电子科技大学
主分类号: G06F21/52 分类号: G06F21/52
代理公司: 西安通大专利代理有限责任公司 61200 代理人: 房鑫
地址: 710071 陕*** 国省代码: 陕西;61
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 控制 完整性 保护 方法 系统 装置 可读 存储 介质
【权利要求书】:

1.一种控制流完整性保护方法,其特征在于,包括以下步骤:

获取待保护程序的控制流图;其中,待保护程序的控制流图中,记录有函数指针的位置信息及函数指针的源点信息;

将待保护程序的控制流图导入待保护程序中;

利用store指令插桩获取待保护程序运行时的上下文信息,并将待保护程序运行时的上下文信息存储在MPX表中;

利用间接调用指令插桩查询MPX表,获取上下文信息;并利用上下文信息,验证程序实际运行的跳转目标合法性;

待保护程序的控制流图中CFG元组的表达式为:

(origin/position,ICT,target)

其中,origin为函数指针的源点信息,ICT为间接调用指令的位置信息,target为具体目标,postion为函数指针的位置信息;

利用store指令插桩获取待保护程序运行时的上下文信息,并将待保护程序运行时的上下文信息存储在MPX表中的过程具体如下:

利用Intel MPX工具,通过修改Clang/lib/CodeGen文件,在CodeGenFunction.cpp的store指令生成处添加EmitStoreToMetadata函数;将收集的上下文信息存储到MPX表中;其中,上下文信息包括函数指针的位置信息及函数指针的源点信息;

利用上下文信息验证程序运行时的目标合法性的过程具体如下:

如果源点信息存在,在hash表中查找是否包含(origin,ICT,target)条目;如果包含,则允许运行;若不包含(origin,ICT,target)条目,则终止运行;

如果源点信息不存在,从每条间接调用指令回溯到getelementptr指令获取位置信息,根据位置信息查询MPX表,直到回溯到全局变量中函数指针的位置;根据当前目标和位置信息查找hash表是否包含(position,ICT,target)条目;如果包含,则允许运行;若不包含该(position,ICT,target)条目,则终止运行;

如果MPX表中查找不到源点信息和位置信息,则终止运行。

2.根据权利要求1所述的一种控制流完整性保护方法,其特征在于,获取待保护程序的控制流图过程具体为:

采用LLVM编译器,利用插桩修改后的LLVM Clang工具对待保护程序源代码进行编译,得到待保护程序的中间代码;

利用修改后的SVF工具源码,对待保护程序的中间代码进行静态分析,得到待保护程序的控制流图。

3.根据权利要求2所述的一种控制流完整性保护方法,其特征在于,利用修改后的SVF工具源码,对待保护程序的中间代码进行静态分析,得到待保护程序的控制流图过程具体如下:

采用函数特征匹配的方法,对待保护程序进行分析,得到间接调用指令对应的有效目标集合;

对全局变量进行静态分析,得到函数指针的位置信息;

对store指令进行静态分析,得到函数指针的源点信息;

利用函数指针的位置信息及函数指针的源点信息,对间接调用指令对应的有效目标集合中的目标进行区分,得到待保护程序的控制流图。

4.根据权利要求1所述的一种控制流完整性保护方法,其特征在于,将待保护程序的控制流图导入待保护程序中过程具体如下:

使用objdump命令打印cfg_label段的数据,并使用python脚本根据cfg_label段的数据,对待保护程序的控制流图进行分类处理,生成二进制文件;

采用LLVM编译器的PASS工具,将二进制文件导入到待保护程序文件中。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安电子科技大学,未经西安电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202110300061.X/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top