电网工控网络攻击场景中的层次关联分析方法

2021-01-29 01:49费稼轩孙佳炜
南京理工大学学报 2020年6期
关键词:工控层次化分类器

费稼轩,裴 培,张 明,孙佳炜

(1.全球能源互联网研究院有限公司 信息网络安全国网重点实验室,江苏 南京 210003;2.国网江苏省电力有限公司,江苏 南京 210003)

电网在长期运行实践过程中已形成了完备的安全三道防线体系,特别是主备继电保护装置动作能够快速切除和隔离故障,而国内外工控系统在安全管控方面,特别是攻击威胁的应对方面,处置技术手段还远达不到电网安全三道防线体系的同等水平[1,2]。由网络攻击产生的异常事件间具有一定的关联关系,如何挖掘这种关联关系,对异常事件进行关联分析,进而识别网络攻击是亟需解决的问题[3,4]。在工控系统网络攻击关联分析领域,国内外学者做了大量工作。文献[5]采用了博弈集合模型确定客观评价的组合权重,运用二次博弈灰色关联分析法进行电网安全运行的综合评价,但只能从全局角度分析电网的安全运行,无法有效分类攻击类型。文献[6]提出一种基于多级灰色面积关联分析(Multi-level grey area relational analysis,MGARA)的电网安全综合评价模型,构建了一套较完整的二级事前综合评价指标体系,但同样只是从全局角度对电网安全进行评价分析,缺乏对攻击场景和攻击层级的划分。文献[7]将神经网络与攻击检测相结合,利用对受控系统物理属性的了解来检测错误响应注入攻击,对异常事件进行关联分析,可以有效识别响应注入攻击、中间人攻击和DoS攻击,但无法检测到重放攻击,检测准确性需要提高,由于未结合电力工控系统特点,对于其在电力工控领域的应用还有待研究。文献[8]研究了组合赋权的多层次灰色关联分析,评价燃煤机组的运行状况,改善了单一方法评价的思路,挖掘了更加丰富的评价内容,但传统的灰色关联分析法未充分体现关联的整体性,忽略了层级间报警信息的关联,从而导致分析结果的可信度降低。文献[9]提出了基于Apriori的关联规则分析方法,挖掘系统中异常事件的频繁项,具有较好的效果。但该方法只是对系统整体异常事件的频繁集进行挖掘,并未对系统进行层级划分,对异常事件无法进行层级的定位与描述,存在遗漏系统某层级关键频繁项集的不足,关联分析精度和异常事件的分类效率均不够高。

针对电力工控系统攻击识别面临的问题,为提高关联分析的精度。本文研究并设计了基于场景的层次关联分析方法,针对运行过程中可能遭受的攻击场景,基于贝叶斯分类方法对网络攻击产生的异常事件进行分类,基于Apriori算法对分类后的异常事件按照子站层、通道层以及主站层分层次挖掘频繁项集,并对各层频繁项集进行时间和空间关联,生成层次化关联规则。然后提出基于相似度的匹配算法,将实时异常事件与关联规则分层进行匹配,识别网络攻击。该方法对电网各层异常事件进行关联分析、分别挖掘各层次异常事件,并进行时间、空间关联,与常规关联分析方法相比,生成的关联规则更加精确。对系统产生的实时异常事件进行分层次匹配,可提高关联规则的匹配效率。

1 电力工控系统典型攻击场景分析

1.1 电力工控系统交互过程

源网荷系统的主要拓扑如图1所示,智能网荷互动终端通过用户交互机实时向变电站上传可切负荷量,变电站对各个网荷互动终端的可切负荷量进行汇集,上传到核心交换机,核心交换机对各变电站上传的可切负荷量进行进一步汇集,并上传至源网荷主站。在电网发生故障时,源网荷主站根据预定义策略,通过变电站向各网荷互动终端发送切负荷命令,网荷互动终端接受主站命令后,对可切负荷量进行切除,保证电网安全稳定运行。在系统交互过程中,源网荷系统中的诸多风险点存在被利用的可能性,产生大量重复的异常网络流事件。通过对这些事件按根源分类,表示异常类型,可以精准区分攻击类型。

1.2 电力工控系统典型攻击场景

