CN103812729B - 一种网络协议模糊测试方法和装置 - Google Patents

一种网络协议模糊测试方法和装置 Download PDF

Info

Publication number
CN103812729B
CN103812729B CN201410056869.8A CN201410056869A CN103812729B CN 103812729 B CN103812729 B CN 103812729B CN 201410056869 A CN201410056869 A CN 201410056869A CN 103812729 B CN103812729 B CN 103812729B
Authority
CN
China
Prior art keywords
protocol domain
protocol
procotol
attribute
data set
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
CN201410056869.8A
Other languages
English (en)
Other versions
CN103812729A (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.)
Beijing Institute of Technology BIT
Original Assignee
Beijing Institute of Technology BIT
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 Beijing Institute of Technology BIT filed Critical Beijing Institute of Technology BIT
Priority to CN201410056869.8A priority Critical patent/CN103812729B/zh
Publication of CN103812729A publication Critical patent/CN103812729A/zh
Application granted granted Critical
Publication of CN103812729B publication Critical patent/CN103812729B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供了一种网络协议模糊测试方法和装置,能够解决现有的对网络协议进行模糊测试方式中存在的测试用例集不够智能化,以及会产生大量冗余测试用例的缺陷。步骤一、获取待测试的网络协议对应的多个协议域,由所述多个协议域构成协议域序组;步骤二、获取每个协议域的属性和所述属性对应的属性值;步骤三、对于每个协议域,将该协议域中的各属性的属性值进行组合运算,得到变异值,由该变异值构成面向所述协议域的测试数据集合;步骤四、对每个测试数据集合中的每个变异值,分别利用该变异值替换协议域序组中所述测试数据集合对应的协议域,得到替换后的协议域序组实例;步骤五、根据由所有测试数据集合得到的替换后的协议域序组实例,得到所述网络协议的测试用例。

Description

