一种网络协议模糊测试方法和装置制造方法

文档序号:7797185阅读:190来源:国知局
一种网络协议模糊测试方法和装置制造方法
【专利摘要】本发明提供了一种网络协议模糊测试方法和装置,能够解决现有的对网络协议进行模糊测试方式中存在的测试用例集不够智能化,以及会产生大量冗余测试用例的缺陷。步骤一、获取待测试的网络协议对应的多个协议域,由所述多个协议域构成协议域序组;步骤二、获取每个协议域的属性和所述属性对应的属性值;步骤三、对于每个协议域,将该协议域中的各属性的属性值进行组合运算,得到变异值,由该变异值构成面向所述协议域的测试数据集合;步骤四、对每个测试数据集合中的每个变异值,分别利用该变异值替换协议域序组中所述测试数据集合对应的协议域,得到替换后的协议域序组实例;步骤五、根据由所有测试数据集合得到的替换后的协议域序组实例,得到所述网络协议的测试用例。
【专利说明】一种网络协议模糊测试方法和装置
【技术领域】
[0001]本发明属于软件安全【技术领域】,涉及一种网络协议模糊测试方法和装置。
【背景技术】
[0002]网络协议模糊测试对安全研究者来说是最感兴趣的模糊测试类型,不仅因为所发现的漏洞通常具有较高级别的危险程度,而且还由于网络协议在互联网通信中被广泛应用,一旦被发现漏洞,受到威胁的范围将会很广。网络协议模糊测试用例生成方法是模糊测试过程中非常关键的环节,测试用例的生成和选择直接影响模糊测试的质量。
[0003]在模糊测试方面,现有技术中通过将多个测试用例输入待测目标,根据响应信息对测试用例进行分类,再分别生成不同分类的新测试用例。或者,利用遗传算法对模糊测试过程中的第一代初始群体和下一代群体进行一系列的选择、变异、淘汰操作。在测试用例集缩减方面,现有技术中通过对测试用例集进行0-1编码,通过粒子群算法得到对测试需求集覆盖度大且冗余度小的测试用例集达到测试用例集缩减的目的。或者在获得程序源代码的情况下,利用程序的不变量对测试用例进行过滤,以降低生成的测试用例集的冗余率。
[0004]现有的测试用例缩减技术更多的是针对有程序源代码的情况,这样的方法并不适用于网络协议模糊测试,比如利用程序的不变量对测试用例进行缩减,它的前提条件是要获得程序的源代码,这在网络协议模糊测试过程中是不可能达到的。成型的网络协议模糊器虽然能够进行网络协议模糊测试,但是在测试过程中由于采用硬编码方法,导致测试用例集不够智能化,不能针对不同的待测目标动态地生成测试用例,此外机械式地随机变异会产生大量冗余测试用例。
[0005]综上所述,现有的对网络协议进行模糊测试的方式,存在测试用例集不够智能化,以及会产生大量冗余测试用例的缺陷。

【发明内容】

