[发明专利]一种基于分级变异的网络协议模糊测试方法有效
申请号: | 201811157101.4 | 申请日: | 2018-09-30 |
公开(公告)号: | CN109347696B | 公开(公告)日: | 2020-10-20 |
发明(设计)人: | 喻波;杨强;唐勇;乐泰;解炜;周旭;罗艳 | 申请(专利权)人: | 中国人民解放军国防科技大学 |
主分类号: | H04L12/26 | 分类号: | H04L12/26;H04L29/06;H04L29/08 |
代理公司: | 湖南兆弘专利事务所(普通合伙) 43008 | 代理人: | 周长清 |
地址: | 410073 湖南*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 分级 变异 网络 协议 模糊 测试 方法 | ||
1.一种基于分级变异的网络协议模糊测试方法,其特征在于,采用Fuzz技术,所述Fuzz技术为模糊测试技术,步骤包括:
步骤S1:构建由网络会话客户端、网络会话服务端、Fuzz代理和Fuzz测试用例生成器组成的Fuzz测试系统结构;
步骤S2:针对指定的网络协议P,协议元信息描述单元,构建协议P的元信息描述格式PM;
步骤S3:初始化Fuzz变异引擎;
步骤S4:通过所述的Fuzz代理和网络协议元信息描述PM,对新接收的网络协议报文进行处理;所述步骤S4的处理流程包括如下步骤:
步骤S401:接收报文p;
步骤S402:报文输入预处理:检查报文p是否加密,如果报文p是加密报文,从网络会话客户端或者网络会话服务端提取会话秘钥并赋值给K,用会话秘钥K执行对报文p执行解密操作;
步骤S403:会话层变异:会话层变异对报文p进行分析,先判断当前报文p在协议消息集M中的序号pc,如果该序号pc不等于当前会话层变异记录器PC,则跳转到步骤S405,否则执行步骤S404;
步骤S404:检查当前会话pc的报文内容变异记录器PP,判断PP是否大于PPMAX,所述PPMAX为报文层变异记录器的最大取值,如果当前会话序号的报文变异已经全部完成,则随机从会话序列空间中选择新的会话消息PC’,并且修改PC=PC’,修改PP=0,根据PC的值提取原始报文p,检测报文p的会话依赖关系,如果存在对其他报文的依赖关系,则从当前会话中提取其他报文的字段来生成报文会话层ph,跳转到步骤S405;
步骤S405:报文内容变异:报文内容变异记录器调用模糊测试工具Boofuzz的变异模块,生成下一个测试用例p2,并且更新报文内容变异记录器PP=PP+1;
步骤S406:输出报文后处理:用报文会话层头ph和报文内容测试用例p2生成新的报文p,检查报文p的消息类型是否存在加密标记,如果是则使用会话秘钥K对报文进行加密;更新报文p;
步骤S407:发送报文p。
2.根据权利要求1所述的基于分级变异的网络协议模糊测试方法,其特征在于,在上述步骤中,网络会话客户端和网络会话服务端用真实的网络协议客户端和服务端来充当,Fuzz测试用例生成器选用已有的Fuzz测试用例生成器来充当。
3.根据权利要求1所述的基于分级变异的网络协议模糊测试方法,其特征在于,在上述步骤中Fuzz代理通过配置来实现针对客户端或服务端的Fuzz,Fuzz代理包括报文的输入处理、输出处理、协议元信息描述、以及由会话变异器和报文变异器组成的变异单元。
4.根据权利要求1所述的基于分级变异的网络协议模糊测试方法,其特征在于,在上述步骤S3中构造模糊测试标记集合T={PC、PP、K},其中PC是会话层变异记录器、PP是报文内容变异记录器,初始值为PC=m0,PP=0,K为会话秘钥,初始化为空,并且设置一个报文层变异记录器的最大取值PPMAX。
5.根据权利要求1所述的基于分级变异的网络协议模糊测试方法,其特征在于,在上述步骤S2中PM的组成分定义为PM=协议名称N、协议消息序列M、协议状态机S、协议消息的加密标记L、协议消息的会话依赖标记D;其中M=m0,m1,...,mn,表示协议P有n个会话消息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军国防科技大学,未经中国人民解放军国防科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811157101.4/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种升级测试系统及方法
- 下一篇:机会网络链路预测方法、装置及可读存储介质