一种协议模糊测试方法及系统技术方案

技术编号:32330869 阅读:23 留言:0更新日期:2022-02-16 18:38
本发明专利技术涉及一种协议模糊测试方法及系统。所述方法包括:根据测试目标的功能采集与所述测试目标通信的数据包并按不同功能进行排列组合,生成各个功能对应的数据包组合;对每个数据包组合中随机抽取的预设数量的字节进行变异,生成变异后的数据包组合;将变异后的数据包组合发送至测试目标,提取造成测试目标故障的变异后的数据包并编写成脚本文件;将脚本文件发送至测试目标,检测测试目标是否发生故障;若是,则确定造成测试目标故障的变异后的数据包为潜在漏洞数据包。本发明专利技术方法为一种新的针对协议的测试流程,通过数据包组合对协议从渗透测试的维度进行模糊测试,扩展了测试用例生成的维度,增加了漏洞发现的概率。增加了漏洞发现的概率。增加了漏洞发现的概率。

【技术实现步骤摘要】
一种协议模糊测试方法及系统


[0001]本专利技术涉及模糊测试
,特别是涉及一种协议模糊测试方法及系统。

技术介绍

[0002]目前针对协议的模糊测试均是针对单个数据包报文的组成结构进行模糊测试,基于不同的算法生成单个数据包测试用例,发送给目标设备进行测试。此种单个数据包模糊测试方式存在漏洞发现概率低的问题。

技术实现思路

