一种工业协议的模糊测试用例生成方法、装置和电子设备制造方法及图纸

技术编号:36753700 阅读:18 留言:0更新日期:2023-03-04 10:42
本发明专利技术公开了一种工业协议的模糊测试用例生成方法、装置和电子设备,方法包括:获取多个报文样本;若已知多个报文样本属于同一结构类型的工业协议,则从获取的报文样本中提取报文特征;利用报文特征确定报文样本的变异位,变异位表征报文样本用于进行变异的具体位置;基于变异位对多个报文样本进行变异,得到模糊测试用例。本发明专利技术提供的技术方案,解决了生成的测试用例冗余较高的问题。的测试用例冗余较高的问题。的测试用例冗余较高的问题。

【技术实现步骤摘要】
一种工业协议的模糊测试用例生成方法、装置和电子设备


[0001]本专利技术涉及模糊测试领域,具体涉及一种工业协议的模糊测试用例生成方法、装置和电子设备。

技术介绍

[0002]模糊测试是一种自动或半自动的测试技术,常被用来发现软件/操作系统/网络的代码中的错误和安全性问题,模糊测试的核心是自动或半自动的生成随机数据输入到应用程序中,同时监控程序的异常情况,如崩溃、代码断言失败,以此发现可能的程序错误和漏洞,如内存泄漏。模糊化是指自动生成和执行测试,模糊测试中输入的随机数据被称为“Fuzz”,随机数据的类型包括:超长字符串;随机数如负数,浮点数,超大数、特殊字符如~!@#$%等包含特殊含义的字符,作为输入可能会引发报错。
[0003]在工业控制系统中,工控网络存在着特殊性,工业通信协议又是工控网络通讯的基石,而绝大部分通信协议都没有对网络安全进行相关规定。所以,必须要针对工业通信协议进行安全性模糊测试,发现潜在安全风险,以便及时采取风险应对措施,防止安全风险被进一步利用,降低工业控制系统安全风险被利用的概率。当前模糊测试的技术焦点主要在用例生成,用于模糊测试的模糊测试器(fuzzer)分为两类:一类是基于变异的模糊测试器,通过对已有的数据样本进行变异来创建测试用例;另一类是基于生成的模糊测试器,它为被测试系统使用的协议或文件格式建模,再基于模型生成输入并据此创建测试用例。现有模糊技术的缺点主要存在测试用例的选取随机性过强,导致测试用例冗余较高,进而带来成本开销大、测试覆盖率低、对于通信协议没有很好的针对性等问题

技术实现思路

