一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种面向工业控制系统报警数据的分析系统与方法与流程

2022-11-12 12:40:17 来源:中国专利 TAG:


1.本发明涉及大数据处理领域,尤其是涉及一种面向工业控制系统报警数据的分析系统与方法。


背景技术:

2.工业控制系统广泛应用于工业制造领域,随着工业4.0的到来,工业化和信息化融合日益加深,工业控制系统越来越智能化。随之而来的是工控网络规模、复杂性的提高,以及与公用网络的联系更加密切。这使得工控系统更容易暴露,针对工控系统的攻击越来越多,工控系统的安全性面临严峻挑战。工业防火墙、工业入侵检测系统同传统的防火墙一起被用来保护工控系统,当攻击发生时,它们会产生大量的报警数据,通过对这些报警数据进行分析,可以及时获悉系统安全状态,为进一步处理安全事件提供有力依据。
3.针对工业控制系统的报警数据分析工具较少,现有的分析工具只能静态评估系统安全性,不能动态实时预测系统安全状态;通常对固定类型的单条报警数据进行分析,不能进行多条不同类型、不同位置报警数据的关联分析,迁移性、扩展性较差。目前的工控系统报警数据分析工具主要处理分析网络层报警,缺少对系统中其它软件产生的报警数据的检测分析。


技术实现要素:

