基于改进自注意力机制生成对抗网络的智能电网GPS欺骗攻击防御方法

2021-11-20 08:33李元诚杨珊珊
电力自动化设备 2021年11期
关键词:防御机制注意力向量

李元诚,杨珊珊

(华北电力大学 控制与计算机工程学院,北京 102206)

0 引言

现代电力系统的规模不断扩大,互联程度不断加强,结构和运行方式日趋复杂,对状态估计[1]提出了更高的要求,传统的数据采集与监视控制SCADA(Supervisory Control And Data Acquisition)系统所采集量测值的精度已不能满足状态估计的要求。相量测量装置PMU(Phasor Measurement Unit)[2]能够对节点电压相量和支路电流相量等状态量进行高精度的同步量测,有效提高智能电网状态估计的精度[3]。但PMU成本高,经常采用基于PMU和SCADA系统混合量测的电力系统状态估计方法[4]。

PMU 在提高智能电网状态估计精度的同时,也带来了一系列的安全问题。PMU 的全球定位系统(GPS)接收机以射频方式接收来自不同卫星的GPS信号。GPS 信号包括未加密的C/A 码和加密的P(Y)码。PMU 接收到的GPS 信号为未加密的C/A码[5]。C/A 码的码结构是公开的,很容易被攻击者利用,通过伪造GPS信号欺骗接收机,所以未加密的GPS 信号容易受到欺骗攻击。研究人员已经对GPS欺骗攻击GSA(GPS Spoofing Attack)进行了现场测试,验证了其可行性[6]。此外,欺骗者可以成功地修改PMU 量测值的时间戳。当GPS 信号受到欺骗时,相应的PMU 量测值会变得不可靠,因此必须在检测到欺骗后立即通过删除或校正等方式对量测值进行修正,否则,基于欺骗数据的状态估计结果将是错误的,并可能误导控制中心发起不必要的、可能破坏稳定的补救控制措施。例如,基于欺骗数据的状态估计可能导致墨西哥当前运行系统的控制方案自动使发电机跳闸,这会导致整个电网发生级联故障,甚至崩溃[7]。因此,如何高效地对GSA 进行防御,减轻其带来的危害,对于保障智能电网的安全运行具有重要意义。

针对GSA 的防御机制主要分为2 类:一类是在GPS 接收器接收GPS 信号阶段进行防御;另一类是在PMU 测量数据之后及进行状态估计之前的阶段进行防御。第一类防御机制通过检测导航数据,区分真实的GPS 信号和伪GPS 信号,通过恢复伪GPS信号对GSA 进行防御。该类方法可以分为信号处理方法、天线防御方法、基于与其他时间源相关性的防御方法、加密策略四大类。信号处理方法需要从接收信号中监测导航信息的功率、质量,提取出导航信息的具体特征用于识别不相关数据,利用信号中的数学关系能够区分真实的GPS 信号和伪GPS 信号[8]。天线防御方法大多采用到达角分辨技术[9],但通常需要高电平的附加硬件。基于与其他卫星系统权威机构的相关性的防御方法仅对特定的GPS信号[10]有用。加密策略较昂贵,且需要修改GPS 信号结构,主要用于军事版本的GPS 信号[11]。第二类防御机制是在PMU 测量数据之后,通过各种算法提取出量测数据的具体特征用于识别异常数据,对被攻击的PMU 量测值进行校正。文献[5]提出了一种基于探测技术的GSA 识别算法,文献[12]提出了一种基于广义似然比检验的校正算法,但都只适用于单一GSA 的情况。文献[9]从物理角度提出了一种针对多GSA 的检测机制,需在PMU 的现有接收器附近安装另一台商用GPS接收器。文献[13]考虑多GSA的情况,将状态估计、攻击重构问题转化为双线性最小二乘问题,并利用交替最小化算法进行求解,但所提方法仅适用于系统可观测的环境,并不适用基于PMU 和SCADA 系统混合量测的电力系统环境。文献[14]提出了一种可以同时估计线参数和修正量测值的方法,但系统需具备一个预先校准的PMU。文献[15]提出了一种多层的多接收机结构,可以增强GPS 的定时性能,以抵抗干扰、欺骗和接收机误差,但会增加额外的硬件成本。

