边云协同下基于DCGAN的工业控制系统入侵检测架构及方法

文档序号:26103269发布日期:2021-07-30 18:14阅读:138来源:国知局
边云协同下基于DCGAN的工业控制系统入侵检测架构及方法

本发明属于工业控制系统安全防御领域,更具体地,涉及一种边云协同下基于dcgan的工业控制系统入侵检测架构及方法。



背景技术:

工业控制系统(industrialcontrolsystem,ics)广泛应用于军工、化工、水厂、电厂等各种关系国计民生的安全关键系统中,随着“工业4.0”时代的到临和“两化融合”脚步的加快,互联网、云计算等新兴技术与传统系统相结合,工业控制系统由传统产业向数字化、网络化和智能化转型升级,逐渐成为国家关键基础设施和各类工业生产的大脑和中枢神经。但同时工业控制系统遭受网络攻击的安全威胁也日益蔓延,一旦遭受攻击,将导致严重的事故。因此如何利用新兴技术保障工业控制系统的安全防护已成为目前的研究重点。

随着云计算在工业领域的应用,工业云平台为工业控制系统提供了大数据存储、大数据分析与挖掘以及通用的行业设计制造辅助等开放服务,工业应用和服务逐渐向云计算转移。但随着技术的不断发展、数据的不断增加,云计算线性增长的计算能力不能与数据量呈指数迅速增长的形势相匹配,日益严重的网络负载以及数据传输延迟问题使人们将目光转向边缘计算,并将其作为云的延伸扩展,以加快数据分析的速度,以便更好的做出决策。边缘计算通过利用终端设备所具备一定的计算能力,从数据源头上对数据进行相应的处理,从而缓解云计算中心的负载压力,减轻传输链路的网络负担。因此协同云计算与边缘计算最大效益地应用于工业控制系统的安全防护具有重大意义。

入侵检测是工业控制系统安全防护中重要的一步,为入侵响应提供入侵证据。现有的工业控制系统入侵检测技术多采用有监督分类模型,然而工业控制系统具有数据量大、维度高的特点,有监督分类方法前期需要对样本进行标记,工作量大且复杂。并且工业控制系统大多数情况都工作在正常的环境下,导致攻击数据样本过于少,数据样本不均衡,即使对攻击数据扩充也难以达到实际攻击样本的效果。



技术实现要素:

针对现有技术的以上缺陷或改进需求,本发明提供了一种边云协同下基于dcgan的工业控制系统入侵检测架构及方法,其目的在于在不影响原工业控制系统运行的情况下,采用边云协同方案降低构建入侵检测模型的复杂度,有效地提高入侵检测精度、缩短检测时间。

为实现上述目的,按照本发明的一个方面,提供了一种边云协同下基于dcgan的工业控制系统入侵检测架构,包括:云层、边缘层、通信网络层和现场层;

云层,用于接收并存储历史和实时的通信网络层数据特征和现场层数据特征,利用历史数据特征对dcgan网络进行半监督二分类的离线训练得到入侵检测模型参数,利用实时数据特征更新模型参数,将模型参数下发至边缘层;其中,入侵检测模型包括网络层入侵检测模型和现场层入侵检测模型;

边缘层,用于对现场设备运行数据和通信网络中的网络数据进行预处理,预处理后的通信网络层数据特征和现场层数据特征一方面上传至云层,另一方面分别送入网络层入侵检测模型和现场层入侵检测模型中检测,检测到的入侵攻击证据下发至通信网络层和现场层;

所述通信网络层,用于对工业控制系统通信网络中的网络数据进行实时采集,并根据通信网络层入侵检测证据执行通信网络层的入侵响应操作;

所述现场层,用于对工业控制系统现场设备运行数据进行实时采集,并根据现场层入侵检测证据执行现场层的入侵响应操作。

进一步地,数据预处理具体包括:

01.将通信网络数据和现场数据分别分为三类;

