基于QRNN的有状态网络协议模糊测试用例过滤方法技术

技术编号:29683810 阅读:21 留言:0更新日期:2021-08-13 22:07
本发明专利技术提供一种基于QRNN的有状态网络协议模糊测试用例过滤方法,所述方法包括:形成字节流向量X;将查询报文序列输入有状态网络协议模糊测试工具,生成测试用例,形成字节流向量X

【技术实现步骤摘要】
基于QRNN的有状态网络协议模糊测试用例过滤方法
本专利技术涉及网络安全领域,尤其涉及一种基于QRNN的有状态网络协议模糊测试用例过滤方法。
技术介绍
网络协议漏洞挖掘是保证网络通信安全的重要手段,模糊测试是目前常用的网络协议漏洞挖掘方法,通过生成或变异的方式构造测试用例,将其作为协议实体的输入,并监视协议实体,从而发现网络协议的安全漏洞。而对于有状态网络协议,协议实体所接收的各个报文之间具有关联性,且协议实体在处理报文后可能会出现状态变化。因此,不同于无状态网络协议模糊测试,当测试用例与协议实体状态不匹配时,测试用例可能会被协议实体直接丢弃,导致协议实体需要执行大量的无效测试用例,严重影响有状态网络协议模糊测试效率。因此,如何优化测试用例过滤方法,保证执行最小测试用例集合就能覆盖最多的路径或触发最多的崩溃,是有状态网络协议模糊测试研究的热点之一。近年来,国内外学者开始研究如何将机器学习技术应用于测试用例过滤,从而提高模糊测试效率。2017年WeiweiGong等人利用轻量的多层感知器算法扩展AFL以降低模糊测试的时间复杂度。结合神经网本文档来自技高网...

【技术保护点】
1.一种基于QRNN的有状态网络协议模糊测试用例过滤方法,其特征在于,所述方法包括以下步骤:/n步骤S101:按照字节划分查询报文序列中的

【技术特征摘要】
1.一种基于QRNN的有状态网络协议模糊测试用例过滤方法,其特征在于,所述方法包括以下步骤:
步骤S101:按照字节划分查询报文序列中的M2,形成字节流向量X=<x1+1,x2+1,…,xm+1>,其中,所述查询报文序列是事先利用Wireshark从客户端和服务端之间的通信流量中提取出来的,M2是由有状态网络协议模糊测试工具确定的子序列,xi是M2的第i个字节,并且xi∈{0,1,...,255},m是M2的总字节数;
步骤S102:将所述查询报文序列输入有状态网络协议模糊测试工具,生成测试用例,从所述测试用例中确定其中的M2’,形成字节流向量X’=<x1’+1,x2’+1,...,xn’+1>,其中,M2’是由有状态网络协议模糊测试工具确定的子序列,xi’是M2’的第i个字节且xi’∈{0,1,...,255},n是M2’的总字节数;
步骤S103:将字节流向量X、X’中维度小的字节流向量进行尾部补零操作,使得字节流向量X、X’的维度一致,并将长度一致的两个字节流向量进行异或运算,异或运算后的字节流向量记作P,P=X⊕X’=<p1,p2,...,pk>,其中,pi是P的第i个字节且pi∈{0,1},k=max{m,n};
步骤S104:将字节流向量P输入训练好的有状态网络协议模糊测试用例过滤模型;所述有状态网络协议模糊测试用例过滤模型是QRNN模型;
步骤S105:所述训练好的有状态网络协议模糊测试用例过滤模型输出E,E用于表示所述测试用例的有效性,E的值为1,表示该测试用例有效;E的值为0,表示该测试用例无效。


2.如权利要求1所述的基于QRNN的有状态网络协议模糊测试用例过滤方法,其特征在于,将P中的每一个元素都视作QRNN模型中一个时刻的输入,并得到不同时刻的隐藏状态h1,h2,...,hT;用最...

【专利技术属性】
技术研发人员:潘祖烈胡志濠黄晖赵军施凡李阳王瑞鹏
申请(专利权)人:中国人民解放军国防科技大学
类型:发明
国别省市:湖南;43

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

1