4.为解决上述技术问题,本发明提供一种面向工业控制系统报警数据的分析系统与方法。
5.本技术实施例的第一方面提供了一种面向工业控制系统报警数据的分析系统,其包括:
6.信息收集模块,用于收集工业控制系统的拓扑信息、报警数据以及漏洞信息;
7.综合分析模块,用于对报警类别和系统安全状态进行预测评估,根据预测评估的结果,为不同类别的报警提供相应的处理分析方法,并预测下一个攻击目标。
8.优选的,所述信息收集模块包括:
9.网络拓扑获取模块,用于收集拓扑信息,并将所述拓扑信息存储至系统中;
10.网络层报警数据产生分析模块,用于收集报警数据,并对报警数据聚类,训练模型进行未来攻击模型预测;
11.漏洞扫描模块,用于收集漏洞信息,并整合构建系统漏洞库。
12.优选的,所述网络层报警数据产生分析模块中报警数据的收集,采用流量处理模块获取或通过检测规则配置模块匹配产生。
13.优选的,综合分析模块包括安全状态预测模块、系统威胁性评估模块、网络层报警链产生模块、组态报警分析模块以及攻击预测模块。
14.优选的,所述安全状态预测模块用于通过报警数据的攻击描述与安全状态的联系构建隐含马尔可夫模型,通过隐含马尔可夫模型,得到未来报警数据的安全状态。
15.优选的,所述系统威胁性评估模块用于根据获得的安全状态和报警数据攻击模式信息,进行系统威胁评分。
16.优选的,所述网络层报警链产生模块用于对报警数据进行关联分析,提取出报警链。
17.优选的,所述组态报警分析模块用于对报警记录进行分析,并将可能由网络攻击事件引发的报警与非网络攻击事件引发的报警区分开来,以提供相应的分析手段。
18.优选的,所述攻击预测模块用于根据各模块获取的数据及分析结果,预测下一个攻击目标。
19.本技术的第二方面提供了一种面向工业控制系统报警数据的分析方法,包括以下步骤:
20.收集工业控制系统的拓扑信息、报警数据以及漏洞信息;
21.对报警类别和系统安全状态进行预测评估,根据预测评估的结果,为不同类别的报警提供相应的处理分析方法,并预测下一个攻击目标。
22.本发明通过收集分析工控系统的拓扑信息、报警数据、漏洞信息,预测未来报警数据的类别,生成报警链,对系统安全状态进行预测评估,计算工控系统中节点的报警安全评分,综合预测评估的结果,为不同类别的报警提供不同的处理分析方法,同时预测下一个可能遭到攻击的节点。本技术通过多种技术手段,综合分析工控系统产生的网络层报警和组态软件报警,评估系统安全状态,预测未来攻击,溯源报警产生的原因,为管理员处理安全事件、保护工控系统提供了有力支撑。
附图说明
23.图1为本技术一实施例提供的一种面向工业控制系统报警数据的分析系统的系统架构图;
24.图2为本技术一实施例提供的一种面向工业控制系统报警数据的分析系统的系统模块图;
25.图3为图2所示的实施例中安全状态预测模块的安全状态获取流程图。
具体实施方式
26.为了使本技术所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
27.请参阅图1,为本技术一实施例提供的一种面向工业控制系统报警数据的分析系统的系统架构图,为了便于说明,仅示出了与本实施例相关的部分,详述如下:
28.在其中一实施例中,一种面向工业控制系统报警数据的分析系统,其包括:
29.信息收集模块,用于收集工业控制系统的拓扑信息、报警数据以及漏洞信息。
30.具体地,如图2所示,信息收集模块包括网络拓扑获取模块、网络层报警数据产生分析模块以及漏洞扫描模块。
31.其中,网络拓扑获取模块,支持以多种文件格式导入已有的拓扑数据,导入的数据必须包含拓扑中节点的ip地址信息以及节点之间的连通性信息,也可以使用系统自带的探
测器获取网络拓扑:探测器以较小的带宽占用、较低的频率周期性扫描整个网络,收集拓扑信息,获得的拓扑数据存储在系统中,可供其它模块使用。
32.网络层报警数据产生分析模块用于收集报警数据,并对报警数据聚类,训练模型进行未来攻击模型预测。
33.网络层报警数据是由网络中特定流量产生的报警数据,可以选择流量处理模块获取的流量,或通过与检测规则配置模块匹配产生报警数据;也可以直接选择外部报警数据进行导入。
34.流量处理模块用于获取流量,系统采用分布式流量获取方式,主要功能由控制器和采集器实现,控制器负责管理采集器,同时提供数据接口,可将流量数据输出,采集器部署在网络边界位置,以被动方式收集流量,获得的流量信息定期汇集到控制器,控制器和采集器之间的连接方式可以配置为控制器主动,由控制器主动连接采集器,也可以配置为采集器主动,由采集器主动连接控制器。
35.检测规则配置模块用于匹配流量并产生相关的报警数据,对于常见的攻击方式,根据其具体特征,系统提取并内置了检测规则,用户可以直接选择并配置,用户也可以自定义检测规则,如在实际的工控网络中,选择源地址、目的地址、端口号、协议类型及协议字段等信息,在细粒度上,定义工控设备之间流量数据的检测规则,在粗粒度上,定义整个网络中流量数据的检测规则,利用漏洞扫描模块中的漏洞指纹信息,用户可以自定义针对某个具体漏洞的检测规则,用户自定义的规则可以自命名,同时可以选择是否保存到系统,如果将自定义规则存储在系统,下次配置时可以直接使用。
36.由于报警数据中包含丰富的信息,本技术利用报警数据中的攻击描述字段,对报警数据聚类,训练模型进行未来攻击模式预测,过程如下:
37.(1)利用词袋模型,将报警数据中的攻击描述向量化,之后用多尺度熵获取最具代表性的攻击描述向量。首先提取所有报警数据中的攻击描述字段,这些字段是英文文本格式,将攻击描述字段中的字母全部转为小写,同时去除无实际意义的单词如a,of等。将处理后的数据进一步去重,删除重复的单词。最终剩下的所有单词就构成了一个词袋。根据所得词袋,将攻击描述信息向量化:首先对攻击描述信息预处理,去除无实义单词并转化为小写,如果攻击描述中的单词在词袋中出现,就将词袋向量的对应位置1,否则置0。以“controller ddos attack warning”和“controller abnormally disconnected”这两条攻击描述为例,将其按上述过程处理后得到词袋[controller,ddos,attack,warning,abnormally,disconnected]。根据词袋将这两条攻击描述向量化,得到[1,1,1,1,0,0]和[1,0,0,0,1,1]两个向量。
[0038]
(2)利用多尺度熵,对报警数据进行特征分析,提取更具代表性的报警数据。选择不同的尺度对报警序列数据进行粗粒化,计算每个尺度对应的样本熵。熵值越大表明该尺度的数据越具有代表性,选择尺度熵值最大的尺度数据,抽取出该尺度内出现频率最高的攻击模式向量。
[0039]
(3)利用birch算法和多尺度熵抽取出的数据,对报警数据的攻击模式进行聚类。训练模型,对未来报警数据的攻击模式进行预测。birch算法步骤如下:
[0040]
(a)扫描所有警报的攻击类别数据,构建初始聚类特征树;
[0041]
(b)对第一步得到的聚类特征树进行筛选,去除一些异常聚类特征点;
[0042]
(c)利用第二步生成的聚类特征树的所有聚类特征节点的质心,作为初始质心点,对所有的样本点按距离远近进行聚类。
[0043]
将报警数据的攻击模式聚类后,给每个报警数据打上类别标签,同时将得到的类别划分到安全状态预测模块定义的不同安全状态中,统计计算出聚类类别间的转移概率矩阵matrix,令pi表示某报警数据属于类i的概率,di表示该报警数据与类i的距离,k表示报警数据聚类后的类别总数,则有:
[0044][0045]
对于一个报警数据序列[o1,o2,

,oi],报警数据i属于类别j的概率最大,记作p
ij
,则定义下一条报警属于类别k的概率的计算公式为:
[0046]
p(o
i 1
∈k|oi∈j)=p
ij
p
jk
p
(i 1)k
[0047]
其中p
jk
是聚类类别间转移概率矩阵matrix第j行、第k列的值。则警报o
i 1
的类别c为:
[0048]
漏洞扫描模块用于收集漏洞信息,整合构建系统漏洞库。首先从cve漏洞库和nvd漏洞库中获取漏洞信息,比较得到的漏洞信息,去除重复的条目,提取漏洞编号cve-id、漏洞名称、漏洞cvss严重性评级、漏洞cvss衡量指标分数、易受攻击的软件版本等信息,同时提取nvd中漏洞对应的弱点枚举信息,包括cwe-id和cwe名称,结合漏洞的细节描述信息和漏洞的弱点枚举信息,提取漏洞特征、暴露端口号等指纹信息和利用方式、攻击类别,将提取的所有信息存入系统漏洞库。
[0049]
扫描获取工控系统漏洞信息。本模块具有多个漏洞扫描工具,提供多种扫描方式。对网络拓扑获取模块输出的ip地址逐一进行扫描,获取其操作系统信息和工控设备型号信息。探测开放的端口、运行的协议及服务等,根据探测包返回的结果,结合漏洞特征和漏洞指纹,推断ip节点的漏洞存在情况。将每个ip节点的操作系统信息或设备型号信息以及漏洞扫描结果记录到系统中。
[0050]
综合分析模块,用于对报警类别和系统安全状态进行预测评估,根据预测评估的结果,为不同类别的报警提供相应的处理分析方法,并预测下一个攻击目标。综合分析模块包括安全状态预测模块、系统威胁性评估模块、网络层报警链产生模块、组态报警分析模块以及攻击预测模块。
[0051]
具体地,安全状态预测模块用于通过报警数据的攻击描述与安全状态的联系构建隐含马尔可夫模型,通过隐含马尔可夫模型,得到未来报警数据的安全状态。本系统定义四种工控系统安全状态,定义工控系统的安全状态如下:
[0052]
(1)系统安全阶段,此状态下系统并未遭受攻击。
[0053]
(2)攻击准备阶段,在此状态下主机的可利用性提高,被攻击概率增加。
[0054]
(3)攻击进行阶段,在此状态下,系统正被入侵。
[0055]
(4)攻击完成阶段,此时系统的安全性急剧下降。
[0056]
将报警数据作为观测层,工控系统安全状态作为隐含层,构建隐含马尔可夫模型。根据网络层报警数据产生分析模块输出的结果,把观测层报警数据对应到隐含层的不同状态。通过漏洞扫描模块的cvss分数确定隐含层状态间的转移概率矩阵。统计观测层报警数
据在隐含层的分布情况,根据统计结果计算得到隐含层安全状态的发射矩阵。根据已知报警数据序列,结合转移概率矩阵和发射矩阵,使用维特比算法得到当前的安全状态。根据网络层报警数据产生分析模块对未来警报类别的预测结果,使用维特比算法得到未来安全状态,流程如图3所示。
[0057]
系统威胁性评估模块用于根据获得的安全状态和报警数据攻击模式信息,进行系统威胁评分。
[0058]
具体地,本实施例以所处攻击阶段为依据,将报警数据攻击模式的危害等级划分为四类,具体类别及类别分数如表1所示。
[0059]
表1报警数据攻击模式的危害等级划分
[0060]
危害级别轻度中度重度极重取值0.10.20.30.4
[0061]
各危害等级的安全状态对应的分数设定如表2所示。
[0062]
表2安全状态对应的分数设定
[0063]
安全状态系统安全攻击准备攻击进行攻击完成取值0.050.150.30.5
[0064]
其中,定义score
addr
为ip地址是addr的设备当前的报警安全评分,定义state
addr
为根据报警数据i获得的安全状态分数,定义clai为报警数据i的攻击模式类别分数,定义set为所有目的ip地址为addr的报警数据集合,则score
addr
=score
addr

