掌桥专利:专业的专利平台
掌桥专利
首页

结合自注意力机制的模糊测试漏洞挖掘方法

文献发布时间:2023-06-19 16:04:54



技术领域

本发明主要涉及计算机技术领域,尤其涉及结合自注意力机制的模糊测试漏洞挖掘方法。

背景技术

全世界的工业大国都将工控安全问题提到国家战略层面。我们国家非常重视工业控制系统的安全工作。如何保障和提高工控系统的安全性成为一个迫在眉睫的问题。而通信安全作为工业安全的一个重要组成部分,因此,如何有效保障通信安全,提前找出系统潜在的攻击点显得十分重要。在工业控制系统中存在诸多通讯协议,如Powerlink、Modbus、EtherCAT、Profinet等。这些协议因为自己特有的机制,而存在黑客利用的漏洞。加上一些协议的设计没有经过严格的验证,导致协议是不安全的,容易受到攻击。

因此,如何发现工控系统中潜在的威胁,以保证工业通信安全是本领域亟需解决的技术问题。

发明内容

为解决以上问题,本发明提出了结合自注意力机制的模糊测试漏洞挖掘方法,通过对大量通信数据模式的挖掘,可以获得一个特定的生成模型来生成类似的工控系统通信数据,将生成的数据发送到待测试的工控系统,并记录系统产生的异常行为进而来发现工控系统的漏洞,并且不需要利用协议规范,解决了传统的网络协议模糊测试方法严重依赖于协议规范的问题。

具体的,本发明提出了一种结合自注意力机制的模糊测试漏洞挖掘方法,包括:

数据捕获步骤,对工控系统中的通信数据进行捕获;

数据预处理步骤,根据工控系统中的通信数据构建第一样本数据集;

模型搭建步骤,搭建结合自注意力机制的基于生成对抗网络的模糊测试漏洞挖掘模型;

模型训练步骤,基于所述第一样本数据集对所述模型进行训练,得到第一可用模型;

模糊测试数据生成步骤,利用所述第一可用模型生成模糊测试数据来对工控系统进行攻击测试,以发现工控系统中的漏洞。

优选的,如上所述的结合自注意力机制的模糊测试漏洞挖掘方法,还包括:

异常数据收集步骤,将引起工控系统异常的模糊测试数据收集起来并做变异处理,以构建第二样本数据集;

模型重新训练步骤,基于所述第二样本数据集重新训练所述模型,得到第二可用模型;

模糊测试数据重新生成步骤,利用所述第二可用模型生成模糊测试数据来对工控系统进行攻击测试,以发现工控系统中的漏洞。

优选的,如上所述的结合自注意力机制的模糊测试漏洞挖掘方法,所述数据捕获步骤同时对工控系统中不同类型的通信数据进行捕获。

优选的,如上所述的结合自注意力机制的模糊测试漏洞挖掘方法,所述数据预处理步骤包括数据转换步骤、数据分类步骤和数据扩增步骤。

优选的,如上所述的结合自注意力机制的模糊测试漏洞挖掘方法,所述数据转换步骤将工控系统中的通信数据转换为十进制数据的向量格式;所述数据分类步骤使用预设聚类算法对转换后的通信数据进行分类处理,并得到各类别通信数据的占比;所述数据扩增步骤将占比小于预设比例的通信数据扩增至所述预设比例,以得到第一样本数据集。

优选的,如上所述的结合自注意力机制的模糊测试漏洞挖掘方法,所述模型训练步骤包括样本分集步骤、训练步骤和验证步骤。

优选的,如上所述的结合自注意力机制的模糊测试漏洞挖掘方法,所述样本分集步骤将所述第一样本数据集分为训练集和验证集;所述训练步骤基于所述训练集对所述模型进行训练,得到初始模型;所述验证步骤基于所述验证集对所述初始模型进行验证,得到第一可用模型。

优选的,如上所述的结合自注意力机制的模糊测试漏洞挖掘方法,所述模型重新训练步骤定期自动导出模型训练中调整后的参数到一个检查点;当模型出现异常时,从最近的检查点进行模型恢复。

本发明所述的结合自注意力机制的模糊测试漏洞挖掘方法,具有如下有益效果:

通过对大量通信数据模式的挖掘,可以获得一个特定的生成模型来生成类似的工控系统通信数据,将生成的数据发送到待测试的工控系统,并记录系统产生的异常行为进而来发现工控系统的漏洞,并且不需要利用协议规范,解决了传统的网络协议模糊测试方法严重依赖于协议规范的问题。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。

在附图中:

附图1示出了根据本发明实施例一的结合自注意力机制的模糊测试漏洞挖掘方法的流程图;

