[发明专利]基于模拟消息的Fuzz引擎优化方法与系统有效
| 申请号: | 201410850078.2 | 申请日: | 2014-12-31 |
| 公开(公告)号: | CN105512025B | 公开(公告)日: | 2019-01-15 |
| 发明(设计)人: | 贾真;李柏松 | 申请(专利权)人: | 哈尔滨安天科技股份有限公司 |
| 主分类号: | G06F11/36 | 分类号: | G06F11/36 |
| 代理公司: | 暂无信息 | 代理人: | 暂无信息 |
| 地址: | 150090 黑龙江省哈尔滨*** | 国省代码: | 黑龙江;23 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 基于 模拟 消息 fuzz 引擎 优化 方法 系统 | ||
本发明属于软件漏洞挖掘技术领域,具体涉及一种基于模拟消息的Fuzz引擎优化方法与系统;它包括路径收集模块:控制器收集生成器生成的畸形测试数据的路径;被测试软件进程启动模块:控制器使用启动进程API启动被测试软件进程;畸形数据读取接收模块:控制器控制被测试软件读取或者接收畸形数据;以及被测试软件进程监控模块:监控器监控被测试软件进程是否抛出异常或进程崩溃;本发明不仅回避了命令行调用方式,使Fuzz测试在被测试软件不支持命令行调用的情况下同样可以进行,而且只需对进程启动并关闭一次,因此具有节省了大量计算机资源,节约测试时间的技术优势。
技术领域
本发明属于软件漏洞挖掘技术领域,具体涉及一种基于模拟消息的Fuzz引擎优化方法与系统。
背景技术
如今,网络安全已经成为国家安全中重要组成部分,而软件漏洞挖掘技术更是维护网络安全的主要手段之一。
软件漏洞挖掘技术主要向两个方向发展,一个是基于软件源代码进行技术分析的源代码缺陷检测技术,另一个是基于可执行程序的Fuzz测试。其中,基于可执行程序的Fuzz测试是一种通过软件读取或者接收畸形数据来测试软件漏洞的方法。
现有技术中,Fuzz引擎由以下三部分组成:第一、用于生成畸形数据(包括文件、网络数据包、字符串等等)的测试用例生成器;第二、用于调用被测试软件读取或者接收畸形数据的控制器;第三、用于监控被测软件在读取或者接收畸形数据过程中是否抛出异常的监控器。
由于Fuzz测试属于枚举测试方式,因此为了使生成的畸形数据更有可能触发软件程序潜在的漏洞,人们更多地把注意力集中在了测试用例生成器的改进工作,而控制器和监控器却一直没有改进。
现阶段,控制器使用命令行调用被测试软件并传递测试参数,这种命令行方式存在以下两方面缺点:
第一,在被测试软件不支持命令行调用的情况下,Fuzz测试无法进行;
第二,每次Fuzz测试都要启动一次进程、关闭一次进程,对于庞大的测试用例,这样的工作无疑耗费了大量计算机资源和运行时间。
发明内容
为了解决现阶段控制器使用命令行调用被测试软件并传递测试参数而存在的两个缺点,本发明公开了一种基于模拟消息的Fuzz引擎优化方法与系统,不仅回避了命令行调用方式,使Fuzz测试在被测试软件不支持命令行调用的情况下同样可以进行,而且只需对进程启动并关闭一次,因此具有节省了大量计算机资源,节约测试时间的技术优势。
本发明的目的是这样实现的:
基于模拟消息的Fuzz引擎优化方法,包括以下步骤:
S1、控制器收集生成器生成的畸形测试数据的路径;
S2、控制器使用启动进程API调用被测程序可执行文件,启动被测试软件进程;
S3、控制器使用模拟消息技术对被测试软件进程发送消息,所述的消息用于控制被测试软件按照畸形测试数据的路径,读取或者接收畸形数据;
S4、监控器监控被测试软件进程是否抛出异常或进程崩溃,如果:
是,控制器重新启动被测试软件进程,进行下一次Fuzz测试;
否,无需重新启动被测试软件进程,直接进行下一次Fuzz测试。
上述基于模拟消息的Fuzz引擎优化方法,步骤S3所述的模拟消息技术具体为SendMessage()函数。
上述基于模拟消息的Fuzz引擎优化方法的基于模拟消息的Fuzz引擎优化系统,包括:
路径收集模块:控制器收集生成器生成的畸形测试数据的路径;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于哈尔滨安天科技股份有限公司,未经哈尔滨安天科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410850078.2/2.html,转载请声明来源钻瓜专利网。





