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

一种面向电力网络告警信息的关联分析方法与流程

2022-04-06 20:09:19 来源:中国专利 TAG:


1.本发明属于电力工业与网络安全交叉领域,尤其涉及一种面向电力网络告警信息的关联分析方法。


背景技术:

2.近年来,随着计算机技术和信息技术的蓬勃发展,信息网络基础设施给人类社会带来便利的同时,网络安全问题却变得日益严峻。电力网络作为工业控制领域重要的一环,保障其安全稳定运行的重要性与意义不言而喻。
3.在现阶段电力网络安全问题十分严峻的情况下,电力网络态势感知技术应运而生。电力网络态势感知能够全方位地感知电力网络的脆弱性,实时产生相关设备的告警信息。然而,面对数量庞大、信息冗余的告警数据,如果不能有效筛选出有价值的信息,电力网络态势感知作用将达不到预期效果。
4.目前公开文献中针对告警信息关联分析领域有三个主流方向:基于专家知识或经验、基于既定规则、基于机器学习的方法。
5.(1)基于专家知识的方法
6.基于专家知识的方法主要应用在早期电力网络关联分析与故障排除中,该方法在告警数据量较小的时候能体现出极大的优势,能处理和应对绝大多数网络攻击行为。然而,该方法在很大程度上受限于专家的经验与知识,随着现阶段电力网络规模的扩大和告警信息的骤增,基于专家知识的方法显然无法有效地从海量告警中寻找出多种类别网络攻击之间的联系。因此,该方法已基本被淘汰或作为一种辅助手段补充分析。
7.(2)基于规则的方法
8.基于规则的电力网络告警信息关联分析主要依赖于事先定义好的规则。但是该方案缺乏可扩展性,即只能依靠系统中已有规则。基于规则方法的优点在于实现过程较为简单,但是规则的制定总是落后于新型的攻击行为,因此不适用于当前复杂的电力网络大环境的背景。
9.(3)基于机器学习的方法
10.电力网络安全是工业控制领域安全的基石,电力网络告警信息分析不仅需要有足够的理论支撑,更需要能实时分析处理,能够在实际工控场景中保障电力网络的安全。而机器学习正好具备这些优点,因此,基于机器学习的方法在该领域内使用最为广泛。
11.综上所述,本发明使用了基于机器学习的方法,并结合实际电力工业控制领域的场景,同时设计了两种针对该特定场景下的算法,可用于准确高效生成告警规则。


技术实现要素:

12.针对以上问题,本发明提出一种面向电力网络告警信息的关联分析方法,基于真实的电力网络场景设计告警事务聚合算法和告警规则过滤算法,并结合预处理分析和已有机器学习算法进行研究与分析,达到能够快速准确生成电力网络告警规则的目标。
13.为达到上述目的,本发明提供如下技术方案:
14.一种面向电力网络告警信息的关联分析方法,包括如下步骤:
15.(1)对电力网络态势感知平台收集到的告警日志进行范式化处理;
16.(2)将范式化处理过后的告警数据加以预处理分析;
17.(3)预处理过后的告警数据输入到告警事务构造模块,进行分段处理并提取告警事务集合;
18.(4)针对事务集合,采用经典关联分析算法fp-growth进行告警规则的挖掘,并设计一种基于时间顺序的告警规则过滤算法,对挖掘出来的规则进行过滤,得到最终规则集合。
19.作为本发明的一种改进,步骤(2)的具体方法如下:
20.(2.1)针对(1)中范式化过后的原始告警日志进行属性选取,选取一部分相对重要的告警属性特征;
21.(2.2)进行告警数据的清洗;
22.(2.3)去除重复和冗余的告警信息,定义重复的告警如下:
[0023][0024]
其中,alarmi和alarmj分别表示第i和第j个告警攻击事件,包含的属性有告警名称alarm_name、告警攻击目标alarm_tgt、告警攻击源alm_src; alm_timei和alm_timej分别表示第i和第j个告警事件的发生时间;t
min
表示最小时间间隔阈值,为自定义参数。
[0025]
(2.4)按照时间相对顺序对告警信息进行排序处理。
[0026]
进一步,所述步骤2.1中选取的相对重要的告警属性特征如下表所示:
[0027][0028]
作为本发明的一种改进,步骤(3)中分段处理并提取告警事务集合的设计方法如下:
[0029]
(3.1)对(2.4)中已排序完的告警序列集合进行分段处理,根据具体样本数量大小,提前设置好分段数量阈值k,将告警序列均分为k段;
[0030]
(3.2)针对每一段告警子序列,采用设计的一种基于动态滑动时间窗口 (dynamic sliding time window,dstw)的方法,来进行告警事务的抽取,最大程度将关联关系密切的告警聚合在同一个事务集合中;
[0031]
作为本发明的一种改进,步骤(3.2)的具体方法如下:
[0032]
(3.2.1)进行初始化设置,设置滑动时间窗口原始的大小w、滑动步长s、最小时间阈值time_intvl,例如w=5,s=2,time_intvl=10min;
[0033]
(3.2.2)从每一个子序列的初始位置开始进行滑动;
[0034]
(3.2.3)正常情况下,当窗口大小达到w时,取该窗口内的告警事件形成一个事务,同时左端的指针向右滑动s步距离;当遇到任意前后两个告警攻击事件之间的时间距离超过某个时间阈值的时候,此时窗口停止滑动,获得一个告警事务;与此同时,调整滑动开始位置为当前位置的下一个位置,重新开始滑动;
[0035]
(3.2.4)重复进行(3.2.3)中的步骤,直到滑动指针已经滑动到每个子序列的结尾处。通过该设置,改进了传统的固定滑动时间窗口的算法,能充分考虑到各个告警信息之间的时空关系,来最大程度聚合关联紧密的告警信息。
[0036]
作为本发明的一种改进,步骤(4)的具体方法如下:
[0037]
(4.1)针对告警事务集合,采用频繁模式增长算法(fp-growth)挖掘电力网络告警强关联规则;
[0038]
(4.2)提出一种基于时间顺序的告警规则过滤算法,充分考虑各个告警事件之间的关系,过滤掉不满足时序条件的告警规则,进一步压缩规则数量。
[0039]
通过该步骤,获取到了初始的告警规则集合,同时对于一部分不满足时序规则的集合,采用设计的一种过滤算法,能够过滤掉不满足时间顺序的规则,进一步压缩规则的规模。
[0040]
作为本发明的一种改进,步骤(4.1)的具体子步骤如下:
[0041]
(4.1.1)设定最小支持度阈值minsup、最小置信度阈值minconf;
[0042]
(4.1.2)构建频繁模式树fp-tree;
[0043]
(4.1.3)产生告警信息频繁项集;该步骤依赖于对于支持度与置信度具体的计算公式,如下:
[0044][0045]
该式表示计算项集itemi的支持度数,其中itemi表示第i个项集,t表示告警事务集合,q表示告警事务个数,tj表示第j个告警事务。
[0046]
support(x)=α(x)/|t|
[0047]
该式表示计算项集x的支持度,其中|t|表示事务集合t包含的事务个数,α(x)表示项集x的支持度数。
[0048][0049]
该式计算表示规则x-》y的置信度,其中support(x∪y)和support(x)分别表示项集x∪y和项集x的支持度。
[0050]
(4.1.4)生成初始告警关联规则;
[0051]
与现有技术相比,本发明的技术方案具有如下优点和有益效果:
[0052]
(1)本发明充分考虑了电力工业网络中的实际业务场景,能够快速有效地得到电力网络中的告警规则,为电网管理人员提供一份告警规则列表,辅助管理人员进行故障排查与未来网络攻击预警,能够有效提高电力网络的安全性与稳定性。
[0053]
(2)本发明设计了一种基于动态滑动时间窗口的算法(dynamicslidingtimewindow,dstw),充分考虑各个告警事件之间的时空联系,能够高效准确提取出告警事务集合,最大程度将关联程度较高的告警聚合在一个事务窗口中,提高后续挖掘出来的告警规则的准确度。
[0054]
(3)本发明使用了频繁模式增长算法(frequentpatterngrowth,fp-growth),用于生成告警频繁项集,该算法借助于频繁模式树fp-tree这种数据结构,可以避免类apriori算法需要多次扫描事务数据库和生成大量候选项集的缺点,提高了告警规则挖掘的效率。
[0055]
(4)针对fp-growth算法是一个典型的无序算法,本发明提出了一种基于时间顺序的告警规则过滤算法,结合现阶段流行的网络攻击链特征,进一步剔除掉不满足时序的告警规则,压缩告警规则规模,可以有效提高电力网络安全管理人员的安全排查效率。
附图说明
[0056]
图1为本发明提出的面向电力网络告警信息的关联分析方法图;
[0057]
图2为预处理模块的详细流程图;
[0058]
图3为设计的动态滑动时间窗口算法原型图;
[0059]
图4为生成告警规则的流程图;
[0060]
图5为不同滑动步长情况下的告警规则数量对比图。
具体实施方式:
[0061]
以下将结合具体实施例和说明书附图对本发明提供的技术方案进行详细说明,应理解下述具体实施方式仅用于说明本发明而不用于限制本发明的范围。
[0062]
本发明提出了一种面向电力网络告警信息的关联分析方法,该关联分析综合框架如图1所示,包含三个模块,第一部分为告警预处理模块,具体内容为首先对不同安全设备产生的告警日志进行范式化处理,得到格式和属性一致的告警数据,然后针对处理过的告警日志进行预处理操作,将其转换为能够有利于后续进行关联分析的告警数据集;第二部分为事务集构造模块,具体内容为将原始告警序列划分为若干告警子序列,进而利用提出的基于动态滑动时间窗口(dynamicslidingtimewindow,dstw)对每一个子序列进行处理,高效准确地提出事务并形成告警事务集合;第三部分为告警规则挖掘和过滤模块,具体为针对第二部分生成的告警事务集合,使用基于fp-tree的fp-growth算法来挖掘电力网络告警强关联规则,同时针对fp-growth算法不考虑规则时序的特点,设计了一种基于时间顺序的告警规则过滤算法,进一步剔除无效规则,压缩告警规则的规模。
[0063]
具体地说,本发明方法有以下步骤:
[0064]
(1)对电力网络态势感知平台收集到的告警日志进行范式化处理,这些告警日志来源于多源安全设备,日志之间的格式具有一定的差异,结合电网自身特点,对其进行范式
化处理,解析过后的告警日志在格式上统一、重要字段上平行,有利于后续进一步的分析。
[0065]
解析过后的告警日志样例如下表所示:
[0066][0067]
(2)将范式化处理过后的告警数据进行预处理分析,图2展示的是预处理分析的详细流程图。
[0068]
本步骤的具体过程如下:
[0069]
(2.1)属性选取,范式化处理过后的告警数据中包含了大量的属性,需要占用大量存储空间,且过多无关属性也不利于关联模式的挖掘,因此首先进行特征选取,结合电力网络自身特点,选取了一部分相对重要的特征,如下表所示:
[0070][0071]
(2.2)数据清洗,告警数据集中不可避免会出现某些字段存在缺失值的情况,本发明考虑到出现缺失值的情况不足以构成一次完整的攻击事件,故采用简单删除法,进行告警数据的清洗;
[0072]
(2.3)去除重复和冗余的告警信息,根据告警信息的特点,重复的告警信息往往集中在一个很小的时间阈值内,定义重复的告警如下:
[0073][0074]
其中,alarmi和alarmj分别表示第i和第j个告警攻击事件,包含的属性有告警名称
alarm_name、告警攻击目标alarm_tgt、告警攻击源alm_src;alm_timei和alm_timej分别表示第i和第j个告警事件的发生时间;t
min
表示最小时间间隔阈值,为自定义参数。
[0075]
(2.4)数据排序,以告警时间(alm_time)为关键字对该数据集进行排序操作。按照时间排序的告警数据集具有关联规则挖掘的模式,能够匹配后续基于动态滑动时间窗口的事务抽取和关联分析算法。
[0076]
(3)将预处理模块处理过后的告警数据输入到告警事务构造模块,首先进行分段处理,然后提取告警事务集合;
[0077]
本步骤具体过程如下:
[0078]
(3.1)对(2.4)中已排序完的告警序列集合进行分段处理,根据具体样本数量大小,提前设置好分段数量阈值k,将告警序列均分为k段,通过并行计算的方式,能够加速事务提取的过程,提高算法的效率;
[0079]
(3.2)针对每一段告警子序列,采用设计的一种基于动态滑动时间窗口 (dynamic sliding time window,dstw)的方法,来进行告警事务的抽取,最大程度将关联关系密切的告警聚合在同一个事务集合中,达到准确高效聚类攻击事件的目标,dstw算法思想如图3所示,具体过程如下:
[0080]
(3.2.1)首先进行初始化参数设置,设置滑动时间窗口原始的大小w、滑动步长s、最小时间阈值time_intvl,例如w=5,s=2,time_intvl=10min;
[0081]
(3.2.2)从每一个子序列的初始位置开始进行滑动;
[0082]
(3.2.3)正常情况下,当窗口大小达到w时,取该窗口内的告警事件形成一个事务,同时左端的指针向右滑动s步距离;当遇到任意前后两个告警攻击事件之间的时间距离超过某个时间阈值的时候,此时窗口停止滑动,前后两个指针之间的告警事件用于形成一个告警事务;与此同时,调整滑动开始位置为当前位置的下一个位置,重新开始滑动。
[0083]
(3.2.4)重复进行(3.2.3)中的步骤,直到滑动指针已经滑动到每个子序列的结尾处。
[0084]
(3.2.5)以图3中告警子序列s1为例,使用上述过程进行事务提取,得到的事务集合如下表所示:
[0085][0086]
(4)针对事务集合,采用经典关联分析算法fp-growth进行告警规则的挖掘,并设计一种基于时间顺序的告警规则过滤算法,对挖掘出来的规则进行过滤,得到最终规则集合,具体流程如图4所示;
[0087]
本步骤具体包括以下过程:
[0088]
(4.1)针对告警事务集合,采用频繁模式增长算法(fp-growth)来挖掘电力网络告警强关联规则,得到初始告警规则集合,具体过程如下:
[0089]
(4.1.1)设定最小支持度阈值minsup、最小置信度阈值minconf;
[0090]
(4.1.2)生成头部链表,依据头部链表构建频繁模式树fp-tree,用类似前缀树的形式存储告警事务集合信息;
[0091]
(4.1.3)依据fp-tree生成告警信息频繁项集,该步骤依赖于对于支持度与置信度具体的计算,其计算公式具体如下:
[0092][0093]
该式表示计算项集itemi的支持度数,其中itemi表示第i个项集,t表示告警事务集合,q表示告警事务个数,tj表示第j个告警事务。
[0094]
support(x)=α(x)/|t|
[0095]
该式表示计算项集x的支持度,其中|t|表示事务集合t包含的事务个数,α(x)表示项集x的支持度数。
[0096][0097]
该式计算表示规则x-》y的置信度,其中support(x∪y)和support(x)分别表示项集x∪y和项集x的支持度。
[0098]
(4.1.4)依据频繁项集,最终生成初始的告警关联规则。
[0099]
(4.2)提出了一种基于时间顺序的告警规则过滤算法,充分考虑各个告警事件之间的关系,过滤掉不满足时序条件的告警规则,进一步压缩规则数量,得到最终告警规则列表,下表为设置最小支持度minsupp为0.12,最小置信度 minconf为0.25的情况下,依据上述步骤所得到的过滤之后的告警规则列表:
[0100][0101][0102]
为验证在不同滑动步长情况下该方法的效果情况,对比了滑动步长为2、4、6、8、10情况下的规则数量,如图5所示,当滑动步长设置为2时,能获得规模更小但更加关键的告警规则,提高管理人员的排查效率。
[0103]
本发明方案所公开的技术手段不仅限于上述实施方式所公开的技术手段,还包括由以上技术特征任意组合所组成的技术方案。应当指出,对于本技术领域的普通技术人员
来说,在不脱离本发明原理的前提下,还可以做出若干改进和润色,这些改进和润色也被视为本发明的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献