02.将方差小于设定阈值的数据特征过滤;

03.对数据的每一个维度进行归一化;

04.结合pca和lda算法对数据特征进行降维;

05.将降维后的数据特征转换为三通道二维数据;其中,通信网络对应的三通道二维数据由三类通信网络数据特征进行二维转换得到;现场数据特征对应的三通道二维数据由三类现场数据特征进行二维转换后,与前k-1时刻预处理后的数据特征组合得到。

进一步地,通信网络数据分为:基于传输层协议的通信行为数据特征、基于应用层协议的工业通信行为数据特征和基于流量特征的通信网络数据特征;现场数据分为:控制器数据、执行器数据以及传感器数据。

进一步地,云层包括数据加解密模块、工业数据库模块和dcgan离线训练模块;

工业数据库模块用于存储历史和实时的工业数据特征;

数据加解密模块用于解密边缘层上传的加密数据,和加密下发至边缘层的检测模型参数;

dcgan离线训练模块利用无标记的正常数据特征和有标记的异常数据特征进行半监督的dcgan训练,得到的dcgan判别器模型即为入侵检测模型,将dcgan判别器参数送入至数据加解密模块中加密,再下发至边缘层,更新边缘层中的检测模型参数。

进一步地,边缘层包括数据预处理模块、基于dcgan的实时入侵检测模块和数据加解密模块;

数据预处理模块对接收到的通信网络数据和现场设备数据分别进行预处理;

基于dcgan的实时入侵检测模块中的网络层入侵检测模型和现场层入侵检测模型分别接收预处理后的通信网络层数据特征和现场层数据特征,然后将检测到的入侵攻击证据下发至通信网络层和现场层,执行入侵响应操作;

数据加解密模块用于加密预处理后的数据特征,再上传至云层储存,解密云层下发的检测模型参数,用以更新入侵检测模型参数。

按照本发明的另一方面提供了一种基于上述边云协同下基于dcgan的工业控制系统入侵检测架构的入侵检测方法,包括:

s1.通信网络层和现场层分别实时采集通信网络中的网络数据和工业现场设备运行数据并发送至边缘层;

s2.边缘层对实时采集的网络流量数据和现场数据分别进行预处理;

s3.边缘层一方面将处理好的通信网络数据特征和现场数据特征发送至云层;另一方面,将处理好的通信网络数据特征和现场数据特征发送至实时入侵检测模块,由其中的网络层入侵检测模型和现场层入侵检测模型分别对通信网络层和现场层数据进行实时检测,并将检测到的入侵攻击证据下发至通信网络层和现场层,以执行入侵响应操作;

s4.云层将接收到的数据特征保存至工业数据库中,利用工业数据库中无标记的正常数据和有标记的异常数据进行半监督的dcgan训练;将训练得到的dcgan判别器参数下发至边缘层;

s5.边缘层利用接收到dcgan判别器参数更新基于dcgan的入侵检测模型参数。

优选地,云层与边缘层之间数据通信设置有加密和解密过程。

总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果。

(1)本发明采用边云协同方案,利用云平台的高速计算能力、海量存储空间以及全局分析特点实现入侵检测模型的离线训练,协同边缘计算的低时延特点实现实时入侵检测,为工业控制系统提供实时、全局的主动安全防护。

(2)本发明将dcgan应用至工业控制系统的入侵检测中,不仅能省去前期的数据样本标记过程,减少工作量,同时与复杂的深度学习检测模型相比,dcgan模型结构简单,不仅具有较高的检测精度,还能提高检测效率;并且检测模型能同时对通信网络层数据和现场层数据进行入侵检测,实现通信网络层和现场层的双闭环防护。

(3)本发明随数据预处理时首先将数据分为三类,尽可能覆盖有用的信息,将数据分类也更能凸显其数据规律。然后过滤掉无用的数据特征,再利用pca和lda算法进行数据特征提取和降维。最后将数据特征转化为三通道二维数据输入至卷积网络中。这种预处理方式在降低数据特征维度的同时,提高了数据的判别性能,有助于提高检测精度。

