CN107040551A - 一种工控网络安全预警方法及系统 - Google Patents

一种工控网络安全预警方法及系统 Download PDF

Info

Publication number
CN107040551A
CN107040551A CN201710438905.0A CN201710438905A CN107040551A CN 107040551 A CN107040551 A CN 107040551A CN 201710438905 A CN201710438905 A CN 201710438905A CN 107040551 A CN107040551 A CN 107040551A
Authority
CN
China
Prior art keywords
event
safety
data
control network
industry control
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
Application number
CN201710438905.0A
Other languages
English (en)
Inventor
马明全
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Kuang En Network Technology Co Ltd
Original Assignee
Beijing Kuang En Network Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Kuang En Network Technology Co Ltd filed Critical Beijing Kuang En Network Technology Co Ltd
Priority to CN201710438905.0A priority Critical patent/CN107040551A/zh
Publication of CN107040551A publication Critical patent/CN107040551A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1433Vulnerability analysis

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分析结果进行控制事件的安全分析。
这里,对控制事件的安全分析可以是对总体工控网络或单个控制事件进行安全评价,具体如下:
一、安全评价
本实施例中,通过CEP分析结果计算用于安全评价的安全指数security_index,以此来进行安全评价。
其中,CEP分析结果中所涉及的参数,也就是用于计算安全指数的安全指标,如下面的表1所示。
表1,安全指标表
对应的安全指数security_index的计算公式可定义为:
如此,可根据所述安全指数对总体工控网络和/或单独的安全事件进行安全评价,例如:
1)security_index反映总体工控网络的安全程度,security_index值越大,则危险等级越高;
2)安全事件总数的变化反映了整个工控网络安全型的态势;
3)安全指数的绝对值没有实际意义,需要根据实际的数据,要从数据中学习,统计出中位数,划分不同的数据区间,评价为绿/橙/红;
4)根据类似定义,可以对单独的安全事件进行安全评价。
进一步地,在更为优选的实施例中,对控制事件的安全分析还可以包括采用机器学习分类器对所述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-1L-2,....,而计算δ只要关注当前层次发射出去的链接即可,如下式:
δh t=(VTδo t+WTδh t+1).*f'(st)
因此,只要计算出所有的δo th t,就可以通过以下计算出
其中×表示两个向量的外积。
如此,通过机器学习可在安全评价的基础上,进行风险识别,从而可以更为全面地实现安全预警。
这里,基于深度学习的分类器,可以使风险识别的准确率更高(准确率可达90%以上)。并且,基于深度学习的分类器算法本身是分布式的,在数据训练期间,可以在多个节点进行大规模、分布式训练,提高训练的精度和速度,然后将模型存储起来,单节点部署,进行安全风险识别。
本实施例中,深度学习分类器算法的学习训练可以分为三个阶段:
1)历史数据训练:通过历史存储的控制事件的安全相关数据训练基于深度学习的分类器,以获得相应的深度学习模型。
这里,历史存储的控制事件的安全相关数据可以为上述的历史安全数据和历史审计数据,其属于前期收集的实际客户真实数据,利用其对基于深度神经网络的分类器进行训练,不断调整系统参数,可以优化识别准确率。
2)工控网络运行期间:加载并还原所述深度学习模型,以对实时获取的控制事件的安全相关数据进行分类和预警,并输出预警结果。
这里,历史数据训练完成的模型采用序列化工具,将整个深度学习模型存储为二进制文件。在系统部署运行时,再加载、还原整个深度学习模型,对实际的实时获取的控制事件的安全相关数据进行分类、预警,并输出。需说明,这里的实时获取的控制事件的安全相关数据包括上述的实时安全数据和实时审计数据。
3)分类器优化:接收用户对于预期结果的反馈信息,并根据所述反馈信息来优化所述深度学习模型。
具体地,在工控网络部署运行期间,在深度神经网络分类器给出预警结果后,可以由用户通过UI界面,设置同类告警下次的处理动作(忽略、告警、危险等),以便对于分类器更进一步根据客户的需要和实际情况进行分类学习,优化分类器以提高分类器的预警准确率。
此外,还优选在GPU(Graphics Processing Unit,图形处理器)上执行深度学习算法,GPU相对于普通CPU运算速度能提高7倍以上。
在更为优选的实施例中,还可以将CEP分析与机器学习分类器相结合来进行安全风险识别,即可采用机器学习分类器对所述CEP分析结果进行安全事件分类,以确定安全事件中的高危控制事件。
此情况下,整个安全风险识别过程可以分为两个阶段,第一个阶段先以CEP为核心,与上述的“统计汇总”和“相关性分析”部分相关联,主要是对于控制事件进行相关性分析,找到事件之间的关联关系,以对于控制事件进行初步的过滤,初步确定安全事件;第二阶段以机器学习为核心,在CEP处理怀疑事件有安全风险时,然后利用机器学习工具,对于安全事件进行更进一步的分析,找出其中的高危控制事件。
需说明的是,虽然也可仅基于第二阶段进行风险识别,但是CEP的处理速度要远远高于基于机器学习的算法工具,因此两者的结合有助于提高风险识别的效率。
综上,本发明实施例的工控网络安全预警方法的前期构建成本较低,后期的维护成本也相对较低,且其可以部署于资源受限的工控现场,适合于单节点或者多个节点部署环境,新节点加入后,数据可以自动重新分区,部署方式更为灵活。并且,在工控现场的部署方法减少了网络延迟,提高了实时数据的处理响应速度,提高了风险预警能力。
图6是根据另一实施例示出的一种工控网络安全预警系统的结构框图。参照图6,该工控网络安全预警系统包括数据获取模块61,数据处理模块62和应用模块63。
其中,所述数据获取模块61被配置为获取工控网络的控制事件的安全相关数据,且其可以包括:第一接收模块611,用于从工控网络的安全监管平台和安全审计系统导入工控网络的历史安全数据和历史审计数据;第二接收模块612,用于实时获取从工控网络的消息中间件传输的工控网络的实时安全数据和实时审计数据;以及数据库模块613,与所述第一接收模块和所述第二接收模块通信,用于将所述历史安全数据、历史审计数据、实时安全数据和实时审计数据存入数据库。
其中,数据处理模块62被配置为对所述安全相关数据进行CEP分析,且该CEP分析可以包括:在固定时间窗口对所述安全相关数据进行统计汇总以确定控制事件的相关属性;以及结合控制事件的相关属性和预设的规则引擎对控制事件进行相关性分析以获取各控制事件之间的相关性。
优选地,所述数据处理模块62可以包括:CEP模块621,其又包括统计汇总模块和相关性分析模块;其中,所述统计汇总模块用于对所述安全相关数据进行统计汇总以确定控制事件的相关属性;以及其中,所述相关性分析模块用于通过控制事件的相关属性捕捉各控制事件之间的关联关系,以及通过预设的规则引擎确定控制事件的上下文环境数据,并结合所捕捉的各控制事件之间的关联关系和所确定的控制事件的上下文环境数据,确定各控制事件之间的相关性。
在更为优选的实施例中,所述数据处理模块62还可以包括:分类器模块622,与所述CEP模块621通信,用于采用机器学习分类器对所述CEP分析结果进行安全事件分类,以确定安全事件中的高危控制事件。
此外,在更为优先的实施例中,所述数据处理模块62还可以包括:聚类模块623,与所述CEP模块621通信,用于在对所述安全相关数据进行CEP分析之前,对所述安全相关数据进行聚类分析。
其中,应用模块63被配置为根据CEP分析结果进行控制事件的安全分析。优选地,所述应用模块可以包括:安全评价模块631,用于通过CEP分析结果计算用于安全评价的安全指数security_index,并根据所述安全指数对总体工控网络和/或单独的安全事件进行安全评价。关于安全指数的具体的计算公式可参考上文。
在更为优选的实施例中,所述应用模块63还可以包括:风险识别模块632,用于根据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模块621基于所述CEP处理框架实现,以对控制事件在固定时间窗口内进行统计汇总及相关性分析等。
其中,上述的分类器模块622和聚类模块621可基于深度学习框架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
其用于配置由基础框架层所支持的业务功能模块,例如可以对应配置如上的安全评价模块631和风险识别模块632。此外,还可配置安全态势模块用于进行工控网络的安全态势估计。
5)Web层75
其用于提供用户交互UI,可以由web框架python flask、大数据展示框架bokeh和客户端与服务器端双向交互的基础框架websocket组成,这三个框架相互配合以向用户进行数据展现。
对于上述五个部分,从开发语言上来说,可采用大数据分析的开发所普便使用的python和R,但由于python更强的集成与应用开发能力,这里优选采用python。
进一步地,数据层71还可基于其他层的处理结果,建立安全预警相关数据模型以供用户查阅相关数据,具体可以包括以下数据模型:
1)安全事件数据模型
本示例中,安全事件在识别到安全风险后产生,一个安全事件对应一次安全风险事件。在其他示例中,安全事件也可以在DPI(Deep Packet Inspection,深度报文检测)设备根据安全规则过滤控制数据包时产生。对应的安全事件数据模型如表2所示。
表2,安全事件数据模型
2)工控设备数据模型
这里的工控设备是指处于工控网络内的各种工控和网络设备,对应的工控设备数据模型如表3所示。
表3,工控设备数据模型
No 名称 类型 说明
1 deviceid UUID 设备编号
2 device_name 文本 设备名称
3 device_serial 文本 设备序列号
4 device_type 文本 设备类型
5 device_model 文本 设备厂商型号
6 manufacturer 文本 设备制造商
7 deviceip UUID 设备ip地址
8 device_mac 文本 设备MAC地址
9 opened_ports list 设备开放的端口列表
10 supported_protocols list 设备支持的协议列表
11 device_impt 整数 设备的重要度
12 zone_name 文本 分区名称
13 topologyid UUID 网络拓扑编号
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,安全漏洞数据模型
5)风险等级数据模型
表6,风险等级数据模型
No 名称 说明
1 NO_THREAT 0
2 MAY_IGNORE 1
3 INFO 2
4 ALERT 3
5 CRITICAL 4
6 FATAL 5
6)告警数据模型
每一个安全事件,或者发现的安全风险均会产生一个告警,以提示用户有相关的安全风险产生,需要进行相关的处置。
表7,告警数据模型
本发明实施例的工控网络安全预警系统的前期构建成本较低,后期的维护成本也相对较低,且其可以部署于资源受限的工控现场,适合于单节点或者多个节点部署环境,新节点加入后,数据可以自动重新分区,部署方式更为灵活。并且,在工控现场的部署方法减少了网络延迟,提高了实时数据的处理响应速度,提高了风险预警能力。
本领域技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

