一种用于协议模糊测试过程中的协议适配方法与流程

文档序号:33641574发布日期:2023-03-29 02:14阅读:43来源:国知局
一种用于协议模糊测试过程中的协议适配方法与流程

1.本发明涉及模糊测试技术领域,具体是指一种用于协议模糊测试过程中的协议适配方法。


背景技术:

2.模糊测试(fuzz testing)是一种自动化的软件测试技术,最初由威斯康辛大学的巴顿
·
米勒于1989年提出的,通常用于识别程序中或代码中的潜在漏洞。
3.模糊测试的核心是自动或半自动的生成随机数据输入到应用程序中,同时监控程序的异常情况,如崩溃、代码断言失败,以此发现可能的程序错误,如内存泄漏。
4.模糊化是指自动生成和执行测试,随机数据的类型包括:超长字符串;随机数如负数,浮点数,超大数、特殊字符如~!@#$%等包含特殊含义的字符,作为输入可能会引发报错,以及其他类型的输入。
5.目前模糊测试应用广泛,如通信、计算机软件、工控设备等诸多领域。
6.然而,目前针对协议的模糊测试却较为少见。由于目前协议的种类繁多,除公开的标准协议外,各种定制化的私有协议层出不穷。要实现针对协议的自动化模糊测试系统,则需要对种类繁多的协议进行适配。
7.在原有的方案中(如附图1所示),在畸形数据生成后,选择器需要选择与被测协议一一对应的通信模块,所以需要针对每一种协议都进行通信模块的开发,工作量巨大,耗时费力。如果是具有隐私性和保密性的私有协议,则需要获取协议的大量信息才能进行通信模块的开发,违背其基本性质。


技术实现要素:

8.本发明要解决的技术问题是克服以上的技术缺陷,提供一种用于协议模糊测试过程中的协议适配方法,来解决模糊测试系统需要适配大量不同协议的问题。
9.为解决上述技术问题,本发明提供的技术方案为:
10.一种用于协议模糊测试过程中的协议适配方法,具体包括以下步骤:
11.步骤一、对每种协议进行调研,探究每种协议的通信方式;
12.步骤二、根据通信方式对每种协议进行分类;
13.步骤三、针对每种通信方式类别进行对应通信模块的开发;
14.步骤四、采用模糊测试系统生成畸形数据;
15.步骤五、定义选择器,由选择器选择该协议对应的通信模块。
16.进一步地,所述步骤四中的模糊测试系统包括种子分发模块、变异模块、通信模块、管理节点以及测试节点;
17.所述种子分发模块用于在测试节点分发随机种子;
18.所述变异模块用于生成畸形数据,且数据的生成规则能够进行指定;
19.所述通信模块用于将数据发送给目标程序;
20.所述管理节点用于负责管理若干个测试节点。
21.本发明与现有技术相比的优点在于:本申请仅需要对不同协议的通信方式进行归类,按不同的通信方式类别进行通信模块的开发,让整个系统可以自行适配新型协议。并且对于具有隐私性和保密性的私有协议,仅需要进行通信方式的适配,不会涉及到具体的协议本身涉密部分。而且本方法可以极大的减少开发人员的工作量,显著提升工作效率。
附图说明
22.图1是现有技术中的协议适配方法。
23.图2是本申请用于协议模糊测试过程中的协议适配方法的原理图。
具体实施方式
24.下面结合附图对本发明做进一步的详细说明。
25.下面结合附图来进一步说明本发明的具体实施方式。其中相同的零部件用相同的附图标记表示。
26.需要说明的是,下面描述中使用的词语“前”、“后”、“左”、“右”、“上”和“下”指的是附图中的方向,词语“内”和“外”分别指的是朝向或远离特定部件几何中心的方向。
27.为了使本发明的内容更容易被清楚地理解,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
28.结合附图,一种用于协议模糊测试过程中的协议适配方法,具体包括以下步骤:
29.步骤一、对每种协议进行调研,探究每种协议的通信方式;
30.步骤二、根据通信方式对每种协议进行分类;
31.步骤三、针对每种通信方式类别进行对应通信模块的开发;
32.步骤四、采用模糊测试系统生成畸形数据;
33.步骤五、定义选择器,由选择器选择该协议对应的通信模块。
34.在一个实施例中,所述步骤四中的模糊测试系统包括种子分发模块、变异模块、通信模块、管理节点以及测试节点;
35.种子分发模块用于在测试节点分发随机种子;
36.变异模块用于生成畸形数据,且数据的生成规则能够进行指定;
37.通信模块用于将数据发送给目标程序;
38.管理节点用于负责管理若干个测试节点。
39.工作原理:本申请仅需要对不同协议的通信方式进行归类,按不同的通信方式类别进行通信模块的开发,让整个系统可以自行适配新型协议。并且对于具有隐私性和保密性的私有协议,仅需要进行通信方式的适配,不会涉及到具体的协议本身涉密部分。
40.以上对本发明及其实施方式进行了描述,这种描述没有限制性,附图中所示的也只是本发明的实施方式之一,实际的结构并不局限于此。总而言之如果本领域的普通技术人员受其启示,在不脱离本发明创造宗旨的情况下,不经创造性的设计出与该技术方案相似的结构方式及实施例,均应属于本发明的保护范围。


技术特征:
1.一种用于协议模糊测试过程中的协议适配方法,其特征在于,具体包括以下步骤:步骤一、对每种协议进行调研,探究每种协议的通信方式;步骤二、根据通信方式对每种协议进行分类;步骤三、针对每种通信方式类别进行对应通信模块的开发;步骤四、采用模糊测试系统生成畸形数据;步骤五、定义选择器,由选择器选择该协议对应的通信模块。2.根据权利要求1所述的一种分布式网络协议测试方法,其特征在于,所述步骤四中的模糊测试系统包括种子分发模块、变异模块、通信模块、管理节点以及测试节点;所述种子分发模块用于在测试节点分发随机种子;所述变异模块用于生成畸形数据,且数据的生成规则能够进行指定;所述通信模块用于将数据发送给目标程序;所述管理节点用于负责管理若干个测试节点。

技术总结
本发明公开了一种用于协议模糊测试过程中的协议适配方法,具体包括以下步骤:步骤一、对每种协议进行调研,探究每种协议的通信方式;步骤二、根据通信方式对每种协议进行分类;步骤三、针对每种通信方式类别进行对应通信模块的开发;步骤四、采用模糊测试系统生成畸形数据;步骤五、定义选择器,由选择器选择该协议对应的通信模块。本发明与现有技术相比的优点在于:本申请仅需要对不同协议的通信方式进行归类,按不同的通信方式类别进行通信模块的开发,让整个系统可以自行适配新型协议。并且对于具有隐私性和保密性的私有协议,仅需要进行通信方式的适配,不会涉及到具体的协议本身涉密部分。密部分。密部分。


技术研发人员:周鹏 沈凯文 李政博 崔卓 李唯
受保护的技术使用者:北京云起无垠科技有限公司
技术研发日:2022.11.07
技术公布日:2023/3/28
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1