(4)本发明在边云入侵检测数据传输过程中加入了数据加解密模块,保证数据在传输过程中的机密性和完整性,并且加密时引入了时间参数,达到预防重放攻击的目的,从而保证入侵检测机制的安全性。

附图说明

图1是边云协同下基于dcgan的工业控制系统入侵检测架构图;

图2是dcgan入侵检测模型训练图;

图3是边云数据加密传输具体流程图;

图4是边云协同下基于dcgan的工业控制系统入侵检测方法具体流程图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。

生成对抗网络(generativeadversarialnetwork,gan)是一种无监督学习模型,由两个神经网络组成,生成器和判别器。生成器的目标是尽量生成真实的数据去欺骗判别器,而判别器的目标是尽量把生成的数据和真实的数据区分开来,生成器和判别器在不断的对抗中达到纳什均衡,最终生成器生成的数据能够迷惑判别器。其中判别器就是一种二分类模型,具有分类精度高的特点。而深度卷积生成对抗网络(deepconvolutionalgenerativeadversarialnetwork,dcgan)是使用卷积神经网络作为生成器和判别器的网络模型,dcgan具有强大的特征提取能力,适合处理数据量较大的样本。将dcgan应用至工业控制系统的入侵检测中,不仅能省去前期的数据样本标记过程,减少工作量,还能提高检测精度和检测效率。

参考图1,本发明提供的一种边云协同下基于dcgan的工业控制系统入侵检测架构,包括云层、边缘层、通信网络层和现场层;

云层部署有数据加解密模块、工业数据库模块和dcgan离线训练模块;数据加解密模块用于解密边缘层上传的加密数据,和加密下发至边缘层的检测模型参数;工业数据库模块用于存储历史的和实时的工业数据特征,其中历史数据特征用于dcgan训练,实时数据特征用于更新模型参数;dcgan离线训练模块利用工业数据库中无标记的正常数据特征和有标记的异常数据特征进行半监督的dcgan训练,得到的dcgan判别器模型即为入侵检测模型,将dcgan判别器参数送入至数据加解密模块中加密,再下发至边缘层,更新边缘层中的检测模型参数;

边缘层部署有数据预处理模块、基于dcgan的实时入侵检测模块和数据加解密模块;数据预处理模块对接收到的通信网络数据和现场设备数据分别进行预处理,在简化冗长的工业数据以及过滤无用的数据特征的同时,将数据特征转化为三通道二维数据的输入格式,利用dcgan中卷积网络强大的特征提取能力,提高训练和检测的精度;预处理后的通信网络层数据特征和现场层数据特征,分别送入基于dcgan的实时入侵检测模块中的网络层入侵检测模型和现场层入侵检测模型中检测,然后将检测到的入侵攻击证据下发至通信网络层和现场层,执行入侵响应操作;数据加解密模块用于加密预处理后的数据特征,再上传至云层储存,和解密云层下发的检测模型参数,用以更新入侵检测模型参数;

通信网络层对工业控制系统通信网络中的网络数据进行实时采集,并根据通信网络层入侵检测证据执行通信网络层的入侵响应操作;

现场层对工业控制系统现场设备运行数据进行实时采集,并根据现场层入侵检测证据执行现场层的入侵响应操作。

dcgan离线训练模块包括现场层入侵检测模型的训练和网络层入侵检测模型的训练;dcgan模型的训练过程如图2所示,包括如下过程:

01.使用无标记的正常数据和有标记的异常数据训练,训练前对异常数据进行标记。

02.首先使用未标记的正常数据x训练dcgan模型。

判别器的输入对象为正常数据x和生成器生成的假样本g(z),输出为判别结果,生成器的输入对象为噪声数据z,输出为假样本g(z)。

先利用正常数据训练判别器,使判别器学习正常数据的特征。