一种网络协议模糊测试方法和装置
技术领域
本发明属于软件安全技术领域,涉及一种网络协议模糊测试方法和装置。
背景技术
网络协议模糊测试对安全研究者来说是最感兴趣的模糊测试类型,不仅因为所发现的漏洞通常具有较高级别的危险程度,而且还由于网络协议在互联网通信中被广泛应用,一旦被发现漏洞,受到威胁的范围将会很广。网络协议模糊测试用例生成方法是模糊测试过程中非常关键的环节,测试用例的生成和选择直接影响模糊测试的质量。
在模糊测试方面,现有技术中通过将多个测试用例输入待测目标,根据响应信息对测试用例进行分类,再分别生成不同分类的新测试用例。或者,利用遗传算法对模糊测试过程中的第一代初始群体和下一代群体进行一系列的选择、变异、淘汰操作。在测试用例集缩减方面,现有技术中通过对测试用例集进行0-1编码,通过粒子群算法得到对测试需求集覆盖度大且冗余度小的测试用例集达到测试用例集缩减的目的。或者在获得程序源代码的情况下,利用程序的不变量对测试用例进行过滤,以降低生成的测试用例集的冗余率。
现有的测试用例缩减技术更多的是针对有程序源代码的情况,这样的方法并不适用于网络协议模糊测试,比如利用程序的不变量对测试用例进行缩减,它的前提条件是要获得程序的源代码,这在网络协议模糊测试过程中是不可能达到的。成型的网络协议模糊器虽然能够进行网络协议模糊测试,但是在测试过程中由于采用硬编码方法,导致测试用例集不够智能化,不能针对不同的待测目标动态地生成测试用例,此外机械式地随机变异会产生大量冗余测试用例。
综上所述,现有的对网络协议进行模糊测试的方式,存在测试用例集不够智能化,以及会产生大量冗余测试用例的缺陷。
发明内容
本发明提供了一种网络协议模糊测试方法和装置,能够解决现有的对网络协议进行模糊测试方式中存在的测试用例集不够智能化,以及会产生大量冗余测试用例的缺陷。
一种网络协议模糊测试方法,包括以下步骤:
步骤一、获取待测试的网络协议对应的多个协议域,由所述多个协议域构成协议域序组;
步骤二、获取每个协议域的属性和所述属性对应的属性值;
步骤三、对于每个协议域,将该协议域中的各属性的属性值进行组合运算,得到变异值,由该变异值构成面向所述协议域的测试数据集合;
步骤四、对每个测试数据集合中的每个变异值,分别利用该变异值替换协议域序组中所述测试数据集合对应的协议域,得到替换后的协议域序组实例;
步骤五、根据由所有测试数据集合得到的替换后的协议域序组实例,得到所述网络协议的测试用例。
在上述方法中,在获取待测试的网络协议对应的多个协议域之前,还包括以下步骤:为所述待测试的网络协议建立网络协议分类树,所述网络协议分类树包括作为根节点的待测试的网络协议,从属于根节点的协议域、从属于协议域的属性和从属于所述属性的属性值。
在上述方法中,在将该协议域中的各属性的属性值进行组合运算之前,还进一步包括以下步骤:获取启发算子,并根据启发算子对每个属性的属性值进行过滤;所述将该协议域中的各属性的属性值进行组合运算包括:将该协议域中的各属性的过滤后的属性值进行组合运算,得到变异值。
在上述方法中,所述获取启发算子包括:根据所述网络协议的协议规范得到所述启发算子;或是利用第三方工具计算得到所述启发算子。
在上述方法中,所述对于每个协议域,将该协议域中的各属性的属性值进行组合运算,得到变异值,由该变异值构成面向所述协议域的测试数据集合包括:根据笛卡尔乘积公式:1≤i≤n计算面向所述协议域的测试数据集合;
其中,Si为协议域fi的测试数据集合,Si中的元素为变异值;Vi1为协议域的第1个属性的属性值的集合,为协议域fi的第mi个属性的属性值的集合,n为网络协议P的协议域的个数。
在上述方法中,所述对每个测试数据集合中的每个变异值,分别利用该变异值替换协议域序组中所述测试数据集合对应的协议域,得到替换后的协议域序组实例包括:对第i协议域fi对应的测试数据集合Si中的第j变异值MVij,利用该第j变异值MVij替换协议域序组<f1,f2,…fi…fn>中的第i协议域fi,得到<f1,f2,…MVij…fn>作为替换后的协议域序组实例;1≤j≤qi,qi为Si中的变异值的总个数;1≤i≤n,n为网络协议P的协议域的总个数。
一种网络协议模糊测试装置,包括获取模块、第一运算模块、第二运算模块、生成模块:
获取模块,用于获取待测试的网络协议对应的多个协议域,由所述多个协议域构成协议域序组;获取每个协议域的属性和所述属性对应的属性值;
第一运算模块,用于针对每个协议域,将该协议域中各属性的属性值进行组合运算,得到变异值,由该变异值构成面向所述协议域的测试数据集合;
第二运算模块,用于针对每个测试数据集合中的每个变异值,分别利用该变异值替换协议域序组中所述测试数据集合对应的协议域,得到替换后的协议域序组实例;
生成模块,用于根据由所有测试数据集合得到的替换后的协议域序组实例,得到所述网络协议的测试用例。
上述装置还进一步包括:分类树建立模块,用于为所述待测试的网络协议建立网络协议分类树,其中,所述网络协议分类树包括作为根节点的待测试的网络协议,从属于根节点的协议域、从属于协议域的属性和从属于所述属性的属性值。
上述装置还进一步包括:过滤模块,用于获取启发算子,并根据启发算子对每个属性的属性值进行过滤。
所述第一运算模块,进一步用于针对每个协议域,将该协议域中的各属性的过滤后的属性值进行组合运算,得到面向该协议域的变异值集合。
在上述装置中,所述生成模块用于对第i协议域fi对应的测试数据集合Si中的第j变异值MVij,利用该第j变异值MVij替换协议域序组<f1,f2,…fi…fn>中的第i协议域fi,得到<f1,f2,…MVij…fn>作为替换后的协议域序组实例;1≤j≤qi,qi为Si中的变异值的总个数;1≤i≤n,n为网络协议P的协议域的总个数。
综上所述,本发明所提供的技术方案,通过对目标网络协议进行划分,从划分后的协议域中获取相应属性的属性值的集合。通过对每个协议域,将该协议域中各属性的属性值进行组合运算,得到变异值,由该变异值构成面向所述协议域的测试数据集合,再分别利用该变异值替换协议域序组中所述测试数据集合对应的协议域,得到替换后的协议域序组实例。本发明提供的网络协议模糊测试的方法,对模糊测试的测试用例的生成过程进行了优化,提高了自动化过程,减小测试用例生成空间的同时保证了测试用例集的有效率。其有益效果为:解决了传统模糊测试的测试用例生成过程中测试用例集“爆炸式”增长、效率低、测试时间长的缺点。
附图说明
图1是本发明中一种网络协议模糊测试方法的流程图;
图2是本发明中一种网络协议模糊测试方法的详细流程图;
图3是本发明中一种网络协议分类树的结构示意图;
图4是本发明一种实施例中引入启发算子之后的网络协议分类树结构示意图;
图5是本发明中一种网络协议模糊测试装置的结构示意图;
图6是本发明中一种网络协议模糊测试装置的详细结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
图1是本发明中一种网络协议模糊测试方法的流程图;如图1所示,该方法包括如下步骤:
步骤101,获取待测试的网络协议对应的多个协议域,由所述多个协议域构成协议域序组。
步骤102,获取每个协议域的属性和所述属性对应的属性值。
步骤103,对于每个协议域,将该协议域中的各属性的属性值进行组合运算,得到变异值,由该变异值构成面向所述协议域的测试数据集合。
步骤104,对每个测试数据集合中的每个变异值,分别利用该变异值替换协议域序组中所述测试数据集合对应的协议域,得到替换后的协议域序组实例。
步骤105,根据由所有测试数据集合得到的替换后的协议域序组实例,得到所述网络协议的测试用例。
由上述可知,本发明所提供的技术方案,通过对目标网络协议进行划分,从划分后的协议域中获取相应属性的属性值集合。通过对每个协议域,将该协议域中各属性的属性值进行组合运算,得到变异值,由该变异值构成面向所述协议域的测试数据集合,再分别利用该中的变异值替换协议域序组中所述测试数据集合对应的协议域,得到替换后的协议域序组实例。本发明提供的网络协议模糊测试的方法,对模糊测试的测试用例的生成过程进行了优化,提高了自动化过程,减小测试用例生成空间的同时保证了测试用例集的有效率。其有益效果为:解决了传统模糊测试的测试用例生成过程中测试用例集“爆炸式”增长、效率低、测试时间长的缺点。
在本发明的一种实施例中,为了使得生成的测试用例更加优化,通过引入启发算子对属性值集合中的部分无效值进行过滤,从而实现属性值集合组合生成协议域的协议域序组实例的过程优化,以达到实现目标网络协议测试用例生成过程优化的目的。
图2是本发明中一种网络协议模糊测试方法的详细流程图。参见图2所示,该方法包括如下步骤。
步骤201,为所述待测试的网络协议建立网络协议分类树。
在步骤201中,根据目标网络协议的协议规范,对目标网络协议进行有目的的划分,生成的网络协议分类树包括作为根节点的待测试的网络协议,从属于根节点的协议域、从属于协议域的属性和从属于所述属性的属性值。
图3是本发明中一种网络协议分类树的结构示意图,参见图3所示,在本发明的一种具体实施例中,将所述网络协议P划分为4层的分类树,即将生成的网络协议分类树通过五元组PT=(P,F A,V,R)来表示。
根节点P代表待测试目标网络协议;F代表目标网络协议P的协议域集合,F={f1,f2,…fi…fn},fi为目标网络协议的第i协议域,n为协议域的总个数。
A代表目标网络协议P的互不相交的属性的集合,A=A1∪A2..∪Ai..∪An,Ai是第i协议域fi的属性的集合,aij表示第i协议域fi的第j个属性,mi表示第i协议域fi的属性的总个数。
V代表协议域的属性值的集合,V={V1,V2,…,Vn},V1表示第1协议域f1的所有属性的属性值的集合。其中,Vi1表示第i协议域fi的第1个属性ai1的属性值集合,mi表示第i协议域fi的属性的总个数。 表示第i协议域fi的第1个属性ai1的属性值集合中的第1个属性值,表示第i协议域fi的第1个属性ai1的属性值集合中的第kim1个属性值,kim1表示第i协议域fi的第1个属性ai1的属性值集合中的属性的总个数。其中,中的上标表示该属性值为属性ai1的属性值(即与属性ai1的下标对应),中的下标表示该属性值为属性ai1的属性值集合中的第kim1个属性值。
R代表协议分类树中父节点和子节点之间的关系,包括目标协议P与协议F之间的关系、协议域F与属性A之间的关系、属性A与属性值V之间的关系。
步骤202,获取待测试的网络协议对应的多个协议域,由所述多个协议域构成协议域序组。
在步骤202中,从划分完成之后的网络协议分类树中获取对应的多个协议域。即获取得到由目标网络协议根据网络协议规范进行划分之后得到的所有协议域构成的协议域集合F={f1,f2,…fi…fn}。其中,f1,f2,fi,fn为目标网络协议中的协议域,各个协议域之间广义相关,其中各个协议域的序号仅仅用于区分各个协议域,并不表示各协议域之间具有先后顺序。
步骤203,获取启发算子,并根据启发算子对每个属性的属性值进行过滤。
在步骤203中,引入启发算子之前,协议域fi的属性值集合Vi中的数值往往是完全随机或者依据经验值而预设的,因此需要足够多的属性值才能取得比较理想的覆盖率以满足测试要求。在本发明中,通过引入启发算子,得到相应的启发式规则,剔除属性值集合Vi中的部分无效值,从而实现属性值集合组合生成协议域fi测试数据的过程优化,以达到实现目标协议测试用例生成过程优化的目的。
在本发明的一种实施例中,根据启发算子对协议域属性值集合Vi进行精简。得到精简后的属性值集合使其个数大小关系为
在本发明的一种实施例中,可以针对所述网络协议的协议规范得到所述启发算子。在本实施例中,获得的启发算子为连续性的。举例为,数值大于X的数。
在本发明的一种实施例中,利用第三方工具计算得到所述启发算子。在本实施例中,获得的启发算子为某个具体的数值。
图4是本发明一种实施例中引入启发算子之后的网络协议分类树结构示意图。根据启发算子,将属性值集合Vi中的部分无效属性值剔,得到精简之后的属性值集合参见图4所示,精简之后的属性值集合为属性值集合Vi经过精简之后,即除去打叉的属性值之后的属性值的集合。
在本实施例中,通过引入启发算子,实现了对测试用例的生成过程加以智能化的指导,减小了测试用例集的规模,缩短了模糊测试时间,并且提高了生成的测试用例集的有效率。
步骤204,获取每个协议域的属性和所述属性对应的属性值。
在步骤204中,根据引入启发算子进行精简之后的网络协议分类树,获取每个协议域的属性,以及各属性的属性值。其中,每个属性aij分别从离散的已优化后的属性值集合中取值。
步骤205,对于每个协议域,将该协议域中的各属性过滤后的属性值进行组合运算,得到变异值。由该变异值构成面向所述协议域的测试数据集合。
在步骤205中,对于每个协议域分别计算该协议域的测试数据集合。
在本发明的一种实施例中,以协议域fi为例进行说明:
在没有引入启发算子的情况下,将该协议域中的各属性的属性值进行组合运算具体为:
根据笛卡尔乘积公式:1≤i≤n计算面向所述协议域的测试数据集合;其中,Si为协议域fi的测试数据集合,Si中的元素为变异值;Vi1为协议域fi的第1个属性的属性值的集合,为协议域fi的第mi个属性的属性值的集合,n为网络协议P的协议域的个数。Vi1,Vi2,为协议域fi中的各属性的属性值集合。
在引入启发算子的情况下,将该协议域中的各属性的属性值进行组合运算具体为:
根据笛卡尔乘积公式:1≤i≤n计算面向所述协议域的测试数据集合;其中,Si为协议域fi的测试数据集合,Si中的元素为变异值;Vi1为协议域fi的第1个属性的属性值的集合,在本实施例中,为协议域fi中的各属性的过滤后的属性值集合。
步骤206,对每个测试数据集合中的每个变异值,分别利用该变异值替换协议域序组中所述测试数据集合对应的协议域,得到替换后的协议域序组实例。
在步骤206中,以协议域fi为例进行说明:对每个测试数据集合中的每个变异值,分别利用该变异值替换协议域序组中所述测试数据集合对应的协议域具体为:
对第i协议域fi对应的测试数据集合Si中的第j变异值MVij,利用该第j变异值MVij替换协议域序组<f1,f2,…fi…fn>中的第i协议域fi,得到<f1,f2,…MVij…fn>作为替换后的协议域序组实例;1≤j≤qi,qi为Si中的变异值的总个数;1≤i≤n,n为网络协议P的协议域的总个数。
步骤207,根据由所有测试数据集合得到的替换后的协议域序组实例,得到所述网络协议的测试用例。
在本发明的一种实施例中,在对所有协议域进行替换之后,得到的面向目标网络协议的测试用例具体为:
表一
根据表一中生成的测试用例对目标网络进行模糊测试。
本发明还公开了一种网络协议模糊测试的装置,图5是本发明中一种网络协议模糊测试的装置的结构示意图。参见图5所示,该系统包括:
获取模块501,用于获取待测试的网络协议对应的多个协议域,由所述多个协议域构成协议域序组;获取每个协议域的属性和所述属性对应的属性值;
第一运算模块502,用于针对每个协议域,将该协议域中各属性的属性值进行组合运算,得到变异值,由该变异值构成面向所述协议域的测试数据集合;
第二运算模块503,用于针对每个测试数据集合中的每个变异值,分别利用该变异值替换协议域序组中所述测试数据集合对应的协议域,得到替换后的协议域序组实例;
生成模块504,用于根据由所有测试数据集合得到的替换后的协议域序组实例,得到所述网络协议的测试用例。
图6是本发明中一种网络协议模糊测试的装置的详细结构示意图。参见图6所示,该装置进一步包括:过滤模块505;
所述过滤模块505,用于获取启发算子,并根据启发算子对每个属性的属性值进行过滤;
所述第一运算模块502,进一步用于针对每个协议域,将该协议域中各属性的过滤后的属性值进行组合运算,得到变异值。
在本发明的一种实施例中,该装置进一步包括:分类树建立模块506;
所述分类树建立模块506,用于为所述待测试的网络协议建立网络协议分类树,其中,所述网络协议分类树包括作为根节点的待测试的网络协议,从属于根节点的协议域、从属于协议域的属性和从属于所述属性的属性值。
在本发明的一种实施例中,第一运算模块502,用于根据笛卡尔乘积公式:1≤i≤n计算面向所述协议域的测试数据集合;其中,Si为协议域fi的测试数据集合,Si中的元素为变异值;Vi1为协议域fi的第1个属性的属性值的集合,为协议域fi的第mi个属性的属性值的集合,n为网络协议P的协议域的个数。
在本发明的一种实施例中,生成模块504,用于对第i协议域fi对应的测试数据集合Si中的第j变异值MVij,利用该第j变异值MVij替换协议域序组<f1,f2,…fi…fn>中的第i协议域fi,得到<f1,f2,…MVij…fn>作为替换后的协议域序组实例;1≤j≤qi,qi为Si中的变异值的总个数;1≤i≤n,n为网络协议P的协议域的总个数。
综上所述,本发明所提供的技术方案,通过对目标网络协议进行划分,从划分后的协议域中获取相应属性的属性值的集合。通过对每个协议域,将该协议域中各属性的属性值进行组合运算,得到变异值,由该变异值构成面向所述协议域的测试数据集合,再分别利用该变异值替换协议域序组中所述测试数据集合对应的协议域,得到替换后的协议域序组实例。本发明提供的网络协议模糊测试的方法,对模糊测试的测试用例的生成过程进行了优化,提高了自动化过程,减小测试用例生成空间的同时保证了测试用例集的有效率。其有益效果为:解决了传统模糊测试的测试用例生成过程中测试用例集“爆炸式”增长、效率低、测试时间长的缺点。
此外,在本发明所公开的技术方案中,通过基于分类树和启发算子技术,能够对网络协议的协议域进行有目的地划分,为模糊测试的测试用例集生成提供组合依据,并且启发算子的引入可以动态指导智能测试数据的生成,避免了对经验值进行硬编码,同时相比于随机变异生成,它可以剔除掉此过程中的无效数据,从而减小了测试用例的生成空间,有效地减小了“爆炸式”增长的可能性。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (11)

