System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 基于包序列变异的模糊测试系统及测试方法技术方案_技高网

基于包序列变异的模糊测试系统及测试方法技术方案

技术编号:44160779 阅读:0 留言:0更新日期:2025-01-29 10:31
本发明专利技术提供了一种基于包序列变异的模糊测试系统及测试方法,涉及模糊测试技术领域,该系统包括:协议客户端、协议代理服务器和突变器;协议客户端发起会话以连接协议代理服务器,生成会话过程的协议包序列,并将该协议包序列发送至协议代理服务器;协议代理服务器响应协议客户端发起的会话,并接收协议包序列转发至突变器;突变器获取协议包序列,并分别进行包突变和包序列突变处理,得到包突变测试用例和包序列突变测试用例;协议代理服务器调用突变器获取包突变测试用例和包序列突变测试用例,并将包突变测试用例和包序列突变测试用例发送给待测试目标,以由待测试目标进行测试。本方案能够解决适配难度大、测试效果不佳的问题。

【技术实现步骤摘要】

本专利技术涉及模糊测试,特别涉及一种基于包序列变异的模糊测试系统及测试方法


技术介绍

1、模糊测试技术又称为fuzz技术,是一种对二进制软件进行安全性测试的有效方法,普遍应用于文档处理软件、浏览器、网络服务等多种应用软件的安全性测试中。

2、目前的协议模糊测试方案主要是生成式测试方案,即通过对协议标准进行分析,抽离协议字段模型,对所有字段定义变异策略,生成测试用例,然后再由开发包器对测试目标进行测试。然而,该方式不仅测试效果完全取决于协议模型的质量以及字段变异策略的复杂程度,而且该方式需要人工抽离协议模型,难度较高、通用性较差;此外,现有的协议模糊测试方式通常仅对字段构建变异策略,即一般只能对单一字段进行策略定义,未充分考虑多字段协同变异的情况,导致大量测试用例简单,仅能在协议一致性测试阶段发挥一定的作用,整体的测试效果不佳。


技术实现思路

1、有鉴于此,针对以上不足,有必要提出一种基于包序列变异的模糊测试系统及测试方法,以解决适配难度大、测试效果不佳的问题。

2、第一方面,本专利技术提供了一种基于包序列变异的模糊测试系统,包括:协议客户端、协议代理服务器和突变器;

3、所述协议客户端,用于发起会话以连接所述协议代理服务器;以及,生成会话过程的协议包序列,并将该协议包序列发送至所述协议代理服务器;

4、所述协议代理服务器,用于响应所述协议客户端发起的会话,并接收所述协议包序列,以及将协议包序列转发至所述突变器;

5、所述突变器,用于获取来自所述协议代理服务器的协议包序列,并对该协议包序列分别进行包突变和包序列突变处理,得到包突变测试用例和包序列突变测试用例;

6、所述协议代理服务器,还用于调用所述突变器,并获取所述包突变测试用例和包序列突变测试用例;以及,将所述包突变测试用例和包序列突变测试用例发送给待测试目标,以由待测试目标进行测试。

7、优选的,所述协议客户端满足:该协议客户端支持的协议能够同样被所述待测试目标所支持。

8、优选的,当所述待测试目标同时支持多种协议时,所述协议客户端包括多个,且支持不同协议,以用于生成针对待测试目标所支持的每一种协议的包突变测试用例和包序突变列测试用例,并利用每一种协议所对应的包突变测试用例和包序列突变测试用例依次对待测试目标进行测试。

9、优选的,所述突变器包括包突变器和包序列突变器;

10、所述包突变器,用于对所述协议包序列中的报文字段或结构进行突变,得到包突变测试用例;

11、所述包序列突变器,用于对协议包序列中的报文序列整体进行突变,得到包序列突变测试用例;

12、所述协议代理服务器,用于分别调用包突变器和包序列突变器,并获取包突变测试用例和包序列突变测试用例。

13、优选的,所述包序列突变器在对协议包序列中的报文序列整体进行突变时,通过增加报文序列、删除报文序列和乱序报文序列的至少一种方式,对所述协议包序列进行突变。

14、优选的,所述包序列突变器在对协议包序列中的报文序列整体进行突变之前,对所述协议包序列进行存储记录。

15、优选的,所述协议代理服务器还用于接收所述待测试目标返回的测试目标数据,并将该测试目标数据转发给所述协议客户端。

16、第二方面,本专利技术提供了一种基于包序列变异的模糊测试方法,该测试方法的实施主体为如第一方面所述的基于包序列变异的模糊测试系统,该方法包括如下步骤:

17、利用协议客户端向协议代理服务器发起会话,以连接协议代理服务器;

18、利用协议客户端生成会话过程的协议包序列,并将该协议包序列发送至协议代理服务器;

19、利用协议代理服务器响应所述协议客户端发起的会话;

20、利用所述协议代理服务器接收协议包序列,并将该协议包序列转发至突变器;

21、利用突变器获取来自协议代理服务器的协议包序列;

22、利用突变器对所述协议包序列分别进行包突变处理和包序列突变处理,得到包突变测试用例和包序列突变测试用例;

23、利用协议代理服务器调用所述突变器,并获取包突变测试用例和包序列突变测试用例;

24、利用协议代理服务器将包突变测试用例和包序列突变测试用例发送给待测试目标,以由待测试目标进行测试。

25、优选的,当所述待测试目标支持多种协议时,利用支持不同协议的协议客户端生成协议包序列,并针对每一种协议的协议包序列通过突变器进行突变处理,得到对应待测试目标所支持的每种协议的包突变测试用例和包序列突变测试用例,以对待测试目标所支持的每种协议进行测试。

26、优选的,所述利用突变器对所述协议包序列分别进行包突变处理和包序列突变处理,包括:

27、利用包突变器对协议包序列中的报文字段或结构进行突变,得到包突变测试用例;以及,

28、利用包序列突变器对协议包序列中的报文序列整体进行突变,得到包序列突变测试用例;

29、所述利用协议代理服务器调用所述突变器并获取包突变测试用例和包序列突变测试用例,包括:

30、利用所述协议代理服务器分别调用包突变器和包序列突变器,以获取包突变测试用例和包序列突变测试用例。

31、由上述技术方案可知,本专利技术实施例提供的基于包序列变异的模糊测试系统及测试方法中,该系统包括了协议客户端、协议代理服务器和突变器,协议客户端可以向协议代理服务器发起会话来连接协议代理服务器,同时协议客户端会生成会话过程的协议包序列,并将生成的协议包序列发送给协议代理服务器;协议代理服务器会对协议客户端发起的会话作响应,然后接收协议包序列,并将该协议包序列转发给突变器;突变器获取到来自协议代理服务器的协议包序列后会分别对协议包序列进行包突变处理和包序列突变处理,从而得到包突变测试用例和包序列突变测试用例;进一步,协议代理服务器通过调用突变器获取包突变测试用例和包序列突变测试用例,并将其发送给待测试目标,以由待测试目标进行测试。由此可见,本方案通过协议代理服务器获取协议包序列,不需要人工解构协议模型,适配难度大幅降低。而且本方案在传统包突变的基础上,进一步增加了对整个包序列的突变策略,从会话层面充分考虑了多字段协同变异的情况,从而能够大大提高触发测试目标深层次状态的几率,增强测试效果。

本文档来自技高网...

【技术保护点】

1.一种基于包序列变异的模糊测试系统,其特征在于,包括:协议客户端、协议代理服务器和突变器;

2.根据权利要求1所述的基于包序列变异的模糊测试系统,其特征在于,所述协议客户端满足:该协议客户端支持的协议能够同样被所述待测试目标所支持。

3.根据权利要求2所述的基于包序列变异的模糊测试系统,其特征在于,当所述待测试目标同时支持多种协议时,所述协议客户端包括多个,且支持不同协议,以用于生成针对待测试目标所支持的每一种协议的包突变测试用例和包序突变列测试用例,并利用每一种协议所对应的包突变测试用例和包序列突变测试用例依次对待测试目标进行测试。

4.根据权利要求1所述的基于包序列变异的模糊测试系统,其特征在于,所述突变器包括包突变器和包序列突变器;

5.根据权利要求4所述的基于包序列变异的模糊测试系统,其特征在于,所述包序列突变器在对协议包序列中的报文序列整体进行突变时,通过增加报文序列、删除报文序列和乱序报文序列的至少一种方式,对所述协议包序列进行突变。

6.根据权利要求4所述的基于包序列变异的模糊测试系统,其特征在于,所述包序列突变器在对协议包序列中的报文序列整体进行突变之前,对所述协议包序列进行存储记录。

7.根据权利要求1至6中任一所述的基于包序列变异的模糊测试系统,其特征在于,所述协议代理服务器还用于接收所述待测试目标返回的测试目标数据,并将该测试目标数据转发给所述协议客户端。

8.一种基于包序列变异的模糊测试方法,其特征在于,该测试方法的实施主体为如权利要求1-7所述的基于包序列变异的模糊测试系统,该方法包括如下步骤:

9.根据权利要求8所述的基于包序列变异的模糊测试方法,其特征在于,当所述待测试目标支持多种协议时,利用支持不同协议的协议客户端生成协议包序列,并针对每一种协议的协议包序列通过突变器进行突变处理,得到对应待测试目标所支持的每种协议的包突变测试用例和包序列突变测试用例,以对待测试目标所支持的每种协议进行测试。

10.根据权利要求8所述的基于包序列变异的模糊测试方法,其特征在于,所述利用突变器对所述协议包序列分别进行包突变处理和包序列突变处理,包括:

...

【技术特征摘要】

1.一种基于包序列变异的模糊测试系统,其特征在于,包括:协议客户端、协议代理服务器和突变器;

2.根据权利要求1所述的基于包序列变异的模糊测试系统,其特征在于,所述协议客户端满足:该协议客户端支持的协议能够同样被所述待测试目标所支持。

3.根据权利要求2所述的基于包序列变异的模糊测试系统,其特征在于,当所述待测试目标同时支持多种协议时,所述协议客户端包括多个,且支持不同协议,以用于生成针对待测试目标所支持的每一种协议的包突变测试用例和包序突变列测试用例,并利用每一种协议所对应的包突变测试用例和包序列突变测试用例依次对待测试目标进行测试。

4.根据权利要求1所述的基于包序列变异的模糊测试系统,其特征在于,所述突变器包括包突变器和包序列突变器;

5.根据权利要求4所述的基于包序列变异的模糊测试系统,其特征在于,所述包序列突变器在对协议包序列中的报文序列整体进行突变时,通过增加报文序列、删除报文序列和乱序报文序列的至少一种方式,对所述协议包序列进行突变。

6.根据权利要求4所述的基于包...

【专利技术属性】
技术研发人员:张翔王峰李兴华张爽段文奇查娟娟
申请(专利权)人:国网宁夏电力有限公司电力科学研究院
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1