Claims (10)

1.一种工控网络安全预警方法,其特征在于,所述工控网络安全预警方法包括:
获取工控网络的控制事件的安全相关数据;
对所述安全相关数据进行复合事件处理CEP分析;以及
根据CEP分析结果进行控制事件的安全分析。
2.根据权利要求1所述的工控网络安全预警方法,其特征在于,所述对所述安全相关数据进行复合事件处理CEP分析包括:
在固定时间窗口对所述安全相关数据进行统计汇总以确定控制事件的相关属性;
以及结合控制事件的相关属性和预设的规则引擎对控制事件进行相关性分析以获取各控制事件之间的相关性。
3.根据权利要求2所述的工控网络安全预警方法,其特征在于,所述结合控制事件的相关属性和预设的规则引擎对控制事件进行相关性分析包括:
通过控制事件的相关属性捕捉各控制事件之间的关联关系;
通过预设的规则引擎确定控制事件的上下文环境数据;以及
结合所捕捉的各控制事件之间的关联关系和所确定的控制事件的上下文环境数据,确定各控制事件之间的相关性。
4.根据权利要求1所述的工控网络安全预警方法,其特征在于,所述安全相关数据包括工控网络的历史安全数据、历史审计数据、实时安全数据和实时审计数据;并且
所述获取工控网络的控制事件的安全相关数据包括:
从工控网络的安全监管平台和安全审计系统导入工控网络的历史安全数据和历史审计数据;
实时获取从工控网络的消息中间件传输的工控网络的实时安全数据和实时审计数据;以及
将所述历史安全数据、历史审计数据、实时安全数据和实时审计数据存入数据库。
5.根据权利要求1所述的工控网络安全预警方法,其特征在于,所述根据CEP分析结果进行控制事件的安全分析包括:
通过CEP分析结果计算用于安全评价的安全指数security_index;
其中,所述CEP分析结果至少包括安全事件计数cnt、安全事件等级lv、涉及规则的重要性rimp、设备的重要度dimp、同类设备的占比drat、同类安全事件的环比增长率grw、拓扑覆盖率dcvg、安全事件的环比增长率tgrw、当日事件总数tcnt、平均事件总数avgcnt、系统事件的环比增长率sgrw、系数事件计数scnt和系数事件等级slv;
其中,所述安全指数security_index的计算公式为:
以及;
根据所述安全指数对总体工控网络和/或单独的安全事件进行安全评价。
6.根据权利要求1所述的工控网络安全预警方法,其特征在于,所述工控网络安全预警方法还包括:
在对所述安全相关数据进行CEP分析之前,对所述安全相关数据进行聚类分析。
7.根据权利要求1至6中任意一项所述的工控网络安全预警方法,其特征在于,所述工控网络安全预警方法还包括:
采用机器学习分类器对所述CEP分析结果进行安全事件分类,以确定安全事件中的高危控制事件。
8.一种工控网络安全预警系统,其特征在于,所述工控网络安全预警系统包括:
数据获取模块,用于获取工控网络的控制事件的安全相关数据;
数据处理模块,用于对所述安全相关数据进行CEP分析;以及
应用模块,用于根据CEP分析结果进行控制事件的安全分析。
9.根据权利要求8所述的工控网络安全预警系统,其特征在于,所述数据处理模块被配置为:在固定时间窗口对所述安全相关数据进行统计汇总以确定控制事件的相关属性;以及结合控制事件的相关属性和预设的规则引擎对控制事件进行相关性分析以获取各控制事件之间的相关性。
10.根据权利要求9所述的工控网络安全预警系统,其特征在于,所述数据处理模块包括:
统计汇总模块和相关性分析模块;
其中,所述统计汇总模块用于对所述安全相关数据进行统计汇总以确定控制事件的相关属性;以及
其中,所述相关性分析模块用于通过控制事件的相关属性捕捉各控制事件之间的关联关系,以及通过预设的规则引擎确定控制事件的上下文环境数据,并结合所捕捉的各控制事件之间的关联关系和所确定的控制事件的上下文环境数据,确定各控制事件之间的相关性统计汇总。
CN201710438905.0A 2017-06-12 2017-06-12 一种工控网络安全预警方法及系统 Pending CN107040551A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710438905.0A CN107040551A (zh) 2017-06-12 2017-06-12 一种工控网络安全预警方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710438905.0A CN107040551A (zh) 2017-06-12 2017-06-12 一种工控网络安全预警方法及系统

Publications (1)

Publication Number Publication Date
CN107040551A true CN107040551A (zh) 2017-08-11

Family

ID=59541075

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710438905.0A Pending CN107040551A (zh) 2017-06-12 2017-06-12 一种工控网络安全预警方法及系统

Country Status (1)

Country Link
CN (1) CN107040551A (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107729927A (zh) * 2017-09-30 2018-02-23 南京理工大学 一种基于lstm神经网络的手机应用分类方法
CN108809974A (zh) * 2018-06-07 2018-11-13 深圳先进技术研究院 一种网络异常识别检测方法及装置
CN110266735A (zh) * 2019-07-30 2019-09-20 北京中投安能科技有限公司 基于时序的工业通讯协议白名单访问控制
CN110555990A (zh) * 2019-08-29 2019-12-10 桂林电子科技大学 一种基于lstm神经网络的有效停车时空资源预测方法
CN110995650A (zh) * 2019-10-31 2020-04-10 博智安全科技股份有限公司 一种基于工控基线的多终端核查预警系统
CN113225359A (zh) * 2021-07-12 2021-08-06 深圳市永达电子信息股份有限公司 一种基于类脑计算的安全流量分析系统
CN113259207A (zh) * 2021-07-13 2021-08-13 中国人民解放军国防科技大学 基于qrnn的有状态网络协议模糊测试用例过滤方法
CN113489696A (zh) * 2021-06-24 2021-10-08 南京诺源医疗器械有限公司 一种医疗成像用网络保护系统
CN113743512A (zh) * 2021-09-07 2021-12-03 上海观安信息技术股份有限公司 一种安全告警事件自主学习判定方法及系统
CN113836907A (zh) * 2021-09-06 2021-12-24 北京好欣晴移动医疗科技有限公司 文本聚类图片识别方法、装置和系统
US11258817B2 (en) * 2018-10-26 2022-02-22 Tenable, Inc. Rule-based assignment of criticality scores to assets and generation of a criticality rules table
CN116700197A (zh) * 2023-08-03 2023-09-05 中国电子信息产业集团有限公司第六研究所 一种工控监测分析预警系统及分析预警处理方法

Cited By (19)

* Cited by examiner, † Cited by third party
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神经网络的手机应用分类方法
CN108809974A (zh) * 2018-06-07 2018-11-13 深圳先进技术研究院 一种网络异常识别检测方法及装置
US11258817B2 (en) * 2018-10-26 2022-02-22 Tenable, Inc. Rule-based assignment of criticality scores to assets and generation of a criticality rules table
US11882144B2 (en) * 2018-10-26 2024-01-23 Tenable, Inc. Rule-based assignment of criticality scores to assets and generation of a criticality rules table
US20220150274A1 (en) * 2018-10-26 2022-05-12 Tenable, Inc. Rule-based assignment of criticality scores to assets and generation of a criticality rules table
CN110266735A (zh) * 2019-07-30 2019-09-20 北京中投安能科技有限公司 基于时序的工业通讯协议白名单访问控制
CN110555990A (zh) * 2019-08-29 2019-12-10 桂林电子科技大学 一种基于lstm神经网络的有效停车时空资源预测方法
CN110555990B (zh) * 2019-08-29 2021-04-13 桂林电子科技大学 一种基于lstm神经网络的有效停车时空资源预测方法
CN110995650A (zh) * 2019-10-31 2020-04-10 博智安全科技股份有限公司 一种基于工控基线的多终端核查预警系统
CN113489696A (zh) * 2021-06-24 2021-10-08 南京诺源医疗器械有限公司 一种医疗成像用网络保护系统
CN113225359A (zh) * 2021-07-12 2021-08-06 深圳市永达电子信息股份有限公司 一种基于类脑计算的安全流量分析系统
CN113259207A (zh) * 2021-07-13 2021-08-13 中国人民解放军国防科技大学 基于qrnn的有状态网络协议模糊测试用例过滤方法
CN113259207B (zh) * 2021-07-13 2021-09-21 中国人民解放军国防科技大学 基于qrnn的有状态网络协议模糊测试用例过滤方法
CN113836907A (zh) * 2021-09-06 2021-12-24 北京好欣晴移动医疗科技有限公司 文本聚类图片识别方法、装置和系统
CN113836907B (zh) * 2021-09-06 2023-07-18 好心情健康产业集团有限公司 文本聚类图片识别方法、装置和系统
CN113743512A (zh) * 2021-09-07 2021-12-03 上海观安信息技术股份有限公司 一种安全告警事件自主学习判定方法及系统
CN116700197A (zh) * 2023-08-03 2023-09-05 中国电子信息产业集团有限公司第六研究所 一种工控监测分析预警系统及分析预警处理方法
CN116700197B (zh) * 2023-08-03 2023-10-10 中国电子信息产业集团有限公司第六研究所 一种工控监测分析预警系统及分析预警处理方法

Similar Documents

Publication Publication Date Title
CN107040551A (zh) 一种工控网络安全预警方法及系统
CN107203199A (zh) 一种工控网络安全预警方法及系统
US11238350B2 (en) Cognitive modeling system
CN109887242B (zh) 向用户终端发送告警信息方法、装置、系统
CN107770797A (zh) 一种无线网络告警管理的关联分析方法及系统
CN109558395A (zh) 数据处理系统及数据挖掘方法
US20190164164A1 (en) Collaborative pattern recognition system
CN110493025A (zh) 一种基于多层有向图的故障根因诊断的方法及装置
CN110162970A (zh) 一种程序处理方法、装置以及相关设备
Park et al. Realizing a digital twin of an organization using action-oriented process mining
CN106534224B (zh) 智能网络攻击检测方法及装置
Rodríguez et al. A disaster-severity assessment DSS comparative analysis
CN107943945A (zh) 一种大数据分析开发平台中异构算子管理方法
CN109587125A (zh) 一种网络安全大数据分析方法、系统及相关装置
CN114707430B (zh) 一种基于多用户加密的联邦学习可视化系统与方法
CN109325232A (zh) 一种基于lda的用户行为异常分析方法、系统及存储介质
CN107590254A (zh) 具有合并处理方法的大数据支撑平台
CN110363003A (zh) 一种基于深度学习的Android病毒静态检测方法
NL2034766A (en) Alarming method for micro-service index prediction based on causality test
Prasenna et al. Network programming and mining classifier for intrusion detection using probability classification
Zhang et al. Clustering optimization algorithm for data mining based on artificial intelligence neural network
Bohács et al. Development of an ontology-driven, component based framework for the implementation of adaptiveness in a Jellyfish-type simulation model
CN113726559B (zh) 基于人工智能网络安全分析预警系统
CN110413682A (zh) 一种数据的分类展示方法及系统
CN108205727A (zh) 一种基于决策树和专家系统的数字化车间工艺决策方法

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