【技术实现步骤摘要】
一种基于测试用例自动化生成的协议模糊测试方法及装置
[0001]本专利技术涉及网络安全
,尤其涉及一种基于测试用例自动化生成的协议模糊测试方法及装置。
技术介绍
[0002]网络协议描述了两个通信实体相互传递数据的规范,在计算机网络中发挥着重要的作用。然而,在实现过程中由于开发人员理解上的偏差,会在其实现中引入漏洞。一些黑客利用协议中的漏洞传播病毒,甚至在不需要访问物理主机的发起远程攻击,导致数千上万的网络设备面临灾难性的威胁。根据NVD数据库统计,2022年上半年协议中高危漏洞占比超过70%,因此及时发现并修补协议中存在的安全漏洞极为重要。
[0003]作为当前主流的协议漏洞发掘方法,模糊测试具有操作简单、效率高的特点。自1989提出了以来已经被广泛用于多个领域的安全测试。模糊测试根据测试用例的生成方式可以分为:基于突变的模糊测试技术和基于生成的模糊测试技术。基于突变的模糊测试技术不需要掌握协议的先验知识,降低了创建状态机的努力。然而,该方式生成的测试用例往往无法通过格式校验。基于生成的模糊测试技术,通过对协 ...
【技术保护点】
【技术特征摘要】
1.一种基于测试用例自动化生成的协议模糊测试方法,其特征在于,包括:步骤1:捕获协议正常通信时的网络流量并对其进行过滤;步骤2:使用多序列比对方法对齐报文序列;步骤3:确定协议的关键词,基于所述关键词对所有报文序列进行聚类分析以推断出协议格式以及协议状态机模型;步骤4:根据推断出的协议格式构建模板,根据所述模板自动化生成测试用例;步骤5:根据推断出的协议状态机模型,生成测试路径;步骤6:根据所述测试路径将测试用例发送至目标程序进行模糊测试,并监测目标程序的状态。2.根据权利要求1所述的一种基于测试用例自动化生成的协议模糊测试方法,其特征在于,步骤2具体包括:步骤2.1:计算所有初始报文序列中的最长报文序列长度l
max
和最短报文序列长度l
min
;针对每个初始报文序列,执行步骤2.2至步骤2.6;步骤2.2:以字节为单位将初始报文序列划分为静态字段和动态字段;步骤2.3:初始化字段偏移;步骤2.4:在当前字段偏移值下,判断相邻的两个静态字段是否相同,若相同,则将两个相邻静态字段合并一个长静态字段;步骤2.5:更新字段偏移值,判断字段偏移值是否超过最短报文序列长度l
min
,若否,则执行步骤2.4;若是,则执行步骤2.6;步骤2.6:将字段偏移位于(l
min
,l
max
)之间的字段定义为数据字段,并在数据字段插入对齐符号。3.根据权利要求1所述的一种基于测试用例自动化生成的协议模糊测试方法,其特征在于,步骤3中具体包括:针对每个候选关键词,设定采用其进行聚类后得到N个集群;针对每个候选关键词,根据其对应的聚类结果计算报文相似度评分和集群内报文间结构相似性评分;分别选取报文相似度评分最高和集群内报文间结构相似性评分最高的关键词,并计算选取的关键词对应的关键词位置字段评分;针对每个候选关键词,计算报文相似度评分、集群内报文间结构相似性评分和关键词位置字段评分的乘积,将乘积值最高的候选关键词作为最终的关键词;基于最终的关键词的聚类结果来推断出协议的格式以及状态机模型。4.根据权利要求3所述的一种基于测试用例自动化生成的协议模糊测试方法,其特征在于,按照公式(1)计算报文相似度评分P1:其中,edit_distance(m
k
,m
t
)表示将任意两个报文序列m
k
和m
t
转变成两个相同的报文序
列所需要的最少操作次数,所述操作是指增加、删除和替换中的一种或多种;max_len(m
k
,m
t
)表示两个报文序列m
k
和m
t
中较长的报文序列的长度。5.根据权利要求3所述的一种基于测试用例自动化生成的协议模糊测试方法,其特征在于,按照公式(2)计算集群内报文间结构相似性评...
【专利技术属性】
技术研发人员:魏强,武泽慧,王允超,徐威,燕宸毓,宗国笑,
申请(专利权)人:中国人民解放军战略支援部队信息工程大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。