当前位置: 首页 > 专利查询>浙江大学专利>正文

一种基于WGAN模型的模糊检测种子集合生成方法及生成器技术

技术编号:18972283 阅读:33 留言:0更新日期:2018-09-19 03:35
本发明专利技术公开了一种基于WGAN模型的模糊检测种子集合生成器,包括:训练集合获取模块,具有基于突变算法的模糊检测工具,以普通输入作为种子检测多个输入格式相同的程序,将发现程序新路径或触发程序异常情况的输入作为WGAN模型的训练集合;二进制转矩阵模块,将训练集合由二进制形式转换成矩阵形式;WGAN模块,包含WGAN模型,以矩阵形式的训练集合为真实数据集,将WGAN模型训练至收敛,通过训练后的WGAN模型生成矩阵形式的模糊检测种子集合;矩阵转二进制模块,将模糊检测种子集合由矩阵形式转换为二进制形式。本发明专利技术还公开了基于模糊检测种子集合生成器来生成模糊检测种子集合的方法,该方法获取的模糊检测种子集合能大大提高模糊检测的漏洞挖掘效率。

A fuzzy detection seed set generation method and generator based on WGAN model

The invention discloses a fuzzy detection seed set generator based on WGAN model, which comprises a training set acquisition module, a fuzzy detection tool based on mutation algorithm, a program with common input as seed to detect multiple input formats of the same program, and an input to discover a new path of the program or to trigger abnormal conditions of the program as W. The training set of GAN model, the binary transformation matrix module, transforms the training set from binary form to matrix form, WGAN module, including WGAN model, takes the training set of matrix form as the real data set, trains the WGAN model to convergence, and generates the fuzzy detection seed set of matrix form through the training WGAN model. The matrix is converted to binary module, and the fuzzy detection seed set is transformed from matrix to binary form. The invention also discloses a method for generating a fuzzy detection seed set based on a fuzzy detection seed set generator, and the fuzzy detection seed set obtained by the method can greatly improve the vulnerability mining efficiency of fuzzy detection.