源网荷系统存在的风险点如图1所示,主要有非法控制指令下发、网络设备渗透和终端末端网络通道入侵。

1.2.1 非法控制指令下发

该风险点主要发生于源网荷系统主站,黑客通过入侵源网荷主站并下发非法控制指令,直接造成电网停电事故,或在电网故障时拦截主站根据预定义策略下发的指令,使电网错失力挽狂澜的最佳时期,进而引发大停电事故。其攻击对象、攻击手段、攻击后果总结如下:

(1)攻击对象为源网荷系统主站;

(2)攻击手段为黑客入侵源网荷主站并下发非法控制指令;

(3)攻击后果为可能导致主站下发错误命令,使网荷互动终端发生误动或拒动,引发大停电事故。

1.2.2 网络设备渗透

该风险点主要发生于用户侧交换机、变电站交换机,黑客通过入侵多台用户侧交换机或多台变电站交换机,并同时利用交换机向主站发送大量无用请求,导致网络通信通道被阻塞,使网荷互动终端上传的数据或主站下发的指令无法正常传输,导致网荷互动终端对主站命令失去响应,主站指令下发后设备无动作,引发大停电事故。其攻击对象、攻击手段、攻击后果总结如下:

(1)攻击对象为用户交换机、变电站交换机;

(2)攻击手段为黑客利用电脑接入交换机并发送大量无用请求;

(3)攻击后果为通信拥塞导致正常数据或指令无法传送,目标设备失去响应、接收不到应答信号、指令下发后设备无动作,引发事故。

1.2.3 终端末端网络通道入侵

该风险点主要发生于终端末端网络通道,黑客通过入侵多个终端末端网络通道,并利用该通道进行分布式数据篡改攻击,或伪造下发的控制指令。分布式数据篡改攻击即篡改终端上传到主站的数据,可能导致调度系统对电网的安全稳定状况产生误判,进而在电网稳定运行状态时发出切负荷命令或者在电网紧故障下,不采取任何措施,从而错失了控制事故发展的最佳时期,造成大停电事故。伪造控制指令即伪造主站下发到网荷互动终端的指令,可能导致网荷互动终端发出错误命令或对命令不响应,如:在电网稳定运行状态时发出切负荷命令,或者在电网紧故障下,对变电站下发的命令不执行,造成电网停电事故或进一步扩大电网停电事故。其攻击对象、攻击手段、攻击后果总结如下:

(1)分布式数据篡改。

攻击对象为终端末端网络通道;攻击手段为黑客在多个终端与加密装置之间的网络通道上接入中间人并篡改上传数据;攻击后果为可能导致调度系统对电网的安全稳定状况产生误判,进而在电网稳定运行状态时发出切负荷命令或者在电网紧故障下,不采取任何措施,从而错失了控制事故发展的最佳时期,造成大停电事故发生。

(2)分布式伪造控制指令攻击。

攻击对象为终端与加密盒间的网络通道;攻击手段为黑客在多个终端与加密装置之间的网络通道上接入中间人并伪造下发的控制指令;攻击后果为可能导致网荷互动终端发出错误命令或对命令不响应。如:在电网稳定运行状态时发出切负荷命令,或者在电网紧故障下,对变电站下发的命令不执行。造成电网停电事故或进一步扩大电网停电事故。

1.3 电力工控系统异常事件分析

为了实现对电网工控系统攻击的监测,需要对电网数据进行关联分析。本文关联分析所需的异常事件主要来自于仿真系统和电网采集信息。所采集的信息如表1所示,主要有子站层、通道层以及主站层的采集信息。通过对采集的信息进行关联分析,可以得到电网工控系统异常事件。异常事件及分析过程如表2所示。

表1 电力工控系统采集信息

在进行关联分析时需要对事件进行预处理,采用统一的形式化描述方法来表示异常事件Xi,如式(1)所示。本文采用向量的形式来描述异常事件。为关联分析提供数据基础。

Xi=[发生时间 源IP地址 目的IP地址

源端口 目的端口 事件类型 协议类型]

(1)

表2 电力工控系统网络异常流量事件

2 电力工控系统层次化关联分析模型

2.1 层次化关联分析流程

为了识别源网荷系统的网络攻击,需要对源网荷子站层、通道层以及主站层的异常事件进行关联分析,结合源网荷系统的特点,提出了层次化关联分析流程[10],如图2所示。

本文提出的层次化关联分析流程主要包括2个部分,即关联规则的离线生成与关联规则的在线匹配。

(1)关联规则的离线生成。

首先,根据系统采集和仿真系统生成的某攻击场景下的数据样本,对其进行预处理后将数据按照层次分为子站层异常事件、通道层异常事件以及主站层异常事件。然后,基于Apriori算法[11],分别挖掘对各层次异常事件的频繁项集,得到子站层、通道层以及主站层的频繁项集。然后,分别对各层次的频繁项集中的异常事件按照发生时间、IP地址进行关联,分别生成各层次的关联规则。最后,按照异常事件发生的先后顺序,将各层次关联规则进行关联,得到某攻击场景下的源网荷系统层次化关联规则。

减少与某攻击场景无关的待匹配异常事件数量可以加快在线关联匹配速度。基于某攻击场景下的异常事件,借助贝叶斯模型,训练生成该攻击场景下异常事件的分类模型,识别该攻击场景下的异常事件。

(2)关联规则的在线匹配。

利用生成的关联规则发现网络攻击具有重要意义。首先,采集源网荷系统中的实时数据,利用多源事件预处理模型对事件进行处理。然后,基于前期训练得到的基于贝叶斯的异常事件分类模型,对实时数据进行初步分类,得到某攻击场景下的异常数据,减少待匹配异常事件数量。其次,将得到的某攻击场景下的数据按层次分类为子站层、通道层以及主站层实时异常事件。最后,分别计算各层异常事件与各层关联规则的匹配度,当匹配度大于一定的阀值时,则匹配成功,判断发生该种攻击。否则,判断未发生该种攻击。

2.2 关联分析算法

在关联分析方法中,Apriori算法[12]应用较多,且应用效果较好。本文借助Apriori关联算法分别对电网子站层、通道层以及主站层的异常事件进行关联分析。首先由Apriori算法挖掘出各攻击场景下的电网各层次的频繁项集。假设有D个样本,样本中某层异常事件种类个数为m,则该层异常事件可以组合的项集个数为2m-1。取1个项集对D个样本扫描,统计项集在样本中出现的频次n。最后取出现频次最高的项集作为该层的频繁项集。具体过程如图3所示。生成频繁项集后,对各层频繁项集进行时间、IP地址关联,分别生成子站层、通道层以及主站层的关联规则。然后再次根据时间和IP,对各层的关联规则进行关联,生成该攻击场景下的关联规则。具体过程如图4所示。

2.3 异常事件分类算法

由于电力网络规模庞大,业务复杂,会相应产生大量异常事件告警信息。为了提高关联规则匹配的效率,减少匹配中出现的噪音以及离散数据,本文借助贝叶斯方法[13]对3种攻击场景异常事件进行分类。

与其他分类法相比,贝叶斯分类法有更高的分类精度。而电网对实时性及准确率要求较高,为了提高贝叶斯分类器分类的准备率,本文在单个贝叶斯分类算法的基础上,设置了3个分类器,利用测试样本计算出分类器的权值,并进行加权投票,可得到更加精确的贝叶斯分类模型[14,15]。训练过程由2部分组成,即事件分类器的生成和改进加权投票计算,如图5所示。

(1)事件分类器的生成。

首先,输入源网荷系统训练样本。然后,根据分布式拒绝服务攻击场景、分布式数据篡改攻击场景以及分布式伪造控制指令场景对训练样本进行标记。其次,随机将训练样本分给3个分类器,分别训练计算每个分类器中分布式拒绝服务攻击、分布式数据篡改攻击以及分布式伪造控制指令攻击的后验概率PJi、PSi、PZi,i=1,2,3。进而得到初步的贝叶斯分类器1、2、3。以分布式拒绝服务攻击后验概率为例,介绍其后验概率PJi的计算过程。

对于分布式拒绝服务攻击样本XJ,由式(1)对其进行描述,对式(1)中的每个属性进行处理,将其转化为7维向量XJ=[x1x2x3x4x5x6x7]。则其贝叶斯后验概率PJi训练计算如下

