模糊测试用例生成方法、系统、计算机设备及存储介质技术方案

技术编号:30333264 阅读:14 留言:0更新日期:2021-10-10 00:55
本发明专利技术涉及工控协议的模糊测试技术领域,公开了一种模糊测试用例生成方法、系统、计算机设备及存储介质,包括获取工业控制通讯协议数据集;根据工业控制通讯协议数据集中的数据,利用生成对抗网络获取对抗网络训练模型;根据对抗网络训练模型,获取模糊测试用例样本。利用生成对抗网络的机器学习建模方法来生成工业控制协议模糊测试的测试用例。将工业控制通讯协议数据集作为先验样本进行网络学习,利用完成学习后的生成对抗网络对于工业控制协议数据的结构进行学习建模,根据对抗网络训练模型获取模糊测试用例样本。通过对抗网络训练模型获取的测试数据既能有效地针对工控协议,又能避免变异策略过于单一,从而提高模糊测试的效率和可靠性。测试的效率和可靠性。测试的效率和可靠性。

【技术实现步骤摘要】
模糊测试用例生成方法、系统、计算机设备及存储介质


[0001]本专利技术涉及工控协议的模糊测试
,特别是涉及一种模糊测试用例生成方法、系统、计算机设备及存储介质。

技术介绍

[0002]在当前工业信息化快速发展的大环境下,工控系统由最早专用的计算机实时监控系统发展到日前广泛应用互联网信息技术的综合业务系统,在提高系统集成水平的同时也引入了新的安全问题。当工业控制通信协议实现过程中的安全漏洞受到攻击者的影响时,整个系统的正常工作就会受到影响。而传统的模糊测试作为安全漏洞的主要的分析测试方法之一,却存在着测试用例针对性不够强大、应对变异策略过于单一等问题。

技术实现思路

