[发明专利]一种支持数据间关联分析的污点分析框架及方法有效
申请号: | 202110319392.8 | 申请日: | 2021-03-25 |
公开(公告)号: | CN113176990B | 公开(公告)日: | 2022-10-18 |
发明(设计)人: | 舒辉;康绯;杨盼;熊小兵;赵耘田;杨巨 | 申请(专利权)人: | 中国人民解放军战略支援部队信息工程大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 郑州明华专利代理事务所(普通合伙) 41162 | 代理人: | 高丽华 |
地址: | 450000 河*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 支持 数据 关联 分析 污点 框架 方法 | ||
1.一种支持数据域间关联分析的污点分析框架,其特征在于:包括程序执行轨迹记录模块、数据流还原模块、通用污点分析模块和数据域关联分析模块;所述程序执行轨迹记录模块用于记录程序运行过程中的轨迹信息;所述数据流还原模块用于使用记录的程序运行轨迹信息还原程序完整的数据流传播过程;所述通用污点分析模块提供通用的污点分析接口;所述数据域关联分析模块用于通过数据域间污点关联分析算法对多个数据域进行污点关联分析,所述数据域间污点关联分析算法具体过程如下:
(1)指定待分析数据域集合R={r0,r1,…ri,…rn}与数据域关联集合A={t0,t1,…tj,…tm},其中i∈[0,n],j∈[0,m];
(2)依次从集合R={r0,r1,…ri,…rn}中取数据域ri进行分析;
(3)当前数据域ri遇到一个与之存在关联的数据域tj,如果tj在数据域关联集合A中已经出现过,则删除当前数据域ri中已经被关联的元素,即r=ri-tj;如果没有出现过,则将该关联关系加入数据域关联集合A,并将tj加入r,r=ri+tj;继续进行数据流追踪;
(4)分析到当前数据域为空,或者被分析程序结束;
(5)取待分析数据域,重复步骤(3)和(4),直到待分析数据域集合R中的所有数据域都已分析过。
2.一种支持数据域间关联分析的污点分析方法,其特征在于:包括以下步骤:
步骤一、记录程序执行轨迹:使用动态二进制插桩技术分别在被分析程序各模块加载后、新线程被创建时、基本块被分析时、基本块被执行时以及API调用前后进行插桩,记录程序各个模块加载后的镜像、线程初始上下文环境、基本块指令内容、基本块执行顺序以及API调用信息;
步骤二、使用记录的程序运行信息还原完整数据流传播过程:使用记录的程序各个模块镜像,根据记录的线程初始上下文环境初始化模拟执行的上下文环境,根据记录的基本块执行序列依次模拟执行每一个基本块,每个基本块首次出现时,首先反编译基本块内所有指令,然后根据指令的数据流关系生成数据流模板,使用内存hook在产生内存访问时填充数据流模板;在每个基本块模拟执行结束后,将数据流写入日志文件;
步骤三、根据记录的程序完整数据流,结合程序执行轨迹,使用通用的污点分析接口在记录的程序完整数据流基础上设置污点数据、污点源和汇聚点进行污点分析;
步骤四、通过数据域间污点关联的传递性,根据数据域在程序执行过程中出现的时机,以倒序的方式使用数据域间污点关联分析算法对数据域逐个进行分析;所述数据域间污点关联分析算法具体过程如下:
(1)指定待分析数据域集合R={r0,r1,…ri,…rn}与数据域关联集合A={t0,t1,…tj,…tm},其中i∈[0,n],j∈[0,m];
(2)依次从集合R={r0,r1,…ri,…rn}中取数据域ri进行分析;
(3)当前数据域ri遇到一个与之存在关联的数据域tj,如果tj在数据域关联集合A中已经出现过,则删除当前数据域ri中已经被关联的元素,即r=ri-tj;如果没有出现过,则将该关联关系加入数据域关联集合A,并将tj加入r,r=ri+tj;继续进行数据流追踪;
(4)分析到当前数据域为空,或者被分析程序结束;
(5)取待分析数据域,重复步骤(3)和(4),直到待分析数据域集合R中的所有数据域都已分析过。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军战略支援部队信息工程大学,未经中国人民解放军战略支援部队信息工程大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110319392.8/1.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置