附图2示出了根据本发明实施例一的系统整体结构框架;

附图3示出了根据本发明实施例一的数据预处理步骤的流程图;

附图4示出了根据本发明实施例一的模型训练步骤的流程图;

附图5示出了根据本发明实施例一的另一种结合自注意力机制的模糊测试漏洞挖掘方法的流程图;

附图6示出了根据本发明实施例一的模型训练的整体流程图;

附图7示出了根据本发明实施例一的通信数据捕获的示意图;

附图8示出了根据本发明实施例一的将模型模糊测试的结果存入日志的示意图;

附图9示出了根据本发明实施例二的结合自注意力机制的模糊测试漏洞挖掘系统的结构图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施方式。虽然附图中显示了本公开的示例性实施方式,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

实施例一

如图1所示,本发明实施例一提供了一种结合自注意力机制的模糊测试漏洞挖掘方法100,所述系统包括如下步骤:

数据捕获步骤110,对工控系统中的通信数据进行捕获。

具体的,工控系统中会存在多种类型的通信数据,例如常规以太网通信数据、工业以太网通信数据以及其他现场总线通信数据,不同类型通信数据的数据包格式是不相同的,例如数据包中的网络协议是不相同的。

具体的,所述数据捕获步骤110同时对工控系统中不同类型的通信数据进行捕获。例如,镜像端口采集装置采集常规以太网通信数据,工业以太网采集装置采集工业以太网通信数据,其他采集装置采集其他现场总线通信数据,如图2所示。为了便于理解,如图7所示为本申请提供的通信数据捕获的示意图。

数据预处理步骤120,根据工控系统中的通信数据构建第一样本数据集。

在实际运行的工控系统中,可以捕获到大量的通信数据,这些数据以十六进制的格式显示,同时不同类型的数据所占比重上差别很大,为了构建合理的样本数据集,本申请采取数据预处理步骤120对原生数据进行处理,将处理好的数据组成训练模型的样本数据集。

如图3所示,所述数据预处理步骤120包括数据转换步骤121、数据分类步骤122和数据扩增步骤123。

具体的,所述数据转换步骤121将工控系统中的通信数据转换为十进制数据的向量格式;例如将十六进制的格式转换为十进制的向量格式。所述数据分类步骤122使用预设聚类算法对转换后的通信数据进行分类处理,并得到各类别通信数据的占比;预设聚类算法可以是基于距离的聚类算法,本申请不做限定。所述数据扩增步骤123将占比小于预设比例的通信数据扩增至所述预设比例,以得到第一样本数据集。本申请对数据占比较小的通信数据进行扩增以增加其在模型训练时候的影响力。

具体的,获得包含特征数据的十进制文件后,将这些数据处理成等长的文件,例如可以设置一些标记进行填充,在经过学习生成之后,再将这些标记去除,恢复应有的长度,将这些文件存入协议通信数据集。

完成预处理操作之后,模型的输入数据已经准备完成,接下来需要搭建神经网络模型。

模型搭建步骤130,搭建结合自注意力机制的基于生成对抗网络的模糊测试漏洞挖掘模型。

深度学习擅长从大量数据中挖掘知识和模式,因此将特定深度学习技术与工业通信安全保障相结合,是解决工控系统安全的一种可选手段。

具体的,结合自注意力机制的模糊测试漏洞挖掘模型的训练需要大量的样本数据,因此本申请在模型训练前构建了上述第一样本数据集。设计合理的模型结构使生成的数据不仅格式正确,而且内容上存有差异,以引发系统更多异常。

模型训练步骤140,基于所述第一样本数据集对所述模型进行训练,得到第一可用模型。神经网络模型给一定的输入就可以输出对应的输出,模型的训练过程可以形式化表示为求解一个函数的过程。通过设计合理的模型结构使生成的数据不仅仅格式正确,而且内容上存有差异。通过在基于无监督对抗学习的模糊数据生成模型中引入了自注意力机制,使得模型可以消耗更少的计算量,减少时间,提高效率。

如图4所示,所述模型训练步骤140包括样本分集步骤141、训练步骤142和验证步骤143。根据设定的训练策略和参数设置进行训练。

具体的,所述样本分集步骤141将所述第一样本数据集分为训练集和验证集;所述训练步骤142基于所述训练集对所述模型进行训练,得到初始模型;所述验证步骤143基于所述验证集对所述初始模型进行验证,得到第一可用模型。

具体的,搭建完成结合自注意力机制的模糊测试漏洞挖掘模型后,当模型训练好之后,表明模型在训练数据上达到了效果,但模型的最终目的是要用到新的数据中去应用,因此需要对模型进行验证。确保模型在验证集上表现的和训练数据集上的表现相差不大的时候,可以推断模型得到了有效的训练。在经过训练阶段和验证阶段之后,获得了较为理想的模型参数。

