买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明公布】一种基于深度学习的高效PDF应用程序模糊测试用例生成方法_大连理工大学_202410025515.0 

申请/专利权人:大连理工大学

申请日:2024-01-08

公开(公告)日:2024-04-12

公开(公告)号:CN117873888A

主分类号:G06F11/36

分类号:G06F11/36;G06F18/214;G06F18/241;G06N3/0464

优先权:

专利状态码:在审-实质审查的生效

法律状态:2024.04.30#实质审查的生效;2024.04.12#公开

摘要:本发明属于软件自动化测试领域,涉及一种用于构造模糊测试用例的技术,具体为一种基于深度学习的高效PDF应用程序模糊测试用例生成方法。本发明利用CNN、Seq2Seq、Transformer等深度学习模型,通过数据筛选、对象生成、对象附加、高效变异等步骤,从而实现了更加高效、高质量、有针对性的PDF测试用例的生成。本发明可用于以PDF文件格式作为输入的应用程序的漏洞查找,如XPDF、MUPDF、POPPLER等被广泛使用的开源PDF应用程序;亦可根据应用程序输入文件格式的不同,对本发明的相关步骤进行适配,从而实现对以其他高度结构化文件格式作为输入的应用程序的漏洞查找。

主权项:1.一种基于深度学习的高效PDF应用程序模糊测试用例生成方法,其特征在于,包括如下步骤:步骤1:从网络公开数据集和网站中收集大量PDF文件,剔除其中重复与损坏文件,构建数据集;步骤2:提取数据集中少量PDF文件对被测程序进行反复模糊测试,提取测试结果中能够引发被测程序陷入崩溃或死锁循状态的测试用例和不能引发被测程序陷入崩溃或死锁循状态的测试用例;对于每个测试用例,以二进制形式提取,并将其表示为向量x=<x1,x2,...,xn,而向量的长度n=1~i就是最大的PDF文件的长度,xi=byteixi∈{0,…,255},另外用xi=256来填充长度小于n的部分;对引发被测程序崩溃或死锁循环的文件赋予标签1,反之赋予标签0,训练CNN二分类模型;步骤3:使用训练好的CNN二分类模型,筛选数据集中剩余数据中可能引发被测程序陷入崩溃或死锁循状态的数据,也即被判定为标签1的PDF文件;步骤4:提取CNN二分类模型筛选得到的PDF文件中的对象,使用一个特殊序列stream替换掉PDF对象中的二进制数据,而被替换的二进制数据另外保存,实现文本数据和二进制数据的分离保存;分别将文本数据与二进制数据切割为固定长度,以步骤2中方式转化为向量,分别训练Seq2Seq预测模型;步骤5:随机提取PDF对象文本数据与二进制数据的初始序列,以步骤2中方式转化为向量,输入训练好的Seq2Seq模型,选择采样算法得到的元素,拼接到输入向量中构成新的输入向量,并将新的输入向量再次输入到模型中,重复上述过程,直至生成完整的文本数据和二进制数据,然后将文本数据和二进制数据组合为完整的PDF对象;在Seq2Seq模型的预测生成过程中使用采样算法,将输入序列seq和训练好的Seq2Seq模型,执行阈值t_fuzz,采样阈值p_t作为采样算法的输入,利用采样算法提升文本数据与二进制数据的多样性;步骤6:将生成的PDF对象附加到完整的PDF文件中;使用两种策略实现生成的PDF测试用例覆盖率增长与文件大小增长的平衡;AOU对象附加方法,使用Seq2Seq模型生成的PDF对象依次替换完整PDF文件中的每一个对象,并对应生成一个新的PDF文件,以提高覆盖率增长,降低文件大小增长;In-placePDF文件更新方法,改变PDF文件标准增量更新方法中将新的PDF对象、交叉引用表和文件尾附加在PDF文件末尾的方式,直接将要被覆盖的PDF对象删除,并将要更新的PDF对象插入到它的原位置,并再修改交叉引用表,以减少PDF文件大小增长;步骤7:训练Transformer模型;从数据集种随机提取N个PDF文件,对于每个PDF文件采用随机变异方式生成M个变体,获取变体中相比原文件覆盖率提升最多的变体;将N个PDF原文件和N个覆盖率提升最高的变体文件,以步骤2中方式转化为向量,分别作为输入向量与目标向量训练Transformer模型,获得高效变异模型;步骤8:将步骤6中得到的PDF文件,输入Transformer模型进行高效变异,得到执行模糊测试的最终测试用例。

全文数据:

权利要求:

百度查询: 大连理工大学 一种基于深度学习的高效PDF应用程序模糊测试用例生成方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。