[发明专利]基于在线式增量学习的模糊测试用例选择方法和装置有效
申请号: | 202010791542.0 | 申请日: | 2020-08-07 |
公开(公告)号: | CN111897734B | 公开(公告)日: | 2022-08-19 |
发明(设计)人: | 马锐;李斌斌;贺金媛;王雪霏;王夏菁 | 申请(专利权)人: | 北京理工大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F21/57;G06N3/04;G06N3/08 |
代理公司: | 北京理工大学专利中心 11120 | 代理人: | 温子云 |
地址: | 100081 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 在线 增量 学习 模糊 测试 选择 方法 装置 | ||
本发明公开了一种基于在线式增量学习的模糊测试用例选择方法和装置。该方法以测试用例特征作为输入,测试用例质量评分作为输出组成训练样本;该测试用例特征包括测试用例自身特征、模糊测试执行特征、模糊测试执行效果特征和硬件程序追踪得到的指令特征;利用模糊测试变异且执行过的初始测试用例构建训练样本集,对在线式增量学习模型进行训练;获取候选测试用例的所述测试用例特征输入在线式增量学习模型,获得预测的测试用例质量评分,选取质量最优测试用例进行模糊测试;将所述候选测试用例的测试用例特征及为其预测的测试用例质量评分组成新训练样本,加入到在线式增量学习模型的训练样本集中以优化模型。使用本发明能够提高模糊测试效率。
技术领域
本发明涉及信息安全技术领域,尤其涉及一种基于在线式增量学习的模糊测试用例选择方法和装置。
背景技术
模糊测试是一种通过向目标系统或软件提供非预期的输入并监视异常结果来发现软件漏洞的方法,在国内外漏洞挖掘领域被广泛使用。自2013年谷歌开源模糊测试工具AFL(American Fuzzy Lop)以来,有大量的工作集中在对基于反馈的灰盒模糊测试的测试用例生成、测试用例选择、测试用例变异三个方面的优化,这些工作中提出了各种优化算法和其他的辅助技术,用以提高模糊测试的效率。
现有的一些模糊测试工具诸如AFL在进行测试用例选择时,按照测试用例添加的顺序进行选择,并根据执行时间、测试用例长度、是否被变异过等因素判定当前测试用例是否具有优先选择的资格。
对于模糊测试中的测试用例,不管是初始提供的还是变异过程中生成的,这些测试用例的质量优劣性都会有一个高低排序,因此优先变异和执行高质量的测试用例有助于提高模糊测试发现程序路径和漏洞的效率。
Zong Peiyuan等人(Zong P,Lv T,Wang D,et al.FuzzGuard:Filtering outUnreachable Inputs in Directed Grey-box Fuzzing through Deep Learning:USENIXSecurity 2020,2020[C].)提出一种基于深度学习的测试用例挑选方法FuzzGuard,该方法使用增量式的深度学习方法学习测试用例属性,进而帮助灰盒模糊测试在实际执行测试用例前过滤掉不可到达更深层的测试用例,而不必使用无用的测试用例实际执行目标程序,这种数据驱动的方法避免了使用诸如符号执行等传统技术的高耗时问题。
Wang Yunchao等人(Wang Y,Wu Z,Wei Q,et al.NeuFuzz:Efficient FuzzingWith Deep Neural Network[J].IEEE Access,2019,7:36340-36352.)提出了一种使用深度神经网络来学习和识别易受攻击的路径以指导测试用例选择的方案NeuFuzz。具体做法是从大量易受攻击的干净程序路径中学习而获得预测模型,然后使用该模型对模糊测试所执行的路径中是否存在漏洞进行分类,之后模糊器会优先选择执行了易受攻击路径的测试用例,并为这些测试用例分配更多的突变能量,以最大程度地提高错误发现的效率。
以上两种方案分别是从“去除无用测试用例”和“优先选择触发脆弱路径的测试用例”的角度去优化模糊测试测试用例选择策略,虽然这些方案通过识别无用测试用例和脆弱路径等信息极大地优化了模糊测试的测试用例选择策略,但对于测试用例执行过程中生成的其他信息没有更细粒度的分析和利用。
例如,现有的测试用例选择方法利用执行时间、测试用例长度、是否被变异过等因素判定测试用例的有效性,并未更多地考虑每个测试用例与其执行效果(例如,测试用例执行后覆盖的路径、触发的基本块数等)的关系和测试用例之间的关系,因此可能会导致模糊器虽然执行了大量的测试用例,但没有更快、更多地发现新路径(例如在覆盖导向的模糊测试中,大量测试用例的执行并不能产生更多新的程序路径以取得更高的路径覆盖率),从而影响了模糊测试的效率。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京理工大学,未经北京理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010791542.0/2.html,转载请声明来源钻瓜专利网。