然后训练生成器,输入噪声数据z,生成假样本数据g(z),将g(z)输入至判别器中判别真假,返回损失函数值更新生成器参数,使生成器生成接近真实样本的数据。

在训练过程中生成器和判别器交替训练,直至判别器不能分辨真假数据,即判别器的输出d(g(z))=0.5,训练的优化目标为:

e为期望,x~pdata(x)表示数据来自真实样本,z~pz(z)表示数据来自生成的假样本。

模型的训练目标就是求解极小极大博弈,对于生成器希望d(g(z))尽可能大,即v(d,g)越小越好,对判别器则希望d(x)尽可能大,d(g(z))尽可能小,即v(d,g)越大越好。

其中生成器的损失函数为:

jgdg)=ez~pz(z)[ln(1-d(g(z)))]

θd为判别器参数,θg为生成器参数。

判别器的损失函数为:

jddg)=-ex~pdata(x)[lnd(x)]-ez~pz(z)[ln(1-d(g(z)))]

最大化maxv(d,g)等价于最小化min[-v(d,g)]。

03.使用标记的异常数据c训练dcgan的判别器模型,对判别器参数进行微调。

使用标记的异常数据训练上一步训练好的dcgan的判别器,标记的异常数据和未标记的正常数据交替输入至判别器中训练,训练的优化目标为:

c~pc(c)表示数据来自标记的异常数据样本。

判别器的损失函数为:

jdd)=-ex~pdata(x)[lnd(x)]-ec~pc(c)[ln(1-d(c))]。

最后训练好的判别器就是最终的分类器;dcgan训练为周期性的离线训练,定期在云层使用周期内存储的工业数据特征对dcgan模型进行再训练,得到的dcgan判别器参数下发至边缘层更新入侵检测模型参数。

数据预处理模块包括对通信网络数据的预处理和对现场数据的预处理。

对通信网络数据的预处理过程如下:

1)数据分类;

通信网络数据分为三类:

基于传输层协议的通信行为数据特征,以tcp/ip协议为例,如源ip地址、目的ip地址、ip包报文长度等;

基于应用层协议的工业通信行为数据特征,以modbus协议为例,如功能码、协议标识符、modbus报文长度等;

基于流量特征的通信网络数据特征,如端口连接时间、固定时间内的连接次数、数据包数量等;

2)数据过滤;

使用过滤法对反映工业通信行为的通信网络数据进行选择,选择方差作为过滤指标,选定较小的方差阈值δ,数据特征方差小于阈值δ时则表示特征对样本的区分没有作用进而过滤掉该特征。其中字符型数据使用one-hot编码方式转换为数值型数据。

3)数据归一化;

对数据的每一个维度进行归一化消除量纲的影响,计算公式为:

其中max(x)和min(x)是这一维度数据的最小值和最大值。

4)数据降维;

结合pca和lda算法对数据特征降维,在减少数据特征维数的同时提高数据特征的判别性能;具体过程如下:

设样本集合为x=[x1,x2,...,xm],其中样本个数为m,样本xi=[xi1,xi2,...,xin]t,其中数据特征个数为n,μ=[μ1,μ2,...,μn]t为样本均值,则协方差矩阵c为:

求取协方差矩阵c的非零特征值λ=(λ1,λ2,...,λn),并按照降序方式排列,进而求取特征向量p=(p1,p2,...,pn)t,选择贡献率大于90%的前r个特征值对应的特征向量,则pca降维的投影矩阵为ppca=(p1,p2,...,pr)t

将数据特征x投影到pca子空间得:y=ppcax;

设样本类别数为q,类别为i的样本数为qi,则投影后的类别为i的样本均值为分别计算lda算法中的类内散布矩阵sw,和类间散布矩阵sb:

则lda投影子空间w满足:

用拉格朗日乘子法求解最优的w即为sw-1sb的最大的特征向量wlda;

所以最终的特征降维可表示为:z=wldappcax。

