基于深度强化学习的智慧变电站网络异常检测方法

2021-07-29 08:45:22李自若沈曦张亦兵李小飞刘润苗
南方电网技术 2021年6期
关键词:数据包变电站流量

李自若,沈曦,张亦兵,李小飞,刘润苗

(1.国网重庆市电力公司建设分公司,重庆401120;2.国网电力科学研究院有限公司,南京211106)

0 引言

智慧变电站是目前电力物联网发展与建设的一个重要方向,随着大量各类型传感单元和物联网设备的接入,变电站自动化网络安全在输变电工程中的作用愈发重要[1]。然而,随着电力物联网建设的推进,变电站系统从过去的封闭结构转变为接入点增多、通信方式多样化和通信协议部分开放等模式,以消息队列遥测传输(message queuing telemetry transport, MQTT)协议和受限应用协议(constrained application protocol, CoAP)为代表的物联网通信协议逐步在智慧变电站中推广应用,促使智慧变电站各智能终端与各类型传感器之间的通信标准化,完成变电站的全景状态监测,由此带来的网络攻击的威胁也随之增加[2 - 3]。另一方面,变电站通信网络也面临着光纤短路、交换机异常、端口错误以及数据丢包等异常形式,此外该网络中二次通信设备端口数量众多,各链路存在交叉等问题,复杂的网络构架往往使故障难以得到快速精确的分析和处理,会对智能电子设备(intelligent electronic devices,IED)间的信息交互及其功能实现造成严重影响,甚至威胁智能站系统正常运行[4]。因此,对智能站的自动化网络实现快速的异常网络检测至关重要[5 - 6]。

此外,大多数现有的安全解决方案通过引用黑名单数据库来检测攻击,黑名单数据库需要包含每个攻击的签名信息,因此无法检测使用未知漏洞的数据攻击。每当出现新的攻击模式时,必须更新数据库才能保证其有效性[7]。然而在诸如电网这样的环境中,可靠性至关重要,诸如数据库更新导致的服务延迟等问题通常是不容许出现的一类问题[8]。

根据不相同的入侵识别方案,入侵检测系统(intrusion-detection systems,IDS)中使用的技术大体上可分为误用检测和异常检测。误用检测技术使用保存攻击特征码的数据库检测攻击,具有精度高、速度快的优点[9]。它在控制系统中的使用也有一些限制,因为它不能检测到新的攻击,并且需要频繁的数据库更新;异常检测技术是一种首先确定网络或系统的正常行为,然后考虑偏离正常行为既定标准行为的检测方法[10]。

由于控制系统的环境具有有限的服务能力,并且与一般IT环境相比,它的行为模式是规则的,因此它是异常检测技术的一个很好的选择[11]。文献[12]提出了一种即插即用设备来检测拒绝服务(denial of service,DoS)和隐私攻击。该设备主要包括捕获工具和深度学习检测模型。捕获工具用于在ad-hoc网络中捕获数据包,深度学习检测模型用于检测攻击。如果检测到的结果是攻击,将触发警报。结果表明,所有检测模型可以实现较高的准确性、精确度、召回率和F1得分。文献[13]提出了一种算法来识别智能水分配系统的不同网络物理组件中的可疑行为。该算法结合了异常检测技术的多个模块,以识别实时监视和控制数据中的不同类型的异常。文献[14]提出了一种使用混合学习机制的机器异常检测系统,该机制结合无监督学习和非参数学习两种机器学习方法,使用正常模式而不是来自机器的异常模式来检测异常行为。为了确定构造入侵检测模型所需的关键特征从而实现最大的准确性,文献[15]利用具有最小复杂度的分类器集成方法来克服现有基于集成的入侵检测模型的问题。利用卡方特征选择和支持向量机,改进朴素贝叶斯(improved Naive Bayes,INB)和线性编程提升(linear programming boosting,LPBoost)等分类器的集合来开发入侵检测模型。实验结果表明,与LPBoost集成相比,基本分类器具有更高的准确性。文献[16]提出了一种基于子空间局部密度估计的新型异常检测方法,其关键思想是构建多个T型树,可以实现构建子空间和局部密度估计的过程。上述研究对自动化网络系统的异常检测已经有了一些研究。然而,目前对于智慧变电站中IEC 61850协议与物联网开放协议MQTT/CoAP特性的异常检测研究还很少[17]。

针对上述问题,本文提出了一种基于深度强化学习的面向智慧变电站自动化网络异常检测方法,其创新点如下。

