[发明专利]一种基于主动构造的离线堆溢出漏洞挖掘方法在审
| 申请号: | 201711266952.8 | 申请日: | 2017-12-05 |
| 公开(公告)号: | CN108073817A | 公开(公告)日: | 2018-05-25 |
| 发明(设计)人: | 贾相堃;苏璞睿;杨轶;黄桦烽;和亮;闫佳 | 申请(专利权)人: | 中国科学院软件研究所 |
| 主分类号: | G06F21/57 | 分类号: | G06F21/57 |
| 代理公司: | 北京君尚知识产权代理事务所(普通合伙) 11200 | 代理人: | 余功勋 |
| 地址: | 100190 *** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 溢出 漏洞挖掘 潜在的 主动构造 离线 漏洞 分配 崩溃 路径约束条件 关联性分析 动态执行 访问操作 分析程序 人员分析 溢出条件 不一致 通用的 挖掘 触发 求解 外部 可控 样本 访问 验证 修复 记录 分析 安全 开发 | ||
1.一种基于主动构造的离线堆溢出漏洞挖掘方法,其步骤如下:
在动态分析环境中执行目标程序,获取动态执行过程的指令记录;
对指令记录进行扫描,寻找并跟踪堆分配函数,根据堆分配函数的参数,重构并维护程序运行过程时的堆状态;
在扫描过程中,进行指针污点传播;当通过堆指针进行堆访问操作时,通过堆指针的污点信息回溯到相应的堆分配操作,建立堆分配-访问操作的关联;
标记外部输入为污点源,进行数据污点传播;当发现堆分配操作或堆访问操作时,检测堆分配或堆访问操作的相关参数是否被数据污点标记,记录污点信息以及堆状态信息;
对关联的每一个堆分配-访问操作,根据其数据污点状态和堆状态以及堆溢出的类型,构造潜在溢出条件;
再次对指令记录进行扫描,提取从外部污点数据进入程序开始,到存在潜在溢出可能的堆分配-访问对的程序执行路径上的路径约束条件,结合堆溢出条件,形成该堆分配-访问对的最终溢出条件;
求解最终溢出条件,如有解,则根据求解结果生成样本文件,再次运行程序并输入样本文件,用以验证堆溢出漏洞。
2.如权利要求1所述的基于主动构造的离线堆溢出漏洞挖掘方法,其特征在于,所述堆分配函数选自malloc函数、free函数。
3.如权利要求1或2所述的基于主动构造的离线堆溢出漏洞挖掘方法,其特征在于,所述在动态分析环境中执行目标程序包括:
通过目标程序打开原始种子文件,获取动态执行过程的指令记录;
所述指令记录包括指令信息、运行时寄存器信息。
4.如权利要求3所述的基于主动构造的离线堆溢出漏洞挖掘方法,其特征在于,所述样本文件为依据最终溢出条件的求解结果修改原始的种子文件获得。
5.如权利要求1所述的基于主动构造的离线堆溢出漏洞挖掘方法,其特征在于,所述对指令记录进行扫描,寻找并跟踪堆分配函数包括:
根据堆分配函数的指令偏移地址,在指令记录中寻找堆分配操作指令;
通过分析堆分配操作指令的上下文提取堆分配操作的参数;
所述参数包括:分配大小、分配地址。
6.如权利要求5所述的基于主动构造的离线堆溢出漏洞挖掘方法,其特征在于,所述指针污点传播采用带符号标签的污点传播规则;所述数据污点传播采用带标签的污点传播规则;
所述最终溢出条件表示为可求解的符号表达式形式;
符号表达式采用Z3-Python的规则,将X86指令根据指令语义转化为Z3-Python的表达式。
7.如权利要求6所述的基于主动构造的离线堆溢出漏洞挖掘方法,其特征在于,所述堆溢出条件用以表示是否存在堆访问的范围超过堆分配的范围的情况,存在则表示有堆溢出的可能;
路径约束条件用以表示目标程序是否沿着脆弱路径执行经过潜在的堆溢出漏洞的分配和访问操作。如是,则表示符合路径约束条件。
8.如权利要求7所述的基于主动构造的离线堆溢出漏洞挖掘方法,其特征在于,所述求解最终溢出条件包括:采用Z3作为符号求解器;如有解,则得到的求解结果用以显示原始种子文件中与堆溢出条件相关的字节,并给字节满足堆溢出条件的取值。
9.一种服务器,其包括存储器和处理器,所述存储器存储计算机程序,所述程序被配置为由所述处理器执行,所述程序包括用于执行权利要求1至8任一项所述方法中各步骤的指令。
10.一种存储计算机程序的计算机可读存储介质,所述计算机程序包括指令,所述指令当由服务器的处理器执行时使得所述服务器执行权利要求1至8任一项所述方法中的各个步骤。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院软件研究所,未经中国科学院软件研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711266952.8/1.html,转载请声明来源钻瓜专利网。
- 上一篇:信息处理装置
- 下一篇:一种基于动态重定向的文档防护方法及系统





