[发明专利]一种扩展Peach平台同时测试多个网络报文字段的方法在审
申请号: | 201410748856.7 | 申请日: | 2014-12-09 |
公开(公告)号: | CN104517056A | 公开(公告)日: | 2015-04-15 |
发明(设计)人: | 张华;张钊;赵凯;温巧燕 | 申请(专利权)人: | 北京邮电大学 |
主分类号: | G06F21/57 | 分类号: | G06F21/57 |
代理公司: | 无 | 代理人: | 无 |
地址: | 100876 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 扩展 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数目。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京邮电大学;,未经北京邮电大学;许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410748856.7/2.html,转载请声明来源钻瓜专利网。