CN107203199A - 一种工控网络安全预警方法及*** - Google Patents
一种工控网络安全预警方法及*** Download PDFInfo
- Publication number
- CN107203199A CN107203199A CN201710438919.2A CN201710438919A CN107203199A CN 107203199 A CN107203199 A CN 107203199A CN 201710438919 A CN201710438919 A CN 201710438919A CN 107203199 A CN107203199 A CN 107203199A
- Authority
- CN
- China
- Prior art keywords
- data
- safety
- industry control
- control network
- event
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 42
- 238000012545 processing Methods 0.000 claims abstract description 41
- 238000013135 deep learning Methods 0.000 claims abstract description 30
- 238000004458 analytical method Methods 0.000 claims abstract description 22
- 238000010219 correlation analysis Methods 0.000 claims description 13
- 238000013136 deep learning model Methods 0.000 claims description 12
- 231100000279 safety data Toxicity 0.000 claims description 10
- 238000012549 training Methods 0.000 claims description 8
- 238000005457 optimization Methods 0.000 claims description 3
- 230000004044 response Effects 0.000 abstract description 5
- 238000013499 data model Methods 0.000 description 17
- 238000011156 evaluation Methods 0.000 description 10
- 238000004422 calculation algorithm Methods 0.000 description 9
- 238000013528 artificial neural network Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 238000010801 machine learning Methods 0.000 description 7
- 230000001276 controlling effect Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000000306 recurrent effect Effects 0.000 description 4
- 230000006978 adaptation Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000036544 posture Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000008676 import Effects 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 238000012954 risk control Methods 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 238000012550 audit Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 239000013256 coordination polymer Substances 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000001747 exhibiting effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000003064 k means clustering Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- ZLIBICFPKPWGIZ-UHFFFAOYSA-N pyrimethanil Chemical compound CC1=CC(C)=NC(NC=2C=CC=CC=2)=N1 ZLIBICFPKPWGIZ-UHFFFAOYSA-N 0.000 description 1
- NHDHVHZZCFYRSB-UHFFFAOYSA-N pyriproxyfen Chemical compound C=1C=CC=NC=1OC(C)COC(C=C1)=CC=C1OC1=CC=CC=C1 NHDHVHZZCFYRSB-UHFFFAOYSA-N 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 238000013215 result calculation Methods 0.000 description 1
- 239000000344 soap Substances 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B23/00—Testing or monitoring of control systems or parts thereof
- G05B23/02—Electric testing or monitoring
- G05B23/0205—Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
- G05B23/0218—Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterised by the fault detection method dealing with either existing or incipient faults
- G05B23/0224—Process history based detection method, e.g. whereby history implies the availability of large amounts of data
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Computer And Data Communications (AREA)
Abstract
本公开是关于一种工控网络安全预警方法及***,其中所述工控网络安全预警方法包括:获取工控网络的控制事件的安全相关数据;对所述安全相关数据进行CEP分析;以及采用基于深度学习的分类器对经CEP分析后的数据进行控制事件的风险识别。本公开实施例的工控网络安全预警方法及***可以部署于资源受限的工控现场,适合于单节点或者多个节点部署环境,部署方式更为灵活。并且,在工控现场的部署方法减少了网络延迟,提高了实时数据的处理响应速度,提高了风险预警能力。另外,采用基于深度学习的分类器进行风险识别,识别的准确率更高,而CEP分析和深度学习方案的结合又使得风险识别的效率大幅度提高。
Description
技术领域
本公开涉及工控网络领域,尤其涉及一种工控网络安全预警方法及***。
背景技术
随着工业控制***与互联网的不断融合,工业控制***不可避免地暴露在网络安全威胁之下,使得工控网络的安全性、稳定性变得越来越不可控。据统计,当前工控网络中70%的联网设备存在安全漏洞,而预计未来接入物联网的90%的软硬件设备会存在一定程度的安全隐患,因此工控网络安全问题亟待解决。
目前针对工控网络安全,绝大多数厂商的解决方案都是按照定制的安全规则对工控数据包进行过滤,对命中黑名单的操作进行告警。相关技术中,配置了安全大数据平台以执行这一功能。一般的安全大数据平台是集大数据存储、查询和分析于一体的统一平台,以较大的数据中心和大型集群服务器为支持,以海量数据处理引擎和实时数据处理引擎为核心,并针对城市、物联网等数据和计算密集型行业的运行维护、应用开发等需求,打造了开放性分布式软件体系。
但是,对于该安全大数据平台,从大数据专业角度看,其是一个集成大数据处理和实时数据处理的通用平台。但对于工控现场来说,其存在以下问题:
1)工控现场一般缺少很大的数据中心,不能支持大型集群服务器的部署;
2)工控现场网络结构比较简单、单一,不能满足复杂、大量、高速的数据传输要求;
3)工控网络的实时数据处理一般都需要约50毫秒的响应时间,而上述安全大数据平台由于复杂的网络结构,导致网络延迟较大,无法满足数据实时处理的要求;
4)上述安全大数据平台的算法模型比较单一,处理能力有限。
因此,有必要开发适用于工控现场的新的工控网络安全预警方案。
发明内容
为克服相关技术中存在的问题,本公开提供一种工控网络安全预警方法及***。
根据本公开实施例的第一方面,提供一种工控网络安全预警方法,包括:获取工控网络的控制事件的安全相关数据;对所述安全相关数据进行CEP(complex eventprocessing,复合事件处理)分析;以及采用基于深度学习的分类器对经CEP分析后的数据进行控制事件的风险识别。
根据本公开实施例的第二方面,提供一种工控网络安全预警***,包括:数据获取模块,用于获取工控网络的控制事件的安全相关数据;第一处理模块,用于对所述安全相关数据进行CEP分析;以及第二处理模块,用于采用基于深度学习的分类器对经CEP分析后的数据进行控制事件的风险识别。
本公开的实施例提供的技术方案可以包括以下有益效果:本公开实施例的工控网络安全预警方法及***可以部署于资源受限的工控现场,适合于单节点或者多个节点部署环境,部署方式更为灵活。并且,在工控现场的部署方法减少了网络延迟,提高了实时数据的处理响应速度,提高了风险预警能力。另外,采用基于深度学习的分类器进行风险识别,识别的准确率更高,而CEP分析和深度学习方案的结合又使得风险识别的效率大幅度提高。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1是根据一示例性实施例示出的一种工控网络安全预警方法的流程图。
图2是根据一示例性实施例示出的CEP***的架构框图。
图3是根据一示例性实施例示出的事件的相关性分析的流程图。
图4是根据一示例性实施例示出的事件的相关性分析的原理图。
图5是根据一示例性实施例示出的按时间展开的递归神经网络的原理图。
图6是根据另一示例实施例示出的工控网络安全预警***的结构框图。
图7是根据另一示例实施例示出的构建示例工控网络安全预警***的技术框架图。
图8是根据另一示例实施例示出的实时流式数据处理框架与深度学习框架的集成方案的原理图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
图1是根据一示例性实施例示出的一种工控网络安全预警方法的流程图,如图1所示,所述工控网络安全预警方法主要包括以下步骤。
在步骤S11中,获取工控网络的控制事件的安全相关数据。
其中,所述安全相关数据可以包括工控网络的历史安全数据、历史审计数据、实时安全数据和实时审计数据。
这里,对于历史数据和实时数据的获取渠道可以不同,主要有两种方式:
1)从工控网络的***平台和安全审计***导入工控网络的历史安全数据和历史审计数据。
2)实时获取从工控网络的消息中间件传输的工控网络的实时安全数据和实时审计数据。
进一步地,还需要将所述历史安全数据、历史审计数据、实时安全数据和实时审计数据存入数据库中,本发明实施例优选采用适合于单节点安装的NoSQL数据库,更为优选采用NoSQL数据库中的比较常用的是MongoDB和Cassandra,MongoDB存储json数据,更像一个json文档库;而Cassandra更像一个传统意义的数据库,同时可以提供类似SQL查询接口。并且,Cassandra集群的无中心结构使其集群更简单,易于部署。
在步骤S12中,对所述安全相关数据进行CEP分析。
CEP不仅处理单一的事件,也处理由多个事件所组成的复合事件,其监测并分析事件流,当特定事件发生时去触发某些动作。图2示出了CEP***的架构,如图2所述,CEP***可以包括:
1)适配器21:其包括复杂适配******的通讯协议,支持SOAP/REST、Thrift格式等。
2)事件流管理器22:其为核心调度模块,可用于注册可以处理的事件类型,且对于每一种类型,调用某一个或者多个执行计划来处理。
3)执行计划23:其包含进行事件处理的逻辑规则,为事件处理提供了一个独立的、相互隔离的运行环境。
基于CEP***的架构,本实施例的CEP分析的过程优选可以包括:在固定时间窗口对所述安全相关数据进行统计汇总以确定控制事件的相关属性;以及结合控制事件的相关属性和预设的规则引擎对控制事件进行相关性分析以获取各控制事件之间的相关性。
即,本实施例中涉及的CEP分析主要包括统计汇总和相关性分析两部分,下面具体介绍这两部分:
1)统计汇总
进行统计汇总目的在于获取控制事件的统计数据,对于绝大多数控制事件,通过统计汇总,可以反映出某些控制事件发生的时间、频率等信息。
在优选的实施例中,在对所述安全相关数据进行CEP分析之前,可以先对所述安全相关数据进行聚类分析,事件的统计汇总再在聚类分析的基础上进行,例如将控制事件按照时间次序进行统计汇总,以确定控制事件的相关属性,进而捕捉到事件之间的关联关系。
从统计学的观点看,聚类分析是通过数据建模简化数据的一种方法。本发明实施例中,聚类是将控制事件的安全相关数据分类到不同的类或者簇中的过程,使得同一个簇中的对象有很大的相似性,而不同簇间的对象有很大的相异性,从而可以利用聚类分析方法理解控制事件的数据结构、剖析控制事件数据项中的关键因素。本实施例中可采用的聚类分析方法包括***聚类法、分解法、加入法、动态聚类法、有序样品聚类、有重叠聚类和模糊聚类等,更为优选采用k-mean聚类和k-modes聚类。
其中,k-means聚类的基础是样本之间的欧几里德距离,但是仅对于样本属性为连续实数的情况才可以计算欧几里德距离,对于离散型属性,例如两个不同IP地址间的距离,则无法用实数衡量计算。K-modes聚类算法是按照k-means聚类算法的核心内容进行修改,针对分类属性的度量和更新质心的问题而进行的改进。K-modes聚类算法的具体内容如下:
a)度量样本之间的相关性D的计算公式是比较两记录之间差异,属性相同为0,不同为1。
b)然后把所有的差异值相加。因此D越大,即样本之间的不相关程度越强,其与欧式距离代表的意义相一致。
c)更新modes,使用每个聚类中属性出现频率最大的那个属性值,作为代表聚类的属性值。例如某个聚类有样本{[a,b][a,c][c,b][b,c]},则代表聚类的属性值则为[a,b]或者[a,c]。
需说明的是,上述聚类分析不是基于CEP实现的,其实现方式将在下文详细说明。
2)相关性分析
如图3所示,进行相关性分析的主要步骤包括:
步骤S31,通过控制事件的相关属性捕捉各控制事件之间的关联关系。
步骤S32,通过预设的规则引擎确定控制事件的上下文环境数据。
步骤S33,结合所捕捉的各控制事件之间的关联关系和所确定的控制事件的上下文环境数据,确定各控制事件之间的相关性。
图4示出了事件相关性分析的原理。如图4所示,对于控制事件的相关性分析来说,有两个非常重要的因素,一个是事件的统计数据(可以是对聚类分析后的数据进行统计汇总所获得的数据),另外一个则是事件之间的相关规则(借助预设的规则引擎确定)。通过事件的统计数据,可以通过反映出某些控制事件发生的时间、频率等信息来反映出对应的业务模式。然而,事件相关的一些上下文环境因素(即业务模式),例如网络联通性、用户的角色、受控设备的状态等等,更能对于事件的理解提供更大的帮助。
因此,在步骤S33中,实质上结合了事件的统计数据和事件之间的相关规则,将事件的上下文环境数据与事件的相关属性进行综合判断,分析事件之间的关联关系,以确定各控制事件之间的相关性。
在步骤S13中,采用基于深度学习的分类器对经CEP分析后的数据进行控制事件的风险识别。
这里,风险识别与安全事件归并提醒不同,其是通过分析连续的安全事件、审计数据,刨析隐藏在其中的行为模式,识别安全风险。并且,结合安全评价、业务场景、设备重要性等对于单个工控指令进行风险提醒。
风险识别可以基于机器学习分类器来进行,即经过历史数据学习的机器学习模块,对于单个安全事件进行分析、分类,判断控制事件是否不符合常规业务模式,以识别、告警安全事件。
其中,本发明实施例优选采用基于深度学习的分类器(或称为基于深度神经网络的分类器),更为优选采用基于递归神经网络(Recurrent Neural Networks,以下简称为RNN)的分类器,基于RNN的安全事件分类器可以更好地理解安全事件之间的相关性,基于安全事件的前因后果,对于事件的安全风险做出更加可靠的评估。
下面介绍RNN的基本工作原理,更多的细节可参考现有相关文献。
RNN又被称为循环神经网络,其具体的表现形式为网络会对前面的信息进行记忆并应用于当前输出的计算中,即隐藏层之间的节点不再无连接而是有连接的,并且隐藏层的输入不仅包括输入层的输出还包括上一时刻隐藏层的输出。
图5示出了按时间展开的RNN,其中所涉及的各个参数记号表示的含义如下:
1)网络某一时刻的输入xt,和多层感知器的输入一样,xt是一个n维向量,不同的是递归网络的输入将是一整个序列,也就是x=[x0,...,xt-1,xt,xt+1,...xT],对于语言模型,每一个xt将代表一个词向量,一整个序列就代表一句话。
2)ht代表时刻t的隐藏状态。
3)ot代表时刻t的输出。
4)输入层到隐藏层直接的权重由U表示,它将我们的原始输入进行抽象作为隐藏层的输入。
5)隐藏层到隐藏层的权重W,它是网络的记忆控制者,负责调度记忆。
6)隐藏层到输出层的权重V,从隐藏层学习到的表示将通过它再一次抽象,并作为最终输出。
基于上述按时间展示的RNN,RNN分为两个阶段,具体为:
(1)RNN的向前(Forward)阶段
首先在t=0的时刻,U、V、W都被随机初始化好,h0通常初始化为0,然后进行如下计算:
s1=Ux1+Wh0
h1=f(s1)
o1=g(Vh1)
这样时间就向前推进,此时的状态h1作为时刻0的记忆状态将参与下一次的预测活动,可表示为:
s2=Ux2+Wh1
h2=f(s2)
o2=g(Vh2)
以此类推
st=Uxt+Wht-1
ht=f(Uxt+Wht-1)
ot=g(Vht)
其中f可以是tanh、relu、logistic这三种函数的其中之一,g可以是softmax函数,也可以是其他函数。
因此,可知RNN的记忆能力就是通过W将以往的输入状态进行总结,而作为下次输入的辅助,也即是可以参考下式理解隐藏状态:
h=f(现有的输入+过去记忆总结)
(2)RNN的向后(Backward)阶段
上面介绍了RNN如何做序列化预测,即如何一步步预测出o0,o1,....ot-1,ot,ot+1.....,下来说明U、V、W是如何训练的。
这里需要利用类似于多层感知器和卷积神经网络用到的back-propagation方法,也就是利用输出层的误差Cost,求解各个权重的梯度然后利用梯度下降法更新各个权重。
由于是序列化预测,那么对于每一时刻t,网络的输出ot都会产生一定误差et,误差可任意选择,可以是cross entropy,也可以是平方误差等等。那么总的误差为E=∑tet,则可求取各个权重的梯度如下:
易知输出ot=g(Vst)。另外,可知对于任意的Cost函数,求取将是简单的,可以直接求取每个时刻的由于它不存在对之前的状态的依赖,可以直接求导取得,然后简单地求和即可。下面重点介绍的计算。
参照多层感知器的backprop算法,可知算法的窍门是定义一个首先计算出输出层的δL,再向后传播到各层δL-1,δL-2,....,而计算δ只要关注当前层次发射出去的链接即可,如下式:
δh t=(VTδo t+WTδh t+1).*f'(st)
因此,只要计算出所有的δo t,δh t,就可以通过以下计算出
其中×表示两个向量的外积。
如此,通过机器学习可在安全评价的基础上,进行风险识别,从而可以更为全面地实现安全预警。
这里,基于深度学习的分类器,可以使风险识别的准确率更高(准确率可达90%以上)。并且,基于深度学习的分类器算法本身是分布式的,在数据训练期间,可以在多个节点进行大规模、分布式训练,提高训练的精度和速度,然后将模型存储起来,单节点部署,进行安全风险识别。
本实施例中,深度学习分类器算法的学习训练可以分为三个阶段:
1)历史数据训练:通过历史存储的控制事件的安全相关数据训练基于深度学习的分类器,以获得相应的深度学习模型。
这里,历史存储的控制事件的安全相关数据可以为上述的历史安全数据和历史审计数据,其属于前期收集的实际客户真实数据,利用其对基于深度神经网络的分类器进行训练,不断调整***参数,可以优化识别准确率。
2)工控网络运行期间:加载并还原所述深度学习模型,以对实时获取的控制事件的安全相关数据进行分类和预警,并输出预警结果。
这里,历史数据训练完成的模型采用序列化工具,将整个深度学习模型存储为二进制文件。在***部署运行时,再加载、还原整个深度学习模型,对实际的实时获取的控制事件的安全相关数据进行分类、预警,并输出。需说明,这里的实时获取的控制事件的安全相关数据包括上述的实时安全数据和实时审计数据。
3)分类器优化:接收用户对于预期结果的反馈信息,并根据所述反馈信息来优化所述深度学习模型。
具体地,在工控网络部署运行期间,在深度神经网络分类器给出预警结果后,可以由用户通过UI界面,设置同类告警下次的处理动作(忽略、告警、危险等),以便对于分类器更进一步根据客户的需要和实际情况进行分类学习,优化分类器以提高分类器的预警准确率。
此外,还优选在GPU(Graphics Processing Unit,图形处理器)上执行深度学习算法,GPU相对于普通CPU运算速度能提高7倍以上。
结合上文,本实施例的工控网络安全预期方案的整个安全风险识别过程可以分为两个阶段,第一个阶段先以CEP为核心,与上述的“统计汇总”和“相关性分析”部分相关联,主要是对于控制事件进行相关性分析,找到事件之间的关联关系,对于控制事件进行初步的过滤,初步确定安全事件;第二阶段以深度学习为核心,在CEP处理怀疑事件有安全风险时,然后利用深度学习工具,对于安全事件进行更进一步的分析,找出其中的高危控制事件。
需说明的是,虽然也可仅基于第二阶段进行风险识别,但是CEP的处理速度要远远高于基于机器学习的算法工具,因此两者的结合有助于提高风险识别的效率。
进一步,基于CEP分析与深度学习方案的结合,本发明实施例可实现多项业务功能,主要包括安全评价和风险识别两个方面。
一、安全评价
本实施例中,通过CEP分析结果计算用于安全评价的安全指数security_index,以此来进行安全评价。
其中,CEP分析结果中所涉及的参数,也就是用于计算安全指数的安全指标,如下面的表1所示。
表1,安全指标表
对应的安全指数security_index的计算公式可定义为:
如此,可根据所述安全指数对总体工控网络和/或单独的安全事件进行安全评价,例如:
1)security_index反映总体工控网络的安全程度,security_index值越大,则危险等级越高;
2)安全事件总数的变化反映了整个工控网络安全型的态势;
3)安全指数的绝对值没有实际意义,需要根据实际的数据,要从数据中学习,统计出中位数,划分不同的数据区间,评价为绿/橙/红;
4)根据类似定义,可以对单独的安全事件进行安全评价。
二、风险识别
参考上文关于步骤S13的相关描述,可采用基于深度学习的分类器对经CEP分析后的数据进行控制事件的风险识别,在此不再赘述。
综上,本发明实施例的工控网络安全预警方法的前期构建成本较低,后期的维护成本也相对较低,且其可以部署于资源受限的工控现场,适合于单节点或者多个节点部署环境,新节点加入后,数据可以自动重新分区,部署方式更为灵活。并且,在工控现场的部署方法减少了网络延迟,提高了实时数据的处理响应速度,提高了风险预警能力。
图6是根据另一实施例示出的一种工控网络安全预警***的结构框图。参照图6,该工控网络安全预警***包括数据获取模块61,第一处理模块62和第二处理模块63。
其中,所述数据获取模块61被配置为获取工控网络的控制事件的安全相关数据,且其可以包括:第一接收模块611,用于从工控网络的***平台和安全审计***导入工控网络的历史安全数据和历史审计数据;第二接收模块612,用于实时获取从工控网络的消息中间件传输的工控网络的实时安全数据和实时审计数据;以及数据库模块613,与所述第一接收模块和所述第二接收模块通信,用于将所述历史安全数据、历史审计数据、实时安全数据和实时审计数据存入数据库。
其中,第二处理模块62被配置为对所述安全相关数据进行CEP分析,且该CEP分析可以包括:在固定时间窗口对所述安全相关数据进行统计汇总以确定控制事件的相关属性;以及结合控制事件的相关属性和预设的规则引擎对控制事件进行相关性分析以获取各控制事件之间的相关性。
优选地,所述第一处理模块62可以包括统计汇总模块621和相关性分析模块622;其中,所述统计汇总模块621用于对所述安全相关数据进行统计汇总以确定控制事件的相关属性;以及其中,所述相关性分析模块622用于通过控制事件的相关属性捕捉各控制事件之间的关联关系,以及通过预设的规则引擎确定控制事件的上下文环境数据,并结合所捕捉的各控制事件之间的关联关系和所确定的控制事件的上下文环境数据,确定各控制事件之间的相关性。
其中,所述第二处理模块63可以包括:模型训练模块631,用于通过历史存储的控制事件的安全相关数据训练基于深度学习的分类器,以获得相应的深度学习模型;分类模块632,用于在工控网络运行期间,加载并还原所述深度学习模型,以对实时获取的控制事件的安全相关数据进行分类和预警,并输出预警结果;以及模型优化模块633,用于接收用户对于预期结果的反馈信息,并根据所述反馈信息来优化所述深度学习模型。
此外,在更为优先的实施例中,该工控网络安全预警***还可以包括:聚类模块,与所述第一处理模块62通信,用于在对所述安全相关数据进行CEP分析之前,对所述安全相关数据进行聚类分析。
关于上述实施例中的***,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。另外,以下关于本实施例中的***的示例描述中内容,也可适应性用于上述有关方法的实施例中。
在图6的基础上,下面通过一个工控网络安全预警***的实例来更为详细地介绍本发明实施例。该实例给出了构建工控网络安全预警***的总体技术框架,如图7所示,可以包括以下五个组成部分,其中数据层71、基础框架层73及应用层74为实现本发明实施例的目的所必要的,而集群72及Web层75可根据实际需求进行配置。
1)数据层71
其可以对应配置如上的数据获取模块61,包括第一接收模块611(图7中未示出)、第二接收模块612(图7中未示出)及数据库模块613,其中数据库模块613采用Cassandra数据库。第一接收模块611其从外部mysql数据库批量导入历史数据以存入Cassandra,这里的mysql数据库为工控网络的***平台和安全审计***的数据库;第二接收模块613用于将基础框架层所获取的实时数据导入至Cassandra中,该实时数据是基础框架层从消息中间件Kafka Topic中实时获取的。
另外,Cassandra数据在后续还将以一定的数据模型保存经应用层等处理后的数据,下文将详细描述,在此则不再赘述。
2)集群72
集群为分布式部署的基础,应用的分布式处理和数据的横向扩展均依赖于此。本实施例采用Spark集群,其由于优秀的横向扩展能力、高效的处理速度赢得了广泛的社区支持。同时,该集群还包括基于分区的数据处理RDD(Resilient Distributed Datasets,弹性分布式数据集),其为数据并发处理提供了高效支持。
3)基础框架层73
该部分是整个上层应用的技术基础,由实时流式数据处理框架spark stream、CEP处理框架以及深度学习框架tensorflow组成。
其中,实时流式数据处理框架spark stream用于实时从消息中间件Kafka Topic中获取工控网络控制事件的实时数据,其还可以对数据进行初步加工以写入NoSQL数据库中。
其中,上述的第一处理模块基于所述CEP处理框架实现,以对控制事件在固定时间窗口内进行汇总及相关性分析等。
其中,上述的第二处理模块和聚类模块可以基于深度学习框架tensorflow实现,以提供各种智能算法,为CEP分析预处理数据以及对相关数据进行模式分析,以识别高危控制事件。
在更为优选的示例中,实时流式数据处理框架spark stream与深度学习框架tensorflow可以集成在一起。
如图8所示,该集成方案中:Spark集群为scala程序,运行于java虚拟机上,tensorflow的核心为C++,运行于操作***之上。Spark集群从cassandra中读取数据、经过转换之后,需要将数据送入tensorflow进行处理。而实时数据经过spark stream处理后,也需要送入tensorflow进行安全风险分类。因为spark和tensorflow均提供python接口,且都可以在程序运行期间与外部的python程序进行数据交互。基于此,可以在spark与tensorflow之间构造一个数据管道,让spark将数据转换结果写入数据管道,然后经过tensorflow的feeding机制,将数据送入tensorflow,通过tensorflow进行机器学习、聚类分析等。
基于以上基础框架,可以向应用层提供安全态势、安全策略、安全评价和风险识别等业务功能。并且,经各基础框架处理后的数据都可以写入至NoSQL数据库中。
4)应用层74
其用于配置由基础框架层所支持的业务功能模块,例如可以对应配置安全评价模块和风险识别模块。此外,还可配置安全态势模块用于进行工控网络的安全态势估计。
5)Web层75
其用于提供用户交互UI,可以由web框架python flask、大数据展示框架bokeh和客户端与服务器端双向交互的基础框架websocket组成,这三个框架相互配合以向用户进行数据展现。
对于上述五个部分,从开发语言上来说,可采用大数据分析的开发所普便使用的python和R,但由于python更强的集成与应用开发能力,这里优选采用python。
进一步地,数据层71还可基于其他层的处理结果,建立安全预警相关数据模型以供用户查阅相关数据,具体可以包括以下数据模型:
1)安全事件数据模型
本示例中,安全事件在识别到安全风险后产生,一个安全事件对应一次安全风险事件。在其他示例中,安全事件也可以在DPI(Deep Packet Inspection,深度报文检测)设备根据安全规则过滤控制数据包时产生。对应的安全事件数据模型如表2所示。
表2,安全事件数据模型
2)工控设备数据模型
这里的工控设备是指处于工控网络内的各种工控和网络设备,对应的工控设备数据模型如表3所示。
表3,工控设备数据模型
3)安全规则数据模型
该模型中包括发送给DPI设备的安全规则,其中机器学习分类器也可以根据自己学习到的安全风险分类规则,修改安全规则的风险等级;或者包括由机器学习分类器根据学习到安全风险识别规律而创建的新安全规则。对应的安全规则数据模型如表4所示。
表4,安全规则数据模型
No | 名称 | 类型 | 说明 |
1 | ruleid | UUID | 安全规则编号 |
2 | protocol_type | 文本 | 协议类型 |
3 | rule_name | 文本 | 规则名称 |
4 | message | 文本 | 展示的消息 |
5 | flowbits | BLOB | 规则的特征码 |
6 | rule_body | BLOB | 规则主体 |
7 | vulnerability_id | UUID | 对应的漏洞编号 |
8 | risk_level | 整数 | 风险等级 |
4)安全漏洞数据模型
表5示出安全漏洞数据模型,其主要涉及针对安全漏洞的描述信息。
表5,安全漏洞数据模型
No | 名称 | 类型 | 说明 |
1 | vulnerabilityId | UUID | 漏洞编号 |
2 | severity | 整数 | 严重级别 |
3 | category | 文本 | 分类 |
4 | threatName | 文本 | 漏洞名称 |
5 | requirement | 文本 | 触发条件 |
6 | caused | 文本 | 影响 |
7 | suggest | 文本 | 处置建议 |
8 | reference | 文本 | 参考内容 |
9 | defaultAction | 整数 | 默认处理动作 |
10 | publishDate | 时间戳 | 公布日期 |
5)风险等级数据模型
表6,风险等级数据模型
6)告警数据模型
每一个安全事件,或者发现的安全风险均会产生一个告警,以提示用户有相关的安全风险产生,需要进行相关的处置。
表7,告警数据模型
No | 名称 | 类型 | 说明 |
1 | alertid | UUID | 告警编号 |
2 | eventid | UUID | 安全事件编号 |
3 | occurred_at | 时间戳 | 安全事件产生日期 |
4 | risk_level | 整数 | 风险等级 |
5 | error_msg | 文本 | 错误提示信息 |
6 | status | 整数 | 当前处理状态 |
本发明实施例的工控网络安全预警***的前期构建成本较低,后期的维护成本也相对较低,且其可以部署于资源受限的工控现场,适合于单节点或者多个节点部署环境,新节点加入后,数据可以自动重新分区,部署方式更为灵活。并且,在工控现场的部署方法减少了网络延迟,提高了实时数据的处理响应速度,提高了风险预警能力。
本领域技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
Claims (10)
1.一种工控网络安全预警方法,其特征在于,所述工控网络安全预警方法包括:
获取工控网络的控制事件的安全相关数据;
对所述安全相关数据进行复合事件处理CEP分析;以及
采用基于深度学习的分类器对经CEP分析后的数据进行控制事件的风险识别。
2.根据权利要求1所述的工控网络安全预警方法,其特征在于,所述安全相关数据包括工控网络的历史安全数据、历史审计数据、实时安全数据和实时审计数据;并且所述获取工控网络的控制事件的安全相关数据包括:
从工控网络的***平台和安全审计***导入工控网络的历史安全数据和历史审计数据;
实时获取从工控网络的消息中间件传输的工控网络的实时安全数据和实时审计数据;以及
将所述历史安全数据、历史审计数据、实时安全数据和实时审计数据存入数据库。
3.根据权利要求1所述的工控网络安全预警方法,其特征在于,所述对所述安全相关数据进行CEP分析包括;
在固定时间窗口对所述安全相关数据进行统计汇总以确定控制事件的相关属性;以及
结合控制事件的相关属性和预设的规则引擎对控制事件进行相关性分析以获取各控制事件之间的相关性。
4.根据权利要求1所述的工控网络安全预警方法,其特征在于,所述基于深度学习的分类器在图形处理器GPU上运行以对经CEP分析后的数据进行控制事件的风险识别。
5.根据权利要求1至4中任意一项所述的工控网络安全预警方法,其特征在于,所述采用基于深度学习的分类器对经CEP分析后的数据进行控制事件的风险识别包括:
通过历史存储的控制事件的安全相关数据训练基于深度学习的分类器,以获得相应的深度学习模型;
在工控网络运行期间,加载并还原所述深度学习模型,以对实时获取的控制事件的安全相关数据进行分类和预警,并输出预警结果;以及
接收用户对于预期结果的反馈信息,并根据所述反馈信息来优化所述深度学习模型。
6.一种工控网络安全预警***,其特征在于,所述工控网络安全预警***包括:
数据获取模块,用于获取工控网络的控制事件的安全相关数据;
第一处理模块,用于对所述安全相关数据进行CEP分析;以及
第二处理模块,用于采用基于深度学习的分类器对经CEP分析后的数据进行控制事件的风险识别。
7.根据权利要求6所述的工控网络安全预警***,其特征在于,所述安全相关数据包括工控网络的历史安全数据、历史审计数据、实时安全数据和实时审计数据;并且所述数据获取模块包括:
第一接收模块,用于从工控网络的***平台和安全审计***导入工控网络的历史安全数据和历史审计数据;
第二接收模块,用于实时获取从工控网络的消息中间件传输的工控网络的实时安全数据和实时审计数据;以及
数据库模块,与所述第一接收模块和所述第二接收模块通信,用于将所述历史安全数据、历史审计数据、实时安全数据和实时审计数据存入数据库。
8.根据权利要求6所述的工控网络安全预警***,其特征在于,所述第一处理模块包括:
统计汇总模块,用于对所述安全相关数据进行统计汇总以确定控制事件的相关属性;以及
相关性分析模块,用于结合控制事件的相关属性和预设的规则引擎对控制事件进行相关性分析以获取各控制事件之间的相关性。
9.根据权利要求8所述的工控网络安全预警***,其特征在于,所述基于深度学习的分类器在GPU上运行以对经CEP分析后的数据进行控制事件的风险识别。
10.根据权利要求6至9中任意一项所述的工控网络安全预警***,其特征在于,所述第二处理模块包括:
模型训练模块,用于通过历史存储的控制事件的安全相关数据训练基于深度学习的分类器,以获得相应的深度学习模型;
分类模块,用于在工控网络运行期间,加载并还原所述深度学习模型,以对实时获取的控制事件的安全相关数据进行分类和预警,并输出预警结果;以及
模型优化模块,用于接收用户对于预期结果的反馈信息,并根据所述反馈信息来优化所述深度学习模型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710438919.2A CN107203199A (zh) | 2017-06-12 | 2017-06-12 | 一种工控网络安全预警方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710438919.2A CN107203199A (zh) | 2017-06-12 | 2017-06-12 | 一种工控网络安全预警方法及*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107203199A true CN107203199A (zh) | 2017-09-26 |
Family
ID=59906716
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710438919.2A Pending CN107203199A (zh) | 2017-06-12 | 2017-06-12 | 一种工控网络安全预警方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107203199A (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107729927A (zh) * | 2017-09-30 | 2018-02-23 | 南京理工大学 | 一种基于lstm神经网络的手机应用分类方法 |
CN108021809A (zh) * | 2017-12-19 | 2018-05-11 | 北京明朝万达科技股份有限公司 | 一种数据处理方法及*** |
CN108665174A (zh) * | 2018-05-16 | 2018-10-16 | 中国平安人寿保险股份有限公司 | 风险预警方法、装置、计算机设备以及存储介质 |
CN109117941A (zh) * | 2018-07-16 | 2019-01-01 | 北京思特奇信息技术股份有限公司 | 告警预测方法、***、存储介质及计算机设备 |
CN109583731A (zh) * | 2018-11-20 | 2019-04-05 | 阿里巴巴集团控股有限公司 | 一种风险识别方法、装置及设备 |
CN109993189A (zh) * | 2018-01-02 | 2019-07-09 | ***通信有限公司研究院 | 一种网络故障预警方法、装置和介质 |
CN110995650A (zh) * | 2019-10-31 | 2020-04-10 | 博智安全科技股份有限公司 | 一种基于工控基线的多终端核查预警*** |
CN111049846A (zh) * | 2019-12-20 | 2020-04-21 | 北京明略软件***有限公司 | 数据处理方法和装置、电子设备及计算机可读存储介质 |
WO2020187817A1 (de) * | 2019-03-19 | 2020-09-24 | Siemens Aktiengesellschaft | Sicherheitsrelevante diagnosemeldungen |
WO2021057576A1 (zh) * | 2019-09-29 | 2021-04-01 | 中兴通讯股份有限公司 | 一种构造云化网络告警根因关系树模型方法、装置和存储介质 |
CN112966020A (zh) * | 2021-03-08 | 2021-06-15 | 徐少锋 | 一种工业高频大数据实时处理***与方法 |
CN115061542A (zh) * | 2022-05-29 | 2022-09-16 | 国网安徽省电力有限公司无为市供电公司 | 一种可检索对比历史数据的网络安全信息大数据分析*** |
CN115333922A (zh) * | 2022-10-13 | 2022-11-11 | 广州极能信息技术有限公司 | 运维支撑网告警数据挖掘方法、***及存储介质 |
CN116938599A (zh) * | 2023-09-14 | 2023-10-24 | 北京东方森太科技发展有限公司 | 一种工控网络的安全感知预警方法及*** |
-
2017
- 2017-06-12 CN CN201710438919.2A patent/CN107203199A/zh active Pending
Non-Patent Citations (2)
Title |
---|
钟志琛;尚方;刘生;: "新一代信息安全防护体系架构研究", 中国电力, no. 1, 5 October 2016 (2016-10-05), pages 16 - 20 * |
陈兴蜀;曾雪梅;王文贤;邵国林;: "基于大数据的网络安全与情报分析", 工程科学与技术, no. 03, 22 May 2017 (2017-05-22), pages 1 - 12 * |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107729927B (zh) * | 2017-09-30 | 2020-12-18 | 南京理工大学 | 一种基于lstm神经网络的手机应用分类方法 |
CN107729927A (zh) * | 2017-09-30 | 2018-02-23 | 南京理工大学 | 一种基于lstm神经网络的手机应用分类方法 |
CN108021809A (zh) * | 2017-12-19 | 2018-05-11 | 北京明朝万达科技股份有限公司 | 一种数据处理方法及*** |
CN109993189A (zh) * | 2018-01-02 | 2019-07-09 | ***通信有限公司研究院 | 一种网络故障预警方法、装置和介质 |
CN108665174A (zh) * | 2018-05-16 | 2018-10-16 | 中国平安人寿保险股份有限公司 | 风险预警方法、装置、计算机设备以及存储介质 |
CN109117941A (zh) * | 2018-07-16 | 2019-01-01 | 北京思特奇信息技术股份有限公司 | 告警预测方法、***、存储介质及计算机设备 |
CN109583731A (zh) * | 2018-11-20 | 2019-04-05 | 阿里巴巴集团控股有限公司 | 一种风险识别方法、装置及设备 |
CN109583731B (zh) * | 2018-11-20 | 2023-04-18 | 创新先进技术有限公司 | 一种风险识别方法、装置及设备 |
CN113614654A (zh) * | 2019-03-19 | 2021-11-05 | 西门子股份公司 | 安全相关的诊断消息 |
US20220187816A1 (en) * | 2019-03-19 | 2022-06-16 | Siemens Aktiengesellschaft | Security-Relevant Diagnostic Messages |
WO2020187817A1 (de) * | 2019-03-19 | 2020-09-24 | Siemens Aktiengesellschaft | Sicherheitsrelevante diagnosemeldungen |
WO2021057576A1 (zh) * | 2019-09-29 | 2021-04-01 | 中兴通讯股份有限公司 | 一种构造云化网络告警根因关系树模型方法、装置和存储介质 |
CN110995650A (zh) * | 2019-10-31 | 2020-04-10 | 博智安全科技股份有限公司 | 一种基于工控基线的多终端核查预警*** |
CN111049846A (zh) * | 2019-12-20 | 2020-04-21 | 北京明略软件***有限公司 | 数据处理方法和装置、电子设备及计算机可读存储介质 |
CN112966020A (zh) * | 2021-03-08 | 2021-06-15 | 徐少锋 | 一种工业高频大数据实时处理***与方法 |
CN115061542A (zh) * | 2022-05-29 | 2022-09-16 | 国网安徽省电力有限公司无为市供电公司 | 一种可检索对比历史数据的网络安全信息大数据分析*** |
CN115061542B (zh) * | 2022-05-29 | 2024-07-16 | 国网安徽省电力有限公司无为市供电公司 | 一种可检索对比历史数据的网络安全信息大数据分析*** |
CN115333922A (zh) * | 2022-10-13 | 2022-11-11 | 广州极能信息技术有限公司 | 运维支撑网告警数据挖掘方法、***及存储介质 |
CN115333922B (zh) * | 2022-10-13 | 2023-01-06 | 广州极能信息技术有限公司 | 运维支撑网告警数据挖掘方法、***及存储介质 |
CN116938599A (zh) * | 2023-09-14 | 2023-10-24 | 北京东方森太科技发展有限公司 | 一种工控网络的安全感知预警方法及*** |
CN116938599B (zh) * | 2023-09-14 | 2023-11-17 | 北京东方森太科技发展有限公司 | 一种工控网络的安全感知预警方法及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107203199A (zh) | 一种工控网络安全预警方法及*** | |
CN107040551A (zh) | 一种工控网络安全预警方法及*** | |
US11017298B2 (en) | Cognitive modeling apparatus for detecting and adjusting qualitative contexts across multiple dimensions for multiple actors | |
US8719190B2 (en) | Detecting anomalous process behavior | |
CN107770797A (zh) | 一种无线网络告警管理的关联分析方法及*** | |
CN107992746A (zh) | 恶意行为挖掘方法及装置 | |
Park et al. | Realizing a digital twin of an organization using action-oriented process mining | |
CN102012918A (zh) | 一种规律挖掘和执行***及其方法 | |
CN105657039A (zh) | 一种基于大数据的电厂设备故障快速定位***和方法 | |
US20230359675A1 (en) | Chart-based time series regression model user interface | |
Rodríguez et al. | A disaster-severity assessment DSS comparative analysis | |
CA2973213A1 (en) | Automated functional understanding and optimization of human/machine systems | |
CN110334105A (zh) | 一种基于Storm的流数据异常检测算法 | |
NL2034766A (en) | Alarming method for micro-service index prediction based on causality test | |
CN110365639A (zh) | 一种基于深度残差网络的恶意流量检测方法及*** | |
CN114499979A (zh) | 一种基于联邦学习的sdn网络异常流量协同检测方法 | |
CN114372803A (zh) | 一种基于交易图谱的快速反洗钱检测方法 | |
CN113726559B (zh) | 基于人工智能网络安全分析预警*** | |
CN109871711B (zh) | 海洋大数据共享分发风险控制模型及方法 | |
CN115514581B (zh) | 一种用于工业互联网数据安全平台的数据分析方法及设备 | |
CN116318878A (zh) | 一种电力信息网络安全风险的评估方法 | |
Yurkevich et al. | Mechanisms of information support for the digital transformation of space complexes based on the concept of socio-cyber-physical self-organization | |
Rudd-Orthner et al. | An algebraic expert system with neural network concepts for cyber, big data and data migration | |
CN113569879A (zh) | 异常识别模型的训练方法、异常账号识别方法及相关装置 | |
Chaturvedi et al. | A synergistic approach to manufacturing systems control using machine learning and simulation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |