CN113259207B - 基于qrnn的有状态网络协议模糊测试用例过滤方法 - Google Patents

基于qrnn的有状态网络协议模糊测试用例过滤方法 Download PDF

Info

Publication number
CN113259207B
CN113259207B CN202110787957.5A CN202110787957A CN113259207B CN 113259207 B CN113259207 B CN 113259207B CN 202110787957 A CN202110787957 A CN 202110787957A CN 113259207 B CN113259207 B CN 113259207B
Authority
CN
China
Prior art keywords
test case
network protocol
stateful network
byte stream
protocol
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110787957.5A
Other languages
English (en)
Other versions
CN113259207A (zh
Inventor
潘祖烈
胡志濠
黄晖
赵军
施凡
李阳
王瑞鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
National University of Defense Technology
Original Assignee
National University of Defense Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by National University of Defense Technology filed Critical National University of Defense Technology
Priority to CN202110787957.5A priority Critical patent/CN113259207B/zh
Publication of CN113259207A publication Critical patent/CN113259207A/zh
Application granted granted Critical
Publication of CN113259207B publication Critical patent/CN113259207B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/18Protocol analysers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1433Vulnerability analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供一种基于QRNN的有状态网络协议模糊测试用例过滤方法,所述方法包括:形成字节流向量X;将查询报文序列输入有状态网络协议模糊测试工具,生成测试用例,形成字节流向量X;将字节流向量X、X中维度小的字节流向量进行尾部补零操作,将长度一致的两个字节流向量进行异或运算,异或运算后的字节流向量记作P,将字节流向量P输入训练好的有状态网络协议模糊测试用例过滤模型;所述训练好的有状态网络协议模糊测试用例过滤模型输出测试用例的有效性。根据本发明的方法,提高测试用例与协议实体状态的匹配度,减少协议实体无效执行时间,提高有状态网络协议模糊测试效率。

Description

基于QRNN的有状态网络协议模糊测试用例过滤方法
技术领域
本发明涉及网络安全领域,尤其涉及一种基于QRNN的有状态网络协议模糊测试用例过滤方法。
背景技术
网络协议漏洞挖掘是保证网络通信安全的重要手段,模糊测试是目前常用的网络协议漏洞挖掘方法,通过生成或变异的方式构造测试用例,将其作为协议实体的输入,并监视协议实体,从而发现网络协议的安全漏洞。而对于有状态网络协议,协议实体所接收的各个报文之间具有关联性,且协议实体在处理报文后可能会出现状态变化。因此,不同于无状态网络协议模糊测试,当测试用例与协议实体状态不匹配时,测试用例可能会被协议实体直接丢弃,导致协议实体需要执行大量的无效测试用例,严重影响有状态网络协议模糊测试效率。因此,如何优化测试用例过滤方法,保证执行最小测试用例集合就能覆盖最多的路径或触发最多的崩溃,是有状态网络协议模糊测试研究的热点之一。
近年来,国内外学者开始研究如何将机器学习技术应用于测试用例过滤,从而提高模糊测试效率。2017年Weiwei Gong等人利用轻量的多层感知器算法扩展AFL以降低模糊测试的时间复杂度。结合神经网络模型的分类功能,测试对象只需要执行能够引发状态转换的新测试用例,从而提高AFL漏洞挖掘效率。2017年Mohit Rajpal等人训练若干种神经网络模型学习预测给定输入的代码覆盖率的能力。在模糊测试中,模型可用于预测输入文件的热图,对应于文件中覆盖新的代码路径的位置变异的概率,从而确定变异的优先级,大幅增加路径覆盖数和崩溃触发数。2018年Siddharth Karamcheti等人提出了一种基于机器学习对程序行为直接建模的灰盒模糊测试方法。学习得到的前向预测模型将程序输入映射到执行轨迹,执行轨迹分布的熵可以用来评估模型对输入的确定性高低。熵越大,即不确定性越高,表明输入在执行过程中有可能覆盖新的代码区域。该方法通过关注不确定的输入,忽略确定的输入,从而显著减少不必要的执行次数,提高模糊测试效率。2020年Peiyuan Zong等人提出了一种基于深度学习的方法FuzzGuard。该方法无需执行目标程序就能预测输入的可达性,从而帮助导向式灰盒模糊测试工具AFLGo过滤掉不可达的输入,提高模糊测试效率。但以上研究均是以普通二进制程序为目标,而针对有状态网络协议模糊测试用例过滤的研究还未形成有效方案。
发明内容
为解决上述技术问题,本发明提出了一种基于QRNN的有状态网络协议模糊测试用例过滤方法及装置,用以解决现有技术中有状态网络协议模糊测试的目标趋向于大型协议实体,而传统的测试用例过滤方法主要是基于测试对象的运行状态信息,测试对象越庞大,其执行单个无效测试用例的时间越长,模糊测试效率也相应越低的问题。
根据本发明的第一方面,提供一种基于QRNN的有状态网络协议模糊测试用例过滤方法,所述方法包括以下步骤:
步骤S101:按照字节划分查询报文序列中的M 2 ,形成字节流向量X=<x1+1,x2+1,…,xm+1>,其中,所述查询报文序列是事先利用Wireshark从客户端和服务端之间的通信流量中提取出来的,M 2 是由有状态网络协议模糊测试工具确定的子序列,xiM 2 的第i个字节,并且xi∈{0,1,...,255},m是M 2 的总字节数;
步骤S102:将所述查询报文序列输入有状态网络协议模糊测试工具,生成测试用例,从所述测试用例中确定其中的M 2 ,形成字节流向量X=<x1 +1,x2 +1,...,xn +1>,其中,M 2 是由有状态网络协议模糊测试工具确定的子序列,xi M 2 的第i个字节且xi ∈{0,1,...,255},n是M 2 的总字节数;
步骤S103:将字节流向量X、X中维度小的字节流向量进行尾部补零操作,使得字节流向量X、X的维度一致,并将长度一致的两个字节流向量进行异或运算,异或运算后的字节流向量记作P,P=X⊕X=<p1,p2,...,pk>,其中,pi是P的第i个字节且pi∈{0,1},k=max{m,n};
步骤S104:将字节流向量P输入训练好的有状态网络协议模糊测试用例过滤模型;
步骤S105:所述训练好的有状态网络协议模糊测试用例过滤模型输出E,E用于表示所述测试用例的有效性,E的值为1,表示该测试用例有效;E的值为0,表示该测试用例无效。
根据本发明第二方面,提供一种基于QRNN的有状态网络协议模糊测试用例过滤装置,所述装置包括:
第二提取模块:配置为将所述查询报文序列输入有状态网络协议模糊测试工具,生成测试用例,从所述测试用例中确定其中的M 2 ,形成字节流向量X=<x1 +1,x2 +1,...,xn +1>,其中,M 2 是由有状态网络协议模糊测试工具确定的子序列,xi M 2 的第i个字节且xi ∈{0,1,...,255},n是M 2 的总字节数;
异或模块:配置为将字节流向量X、X中维度小的字节流向量进行尾部补零操作,使得字节流向量X、X的维度一致,并将长度一致的两个字节流向量进行异或运算,异或运算后的字节流向量记作P,P=X⊕X=<p1,p2,...,pk>,其中,pi是P的第i个字节且pi∈{0,1},k=max{m,n};
输入模块:配置为将字节流向量P输入训练好的有状态网络协议模糊测试用例过滤模型;
计算模块:配置为所述训练好的有状态网络协议模糊测试用例过滤模型输出E,E用于表示所述测试用例的有效性,E的值为1,表示该测试用例有效;E的值为0,表示该测试用例无效。
根据本发明第三方面,提供一种基于QRNN的有状态网络协议模糊测试用例过滤系统,包括:
处理器,用于执行多条指令;
存储器,用于存储多条指令;
其中,所述多条指令,用于由所述存储器存储,并由所述处理器加载并执行如前所述的基于QRNN的有状态网络协议模糊测试用例过滤方法。
根据本发明第四方面,提供一种计算机可读存储介质,所述存储介质中存储有多条指令;所述多条指令,用于由处理器加载并执行如前所述的基于QRNN的有状态网络协议模糊测试用例过滤方法。
根据本发明的上述方案,依据循环神经网络对序列数据的强处理和预测能力,提出一种基于QRNN的有状态网络协议模糊测试用例过滤方法。通过学习测试用例的变异方式与有效性之间的内在关系,该方法可以有效降低有状态网络协议漏洞挖掘的时间成本,提高有状态网络协议模糊测试效率。传统的有状态网络协议模糊测试用例过滤方法需要通过执行测试用例来实时预测其有效性并进一步过滤无效测试用例。而本发明依据QRNN对序列数据的强处理和预测能力,通过搭建有状态网络协议模糊测试用例过滤模型,对测试用例的有效性进行预测,从而快速过滤无效测试用例,提高测试用例与协议实体状态的匹配度,减少协议实体无效执行时间,提高有状态网络协议模糊测试效率。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,并可依照说明书的内容予以实施,以下以本发明的较佳实施例并配合附图详细说明如后。
附图说明
构成本发明的一部分的附图用来提供对本发明的进一步理解,本发明提供如下附图进行说明。在附图中:
图1为本发明一个实施方式的基于QRNN的有状态网络协议模糊测试用例过滤方法流程示意图;
图2为本发明一个实施方式的基于QRNN的有状态网络协议模糊测试用例过滤方法整体流程示意图;
图3为本发明一个实施方式的基于QRNN的有状态网络协议模糊测试用例过滤模型生成示意图;
图4为本发明一个实施方式的输入向量用于判断有效性的示意图;
图5为本发明一个实施方式的获取训练集的流程示意图;
图6为本发明一个实施方式的基于QRNN的有状态网络协议模糊测试用例过滤模型的使用方法示意图;
图7为本发明一个实施方式的基于QRNN的有状态网络协议模糊测试用例过滤装置结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明具体实施例及相应的附图对本发明技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
首先结合图1说明为本发明一个实施方式的基于QRNN的有状态网络协议模糊测试用例过滤方法。如图1-3所示,所述方法包括以下步骤:
步骤S101:按照字节划分查询报文序列中的M 2 ,形成字节流向量X=<x1+1,x2+1,…,xm+1>,其中,所述查询报文序列是事先利用Wireshark从客户端和服务端之间的通信流量中提取出来的,M 2 是由有状态网络协议模糊测试工具确定的子序列,xiM 2 的第i个字节,并且xi∈{0,1,...,255},m是M 2 的总字节数;
步骤S102:将所述查询报文序列输入有状态网络协议模糊测试工具,生成测试用例,从所述测试用例中确定其中的M 2 ,形成字节流向量X=<x1 +1,x2 +1,...,xn +1>,其中,M 2 是由有状态网络协议模糊测试工具确定的子序列,xi M 2 的第i个字节且xi ∈{0,1,...,255},n是M 2 的总字节数;
步骤S103:将字节流向量X、X中维度小的字节流向量进行尾部补零操作,使得字节流向量X、X的维度一致,并将长度一致的两个字节流向量进行异或运算,异或运算后的字节流向量记作P,P=X⊕X=<p1,p2,...,pk>,其中,pi是P的第i个字节且pi∈{0,1},k=max{m,n};
步骤S104:将字节流向量P输入训练好的有状态网络协议模糊测试用例过滤模型;
步骤S105:所述训练好的有状态网络协议模糊测试用例过滤模型输出E,E用于表示所述测试用例的有效性,E的值为1,表示该测试用例有效;E的值为0,表示该测试用例无效。
本实施例中,所述有状态网络协议模糊测试用例过滤模型是QRNN模型。
QRNN由卷积层和池化层两部分组成。卷积层用于提取输入特征以及对门函数进行卷积处理。对于一个含有噪音的输入序列X=[x1,x2,...,xT],经过滤波器个数为m的卷积层运算后,得到一个长度仍为T的含噪音序列Z=[z1,z2,...,zT]。其中,序列X中每个向量的维度为n,序列Z中每个向量的维度为m。如果滤波器的宽度设置为k,则t时刻zt的范围为xt-k+1到xt。卷积层如公式(1)-公式(3)所示
Figure DEST_PATH_IMAGE001
式中,Wz、Wf、Wo为卷积滤波器,
Figure 814648DEST_PATH_IMAGE002
为激活函数,*表示滤波器在序列维度上的卷积运算。本实施例中滤波器的宽度设置为2,此时,QRNN的卷积层如公式(4)-公式(6)所示
Figure DEST_PATH_IMAGE003
池化层用于提取卷积层输出的特征信息,减少特征数目。池化层的计算是在动态平均池化的基础上,增加了输出门和遗忘门。这样的结构类似于长短期记忆(Long Short-Term Memory,LSTM)网络的门结构,池化层如公式(7)和公式(8)所示
Figure 105690DEST_PATH_IMAGE004
其中:f、i、o分别表示遗忘门、输入门和输出门,ct-1表示t时刻的记忆单元状态,h和c的初始状态为0,
Figure DEST_PATH_IMAGE005
表示向量之间的点乘运算。QRNN可以实现数据的并行计算,并且在输出时有效。
将P中的每一个元素都视作QRNN模型中一个时刻的输入,并得到不同时刻的隐藏状态h1,h2,...,hT;用最后时刻的隐藏状态hT作为字节流向量P的特征,并输入给分类器g(∙)预测测试用例有效性,得到E值作为输出。所述有状态网络协议模糊测试用例过滤模型如图4所示。
本实施例中,利用QRNN学习测试用例的变异方式P与有效性E之间的内在关系,从而构建有状态网络协议模糊测试用例过滤模型,判断测试用例的有效性。本实施例中,根据响应码转换图变异构造测试用例,测试用例由三部分组成:将协议实体从初始响应码引导至某个待测响应码的报文序列M1;检测协议实体是否出现异常情况的报文子序列M2;未检测到异常后将协议实体引导至终止响应码的报文序列M3;变异只涉及M2,其余部分保持不变。为消除不同有状态网络协议之间的差异性,按照字节分别划分单次变异前后的M2,补零后两者形成长度一致的字节流向量,并将模型的输入表示为两者异或运算后的字节流向量,而模型的输出表示为测试用例的有效性,若有效则为“1”,否则为“0”。
本实施例中,有效测试用例包含四种类型:在协议实体中执行后覆盖新的代码路径的测试用例;在协议实体中执行后造成协议实体发生新的状态转换的测试用例;在协议实体中执行后造成协议实体超时,即超过预定时长无响应的测试用例;在协议实体中执行后造成协议实体崩溃,即可能触发漏洞的测试用例。其他的测试用例均视作无效测试用例。
所述有状态网络协议模糊测试用例过滤模型在训练时,需要获取训练集,如图5所示,获取训练集,包括以下步骤:
步骤S501:嗅探客户端和服务端之间的通信流量并从中提取出客户端的查询报文序列,保存进队列;预设训练样本获取时长;
步骤S502:判断获取样本所用时间是否到达所述训练样本获取时长,若是,进入步骤S505;若否,进入步骤S503;
步骤S503:有状态网络协议模糊测试工具依次变异所述队列中的查询报文序列,并将变异后的所述查询报文序列发送给协议实体;
步骤S504:若测试用例在协议实体中执行后覆盖新的代码路径、造成协议实体产生新的状态转换、超时或崩溃,则提取特征向量后将所述特征向量保存到有效测试用例目录,否则将所述特征向量保存到无效测试用例目录;
步骤S505:将有效测试用例和无效测试用例作为有标签训练样本组成初始训练集。
本实施例中,还包括对训练集的预处理操作。有状态网络协议模糊测试用例过滤是一个类不平衡问题(初始训练集中无效测试用例远多于有效测试用例),故采用一种自定义的半随机欠采样方法对初始训练集进行预处理。通过事先设置多数类样本和少数类样本的数量比例,以及考虑到样本字节长度对模型构建速度的负面影响和少数类样本的最大字节长度,在少数类样本保持不变的情况下,根据多数类样本中不同字节长度样本的分布比例,随机选择多数类样本,从而达到平衡效果。
所述有状态网络协议模糊测试用例过滤模型采用python语言进行实现,调用封装的第三方机器学习库torchqrnn中的QRNNClassifier方法,设置输入大小、输出大小、双向标志等参数,并不断调整隐藏层单元数和dropout两种参数,对预处理后的训练集进行训练生成具有最优分类性能的测试用例过滤模型。
如图6所示,利用生成的有状态网络协议模糊测试用例过滤模型,接收从有状态网络协议模糊测试工具中输出的测试样本,并对其对应的测试用例的有效性进行预测,从而过滤无效测试用例,只将有效测试用例输入协议实体中执行,并根据协议实体的运行状态将有效测试用例保存进队列中成为查询报文序列等待变异。
如图7所示,本发明实施例进一步给出一种基于QRNN的有状态网络协议模糊测试用例过滤装置,所述装置包括:
第一提取模块:配置为按照字节划分查询报文序列中的M 2 ,形成字节流向量X=<x1+1,x2+1,…,xm+1>,其中,所述查询报文序列是事先利用Wireshark从客户端和服务端之间的通信流量中提取出来的,M 2 是由有状态网络协议模糊测试工具确定的子序列,xiM 2 的第i个字节,并且xi∈{0,1,...,255},m是M 2 的总字节数;
第二提取模块:配置为将所述查询报文序列输入有状态网络协议模糊测试工具,生成测试用例,从所述测试用例中确定其中的M 2 ,形成字节流向量X=<x1 +1,x2 +1,...,xn +1>,其中,M 2 是由有状态网络协议模糊测试工具确定的子序列,xi M 2 的第i个字节且xi ∈{0,1,...,255},n是M 2 的总字节数;
异或模块:配置为将字节流向量X、X中维度小的字节流向量进行尾部补零操作,使得字节流向量X、X的维度一致,并将长度一致的两个字节流向量进行异或运算,异或运算后的字节流向量记作P,P=X⊕X=<p1,p2,...,pk>,其中,pi是P的第i个字节且pi∈{0,1},k=max{m,n};
输入模块:配置为将字节流向量P输入训练好的有状态网络协议模糊测试用例过滤模型;
计算模块:配置为所述训练好的有状态网络协议模糊测试用例过滤模型输出E,E用于表示所述测试用例的有效性,E的值为1,表示该测试用例有效;E的值为0,表示该测试用例无效。
提供一种基于QRNN的有状态网络协议模糊测试用例过滤系统,包括:
处理器,用于执行多条指令;
存储器,用于存储多条指令;
其中,所述多条指令,用于由所述存储器存储,并由所述处理器加载并执行如前所述的基于QRNN的有状态网络协议模糊测试用例过滤方法。
提供一种计算机可读存储介质,所述存储介质中存储有多条指令;所述多条指令,用于由处理器加载并执行如前所述的基于QRNN的有状态网络协议模糊测试用例过滤方法。
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机装置(可以是个人计算机,实体机服务器,或者网络云服务器等,需安装Linux操作系统)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。

Claims (4)

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,表示该测试用例无效;
所述有状态网络协议模糊测试用例过滤模型在训练时,需要获取训练集,获取训练集,包括以下步骤:
步骤S501:嗅探客户端和服务端之间的通信流量并从中提取出客户端的查询报文序列,保存进队列;预设训练样本获取时长;
步骤S502:判断获取样本所用时间是否到达所述训练样本获取时长,若是,进入步骤S505;若否,进入步骤S503;
步骤S503:有状态网络协议模糊测试工具依次变异所述队列中的查询报文序列,并将变异后的所述查询报文序列发送给协议实体;
步骤S504:若测试用例在协议实体中执行后覆盖新的代码路径、造成协议实体产生新的状态转换、超时或崩溃,则提取特征向量后将所述特征向量保存到有效测试用例目录,否则将所述特征向量保存到无效测试用例目录;
步骤S505:将有效测试用例和无效测试用例作为有标签训练样本组成初始训练集。
2.如权利要求1所述的基于QRNN的有状态网络协议模糊测试用例过滤方法,其特征在于,将P中的每一个元素都视作QRNN模型中一个时刻的输入,并得到不同时刻的隐藏状态h1,h2,...,hT;用最后时刻的隐藏状态hT作为字节流向量P的特征,并输入给分类器g(·)预测测试用例有效性,得到E值作为输出。
3.如权利要求1所述的基于QRNN的有状态网络协议模糊测试用例过滤方法,其特征在于,测试用例由三部分组成:将协议实体从初始响应码引导至某个待测响应码的报文序列M1;检测协议实体是否出现异常情况的报文子序列M2;未检测到异常后将协议实体引导至终止响应码的报文序列M3
4.如权利要求3所述的基于QRNN的有状态网络协议模糊测试用例过滤方法,其特征在于,有效测试用例包含四种类型:在协议实体中执行后覆盖新的代码路径的测试用例;在协议实体中执行后造成协议实体发生新的状态转换的测试用例;在协议实体中执行后造成协议实体超时,即超过预定时长无响应的测试用例;在协议实体中执行后造成协议实体崩溃,即可能触发漏洞的测试用例。
CN202110787957.5A 2021-07-13 2021-07-13 基于qrnn的有状态网络协议模糊测试用例过滤方法 Active CN113259207B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110787957.5A CN113259207B (zh) 2021-07-13 2021-07-13 基于qrnn的有状态网络协议模糊测试用例过滤方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110787957.5A CN113259207B (zh) 2021-07-13 2021-07-13 基于qrnn的有状态网络协议模糊测试用例过滤方法

Publications (2)

Publication Number Publication Date
CN113259207A CN113259207A (zh) 2021-08-13
CN113259207B true CN113259207B (zh) 2021-09-21

Family

ID=77191134

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110787957.5A Active CN113259207B (zh) 2021-07-13 2021-07-13 基于qrnn的有状态网络协议模糊测试用例过滤方法

Country Status (1)

Country Link
CN (1) CN113259207B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117472787B (zh) * 2023-12-27 2024-03-15 山东泽鹿安全技术有限公司 车机模糊测试的测试用例生成方法、装置、介质和设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9432394B1 (en) * 2015-03-16 2016-08-30 Ixia Methods, systems, and computer readable media for converging on network protocol stack vulnerabilities using fuzzing variables, vulnerability ratings and progressive convergence
CN107040551A (zh) * 2017-06-12 2017-08-11 北京匡恩网络科技有限责任公司 一种工控网络安全预警方法及系统
CN108259494A (zh) * 2018-01-17 2018-07-06 北京邮电大学 一种网络攻击检测方法及装置
US10454968B1 (en) * 2016-09-12 2019-10-22 Rockwell Collins, Inc. Regular expression based cyber fuzzing attack preventer
US10855717B1 (en) * 2019-09-16 2020-12-01 Whitehat Security, Inc. Systems and methods of intelligent and directed dynamic application security testing
CN112073242A (zh) * 2020-09-08 2020-12-11 中国人民解放军陆军工程大学 一种网络协议模糊测试用例的生成及应用方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI124560B (en) * 2012-09-14 2014-10-15 Codenomicon Oy Monitoring of the operation of the communication protocol procedure
US10983853B2 (en) * 2017-03-31 2021-04-20 Microsoft Technology Licensing, Llc Machine learning for input fuzzing
US11031135B2 (en) * 2017-09-26 2021-06-08 Edge2020 LLC Determination of cybersecurity recommendations
CN108900546A (zh) * 2018-08-13 2018-11-27 杭州安恒信息技术股份有限公司 基于lstm的时间序列网络异常检测的方法与装置
CN109639624A (zh) * 2018-10-08 2019-04-16 上海大学 一种Modbus TCP协议模糊测试中畸形数据过滤方法
CN110113227B (zh) * 2019-04-18 2022-08-02 上海大学 一种变分自编码的模糊测试测试用例生成方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9432394B1 (en) * 2015-03-16 2016-08-30 Ixia Methods, systems, and computer readable media for converging on network protocol stack vulnerabilities using fuzzing variables, vulnerability ratings and progressive convergence
US10454968B1 (en) * 2016-09-12 2019-10-22 Rockwell Collins, Inc. Regular expression based cyber fuzzing attack preventer
CN107040551A (zh) * 2017-06-12 2017-08-11 北京匡恩网络科技有限责任公司 一种工控网络安全预警方法及系统
CN108259494A (zh) * 2018-01-17 2018-07-06 北京邮电大学 一种网络攻击检测方法及装置
US10855717B1 (en) * 2019-09-16 2020-12-01 Whitehat Security, Inc. Systems and methods of intelligent and directed dynamic application security testing
CN112073242A (zh) * 2020-09-08 2020-12-11 中国人民解放军陆军工程大学 一种网络协议模糊测试用例的生成及应用方法

Also Published As

Publication number Publication date
CN113259207A (zh) 2021-08-13

Similar Documents

Publication Publication Date Title
Hu et al. Deepsniffer: A dnn model extraction framework based on learning architectural hints
CN109413023A (zh) 机器识别模型的训练及机器识别方法、装置、电子设备
CN113259207B (zh) 基于qrnn的有状态网络协议模糊测试用例过滤方法
CN112464990B (zh) 一种基于电流电压传感器感知振动数据的方法和装置
CN110472268A (zh) 一种桥梁监测数据模态识别方法及装置
CN115982235A (zh) 一种异常时序数据检测方法、设备及介质
CN117240632B (zh) 一种基于知识图谱的攻击检测方法和系统
CN109918901A (zh) 实时检测基于Cache攻击的方法
EP4169223A1 (en) Method and apparatus to detect scripted network traffic
CN116962047A (zh) 一种可解释的威胁情报生成方法、系统及装置
Ferreira et al. SiMOOD: Evolutionary Testing Simulation with Out-Of-Distribution Images
CN111368894A (zh) 一种fcbf特征选择方法及其在网络入侵检测中的应用
CN115314239A (zh) 基于多模型融合的隐匿恶意行为的分析方法和相关设备
CN115630298A (zh) 基于自注意力机制的网络流量异常检测方法及系统
CN115510900A (zh) 电路故障自动诊断方法及其诊断系统
CN114021118A (zh) 基于超融合服务器系统的多元行为检测方法、系统及介质
CN113055381A (zh) 一种基于页型网络实现物联网DDoS流量的检测方法、设备及存储介质
CN114065867B (zh) 一种数据分类方法、系统及电子设备
CN113946703B (zh) 一种图片漏检处理方法及其相关装置
CN113762332B (zh) 窃电检测方法、装置、计算机设备和存储介质
CN116056087B (zh) 网络攻击检测方法、装置及设备
CN112989342B (zh) 恶意软件检测网络优化方法、装置、电子设备及存储介质
US20240092394A1 (en) Generating unknown-unsafe scenarios, improving automated vehicles, and computer system
CN114070635A (zh) Shdos数据处理、模型训练方法、设备及存储介质
Al-Maeeni et al. Performance Modeling of Data Storage Systems using Generative Models

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant