一种扩展PEACH平台同时测试多个网络报文字段的方法.pdf

上传人:Y94****206 文档编号:4054815 上传时间:2018-08-13 格式:PDF 页数:9 大小:861.15KB
返回 下载 相关 举报
摘要
申请专利号:

CN201410748856.7

申请日:

2014.12.09

公开号:

CN104517056A

公开日:

2015.04.15

当前法律状态:

撤回

有效性:

无权

法律详情:

发明专利申请公布后的视为撤回IPC(主分类):G06F 21/57申请公布日:20150415|||实质审查的生效IPC(主分类):G06F 21/57申请日:20141209|||公开

IPC分类号:

G06F21/57(2013.01)I

主分类号:

G06F21/57

申请人:

北京邮电大学

发明人:

张华; 张钊; 赵凯; 温巧燕

地址:

100876北京市海淀区西土城路10号

优先权:

专利代理机构:

代理人:

PDF下载: PDF下载
内容摘要

本发明公开了一种扩展Peach平台同时测试多个网络报文字段的方法,该方法:取消了原有Peach最多只能同时测试5个字段的限制;提出递增式的字段组合测试方法,即同时对1个字段、2个字段…n-1个字段、n个字段进行测试;针对组合过程中产生的大量测试用例与有限测试时间的矛盾,即“组合爆炸”问题,允许测试人员在PitFile中标签里设置不同级别的测试用例生成条件,有效地限制其产生的数量,从而生成更具有针对性的测试用例,极大地提高了协议安全专家的测试效率。对于熟悉Peach平台的安全专家而言,本发明简单有效,便于实施操作。

权利要求书

权利要求书
1.  一种扩展Peach平台同时测试多个网络报文字段的方法,其特征在于,包括:打破Peach本身最多只能同时测试5个报文字段的限制;提出递增式的多字段组合测试策略,即同时测试1个字段、2个字段……n-1个字段、n个字段;描述为Peach增加自定义策略的实现方法;详细地描述了组合测试用例的生成规则及实现方法。
针对组合过程中产生大量测试用例与有限测试时间矛盾的问题,通过在PitFile文件中的<Strategy>标签里设置测试用例生成条件的方式,不但能够产生更有针对性的测试用例,而且也限制了测试用例的数量级别。

2.  根据权利要求1所述的方法,其特征在于,还包括:如果<Strategy>标签中的参数设置不符合要求,则Combination策略会给出相应的错误提示以及错误原因。

3.  根据权利要求1所述的方法,其特征在于,还包括:扩展Peach测试策略的方法,即在原有RandomDeterministic、Sequential和Random策略基础上,新增本发明自定义的Combination策略。

4.  根据权利要求1所述的方法,其特征在于,还包括:Combination策略的基本思路不局限于Peach的3.0.202版本(C#语言实现),也适合于2.3.7版本(Python语言实现),即该方法不依赖于实现Peach的语言。

5.  根据权利要求1所述的方法,其特征在于,还包括:<Strategy>标签中变量的命名与表述方式不拘泥于本发明所描述的格式,只要能够表达本发明所描述的信息即可。

说明书

说明书一种扩展Peach平台同时测试多个网络报文字段的方法
技术领域
本发明涉及计算机技术领域,特别是指网络安全领域中的协议测试方法。
背景技术
网络安全问题目前已经引起人们的充分重视,协议健壮性测试是保证网络实体质量的有效措施。如何以最小的开销发现隐藏在网络实体中潜在的缺陷是网络安全领域的一个重要研究方向。目前,大多数测试工具和方法的研究重点在于向报文字段中注入攻击数据的类型和内容,并且每次只能测试一个字段,而对同时测试多个网络报文字段方法的研究较少。
在网络健壮性测试领域中,有多款测试工具或平台,例如Scapi、AppScan、Nessus、Spike和Peach等,但各自的优势略有不同。其中,Scapi测试底层协议;AppScan扫描Web服务;Nessus回归测试已知漏洞;Spike虽然具备发现"0-day"漏洞的能力,但是其代码逻辑与测试数据紧耦合在一起,不容易扩展;Peach是目前协议测试领域中最活跃的社区,很多研究人员将其成果用于增强Peach的原有功能。
Peach的Random策略虽然支持对多个报文字段进行同时测试的功能,但是存在几处不足:1)最多同时测试5个报文字段;2)随机选取测试字段、Mutator和Fault,带有很强的盲目性;3)产生无限多的测试用例,并且测试用例之间可能重复,测试过程不但不够系统化,而且必须人为终止。以上缺陷导致安全专家基于Peach进行多字段测试时,不仅具有一定的局限性,而且具有很强的盲目性,测试效率比较低。
本发明的出发点是扩展Peach多字段测试的功能,即在原有Random策略基础上,增加Combination策略。该策略不仅打破了原始Random策略最多只能测试5个报文字段的局限,而且系统地对测试 报文字段、Mutator与Fault进行组合,在某种程度上降低了原有Peach的盲目性。此外,通过设置测试用例产生条件,限制其产生的数量级别,不仅有效地解决了产生测试用例的“组合爆炸”问题,也给多字段测试带来一定的灵活性。由于Peach发展较快,其2.3.7版是基于Python开发的,而3.0.202版则是基于C#开发的,PitFile的功能与标签含义的改动也较大,本发明虽然是针对3.0.202版本,但是其扩展思路不局限于该版本。
发明内容
有鉴于此,本发明在于提供一种扩展Peach平台同时测试多个网络报文字段的方法,即为Peach增加Combination策略。该策略通过对报文字段、Mutator和Fault进行系统组合的机制,在不改变原有Peach功能的基础上,提高了其在多字段测试方面的能力。此外,为了处理产生测试用例过程中带来的“组合爆炸”问题与有限测试时间的矛盾,本发明通过设置测试用例生成条件的方式,不仅能够产生更有针对性的测试用例,而且有效地降低了测试用例的数量级别。
为解决上述问题,本发明提供一种扩展Peach平台同时测试多个网络报文字段的方法,其特征在于,包括:提供用于扩展Peach策略的实现方法;详细论述产生组合测试用例的实现机制;解析PitFile中<Strategy>里的各个参数,获得测试用例产生条件以及其作用于测试用例产生的机制。
安全专家根据测试内容以及测试时间等因素,灵活地选择测试用例生成规则,从而系统地产生具有不同级别针对性的测试用例,减少了原有Peach进行多字段测试的局限与盲目性,提高了测试效率。
假设对网络报文中的n个字段进行测试,新增Combination策略的默认组合算法,即<Strategy>中combination_policy变量值为default, 的工作过程,如下所述(流程图如图1所示):
(1)对每次测试字段的数目从1开始进行遍历,即每次测试1个字段、2个字段、…n-1个字段、n个字段。
(2)在确定测试字段数目的情况下,通过组合算法选择具体的测试字段。具体地说,假设当前正在对m(1≤m≤n)个字段进行测试,则需要对种情况进行遍历。
(3)当确定测试字段后,对每个字段的Mutator和Fault进行组合遍历,具体实现如下所述:
(3.1)对每个字段对应的多个Mutator中的Fault进行线性化处理,设第i个字段选取的Fault依次是Fi,1、Fi,2、…Fi,size(i)。其中,size(i)表示第i个字段能够选取的Fault数目。
(3.2)如果<Strategy>中combination_policy变量值为default,则对选定的测试字段与Fault进行类似于计数器的默认的组合操作,即生成如下测试用例:

(3.3)如果<Strategy>中combination_policy变量值为simple, 则对上述组合过程进行简化,产生如下测试用例:

(4)将选择的测试用例注入对应的报文字段,进行模糊测试。
为Peach添加自定义策略的方法是:
(1)在Peach.Core.Analyzers.PitParser.cs文件中,通过test.strategy=handlePlugin<MutationStrategy,MutationStrategyAttribute>(child,null,false);方法创建调用的策略对象。
(2)增加Peach.Core.MutationStrategies.Combination.cs文件,用于实现Combination类,该类继承自MutationStrategy类。
(3)在Combination类的构造函数中,实现对PitFile中<Strategy>参数的解析功能。
(4)在Combination类中,重写GatherMutator方法,用于记录每个测试字段所采用的Mutators。
(5)在Combination类中,分别实现DefaultCombination和Simple Combination方法,这两个方法分别实现默认组合方式与简化组合方式,并且在GatherMutator方法中被调用。
启动Combination策略进行协议测试时,Peach将按照如上所述的测试用例生成机制并根据测试用例生成条件对目标设备进行基于多字段的模糊测试。
本发明避免了Peach本身的限制与盲目性,充分利用组合算法对目标设备进行系统测试,提高了多字段测试的效率。此外,为避免组 合算法产生的“组合爆炸”问题,通过限制条件可有效地降低产生测试用例的数量级别,生成具有不同级别针对性的测试用例,使测试过程更加灵活,便于实施操作。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1本方法流程图
具体实施方式
为清楚说明本发明的技术方案,本文按如下方式编辑基本的PitFile用于测试HTTP协议。PitFile格式如下:

按照生成测试用例由多到少的顺序,对典型场景进行说明。
场景1:配置如下所示Strategy策略:

此时,Combination策略会依次选取1~8个字段进行组合测试。当选定测试字段数目时,根据组合算法选择具体的字段。当确定具体字段后,依据上文描述的default模式产生对应的组合测试用例。
场景2:配置如下所示Strategy策略:

与场景1不同的是,该场景在确定具体字段后,依据上文描述的simple模式产生对应的组合测试用例。
场景3:配置如下所示Strategy策略:

与场景2不同的是,该场景依次选取5~8个字段进行组合测试,而没有1~4个字段进行组合的测试用例。
场景4:配置如下所示Strategy策略:

与场景3不同的是,该场景会对固定的字段,即field1、field3、field4、field7,依据simple模式产生对应的测试用例。
此外,还可以对参数进行其他方式的组合,例如确定最小组合字段数目,并且按照default模式生成测试用例等,在此不再赘述其他情况。
对于本发明所阐述的方法,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

一种扩展PEACH平台同时测试多个网络报文字段的方法.pdf_第1页
第1页 / 共9页
一种扩展PEACH平台同时测试多个网络报文字段的方法.pdf_第2页
第2页 / 共9页
一种扩展PEACH平台同时测试多个网络报文字段的方法.pdf_第3页
第3页 / 共9页
点击查看更多>>
资源描述

《一种扩展PEACH平台同时测试多个网络报文字段的方法.pdf》由会员分享,可在线阅读,更多相关《一种扩展PEACH平台同时测试多个网络报文字段的方法.pdf(9页珍藏版)》请在专利查询网上搜索。

本发明公开了一种扩展Peach平台同时测试多个网络报文字段的方法,该方法:取消了原有Peach最多只能同时测试5个字段的限制;提出递增式的字段组合测试方法,即同时对1个字段、2个字段n-1个字段、n个字段进行测试;针对组合过程中产生的大量测试用例与有限测试时间的矛盾,即“组合爆炸”问题,允许测试人员在PitFile中标签里设置不同级别的测试用例生成条件,有效地限制其产生的数量,从而生成更具有针对性。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 >


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1