由于现有检测方法存在不适用智慧变电站自动化网络的问题,所提方法构建了智慧变电站自动化系统架构,并且分析智慧变电站网络中制造报文规范(manufacturing message specification,MMS)、面向通用对象变电站事件 (generic object oriented substation event,GOOSE)包、采样值 (sample value,SV)报文、MQTT和CoAP协议的正常行为,为制定IEC 61850的网络异常检测方案提供基础支撑。

由于网络流量的发生是有规律的,所提方法基于这一特性,利用深度强化学习算法处理智慧变电站中的流量特征,以判断实时采集的数据包是否存在异常,并将MMS/GOOSE/SV/MQTT/COAP包的检测结果添加到学习模型中,以提高其检测性能。

1 基于深度强化学习的网络异常检测方法

基于串行的IEC 60870- 5作为数据交换协议已在变电站中使用多年。然而,IEC 60870- 5有许多缺点,由于其对硬件的高度依赖性,只有相关的点信息和状态信息,对不同厂商的兼容性较差。为了克服现有变电站系统通信协议的可扩展性和灵活性的不足,以及满足智慧变电站的需要,IEC TC57WG10开发了IEC 61850,作为适合下一代智慧变电站自动化系统的新通信标准。

MMS/GOOSE/SV是IEC 61850中使用的典型协议。其中,MMS是一种基于TCP/IP的协议,用于服务器和客户端之间的通信和普通的控制命令传输[18]。GOOSE/SV是一种用于点对点通信的以太网协议,用于传输智能电子设备(smart electronic device,IED)电气量状态信息。MQTT和CoAP协议是面向对象的物联网开放式协议,用于智慧变电站中各类型传感器和智能装置的非电气量状态信息采集和汇聚。智慧变电站体系结构以及MMS/GOOSE/SV/MQTT/COAP协议的使用范围如图1所示。

图1 智慧变电站自动化体系结构Fig.1 Architecture of intelligent substation automation system

目前,基本的MMS/GOOSE/SV/MQTT/COAP协议不提供加密或身份验证,并且已经发现MMS协议栈中TPKT层存在漏洞,攻击者很有可能利用此漏洞威胁网络安全,从而影响智慧变电站的稳定运行。

因此,现有自动化网络的异常检测方法不适用于IEC 61850和物联网协议环境,它们大多基于Modbus或DNP3协议,或者不考虑TCP上层协议。为此,本文提出了一种基于深度强化学习的智慧变电站自动化网络异常监测方法[19]。从智慧变电站和间隔层的设备收集通信包,对其进行预处理,获得网络流量特征,然后利用深度强化学习从这些数据特征中检测出网络的异常情况。

1.1 预处理

在包过滤中,利用MMS/GOOSE/SV/MQTT/COAP包的特征,从整组数据包中只提取MMS/GOOSE/SV/MQTT/COAP包,其中在单数据包处理中创建数据集所选的数据包字段特征如表1—2所示。

表1 MMS包字段特征Tab.1 Characteristics of MMS package fields

表2 GOOSE/SV包字段特征Tab.2 Characteristics of GOOSE/SV package fields

在选择字段时,关键的因素在于数据包之间的值变化。对于MMS/GOOSE/SV/MQTT/COAP数据包,因为MMS/GOOSE/SV/MQTT/COAP信息部分的字段是可变的,具体取决于信息的类型,因此采用n-gram方法将MMS/GOOSE/SV/MQTT/COAP有效载荷引入特征空间[20]。当所有的数据被带入特征空间时,整个数据集就变成了稀疏矩阵。

此外,基于流量的进程进行分组业务的处理,其通过计算单位时间的包传输速率和传输字节大小来创建数据集。通过基于流量的数据集学习可以检测到诸如拒绝服务(denial of service,DoS)之类的攻击。

1.2 自动化网络异常特征分析

当自动化网络运行稳定时,内部各个信息源的数据传输是相对独立的,并且流量满足叠加定理。根据这一特性,构建了网络装置和链路流量的计算模型,其中装置流量类型包括输入与输出两种,链路流量类型包括上行与下行两种。由于装置的输出流量对模型的影响不大,因此忽略不计。

1)装置输入流量的数学分析计算过程如式(1)所示。

Qi=Min,iR

(1)

式中:Qi为装置i的输入流量;Min,i为装置i的输入报文集矩阵(n×m阶),n为信息源的数量,m为网络的报文路数;R为单位时间内输入装置i的各路报文数量组成的矩阵。

其中Min,i计算如式(2) 所示。

(2)

式中:Mci为装置c和i分别作为根节点、叶节点的输入报文集矩阵;Lp为报文p的长度。

2)链路流量计算模型

