一种模糊测试种子变异强度优化方法技术

技术编号:32676042 阅读:20 留言:0更新日期:2022-03-17 11:32
本发明专利技术公开了一种模糊测试种子变异强度优化方法。本发明专利技术先选择一个最优的变异强度;接着对种子执行所选择变异强度次数的变异;最后将变异种子后得到的内容作为输入提供给程序做一次模糊测试;测试完成后这些内容将废弃,重新在该种子基础上生成下一个输入;这里变异强度指的是生成新输入时对种子的叠加变异次数。本申请提出将多种变异强度的选择建模为强化学习中多臂赌博机的手臂的选择,从而利用现有的多臂赌博机算法来选取任意时刻的最优的变异强度,实现更高的模糊测试效率。实现更高的模糊测试效率。实现更高的模糊测试效率。

【技术实现步骤摘要】
一种模糊测试种子变异强度优化方法


[0001]本申请涉及软件安全领域,尤其涉及一种对软件进行更高效模糊测试的方法。

技术介绍

[0002]模糊测试是目前流行的软件漏洞发现方法,其可以大致分为三类:黑盒模糊测试、灰盒模糊测试、和白盒模糊测试。其中,黑盒测试基本不对被测程序进行了解,而是随机地产生输入进行测试。灰盒测试会对被测试程序进行插桩来获取一些运行时信息,如AFL(American Fuzzy Lop)会通过对插桩了解代码覆盖,并通过当前输入的执行反馈调整下一步输入。白盒测试会获取程序代码的更多相关信息来针对性地产生输入,如通过符号执行、污点追踪来指导产生输入。这三类方法亦各有所长:黑盒模糊测试虽然单次测试执行速度快,但是输入的质量一般不高;白盒模糊测试的输入质量很好,但是其执行速度较慢;灰盒模糊测试介于黑盒和白盒之间,其输入质量较好,也有较好的执行速度。
[0003]这三类模糊测试方法中,以AFL为代表的灰盒模糊测试,因为其在发现软件漏洞上的极高效率,成为了目前十分流行的模糊测试技术,在工业界和学术界都产生了较大影响。本申请主要关注本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种模糊测试种子变异强度优化方法,其特征在于,该方法具体如下:步骤一,选择一个最优的变异强度;步骤二,对种子执行所选择变异强度次数的变异;步骤三:将变异种子后得到的内容作为输入提供给程序做一次模糊测试;测试完成后这些内容将废弃,重新在该种子基础上生成下一个输入;所述的选择一个最优的变异强度,具体方法为:步骤

:判断是否之前已经为该种子选择了最优变异强度,并且所选择的变异强度还有效,如果有效则直接返回该变异强度;步骤

:判断是否是之前已经选择过最优变异强度且已经失效的情况,如果是,则需要将这期间的收益进行计算后,更新到多臂赌博机对应的数据结构中;步骤

:如果之前尚未选择过变异强度或者已经失效,均需要选择种子对应的多臂赌博机并运行其多臂赌博机算法来选择最优变异强度。2.根据权利要求1所述的一种模糊测试种子变异强度优化方法,其特征在于:所的收益则是在生成给定数量输入或者执行给定时间的模糊测试后,根据新发现的代码覆盖、唯一崩溃数目、唯一漏洞数目进行计算;其中的代码覆盖是边覆盖、行覆盖或路径覆盖。3.根据权利要求1所述的一种模糊测试种子变异强度优化方...

【专利技术属性】
技术研发人员:曾英佩吴铤申延昭郑秋华
申请(专利权)人:杭州电子科技大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1