[0003]本专利技术的目的是提供一种协议模糊测试方法及系统,以增加漏洞发现的概率。
[0004]为实现上述目的,本专利技术提供了如下方案:
[0005]一种协议模糊测试方法,包括:
[0006]根据测试目标的功能采集与所述测试目标通信的数据包;
[0007]对采集到的所述数据包按不同功能进行排列组合,生成各个功能对应的数据包组合;
[0008]对每个所述数据包组合中随机抽取的预设数量的字节进行变异,生成变异后的数据包组合;
[0009]将所述变异后的数据包组合发送至所述测试目标,检测所述测试目标是否发生故障;
[0010]提取造成所述测试目标故障的所述变异后的数据包并编写成脚本文件;
[0011]将所述脚本文件发送至所述测试目标,检测所述测试目标是否发生故障;
[0012]若所述测试目标再次发生故障,则确定造成所述测试目标故障的所述变异后的数据包为潜在漏洞数据包;
[0013]若所述测试目标没有发生故障,则返回所述将所述变异后的数据包组合发送至所述测试目标,检测所述测试目标是否发生故障的步骤。<br/>[0014]可选地,所述根据测试目标功能采集与所述测试目标通信的数据包,具体包括:
[0015]获取所述测试目标的功能说明文件;
[0016]根据所述功能说明文件确定所述测试目标的所有功能;
[0017]使用数据包采集工具,根据所述测试目标的不同功能,采集与所述测试目标通信的数据包。
[0018]可选地,所述对采集到的所述数据包按不同功能进行排列组合,具体包括:
[0019]对采集到的n个数据包中相同功能的m个数据包进行全排列,生成各个功能对应的数据包组合。
[0020]可选地,所述对每个所述数据包组合中随机抽取的预设数量的字节进行变异,生成变异后的数据包组合,具体包括:
[0021]针对每个所述数据包组合中的每个单个数据包,随机抽取预设数量的字节;
[0022]对随机抽取的所述预设数量的字节采用移位、叠字或颠倒的方法进行变异,生成变异后的数据包组合。
[0023]一种协议模糊测试系统,包括:
[0024]数据包采集模块,用于根据测试目标的功能采集与所述测试目标通信的数据包;
[0025]排列组合模块,用于对采集到的所述数据包按不同功能进行排列组合,生成各个功能对应的数据包组合;
[0026]字节变异模块,用于对每个所述数据包组合中随机抽取的预设数量的字节进行变异,生成变异后的数据包组合;
[0027]第一故障检测模块,用于将所述变异后的数据包组合发送至所述测试目标,检测所述测试目标是否发生故障;
[0028]脚本文件编写模块,用于提取造成所述测试目标故障的所述变异后的数据包并编写成脚本文件;
[0029]第二故障检测模块,用于将所述脚本文件发送至所述测试目标,检测所述测试目标是否发生故障;
[0030]漏洞确定模块,用于若所述测试目标再次发生故障,则确定造成所述测试目标故障的所述变异后的数据包为潜在漏洞数据包;
[0031]第三故障检测模块,用于若所述测试目标没有发生故障,则返回所述将所述变异后的数据包组合发送至所述测试目标,检测所述测试目标是否发生故障的步骤。
[0032]可选地,所述数据包采集模块具体包括:
[0033]文件获取单元,用于获取所述测试目标的功能说明文件;
[0034]功能确定单元,用于根据所述功能说明文件确定所述测试目标的所有功能;
[0035]数据包采集单元,用于使用数据包采集工具,根据所述测试目标的不同功能,采集与所述测试目标通信的数据包。
[0036]可选地,所述排列组合模块具体包括:
[0037]排列组合单元,用于对采集到的n个数据包中相同功能的m个数据包进行全排列,生成各个功能对应的数据包组合。
[0038]可选地,所述字节变异模块具体包括:
[0039]字节抽取单元,用于针对每个所述数据包组合中的每个单个数据包,随机抽取预设数量的字节;
[0040]字节变异单元,用于对随机抽取的所述预设数量的字节采用移位、叠字或颠倒的方法进行变异,生成变异后的数据包组合。
[0041]根据本专利技术提供的具体实施例,本专利技术公开了以下技术效果:
[0042]本专利技术提供了一种协议模糊测试方法及系统,所述方法包括:根据测试目标的功能采集与所述测试目标通信的数据包;对采集到的所述数据包按不同功能进行排列组合,生成各个功能对应的数据包组合;对每个所述数据包组合中随机抽取的预设数量的字节进行变异,生成变异后的数据包组合;将所述变异后的数据包组合发送至所述测试目标,检测所述测试目标是否发生故障;提取造成所述测试目标故障的所述变异后的数据包并编写成脚本文件;将所述脚本文件发送至所述测试目标,检测所述测试目标是否发生故障;若所述测试目标再次发生故障,则确定造成所述测试目标故障的所述变异后的数据包为潜在漏洞
数据包;若所述测试目标没有发生故障,则返回所述将所述变异后的数据包组合发送至所述测试目标,检测所述测试目标是否发生故障的步骤。本专利技术方法为一种新的针对协议的测试流程,通过数据包组合对协议从渗透测试的维度进行模糊测试,扩展了测试用例生成的维度,增加了漏洞发现的概率。
附图说明
[0043]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0044]图1为本专利技术一种协议模糊测试方法的流程图;
[0045]图2为本专利技术一种协议模糊测试方法的原理示意图;
[0046]图3为本专利技术一种协议模糊测试方法中对数据包进行排列组合的示意图;
[0047]图4为本专利技术一种协议模糊测试系统的结构图。
具体实施方式
[0048]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0049]本专利技术的目的是提供一种协议模糊测试方法及系统,以增加测试的覆盖面,提高发现漏洞或缺陷的概率。
[0050]为使本专利技术的上述目的、特征和优点能够更加明显易懂,下面结合附图和具本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种协议模糊测试方法,其特征在于,包括:根据测试目标的功能采集与所述测试目标通信的数据包;对采集到的所述数据包按不同功能进行排列组合,生成各个功能对应的数据包组合;对每个所述数据包组合中随机抽取的预设数量的字节进行变异,生成变异后的数据包组合;将所述变异后的数据包组合发送至所述测试目标,检测所述测试目标是否发生故障;提取造成所述测试目标故障的所述变异后的数据包并编写成脚本文件;将所述脚本文件发送至所述测试目标,检测所述测试目标是否发生故障;若所述测试目标再次发生故障,则确定造成所述测试目标故障的所述变异后的数据包为潜在漏洞数据包;若所述测试目标没有发生故障,则返回所述将所述变异后的数据包组合发送至所述测试目标,检测所述测试目标是否发生故障的步骤。2.根据权利要求1所述的方法,其特征在于,所述根据测试目标功能采集与所述测试目标通信的数据包,具体包括:获取所述测试目标的功能说明文件;根据所述功能说明文件确定所述测试目标的所有功能;使用数据包采集工具,根据所述测试目标的不同功能,采集与所述测试目标通信的数据包。3.根据权利要求2所述的方法,其特征在于,所述对采集到的所述数据包按不同功能进行排列组合,具体包括:对采集到的n个数据包中相同功能的m个数据包进行全排列,生成各个功能对应的数据包组合。4.根据权利要求3所述的方法,其特征在于,所述对每个所述数据包组合中随机抽取的预设数量的字节进行变异,生成变异后的数据包组合,具体包括:针对每个所述数据包组合中的每个单个数据包,随机抽取预设数量的字节;对随机抽取的所述预设数量的字节采用移位、叠字或颠倒的方法进行变异,生成变异后的数据包组合。5.一种协议模糊测试系统,其特征在于,包括:数据包采集模块,用于根据测试目标的功能...

【专利技术属性】
技术研发人员:张晓菲于盟孙军曹禹卢春景
申请(专利权)人:国家工业信息安全发展研究中心
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1