[发明专利]构建调用链转换图及引导生成X.509证书变种方法在审
申请号: | 202010434699.8 | 申请日: | 2020-05-21 |
公开(公告)号: | CN113704078A | 公开(公告)日: | 2021-11-26 |
发明(设计)人: | 朱佳宇;陈雨亭;沈备军 | 申请(专利权)人: | 上海交通大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 上海交达专利事务所 31201 | 代理人: | 王毓理;王锡麟 |
地址: | 200240 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 构建 调用 转换 引导 生成 509 证书 变种 方法 | ||
一种构建调用链转换图及引导生成X.509证书变种方法,通过构建测试种子集并输入目标测试程序,得到动态执行中的函数调用链信息并映射为调用链转换图中的初始节点;循环对调用链转换图中的取样节点通过变种算子生成新的变种测试用例并根据变种测试用例对应更新调用链转换图,直至生成目标数量的测试用例。本发明充分利用了测试用例集生成过程中的函数调用链信息,通过调用链转换图有效快速的生成多样化的测试用例,从而提升测试的效率。
技术领域
本发明涉及的是一种软件测试领域的技术,具体是一种通过收集程序动态执行时的函数调用链以构建调用链转换图引导X.509证书自动生成变种技术,用来测试openssl等实现SSL/TLS安全协议软件。
背景技术
模糊测试作为黑盒测试中的一种常用软件测试方法,通过向测试程序中发送非预期的测试用例来观查程序是否发生异常,从而找到潜在漏洞。一般有两种生成方法:一种将已有的测试用例通过变种算子产生新的测试用例,所产生的新的测试用例称之为变种,保留了原测试用例大部分的数据,仅部分数据经过变换和原先不同。变种算子可以是随机置换,即随机交换原测试用例中的部分数据或根据具体应用场景自定义,有目的性和引导性的增删改替换原测试用例中的部分数据。测试工具有proxyfuzz等;另一种根据目标程序的测试覆盖情况来调整生成新的测试用例,测试工具有AFL等。大部分模糊测试会采取两种相结合的方法,以便应用于复杂数据类型输入的测试中,诸如X.509证书等。X.509证书作为SSL/TLS通信协议中用于加密验证的重要实体,其测试的重要性不言而喻。
Mucert作为针对X.509证书测试场景的工具,测试目标待测软件关于证书验证的功能,采用了覆盖率引导的模糊测试方法,将现实中的X.509证书作为初始种子集,自定义37种变种算子以生成变种测试用例。在生成变种的过程中,使用测试用例在目标待测程序中的累计覆盖率信息概率性的接收或拒绝变种以提高目标待测程序的累计覆盖率。累计覆盖率一般表示测试的充分性,即待测程序在执行中语句函数等的覆盖情况,但无法用来衡量测试集在目标程序中执行路径的多样性。若仅考虑测试用例集的充分性而不考虑其在目标测试程序中的执行路径,则对于那些在测试程序中执行路径一致的测试用例,其测试效果是一致的,这将会导致测试用例冗余,多样性不高。
发明内容
本发明针对现有技术存在的上述不足,提出一种构建调用链转换图及引导生成X.509证书变种方法,提取测试用例在目标程序运行时收集到的函数名称,将函数名称根据执行时的先后顺序形成一条链,即函数调用链,将测试用例集和对应的函数调用链映射构建成调用链转换图,并使用调用链转换图指导生成新的变种测试用例过程来实现测试用例的自动生成。本发明相比较mucert,充分利用了测试用例集生成过程中的函数调用链信息,通过调用链转换图有效快速的生成多样化的测试用例,从而提升测试的效率。
本发明是通过以下技术方案实现的:
本发明通过构建测试种子集并输入目标测试程序,得到动态执行中的函数调用链信息并映射为调用链转换图中的初始节点;循环对调用链转换图中的取样节点通过变种算子生成新的变种测试用例并根据变种测试用例对应更新调用链转换图,直至生成目标数量的测试用例。
所述的映射是指:调用链转换图中的节点和测试用例对应,图的一个节点是一个测试用例集合,该测试用例集合中的任意一个测试用例在目标测试程序上得到的函数调用链是一致的。
所述的取样是指:通过计算潜力值并挑选节点和节点中的测试用例以用于生成变种。
所述的变种是指:对一个现有的测试用例进行修改生成一个新的测试用例,其实现方式视具体的测试场景而言,可自定义具体的变种方式也可对接已有的模糊测试工具如AFL对测试用例进行修改而生成新的测试用例。在针对X.509证书测试的应用场景中,变种算子可采用mucert工具中提供的变种方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海交通大学,未经上海交通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010434699.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种芋茎尖超低温保存方法
- 下一篇:用于生成召回信息集合的方法和装置