【技术实现步骤摘要】
一种基于WGAN模型的模糊检测种子集合生成方法及生成器
本专利技术涉及软件模糊检测
,尤其涉及一种基于WGAN模型的模糊检测种子集合生成方法及生成器。
技术介绍
随着计算机技术和互联网信息技术的发展,各式各样的软件与系统被开发出来,软件的功能也变得越来越丰富。然而由于开发人员水平参差不齐、开发人员之间沟通不足、架构设计不合理等原因,软件中往往存在着会导致程序崩溃、甚至会受不法分子利用的漏洞。由于软件漏洞总是不可避免地存在,因而漏洞检测受到广泛关注。传统的漏洞检测方案是由富有经验的安全人员人工检查代码,然而该方案任务繁重,成本高,效率较低,检测漏洞的召回率也较低,大型系统难以用该方案完整测试。新兴的一种漏洞检测方案是由机器学习算法去检查代码,返回可能存在漏洞的代码位置。然而机器学习算法检测软件漏洞的方案存在着诸多限制与不足:该方案误报率较高;只能做到缩小检测范围的作用,最终仍需要安全人员人工检查是否存在漏洞;该方案的机器学习模型效果取决于训练集合是否完备、训练次数是否合理,实际过程中存在机器学习模型在训练集合上表现优良但在使用中表现不尽人意、训练过拟合欠拟合等情况。有别于以上提到的漏洞检测方案,模糊测试是一种自动化的软件漏洞检测方法。模糊测试可以分成两大类型:(1)基于规范生成的模糊测试;(2)基于突变算法的模糊测试。基于规范生成的模糊测试根据人工提供的规范随机生成具有一定格式的种子文件,模糊测试将生成的种子输入被测软件,并监视被测软件是否出现预期外的异常情况。基于突变算法的模糊测试根据突变算法对人工输入的种子集合进行位变换、组合交叉等处理,获取到大量随机输入集合。模糊测试将集合输入被测软件,并监视软件是否出现预期外的异常情况。当模糊测试发现软件的新路径或者软件出现异常情况,它会将发现该新路径或触发该异常情况的输入文件保存在本地,并认为该输入文件为有价值的输入。模糊测试会将发现新路径或触发异常情况的输入文件加入种子集合,并以这些输入作为父代基因,基于突变算法生成后续输入。由于模糊测试的输入生成具有随机性,它并不会猜测哪个输入数据会导致程序崩溃,所以它的软件漏洞挖掘具有一定的盲目性。但是模糊检测是自动化的工具,借助当前计算机强大的计算能力,它将尽可能多的杂乱数据输入程序中,而记录下的发现新路径或触发程序崩溃的输入也为后续的漏洞挖掘提供了一定的启发性,效率高于上述提到的漏洞检测方案。其中AFL是受到广泛认可的基于突变算法的模糊测试工具之一,它漏洞挖掘速率极高。研究表明,选择高质量的种子集合有助于提高基于突变算法的模糊测试的效率。而且高质量的种子集合具有可迁移性,对于使用同一种输入格式的程序A和B,如果某一种子集合可以提高模糊测试对于程序A的漏洞挖掘效率,那么该种子集合也能提高对于程序B的漏洞挖掘效率。然而当前并没有快速的产生高质量种子集合的方法,虽然存在一些启发式的种子选择方法,但是这些方法效果有限,并没有明显优于随机选择种子集合。所以,学术界与工业界都缺少合适的获取高质量种子集合的方法。
技术实现思路
本专利技术提供了一种基于WGAN模型的模糊检测种子集合生成器,该生成器可以生成任意输入格式的模糊检测种子集合,获取的模糊检测种子集合能大大提高基于突变算法的模糊检测的漏洞挖掘效率。本专利技术提供了如下技术方案:一种基于WGAN模型的模糊检测种子集合生成器,包括:训练集合获取模块,具有基于突变算法的模糊检测工具,所述的模糊检测工具对普通输入进行随机修改得到随机输入,再通过所述随机输入检测多个输入格式相同的程序,将发现程序新路径或触发程序异常情况的随机输入作为WGAN模型的训练集合;二进制转矩阵模块,将训练集合由二进制形式转换成WGAN模块可以学习的矩阵形式;WGAN模块,包含WGAN(WassersteinGAN)模型,以转换成矩阵形式的训练集合为真实数据集,将WGAN模型训练至收敛,通过训练后的WGAN模型生成矩阵形式的模糊检测种子集合;矩阵转二进制模块,将WGAN模块生成的模糊检测种子集合由矩阵形式转换为二进制形式。模糊检测工具以普通输入作为种子,通过对普通输入进行位变换、组合交叉等随机修改,得到大量的随机输入,这些随机输入大多为格式损毁数据,而这些格式损毁数据容易发现程序的新路径或异常情况,提高模糊检测的漏洞挖掘效率。优选的,所述的模糊检测工具为AFL(AmericanFuzzyLop)模糊测试工具。AFL(AmericanFuzzyLop)模糊测试工具是受到广泛认可的基于突变算法的模糊测试工具之一,漏洞挖掘速率高,可以挖掘多种软件的漏洞,具有优秀的可扩展性。所述的WGAN模型包括:生成器,学习真实数据的特征,并生成近似的虚假数据,将真实数据和虚假数据传输给判别器;判别器,区分真实数据和虚假数据。WGAN模型是一种生成对抗网络模型,它主要由两个部分组成:生成器和判别器。生成器会学习真实数据的特征,并生成近似的虚假数据,然后将真实和虚假的数据传输给判别器判断。判别器判断两组数据哪组是真实的,哪组是虚假的。判别器和生成器交替训练,互相提高,最终将达到纳什平衡:生成器生成接近真实的虚假数据,判别器无法区分真实数据和虚假数据。WGAN模型训练完成后,其生成器可以生成大量的与真实数据高度相似的虚假数据。以WGAN模型生成的大量高质量的模糊检测种子集合作为种子,采用基于突变算法的模糊检测方法对程序进行检测,可大大提高漏洞的挖掘效率,并且生成的模糊检测种子集合具有较好的可迁移性,对相同输入格式的程序均具有较好的测试效果。本专利技术还公开了采用所述的模糊检测种子集合生成器生成模糊检测种子集合的方法,包括以下步骤:(1)通过基于突变算法的模糊检测工具对普通输入进行随机修改得到随机输入,再通过所述随机输入检测多个输入格式相同的程序,将发现程序新路径或触发程序异常情况的随机输入作为WGAN模型的训练集合;(2)将所述的训练集合由二进制形式转换成WGAN模型可以学习的矩阵形式;(3)以转换成矩阵形式的训练集合为真实数据集,将WGAN模型训练至收敛,通过训练后的WGAN模型生成矩阵形式的模糊检测种子集合;(4)将所述的模糊检测种子集合由矩阵形式转换成二进制形式。优选的,步骤(1)中,所述的模糊检测工具为AFL模糊检测工具。以所述的普通输入作为种子,采用AFL模糊测试工具对所述程序分别进行测试,将发现程序新路径或触发程序异常情况的随机输入作为训练WGAN模型的训练集合。优选的,步骤(2)包括:(2-1)将所述的训练集合以二进制形式打开,按base64编码规则转换二进制文件;(2-2)以每六个字符为一个字符串,以65进制将字符串转换成数字,最终将编码文件转换成矩阵中的数字,字符串不足时补零;(2-3)对矩阵的元素进行归一化操作,使元素值处于[0,1)区间。优选的,步骤(3)包括:(3-1)以转换成矩阵形式的训练集合为真实数据集,交替训练WGAN模型的生成器和判别器,直至WGAN模型收敛;(3-2)由训练后WGAN模型的生成器生成矩阵形式的模糊检测种子集合。优选的,步骤(4)包括:(4-1)对WGAN模型生成的矩阵的元素进行反归一化操作;(4-2)根据base64编码,将矩阵的数字元素转换为字符串,以二进制形式进行保存。与现有技术相比本文档来自技高网
...

【技术保护点】
1.一种基于WGAN模型的模糊检测种子集合生成器,其特征在于,包括:训练集合获取模块,具有基于突变算法的模糊检测工具,所述的模糊检测工具对普通输入进行随机修改得到随机输入,再通过所述随机输入检测多个输入格式相同的程序,将发现程序新路径或触发程序异常情况的随机输入作为WGAN模型的训练集合;二进制转矩阵模块,将训练集合由二进制形式转换成WGAN模块可以学习的矩阵形式;WGAN模块,包含WGAN模型,以转换成矩阵形式的训练集合为真实数据集,将WGAN模型训练至收敛,通过训练后的WGAN模型生成矩阵形式的模糊检测种子集合;矩阵转二进制模块,将WGAN模块生成的模糊检测种子集合由矩阵形式转换为二进制形式。

【技术特征摘要】
1.一种基于WGAN模型的模糊检测种子集合生成器,其特征在于,包括:训练集合获取模块,具有基于突变算法的模糊检测工具,所述的模糊检测工具对普通输入进行随机修改得到随机输入,再通过所述随机输入检测多个输入格式相同的程序,将发现程序新路径或触发程序异常情况的随机输入作为WGAN模型的训练集合;二进制转矩阵模块,将训练集合由二进制形式转换成WGAN模块可以学习的矩阵形式;WGAN模块,包含WGAN模型,以转换成矩阵形式的训练集合为真实数据集,将WGAN模型训练至收敛,通过训练后的WGAN模型生成矩阵形式的模糊检测种子集合;矩阵转二进制模块,将WGAN模块生成的模糊检测种子集合由矩阵形式转换为二进制形式。2.根据权利要求1所示的模糊检测种子集合生成器,其特征在于,所述的模糊检测工具为AFL模糊测试工具。3.根据权利要求1所示的模糊检测种子集合生成器,其特征在于,所述的WGAN模型包括:生成器,学习真实数据的特征,并生成近似的虚假数据,将真实数据和虚假数据传输给判别器;判别器,区分真实数据和虚假数据。4.一种基于WGAN模型的模糊检测种子集合生成方法,其特征在于,包括以下步骤:(1)通过基于突变算法的模糊检测工具对普通输入进行随机修改得到随机输入,再通过所述随机输入检测多个输入格式相同的程序,将发现程序新路径或触发程序异常情况的随机输入作为WGAN模型的训练集合;(2)将所述...

【专利技术属性】
技术研发人员:纪守领吕晨阳陈建海李宇薇
申请(专利权)人:浙江大学
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1