1.一种网络协议模糊测试方法,其特征在于,包括以下步骤:
步骤一、获取待测试的网络协议对应的多个协议域,由所述多个协议域构成协议域序组;
步骤二、获取每个协议域的属性和所述属性对应的属性值;
步骤三、对于每个协议域,将该协议域中的各属性的属性值进行组合运算,得到变异值,由该变异值构成面向所述协议域的测试数据集合;
步骤四、对每个测试数据集合中的每个变异值,分别利用该变异值替换协议域序组中所述测试数据集合对应的协议域,得到替换后的协议域序组实例;
步骤五、根据由所有测试数据集合得到的替换后的协议域序组实例,得到所述网络协议的测试用例。
2.如权利要求1所述的一种网络协议模糊测试方法,其特征在于,在上述方法中,在获取待测试的网络协议对应的多个协议域之前,还包括以下步骤:为所述待测试的网络协议建立网络协议分类树,所述网络协议分类树包括作为根节点的待测试的网络协议,从属于根节点的协议域、从属于协议域的属性和从属于所述属性的属性值。
3.如权利要求1或2所述的一种网络协议模糊测试方法,其特征在于,在上述方法中,在将该协议域中的各属性的属性值进行组合运算之前,还进一步包括以下步骤:获取启发算子,并根据启发算子对每个属性的属性值进行过滤;所述将该协议域中的各属性的属性值进行组合运算包括:将该协议域中的各属性的过滤后的属性值进行组合运算,得到变异值。
4.如权利要求3所述的一种网络协议模糊测试方法,其特征在于,在上述方法中,所述获取启发算子包括:根据所述网络协议的协议规范得到所述启发算子,或是利用第三方工具计算得到所述启发算子。
5.如权利要求1或2或4所述的一种网络协议模糊测试方法,其特征在于,在上述方法中,所述对于每个协议域,将该协议域中的各属性的属性值进行组合运算,得到变异值,由该变异值构成面向所述协议域的测试数据集合包括:根据笛卡尔乘积公式:1≤i≤n计算面向所述协议域的测试数据集合;
其中,Si为协议域fi的测试数据集合,Si中的元素为变异值;Vi1为协议域的第1个属性的属性值的集合,为协议域fi的第mi个属性的属性值的集合,n为网络协议P的协议域的个数。
6.如权利要求1或2或4所述的一种网络协议模糊测试方法,其特征在于,在上述方法中,所述对每个测试数据集合中的每个变异值,分别利用该变异值替换协议域序组中所述测试数据集合对应的协议域,得到替换后的协议域序组实例包括:对第i协议域fi对应的测试数据集合Si中的第j变异值MVij,利用该第j变异值MVij替换协议域序组<f1,f2,…fi…fn>中的第i协议域fi,得到<f1,f2,…MVij…fn>作为替换后的协议域序组实例;1≤j≤qi,qi为Si中的变异值的总个数;1≤i≤n,n为网络协议P的协议域的总个数。
7.一种网络协议模糊测试装置,其特征在于:包括获取模块、第一运算模块、第二运算模块、生成模块;其中,
获取模块,用于获取待测试的网络协议对应的多个协议域,由所述多个协议域构成协议域序组;获取每个协议域的属性和所述属性对应的属性值;
第一运算模块,用于针对每个协议域,将该协议域中各属性的属性值进行组合运算,得到变异值,由该变异值构成面向所述协议域的测试数据集合;
第二运算模块,用于针对每个测试数据集合中的每个变异值,分别利用该变异值替换协议域序组中所述测试数据集合对应的协议域,得到替换后的协议域序组实例;
生成模块,用于根据由所有测试数据集合得到的替换后的协议域序组实例,得到所述网络协议的测试用例。
8.如权利要求7所述的一种网络协议模糊测试装置,其特征在于:上述装置还进一步包括:分类树建立模块,用于为所述待测试的网络协议建立网络协议分类树,其中,所述网络协议分类树包括作为根节点的待测试的网络协议,从属于根节点的协议域、从属于协议域的属性和从属于所述属性的属性值。
9.如权利要求7或8所述的一种网络协议模糊测试装置,其特征在于:上述装置还进一步包括:过滤模块,用于获取启发算子,并根据启发算子对每个属性的属性值进行过滤。
10.如权利要求7或8所述的一种网络协议模糊测试装置,其特征在于:所述第一运算模块,进一步用于针对每个协议域,将该协议域中的各属性的过滤后的属性值进行组合运算,得到面向该协议域的变异值集合。
11.如权利要求7或8所述的一种网络协议模糊测试装置,其特征在于:在上述装置中,所述生成模块用于对第i协议域fi对应的测试数据集合Si中的第j变异值MVij,利用该第j变异值MVij替换协议域序组<f1,f2,…fi…fn>中的第i协议域fi,得到<f1,f2,…MVij…fn>作为替换后的协议域序组实例;1≤j≤qi,qi为Si中的变异值的总个数;1≤i≤n,n为网络协议P的协议域的总个数。
CN201410056869.8A 2014-02-19 2014-02-19 一种网络协议模糊测试方法和装置 Active CN103812729B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410056869.8A CN103812729B (zh) 2014-02-19 2014-02-19 一种网络协议模糊测试方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410056869.8A CN103812729B (zh) 2014-02-19 2014-02-19 一种网络协议模糊测试方法和装置

