[发明专利]模糊测试方法、系统、电子设备及介质在审
申请号: | 202111040139.5 | 申请日: | 2021-09-06 |
公开(公告)号: | CN113934621A | 公开(公告)日: | 2022-01-14 |
发明(设计)人: | 孙利民;方栋梁;宋站威;吕世超;孙玉砚;朱红松 | 申请(专利权)人: | 中国科学院信息工程研究所 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;H04L9/40;H04L69/22 |
代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 谭云 |
地址: | 100093 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 模糊 测试 方法 系统 电子设备 介质 | ||
本发明提供一种模糊测试方法、系统、电子设备及介质,其中方法包括确定种子报文和种子报文中的动态字段;调整种子报文中的动态字段,形成变异报文;将变异报文输入至被测程序,监测被测程序状态,得出测试结果。本发明通过确定种子报文动态字段,并针对动态字段进行调整形成变异报文的手段,省去了针对固定字段进行调整的步骤,有效提升了变异报文的形成效率。
技术领域
本发明涉及软件测试技术领域,尤其涉及一种模糊测试方法、系统、电子设备及介质。
背景技术
随着软件系统的发展,其复杂程度不断增加,出现运行错误或者安全风险的机会也随之提升。为了提升软件程序运行的稳定性和安全性,往往需要专门的测试方法和测试系统对软件程序进行验证。
模糊测试是一种通过向目标系统提供非预期的输入并监视异常结果来发现软件漏洞的方法。它能揭示出程序中的重要bug,验证出现实世界中的错误模式并在被测程序被实际攻击前对潜在的应当被堵塞的攻击渠道进行提示。
现有的模糊测试方法和程序产品,由于其应用面广泛的特性,致使其对于被动式的被测程序(即主动与设备进行通信、被动接收设备的响应数据的被测程序)针对性适配不佳,存在着测试繁琐、漏洞挖掘效率低的问题。
发明内容
本发明提供一种模糊测试方法、系统、电子设备及介质,用以解决现有技术中软件漏洞挖掘效率低的缺陷,实现软件漏洞的有效挖掘。
本发明提供一种模糊测试方法,包括:
根据测试协议将种子报文中的动态字段实例化,并保留固定字段,形成至少一个变异报文,其中所述种子报文是根据设备与被测程序之间的通信协议生成的,所述动态字段对应的字段值是可配置的设备运行参数或用户参数;
根据所述变异报文运行被测程序,监测被测程序状态,得出测试结果,所述测试结果包含所述变异报文与被测程序状态的对应关系。
根据本发明提供的一种模糊测试方法,所述种子报文是根据优先权重从多个通信报文中选择得到的,所述多个通信报文是从所述设备获取的响应报文,所述响应报文是由所述设备在受到所述被测程序触发下生成的;所述优先权重是根据通信报文长度、通信报文交互深度以及被测程序处理通信报文执行的程序基本块的数量中的任一者或任多者组合确定的。
根据本发明提供的一种模糊测试方法,所述种子报文中的动态字段是通过比较多个种子报文确定的、在多个种子报文中字段值不同的字段集合。
根据本发明提供的一种模糊测试方法,所述得出测试结果的步骤包括:
确定所述被测程序运行异常,则将根据所述被测程序运行异常结果与对应的所述变异报文作为测试结果;
确定所述被测程序运行正常,则更新变异报文,并返回所述将变异报文输入至被测程序,监测被测程序状态。
根据本发明提供的一种模糊测试方法,所述模糊测试方法还包括:
更新所述变异报文,并返回所述将变异报文输入至被测程序,监测被测程序状态的步骤。
根据本发明提供的一种模糊测试方法,所述模糊测试方法还包括:
确定所述被测程序运行异常,重启被测程序。
根据本发明提供的一种模糊测试方法,所述根据测试协议将种子报文中的动态字段实例化,包括:
提取所述种子报文中动态字段的格式信息;所述格式信息包括种子报文对应的通信协议;
根据所述种子报文中动态字段的格式信息,实例化种子报文中的动态字段。
本发明还提供一种被动式模糊测试系统,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院信息工程研究所,未经中国科学院信息工程研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111040139.5/2.html,转载请声明来源钻瓜专利网。