j∈set
statej claj,得到新的评分score
addr
后,更新拓扑中每个节点的报警安全评分。
[0065]
网络层报警链产生模块用于对报警数据进行关联分析,提取出报警链。
[0066]
具体地,网络层报警意味着网络攻击事件的发生,报警链在很大程度上反映了攻击流程,报警链构造过程如下:把所有报警数据按时序排列,对于其中的某条数据,将目的ip地址记录为一个节点di,源ip地址记录为di的前序节点si。遍历发生在该报警之前的所有报警,找到目的地址为si的报警,将其源ip地址构建为si的前序节点。重复此过程至检索完所有的报警数据,得到报警链。
[0067]
组态报警分析模块用于对报警记录进行分析,并将可能由网络攻击事件引发的报警与非网络攻击事件引发的报警区分开来,以提供相应的分析手段。
[0068]
具体地,在工业控制系统中,为了保障正常的生产流程,必须监测其运行参数,比如温度、湿度、电流大小、开关状态等,这些数据由传感器采集,并传递到组态软件。组态软件为这些变量定义报警属性。当实际生产发生意外故障、检测变量发生改变时,组态软件就会产生相应的报警信息,这些信息被写进报警记录,同时通过蜂鸣器或其它光、声设备产生警报。本模块针对组态软件的报警记录进行分析。工控系统中引起报警的原因有很多:操作员行为不当、生产过程中的正常报警、网络攻击事件等。本模块结合其它模块的输出,将可能由网络攻击事件引发的报警与非网络攻击事件引发的报警区分开来,提供不同的分析手段,方便管理员进一步处理。
[0069]
首先确定报警是否是由网络安全因素引起的,将报警数据输入分析模块,对于引起报警的变量,根据其变量名和地址信息,找到其所在的设备,如果该设备采用以太网方式通讯,则将该设备与网络拓扑中的ip节点关联;如果该设备使用其它方法通讯,则找到其上位机,将上位机与网络拓扑中的ip节点关联。当报警的危害级别达到重度、安全状态为攻击
进行时,工控设备安全状态变差,在这种情况下,可以认定网络安全因素触发了组态报警。故设定判别阈值为重度危害报警分数、攻击进行安全状态分数之和。从系统威胁性评估模块中获得关联ip地址对应的报警安全评分,如果得到的报警安全评分比判别阈值高,判定报警由网络安全因素引起,否则认定为非安全因素引起。对于由网络安全因素引起的报警,从网络层报警链产生模块中得到报警链条,管理员可以参考报警链条中的信息进行分析。对于非网络安全因素引起的报警,模块支持自定义分析显示条件,可选条件包括报警日期时间、报警优先级、操作员级别、报警频率等。
[0070]
攻击预测模块用于根据各模块获取的数据及分析结果,预测下一个攻击目标。
[0071]
具体地,由网络拓扑获取模块得到工控系统网络拓扑图和设备间的可达性信息,提取当前报警数据的目的ip地址,获得此地址所对节点的安全状态。如果节点安全状态是攻击准备,则与该节点直接相连的其它节点都是下次可能的攻击目标;如果节点安全状态是攻击进行,从网络层报警数据产生分析模块获得未来报警数据的攻击模式,同时获取该节点的漏洞信息,若攻击模式和漏洞信息中的攻击类别匹配,则该节点也是下次攻击的目标;对于其它情况,从工控系统网络拓扑图中找到与该节点相连的所有节点,从系统威胁性评估模块获得拓扑图中节点的报警安全评分,从漏洞扫描模块获得拓扑图中节点的漏洞信息和cvss衡量指标分数。计算它们各自的报警安全评分和cvss分数之和,预测评分最高的节点为下一个可能被攻击的节点。
[0072]
在其中一实施例中,还包括结果显示模块,用于对其它模块输出的结果进行展示,本模块支持以图或表的形式进行展示。其中,网络拓扑获取模块、漏洞扫描模块、系统威胁性评估模块、网络层报警链产生模块和攻击预测模块的输出结果既可以单独显示,也可以进行模块间的信息融合后显示。
[0073]
本技术的第二方面提供了一种面向工业控制系统报警数据的分析方法,包括以下步骤:
[0074]
收集工业控制系统的拓扑信息、报警数据以及漏洞信息;
[0075]
对报警类别和系统安全状态进行预测评估,根据预测评估的结果,为不同类别的报警提供相应的处理分析方法,并预测下一个攻击目标。
[0076]
需要说明的是,本实施例中的一种面向工业控制系统报警数据的分析方法,是上述一种面向工业控制系统报警数据的分析系统对应的实现方法的实施例,因此关于报警数据的分析方法中各模块的具体结构,可参照图1-图3的实施例,此处不再详细赘述。
[0077]
本发明提出的一种面向工业控制系统报警数据的分析系统与方法,通过收集分析工控系统的拓扑信息、报警数据、漏洞信息,预测未来报警数据的类别,生成报警链,对系统安全状态进行预测评估,计算工控系统中节点的报警安全评分,综合预测评估的结果,为不同类别的报警提供不同的处理分析方法,同时预测下一个可能遭到攻击的节点。本技术通过多种技术手段,综合分析工控系统产生的网络层报警和组态软件报警,评估系统安全状态,预测未来攻击,溯源报警产生的原因,为管理员处理安全事件、保护工控系统提供了有力支撑。
[0078]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员
可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
[0079]
以上所述实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围,均应包含在本技术的保护范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献