(2)

式中:PJi(XJ|Ci)为条件概率,PJi(Ci)为先验分布概率,PJi(XJ)为与拒绝服务样本有关的1个常数。

先验分布概率PJi(Ci)的计算过程如下

(3)

式中:si是Ci类中的训练样本数,s是总样本数。

条件概率PJi(XJ|Ci)的计算过程如下

(4)

式中:PJi(x1|Ci),PJi(x2|Ci),…,PJi(x7|Ci)表示每个属性的条件概率,可以计算如下

(5)

式中:sik是类Ci中在第k个属性上具有值XJ的训练样本数,而si是Ci中的训练样本。

经过上述计算可以得到各分类器中分布式拒绝服务攻击的后验概率PJi(Ci|XJ)。同理还可计算得到各分类器中分布式数据篡改攻击后验概率PSi(Ci|XS),分布式伪造控制指令攻击后验概率PZi(Ci|XZ)。进而得到初步的贝叶斯分类器1、2、3。

(2)改进加权投票计算。

在训练样本中选择测试数据,组成测试样本T。将测试样本T的所有事件输入3个初始分类器中进行分类,分别统计各分类器分类成功率即权值q1、q2、q3。然后将权值与初步分类器进行加权计算,得到加权贝叶斯分类器C[PJPSPZ]。加权计算过程如下

(6)

在实际应用中,首先计算在线事件Xm的后验概率Pm(Ck|Xm)然后将其与加权贝叶斯分类器中后验概率进行比较,判断其归属类别。若Pm(Ck|Xm)>PJ,则将其归为分布式拒绝服务攻击异常事件;若Pm(Ck|Xm)>PS,则将其归为分布式数据篡改攻击异常事件;若Pm(Ck|Xm)>PZ,则将其归为分布式伪造控制指令攻击异常事件。

2.4 关联匹配算法

Apriori算法生成关联规则后,需要将分类后的在线异常事件与关联规则进行匹配,识别攻击。由于本文异常事件的属性较多,故借助属性相似度的方法对异常事件与关联规则进行在线匹配。对于在线事件,选取式(1)中事件属性,加上分类器标识符xdetect_id构成相似属性集X={x1,x2,x3,x4,x5,x6,x7,xdetect_id}。构造关联规则中事件相似属性集Y={y1,y2,y3,y4,y5,y6,y7,ydetect_id},则X和Y的相似度为

(7)

式中:SIM(Xi,Yi)是对应属性间的相似度,Wi是对应的期望权值,即每个具体属性相似度在整体相似度中的所占比重值。通常情况下需要设定1个阈值β,如果SIM(X,Y)>β,就表示事件X和Y是冗余关系,则X与Y完成关联,否则创建新的关联队列来容纳事件X,并将其作为该队列的首事件与下一个关联规则进行匹配。

对单个属性间的相似度计算,分别采用相应的规则。例如,对源IP地址的相似度计算,可以设定

(8)

基于近似度函数的关联匹配方法不依赖于知识库,不需要任何先验知识,能够高效匹配关联规则。在匹配过程中,算法只需计算2个异常事件之间的近似度即可发现事件的相关性,提高了关联匹配效率。

3 实验验证

3.1 实验环境搭建

为了验证本文方法的有效性,搭建了源网荷仿真系统,如图6所示。仿真系统主要包括源网荷主站控制中心,OPNET网络通信仿真系统、OPAL-RT电力仿真系统(含变电站)、路由器、网络互动终端、网络攻击主机,关联分析服务器等部分。用该套源网荷仿真实验系统模仿源网荷系统运行过程。网络攻击主机主要负责对源网荷系统发起网络攻击。关联分析服务器主要负责对采集的数据进行关联分析,它集成了多种安全软件分析模块,用来生成异常事件;集成了多源数据处理模块,用以对网络异常事件进行预处理;此外,关联分析服务器还集成了Apriori关联算法,验证本文方法的有效性。

3.2 攻击实验与结果分析

在攻击实验过程中,网络主机将对源网荷仿真系统分别发起分布式拒绝服务攻击、分布式数据篡改、分布式伪造控制指令攻击。部署在关联分析服务器上的安全软件分析模块对攻击产生的信息进行分析并生成异常事件。为了方便实验,从攻击实验产生的数据中随机选择了300条数据,其中分布式拒绝服务攻击、分布式数据篡改、分布式伪造控制指令攻击3种攻击的异常数据各100条,数据主要特征包括发生时间、源IP地址、目的IP地址、源端口、目的端口、协议类型、流量大小、MAC地址;实验主要比较指标为检测率、误报率和分类正确率,定义如下

(9)

式中:f为检测出发生攻击的个数,z为攻击发生的总个数,w为误报个数,s为正确识别攻击的个数。

(1)为了将基于Apriori的层次化关联分析方法与基于因果的层次化关联分析方法进行性能比较,设计了1组对比实验,并进行实验结果分析。比较总体实验结果如表3所示。

表3 关联分析方法实验对比结果1

从表3可以看出,基于Apriori的层次化关联分析模型与基于因果的层次化关联分析方法相比,在检测率基本不变的同时,平均误报率从21.9%降低到了11.7%,分类正确率从89.3%提升为96.5%。

图7具体展示了基于因果的关联分析方法与基于Apriori的层次化关联分析方法对不同层次异常事件的检测率、误报率以及分类正确率。图7中可以很明显地观察到在本文方法在检测率变化不大时,各个异常事件攻击场景的误报率都明显降低,而分类正确率有显著提高,算法识别精度大大改进。

(2)为了对比本文方法中提出的分层关联分析的有效性,采用没有分层挖掘频繁项的基于Apriori的关联分析方法与基于Apriori的层次化关联分析方法进行实验对比。实验采用的数据与实验1中相同,总体比较结果如表4所示。

从表4可以发现,基于Apriori的关联分析模型与基于Apriori的层次化关联分析模型获取的检测率比较接近,然而,未使用分层挖掘频繁项的基于Apriori的关联模型的总体误报率比基于Apriori的层次化关联模型高出近6%,分类正确率降低了近20%。结合图8观察到,由于基于Apriori的关联分析模型没有使用层次化方法分层挖掘频繁项,导致其对每个异常事件场景的误报率都比较高。即尽管总体的误报率有明显降低,能够识别并关联到异常事件,但是出现每个层次的异常事件误关联的情况,导致每个层次的误报率都较高。同时观察每个异常事件攻击场景的分类正确率,未采用层次化方法的Apriori算法分类正确率与基于Apriori的层次化关联分析算法相比差异显著,性能较低,并且各个异常事件攻击场景下分类正确率也差距较大。实验表明,本文提出的基于Apriori的层次化关联分析模型可以有效提高异常事件识别精度与分类正确率,效果显著。

表4 关联分析方法实验对比结果2

4 结束语

针对电力工控网络面临的网络攻击威胁和攻击场景多样化,本文提出了电网工控网络攻击场景中层次化关联分析方法,进一步提高恶意攻击事件识别的精度和效率。在电网各层次异常事件的频繁项挖掘中,本文提出的基于Apriori的层次化关联分析方法避免了未分层挖掘可能遗漏某层频繁项的不足,进而得到了更加全面充分的频繁项。通过对频繁项进行时空关联,可有效提高关联规则精度。本文提出的加权贝叶斯分类方法与传统贝叶斯分类模型相比,生成多个分类器和权值,并对分类器进行加权,可有效提高异常事件分类的准确率,提高关联分析精度,实现在线事件按攻击场景的快速分类。结合本文异常事件属性多的特点,提出了基于属性相似度的关联匹配算法,实现关联规则的高速匹配。在源网荷仿真实验系统上验证了本文方法的有效性。

猜你喜欢
工控层次化分类器
面向量化分块压缩感知的区域层次化预测编码
工控编程编译工具应用现状分析及展望
工控系统脆弱性分析研究
基于蜜罐的工控网络安全防护技术研究进展
学贯中西(6):阐述ML分类器的工作流程
基于类别混合嵌入的电力文本层次化分类方法
基于皮尔森相关算法的云存储层次化去冗优化
基于改进键合图方法的层次机电系统的测试性建模与分析
基于朴素Bayes组合的简易集成分类器①
基于动态分类器集成系统的卷烟感官质量预测方法