一种网络协议模糊测试用例的生成及应用方法技术

技术编号:26693729 阅读:34 留言:0更新日期:2020-12-12 02:49
本发明专利技术公开了一种网络协议模糊测试用例的生成及应用方法,从捕获的网络协议报文中提取目标协议通信报文的应用层协议数据;利用输入的应用层协议数据对所述序列生成对抗网络SeqGAN中的生成模型和判别模型进行训练,在两个模型之间形成博弈,直到训练次数达到预设的阈值,得到训练好的序列生成对抗网络SeqGAN;利用序列生成对抗网络生成测试用例;测试用例通过网络发送给协议程序,对程序实施模糊测试。优点:在被测协议的协议规范未知的情况下,通过对序列生成对抗网络的训练,构造满足协议规范的测试用例,避免测试用例在模糊测试过程中由于无法通过合法性验证而被协议程序丢弃,有效提高模糊测试的测试效率和漏洞挖掘能力。

【技术实现步骤摘要】
一种网络协议模糊测试用例的生成及应用方法
本专利技术涉及一种网络协议模糊测试用例的生成及应用方法,属于网络

技术介绍
网络协议应用广泛,是计算机网络通信的基础。对网络协议进行分析,发掘网络协议及其具体实现程序中存在的安全漏洞,并及时实施安全防护,有助于减少网络安全问题的发生。模糊测试是一种重要的黑盒测试方法,它通过向目标系统提供非预期输入,来监视目标系统出现的异常结果,从而发现目标系统中存在的安全漏洞。模糊测试按照测试用例的生成方法可以分为两种:基于变异的测试用例生成方法和基于生成的测试用例生成方法。基于变异的测试用例生成方法从一个正常的数据出发,按照一定的规则和策略对数据进行变化,从而生成测试用例。基于生成的测试用例生成方法一般要求测试者了解目标系统的输入格式,从而根据输入格式构造合法的测试用例。基于生成的测试用例生成方法简单高效,而且这类方法能够保证生成的测试用例通过程序的合法性检查,是当前模糊测试领域的主要研究方向。网络协议模糊测试起源于芬兰Oulu大学研发的网络协议模糊测试软件PROTOS,在当时它能够本文档来自技高网...

【技术保护点】
1.一种网络协议模糊测试用例的生成方法,其特征在于,/n捕获网络协议报文;/n从捕获的网络协议报文中提取目标协议通信报文的应用层协议数据;/n将应用层协议数据输入到符合网络协议模糊测试需求的序列生成对抗网络SeqGAN,利用输入的应用层协议数据对所述序列生成对抗网络SeqGAN中的生成模型和判别模型进行训练,在两个模型之间形成博弈,直到训练次数达到预设的阈值,得到训练好的序列生成对抗网络SeqGAN;/n利用所述训练好的序列生成对抗网络SeqGAN生成测试用例。/n

【技术特征摘要】
1.一种网络协议模糊测试用例的生成方法,其特征在于,
捕获网络协议报文;
从捕获的网络协议报文中提取目标协议通信报文的应用层协议数据;
将应用层协议数据输入到符合网络协议模糊测试需求的序列生成对抗网络SeqGAN,利用输入的应用层协议数据对所述序列生成对抗网络SeqGAN中的生成模型和判别模型进行训练,在两个模型之间形成博弈,直到训练次数达到预设的阈值,得到训练好的序列生成对抗网络SeqGAN;
利用所述训练好的序列生成对抗网络SeqGAN生成测试用例。


2.根据权利要求1所述的网络协议模糊测试用例的生成方法,其特征在于,所述从捕获的网络协议报文中提取目标协议通信报文的应用层协议数据的过程包括:
对捕获的网络协议报文进行预处理,滤除与目标协议通信无关的报文,得到目标协议通信报文,从目标协议通信报文中提取出应用层协议数据。


3.根据权利要求2所述的网络协议模糊测试用例的生成方法,其特征在于,
所述目标协议通信报文包括基于TCP协议或者UDP协议传输的报文;
采用TCP协议传输报文且由于报文过长在传输时被切分时,需将被切分的报文重组,获得完整的应用层协议数据;
采用TCP协议传输报文且没有因为报文过长被切分时,直接将该报文作为应用层协议数据;
采用UDP协议传输报文时,直接将该报文作为应用层协议数据。


4.根据权利要求1所述的网络协议模糊测试用例的生成方法,其特征在于,所述得到训练好的序列生成对抗网络SeqGAN的过程包括:
所有应用层协议数据组成样本集;
将所有应用层协议数据补长至样本集中应用层协议数据的最大长度,使得所有应用层协议数据长度相同,得到训练样本集;
使用最大似然估计算法在训练样本集上对生成模型进行预...

【专利技术属性】
技术研发人员:洪征李毅豪林培鸿周振吉
申请(专利权)人:中国人民解放军陆军工程大学
类型:发明
国别省市:江苏;32

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

1