【技术实现步骤摘要】
本专利技术属于软件安全
,涉及一种网络协议模糊测试方法和装置。
技术介绍
网络协议模糊测试对安全研究者来说是最感兴趣的模糊测试类型,不仅因为所发现的漏洞通常具有较高级别的危险程度,而且还由于网络协议在互联网通信中被广泛应用,一旦被发现漏洞,受到威胁的范围将会很广。网络协议模糊测试用例生成方法是模糊测试过程中非常关键的环节,测试用例的生成和选择直接影响模糊测试的质量。在模糊测试方面,现有技术中通过将多个测试用例输入待测目标,根据响应信息对测试用例进行分类,再分别生成不同分类的新测试用例。或者,利用遗传算法对模糊测试过程中的第一代初始群体和下一代群体进行一系列的选择、变异、淘汰操作。在测试用例集缩减方面,现有技术中通过对测试用例集进行0-1编码,通过粒子群算法得到对测试需求集覆盖度大且冗余度小的测试用例集达到测试用例集缩减的目的。或者在获得程序源代码的情况下,利用程序的不变量对测试用例进行过滤,以降低生成的测试用例集的冗余率。现有的测试用例缩减技术更多的是针对有程序源代码的情况,这样的方法并不适用于网络协议模糊测试,比如利用程序的不变量对测试用例进行缩减,它的前提条件是要获得程序的源代码,这在网络协议模糊测试过程中是不可能达到的。成型的网络协议模糊器虽然能够进行网络协议模糊测试,但是在测试过程中由于采用硬编码方法,导致测试用例集不够智能化,不能针对不同的待测目标动态地生成测试用例,此外机械式地随 ...
【技术保护点】
一种网络协议模糊测试方法,其特征在于,包括以下步骤:步骤一、获取待测试的网络协议对应的多个协议域,由所述多个协议域构成协议域序组;步骤二、获取每个协议域的属性和所述属性对应的属性值;步骤三、对于每个协议域,将该协议域中的各属性的属性值进行组合运算,得到变异值,由该变异值构成面向所述协议域的测试数据集合;步骤四、对每个测试数据集合中的每个变异值,分别利用该变异值替换协议域序组中所述测试数据集合对应的协议域,得到替换后的协议域序组实例;步骤五、根据由所有测试数据集合得到的替换后的协议域序组实例,得到所述网络协议的测试用例。
【技术特征摘要】
1.一种网络协议模糊测试方法,其特征在于,包括以下步骤:
步骤一、获取待测试的网络协议对应的多个协议域,由所述多个协议域构
成协议域序组;
步骤二、获取每个协议域的属性和所述属性对应的属性值;
步骤三、对于每个协议域,将该协议域中的各属性的属性值进行组合运算,
得到变异值,由该变异值构成面向所述协议域的测试数据集合;
步骤四、对每个测试数据集合中的每个变异值,分别利用该变异值替换协
议域序组中所述测试数据集合对应的协议域,得到替换后的协议域序组实例;
步骤五、根据由所有测试数据集合得到的替换后的协议域序组实例,得到
所述网络协议的测试用例。
2.如权利要求1所述的一种网络协议模糊测试方法,其特征在于,在上
述方法中,在获取待测试的网络协议对应的多个协议域之前,还包括以下步骤:
为所述待测试的网络协议建立网络协议分类树,所述网络协议分类树包括作为
根节点的待测试的网络协议,从属于根节点的协议域、从属于协议域的属性和
从属于所述属性的属性值。
3.如权利要求1或2所述的一种网络协议模糊测试方法,其特征在于,
在上述方法中,在将该协议域中的各属性的属性值进行组合运算之前,还进一
步包括以下步骤:获取启发算子,并根据启发算子对每个属性的属性值进行过
滤;所述将该协议域中的各属性的属性值进行组合运算包括:将该协议域中的
各属性的过滤后的属性值进行组合运算,得到变异值。
4.如权利要求3所述的一种网络协议模糊测试方法,其特征在于,在上
述方法中,所述获取启发算子包括:根据所述网络协议的协议规范得到所述启
发算子,或是利用第三方工具计算得到所述启发算子。
5.如权利要求1或2或4所述的一种网络协议模糊测试方法,其特征在
于,在上述方法中,所述对于每个协议域,将该协议域中的各属性的属性值进
行组合运算,得到变异值,由该变异值构成面向所述协议域的测试数据集合包
括:根据笛卡尔乘积公式:1≤i≤n计算面向所述协议域的测
试数据集合;
其中,Si为协议域fi的测试数据集合,Si中的元素为变异值;Vi1为协议域
\t的第1个属性的属性值的集合,为协议域fi的第mi个属性的属性值的集合,
n为网络协议P的协议域的个数。
6.如权利要求1或2或4所述的一种网络协议模糊测试方法,其特征在
于,在上述方法中,所述对每个测试数据集合中的每个变异值,分别利用该变
异值替换协议域序组中所述测试数据集合对应的协议域,得到替换后的协...
【专利技术属性】
技术研发人员:胡昌振,马锐,纪文东,赵小林,薛静锋,
申请(专利权)人:北京理工大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。