一种未知协议模糊测试方法及其装置制造方法及图纸

技术编号:32486473 阅读:31 留言:0更新日期:2022-03-02 09:51
本申请实施例提供一种未知协议模糊测试方法及其装置,其中,该方法包括:获取未知协议的流量报文和未知协议对应的协议实体;获取流量报文中的关键字;根据关键字获取多个协议状态及其对应的多个状态报文;根据多个协议状态获得协议状态转移图;根据协议状态转移图对协议实体进行模糊测试,得到测试结果。实施本申请实施例,可以提高测试准确率高,在多种网络通信系统中使用,适用性高。适用性高。适用性高。

【技术实现步骤摘要】
一种未知协议模糊测试方法及其装置


[0001]本申请涉及网络通信协议测试
,具体而言,涉及一种未知协议模糊测试方法及其装置。

技术介绍

[0002]在工业控制、军事通信、金融信息等创新型网络中,大量未知协议(私有或半私有)被广泛采用。对通信协议及其实现进行严格的测试是确保网络系统安全性的重要手段,现有测试手段与方法大多只能针对已知协议进行,未知协议的广泛采用对未知协议测试提出了挑战。协议漏洞挖掘是保证网络通信安全的重要手段,主要包括逆向分析和模糊测试。
[0003]其中,模糊测试方法的前置引导序列和回归序列这些辅助报文在测试过程中的重复交互降低了测试效率,且因是根据协议实体所处的协议状态输入报文类型相对应的测试用例,使得无法发现由报文异常输入顺序所引出的协议缺陷,从而导致很多系统无法使用。

技术实现思路

