[发明专利]一种基于主动构造的离线堆溢出漏洞挖掘方法在审
| 申请号: | 201711266952.8 | 申请日: | 2017-12-05 |
| 公开(公告)号: | CN108073817A | 公开(公告)日: | 2018-05-25 |
| 发明(设计)人: | 贾相堃;苏璞睿;杨轶;黄桦烽;和亮;闫佳 | 申请(专利权)人: | 中国科学院软件研究所 |
| 主分类号: | G06F21/57 | 分类号: | G06F21/57 |
| 代理公司: | 北京君尚知识产权代理事务所(普通合伙) 11200 | 代理人: | 余功勋 |
| 地址: | 100190 *** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 溢出 漏洞挖掘 潜在的 主动构造 离线 漏洞 分配 崩溃 路径约束条件 关联性分析 动态执行 访问操作 分析程序 人员分析 溢出条件 不一致 通用的 挖掘 触发 求解 外部 可控 样本 访问 验证 修复 记录 分析 安全 开发 | ||
本发明提供一种基于主动构造的离线堆溢出漏洞挖掘方法,通过分析程序动态执行记录(即使未发生程序崩溃),对执行中涉及的堆分配和堆访问操作进行关联性分析,对于每一个堆分配‑访问对,分析其可控属性(是否受外部输入影响)和溢出条件,结合路径约束条件,求解是否存在能够触发潜在的堆溢出的输入,并构造漏洞样本(PoC文件)进行验证,从而挖掘潜在的堆溢出漏洞。对比于通用的堆溢出漏洞挖掘方法更具针对性,直接从堆溢出的本质(即存在堆分配和访问不一致的情况)出发,结合外部输入是否能够影响堆操作,挖掘潜在的堆溢出漏洞。同时能够直接指出堆溢出发生的位置(不同于崩溃位置),便于安全人员分析和开发者修复。
技术领域
本发明属于软件漏洞挖掘技术领域,具体涉及一种基于主动构造的离线堆溢出漏洞挖掘方法。
背景技术
内存破坏漏洞是很严重的一类安全漏洞,其中栈溢出漏洞随着保护机制的完善已经很难利用,而堆溢出漏洞逐渐成为了研究的热点和难点。通过堆喷射或风水堆等方式,攻击者能够利用堆溢出漏洞达到任意地址读写和任意代码执行的攻击效果,具有很大危害。
现有的堆漏洞挖掘方法中,静态分析的方法因为指针别名、误报率高等问题,存在局限性。动态测试和分析的方法被越来越多的应用。模糊测试(Fuzzing)是其中广泛应用的方法之一,其通过生成大量的测试样本,检查是否能够触发程序崩溃,判断软件是否存在漏洞。例如开源模糊测试工具AFL(American Fuzzy Loop)即基于上述方式发现了大量的软件漏洞。此外,软件动态分析的方法应用于漏洞挖掘也取得了良好的效果,如麻省理工学院的Stelios等人研发的DIODE、阿姆斯特丹自由大学的Herbert等人研发的Dowser等成果,已发表在ASPLOS、USENIX Security等软件和安全顶级会议上。它们通过对软件执行过程中敏感操作的定位和分析,有指导性地探索软件执行状态,发掘软件漏洞。
尽管动态分析的漏洞挖掘方法已经取得了很大的研究进展和良好的应用效果,然而现有的方法仍然存在以下的不足:
1)模糊测试存在一定的盲目性,发现的崩溃样本仍然需要大量的后续分析确定漏洞类型2)通过堆漏洞检测发现堆溢出漏洞具有被动性,依赖于程序崩溃的触发
3)软件动态分析相关技术存在分析数据量过大、分析效率低等问题
发明内容
针对现有技术中存在的技术问题,本发明的目的在于提供一种基于主动构造的离线堆溢出漏洞挖掘方法,通过分析程序动态执行记录(即使未发生程序崩溃),对执行中涉及的堆分配和堆访问操作进行关联性分析,对于每一个堆分配-访问对,分析其可控属性(是否受外部输入影响)和溢出条件,结合路径约束条件,求解是否存在能够触发潜在的堆溢出的输入,并构造漏洞样本(PoC文件)进行验证,从而挖掘潜在的堆溢出漏洞。
本发明采取的技术方案是:
一种基于主动构造的离线堆溢出漏洞挖掘方法,其步骤如下:
在动态分析环境中执行目标程序,获取动态执行过程的指令记录;
对指令记录进行扫描,寻找并跟踪堆分配函数,根据堆分配函数的参数,重构并维护程序运行过程时的堆状态;
在扫描过程中,进行指针污点传播;当通过堆指针进行堆访问操作时,通过堆指针的污点信息回溯到相应的堆分配操作,建立堆分配-访问操作的关联;
标记外部输入为污点源,进行数据污点传播;当发现堆分配操作或堆访问操作时,检测堆分配或堆访问操作的相关参数是否被数据污点标记,记录污点信息以及堆状态信息;
对关联的每一个堆分配-访问操作,根据其数据污点状态和堆状态以及堆溢出的类型,构造潜在溢出条件;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院软件研究所,未经中国科学院软件研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711266952.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:信息处理装置
- 下一篇:一种基于动态重定向的文档防护方法及系统





