买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!
申请/专利权人:南方科技大学
摘要:本发明公开了一种基于模糊测试的运行时漏洞检测方法及系统,方法包括:基于预设的算法,对经过有效性分析处理后的若干源程序进行变异处理,得到若干第一程序变异体,对若干所述第一程序变异体进行有效性分析,得到若干非等价变异体,进而得到包含源程序的测试程序集;根据所述测试程序集和若干预设的运行时,得到与所述测试程序集对应的若干运行结果,根据若干运行结果进而确定若干所述运行时的漏洞。本发明实施例在WebAssembly运行环境通过对源程序进行有效性分析处理使得得到的目标程序覆盖率更高,通过将变异后的程序输入至不同的运行时得到多个运行结果,通过对多个运行结果分析来确定漏洞,提高了漏洞的检测稳定性和准确率。
主权项:1.一种基于模糊测试的运行时漏洞检测方法,其特征在于,所述方法包括:获取若干源程序,并对若干所述源程序进行有效性分析处理,得到若干目标程序;基于预设的算法,对若干所述目标程序进行变异处理,得到若干第一程序变异体,对若干所述第一程序变异体进行有效性分析,得到若干非等价变异体,根据若干所述非等价变异体和若干所述目标程序,得到测试程序集;根据所述测试程序集和若干预设的运行时,得到与所述测试程序集对应的若干运行结果,对若干所述运行结果进行分析,确定若干所述运行时的漏洞;其中,所述运行时用于表征程序运行的载体;所述基于预设的算法,对若干所述目标程序进行变异处理,得到若干第一程序变异体包括:获取初始时间值;随机获取预设范围的随机数;在预设的变异算子集中基于优先度随机选择第一变异算子,并获取所述第一变异算子的索引值;在若干所述目标程序中随机选择一个第一目标程序;在预设的变异算子集中基于优先度随机选择第二变异算子,并获取所述第二变异算子的索引值;基于预设的梅特罗波利斯-黑斯廷斯算法公式,根据所述第一变异算子的索引值、所述第二变异算子的索引值和所述第一目标程序,得到接收概率值;其中,所述接收概率值用于表征接收函数的概率;针对每个所述目标程序,当所述接收概率值大于或者等于所述随机数时,采用所述第二变异算子对每个所述目标程序进行变异,得到与每个所述目标程序对应的若干第一程序变异体;其中,若干所述第一程序变异体的入参集与每个所述目标程序的入参集相同;所述基于预设的梅特罗波利斯-黑斯廷斯算法公式,根据所述第一变异算子的索引值、所述第二变异算子的索引值和所述第一目标程序,得到接收概率值之后还包括:当所述接收概率值小于所述随机数时,继续执行在预设的变异算子集中基于优先度随机选择第二变异算子,并获取所述第二变异算子的索引值的步骤;所述对若干所述第一程序变异体进行有效性分析,得到若干非等价变异体,根据若干所述非等价变异体和若干所述目标程序,得到测试程序集包括:将若干所述目标程序存储至所述测试程序集中;针对每个所述第一程序变异体,将所述第一程序变异体进行编译和插桩,得到与每个所述第一程序变异体对应的第二程序变异体,并基于参考运行时,将所述第二程序变异体进行运行,得到与每个第一程序变异体对应的第二跟踪文件,当所述第二跟踪文件与第一跟踪文件不同时,将所述第二跟踪文件对应的所述第一程序变异体作为非等价变异体,将所述非等价变异体添加到测试程序集,将所述第二变异算子的索引值自增1,将所述变异算子集中变异算子按照优先度从高到低进行排序,其中,所述第二程序变异体的入参集与每个所述第一程序变异体的入参集相同;获取中间时间值,并将所述中间时间值减去所述初始时间值,得到时间差;当所述时间差小于预设的最大时间阈值时,重复执行在若干所述目标程序中随机选择一个第一目标程序的步骤;当所述时间差等于所述最大时间阈值时,输出测试程序集。
全文数据:
权利要求:
百度查询: 南方科技大学 一种基于模糊测试的运行时漏洞检测方法及系统
免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。