[0003]基于此,有必要针对在工控协议的模糊测试中存在的测试用例生成有效性的问题,提供一种模糊测试用例生成方法、系统、计算机设备及存储介质。
[0004]一种模糊测试用例生成方法,包括获取工业控制通讯协议数据集;根据所述工业控制通讯协议数据集中的数据,利用生成对抗网络获取对抗网络训练模型;根据所述对抗网络训练模型,获取模糊测试用例样本。
[0005]上述模糊测试用例生成方法,获取工业控制通讯协议数据集,利用生成对抗网络的机器学习建模方法来生成工业控制协议模糊测试的测试用例。将工业控制通讯协议数据集作为先验样本进行网络学习,利用完成学习后的生成对抗网络对于工业控制协议数据的结构进行学习建模,根据对抗网络训练模型获取模糊测试用例样本。通过对抗网络训练模型获取的测试数据既能有效地针对工控协议,又能够避免变异策略过于单一,从而能够提高模糊测试的效率和可靠性。
[0006]在其中一个实施例中,所述获取工业控制通讯协议数据集包括获取工控系统的运行数据;根据所述工控系统的运行数据,获得若干类所述工业控制通讯协议数据集。
[0007]在其中一个实施例中,所述根据所述工控系统的运行数据,获得若干类所述工业控制通讯协议数据集包括对所述运行数据中已知工控协议的数据进行分类,以获取不同类型的所述工业控制通讯协议数据集;对所述运行数据中未知工控协议的数据进行聚类,并对聚类后获取的集合中数据数量小于预设阈值的集合进行数据扩增,以获取不同类型的所述工业控制通讯协议数据集。
[0008]在其中一个实施例中,在获取工业控制通讯协议数据集后,所述方法还包括随机对所述工业控制通讯协议数据集进行划分,获取训练数据集和验证数据集。
[0009]在其中一个实施例中,所述根据所述工业控制通讯协议数据集中的数据,利用生成对抗网络获取对抗网络训练模型包括通过矩阵变化将所述工业控制通讯协议数据集中的数据转化为二维矩阵;将所述二维矩阵作为网络学习的输入,令所述生成对抗网络进行网络学习;使用网络学习后的所述生成对抗网络建立所述对抗网络训练模型。
[0010]在其中一个实施例中,所述生成对抗网络包括生成网络和判别网络,所述使用网络学习后的所述生成对抗网络建立所述对抗网络训练模型包括将一组符合高斯正态分布的随机噪声矩阵作为所述生成网络的输入,获取构造数据;使用所述判别网络对所述构造数据与所述工业控制通讯协议数据集中的数据进行比较,获取判别结果;根据所述判别结果,使用所述对抗损失函数对所述生成对抗网络的优化训练过程进行约束直至所述生成对抗网络收敛,获取所述对抗网络训练模型。
[0011]在其中一个实施例中,所述根据所述对抗网络训练模型,获取模糊测试用例样本包括将所述对抗网络训练模型的参数加载到所述生成对抗网络中;将一组符合高斯正态分布的随机噪声矩阵作为所述生成对抗网络的输入,通过所述生成对抗网络获取模糊测试用例;通过矩阵逆变换将所述模糊测试用例转换为数据的形式进行保存,获取所述模糊测试用例样本。
[0012]一种模糊测试用例生成系统,包括数据获取模块,用于获取工业控制通讯协议数据集;模型生成模块,用于根据所述工业控制通讯协议数据集中的数据,利用生成对抗网络获取对抗网络训练模型;样本生成模块,用于根据所述对抗网络训练模型,获取模糊测试用例样本。
[0013]一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任意一项实施例所述的模糊测试用例生成方法的步骤。
[0014]一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项实施例所述的模糊测试用例生成方法的步骤。
附图说明
[0015]为了更清楚地说明本说明书实施方式或现有技术中的技术方案,下面将对实施方式或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0016]图1为本专利技术其中一实施例的模糊测试用例生成方法的方法流程示意图;
[0017]图2为本专利技术其中一实施例的获取工业控制通讯协议数据集的方法流程示意图;
[0018]图3为本专利技术其中一实施例的对运行数据进行分类获取对抗网络训练模型的方法流程示意图;
[0019]图4为本专利技术其中一实施例的获取对抗网络训练模型的方法流程示意图;
[0020]图5为本专利技术其中一实施例的建立对抗网络训练模型的方法流程示意图;
[0021]图6为本专利技术其中一实施例的获取模糊测试用例样本的方法流程示意图;
[0022]图7为本专利技术其中一实施例的模糊测试用例生成系统的结构框图;
[0023]图8为本专利技术其中一实施例的一种模糊测试用例生成装置或系统S00的框图。
具体实施方式
[0024]为了便于理解本专利技术,下面将参照相关附图对本专利技术进行更全面的描述。附图中给出了本专利技术的优选实施方式。但是,本专利技术可以以许多不同的形式来实现,并不限于本文所描述的实施方式。相反的,提供这些实施方式的目的是为了对本专利技术的公开内容理解得
更加透彻全面。
[0025]除非另有定义,本文所使用的所有的技术和科学术语与属于本专利技术的
的技术人员通常理解的含义相同。本文中在本专利技术的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本专利技术。本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。
[0026]模糊测试(Fuzzing),是一种通过向目标系统提供非预期的输入并监视异常结果来发现软件漏洞的方法。通常情况下,在实现工业控制通信协议模糊测试时,需要对工业控制通讯协议类型有完整了解,包括需要获知协议报文的定义格式。然而,协议覆盖率低,且获取工业控制通讯协议及其协议构造和会话过程较为困难,因此在面对未知或者未开源的工业控制通讯协议时无法构建出对应协议的解析器。另外,还存在盲目发送测试用例容易造成测试用例数量爆炸等问题。
[0027]为了克服在工控协议的模糊测试中存在的测试用例生成有效性的难题,公开了一种模糊测试用例生成方法。图1为本专利技术其中一实施例的模糊测试用例生成方法的方法流程示意图,在其中一本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种模糊测试用例生成方法,其特征在于,包括:获取工业控制通讯协议数据集;根据所述工业控制通讯协议数据集中的数据,利用生成对抗网络获取对抗网络训练模型;根据所述对抗网络训练模型,获取模糊测试用例样本。2.根据权利要求1所述的模糊测试用例生成方法,其特征在于,所述获取工业控制通讯协议数据集包括:获取工控系统的运行数据;根据所述工控系统的运行数据,获得若干类所述工业控制通讯协议数据集。3.根据权利要求2所述的模糊测试用例生成方法,其特征在于,所述根据所述工控系统的运行数据,获得若干类所述工业控制通讯协议数据集包括:对所述运行数据中已知工控协议的数据进行分类,以获取不同类型的所述工业控制通讯协议数据集;对所述运行数据中未知工控协议的数据进行聚类,并对聚类后获取的集合中数据数量小于预设阈值的集合进行数据扩增,以获取不同类型的所述工业控制通讯协议数据集。4.根据权利要求1

3任一项所述的模糊测试用例生成方法,其特征在于,在获取工业控制通讯协议数据集后,所述方法还包括:随机对所述工业控制通讯协议数据集进行划分,获取训练数据集和验证数据集。5.根据权利要求1所述的模糊测试用例生成方法,其特征在于,所述根据所述工业控制通讯协议数据集中的数据,利用生成对抗网络获取对抗网络训练模型包括:通过矩阵变化将所述工业控制通讯协议数据集中的数据转化为二维矩阵;将所述二维矩阵作为网络学习的输入,令所述生成对抗网络进行网络学习;使用网络学习后的所述生成对抗网络建立所述对抗网络训练模型。6.根据权利要求5所述的模糊测试用例生成方法,其特征在于,所...

【专利技术属性】
技术研发人员:金先涛云雷陈冲马燕娇
申请(专利权)人:中国电子产品可靠性与环境试验研究所工业和信息化部电子第五研究所中国赛宝实验室
类型:发明
国别省市:

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

1