[发明专利]使用控制变异的模糊测试覆盖率改进方法有效
申请号: | 201710331793.9 | 申请日: | 2017-05-12 |
公开(公告)号: | CN107193731B | 公开(公告)日: | 2020-10-27 |
发明(设计)人: | 潘丽敏;宋言言;罗森林;李师伟;曹伟 | 申请(专利权)人: | 北京理工大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100081 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 使用 控制 变异 模糊 测试 覆盖率 改进 方法 | ||
本发明涉及提高模糊测试覆盖率的测试用例控制变异生成方法,属于信息安全的漏洞挖掘领域。本发明针对目前优化模糊测试覆盖率方法时间代价高、测试范围不完整和自动化程度低等问题,提出一种控制变异生成测试用例的方法。本方法利用插桩技术对测试用例生成过程进行反馈,结合随机变异和控制变异方式优化测试用例生成。实验结果表明,相比于未优化的模糊测试方法,方法使代码覆盖率提高了35%~47%,相同代码覆盖率下所需测试用例数减少了48%以上。方法不但提高了测试用例覆盖率和减小了测试用例冗余,而且具有时间代价低、测试范围完整和测试过程无需人工干预的特点。
技术领域
本发明涉及一种提高模糊测试覆盖率的测试用例控制变异生成方法,属于信息安全的漏洞挖掘领域。
背景技术
近几年来,伴随着计算机网络的发展,信息化的概念已被人们熟知,网络信息更是无处不在,网络信息技术在国民经济和国防建设中的应用越来越广泛深入,因此,承载网络信息的软件的安全性变得尤为重要。但是随着软件系统日益庞大,功能日益复杂,再加上软件从业人员安全知识不足,以及编程语言自身的安全缺陷,导致软件的安全漏洞层出不穷。在我们的生活中,经常可以听到这样的报道:某网站受到黑客攻击;某计算机系统受到攻击,造成客户数据丢失;目前又出现某计算机病毒,已扩散到全球……这些安全漏洞直接影响人们的工作和生活,侵害国民利益,甚至危害国家安全。因此,在危害发生前挖掘软件漏洞并进行修补,已经成为软件开发周期中不可或缺的重要一环。
目前为大家所熟知的漏洞挖掘技术包括补丁对比分析、面向二进制的符号执行、污点跟踪和模糊测试。其中,模糊测试技术是一种应用非常广泛的漏洞挖掘技术,它的原理是通过向目标应用程序注入畸形或意外数据,使之发生崩溃或异常行为来发现漏洞。因此模糊测试技术的核心问题是如何生成有效的畸形数据,其中高覆盖率是模糊测试有效性的重要标准。
当前比较主流的测试用例生成方法有两种,即基于规范的生成方法和基于变异的生成方法。其中基于规范的生成方法效果最好,覆盖率高,冗余度低,但是其致命缺点是在协议规范未知的情况下便无法进行数据建模,显然大部分的软件的协议规范不可能公开,因此此方法有很大的局限性。基于变异的生成方法比纯粹随机的变异生成方法有一定改善,但测试效率仍十分低下,覆盖率和冗余度均不理想。针对该问题,业界已经出现的优化方法有程序控制流分析、符号执行技术、污点跟踪与分析技术和遗传算法等。符号执行存在路径爆炸和复杂约束求解问题,难以应用到复杂软件上的测试。污点跟踪与分析技术每次只对个别路径进行测试,并且其原理导致很难做到测试的自动化;遗传算法可生成漏洞检测能力较强的测试用例,但是在用例生成与选择过程中付出高昂的时间代价。
综上分析,现有的优化模糊测试覆盖率的方法普遍存在时间代价高、测试范围不完整和自动化程度低的问题。针对这些问题,本发明将提出一种有效的模糊测试用例控制变异方法,可大大提高模糊测试覆盖率,实现快速、全面的自动化模糊测试。
发明内容
本发明的目的是:针对目前优化模糊测试覆盖率方法时间代价高、测试范围不完整和自动化程度低等问题,提出一种控制变异生成测试用例的方法,使用简单高效的控制变异方法来增加代码覆盖率,无需进行大量的分析与计算,并在保证代码覆盖率的前提下,实现整体方案的自动化。
本发明的设计原理为:
考虑到程序中对数据的一种常见处理方法,即使用数值作为程序进入某个分支的判断条件。当测试用例因为变异到达某个程序分支,如果保持该变异字段的信息并声明为不可变异,将该测试用例作为种子测试用例,待到下次以该种子用例进行变异生成测试用例,将能够控制模糊测试在该探索到的新分支内进行进一步的测试。本发明使用插桩技术监控测试用例的执行路径,当有新分支出现后,记录该不可变异字段信息,控制模糊测试的变异范围。
本发明的技术方案是通过如下步骤实现的:
步骤1,提取目标程序可解析的合法文件作为初始用例,随机变异生成测试用例。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京理工大学,未经北京理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710331793.9/2.html,转载请声明来源钻瓜专利网。