[发明专利]一种基于分级变异的网络协议模糊测试方法有效
申请号: | 201811157101.4 | 申请日: | 2018-09-30 |
公开(公告)号: | CN109347696B | 公开(公告)日: | 2020-10-20 |
发明(设计)人: | 喻波;杨强;唐勇;乐泰;解炜;周旭;罗艳 | 申请(专利权)人: | 中国人民解放军国防科技大学 |
主分类号: | H04L12/26 | 分类号: | H04L12/26;H04L29/06;H04L29/08 |
代理公司: | 湖南兆弘专利事务所(普通合伙) 43008 | 代理人: | 周长清 |
地址: | 410073 湖南*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 分级 变异 网络 协议 模糊 测试 方法 | ||
本发明公开了一种基于分级变异的网络协议模糊测试方法,其步骤包括:步骤S1:构建由网络会话客户端、网络会话服务端、Fuzz代理和Fuzz测试用例生成器组成的Fuzz测试系统结构;步骤S2:针对指定的网络协议P,协议元信息描述单元,构建协议P的元信息描述格式PM;步骤S3:初始化Fuzz变异引擎;步骤S4:通过所述的分级变异Fuzz代理结构和网络协议元信息描述PM,对新接收的网络协议报文进行处理。本发明具有原理简单、易实现、适用范围广等优点。
技术领域
本发明主要涉及到网络协议的模糊测试技术领域,特指一种基于分级变异的网络协议模糊测试方法。
背景技术
模糊测试技术(又称为Fuzz技术)是对二进制软件进行安全性测试的有效方法,普遍应用于文档处理软件、浏览器、网络服务等多种应用软件的安全性测试。目前网络协议的模糊测试方法一般分为两种:基于生成的模糊测试方法和基于变异的模糊测试方法。其中基于生成的模糊测试方法,首先需要充分了解待测试网络协议的构成,比如HTML协议的标签构成、FTP协议的命令和数据字段构成;并且通过对网络协议构建标准化描述,定义可以测试的单元,来生成网络协议的测试用例样本集。生成的测试用例样本集作为测试的数据来源。现有的基于生成的针对Fuzz方法有Peach和Sulley等。
基于变异的方法与基于生成的方法有几个方面的不同,首先基于变异的方法利用现有的输入种子,如现有的网页、现有的网络报文等,其次基于变异的方法在现有输入种子的基础上,通过局部变异来实现生成新的测试用例。AFL(American Fuzz Loop)和Netzob是两种典型的基于变异的网络协议模糊测试方法。
基于生成和基于变异的模糊测试方法各有其优点。
基于变异的模糊方法只需要少量的被测试协议的知识,只需要有效的网络流量输入样本,基于生成的变异方法的缺点在于测试用例的变异过于随机性,可能导致产生大量无效的无效测试用例。基于生成的模糊方法由于包含了对被测试网络协议的良好的理解,可以生成较高覆盖率的测试用例样本。
基于生成的模糊测试方法的缺点在于需要人工对网络协议进行描述,并且这种描述难以覆盖到专用功能和遗留功能等。而且已有的基于生成和基于变异的模糊测试方法应用于复杂的网络协议测试过程中,仍然存在一些问题:(1)现有的模糊测试方法难以应对网络软件中普遍存在的数据加密的情况;(2)网络协议具有会话特性和交互特性,现有的模糊测试方法对网络会话的支持存在不足。
发明内容
本发明要解决的技术问题就在于:针对现有技术存在的技术问题,本发明提供一种原理简单、易实现、适用范围广的基于分级变异的网络协议模糊测试方法。
为解决上述技术问题,本发明采用以下技术方案:
一种基于分级变异的网络协议模糊测试方法,其步骤包括:
步骤S1:构建由网络会话客户端、网络会话服务端、Fuzz代理和Fuzz测试用例生成器组成的Fuzz测试系统结构;
步骤S2:针对指定的网络协议P,协议元信息描述单元,构建协议P的元信息描述格式PM;
步骤S3:初始化Fuzz变异引擎;
步骤S4:通过所述的分级变异Fuzz代理结构和网络协议元信息描述PM,对新接收的网络协议报文进行处理。
作为本发明的进一步改进:
在上述步骤中,网络会话客户端和网络会话服务端用真实的网络协议客户端和服务端来充当,Fuzz测试用例生成器选用已有的Fuzz测试用例生成器来充当。
作为本发明的进一步改进:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军国防科技大学,未经中国人民解放军国防科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811157101.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种升级测试系统及方法
- 下一篇:机会网络链路预测方法、装置及可读存储介质