-
摘要: 智能电网中的隐匿虚假数据入侵(False data injection, FDI)攻击能够绕过坏数据检测机制, 导致控制中心做出错误的状态估计, 进而干扰电力系统的正常运行. 由于电网系统具有复杂的拓扑结构, 故基于传统机器学习的攻击信号检测方法存在维度过高带来的过拟合问题, 而深度学习检测方法则存在训练时间长、占用大量计算资源的问题. 为此, 针对智能电网中的隐匿FDI攻击信号, 提出了基于拉普拉斯特征映射降维的神经网络检测学习算法, 不仅降低了陷入过拟合的风险, 同时也提高了隐匿FDI攻击检测学习算法的泛化能力. 最后, 在IEEE57-Bus电力系统模型中验证了所提方法的优点和有效性.
-
关键词:
- 智能电网 /
- 隐匿虚假数据入侵攻击 /
- 拉普拉斯特征映射 /
- 神经网络
Abstract: The stealthy false data injection (FDI) attack in smart grids can bypass the bad data detection, making an incorrect state estimate in the control center, which in turn interferes with the normal operation of the power system. Considering the complex topology of the grid system, the machine learningbased methods has an over-fitting problem caused by high dimensionality, while deep learning-based methods are subject to long training time and occupy a lot of computing resources. Motivated by the above fact, a neural network learning algorithm based on dimensional reduction of Laplacian eigenmaps (LE) is developed in this paper to detect hidden FDI attack signal in the smart grids. The proposed method not only reduces the risk of over-fitting, but also improves the generalization ability of the stealthy FDI attack detection learning algorithm. Finally, IEEE 57-Bus power system is employed to show the advantages and effectiveness of the proposed method. -
智能电网作为下一代电力系统, 通过采用先进的数字信息和通信技术能够实现电网各个环节重要运行参数的在线监测和实时信息掌控, 并在此基础上整合物联网技术和大数据分析, 实现了更环保、更安全和更高效的电力管理[1]. 在发电侧, 由于电能无法大量存储, 控制中心需要密切监控电网运行参数, 以控制电网中的发电与电能消耗相平衡. 在电网侧, 系统也需要估计系统的运行状态, 将其用于最优潮流算法以制定发电方案, 实现经济上的最优调度. 因此需要有大量的信息控制设备和通信传感网络接入电网, 实时发送各个节点的测量值到控制中心, 确保电力系统的高效经济可靠运行. 但是通信设施的接入, 也让智能电网面临着潜在的网络攻击风险, 成为军事或恐怖活动的目标, 例如2015年12月的乌克兰电网攻击事件, 造成了30个变电站被关闭, 约有23万人无法用电[2]. 特别地, 隐匿虚假数据入侵(False data injection, FDI)攻击可以绕过电力系统中传统的坏数据检测机制, 通过篡改测量数据, 使得对电力系统的状态估计不准确, 进而干扰控制中心决策以扰乱电力市场正常秩序, 存在重大的经济和安全隐患[3].
FDI攻击自2009年提出以来[4], 便受到了国内外学者的广泛关注. 针对不同的FDI攻击场景提出了相应的保护策略和攻击检测方案. 在保护策略方面, 主要是通过放置相量测量单元(Phasor measurement units, PMU)来增强通信安全. 注意到PMU是配备有全球定位系统(Global positioning system, GPS)技术的测量设备, 通过与GPS时间同步, PMU能够为电网中地理上分散的节点提供精确的同步相量测量, 使得攻击者更难以篡改PMU收集的测量数据[5]. 然而, 高昂的成本却制约着大规模地部署PMU, 因此如何找到放置PMU的关键位置以最大限度地减少PMU的数量对于保护电力系统免受FDI攻击起着重要的作用. 为此, Kim等[5]提出了一种关键节点保护机制, 通过选择关键节点实施保护以尽可能提高攻击者的攻击成本. 文献[6]从图论的角度分析智能电网的结构, 提出了一种启发式算法来寻找最佳的测量保护集, 达到防御效果. 与此同时, 在攻击检测方面, Liu等[7]利用状态测量的时间相关性, 以及FDI攻击的稀疏性来检测广义上的FDI攻击[8]. 文献[9]提出了一种分布式状态估计方法, 根据估计结果的偏差判断是否遭受FDI攻击, 且能够准确定位被篡改的状态变量. 对于具有特殊结构的隐匿FDI攻击, 文献[10-13]则将其看作是一个统计学习问题, 把历史数据作为训练样本, 根据攻击向量会让正常测量值与被攻击测量值产生“距离”上的变化这一特征[10], 采用机器学习方法对测量值做分类, 以实现隐匿FDI攻击检测的目的. 具体地, Ozay等[10]采用了感知机, k近邻, 支持向量机等经典机器学习方法验证其检测效果. Esmalifalak等[11]提出了分布式的支持向量机(Support vector machine, SVM)方法, 验证了机器学习方法在隐匿FDI攻击检测中的有效性. 除了传统的机器学习方法, 深度学习因其具有自动提取原始数据特征, 能够提取更深层更抽象特征信息的特性, 也受到了许多学者的关注. 文献[12]便提出了一种基于深度学习的检测机制, 采用深度信念网络(Deep belief networks, DBN)作为检测模型, 并结合条件高斯−伯努利受限玻尔兹曼机(Conditional Gaussian-Bernoulli restricted Boltzmann machines, CGBRBM)提取高维时间特征, 以降低训练深度神经网络的复杂度与训练时间, 仿真结果表明该方法比神经网络和SVM的检测方法有更高的检测精度. 文献[13]则针对交流状态估计中的隐匿FDI攻击, 提出了一种结合小波变换和深度神经网络的检测机制, 其中小波变换提取空间上的相关性, 深度神经网络则提取时域中的特征. 为了得到更好的训练结果, 文献[13]构造了20万个训练样本以保证样本能够包含所有隐匿FDI攻击特征, 最终的训练结果能够很好地提取系统在时域和空间域上的特征, 达到了满意的检测精度, 但在训练过程中也耗费了大量的时间与计算资源.
虽然传统机器学习方法在检测隐匿FDI攻击方面取得了一些进展, 但都是在训练集和测试集具有高度相似性的前提下得到的, 因此当测试集与训练集出现较大差异时, 传统机器学习方法将很大可能出现差的学习效果. 而且电力系统往往是高度复杂的, 其历史数据的维度往往是几百甚至几千维, 这使得传统机器学习方法面临“维数灾难”的问题, 训练结果容易出现过拟合, 进而限制了泛化能力. 而近年来的深度学习方法的性能虽然不受维数的限制, 但也存在训练时间长、占用大量计算资源的缺陷. 因此, 在利用机器学习方法检测隐匿FDI攻击中, 通过降维避免训练结果过拟合, 减少模型训练时间显得尤为重要. 为此, 本文提出了基于拉普拉斯特征映射降维的神经网络检测学习机制, 通过拉普拉斯特征映射方法来提取攻击向量的信息, 将测量数据预先降维处理, 再用于训练神经网络得到合适的检测模型. 在MATPOWER中的IEEE 57-bus上进行了实验验证, 并与没有降维预处理的神经网络训练结果, 深度神经网络训练结果以及利用主成分分析降维预处理后的训练结果做了对比. 实验结果表明, 在智能电网的大规模量测数据压缩降维方面, 拉普拉斯特征映射相比主成分分析能够很好地提取低维特征, 所提出的方法不仅可以有效地检测出隐匿FDI攻击, 而且其泛化性能优于单独使用神经网络和深度神经网络的检测方法.
1. 问题描述
1.1 系统状态估计
电力系统中的状态估计是指根据各个总线上仪表的测量数据估计系统的状态, 其中测量包括总线电压、总线有功和无功功率, 状态变量包括总线电压和电压相角, 其交流潮流模型的表达形式为:
$$ {\boldsymbol{z}} = h({\boldsymbol{x}})+{\boldsymbol{n}} $$ (1) 其中,
${\boldsymbol{x}}\in {\bf R}^{D}$ 为电网的状态变量, 即节点电压和相角变量,${\boldsymbol{z}}\in {\bf R}^{N}$ 为测量向量, 是传感器的测量数据,${\boldsymbol{n}}\in {\bf R}^{N}$ 是测量噪声,$h({\boldsymbol{x}})$ 则表示测量值与状态变量之间的非线性关系, 其形式由电网的拓扑结构及总线上的参数决定[14]. 在这里我们假设噪声服从均值为0, 协方差矩阵为$ {\boldsymbol{\Lambda }} $ 的高斯分布, 且系统的状态在一段时间内的变化是缓慢的, 因此可以通过在操作点附近泰勒展开, 将非线性的交流模型做线性近似, 得到直流潮流模型, 其数学描述为:$$ {\boldsymbol{z}} = {\boldsymbol{H}}{\boldsymbol{x}}+{\boldsymbol{n}} $$ (2) 其中,
${\boldsymbol{H}}\in {\bf R}^{N\times D}$ 是测量雅可比矩阵, 则状态向量估计可以通过加权最小二乘估计求解得到[15]:$$ \hat{{\boldsymbol{x}}} = ({\boldsymbol{H}}^{\rm T}{\boldsymbol{\Lambda }}{\boldsymbol{H}})^{-1}{\boldsymbol{H}}^{\rm T}{\boldsymbol{\Lambda }}{\boldsymbol{z}} $$ (3) 1.2 隐匿FDI攻击原理
FDI攻击是指攻击者通过篡改传感器中的测量数据使得系统产生错误的状态估计, 进而使控制中心做出错误决策. 当电网遭受到攻击时, 量测方程(2)变为:
$$ \widetilde{{\boldsymbol{z}}} = {\boldsymbol{H}}{\boldsymbol{x}}+{\boldsymbol{a}}+{\boldsymbol{n}} $$ (4) 其中,
${\boldsymbol{a}}\in {\bf R}^{N}$ 为攻击向量. 针对攻击信号${\boldsymbol{a}}$ , 常用的检测方法就是坏数据检测(Bad data detection, BDD)[15], 即:$$ \gamma = \lVert\widetilde{{\boldsymbol{z}}}-{\boldsymbol{H}}\hat{{\boldsymbol{x}}}\rVert_{2} $$ (5) 当测量残差超过一定阈值
$ \gamma>\epsilon_0 $ , 就判断为受到攻击, 其中$ \epsilon_0 $ 为需要设定的阈值.从BDD检测机制来看, 如果攻击者知道系统的拓扑结构
${\boldsymbol{H}},$ 可以构造隐匿FDI攻击向量${\boldsymbol{a}} = {\boldsymbol{H}}{\boldsymbol{c}}$ 在不改变测量残差的情况下对系统状态估计造成影响[4]. 当遭遇隐匿FDI攻击时, 由式(5)可得:$$ \begin{array}{l} \begin{split} \gamma =& \lVert\widetilde{{\boldsymbol{z}}}-{\boldsymbol{H}}\hat{{\boldsymbol{x}}}\rVert_{2} =\\& \lVert\widetilde{{\boldsymbol{z}}}-{\boldsymbol{H}}({\boldsymbol{H}}^{\rm T}{\boldsymbol{\Lambda }}{\boldsymbol{H}})^{-1}{\boldsymbol{H}}^{\rm T}{\boldsymbol{\Lambda }}\widetilde{{\boldsymbol{z}}}\rVert_{2}= \\& \lVert{\boldsymbol{n}}-{\boldsymbol{H}}({\boldsymbol{H}}^{\rm T}{\boldsymbol{\Lambda }}{\boldsymbol{H}})^{-1}{\boldsymbol{H}}^{\rm T}{\boldsymbol{\Lambda }}{\boldsymbol{n}}\rVert_{2} \end{split} \end{array} $$ (6) 从上式可以看出测得的残差
$ \gamma $ 的大小只受噪声影响, 传统的BDD检测方法并不能检测出隐匿虚假数据入侵攻击.然而要构造这类攻击也并不容易, 攻击者需要掌握电网系统的各种电气参数和拓扑信息
$({\boldsymbol{H}}$ 雅可比矩阵), 或者掌握系统所有的测量信息, 利用主成分分析(PCA)构造攻击向量[16]. 即使攻击者能够掌握这些信息, 也会受到各种资源等因素的限制, 只能篡改部分测量设备的数据. 因此在这里我们定义$ I = \{i_1,\cdots,i_k\} $ 表示攻击者无法篡改的测量的下标集合,$ \bar{I} $ 为对应的补集, 则雅可比矩阵${\boldsymbol{H}}$ 可以拆分为${\boldsymbol{H}}_I$ 和${\boldsymbol{H}}_{\bar{I}}$ 两部分,${\boldsymbol{H}}_{I}$ 表示集合$ {I} $ 中下标对应的行,${\boldsymbol{H}}_{\bar{I}}$ 则为补集$ \bar{I} $ 中下标对应的行, 从而隐匿FDI攻击可以表示为如下形式:$${\boldsymbol{a}} = \left[ {\begin{array}{*{20}{c}} {{{\boldsymbol{H}}_{\bar I}}{\boldsymbol{c}}}\\ {{{\boldsymbol{H}}_I}{\boldsymbol{c}}} \end{array}} \right]$$ (7) 其中,
${\boldsymbol{H}}_{\bar{I}}{\boldsymbol{c}}$ 表示能被篡改数据的部分,${\boldsymbol{H}}_{I}{\boldsymbol{c}}$ 则是不能篡改的部分. 因此只要令${\boldsymbol{H}}_{I}{\boldsymbol{c}} = 0$ , 通过求解出的${\boldsymbol{H}}_{I}$ 零空间, 如果有非零解, 且${\boldsymbol{H}}_{\bar{I}}{\boldsymbol{c}}$ 的元素不全为零, 就可以构造出满足隐匿条件的攻击向量${\boldsymbol{a}}$ . 上述构造方法能保证构造出来的攻击向量攻击者都可以实现. 从中我们也可以发现当${\boldsymbol{H}}_{I}$ 列满秩时,${\boldsymbol{H}}_{I}{\boldsymbol{c}} = 0$ 只有零解, 意味着攻击者无法进行隐匿虚假数据入侵.通过上述分析, 攻击者可以构建针对直流状态估计的攻击向量, 且不会被基于残差的坏数据检测方法检测到. 因此如何设计一种隐匿FDI攻击的检测方法是本文要解决的问题.
2. 基于拉普拉斯特征映射降维学习的检测机制
由第1.2节可知, 隐匿FDI攻击可以绕过传统的坏数据检测, 故如何基于机器学方法训练分类器以识别系统是否受到攻击为这一问题提供了可行的解决思路. 然而, 随着电网规模的不断扩大, 测量数据的维数也成倍增长, 进而导致机器学习 检测方法面临维数灾难挑战, 使得训练结果存在陷入过拟合的风险. 为了克服上述缺点, 本文提出了如图1所示的检测机制:
首先我们采用拉普拉斯特征映射对历史数据进行降维预处理, 从而提取低维流形特征, 使降维后的数据相比原始数据更易处理, 然后借助于神经网络学习方法训练分类器以实现隐匿FDI攻击信号的检测.
2.1 基于拉普拉斯特征映射的机器学习检测
拉普拉斯特征映射(Laplacian eigenmaps, LE)是一种非线性的降维方法, 用局部的角度去构建数据之间的关系, 可以反映出数据内在的流形结构[17]. 它的直观思想是希望相互间有关系的点在降维后的空间中尽可能地靠近, 其最小化的目标函数是:
$$\sum\limits_{ij} {{{\left( {{u^{(i)}} - {u^{(j)}}} \right)}^2}} {w_{ij}}$$ (8) 其中,
$u^{(i)} = \left(u_{1}^{(i)},u_{2}^{(i)},\cdots,u_{n}^{(i)}\right)^{\rm T}$ 为样本$ z^{(i)} $ 降到n维后的点,$ w_{ij} $ 是测量样本$ z^{(i)} $ 和$ z^{(j)} $ 之间的连接权重.$ w_{ij} $ 是根据两个样本点是否接近来确定的, 首先利用(k-Nearest neighbor, kNN)方法确定是否在样本$ z^{(i)} $ 与$ z^{(j)} $ 之间设置边连接, 若$ z^{(i)} $ 在$ z^{(j)} $ 的$ k $ 个最近邻居中, 则将$ z^{(i)} $ 和$ z^{(j)} $ 相连,$ k $ 是一个预先设定的值, 或者设定合适的$ \varepsilon $ , 将$ \lVert{z^{(i)}-z^{(j)}}\rVert^{2}\leq\varepsilon $ 的节点相连接; 然后确定权重大小, 采用Heat kernel函数, 将相连节点的权重设置为$w_{ij} = $ $ {\rm e}^{-\frac{\lVert{z^{(i)}-z^{(j)}}\rVert^{2}}{t}}$ , 这里的$ t $ 为预先设定的值, 也可以令$ t = \infty $ , 简单地将所有相连节点的权重设为$ w_{ij} = 1 $ , 其他未连接的均为0; 最终可以得到一个对称邻接矩阵$W.$ 通过最小化目标函数(8), 保证了相近的
$ z^{(i)} $ 和$ z^{(j)} $ 映射后$ u^{(i)} $ 和$ u^{(j)} $ 两点仍能够保持相近. 目标函数经过整理后可以表示为如下二次型的形式:$$ \begin{split} &\sum_{ij}\lVert{u^{(i)}-u^{(j)}}\rVert^{2}w_{ij}=\\ &\qquad\sum_{ij}\left(\lVert{u^{(i)}}\rVert^{2}+\lVert{u^{(j)}}\rVert^{2}-2\left(u^{(i)}\right)^{\rm T}\left(u^{(j)}\right)\right)w_{ij}=\\ &\qquad\sum_{i}\lVert{u^{(i)}}\rVert^{2}D_{ii}+\sum_{j}\lVert{u^{(j)}}\rVert^{2}D_{jj}-\\ &\qquad2\sum_{i,j}\left(u^{(i)}\right)^{\rm T}\left(u^{(j)}\right)w_{ij}=\\ &\qquad2{\boldsymbol{u}}^{\rm T}L{\boldsymbol{u}} \\[-10pt]\end{split} $$ (9) 其中,
${\boldsymbol{u}} = \left(u^{(1)},u^{(2)},\cdots,u^{(m)}\right)^{\rm T}$ , m表示样本集中的样本数量,$ L = D-W $ 为拉普拉斯矩阵,$ D $ 是一个对角矩阵, 满足$ D_{ii} = \sum_{j}w_{ij} $ ,$ W $ 是一个对称邻接矩阵, 且拉普拉斯矩阵$ L $ 是半正定的.最终需要求解如下最小化问题:
$$ \begin{array}{l} \begin{split} \arg\mathop{\min}_{{\boldsymbol{u}}}\quad{\boldsymbol{u}}^{\rm T}L{\boldsymbol{u}} \\\rm{s.t.}\quad{\boldsymbol{u}}^{\rm T}D{\boldsymbol{u}} = 1 \end{split} \end{array} $$ (10) 其中, 约束
${\boldsymbol{u}}^{\rm T}D{\boldsymbol{u}} = 1$ 避免了缩放的影响, 最小化目标函数的向量${\boldsymbol{u}}$ 由广义特征值问题的最小特征值解给出[16]:$$ L{\boldsymbol{u}} = \lambda D{\boldsymbol{u}} $$ (11) 求解得到的非零特征值所对应的特征向量就是降维后的输出.
通过上述方法将训练样本降维处理, 选择最大的两个广义特征值对应的广义特征向量作为低维流形特征. 然后基于低维流形特征, 建立如图2所示的三层神经网络, 有输入层、隐藏层和输出层组成[18].
其中, 输入层有2个神经元组成, 为原始数据降维后得到的
$u = (u_{1},u_{2})^{\rm T}$ . 隐藏层由5个神经元组成, 通过下式计算得到:$${t_h} = \sigma \left( {\sum\limits_{i = 1}^2 {{\omega _{hi}}} {u_i} + {\omega _h}} \right),\quad h = 1,2, \cdots ,5$$ (12) 其中,
$ \omega_h $ 对应每个隐藏层神经元的偏置,$ \omega_{hi} $ 对应输入$ u_i $ 到神经元$ t_h $ 的权重,$ \sigma $ 则是激活函数$\displaystyle \sigma(x) = \frac{1}{1+{\rm e}^{-x}}$ . 最后输出层有2个神经元$ \hat{y}_1,\hat{y}_2 $ 组成, 当他们的输出值大于0.5时, 分别表示受到攻击与未受到攻击两种检测结果, 其表达式为:$${\hat y_j} = \sigma \left( {\sum\limits_{h = 1}^5 {{\upsilon _{jh}}} {t_h} + {\upsilon _j}} \right),\quad j = 1,2$$ (13) 其中,
$ \upsilon_j $ 为对应输出的偏置,$ \upsilon_{jh} $ 为对应输入$ t_h $ 到输出$ \hat{y}_j $ 的权重. 最后通过求解以下最优化问题来训练得到权重$ \omega_{hi},\upsilon_{jh} $ 和偏置$ \omega_h,\upsilon_j $ :$$\min \frac{1}{2}\sum\limits_{k = 1}^m {\sum\limits_{j = 1}^2 {{{\left( {{y_{kj}} - {{\hat y}_{kj}}} \right)}^2}} } $$ (14) 其中,
$ y_{kj} $ 为样本$ x_k $ 的标签. 综上所述, 最终的检测算法步骤归纳如下:算法 1.
步骤 1. 收集历史测量数据
$Z = \left[z^{(1)},\cdots,z^{(m)}\right]^{\rm T}$ 步骤 2. 拉普拉斯特征映射降维预处理
1) 构建邻接矩阵
$ W $ For
$ i = 1,\cdots,m $ For
$ j = 1,\cdots,m $ if
$ z^{(j)} $ 在$ z^{(i)} $ 的$ k $ 个邻居中$w_{ij} = {\rm e}^{-\frac{\lVert{z^{(i)}-z^{(j)}}\rVert^{2}}{t}}$ else
$ w_{ij} = 0 $ 2) 特征映射
求解广义特征问题
$L{\boldsymbol{u}} = \lambda D{\boldsymbol{u}}$ 得到降维处理后的样本
${\boldsymbol{u}} = \left(u^{(1)},u^{(2)},\cdots,u^{(m)}\right)^{\rm T}$ 步骤 3. BP算法训练神经网络
在0附近初始化权重
$ \omega_{hi},\upsilon_{jh} $ 和偏置$ \omega_{h},\upsilon_{j} $ Repeat
for all
$ \left(u^{(k)},y_k\right) $ doa)计算当前样本的输出
$ \hat{y}_k $ b)计算输出层梯度
$ g_j = \hat{y}_{kj}\left(1-\hat{y}_{kj}\right)\left(y_{kj}-\hat{y}_{kj}\right) $ c)计算隐藏层梯度
$ e_h = t_h\left(1-t_h\right)\sum_{j = 1}^{2}\upsilon_{jh}g_j $ d)更新权重
$ \omega_{hi},\upsilon_{jh} $ 和偏置$ \omega_{h},\upsilon_{j} $ $ \upsilon_{jh} = \upsilon_{jh}+\eta g_jt_h,\upsilon_{j} = \upsilon_{j}+\eta g_j $ $ \omega_{hi} = \omega_{hi}+\eta e_hu_i,\omega_{h} = \omega_{h}\eta e_h $ end
Until达到停止条件
步骤 4. 将新的测量放入历史数据降维处理, 作为神经网络检测模型的输入, 得到检测结果.
3. 仿真
本文利用IEEE 57-Bus系统模型验证所提出隐匿FDI攻击检测方法的优点和有效性, 即: 采用LE降维、PCA降维的样本集分别训练了神经网络检测模型, 以及未降维预处理的样本集训练了神经网络与深度神经网络模型 并做对比与分析, 其中系统的测量雅可比矩阵
${\boldsymbol{H}}$ 来自MATPOWER工具箱[19]. 通过对MATPOWER中的案例进行潮流计算得到电网的系统状态$x\in {\bf R}^{D},$ 并用于计算得到系统的量测$z\in {\bf R}^{N}.$ IEEE 57-Bus系统如图3所示, 其中状态维数$D = 113,$ 测量维数$N = 217,$ 这些测量信息将作为本文提出学习算法的训练样本.3.1 仿真设置
在实验中, 我们考虑攻击者可以访问系统中的
$ k $ 个测量, 可以理解为电网系统中, 这$ k $ 个测量存在被FDI攻击的隐患, 而其余的测量受到保护. 例如: 在这$ k $ 个节点配备了PMU, 则测量信息不易被篡改. 事实上, 由于成本限制, 电网系统不能在每个节点上设置PMU; 与此同时, 攻击者往往也只能够入侵电网中的部分测量, 因此这种假设符合实际情况. 注意到当$ k\leq104 $ 时, 意味着系统中受保护的节点超过状态的维数, 从被攻击者的角度, 防御方完全可以选取合适的量测节点, 使得${\boldsymbol{H}}_{I}{\boldsymbol{c}} = 0$ 只有零解, 让攻击者无法构造隐匿FDI攻击[10]. 因此, 在实验中我们选取了$ k = 190,170,150,130 $ 四种攻击场景做了仿真验证. 且为了令构造的攻击向量更有“实际意义”, 能够对智能电网系统造成有效的影响, 我们还对攻击引起的状态向量变化做了进一步地限制.$$ \lVert{\boldsymbol{c}}\rVert_{\infty}\geq\tau $$ (15) 其中,
${\boldsymbol{c}}$ 为隐匿FDI攻击对系统状态的影响, 即隐匿FDI攻击要对智能电网系统中至少一个状态造成超过大小为$ \tau $ 的篡改. 由于在现实中针对电力系统的网络攻击案例并不多见, 且很难得到真实的数据, 因此我们还不能确定$ \tau $ 值的大小, 对此我们在仿真实验中设置了$ \tau = 1,5,10,15 $ 这4种情况来分别检验所提出方法的有效性.此外, 为了验证检测模型的泛化能力, 我们设置了不同的环境噪声
${\rm N}(0,\sigma)$ ,$ \sigma = 0.01,0.25,0.50,0.75,1.00 $ . 通过求解${\boldsymbol{H}}_{I}{\boldsymbol{c}} = 0$ , 构造隐匿攻击向量$ a $ , 并针对不同的$ \tau,k $ 和$ \sigma $ 重复1 000次来分别生成训练和测试样本$Z = [z^{(1)},\cdots,z^{(m)}]^{\rm T}$ . 训练和测试的样本中分别包含500个被攻击的样本和500个未被攻击的样本. 根据前文式(7)的隐匿FDI攻击构造方法, 我们设置环境噪声$\sigma = $ $ 0.01$ , 状态变化阈值$ \tau = 10 $ , 得到一个篡改了18个测量数据的隐匿FDI攻击, 其对系统状态估计的影响如图4所示.由图4可以看到所构造的隐匿FDI攻击对系统中的部分状态估计产生了很大的影响. 例如: 节点20, 30, 50, 51以及52的电压相角都出现了不同大小的偏差, 而系统的残差几乎没有变化, 攻击前的残差为0.0688, 攻击后的残差为0.0895. 其中节点30的状态变化如图5所示, 从第20分钟开始受到隐匿FDI攻击, 攻击持续时间为十分钟.
进一步地, 在不同环境噪声下的系统被隐匿FDI攻击前后的平均残差变化如图6所示, 被攻击后的残差变化很小, 可见利用残差检测的方法对隐匿FDI攻击是无效的, 且环境噪声变化对残差的影响也很显著.
3.2 降维预处理
将样本集进行拉普拉斯特征映射降维处理, 取最小的两个非零特征值对应的广义特征向量, 数据降维后的二维空间分布如图7所示.
此外, 我们也比较了PCA降维的效果, 采用PCA方法选择协方差矩阵最大的两个特征值对应的特征向量, 将高维数据压缩到二维, 降维后的样本点分布如图8所示.
由图7和图8可以看到直接用PCA方法将数据降到二维丢失了许多主成分信息, 降维后样本点是杂糅在一起的, 而应用拉普拉斯特征映射降维后, 正常的测量数据都聚集在一起, 且与被攻击样本有明显的分离, 便于机器学习方法找到决策平面. 拉普拉斯特征映射降维方法之所以能够很好地区分数据点, 是因为两类数据间的距离存在如下的关系[10]:
$${\left\| {{{\bar z}_i} - {{\bar z}_j}} \right\|_2} = \left\{ {\begin{aligned}& {{{\left\| {{z_i} - {z_j}} \right\|}_2} + {{\left\| {{a_i} - {a_j}} \right\|}_2}}\;\;{{\rm{if}}\;i,j \in \bar S}\\& {{{\left\| {{z_i} - {z_j}} \right\|}_2} + {{\left\| {{a_i}} \right\|}_2}}\;\;\;\;\;\;\;\;\;\;{{\rm{if}}\;i \in \bar S,j \in S}\\& {{{\left\| {{z_i} - {z_j}} \right\|}_2}}\qquad \qquad\qquad\;{{\rm{if}}\;i,j \in S} \end{aligned}} \right.$$ (16) 其中,
$ S $ 表示正常样本的集合,$ \bar{S} $ 表示被攻击样本的集合,$ z_i $ ,$ \bar{z}_i $ 分别为正常测量和被攻击的测量,$ a_i $ 为攻击向量, 可以看出被攻击的样本和未被攻击的样本存在一定的距离$ \lVert a\rVert_2 $ . 拉普拉斯特征映射在构建邻接图的时候也抓取了这些信息, 只要选取合适的邻居个数$ k $ , 就可以使得所有未被攻击的样本点之间有一个非零的权重, 且与被攻击的样本无连接. 最后通过求解优化问题, 使得$ S $ 中的样本降维后尽可能接近, 而且尽可能不包含$ \bar{S} $ 中的样本, 因此具有区分异常点的特性.3.3 仿真结果分析
本文采用接受者操作特征(Receiver operating characteristic, ROC)曲线中的假阳性率(False positive Rate,
$ FPR $ )和准确率(Accuracy,$ ACC $ )作为评价各个算法优劣的指标,$ FPR $ 和$ ACC $ 计算方式如下:$$\left\{ {\begin{aligned}& {FPR = FP/\left( {FP + TN} \right)}\\& {ACC = \left( {TP + TN} \right)/\left( {TP + FN + FP + TN} \right)} \end{aligned}} \right.$$ (17) 其中,
$ TP $ 、$ FP $ 、$ TN $ 和$ FN $ 分别表示正确分类的被攻击样本、错误分类的正常样本、正确分类的正常样本和错误分类的被攻击样本.$ FPR $ 表示正常样本被误分为被攻击的概率, 定义为误报率,$ ACC $ 则为所有样本被正确分类的概率, 定义为检测精度. 我们希望检测精度高的同时, 发生误报的概率也尽可能的低, 因为即使是1 %的误报率, 在不断生成的测量数据面前, 也会产生频繁的误报, 对电网控制带来很大影响, 所以我们的目标是$ ACC $ 指标尽可能高, 而$ FPR $ 指标尽可能低, 或者为零.这里取噪声方差为
$ \sigma = 0.01 $ , 状态变化阈值$ \tau = 10 $ , 生成原始样本集, 用于训练深度神经网络和一个三层的神经网络, 并将LE降维处理后和PCA降维处理后的样本集分别训练神经网络, 其中深度神经网络我们采用了长短时记忆网络(Long short-term memory, LSTM)[20], 由输入特征数为217的输入层, 具有100个隐藏单元的双向LSTM层, 大小为9的全连接层, softmax层和分类层5层结构组成. 则它们的迭代收敛效果如图9所示. 由此图可知发现, 基于拉普拉斯特征映射降维的神经网络均方误差最小, 与深度神经网络的均方误差一致, 且收敛速度要比深度神经网络快很多, 与而基于主成分分析的神经网络收敛效果不明显, 均方误差较大.然后将训练好的检测模型在另外的测试样本中检验检测精度与误报率, 通过多次的训练并测试, 得到各个算法的ROC曲线如图10-11所示.
从图10-11可以看出, 基于神经网络的检测方法有较高的检测精度, 精度可以达到90 %左右, 但是误报率达到了8 %左右, 这意味着平均每
$ 100 $ 次检测, 会错误报警$ 8 $ 次, 因此在实际当中不能将神经网络方法直接用于隐匿FDI攻击检测. 而采用PCA降维预处理的训练结果, 由于丢掉了大部分主成分信息, 检测效果反而下降明显, 其误报率也达到了30 %以上. 此外, 深度神经网络具有很高的检测精度, 均达到了98 %以上, 且误报率都在0.3 %以下. 最后本文的检测机制的检测精度均达到了95 %以上, 且误报率均在0.5 %以下, 最少能达到0.1 %, 相比神经网络的方法, 基于LE降维学习方法的检测精度提升明显, 且十分接近深度神经网络的检测效果.此外, 为了验证检测模型的泛化能力, 我们在隐患测量数
$ k = 150 $ , 状态变化阈值$ \tau = 10 $ 的情景下, 用上述训练得到的检测模型分别对不同噪声环境下的测试样本做了检测, 其中PCA降维预处理的检测模型由于测试精度不高, 便不再讨论其泛化性能, 检测结果如图12-13所示.从图12-13中的仿真结果可以看出, 单纯神经网络检测方法的性能易受到环境噪声变化的影响, 噪声变大时, 检测精度下降明显, 误报率也在7 %以上. 深度神经网络的检测精度也在噪声变大时, 出现了一定幅度的下降, 但也保持了90 %以上的检测精度和5 %以下的误报率. 而本文提出的检测机制几乎不受噪声变化的影响, 随着噪声增大, 检测精度并没有显著下降, 仍均有95 %以上的检测精度, 误报率也不超过0.8 %. 因此, 与神经网络方法相比, 所提出的LE降维学习方法具有更好的泛化性能和鲁棒性.
最后, 考虑到状态变化阈值的选取对检测结果会有明显的影响, 我们在隐患测量数
$ k = 150 $ , 噪声方差为$ \sigma = 0.01 $ 的情景下, 用上述训练得到的检测模型对不同的$ \tau $ 值的测试样本做了检测, 检测结果如图14所示.从图14可以看出, 系统状态量篡改的幅值越大, 检测效率也越高, 而当攻击改变的状态量较小时, 三种方法的检测精度都有显著的降低, 其中本文提出的检测机制受阈值影响最小, 可见本文所提出方法具有很好的鲁棒性.
4. 结语
本文针对电力系统中隐匿FDI攻击信号的检测问题, 利用拉普拉斯特征映射将历史数据映射到低维空间, 然后通过构建合适的神经网络结构以建立相应的检测模型, 从而形成基于拉普拉斯特征映射降维学习的隐匿FDI攻击信号检测机制. 最后通过IEEE 57-Bus模型验证了这种检测机制的有效性. 仿真结果表明采用拉普拉斯特征映射方法能够使正常的测量数据与受攻击的数据很好地分离; 相比于神经网络方法, 这种检测机制能明显提升检测精度, 达到与深度神经网络接近的检测效果. 进一步的, 相比于深度神经网络, 本文的方法不仅能有相似的检测精度, 并且在训练时间上花费更少, 且具有更好的泛化能力.
-
-
[1] Eklas H, Imtiaj K, Fuad U N, Sarder S S, Samiul H S. Application of big data and machine learning in smart grid, and associated security concerns: A Review. IEEE Access, 2019, 7: 13960−13988 doi: 10.1109/ACCESS.2019.2894819 [2] Liang G Q, Weller S R, Zhao J H, Luo F J, Dong Z Y. The 2015 Ukraine blackout: implications for false data injection attacks. IEEE Transactions on Power Systems, 2017, 32(4): 3317−3318 doi: 10.1109/TPWRS.2016.2631891 [3] 王琦, 邰伟, 汤奕, 倪明. 面向电力信息物理系统的虚假数据注入攻击研究综述. 自动化学报, 2019, 45(1): 72−83Wang Qi, Tai Wei, Tang Yi, Ni Ming. A Review on false data injection attack toward cyber-physical power system. Acta Automatica Sinica, 2019, 45(1): 72−83 [4] Yao L, Peng N, Michael K R. False data injection attacks against state estimation in electric power grids. ACM Transactions on Information and System Security 2011, 14(1): No. 13, 33 pages [5] Kim T T, Poor H V. Strategic protection against data injection attacks on power grids. IEEE Transactions on Smart Grid, 2011, 2(2): 326−333 doi: 10.1109/TSG.2011.2119336 [6] Ansari M H, Vakili V T, Bahrak B, Tavassoli P. Graph theoretical defense mechanisms against false data injection attacks in smart grids. Journal of Modern Power Systems and Clean Energy 2018, 6(5): 860−871 doi: 10.1007/s40565-018-0432-2 [7] Liu L C, Esmalifalak M, Han Z. Detection of false data injection in power grid exploiting low rank and sparsity. International Conference on Communications. Budapest, Hungary: IEEE, 2013. [8] Liang G Q, Zhao J H, Luo F J, Weller S R, Dong Z Y. A review of false data injection attacks against modern power systems. IEEE Transactions on Smart Grid 2017, 8(4): 1630−1638 doi: 10.1109/TSG.2015.2495133 [9] Shan Ke-Meng, Qi Dong-Lian. Distributed dection of false data injection in smart grid and location of error estimation. In: Proceedings of the 36th Chinese Control Conference. Dalian, China: 2017. [10] Ozay M, Esnaola I, Vural F T Y, Kulkarni S R, Poor H V. Machine learning methods for attack detection in the smart grid. IEEE Transactions on Neural Networks and Learing Systems 2015, 27(8): 1773−1786 [11] Esmalifalak M, Liu L C, Nguyen N, Zheng R, Han Z. Detecting stealthy false data injection using machine learning in smart grid. IEEE Systems Journal 2014, 11(3): 1644−1652 [12] He Y B, Mendis G J, Wei J. Real-time detection of false data injection attacks in smart grid: a deep learning-based intelligent mechanism. IEEE Transactions on Smart Grid 2017, 8(5): 2505−2516 doi: 10.1109/TSG.2017.2703842 [13] Yu J Q, Huo Y H, Li V O K. Online false data injection attack detection with wavelet transform and deep neural networks. IEEE Transactions on Industrial Informatics 2018, 14(7): 3271−3280 doi: 10.1109/TII.2018.2825243 [14] Sun Y B, Fu M Y, Wang B C, Zhang H S, Marelli D. Dynamic state estimation for power networks using distributed MAP technique. Automatica 2016, 73: 27−37 doi: 10.1016/j.automatica.2016.06.015 [15] Ali A, Antonio G E. Power System State Estimation: Theory and Implementation. CRC Press, 2004.115−142 [16] Yu Z H, Chin W L. Blind false data injection attack using PCA approximation method in smart grid. IEEE Transactions on Smart Grid 2015, 6(3): 1219−1226 doi: 10.1109/TSG.2014.2382714 [17] Belkin M, Niyogi P. Laplacian eigenmaps for dimensionality reduction and data representation. Neural Computation 2003, 15(6): 1373−1396 doi: 10.1162/089976603321780317 [18] Rumelhart D E, Hinton G E, Williams R J. Learning representations by back-propagating errors. Nature 1986, 323(6088): 533−536 doi: 10.1038/323533a0 [19] Ray D Z, Carlos E M S, Robert J T. MATPOWER: Steadystate operations, planning, and analysis tools for power systems research and education. IEEE Transactions on Power Systems 2011, 26(1): 12−19 doi: 10.1109/TPWRS.2010.2051168 [20] Hochreiter S, Schmidhuber J. Long Short-term Memory. Neural Computation 1997, 9(8): 1735−1780 doi: 10.1162/neco.1997.9.8.1735 期刊类型引用(10)
1. 崔玉礼,黄丽君. 基于图卷积神经网络的WSN零动态攻击检测方法. 太原学院学报(自然科学版). 2025(01): 78-84 . 百度学术
2. 赵振兴,段富. 用户终端隐私大数据交互式保护算法. 计算机仿真. 2024(06): 503-506+524 . 百度学术
3. 冯敏,刘建勇,曾念华. 考虑频繁项集的智能电网统一数据模型构建. 微型电脑应用. 2024(10): 177-181 . 百度学术
4. 王俊峰,陈亮,景峰,李军,阮伟. 基于LSTM的电力网络恶意流量攻击检测研究. 电力大数据. 2024(08): 1-8 . 百度学术
5. 强丽丽,郭磊. 基于均衡化样本类别的图书馆网络入侵自动检测研究. 自动化与仪器仪表. 2023(01): 48-52 . 百度学术
6. 黄冬梅,丁仲辉,胡安铎,王晓亮,时帅. 低成本对抗性隐蔽虚假数据注入攻击及其检测方法. 电网技术. 2023(04): 1531-1540 . 百度学术
7. 顾仁龙,曾鸿孟,徐超,胡琳,周憧. 基于机器学习的云原生结构数据攻击检测系统设计. 电子设计工程. 2023(14): 62-65+70 . 百度学术
8. 杨贤,周丹,王朋,林春耀,王丰华,马佳琪,盛戈皞. 基于优化TQWT和LE的变压器绕组状态检测. 电力自动化设备. 2023(08): 188-194 . 百度学术
9. 田启东,林志贤,郑炜楠,于兆一,杨秀瑜. 基于多源异构数据与深度神经网络的电量预测系统. 电子器件. 2022(04): 970-975 . 百度学术
10. 曾俊娆,李鹏,高莲,沈鑫. 基于TNPE的智能电网虚假数据注入攻击检测. 中国安全生产科学技术. 2021(03): 124-129 . 百度学术
其他类型引用(5)
-