导语:现代传感器、计算和通信技术的发展,使得各种智能电网应用程序成为可能。对通信技术的严重依赖凸显出了智能电网对虚假数据注入(FDI)攻击的脆弱性,这种攻击可以绕过不良数据检测机制。
摘要
现代传感器、计算和通信技术的发展,使得各种智能电网应用程序成为可能。对通信技术的严重依赖凸显出了智能电网对虚假数据注入(FDI)攻击的脆弱性,这种攻击可以绕过不良数据检测机制。电力系统中现有的缓解措施要么侧重于冗余测量,要么就保护一组基本测量。这些方法对FDI攻击作了具体假设,现有缓解措施对现代网络威胁的处理经常是存在一些限制和不足。在已提出的方法中,基于深度学习的框架工作用于检测注入数据测量。我们的时间序列异常检测器采用卷积神经网络(CNN)和一个长短期记忆(LSTM)网络。为了能够有效地估计系统变量,我们的方法进行观察数据测量和网络级特性共同学习系统状态。该系统在IEEE 39-bus测试系统上进行了测试。实验分析表明,该深度学习算法能识别传统状态估计不良数据检测检测不到的异常。
一、介绍
在电力需求增长的环境下,未来智能电网的设计要运行更加可靠、经济和高效。然而,要实现这一目标,需要通过与数据通信的巨大增长相结合,然而,数据通信为各种网络攻击提供了大把的机会。因此,确保智能电网的网络安全是重中之重。虽然发布了大量的对抗措施,如通信标准(如IEC 61850-90-5 [1])、法律法规(如Colorado法规(CCR) 723-3)、加密实现(如,安全通道[7]),以及官方指南(如NISTIR 7628指南[8]),目前智能电网仍然容易受到网络攻击。
为了防止网络攻击,传统电网依赖于传统安全方案(如,防火墙和一般入侵检测系统)。入侵检测系统(IDS)能够通过持续的监视网络流量或系统日志对潜在入侵进行警报。虽然在网络安全社区有一些关于IDS的研究,但是在智能电网方面所作的努力是有限的。同时,在电力网络中针对数据可用性和完整性的攻击风险是真实存在的。Liu等人[16]提出了一个值得关注的问题,即一种叫作虚假数据注入(FDI)的攻击类型,该攻击类型针对的是国家电网系统中的状态估计。在这种攻击中,攻击者的目标是绕过现有不良数据检测系统,并通过故意改变电力系统的估计状态对电力系统运行造成损害。因此,迫切需要一个有效的智能电网专用入侵检测系统。
为了解决上述问题,有两种被广泛研究的方案可以检测FDI攻击[4],[14]:一种方法是战略性地保护一些安全的基本测量。Kim等人[12]提出了一种贪婪算法来选择基本测量子集和安全的相量计量单位放置。Bi等人[3]将问题用一个图形化的防御机制来进行描述,选择不会受到攻击的仪表测量的最小数。另一种防御FDI攻击的方法是单独对每个状态变量进行验证。Liu等人[15]制定了一个低秩矩阵分离问题识别攻击并提出两种优化方案来解决问题。Ashok等人[2]提出了一种基于统计信息以及状态变量预测的在线检测算法来检测测量异常。
近年来,机器学习算法被智能电网相关文献广泛用于监测和预防电力系统的网络攻击。Ozay等人[17]提出了Gaussian分布攻击并且使用监督和半监督机器学习方法来对攻击进行分类。同样,Esmalifalak等人[5]设计了一个分布式的支持基于向量机的标签数据模型和非监督机器学习情况下的统计异常检测器。他们[10]采用条件深度信念网络(CDBN)有效地揭示了难以察觉的FDI攻击的高维时间行为特征。然而,现有的工作主要是在某一状态下发现不良测量,并没有关于FDI攻击动态行为的先前研究。此外,对FDI攻击的检测也被认为是[5][10]中的监督二分类问题,即无法检测动态演变的网络威胁以及变化的系统配置。
GPU计算的最新突破为深入研究神经网络奠定了基础。本文提出了一种基于神经网络的异常检测框架,使智能电网专用IDS的构建成为了可能。更具体地说,使用LSTM[11]单元的递归神经网络来捕获电力系统的动态行为,并且采用卷积神经网络[13]平衡两个输入源。当观察到的和估计的测量值之间的残差大于给定的阈值时,就会发出攻击警报。
此外,具有诡辩领域知识的攻击者也可能,在没有被检测到的情况下继续操纵电力电网状态估计,造成更广泛的损害。因此,我们计划将网络异常检测器与FDI攻击检测机制联合起来。不像其他研究,将两个检测器分离,我们的框架将网络流量特性和时间序列数据测量联合起来,并利用卷积神经网络在两者之间进行均衡输入。在提出的神经网络结构帮助下,异常检测器显示出高度精确的检测性能。
本文剩余部分组织如下:第二部分介绍了FDI攻击的背景和神经网络。第三部分介绍了我们的联合检测系统,同时在第三部分的B小节和第三部分C小节用静态和动态的方法检测FDI攻击。第四部分介绍了关于IEEE 10-machine 39-bus电力系统研究的例子。最后,第五节结束我们的工作。
二、背景
A.虚假数据注入攻击
在电力系统中,用总线电压大小V∈Rn和相角θ∈([−π,π])n表示状态,其中n是bus的数量。设z = [z1, z2, …, zm] T ∈ Rm为测量向量,x = [x1, x2,…xn] ∈Rn,T∈Rn是状态向量,e = [e1, e2,…em]T∈Rm表示测量误差向量。AC测量模型描述如下:
z = h(x) + e (1)
在分析数据攻击对状态估计的影响时,采用通过线性化AC模型得到DC模型,在该模型中仪表测量值m与状态变量n之间的关系,可以用一个m×n矩阵H描述。通常,电力系统的矩阵H是一个常数矩阵,该常数矩阵由电力系统的拓扑和线路阻抗决定。
z = Hx + e (2)
通常使用加权最小二乘估计获得状态估计的方程式:xˆ= minx1/2 (z − Hx)TR−1(z −Hx) = (HTR−1H)−1HTR−1z,其中R是协方差矩阵。
用za表示观测到的量测向量,该测量值可能包含恶意数据。za可以表示为za=z+a,其中a = (a1,…,am)T是被添加到原始测量数据中的恶意数据。让xa表示x的估计值,其中x是使用包含恶意量测数据za估计出的。xa表示为xˆ+ c,c是一个非零向量,表示恶意注入对状态估计的影响,xˆ表示使用原始测量数据的状态估计。在本文中,我们假设如果随机FDI攻击者只有部分信息,那么目标FDI攻击者则获得了足够的内部信息来构造xa。
输入层 卷积层+ RELU(激活函数) 池化层 扁平层 全连接层 Softmax分类器。
图1 一个用卷积神经网络进行图像分类的架构示例
B .卷积神经网络
卷积神经网络 (CNN或者ConvNet)是神经网络的其中一类,这类神经网络在处理图像和视频信号方面取得了成功,如在实时视频中识别对象和图像风格转换,如可视化图1所示。
CNN描述了最经典的神经网络形式,这种形式的神经网络将多个节点按层排列,信息只从输入到输出。我们使用三个主要层类型构建CNN架构:卷积层、池化层、全连接层。
通过这种方式,CNN从原始张量到可能是类分数的最终输出,对原始输入进行逐层转换。特别是每个卷积层和全连接层执行转换,该转换是输入量的参数(权重和偏差)和激活函数的一个函数。CNN的参数将会接受梯度下降优化算法的训练,使CNN计算的输出数据和训练数据集标签之间的损失最小。
C .递归神经网络
递归神经网络,或RNN[19],是用于处理序列数据神经网络的一个家族。与专门处理高维向量,如图像,的卷积网络对比,递归神经网络是专门处理时间序列值x(1)…….x(t)的一种神经网络。RNN非常适合处理不基于序列专门化的长序列数据。时间递归神经网络使用下列方程定义隐藏单元的值。
h(t) = f(h(t−1), x(t); ) (3)
h代表隐藏状态,x(t)则是时刻t的序列输入。
Schuster等人[20]展示了双向深层神经网络。在每个时间步长为t的时刻,双向RNN维护两个隐藏层,一个用于正向传播,另一个用于反向传播。最后的结果yt,是通过将两个隐藏层产生的分数结合生成的。图2显示了双向网络体系结构,(4)显示了单个双向RNN隐藏层的公式。
h→(t) = f(h(t−1), x(t); θ→) (4)
h← (t) = f(h(t+1), x(t); θ←) (5)
图2 典型的3层双向递归神经网络的计算
1)长短期记忆:目前,最常用的RNN属于长短期记忆(LSTM)神经网络[11]。不同于普通带有单个gate的RNN,LSTM表现出显著的特征,既能保持长时间的依赖,又能保持短时间的记忆。每个LSTM单元有三个gate(门):输入门 i,输出门 o,遗忘门 f。LSTM单元的信息流如下:
ft = σg(Wfxt + Ufht−1 + bf ) (6)
it =σg (Wixt + Uiht−1 + bi) (7)
ot =σg (Woxt + Uoht−1 + bo) (8)
ct = ft ○ ct−1 + it○σc(Wcxt + Ucht−1 + bc) (9)
ht = ot ○ σh(ct) (10)
其中σg (·)和σc (·)分别代表sigmoid和正切函数, ○表示element-wise产品。这里,c和h代表单元状态向量和隐藏单元向量。
三、检测数据级别的虚假数据注入攻击
关于静态FDI攻击检测方法已经进行了各种研究。一个常见的假设是威胁模型,在该模型中,攻击者知道电力系统拓扑结构;但是,只能注入有限数量的坏数据点,如图3a所示。在这种威胁模型中,如果组成变电站的比例低于某一阈值,则可以减轻FDI攻击。此外,在估计实际状态时,数据测量常常是多余的。这种威胁模型在现有的工作中被广泛采用。尽管如此,我们强调这种威胁模式:1)消除已损坏量测数据数量的限制;2)假设攻击者对(11)中所述的静态检测机制有基本的了解。
(a)有限制的电力FDI攻击 (b)无限制的电力FDI攻击
图3 动态FDI攻击的不同场景
图3b显示了所关注的动态FDI攻击。攻击开始于t = 3,并且bus 2 和bus 3的量测值已经被攻击。静态方法在这种情况下会失败,原因是三分之二的量测值已被从t = 3修改为t = 6。老练的攻击者会在真实事件的基础上故意产生错误事件并,将其注入电网。因此,仅基于静态方法不太可能检测到这种攻击,并且如果控制中心出现错误行为,该方法可使系统发生灾难性后果。
A.联合攻击检测方法
在本节中,概述了图4中我们提出的检测FDI攻击的系统。我们提出的检测机制主要由静态检测器和基于深度学习的检测方案组成。静态检测器是状态估计量(SE)或上述FDI攻击检测器的任何一种[2],[3],[5],[10],[15],[17],[12],这些检测器都是独立于我们的动态探测器之外构建的。如前所述,动态检测器接受两个输入来源。虽然数据级别的特征是显式的,但是网络包被tcpdump捕获,并且每个网络包包括头和数据有效负载,并且具有在NSL-KDD数据集[22]中定义的独特的功能。NSL-KDD数据集有41个特性,分为三类特性:基本的、基于内容的和基于流量的特性。需要指出的是,某些特性是基于固定的窗口期产生的(默认为2秒)并且这些特性在窗口期将保持一致。
动态检测器是用来识别高级别时间序列特征的FDI攻击。为了实现这个目标,我们的时间序列方法包括两个基本的机制:离线训练和线上检测。离线训练是基于历史量测进行的训练,并且可以通过外包给学习云服务的公共机器来实现潜在的便利。不像其他的方法设计时假设电力系统物理状态不会超时变化,我们的系统会收集实时测量数据,支持离线训练,并且再训练完成后,预测模型将进行更新。
图4 概述了我们提出的基于深度学习的FDI攻击检测系统。
B .状态估计方法
在不良数据注入攻击中,一个方法是使用Chisquares测试。一旦检测到不良数据,便对其进行淘汰或修正,以获得正确的状态。其中两个重要的假设分别是最大标准残差(LNR)法和J(xˆ)性能指标:
J(xˆ)< τ (11)
J(xˆ)遵循卡方分布,τ是预设的阈值。阈值可以从χ2分布获得。如果J(xˆ)>τ,疑似不良数据。对于DC模型,diag(σi2, 0) = I传统的不良数据检测方法经常减少到测量残差的l2-norm[16]:
ǁz −Hxˆǁ2< τ (12)
C .动态检测方法
在[9]中,作者建立了母线电压等级,
测量装置的相角和状态作为马尔可夫决策过程(MDP)中的系统状态。在我们的方法中,我们扩展到一个递归模型,在这个模型中,决策不仅仅是取决于之前的一个状态,而是之前的n个状态,其中损失如下:
η= L(Ф(st), f(Ф(st−1, ……, st−n−1), θ), τ) (13)
Ф,θ是需要转换的参数,τ是判断攻击是否已经开始的阈值。
图5显示了堆叠动态检测模型的结构。具体来说,模型的输入是时间序列的电力系统数据,其特征将被传递到几个LSTM层学习高维时间特征。先前的工作[6],[10]将FDI攻击描述为一个在实验设置中有希望的二进制分类问题,因为要测试的数据集可以在不同的场景进行手动调优。在现实世界中实现,电力系统数据是高度不平衡,因此,即使整体精度很高,二元分类方法不可避免的会有较低的回忆率。然而,对于评估IDS时,回忆比准确性更重要,因为任何网络攻击会导致巨大的损失。
图5 基于RNN的时间序列动态检测方法
一般来说,我们的动态异常检测器需要输入时间序列…x(t−1),x(t),…,学习他们的高维特性表征,然后使用这些特性来预测下一个数据点xˆ (t)。此外,如果,通过检验实际数据x(t)和预测数据x(t)之间的相似性xˆ (t)是异常的,则使用预测数据点进行分类。
既然已经提出了单源FDI攻击检测模型,现在介绍一个将FDI攻击检测器与网络入侵检测系统的框架结合起来的框架。该框架处理的是当依赖数据测量的IDS无法检测到FDI攻击开始的情况。因此,如果注入的虚假数据是来自威胁模型一个合法的量测,数据水平的检测器可能无法确定当前网络是否被入侵。在这种情况下,为了增加时间系列异常检测模型的总体性能,本文提出了联合攻击检测法。
具体地说,该联合框架的原理结构示意图见图6。如图所示,联合框架很简单。另一种将数据级信息和包级特性联合起来的方法直接连接输入向量。然而,由于数据测量和网络包特性之间的维数分组差异显著,与前面提到的时间序列方法相比直接连接改进最小。或者,如图所示在连接之前,每个级别的特性都被卷积神经网络转换。添加额外卷积神经网络的目的是将数据测量与包级特性之间的维数进行均衡,并且使用梯度下降法学习了他们的相关权值(我们的实验中使用了Adam算法)。如果可能的话建议初始深度学习架构[21]。
图6网络包和数据测量输入的联合检测方法
四、IEEE 39-bus系统的案例研究
在本节中,提供了关于我们提出的FDI攻击检测系统几个关键的实现细节,从而对其能力和局限性有更好的了解。图7显示了IEEE 10机39节点电力系统和细节[18]。母线bus39电力系统中状态向量x ∈ R39是由电压、电流和支线功率组成的。使用两台计算机对通信网络进行仿真,其中一台计算机代表通过以太网收集数据测量的独立服务操作员。采样率设置为10Hz。FDI攻击是由客户机-服务器通信结构的中间人攻击生成的,并且两个输入源时间同步使得实时实现成为可能。动态检测器配置为带有LSTM单元的3层双向RNN并使用Pytorch进行训练。在本实验中,为了更好地评估动态检测器,我们的系统没有实现SE。
图7. IEEE 39节点电力测试系统
图8. 对攻击不同数量节点的FDI攻击检测的准确性
我们假设攻击者可以注入k量测数据,随机选取该数据生成高斯分布攻击向量a∼N(0,0.5)。我们还测试了攻击向量来源于实际测量这个场景,大多数先进的检测器都无法检测到。在这个实验中,攻击者试图注入一个预先收集的虚假的发动机跳闸事件,我们将攻击能力定义为k/n,其中n是测量的总数。我们评估了动态FDI攻击检测框架在测试集分类结果上的性能。
我们训练了一个有10个训练周期的神经网络来最小化方程13中的损失函数。本实验中,我们使用的分割模式是train / validation / test分别为60% / 20% / 20%,最佳τ取决于电网搜索。
在图8中我们举例说明了异常检测系统的结果。从图中可以明显看出,我们提出的检测方法在 k/n 很高的情况下,对随机FDI攻击能达到90%以上的检测精度。但是,我们也注意到我们的系统在FDI攻击能力较低时,准确率较低。事实上,这个问题可以通过加入一个SE检测器来解决(如[17],[10]),在攻击能力有限的情况下该检测器可以很好的发挥作用。换句话说,我们提出的两级检测方案是能够实现对不同场景的高精度检测。对于目标FDI攻击,注入的数据流非都是从真实事件中小心操纵的,这些真实事件大多数不考虑SE不良数据检测方案。我们的实验验证了动态特性与网络异常检测器集成能够支持IDS以获得更好的性能。仿真结果在这个案例中也暗示了,对于动态检测方案的成功来说对电力系统充分深入了解不是我们所需要的。在电子网络的早期阶段就已经建立了我们的电力系统。
五、总结
在本文中,我们提出一个基于深度学习框架检测FDI攻击导致的测量异常。我们描述了利用卷积神经网络和递归神经网络的检测方法。我们的模型从正常的数据中学习正常的行为,与特定的攻击无关,因此可以检测到不可见的攻击。
另外,我们的两级检测器使用混合特性比较可靠,可以在状态向量估计失败时检测攻击。我们提供了关于各种影响算法性能因素的关键见解。本文以IEEE 39-bus系统为例,详细介绍了所提出的算法。
参考文献:
[1] IEC 61850-90-5. Communication networks and systems for power utility automation part 90-5: use of iec 61850 to transmit synchrophasor information according to ieee c37.118, 2012.
[2] Aditya Ashok, Manimaran Govindarasu, and Venkataramana Ajjarapu. Online detection of stealthy false data injection attacks in power system state estimation. IEEE Transactions on Smart Grid, 2016.
[3] Suzhi Bi and Ying Jun Zhang. Graphical methods for defense against false-data injection attacks on power system state estimation. IEEE Transactions on Smart Grid, 5(3):1216–1227, 2014.
[4] Rakesh B Bobba, Katherine M Rogers, Qiyan Wang, Himanshu Khurana, Klara Nahrstedt, and Thomas J Overbye. Detecting false data injection attacks on dc state estimation. In Preprints of the First Workshop on Secure Control Systems, CPSWEEK, volume 2010, 2010.
[5] Mohammad Esmalifalak, Lanchao Liu, Nam Nguyen, Rong Zheng, and Zhu Han. Detecting stealthy false data injection using machine learning in smart grid. IEEE Systems Journal, 2014.
[6] Cheng Feng, Tingting Li, and Deeph Chana. Multi-level anomaly detection in industrial control systems via package signatures and lstm networks. In Dependable Systems and Networks (DSN), 2017 47th Annual IEEE/IFIP International Conference on, pages 261–272. IEEE, 2017.
[7] Mostafa M Fouda, Zubair Md Fadlullah, Nei Kato, Rongxing Lu, and Xuemin Sherman Shen. A lightweight message authentication scheme for smart grid communications. IEEE Transactions on Smart Grid,2(4):675–685, 2011.
[8] NIST Smart Grid. Introduction to nistir 7628 guidelines for smart grid cyber security. Guideline, Sep, 2010.
[9] Yingshuai Hao, Meng Wang, and Joe H Chow. Likelihood analysis of cyber data attacks to power systems with markov decision processes. IEEE Transactions on Smart Grid, 2016.
[10] Youbiao He, Gihan J Mendis, and Jin Wei. Real-time detection of false data injection attacks in smart grid: A deep learning-based intelligent mechanism. IEEE Transactions on Smart Grid, 8(5):2505–2516, 2017.
[11] Sepp Hochreiter and J¨urgen Schmidhuber. Long short-term memory. Neural computation, 9(8):1735–1780, 1997.
[12] Tung T Kim and H Vincent Poor. Strategic protection against data injection attacks on power grids. IEEE Transactions on Smart Grid, 2(2):326–333, 2011.
[13] Alex Krizhevsky, Ilya Sutskever, and Geoffrey E Hinton. Imagenet classification with deep convolutional neural networks. In Advances in neural information processing systems, pages 1097–1105, 2012.
[14] Gaoqi Liang, Junhua Zhao, Fengji Luo, Steven R Weller, and Zhao Yang Dong. A review of false data injection attacks against modern power systems. IEEE Transactions on Smart Grid, 8(4):1630–1638, 2017.
[15] Lanchao Liu, Mohammad Esmalifalak, Qifeng Ding, Valentine A Emesih, and Zhu Han. Detecting false data injection attacks on power grid by sparse optimization. IEEE Transactions on Smart Grid, 5(2):612–621,
2014.
[16] Yao Liu, Peng Ning, and Michael K Reiter. False data injection attacks against state estimation in electric power grids. ACM Transactions on Information and System Security (TISSEC), 14(1):13, 2011.
[17] Mete Ozay, Inaki Esnaola, Fatos Tunay Yarman Vural, Sanjeev R Kulkarni, and H Vincent Poor. Machine learning methods for attack detection in the smart grid. IEEE Transactions on Neural Networks and Learning Systems, 27(8):1773–1786, 2016.
[18] MA Pai, T Athay, R Podmore, and S Virmani. Ieee 39-bus system.1989.
[19] David E Rumelhart, Geoffrey E Hinton, and Ronald J Williams. Learning representations by back-propagating errors. nature, 323(6088):533,1986.
[20] Mike Schuster and Kuldip K Paliwal. Bidirectional recurrent neural networks. IEEE Transactions on Signal Processing, 45(11):2673–2681,1997.
[21] Christian Szegedy, Wei Liu, Yangqing Jia, Pierre Sermanet, Scott Reed, Dragomir Anguelov, Dumitru Erhan, Vincent Vanhoucke, Andrew Rabinovich, et al. Going deeper with convolutions. Cvpr, 2015.
[22] Mahbod Tavallaee, Ebrahim Bagheri, Wei Lu, and Ali A Ghorbani. A detailed analysis of the kdd cup 99 data set. In Computational Intelligence for Security and Defense Applications, 2009. CISDA 2009. IEEE Symposium on, pages 1–6. IEEE, 2009