[0006]本发明提供了一种网络协议模糊测试方法和装置,能够解决现有的对网络协议进行模糊测试方式中存在的测试用例集不够智能化,以及会产生大量冗余测试用例的缺陷。
[0007]一种网络协议模糊测试方法,包括以下步骤:
[0008]步骤一、获取待测试的网络协议对应的多个协议域,由所述多个协议域构成协议域序组;
[0009]步骤二、获取每个协议域的属性和所述属性对应的属性值;
[0010]步骤三、对于每个协议域,将该协议域中的各属性的属性值进行组合运算,得到变异值,由该变异值构成面向所述协议域的测试数据集合;
[0011]步骤四、对每个测试数据集合中的每个变异值,分别利用该变异值替换协议域序组中所述测试数据集合对应的协议域,得到替换后的协议域序组实例;
[0012]步骤五、根据由所有测试数据集合得到的替换后的协议域序组实例,得到所述网络协议的测试用例。[0013]在上述方法中,在获取待测试的网络协议对应的多个协议域之前,还包括以下步骤:为所述待测试的网络协议建立网络协议分类树,所述网络协议分类树包括作为根节点的待测试的网络协议,从属于根节点的协议域、从属于协议域的属性和从属于所述属性的
属性值。
[0014]在上述方法中,在将该协议域中的各属性的属性值进行组合运算之前,还进一步包括以下步骤:获取启发算子,并根据启发算子对每个属性的属性值进行过滤;所述将该协议域中的各属性的属性值进行组合运算包括:将该协议域中的各属性的过滤后的属性值进行组合运算,得到变异值。
[0015]在上述方法中,所述获取启发算子包括:根据所述网络协议的协议规范得到所述启发算子;或是利用第三方工具计算得到所述启发算子。
[0016]在上述方法中,所述对于每个协议域,将该协议域中的各属性的属性值进行组合运算,得到变异值,由该变异值构成面向所述协议域的测试数据集合包括:根据笛卡尔乘积公式Wl2x...xV,mi≤η计算面向所述协议域的测试数据集合;
[0017]其中,Si为协议域的测试数据集合,Si中的元素为变异值Wil为协议域的第I个属性的属性值的集合,U?,为协议域A的第Hii个属性的属性值的集合,η为网络协议P的协议域的个数。
[0018]在上述方法中,所述对每个测试数据集合中的每个变异值,分别利用该变异值替换协议域序组中所述测试数据集合对应的协议域,得到替换后的协议域序组实例包括:对第i协议域A对应的测试数据集合Si中的第j变异值MVU,利用该第j变异值MVu替换协议域序组
【权利要求】
1.一种网络协议模糊测试方法,其特征在于,包括以下步骤: 步骤一、获取待测试的网络协议对应的多个协议域,由所述多个协议域构成协议域序组; 步骤二、获取每个协议域的属性和所述属性对应的属性值; 步骤三、对于每个协议域,将该协议域中的各属性的属性值进行组合运算,得到变异值,由该变异值构成面向所述协议域的测试数据集合; 步骤四、对每个测试数据集合中的每个变异值,分别利用该变异值替换协议域序组中所述测试数据集合对应的协议域,得到替换后的协议域序组实例; 步骤五、根据由所有测试数据集合得到的替换后的协议域序组实例,得到所述网络协议的测试用例。
2.如权利要求1所述的一种网络协议模糊测试方法,其特征在于,在上述方法中,在获取待测试的网络协议对应的多个协议域之前,还包括以下步骤:为所述待测试的网络协议建立网络协议分类树,所述网络协议分类树包括作为根节点的待测试的网络协议,从属于根节点的协议域、从属于协议域的属性和从属于所述属性的属性值。
3.如权利要求1或2所述的一种网络协议模糊测试方法,其特征在于,在上述方法中,在将该协议域中的各属性的属性值进行组合运算之前,还进一步包括以下步骤:获取启发算子,并根据启发算子对每个属性的属性值进行过滤;所述将该协议域中的各属性的属性值进行组合运算包括:将该协议域中的各属性的过滤后的属性值进行组合运算,得到变异值。
4.如权利要求3所述的一种网络协议模糊测试方法,其特征在于,在上述方法中,所述获取启发算子包括:根据所述网络协议的协议规范得到所述启发算子,或是利用第三方工具计算得到所述启发算子。
5.如权利要求1或2或4所述的一种网络协议模糊测试方法,其特征在于,在上述方法中,所述对于每个协议域,将该协议域中的各属性的属性值进行组合运算,得到变异值,由该变异值构成面向所述协议域的测试数据集合包括:根据笛卡尔乘积公式:
6.如权利要求1或2或4所述的一种网络协议模糊测试方法,其特征在于,在上述方法中,所述对每个测试数据集合中的每个变异值,分别利用该变异值替换协议域序组中所述测试数据集合对应的协议域,得到替换后的协议域序组实例包括:对第i协议域对应的测试数据集合Si中的第j变异值MVU,利用该第j变异值MVu替换协议域序组<f1; f2,…f/..fn>中的第i协议域fi,得到〈4,匕…MVyfn>作为替换后的协议域序组实例;1≤j≤qi;Qi为Si中的变异值的总个数;1 ≤ i≤η,η为网络协议P的协议域的总个数。
7.—种网络协议模糊测试装置,其特征在于:包括获取模块、第一运算模块、第二运算模块、生成模块;其中, 获取模块,用于获取待测试的网络协议对应的多个协议域,由所述多个协议域构成协议域序组;获取每个协议域的属性和所述属性对应的属性值; 第一运算模块,用于针对每个协议域,将该协议域中各属性的属性值进行组合运算,得到变异值,由该变异值构成面向所述协议域的测试数据集合; 第二运算模块,用于针对每个测试数据集合中的每个变异值,分别利用该变异值替换协议域序组中所述测试数据集合对应的协议域,得到替换后的协议域序组实例; 生成模块,用于根据由所有测试数据集合得到的替换后的协议域序组实例,得到所述网络协议的测试用例。
8.如权利要求7所述的一种网络协议模糊测试装置,其特征在于:上述装置还进一步包括:分类树建立模块,用于为所述待测试的网络协议建立网络协议分类树,其中,所述网络协议分类树包括作为根节点的待测试的网络协议,从属于根节点的协议域、从属于协议域的属性和从属于所述属性的属性值。
9.如权利要求7或8所述的一种网络协议模糊测试装置,其特征在于:上述装置还进一步包括:过滤模块,用于获取启发算子,并根据启发算子对每个属性的属性值进行过滤。
10.如权利要求7或8所述的一种网络协议模糊测试装置,其特征在于:所述第一运算模块,进一步用于针对每个协议域,将该协议域中的各属性的过滤后的属性值进行组合运算,得到面向该协议域的变异值集合。
11.如权利要求7或8所述的一种网络协议模糊测试装置,其特征在于:在上述装置中,所述生成模块用于对第i协议域f i对应的测试数据集合Si中的第j变异值MVu,利用该第j变异值MVij替换协议域序组<f1; f2,…fV"fn>中的第i协议域A,得到<f1; f2,…MVij-fn>作为替换后的协议域序组实例;1≤j≤qi; qi为Si中的变异值的总个数;1≤i≤n,η为网络协议P的协议域的总个数。
【文档编号】H04L12/26GK103812729SQ201410056869
【公开日】2014年5月21日 申请日期:2014年2月19日 优先权日:2014年2月19日
【发明者】胡昌振, 马锐, 纪文东, 赵小林, 薛静锋 申请人:北京理工大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1