买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!
申请/专利权人:之江实验室;北京邮电大学
摘要:本发明提供一种基于得分矩阵的高效模糊测试方法,仅对块得分大于0的普通基本块进行插桩操作,相当于通过剪枝的方式删除到达概率为0的分支,这可以防止本发明的模糊测试生成新的不相关测试用例输入;由此可见,本发明通过这种优化方式避免本发明的模糊测试工具朝着不相关代码的路径进行探索;同时,本发明种子池中的测试用例均可触发可到达目标基本块的新路径或触发待测试代码中的漏洞,则本发明根据种子池中各测试用例对应的最终得分和变异概率选择出一个测试用例来进行变异,并根据变异后的测试用例继续对待测代码进行漏洞测试,能够使得测试用例尽可能走高分路径到达目标基本块,提高了对待测软件系统的漏洞挖掘效率。
主权项:1.一种基于得分矩阵的高效模糊测试方法,其特征在于,包括以下步骤:S1:对待测服务软件的程序代码进行分块,得到多个基本块,同时从各基本块中筛选出目标基本块,其余作为普通基本块;S2:获取各基本块对应的块距离;S3:根据各普通基本块对应的块距离获取各普通基本块相对于各目标基本块的块得分;S4:对于每一个普通基本块,将其对应于所有目标基本块的块得分的平均值作为自身最终对应的块得分;S5:选择块得分大于0的普通基本块进行插桩操作,得到插桩后的待测服务软件的程序代码;S6:根据插桩后的待测服务软件的程序代码构建包含各普通基本块的块得分以及被插桩的普通基本块的位置信息的基本块标定图谱;S7:在插桩后的待测服务软件的程序代码中的关键位置插入设定的代码片段,得到待测代码;所述关键位置需满足漏洞特征库中的任一漏洞特征;S8:随机生成测试用例,然后将测试用例输入待测代码,根据基本块标定图谱识别出测试用例在待测代码的执行过程中所涉及的被插桩普通基本块;S9:根据识别出来的被插桩普通基本块对应的块得分对当前测试用例进行评分,得到分数A;同时,根据当前测试用例是否引起待测代码的关键变量发生变化对当前测试用例进行评分,得到分数B;将分数A和分数B加权求和,得到当前测试用例的最终得分;S10:判断当前时刻是否达到设定的循环时间,若为否,则进入步骤S11,若为是,结束循环;S11:判断当前测试用例是否触发任一普通基本块到达任一目标基本块的新路径或者触发待测代码中的漏洞,若为是,则将当前测试用例存入种子池,并为当前测试用例设定一个变异概率,进入步骤S12;若为否,则丢弃当前测试用例,进入步骤S12;S12:判断种子池是否为空,若为是,则随机生成新的测试用例重新执行S8~S11;若为否,根据种子池中各测试用例对应的最终得分和变异概率选择出一个测试用例来进行变异,并将变异后的测试用例重新执行步骤S8~S11,直到达到设定的循环时间。
全文数据:
权利要求:
百度查询: 之江实验室 北京邮电大学 一种基于得分矩阵的高效模糊测试方法
免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。