[0004]有鉴于此,本专利技术实施方式提供了一种工业协议的模糊测试用例生成方法、装置和电子设备,从而解决了生成的测试用例冗余较高的问题。
[0005]根据第一方面,本专利技术实施例提供了一种工业协议的模糊测试用例生成方法,所述方法包括:获取多个报文样本;若已知所述多个报文样本属于同一结构类型的工业协议,则从获取的报文样本中提取报文特征;利用所述报文特征确定报文样本的变异位,所述变异位表征报文样本用于进行变异的具体位置;基于所述变异位对所述多个报文样本进行变异,得到模糊测试用例。
[0006]可选地,所述从获取的报文样本中提取报文特征,包括:对获取的报文样本进行聚类,并根据聚类结果确定获取的报文样本中的报文特征。
[0007]可选地,所述对获取的报文样本进行聚类,并根据聚类结果确定获取的报文样本中的报文特征,包括:将每一条报文样本拆分成校验位、报文体、报文头三部分,并构造每一条报文样本的标签;基于构造后的各条报文样本生成虚假数据,并基于构造后的各条报文样本和所述虚假数据生成聚类样本集;利用随机森林算法计算所述聚类样本集的相似度矩阵;基于所述相似度矩阵对所述聚类样本集进行层次聚类,并基于聚类结果得到报文特点
集合,所述报文特点集合包括至少一个报文特点,所述报文特点对应聚类得到的类别,不同的报文特点用于表征多个报文样本之间存在的区别点;对所述报文特点集合中的每个报文特点进行特征提取,得到每个报文特点对应的所述报文特征。
[0008]可选地,所述利用所述报文特征确定报文样本的变异位,包括:计算每个报文特征的重要性指标,并基于计算的重要性指标将各个报文特征按照重要性大小进行降序排序;根据预设剔除比例,剔除其中重要性指标排序靠后的报文特征;返回所述计算每个报文特征的重要性指标,并基于计算的重要性指标将各个报文特征按照重要性大小进行降序排序的步骤,直至剩下预设数量的报文特征;将剩下的报文特征在报文样本中表征的位置作为所述变异位。
[0009]可选地,所述基于所述变异位对所述多个报文样本进行变异,得到模糊测试用例,包括:基于种子选择指标,通过带权集合覆盖算法从所述多个报文样本中提取最佳报文样本集合,所述种子选择指标至少包括代码覆盖率、执行速度和文件大小中的一种;基于所述变异位对所述最佳报文样本集合中的报文样本进行变异,得到所述模糊测试用例。
[0010]可选地,所述基于所述变异位对所述最佳报文样本集合中的报文样本进行变异,包括:将所述变异位作为遗传变异算法的基本位,利用遗传变异算法对所述最佳报文样本集合中的报文样本进行变异。
[0011]可选地,所述方法还包括:若所述多个报文样本属于的工业协议结构类型未知,则通过层次聚类算法对所述多个报文样本进行聚类,以对所述多个报文样本进行工业协议结构类型划分;针对划分到同一个工业协议结构类型的报文样本,从当前工业协议结构类型的当前报文样本中提取当前报文特征;利用所述当前报文特征确定当前报文样本的当前变异位;基于所述当前变异位对所述当前报文样本进行变异,得到当前工业协议结构类型的模糊测试用例。
[0012]根据第二方面,本专利技术实施例提供了一种工业协议的模糊测试用例生成装置,所述装置包括:样本采集模块,用于获取多个报文样本;特征提取模块,用于若已知所述多个报文样本属于同一结构类型的工业协议,则从获取的报文样本中提取报文特征;变异位确定模块,用于利用所述报文特征确定报文样本的变异位,所述变异位表征报文样本用于进行变异的具体位置;用例生成模块,用于基于所述变异位对所述多个报文样本进行变异,得到模糊测试用例。
[0013]根据第三方面,本专利技术实施例提供了一种电子设备,包括:存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行第一方面,或者第一方面任意一种可选实施方式中所述的方法。
[0014]根据第四方面,本专利技术实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使所述计算机从而执行第一方面,或者第一方面任意一种可选实施方式中所述的方法。
[0015]本申请提供的技术方案,具有如下优点:
[0016]本申请提供的技术方案,针对属于同一结构类型的工业协议,从获取的大量报文样本中提取报文特征,从而根据提取的报文特征确定当前工业协议结构类型的报文中最具有代表性的具体位置,将确定的具体位作为变异位,从而基于变异位对多个报文样本进行
变异,得到的模糊测试用例能够适应当前的工业协议结构类型,避免随机生成的测试用例重复性太高,覆盖面没有针对性,从而避免出现测试用例的冗余,提高了对工业通信协议进行模糊测试的针对性。
附图说明
[0017]通过参考附图会更加清楚的理解本专利技术的特征和优点,附图是示意性的而不应理解为对本专利技术进行任何限制,在附图中:
[0018]图1示出了本专利技术一个实施方式中一种工业协议的模糊测试用例生成方法的步骤示意图;
[0019]图2示出了本专利技术一个实施方式中一种工业协议的模糊测试用例生成方法的流程示意图;
[0020]图3示出了本专利技术一个实施方式中一种工业协议的模糊测试用例生成装置的结构示意图;
[0021]图4示出了本专利技术一个实施方式中一种电子设备的结构示意图。
具体实施方式
[0022]为使本专利技术实施方式的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种工业协议的模糊测试用例生成方法,其特征在于,所述方法包括:获取多个报文样本;若已知所述多个报文样本属于同一结构类型的工业协议,则从获取的报文样本中提取报文特征;利用所述报文特征确定报文样本的变异位,所述变异位表征报文样本用于进行变异的具体位置;基于所述变异位对所述多个报文样本进行变异,得到模糊测试用例。2.根据权利要求1所述的方法,其特征在于,所述从获取的报文样本中提取报文特征,包括:对获取的报文样本进行聚类,并根据聚类结果确定获取的报文样本中的报文特征。3.根据权利要求2所述的方法,其特征在于,所述对获取的报文样本进行聚类,并根据聚类结果确定获取的报文样本中的报文特征,包括:将每一条报文样本拆分成校验位、报文体、报文头三部分,并构造每一条报文样本的标签;基于构造后的各条报文样本生成虚假数据,并基于构造后的各条报文样本和所述虚假数据生成聚类样本集;利用随机森林算法计算所述聚类样本集的相似度矩阵;基于所述相似度矩阵对所述聚类样本集进行层次聚类,并基于聚类结果得到报文特点集合,所述报文特点集合包括至少一个报文特点,所述报文特点对应聚类得到的类别,不同的报文特点用于表征多个报文样本之间存在的区别点;对所述报文特点集合中的每个报文特点进行特征提取,得到每个报文特点对应的所述报文特征。4.根据权利要求3所述的方法,其特征在于,所述利用所述报文特征确定报文样本的变异位,包括:计算每个报文特征的重要性指标,并基于计算的重要性指标将各个报文特征按照重要性大小进行降序排序;根据预设剔除比例,剔除其中重要性指标排序靠后的报文特征;返回所述计算每个报文特征的重要性指标,并基于计算的重要性指标将各个报文特征按照重要性大小进行降序排序的步骤,直至剩下预设数量的报文特征;将剩下的报文特征在报文样本中表征的位置作为所述变异位。5.根据权利要求1所述的方法,其特征在于,所述基于所述变异位对所述多个报文样本进行变异,得到模糊测试用例,包括:基于种子选择指标,通过...

【专利技术属性】
技术研发人员:肖棋元于佳文王峥瀛庄宇飞陈静王杰李雨欣
申请(专利权)人:中国长江三峡集团有限公司
类型:发明
国别省市:

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

1