CN104517056A - 一种扩展Peach平台同时测试多个网络报文字段的方法 - Google Patents
一种扩展Peach平台同时测试多个网络报文字段的方法 Download PDFInfo
- Publication number
- CN104517056A CN104517056A CN201410748856.7A CN201410748856A CN104517056A CN 104517056 A CN104517056 A CN 104517056A CN 201410748856 A CN201410748856 A CN 201410748856A CN 104517056 A CN104517056 A CN 104517056A
- Authority
- CN
- China
- Prior art keywords
- test
- peach
- strategy
- field
- fields
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/18—Protocol analysers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/50—Testing arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种扩展Peach平台同时测试多个网络报文字段的方法,该方法:取消了原有Peach最多只能同时测试5个字段的限制;提出递增式的字段组合测试方法,即同时对1个字段、2个字段…n-1个字段、n个字段进行测试;针对组合过程中产生的大量测试用例与有限测试时间的矛盾,即“组合***”问题,允许测试人员在PitFile中<Strategy>标签里设置不同级别的测试用例生成条件,有效地限制其产生的数量,从而生成更具有针对性的测试用例,极大地提高了协议安全专家的测试效率。对于熟悉Peach平台的安全专家而言,本发明简单有效,便于实施操作。
Description
技术领域
本发明涉及计算机技术领域,特别是指网络安全领域中的协议测试方法。
背景技术
网络安全问题目前已经引起人们的充分重视,协议健壮性测试是保证网络实体质量的有效措施。如何以最小的开销发现隐藏在网络实体中潜在的缺陷是网络安全领域的一个重要研究方向。目前,大多数测试工具和方法的研究重点在于向报文字段中注入攻击数据的类型和内容,并且每次只能测试一个字段,而对同时测试多个网络报文字段方法的研究较少。
在网络健壮性测试领域中,有多款测试工具或平台,例如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模式生成测试用例等,在此不再赘述其他情况。
对于本发明所阐述的方法,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (5)
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>标签中变量的命名与表述方式不拘泥于本发明所描述的格式,只要能够表达本发明所描述的信息即可。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410748856.7A CN104517056A (zh) | 2014-12-09 | 2014-12-09 | 一种扩展Peach平台同时测试多个网络报文字段的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410748856.7A CN104517056A (zh) | 2014-12-09 | 2014-12-09 | 一种扩展Peach平台同时测试多个网络报文字段的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104517056A true CN104517056A (zh) | 2015-04-15 |
Family
ID=52792342
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410748856.7A Pending CN104517056A (zh) | 2014-12-09 | 2014-12-09 | 一种扩展Peach平台同时测试多个网络报文字段的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104517056A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108304591A (zh) * | 2018-03-16 | 2018-07-20 | 深圳市买买提信息科技有限公司 | 一种标签的定制方法、***及终端设备 |
CN111385164A (zh) * | 2018-12-29 | 2020-07-07 | 江苏迪纳数字科技股份有限公司 | 一种多协议自由组合报文主动上报的通讯协议网关功能测试方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101388807A (zh) * | 2008-05-22 | 2009-03-18 | 清华大学 | 基于报文变异的协议鲁棒性测试生成方法 |
CN102243608A (zh) * | 2010-05-13 | 2011-11-16 | 方兴 | 基于全局数据结构描述的软件安全测试方法 |
CN103324573A (zh) * | 2013-07-02 | 2013-09-25 | 北京邮电大学 | 一种基于GUI协议状态机建模的Peach平台扩展方法 |
CN103346928A (zh) * | 2013-07-02 | 2013-10-09 | 北京邮电大学 | 一种支持Peach平台断点续测的方法 |
-
2014
- 2014-12-09 CN CN201410748856.7A patent/CN104517056A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101388807A (zh) * | 2008-05-22 | 2009-03-18 | 清华大学 | 基于报文变异的协议鲁棒性测试生成方法 |
CN102243608A (zh) * | 2010-05-13 | 2011-11-16 | 方兴 | 基于全局数据结构描述的软件安全测试方法 |
CN103324573A (zh) * | 2013-07-02 | 2013-09-25 | 北京邮电大学 | 一种基于GUI协议状态机建模的Peach平台扩展方法 |
CN103346928A (zh) * | 2013-07-02 | 2013-10-09 | 北京邮电大学 | 一种支持Peach平台断点续测的方法 |
Non-Patent Citations (3)
Title |
---|
DEJA VU SECURITY: "《PEACH FUZZER_Mutation Strategies》", 《HTTP://COMMUNITY.PEACHFUZZER.COM/V3/MUTATIONSTRATEGIES.HTML》 * |
赵丽娟: "《Fuzz安全测试技术研究》", 《中国优秀硕士学位论文全文数据库(信息科技辑)》 * |
韩星: "《针对MAC层协议FUZZING测试技术的研究》", 《中国优秀硕士学位论文全文数据库(信息科技辑)》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108304591A (zh) * | 2018-03-16 | 2018-07-20 | 深圳市买买提信息科技有限公司 | 一种标签的定制方法、***及终端设备 |
CN111385164A (zh) * | 2018-12-29 | 2020-07-07 | 江苏迪纳数字科技股份有限公司 | 一种多协议自由组合报文主动上报的通讯协议网关功能测试方法 |
CN111385164B (zh) * | 2018-12-29 | 2021-11-30 | 江苏迪纳数字科技股份有限公司 | 多协议自由组合报文主动上报的通讯协议网关测试方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2015201161B2 (en) | Event correlation | |
CN104142888B (zh) | 一种有状态协议的规则化状态机模型设计方法 | |
Han et al. | Fault-tolerant relay node placement in heterogeneous wireless sensor networks | |
Vempaty et al. | Distributed inference with Byzantine data: State-of-the-art review on data falsification attacks | |
Ali et al. | Towards characterizing Markov equivalence classes for directed acyclic graphs with latent variables | |
Li et al. | CAD: command-level anomaly detection for vehicle-road collaborative charging network | |
CN103840967A (zh) | 一种电力通信网中故障定位的方法 | |
Casteigts et al. | Deterministic algorithms in dynamic networks: Problems, analysis, and algorithmic tools | |
CN109933535A (zh) | 测试用例的生成方法、装置和服务器 | |
CN103391224B (zh) | 基于并行扩展有限状态机的协议层次化测试生成方法 | |
CN102707224B (zh) | 集成电路转换延迟测试向量精简方法 | |
CN104517056A (zh) | 一种扩展Peach平台同时测试多个网络报文字段的方法 | |
Wang et al. | Infrastructure communication sensitivity analysis of wireless sensor networks | |
CN102308524B (zh) | 动态隧道故障诊断方法及设备和*** | |
Dethise et al. | Prelude: Ensuring inter-domain loop-freedom in SDN-enabled networks | |
CN101930398B (zh) | 基于Fuzzing技术的变异多维输入的软件脆弱性分析方法 | |
Barbero et al. | Strong immersion is a well‐quasi‐ordering for semicomplete digraphs | |
Zonouz et al. | A fuzzy Markov model for scalable reliability analysis of advanced metering infrastructure | |
Yuan et al. | Efficient searching mechanism for trust-aware recommender systems based on scale-freeness of trust networks | |
US20200382524A1 (en) | System and method for a secure network | |
Puuska et al. | Modelling and real-time analysis of critical infrastructure using discrete event systems on graphs | |
CN106294127A (zh) | 基于聚类的面向对象软件测试用例生成方法 | |
US10769008B1 (en) | Systems and methods for automatic formal metastability fault analysis in an electronic design | |
Gupta et al. | Fibonacci driven novel test generation strategy for constrained testing | |
CN104516816B (zh) | 一种量子密钥分发***中关键器件测试方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20150415 |
|
WD01 | Invention patent application deemed withdrawn after publication |