Publications (2)

Publication Number Publication Date
CN103812729A CN103812729A (zh) 2014-05-21
CN103812729B true CN103812729B (zh) 2017-02-08

Family

ID=50708968

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410056869.8A Active CN103812729B (zh) 2014-02-19 2014-02-19 一种网络协议模糊测试方法和装置

Country Status (1)

Country Link
CN (1) CN103812729B (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105721230B (zh) * 2014-11-30 2017-03-22 中国科学院沈阳自动化研究所 一种面向Modbus协议的模糊测试方法
CN105868095B (zh) * 2015-01-22 2018-11-13 阿里巴巴集团控股有限公司 生成测试数据的方法及设备
CN105988920B (zh) * 2015-02-04 2018-07-24 阿里巴巴集团控股有限公司 一种基于数据集的测试案例生成方法及其装置
CN106557412B (zh) * 2015-09-25 2019-07-05 腾讯科技(深圳)有限公司 一种模糊测试的方法及装置
CN105791032B (zh) * 2016-05-04 2018-12-07 珠海格力电器股份有限公司 智能家电与移动终端之间传输协议的测试方法及装置
CN107241226B (zh) * 2017-06-29 2020-10-16 北京工业大学 基于工控私有协议的模糊测试方法
CN107517199A (zh) * 2017-07-14 2017-12-26 国家电网公司 一种用于376.1 协议安全缺陷检测的测试用例生成方法及系统
CN109347696B (zh) * 2018-09-30 2020-10-20 中国人民解放军国防科技大学 一种基于分级变异的网络协议模糊测试方法
CN111628900B (zh) * 2019-02-28 2023-08-29 西门子股份公司 基于网络协议的模糊测试方法、装置和计算机可读介质
CN110061976B (zh) * 2019-03-29 2021-06-11 中国空间技术研究院 一种基于数据挖掘的未知协议帧序列提取方法及系统
CN110196813B (zh) * 2019-06-06 2023-05-02 北京百度网讯科技有限公司 接口测试方法、装置、设备和介质
CN112699039B (zh) * 2020-12-31 2024-04-16 哈尔滨工业大学 一种基于分类树的测试数据自动生成方法及系统
CN116881058A (zh) * 2023-07-19 2023-10-13 凯云联创(北京)科技有限公司 一种嵌入式设备的模糊测试方法
CN117156022A (zh) * 2023-11-01 2023-12-01 中国电子科技集团公司第三十研究所 一种用于模糊测试的变异数据生成方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101902367A (zh) * 2009-05-31 2010-12-01 西门子(中国)有限公司 一种产生测试用例的方法及装置
CN102624574A (zh) * 2011-01-27 2012-08-01 西门子公司 一种对协议实现进行安全测试的方法及装置
CN103036730A (zh) * 2011-09-29 2013-04-10 西门子公司 一种对协议实现进行安全测试的方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9323597B2 (en) * 2012-08-08 2016-04-26 Peach Fuzzer Llc Flow based fault testing

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101902367A (zh) * 2009-05-31 2010-12-01 西门子(中国)有限公司 一种产生测试用例的方法及装置
CN102624574A (zh) * 2011-01-27 2012-08-01 西门子公司 一种对协议实现进行安全测试的方法及装置
CN103036730A (zh) * 2011-09-29 2013-04-10 西门子公司 一种对协议实现进行安全测试的方法及装置

Also Published As

Publication number Publication date
CN103812729A (zh) 2014-05-21

Similar Documents

Publication Publication Date Title
CN103812729B (zh) 一种网络协议模糊测试方法和装置
CN108234463A (zh) 一种基于多维行为模型的用户风险评估与分析方法
CN104572831B (zh) 高速列车需求数据的处理方法及装置
CN105893637A (zh) 大规模微博异构信息网络中的链接预测方法
CN103593703A (zh) 基于遗传算法的神经网络优化系统及方法
CN102830626A (zh) 基于故障树的多层次电力系统故障诊断系统
CN104182539B (zh) 异常信息批量处理的方法及系统
CN103793747B (zh) 网络内容安全管理中一种敏感信息模板构建方法
CN105912721B (zh) Rdf数据分布式语义并行推理方法
Cai et al. Cooperative coevolution with knowledge-based dynamic variable decomposition for bilevel multiobjective optimization
CN115099557A (zh) 一种基于智能监测智能电网分析方法
Yadahalli et al. Adaboost based parameterized methods for wireless sensor networks
CN108446712A (zh) Odn网智能规划方法、装置及系统
Lu et al. Discovering hierarchical processes using flexible activity trees for event abstraction
CN106940711A (zh) 一种url检测方法及检测装置
CN106685707A (zh) 一种分布式基础设施系统中的资产信息控制方法
CN103957119B (zh) 一种采用mib文件对网络设备进行管理的方法及浏览器
CN111428821A (zh) 一种基于决策树的资产分类方法
CN108205727A (zh) 一种基于决策树和专家系统的数字化车间工艺决策方法
Ren et al. Identify influential spreaders in complex networks based on potential edge weights
Zhang et al. Recursive weighted treelike networks
CN104573916B (zh) 一种技术指标实例生成方法及装置
Brede Small worlds in space: synchronization, spatial and relational modularity
CN114511060A (zh) 基于自编码器和生成对抗网络的属性补全和网络表示方法
CN110535728A (zh) 一种网络流量感知方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant