[发明专利]一种基于变异策略的并行模糊测试调度方法及装置有效
申请号: | 201910261097.4 | 申请日: | 2019-04-02 |
公开(公告)号: | CN110147310B | 公开(公告)日: | 2021-05-18 |
发明(设计)人: | 邹燕燕;尹嘉伟;霍玮;朴爱花;李丰;刘宝旭;邹维 | 申请(专利权)人: | 中国科学院信息工程研究所 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京君尚知识产权代理有限公司 11200 | 代理人: | 司立彬 |
地址: | 100093 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 变异 策略 并行 模糊 测试 调度 方法 装置 | ||
本发明公开了一种基于变异策略的并行模糊测试调度方法及装置。本方法为:1)对模糊测试器中用于生成测试用例数据的变异策略进行静态分配,为并行的不同测试实例分配不同的变异策略;2)各测试实例根据分配的变异策略生成测试样本对设定目标程序进行模糊测试过程中,收集不同变异策略对该目标程序作用时产生的异常数目和测试覆盖率信息;3)根据各变异策略对应的异常数目和测试覆盖率信息,计算各变异策略对该目标程序的优势权重;4)根据变异策略的优势权重建立并行调度模型,动态优化并行模糊测试调度方案。本发明利用优势变异策略来优化不同目标程序的并行模糊测试执行效果,具有普遍适用性。
技术领域
本发明涉及并行模糊测试领域的调度技术,主要是结合模糊测试中变异策略(Mutator Strategy)对目标程序的作用效果进行动态并行调度,提高并行模糊测试执行效率。
背景技术
模糊测试作为一项重要的漏洞挖掘技术,由于其对程序源代码依赖程度低,从发现漏洞到复现漏洞容易等特点,被广泛的应用到了数据库应用程序、安全产品(如防火墙等)、操作系统、WEB应用、应用程序、网络设备(交换机等)等目标的漏洞挖掘过程中。例如,微软在将其产品推向市场之前大约有20%到25%的漏洞都是通过模糊测试发现的。但是,由于在模糊测试的黑盒特性,在生成测试用例过程中所使用到的变异方法是随机的,随机的变异方法容易产生冗余用例,从而严重的影响到了模糊测试的效率。因此,如何避免模糊测试应用过程中的冗余测试,提高模糊测试路径覆盖率和异常触发率便成为了安全领域研究人员研究热点。
模糊测试作为一种随机自动化测试技术需要消耗大量的计算资源,随着云计算应用的普及,各大厂商和机构均利用并行化方法提高模糊测试效率。如谷歌的并行化模糊测试系统ClusterFuzz利用数百台虚拟机器进行并行测试;微软推出的Project SpringField项目利用基于云的并行系统为软件开发者提供软件安全检测服务。可见,并行模糊测试已成为工业界的通用测试方法,并行模糊测试方法能够有效缓解模糊测试随机性和盲目性导致的测试效率低等问题。但是现有的并行模糊测试方法由于缺少实例间协同机制,单纯的利用计算资源进行多实例并行方法不能有效缓解模糊测试的高冗余、低覆盖率等问题。
在现有的基于变异的模糊测试方法中,模糊测试器会对输入样本进行两个阶段的处理,第一阶段是对输入样本进行确定性的有序变异,即对样本完整的进行逐位翻转等有序变异,第二阶段是对输入样本进行随机变异,在随机变异阶段,模糊器随机选取一种变异策略对样本随机位置进行变异,并通过重复执行该过程实现对输入样本的变异。由于这种变异方法产生的输入用例具有很大的随机性,在多实例上对一个测试目标的模糊测试在一定程度上增加了模糊测试覆盖到更多程序路径以及触发更多异常的概率。但是直接以多实例并行的方法进行模糊测试规模化应用存在如下问题:
(1)由于模糊测试本身的随机性、盲目性的限制,在多实例上直接使用并行模糊测试会造成大量的冗余,不能充分提高并行模糊测试的效率。
(2)虽然随机变异阶段产生变异的位置不是确定的,但是针对不同的被测程序,可能会有不同的优势变异策略集合(优势变异策略是指应用其所产生的输入用例相对于其他变异策略来说可以触发更多的新路径),因此在多实例中直接使用传统的变异方式进行并行模糊测试难以充分发挥优势策略的变异优势,不能充分提高并行模糊测试的效率。
综合上述并行模糊测试和基于变异模糊测试方法的背景,为了提高并行模糊测试中的测试综合覆盖率和漏洞挖掘效果,本发明提出了一种基于变异策略并行的模糊测试调度方法及装置。
发明内容
并行模糊测试可以利用大规模的计算资源作为测试实例并行的进行模糊测试,每个测试实例都可以对相同的被测程序进行模糊测试,大规模并行模糊测试可以有效的提高模糊测试的效率。但是如果在每个测试实例对相同的被测试程序都使用相同的变异策略集合随机进行组合应用来生成测试用例,容易出现大量的冗余,从而影响并行模糊测试的效率。因此如何在大规模的并行模糊测试的测试实例中优化变异策略的调度,以实现在限定时间内挖掘出尽可能多的安全漏洞是一个值得研究的问题。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院信息工程研究所,未经中国科学院信息工程研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910261097.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:信息生成方法和装置
- 下一篇:一种系统升级校验方法及装置