生成对抗网络(GAN)[16]已被应用于网络攻击的防御策略研究中,但大多GAN 方法在某些设定条件下仍存在样本生成质量低或者不能收敛等问题。文献[17]将自注意力机制引入GAN 的框架,提出了自注意力机制生成对抗网络SAGAN(Self-Attention Generative Adversarial Network)。自注意力机制模块在建模长期依赖方面很有效,有利于提高生成样本的质量。另外,SAGAN 将谱归一化应用于生成器,解决了GAN 训练稳定性的问题,且生成器和判别器更新规则TTUR(Two-Timescale Update Rule)加速了正则化判别器的训练。

本文首先在SAGAN 结构[17]中引入基于门控循环单元GRU(Gated Recurrent Unit)的时间注意力模块,提出了一种改进SAGAN 模型;然后,基于改进SAGAN,实现对引入深度学习参数的新网络-物理模型的训练。改进SAGAN 通过学习历史量测值,提取数据的时空特征,利用判别器对欺骗攻击进行检测,利用生成器实现对欺骗数据的恢复,最终得到一个基于改进SAGAN的主动防御模型。与现有研究相比,本文所提方法无需任何变电站级别的硬件增强,极易应用于实时场景或现场研究。此外,本文所提方法不仅能实现对GSA 的检测,还能对欺骗数据进行校正。随着现代化电网的数据量越来越大,电网拓扑结构越来越复杂,现有研究提出的大多数据校正算法可能无法保证实时性,但算例仿真结果证明本文所提防御方法能很好地保证防御算法的实时性。

1 问题描述

1.1 GSA过程

GSA 的原理为:攻击者的信号发射器发射与卫星信号结构相同/相似而功率更强的信号,使PMU中的GPS接收机误以为其是真实信号而进行搜索捕获。卫星导航系统的基本原理是无线电测距定位,近地面用户通过接收4 颗以上卫星的信号,计算伪距后通过球面交汇完成定位。所以GSA 的本质是通过发射信号误导目标用户得到错误的传播时延、伪距,致使目标用户定位到欺骗点上。若欺骗干扰源能灵活控制伪距的变化,则可实现任意位置欺骗。

为了欺骗GPS 接收机,需要误导GPS 接收机获取伪GPS 信号。由于捕获阶段是通过在载波频率-码相二维空间中搜索最高相关峰值(直观而言,具有较高信噪比(SNR)的信号将具有较高的相关峰值)实现的,故存在一种两步法欺骗策略:在第一步中,欺骗者发射某些干扰,导致GPS接收机失去跟踪;在第二步中,当GPS 接收机进行捕获时,欺骗者启动伪GPS信号。由于伪GPS 信号具有更高的SNR,GPS 接收机将因搜索到较高的相关峰值而跟踪伪GPS信号。

GSA的过程如下:攻击者通过学习真实的GPS信号,判断给定时间区域内攻击目标附近的轨道卫星,然后利用公开数据库中的公式,伪造不同卫星的C/A码,在攻击目标附近广播与真实信号相同的C/A码值信息;当攻击目标在捕获阶段的载波频率-码相二维空间中进行粗略扫描以搜索功率较大的GPS信号时,攻击者逐渐增加虚假信号的功率,致使GPS接收机锁定伪GPS 信号,之后攻击者可以慢慢改变伪GPS 信号的码相,接收机会调整其信号发生器与伪信号对齐,使码相偏离真实信号,最终将真实信号当作噪声处理。码相是计算传播时间和时间偏置的关键,因此GSA 会通过随机移动GPS 信号中的相角来破坏接收机与系统时间之间的时间同步,最终使接收机估计得到错误的卫星位置和时钟偏置量,使PMU计算得到错误的相角,之后能量管理系统(EMS)中的状态估计器利用被篡改的量测值估计得到不正确的系统状态,从而给电网带来严重威胁[18]。

1.2 受GSA影响的PMU量测值

假设在有N条母线的电力系统中安装了p台PMU,PMUk提供的同步数据表示如下:

式中:mk为PMUk提供的量测值向量,其元素mki(i=1,2,…,n;n为量测值数量)为PMUk提供的序号为ki的量测值;s为电网状态向量;Sj(j=1,2,…,N)为母线j的电压相角;Ak由系统状态和PMUk提供的量测值决定,可以基于PMU 的位置、网络拓扑和传输线参数获得;ek为PMUk的测量噪声向量,不失一般性,假设ek服从相同的独立分布(方差为σ2的复高斯分布)。

将p台PMU提供的量测值进行叠加,可得:

式中:m、A、e可以分别由对应于不同PMU 的子块mk、Ak、ek适当地构造得到,在不失一般性的前提下,假设所有PMU的测量噪声服从相同的分布。

假设一个GSA出现在PMUk上,且相量偏移量为θspf,根据GSA 对同步相量数据的影响特征,被欺骗的同步相量数据可表示为:

式中:mspf为被欺骗的同步相量数据;G为攻击矩阵;I(kk=1,2,…,p)为单位矩阵,其大小由PMUk提供的量测值数量决定(即与mk同维度)。

2 GSA防御机制

为了防御GSA,本文提出了一种改进网络-物理模型,该模型根据历史量测数据计算当前的量测值,并基于改进SAGAN实现模型训练。

2.1 改进网络-物理模型

首先通过回归算法对量测值向量进行预处理。量测值的非线性回归模型如式(6)所示。

式中:Mt为t时刻的量测值向量;Vi、Vj分别为母线i、母线j的电压幅值向量;Pij、Qij分别为线路ij的有功潮流、无功潮流向量;θij为母线i、母线j间的电压相角差向量;gij、bij分别为线路ij的电导、电纳向量;αt、βt、ηt、γt、δt为t时刻的测量系数;l(Pij;Qij)为有功潮流与无功潮流间的非线性关系函数;f(gij;bij;θij)为电导、电纳、电压相角差之间的非线性关系函数;et为t时刻的测量噪声向量。

基于式(6),可以得到计算t时刻量测值的改进网络-物理模型如式(7)所示。

式中:Mc(t)为改进网络-物理模型计算所得t时刻的量测值向量;Vi(t-1)、Vj(t-1)、Pij(t-1)、Qij(t-1)、gij(t-1)、bij(t-1)、θij(t-1)为历史量测值向量;α、β、η、γ、δ为可以通过深度神经网络模型学习得到的模型参数值;ut为t时刻深度神经网络模型预测所得量测值与实际量测值之间的偏差向量。

结合所提改进网络-物理模型,利用t-1时刻采集的量测值对神经网络模型进行训练,可以计算得到t时刻的量测值。

2.2 改进SAGAN模型

SAGAN 中的生成器和判别器网络采用卷积结构,结合自注意力机制可以有效提取输入数据的空间特征,但并不擅长提取数据中的周期性变化规律。在现代化电网中,拓扑信息越来越复杂,数据量也越来越大,量测值不仅具有空间相关性,也具有时间相关性,而GSA 会篡改量测值,导致被篡改后的量测值具有与正常数据不同的时空特征。所以同时提取量测值的时空特征,学习正常数据和被欺骗数据的不同之处,可以有效提高修正数据的精度。

循环神经网络(RNN)可以有效地对动态时间序列数据进行建模,学习序列的周期性变化规律。而GRU 是RNN 的一种变体,其训练时间短,收敛速度快,可以避免梯度消失或梯度爆炸问题。

将SAGAN 生成器和判别器中的空间自注意力模块提取所得的特征图输入GRU 中进行动态时间建模,同时提取数据的时间和空间特征,可以有效提高判别器的判别准确率和生成器生成样本的质量,所以本文在SAGAN 的生成器和判别器网络的最后一层卷积层之后分别融入基于GRU 的时间注意力模块,提出了一种改进SAGAN 模型,通过结合多种结构有效学习输入数据中丰富的特征和规律。

本文所提改进SAGAN 中空间自注意力模块和时间注意力模块的具体叙述如下。

1)空间自注意力模块。

将前一隐藏层输出的数据特征x∈RC×M(C为通道数,M为前一隐藏层特征的位置数量)变换为2 个特征空间f、g来计算注意力,其中f(x)=Wfx,g(x)=Wgx,Wf∈RCˉ×C、Wg∈RCˉ×C(Cˉ为通道数,且有Cˉ=C/K,K=1,2,4,8)为学习权重矩阵,则模型在合成第j个区域时对第i个区域的关注程度βj,i可表示为:

式中:sij=fT(xi)g(xj),xi、xj分别为第i、j个区域的数据特征。自注意力层的输出为o=[o1,o2,…,oj,…,oM]∈RC×M,其第j列元素oj如式(9)所示。

式中:Wh∈RCˉ×C、Wv∈RCˉ×C为学习权重矩阵。为了提高内存效率,本文选取K=8进行测试。

此外,将自注意力层的输出与比例参数相乘,并重新添加输入的特征图,得到最终空间自注意力模块的输出为:

式中:γs为可学习的标量,初始值为0。2)时间注意力模块。

将空间自注意力模块输出的特征图构造为时间序列形式输入GRU 进行动态时间建模,并引入注意力机制通过映射加权和学习参数矩阵赋予GRU 隐含状态不同的权重,减少历史信息的丢失并加强重要信息的影响。其中单个GRU 结构由更新门和重置门组成,具体公式如下:

式中:zt为更新门,用于更新行为时的逻辑门;rt为重置门,用于决定候选行为时是否要放弃之前的行为ht;xt为t时刻GRU 的输入;h͂t为t时刻的候选行为,接收{xt,ht-1};ht为t时刻GRU 的隐藏层输出,接收{ht-1,h͂t};Wz、Uz、Wt、Ut、W、U为权重矩阵;“∘”为哈达码积;σ(⋅)、tanh(⋅)为激活函数。

将GRU层的输出记为H。注意力机制层的输入为经过GRU 层激活处理的输出向量H,根据权重分配原则计算不同特征向量对应的概率,不断更新迭代得到的较优权重参数矩阵。注意力机制层的权重系数计算公式为:

式中:Gt为t时刻由GRU 层输出向量ht所决定的注意力概率分布值;u、w为权重系数;B为偏置系数;at为注意力机制层在t时刻的输出。

在改进SAGAN 模型中,通过最小化铰链式的对抗性损失函数对模型交替训练,判别器的损失函数LD、生成器的损失函数LG分别见式(20)和式(21)。

式中:E[⋅]为求期望值;x~pdata表示量测值向量数据x服从真实数据分布;D(x)为判别器正确判断的概率;G(z)为生成器生成的数据;D(G(z))为判别器对生成器生成数据的判别结果;z为噪声向量。

2.3 GSA防御模型

将改进SAGAN 模型应用到GSA 防御中,设计GSA 防御模型。防御模型分为数据采集与控制、数据检测与防御2 个模块,其中,数据采集与控制模块进行数据采集、状态估计、初步检测坏数据等操作,并将含有欺骗数据的量测数据输入数据检测与防御模块;数据检测与防御模块包括训练好的生成器和判别器2 个组件,主要采用的防御机制见2.4 节。本文所提GSA防御模型如图1所示。

图1 GSA防御模型Fig.1 Defense model of GSA

GSA 防御模型的主要工作原理可以概括如下:攻击者对PMU 的GPS 接收机进行欺骗,引入错误的时间戳,从而篡改同步相量数据;PMU 和SCADA 系统将采集的数据传送到状态估计器进行状态估计和坏数据检测;经过坏数据检测后,将量测数据输入所提算法中;利用所提算法对量测数据进行检测,并对检测所得欺骗数据进行校正。数据检测与防御模块的实现过程如下:

1)进行GSA检测,检测数据是否为欺骗数据;

2)分离欺骗数据和正常数据;

3)删除欺骗数据并将剩余正常数据输入生成器;

4)利用生成器从正常数据中提取特征;

5)生成器结合网络-物理模型,根据提取的特征计算得到与损失数据特征尽可能一样的数据;

6)将计算得到的数据加入剩余正常数据中,合成补全后的数据,将其发送给状态估计器。

2.4 防御机制

根据所提改进SAGAN 模型设计GSA防御机制,如图2所示。图中,M为原始量测值数据;Mr为正常量测值数据;Mc为生成器计算得到的数据;G(Mc)表示将一个向量Mr输入生成器G 并输出量测值Mc的构造过程。

图2 GSA防御机制Fig.2 Defense mechanism of GSA

本文所提防御机制的基本思想如下:①将原始量测值数据M输入判别器D,判别器D 的输出为概率值D1和D2,其中D1为生成器G计算得到的数据属于正常数据的概率,D2为该原始量测值数据属于正常数据的概率;②分离被欺骗的量测数据mspf与正常量测值数据Mr;③将Mr输入生成器G,生成器G计算并输出Mc,将Mc作为输入发送给判别器D。改进SAGAN 中的判别器D 和生成器G 被交替训练,如果D1很大,则说明生成器G 生成样本的质量已经符合要求;否则,说明质量未达到要求,需要继续训练。谱归一化可以防止参数幅度增大,避免异常梯度。使用谱归一化的生成器和判别器使模型在每次生成器更新时进行较少的判别器更新次数,从而大幅缩短了训练时间,同时也提高了训练的稳定性。

判别器D 的训练目的是为了使EM[D(M)]最大化,以此实现从量测值数据M中提取更好的特征进行建模,增大正确判断的概率D(M),即最大化甄别哪些向量值属于真实数据分布的概率。生成器G 的训练的目的是为了使EMc[D(Mc)]最大化,从而使生成器计算得到的数据Mc能接近真实的未被欺骗的量测数据,即最大化生成器输出的向量值被判别器判断为来自真实数据分布的概率。

本文所提改进SAGAN 的具体训练过程见附录A。在改进SAGAN 中,生成器和判别器以不同的学习率同时进行训练,具体步骤如下。

1)对原始量测数据集{mi}进行预处理,将n个量测值向量处理为a×b阶矩阵M,如式(22)所示。将矩阵M作为改进SAGAN的输入。

2)将经过预处理的矩阵M和生成器生成的数据输入判别器的空间自注意力模块,利用其卷积层和自注意力层对输入数据进行高维特征提取,输出特征图。

3)将空间自注意力模块输出的特征图构造为时间序列形式,作为时间注意力模块的输入。

4)将步骤2)和步骤3)所得结果输入全连接层,分离正常数据和被欺骗数据,删除欺骗数据。

5)将正常量测数据作为先验的输入噪声变量输入生成器,经过一个全连接层,将其重塑为2维矩阵,然后将2维矩阵输入生成器的空间自注意力模块对输入数据进行高维特征提取,输出正常数据的特征图。

6)将空间自注意力模块输出的特征图构造为时间序列形式,作为时间注意力模块的输入,并提取数据的时间特征,得到生成数据。同时,将生成的数据输入判别器,利用判别器进行判别。

7)经过生成器和判别器不断地进行博弈,最终输出最接近于正常数据特征的数据。

3 算例分析

3.1 参数设置

为了验证所提防御方法的有效性,以IEEE 14节点、IEEE 118节点测试系统为例,采用文献[19]中的系统拓扑结构、参数进行仿真设置。每个系统对应不同的PMU位置配置文件,具体见附录B表B1。

在每个系统中,随机选择1 台或多台PMU,对每台PMU随机选择相量偏移量θspf进行GSA,并在传输到状态估计器之前修改其量测值。本文考虑对1 台PMU 进行攻击的情况,采取文献[20]中的欺骗干扰策略,被欺骗者修改的PMU量测值以0.8(°)/s的速度偏离真实值,在2 min内突破PMU的IEEE C37.118标准[9]。本文所提方法通过学习量测值来恢复被欺骗的量测值数据,所以同样适用于针对多台PMU 进行攻击的情况。设改进SAGAN 判别器、生成器的学习速率分别为0.0004、0.0001。

3.2 GSA下PMU量测值变化测试

为了验证所提防御机制的性能,在进行防御机制性能测试之前,首先对受GSA 的PMU 量测值变化情况进行研究。由于GSA 只会对电压相角值造成影响,而对电压幅值的影响不大,本节只研究电压相角值的变化情况。实验分别在2 个测试系统中进行。设IEEE 14 节点系统中的PMU1(即母线2 处的PMU)遭受相量偏移量为θspf的GSA(将其记为GSA(1,θspf)),具体实验结果如图3 所示。针对IEEE 118节点系统的GSA结果见附录B图B1。

图3 IEEE 14节点系统遭受GSA时PMU量测值的变化曲线Fig.3 Change curves of PMU measurement values when IEEE 14-bus system suffers GSA

由图3 和附录B 图B1 可以看出,在2 个测试系统中,攻击者在50 s 后开始攻击,50 s 之前的数据为正常数据,50 s 后的数据为受欺骗的数据,IEEE 14节点系统中的PMU2受到欺骗,IEEE 118 节点系统中的PMU9受到欺骗,欺骗在2 min 内使相角偏离真值10°。因此,GSA的相量偏移量会对系统母线的电压相角值产生一定的影响。

3.3 防御机制性能测试

3.2 节的测试结果表明,GSA 会对系统的电压相角值造成一定的影响。在防御机制中,生成器需要从正常数据中提取数据特征,计算得到与正常数据特征尽可能一样的数据。生成器在生成数据之前需要进行迭代训练,迭代的次数不同,则训练的效果不同。测试中设置不同的迭代次数,比较生成数据与未受攻击的正常数据之间的差别。在IEEE 14 节点、IEEE 118节点系统中进行防御测试,验证所提防御机制的性能,结果分别见图4和附录B图B2。

图4 迭代次数不同时的电压相角值(IEEE 14节点系统)Fig.4 Voltage phase angle values with different iteration times(IEEE 14-bus system)

由图4 可看出,在IEEE 14 节点系统中,当训练迭代次数为10 次时,生成器生成的数据略高于未受攻击的正常量测值;当迭代次数增加到100 次时,生成器生成的数据几乎接近正常量测值。由图B2 可看出,在IEEE 118 节点系统中,当训练迭代次数超过100 次后,生成器生成的数据与正常量测值接近。上述结果证明了本文所提防御机制在不同测试系统中的可行性。

关于测试算法的计算时间,IEEE 14节点系统和IEEE 118节点系统的计算时间分别为0.047、1.092 s,可见本文所提防御机制具有较短的延迟,从而保证了实时性防御。

为了进一步验证本文所提防御机制的有效性,设置生成器的迭代次数为100次,在IEEE 14节点系统和IEEE 118 节点系统中进行不同算法的对比测试,结果分别如图5和附录B图B3所示。由图可知,相比于交替最小化算法、GAN 算法和SAGAN 算法,改进SAGAN 算法生成的数据更接近于正常量测值,从而证明了所提改进SAGAN算法的有效性。

图5 不同算法所得电压相角值对比(IEEE 14节点系统)Fig.5 Comparison of voltage phase angle values obtained by different algorithms(IEEE 14-bus system)

不同算法的计算时间对比如表1 所示。由表可知,相较于其他防御算法,本文所提算法的计算时间最短,能更好地保证实时防御。

表1 不同算法的计算时间对比Table 1 Comparison of computation time among different algorithms

4 结论

为了检测和防御GSA,本文提出了一种新的网络-物理模型,该模型在原模型的基础上引入了一个深度学习参数,具有更高的计算准确率。基于此网络-物理模型,提出了基于改进SAGAN 的GSA 检测和防御机制。在该机制中,利用改进SAGAN 的空间自注意力模块对历史量测数据进行特征提取,基于GRU 的时间注意力模块对所提特征进行动态时序建模,不断地通过生成器、判别器对量测数据进行学习,通过数据生成、对比和替换实现对GSA 的检测和防御。将本文所提防御算法与交替最小化算法、GAN 算法进行对比,测试结果表明本文所提防御方法生成得到的数据更接近正常数据,防御效果更好。

附录见本刊网络版(http://www.epae.cn)。

猜你喜欢
防御机制注意力向量
向量的分解
让注意力“飞”回来
防御机制在医学生抑郁的性别差异中的中介作用*
聚焦“向量与三角”创新题
“扬眼”APP:让注意力“变现”
A Beautiful Way Of Looking At Things
向量垂直在解析几何中的应用
向量五种“变身” 玩转圆锥曲线
躯体形式障碍患者治疗前后防御机制的对照观察
大学生防御机制及人际信任的相关研究