模糊测试数据生成步骤150,利用所述第一可用模型生成模糊测试数据来对工控系统进行攻击测试,以发现工控系统中的漏洞。

如图2所示,数据模式挖掘学习形成多个模型,包括生成模型集合和判定模型集合,当模型训练好之后,使用训练好的模型作为生成测试数据的引擎来生成多样性的测试数据,将生成的测试数据保存在文档中,用于后续的攻击测试。

具体的,用构建好的模型生成模糊测试数据来对工控系统进行攻击测试,攻击工控系统以发现漏洞,对工控系统给出的反馈进行进一步的分析。

具体的,可以分别将测试数据按一定的策略发送到目标工控系统,对目标工控系统进行攻击,然后接收并记录目标工控系统的反馈信息。对模型模糊测试的结果存入日志并进行分析,如图8所示。

本申请可以智能的学习原生数据帧的格式从而可以生成类似格式的数据帧用于对目标工控系统进行攻击。通过对大量通信数据模式的挖掘,可以获得一个特定的生成模型来生成类似的工控系统通信数据。将生成的通信数据发送到待测试的工控系统,并记录系统产生的异常行为进而来发现系统的漏洞。

如图5所示,所述系统还包括如下步骤:

异常数据收集步骤160,将引起工控系统异常的模糊测试数据收集起来并做变异处理,以构建第二样本数据集;

模型重新训练步骤170,基于所述第二样本数据集重新训练所述模型,得到第二可用模型;具体的,所述模型重新训练步骤170定期自动导出模型训练中调整后的参数到一个检查点;当模型出现异常时,从最近的检查点进行模型恢复,增加模型的可用性,减少时间的浪费。

模糊测试数据重新生成步骤180,利用所述第二可用模型生成模糊测试数据来对工控系统进行攻击测试,以发现工控系统中的漏洞。

具体的,对目标工控系统模糊测试后,本申请增加了一个重新训练模型的环节,将引起目标工控系统异常的通信数据收集并做变异处理,用来重新训练模型。变异处理的目的是对收集的通信数据做微小的改变,使其与原始数据不同,用于重新训练模型。

为了便于理解,如图6所示为本申请提供的模型训练的整体流程图。

本实施例提供的结合自注意力机制的模糊测试漏洞挖掘方法,通过基于对抗学习的自动化测试方法,实现自我学习的自动化测试功能,以检测各种设备与通讯器件的可靠性与安全性,以发现潜在的漏洞与问题;并且不需要利用协议规范,解决了传统的网络协议模糊测试方法严重依赖于协议规范的问题,而且,本系统不仅支持主流的、具有公开规范的工控网络协议的测试,而且支持私有的、没有公开规范的工控网络协议的测试。提前发现潜在的威胁并进行修补,对保障国家基础设施安全,制造业安全,人民安全都具有重要现实意义。

实施例二

如图9所示,本发明实施例二提供了一种结合自注意力机制的模糊测试漏洞挖掘系统,包括:

数据捕获模块110,用于对工控系统中的通信数据进行捕获;

数据预处理模块120,用于根据工控系统中的通信数据构建第一样本数据集;

模型搭建模块130.,用于搭建结合自注意力机制的基于生成对抗网络的模糊测试漏洞挖掘模型;

模型训练模块140,用于基于所述第一样本数据集对所述模型进行训练,得到第一可用模型;

模糊测试数据生成模块150,用于利用所述第一可用模型生成模糊测试数据来对工控系统进行攻击测试,以发现工控系统中的漏洞。

优选的,所述系统还包括:

异常数据收集模块,用于将引起工控系统异常的模糊测试数据收集起来并做变异处理,以构建第二样本数据集;

模型重新训练模块,用于基于所述第二样本数据集重新训练所述模型,得到第二可用模型;

模糊测试数据重新生成模块,用于利用所述第二可用模型生成模糊测试数据来对工控系统进行攻击测试,以发现工控系统中的漏洞。

需要说明的是:

在此提供的算法和显示不与任何特定计算机、虚拟装置或者其它设备固有相关。各种通用装置也可以与基于在此的示教一起使用。根据上面的描述,构造这类装置所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的系统、结构和技术,以便不模糊对本说明书的理解。

类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一根或多根,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的系统解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。

本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一根或多根设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个单元或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何系统或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。

此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的虚拟机的创建装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的系统的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。

应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或模块。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

相关技术
  • 结合自注意力机制的模糊测试漏洞挖掘方法
  • 结合自注意力机制的模糊测试漏洞挖掘系统
技术分类

06120114691598