[发明专利]一种二进制程序漏洞的挖掘装置和方法无效
申请号: | 201210051642.5 | 申请日: | 2012-03-01 |
公开(公告)号: | CN102622558A | 公开(公告)日: | 2012-08-01 |
发明(设计)人: | 崔宝江;梁晓兵 | 申请(专利权)人: | 北京邮电大学 |
主分类号: | G06F21/22 | 分类号: | G06F21/22 |
代理公司: | 北京德琦知识产权代理有限公司 11018 | 代理人: | 夏宪富 |
地址: | 100876 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 二进制 程序 漏洞 挖掘 装置 方法 | ||
技术领域
本发明涉及一种软件安全技术,确切地说,涉及一种融合遗传算法与动态污染跟踪的二进制程序漏洞的挖掘装置和方法,属于二进制程序安全漏洞检测的技术领域。
背景技术
目前,在软件安全研究领域中,经常会对二进制程序进行安全分析,在安全分析过程中的一个重要问题是如何快速生成有针对性的测试用例,用于触发二进制程序中可能存在的安全漏洞。现在,工程产业界普遍采用的方法是模糊测试Fuzz Testing(又称为:随机数黑盒暴力测试法)。Fuzz Testing能够自动产生测试数据,测试结果准确,适用范围广;但是,生成测试输入文件的路径覆盖率较低,且生成的测试用例多指向同一路径,在测试输入文件的生成过程中缺乏引导性,效率低,缺少测试输入文件和程序异常之间的关联关系,对人工的依赖较大,实施过程中的不确定因素也较多。
目前的二进制程序漏洞挖掘或检测技术可以分为两类:静态和动态,其中动态方法是首先对二进制程序的输入文件进行变异,然后加载该输入文件,并通过监控被测试二进制程序的执行过程来检测该输入文件是否会导致被测试二进制程序的崩溃。动态方法大都基于符号执行技术与约束求解技术,因此,导致二进制程序漏洞检测的效率依赖于符号执行技术的精确度和约束求解器的求解能力。如果被测试的二进制程序含有复杂的条件分支和深度嵌套的循环,则由输入文件导致的二进制程序的执行路径会非常长。为了避免由符号执行和约束求解技术带来昂贵的计算代价,基于符号执行和约束求解的漏洞挖掘技术通常仅遍历循环内部的分支一次,或者把循环展开设定的次数(通常只展开一次)。这种为了节约计算上的代价而盲目截断循环的结果,是很可能漏掉一些重要的路径,而这些路径上就很可能包含潜在的安全漏洞。
静态方法不运行被测试二进制程序,因此不能获取关于二进制程序运行过程中的相关信息,由此导致大多数的二进制程序的静态分析方法误报率较高,如Splint有将近50%的误报率,Flawfinder和RATS也都有较高的误报率。
随着软件规模的增加,软件中的条件分支和循环的数目也呈现出不可避免的增长趋势。二进制程序中的复杂的条件分支和深度嵌套的循环导致了严重的路径爆炸问题。而且,程序的输入空间非常大,而能够被恶意用户控制的空间又非常小。上述这些原因都增加了二进制程序漏洞挖掘的难度。
综合上述,目前,主流的静态分析技术和动态分析技术存在下述问题:
(1)基于符号执行与约束求解的动态的二进制程序漏洞挖掘技术面临昂贵的计算代价。
(2)基于符号执行与约束求解的动态的二进制程序漏洞挖掘技术在搜集二进制程序执行路径的约束条件时存在不完备性问题,而且,目前的约束求解器很难对复杂的非线性约束条件求解获得其精确解。
(3)基于符号执行与约束求解的动态的二进制程序漏洞挖掘技术通常会盲目地截断循环,从而很容易漏掉一些可能包含漏洞的程序路径。
(4)基于Fuzzing的动态测试自动生成的测试用例具有盲目性,生成的大量测试用例都指向同一路径,缺乏指导性,其触发二进制程序中潜在的安全漏洞的效率低。
(5)静态分析的效率较高,且其分析属于路径敏感的。但是,其理论上存在较高的漏报率和误报率,难于准确定位漏洞。而且,静态分析大多需要在源代码基础上进行分析,针对二进制程序的静态符号执行技术也比较复杂,计算代价昂贵。
因此,如何融合静态分析技术与动态分析技术的两者优点,实现自动化的二进制程序漏洞挖掘,并提高二进制程序漏洞的挖掘效率,已经成为目前软件安全领域内的一个重要的研究课题。
发明内容
有鉴于此,本发明的目的是提供一种融合遗传算法与动态污染跟踪的二进制程序漏洞挖掘的装置与方法,本发明利用遗传算法的适应度函数来指导测试用例的生成,同时利用动态污染跟踪模块来缩小遗传算法的搜索空间,加快遗传算法的收敛速度,从而提高二进制程序漏洞挖掘的效率和精确度。
为了达到上述目的,本发明提供了一种融合遗传算法与动态污染跟踪的二进制程序漏洞的挖掘装置,其特征在于:所述装置设有顺序连接的静态分析模块、调试器模块、遗传算法模块、测试输入生成模块和异常监控模块,以及位于调试器模块、遗传算法模块之间的动态污染跟踪模块;其中:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京邮电大学,未经北京邮电大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210051642.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种熔断器
- 下一篇:一种用于平移门的牵引器