链路流量计算如式(3) 所示。

(3)

式中:Qik为链路ik的流量矩阵;i→k表示链路流量方向,由装置i流入装置k;E为自动化网络过程层中全部信息源的集合。

(4)

定义每个网络流量的上下限阈值,超出正常阈值的网络流偏差可能表示网络有问题,或者存在潜在攻击。因此采用隶属函数a(t)定义如式(5)所示。

(5)

1.3 深度强化学习

深度强化学习融合了深度学习的感知优势与强化学习的决策优势,其中深度学习可以从场景中获得研究对象的观测数据,并且提供场景的当前状态数据;而强化学习把当前状态折射成相符合的动作,并且利用预期回报评价动作的价值,其框架如图2所示。

图2 深度强化学习框架Fig.2 Framework of deep reinforcement learning

其中深度学习是机器学习的重要组成部分,强化学习的目的是让智能体(agent)在和场景(environment)交互的环节中实现奖励(reward)和最大化[21 - 22]。

对于给定的状态S(k), agent通过策略π采取一个动作a(k), 即a(k)=π(s(k)), 系统的操作由序列s(1),a(1),s(2),…,a(k-1),s(k)来描述。

在时刻k中,每次与环境交互后,都会收到一个奖励r(k), 未来总的折扣奖励R(k)为:

(6)

式中:γ为折扣因子;K为过程结束的时刻。

定义Q函数Q(s(k),a(k)), 其表示给定状态S(k)中某个动作a(k)的回报期望。最优Q函数在接收到状态s并采取动作a后,应遵循策略π,即Q*(s,a)=maxπE[R(k)|s(k)=s,a(k)=a,π], 可作为贝尔曼方程的解。因此,通过使用贝尔曼方程进行迭代更新,Q函数为:

Q(k+1)(s(k),a(k))=Es(k+1)[r(k)+

(7)

由于在连续的学习状态下,Q值需要很长的时间才能收敛。因此,通常使用深度卷积神经网络(convolutional neural network,CNN)作为非线性函数,不断寻优以预估Q函数。将Q(s(k),a(k);ϑ)定义为近似Q函数,即Q(s(k),a(k);ϑ)≈Q*(s(k),a(k)), CNN权值参数ϑ被称为Q网络。Q网络通过在迭代i处最小化损失函数Li(ϑi)序列来更新其参数ϑi:

(8)

所提方法基于随机梯度下降(stochastic gradient descent,SGD)方法不断迭代、更新Q网络参数,以此获得Q网络的最优解π*(s), 即:

(9)

1.4 异常检测

利用深度强化学习判断实时采集的数据包是否存在异常,每个MMS/GOOSE/SV/MQTT/COAP包的检测结果都保存为日志记录。然后将这些信息添加到学习模型中,以提高检测性能[23 - 24]。由于使用学习算法时的检测性能高度依赖于预处理模块。因此,为了提高检测性能,有必要对预处理技术和应用领域的特点进行充分的学习和测试。基于深度强化学习的智慧变电站自动化网络异常检测方法的流程如图3所示。

图3 IEC 61850异常检测方法的流程Fig.3 Process of IEC 61850 anomaly detection method

在预处理中,通过对采集到的智慧变电站网络包数据进行包过滤,提取出MMS/GOOSE/SV//MQTT/COAP包,并且通过阶段预处理(单包处理和分组业务处理)将MMS/GOOSE/SV/MQTT/COAP分组为不同的数据集[25 - 26]。然后,利用深度强化学习对生成的数据集进行异常检测,以确定智慧变电站的网络状况是否正常,并更新警报和日志。

2 实验分析与结果

为了验证所提方法的有效性,采用典型的110 kV智慧变电站收集数据包并进行实验,其中变电站的物理模型如图4所示。

图4 智慧变电站物理模型Fig.4 Physical model of smart substation

图4中通信网络中包含3个间隔,间隔1的IED包含1个合并单元(MU)、2个断路器智能终端(Breaker IED)、2个保护装置(Relay IED)和2个测控装置(M& C IED);间隔2和3的IED包含1个MU、1个断路器智能终端、12个保护装置和1个测控装置,间隔IED之间通过交换机进行数据的收发。

异常检测系统运行在Linux(ubuntu12.04)上,并使用Libsvm v3.14库中的函数实现深度强化学习算法。对于分组流的模型,由于预处理占用了内存空间和时间,因此只对单包模型进行性能评估,以评估其现场适用性。此外,还采用对正常数据包的误报率(false positive rate,FPR)进行对比评估。

2.1 流量异常检测结果分析

通常来说,当网络中存在流量异常时,其流量变化情况如图5所示。

图5 网络异常流量变化曲线Fig.5 Network abnormal traffic curves

从图5中可以看出,当网络中存在DoS攻击时,其流量值会迅速增大,且保持一段时间,这与突发流量会有明显的区分,因此能够很好地判定网络中的异常情况。以此特性为基础,进一步定量判定所提方法的异常检测准确性,结果如表3所示。

表3 异常检测方法的准确性Tab.3 Accuracy of anomaly detection methods

从表3中可以看出,无论是MMS、GOOSE/SV还是MQTT/CoAP,所提方法的误报率均比较低,由此可论证其有效性,能够用于网络异常的检测。

2.2 不同方法的检测对比分析

在FPR和平均延时两个方面,对比不同方法(所提方法与文献[12]、文献[14 - 15]在智慧变电站自动化网络中的异常检测结果,其中不同方法的FPR值对比结果如图6所示。

图6 不同方法的FPR结果对比Fig.6 Comparison of FPR results of different methods

从图6中可以看出,随着数据包的增加,其FPR的数值出现了小幅度的升高,并且相比于其他方法,所提方法的误报率最低。文献[14]使用混合学习机制的异常检测系统,其中结合无监督学习和非参数学习两种机器学习方法,但没有充分结合智慧变电站的网络特征,因此FPR较高,且随着数据包的增加,其值上升较快。文献[15]利用具有最小复杂度的分类器集成方法来克服现有基于集成的入侵检测模型中的问题,虽然方法复杂度降低,但检测准确度会有所影响,因此其FPR数值不太理想。文献[12]中采用捕获工具在Ad-Hoc网络中捕获数据包,并使用深度学习模型检测网络攻击,因此其检测性能较好。但所提方法采用深度强化学习模型,并且数据包进行预处理,因此性能更佳。

此外,不同方法平均延时对比结果如图7所示。

图7 不同方法的平均延时对比Fig.7 Comparison of average delay of different methods

从图7可以看出,相比于其他方法,所提方法的平均延时最小,并且随着数据包的增加,其延时不断增加。文献[15]的检查复杂度最小,因此延时较短。文献[12]和文献[14]的计算过程复杂,耗时较多。而所提方法在数据包预处理的基础上,采用训练好的深度强化学习模型,因此平均延时较短。

3 结语

在智慧变电站中,使用IEC 61850和物联网开放式通信定义的标准协议可以实现在不同装置之间的信息交互。随着网络攻击对电网等工业基础设施的威胁越来越大,迫切需要完善的IEC 61850和物联网通信数据包异常检测方法。为此,提出了一种基于深度强化学习的面向智慧变电站自动化网络异常检测方法。结合智慧变电站的固有特点,构建了智慧变电站自动化网络架构。在此基础上,对智慧变电站网络中的通信数据包进行预处理,以获得能够反映网络异常的流量特征,并利用深度强化学习检测MMS/GOOSE/SV/MQTT/COAP数据包是否存在异常,所有的检测结果都保存为日志记录。最后,基于典型110 kV智慧变电站的自动化系统进行实验,其中利用Linux环境开发上层管理平台,以处理智慧变电站采集的数据并将结果呈现。结果表明所提方法能够准确检测出网络流量异常的情况,并且相比于其他方法,其误报率最小且延时最短,具有较好的应用前景。

目前针对IEC 61850和物联网协议特性的异常检测技术的研究相对较少,所提方法仅根据网络流量进行异常检测,而在实际应用中,需要对其抵御攻击数据包的性能进行评估,即应该使用IEC 61850攻击包进行实验分析。因此在接下来的研究中,将进行抵御IEC 61850攻击包的性能分析,并且对节点间的通信包应用不同的正常行为模型,以进一步提高网络异常检测精度。

猜你喜欢
数据包变电站流量
冰墩墩背后的流量密码
玩具世界(2022年2期)2022-06-15 07:35:36
张晓明:流量决定胜负!三大流量高地裂变无限可能!
房地产导刊(2021年8期)2021-10-13 07:35:16
寻找书业新流量
出版人(2020年4期)2020-11-14 08:34:26
SmartSniff
关于变电站五防闭锁装置的探讨
电子制作(2018年8期)2018-06-26 06:43:34
超高压变电站运行管理模式探讨
电子制作(2017年8期)2017-06-05 09:36:15
220kV户外变电站接地网的实用设计
变电站,城市中“无害”的邻居
河南电力(2015年5期)2015-06-08 06:01:45
基于Libpcap的网络数据包捕获器的设计与实现
五位一体流量平稳控制系统