[0004]本申请实施例的目的在于提供一种未知协议模糊测试方法及其装置,测试准确率高,对源代码没有过高要求,可以在多种网络通信系统中使用,适用性高。
[0005]第一方面,本申请实施例提供了一种未知协议模糊测试方法,所述方法包括:
[0006]获取未知协议的流量报文和未知协议对应的协议实体;
[0007]获取所述流量报文中的关键字;
[0008]根据所述关键字获取多个协议状态及其对应的多个状态报文;
[0009]根据所述多个协议状态获得协议状态转移图;
[0010]根据所述协议状态转移图对所述协议实体进行模糊测试,得到测试结果。
[0011]在上述实现过程中,通过生成完整的协议状态转移图,再通过模糊测试对未知协议的协议状态转移图进行解析,实现自动化地对多个协议状态进行模糊测试,并且高效地完成对未知协议的模糊测试。
[0012]进一步地,所述获取所述流量报文中的关键字的步骤,包括:
[0013]对所述流量报文进行多次序列比对处理,得到所述未知协议的不可变域,作为关键字。
[0014]在上述实现过程中,通过在未知协议的流量报文中划分出关键字的方法,可以预先保留各协议状态及其对应的状态报文。
[0015]进一步地,所述根据所述关键字获取多个协议状态及其对应的多个状态报文的步骤,包括:
[0016]根据所述关键字生成特征向量;
[0017]将所述特征向量进行聚类处理,得到所述多个协议状态及其对应的多个状态报文。
[0018]在上述实现过程中,根据流量报文获得关键字,将关键字进行聚类,得到协议状
态,大大提升了协议状态获得的自动化程度。
[0019]进一步地,所述根据所述多个协议状态获得协议状态转移图的步骤,包括:
[0020]获取所述未知协议中的报文时序关系;
[0021]根据所述时序关系对所述多个协议状态进行比对处理,得到所述多个协议状态的多个转移方向;
[0022]根据所述多个转移方向生成所述协议状态转移图。
[0023]在上述实现过程中,通过多个转移方向得到协议状态转移图,协议状态转移图可以反映多个协议状态和协议状态的转移方向。
[0024]进一步地,所述根据所述协议状态转移图对所述协议实体进行模糊测试,得到测试结果的步骤,包括:
[0025]根据所述关键字和所述状态报文得到测试用例;
[0026]根据所述协议状态转移图得到第一动作;
[0027]根据所述第一动作对所述协议实体进行状态转移,并将所述测试用例发送给所述协议实体,以使所述协议实体返回第一响应报文;
[0028]根据所述第一响应报文得到奖励分数,并根据所述奖励分数得到第二动作;
[0029]根据所述第二动作对所述协议实体进行状态转移,并将所述测试用例发送给协议实体,以使所述协议实体返回第二响应报文;
[0030]获取判别标准,若所述第二响应报文符合所述判别标准,则输出所述第二响应报文,作为测试结果;若所述第二响应报文不符合所述判别标准,则根据所述第二响应报文得到新的奖励分数。
[0031]在上述实现过程中,通过奖励函数对第一动作作出分析,得到奖励分数,可以帮助协议实体得到更符合判别标准的第二动作,从而得到第二响应报文。
[0032]进一步地,所述根据所述协议状态转移图得到第一动作的步骤,包括:
[0033]获取所述流量报文中的辅助报文;
[0034]将Q值表输入所述辅助报文,得到动作集合;
[0035]将Q值表输入所述协议状态转移图,得到状态集合;
[0036]根据所述状态集合选择动作合集中的动作,作为所述第一动作。
[0037]在上述实现过程中,通过对奖励函数以及Q值表进行设置,可以实现对奖励分数最高的响应报文的自动选择,完成协议状态的转移引导以及针对各个协议状态的模糊测试过程。
[0038]进一步地,所述根据所述第一响应报文得到奖励分数的步骤,包括:
[0039]根据所述协议实体返回的第一响应报文获得协议实体状态;
[0040]根据奖励函数和所述协议实体状态得到奖励分数;
[0041]在上述实现过程中,奖励函数可以帮助协议实体判断测试用例是否符合要求,从而选取出奖励分数更高的响应报文。
[0042]进一步地,所述根据所述协议实体返回的第一响应报文判断协议实体状态的步骤,包括:
[0043]将所述第一响应报文和所述辅助报文进行比对处理,得到所述协议实体状态。
[0044]进一步地,所述根据所述关键字获取多个协议状态及其对应的多个状态报文的步
骤,还包括:
[0045]合并所述多个协议状态中的可双向转移协议状态,消除冗余的所述多个协议状态。
[0046]在上述实现过程中,消除冗余的协议状态可以使得得到的多个协议状态更加准确,并且保证后续测试结果更加精准。
[0047]第二方面,本申请实施例还提供了一种未知协议模糊测试装置,所述装置包括:
[0048]获取模块,用于获取未知协议的流量报文和未知协议对应的协议实体;
[0049]处理模块,用于获取所述流量报文中的关键字;
[0050]解析模块,用于根据所述关键字获取多个协议状态及其对应的多个状态报文;
[0051]状态转移图获得模块,用于根据所述多个协议状态获得协议状态转移图;
[0052]模糊测试模块,用于根据所述协议状态转移图对所述协议实体进行模糊测试,得到测试结果。
[0053]在上述实现过程中,通过生成完整的协议状态转移图,再通过模糊测试对未知协议的协议状态转移图进行解析,实现自动化地对多个协议状态进行模糊测试,并且高效地完成对未知协议的模糊测试。
[0054]第三方面,本申请实施例提供的一种电子设备,包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面任一项所述的方法的步骤。
[0055]第四方面,本申请实施例提供的一种本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种未知协议模糊测试方法,其特征在于,所述方法包括:获取未知协议的流量报文和未知协议对应的协议实体;获取所述流量报文中的关键字;根据所述关键字获取多个协议状态及其对应的多个状态报文;根据所述多个协议状态获得协议状态转移图;根据所述协议状态转移图对所述协议实体进行模糊测试,得到测试结果。2.根据权利要求1所述的未知协议模糊测试方法,其特征在于,所述获取所述流量报文中的关键字的步骤,包括:对所述流量报文进行多次序列比对处理,得到所述未知协议的不可变域,作为关键字。3.根据权利要求1所述的未知协议模糊测试方法,其特征在于,所述根据所述关键字获取多个协议状态及其对应的多个状态报文的步骤,包括:根据所述关键字生成特征向量;将所述特征向量进行聚类处理,得到所述多个协议状态及其对应的多个状态报文。4.根据权利要求1所述的未知协议模糊测试方法,其特征在于,所述根据所述多个协议状态获得协议状态转移图的步骤,包括:获取所述未知协议中的报文时序关系;根据所述时序关系对所述多个协议状态进行比对处理,得到所述多个协议状态的多个转移方向;根据所述多个转移方向生成所述协议状态转移图。5.根据权利要求1所述的未知协议模糊测试方法,其特征在于,所述根据所述协议状态转移图对所述协议实体进行模糊测试,得到测试结果的步骤,包括:根据所述关键字和所述状态报文得到测试用例;根据所述协议状态转移图得到第一动作;根据所述第一动作对所述协议实体进行状态转移,并将所述测试用例发送给所述协议实体,以使所述协议实体返回第一响应报文;根据所述第一响应报文得到奖励分数,并根据所述奖励分数得到第二动作;根据所述第二动作对所述协议实体进行状态转移,并将所述测试用例发送给协议实体,以使所述协议实体返回第...

【专利技术属性】
技术研发人员:崔宝江李帅周滨鹤陈晨侯晓庚李明
申请(专利权)人:北京邮电大学
类型:发明
国别省市:

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

1