5)将降维后的数据特征转换为三通道二维数据;

具体地,对三类通信网络数据特征分别进行二维转换,得到三类二维数据,然后将其组合为三通道二维数据作为网络层入侵检测模型的输入。

对现场数据的预处理过程如下:

同样将现场数据分为三类:控制器数据、执行器数据以及传感器数据,然后使用过滤法对反映现场数据趋势性的现场设备运行数据进行选择,选择方差作为过滤指标。

同样进行数据归一化。

结合pca和lda算法对数据特征降维。

将降维后的数据特征转换为三通道二维数据,与通信网络数据不同的是,现场层的三类二维数据是由三类数据实时的数据特征与前k-1时刻的预处理后的数据特征组合得到,目的是利用现场数据的趋势性来检测异常数据,然后同样将其组合为三通道二维数据作为现场层入侵检测模型的输入。

本发明数据预处理将数据分为三类作为卷积网络三个通道的输入,使模型从三个不同的维度去学习数据特征。与现有技术只采用其中一类数据相比,本方法的三类数据尽可能覆盖了系统中能够用于入侵检测的数据,检测范围广;而与采用不分类数据的技术相比,本方法将数据分成三类作为卷积网络每个通道的输入,相同类别的数据更能凸显数据规律,同时结合卷积网络对海量数据的强大的学习能力,有助于缩短检测时间,提高检测精度。

云层与边缘层之间设置数据加密,边云数据加密传输流程图如图3所示。加密算法采用混合加密算法,使用对称加密密钥加密明文和时间参数,时间参数用于预防重放攻击;再使用云层的非对称加密公钥加密对称加密密钥,保证密钥的安全性,从而保证数据的机密性;同时提取密文的摘要,以保证数据传输过程的完整性。具体加密步骤如下:

01.首先使用aes密钥加密明文和时间参数得到密文,时间参数选择当前时间,用于解密时判别数据是否异常。

02.然后使用md5算法提取密文摘要。

03.最后使用云层的rsa公钥加密密文摘要和aes密钥,将密文以及加密的密文摘要和aes密钥一同发送至云层。

04.云层接收边缘层上传的密文以及加密的密文摘要和aes密钥,通过判断密文摘要和时间参数是否异常来判别数据的完整性和有效性。具体解密步骤如下:

05.首先使用rsa私钥解密得到密文摘要和aes密钥。

06.然后使用md5算法对接收到的密文提取摘要,将新的密文摘要与解密得到密文摘要对比,若一致则数据未被篡改,进行下一步,若不一致则丢弃数据。

07.最后使用解密得到的aes密钥解密密文,得到明文和时间参数,判断时间参数是否重复,即之前是否收到相同时间参数的数据,若是则可能遭受重放攻击,丢弃数据,若否则明文数据有效。

参考图4,结合上述入侵检测架构,本发明还提供了一种入侵检测方法,包括:

s1.通信网络层和现场层分别实时采集通信网络中的网络数据和工业现场设备运行数据并发送至边缘层;

s2.边缘层对实时采集的网络流量数据和现场数据分别进行预处理;

s3.边缘层一方面将处理好的通信网络数据特征和现场数据特征发送至云层;另一方面,将处理好的通信网络数据特征和现场数据特征发送至实时入侵检测模块,由其中的网络层入侵检测模型和现场层入侵检测模型分别对通信网络层和现场层数据进行实时检测,并将检测到的入侵攻击证据下发至通信网络层和现场层,以执行入侵响应操作;

s4.云层将接收到的数据特征保存至工业数据库中,利用工业数据库中无标记的正常数据和有标记的异常数据进行半监督的dcgan训练;将训练得到的dcgan判别器参数下发至边缘层;

s5.边缘层利用接收到dcgan判别器参数更新基于dcgan的入侵检测模型参数。方法步骤的具体实施过程与架构中所含各个模块的功能和实施过程对应一致。

本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1