[发明专利]模糊测试方法和装置在审
申请号: | 202210290268.8 | 申请日: | 2022-03-23 |
公开(公告)号: | CN114661601A | 公开(公告)日: | 2022-06-24 |
发明(设计)人: | 刘向阳;曹伟 | 申请(专利权)人: | 支付宝(杭州)信息技术有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京布瑞知识产权代理有限公司 11505 | 代理人: | 武甜 |
地址: | 310000 浙江省杭州市*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 模糊 测试 方法 装置 | ||
本公开披露了一种模糊测试的方法和装置。该方法包括:获取第一种子文件;根据变异操作模型对所述第一种子文件进行变异,得到第二种子文件,其中所述变异操作模型为基于目标变异操作训练而成的,所述目标变异操作为触发了程序异常行为的变异操作;利用所述第二种子文件对目标程序进行模糊测试。
技术领域
本公开涉及测试技术领域,具体涉及一种模糊测试的方法和装置。
背景技术
现有技术中的模糊测试方法,在生成测试用例时,不对测试用例的有效性进行预测,而是根据一定的规则随机生成测试用例。因此,生成的输出文件具有较大的盲目性。利用这些输出文件测试程序,测试效率较低。
发明内容
有鉴于此,本公开提供一种模糊测试的方法和装置,以提高模糊测试的测试效率。
第一方面,提供一种模糊测试的方法,包括:获取第一种子文件;根据变异操作模型对所述第一种子文件进行变异,得到第二种子文件,其中所述变异操作模型为基于目标变异操作训练而成的,所述目标变异操作为触发了程序异常行为的变异操作;利用所述第二种子文件对目标程序进行模糊测试。
可选的,在一些实施例中,所述目标变异操作包括一个或多个第一变异操作,所述第一变异操作为触发了除所述目标程序之外的其他程序的异常行为的变异操作,所述变异操作模型包括第一模型,所述第一模型基于所述一个或多个第一变异操作训练而成。
可选的,在一些实施例中,所述目标变异操作包括一个或多个第二变异操作,所述第二变异操作为触发了所述目标程序的异常行为的变异操作,所述变异操作模型包括第二模型,所述第二模型基于所述一个或多个第二变异操作训练而成。
可选的,在一些实施例中,所述变异操作模型为概率模型。
可选的,在一些实施例中,所述概率模型用于指示在给定种子文件中的输入字节值和变异类型的前提下,变异后的输出字节值的概率分布。
第二方面,提供一种模糊测试的装置,包括:获取模块,被配置为获取第一种子文件;变异模块,被配置为根据变异操作模型对所述第一种子文件进行变异,得到第二种子文件,其中所述变异操作模型为基于目标变异操作训练而成的,所述目标变异操作为触发了程序异常行为的变异操作;测试模块,被配置为利用所述第二种子文件对目标程序进行模糊测试。
可选的,在一些实施例中,所述目标变异操作包括一个或多个第一变异操作,所述第一变异操作为触发了除所述目标程序之外的其他程序的异常行为的变异操作,所述变异操作模型包括第一模型,所述第一模型基于所述一个或多个第一变异操作训练而成。
可选的,在一些实施例中,所述目标变异操作包括一个或多个第二变异操作,所述第二变异操作为触发了所述目标程序的异常行为的变异操作,所述变异操作模型包括第二模型,所述第二模型基于所述一个或多个第二变异操作训练而成。
可选的,在一些实施例中,所述变异操作模型为概率模型。
可选的,在一些实施例中,所述概率模型用于指示在给定种子文件中的输入字节值和变异类型的前提下,变异后的输出字节值的概率分布。
第三方面,提供一种模糊测试的装置,包括存储器,用于存储指令;处理器,用于执行所述存储器中存储的指令,以执行如第一方面所述的方法。
第四方面,提供一种计算机可读存储介质,其上存储有可执行代码,当所述可执行代码被执行时,能够实现如第一方面所述的方法。
第五方面,提供一种计算机程序产品,包括可执行代码,当所述可执行代码被执行时,能够实现如第一方面所述的方法。
本公开实施例提供的模糊测试的方法,在选择对种子文件进行变异的变异操作,以生成用于测试目标程序的输出文件时,更多地使用容易触发目标程序异常行为的变异操作,使得模糊测试漏洞挖掘效率大幅提升。
附图说明
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于支付宝(杭州)信息技术有限公司,未经支付宝(杭州)信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210290268.8/2.html,转载请声明来源钻瓜专利网。