《武汉工程大学学报》  2026年03期 335-342   出版日期:2026-06-30   ISSN:1674-2869   CN:42-1779/TQ
电力信息物理系统中基于自适应卡尔曼滤波的动态负载变化攻击检测





信息物理系统(cyber physical system,CPS)是一种融合了物理系统、网络通信和计算机科学的新型智能系统[1]。现代电力系统作为典型的CPS,由基础电力网络和信息网络组建而成,是电力应用的关键核心和典型代表[2]。由系统的结构特点可知,电力信息物理系统(cyber physical power system,CPPS)主要面临来自通信通道和物理设备的安全威胁[3]。近年来,随着网络规模的扩张以及通信环境的开放,使得系统容易受到攻击[4]。拒绝服务攻击[5-6]、虚假数据注入攻击[7-9]、中间人攻击[10]都是常见的针对网络通道的攻击,攻击者在通信通道阻断或篡改数据使网络系统的功能被破坏,导致CPPS无法及时执行任务甚至崩溃。
传感器和控制器等物理设备作为与电力系统交互的重要部分,攻击者可以通过恶意篡改其工作逻辑,破坏数据的真实性,从而诱导电力系统做出错误响应。负载变化攻击(load altering attack,LAA)就是利用这些物理设备去改变电网中的某些不安全负载,使电能溢出或发电机卸载来破坏电力系统的稳定运行[11]。Mohsenian-Rad等[11]指出了易遭受LAA的两种负载类型,即不可控负载和频率响应负载,并以突然改变受损负载体积的方式研究了静态LAA。在此基础上,Amini等[12]以发电机转子角频率作为反馈设计了动态负载变化攻击(dynamic load altering attack,D-LAA),并基于比例(proportional,P)控制器设计了单点闭环D-LAA,不同于静态LAA仅改变受损负载的体积,D-LAA还会改变负载的轨迹。Amini等[13]进一步分析了D-LAA的工作原理及其造成智能电网不稳定的条件,但只针对攻击造成发电机卸载的情况进行了分析,而没有考虑使系统产生额外功率的情况。
状态估计是当代电力系统中能量管理的重要组成部分,是实现CPPS安全稳定运行的基础[14]。卡尔曼滤波器(Kalman filter,KF)通过含有高斯噪声的输入输出观测数据,对系统状态进行最优估计,被广泛应用于航空领域的导航[15]、轨迹预测[16]和姿态估计[17]以及工业过程的状态监测和故障诊断。但是,当噪声模型难以确定、输入信号发生突变时,KF的估计精度、鲁棒性以及收敛速度均表现较差。自适应渐消因子卡尔曼滤波器(adaptive fading factor Kalman filter,AFFKF)通过引入渐消因子来调整先验状态误差协方差矩阵,可以有效解决该问题。Li等[18]提出了基于新息协方差的卡尔曼滤波算法,通过新息序列的协方差理论值构造函数来求取渐消因子,并根据状态向量估计值和状态向量预测值之间的差异进行D-LAA检测。但是当模型不准确时,基于内部模型计算的新息协方差理论值无法反映系统的实际运行状况,从而使状态估计结果偏离实际值。
为加剧D-LAA对电力系统安全稳定运行的破坏,本文基于比例积分(proportional integral,PI)控制器设计D-LAA,在2个场景中研究其对系统负载功率和发电机角频率产生的影响。为进一步提高状态估计器的准确性,设计了基于新息协方差估计值的AFFKF,其中新息协方差估计值基于渐消记忆指数加权计算,最后结合欧几里得距离和残差函数设计攻击检测方法,实现D-LAA检测。数值仿真表明,本文所提的基于PI控制器的攻击模型能对系统的稳定性造成更大的破坏,所提的改进AFFKF算法具有更好的状态估计精度和异常信号敏感度。
1 系统模型
1.1 电力系统模型
考虑一个以[N]为总线的电力系统,其中发电机总线集合用[G=g1,g2,…,gn]表示,负载总线集合用[L={l1,l2,…,lm}]表示,[gn]和[lm]分别表示第n条发电机总线和第m条负载总线,故该电力系统的潮流方程可写成:
[PGi=j∈GJijδi-δj+j∈LJijδi-θj?i∈G-PLi=j∈GJijθi-δj+j∈LJijθi-θj?i∈L] (1)
式(1)中:[PGi]代表发电机在第i条总线处注入的功率;[PLi]代表负载在第i条总线处消耗的功率;[δi]为第i条总线处的发电机相角;[θi]为第i条总线处的电压相角;[Jij]则表示第i条总线和第j条总线之间的线路导纳,若二者之间无传输线路连接,则[Jij=0]。
根据摆动方程对发电机进行建模:
[δi=ωiMiωi=Pini-diωi-PGi] (2)
式(2)中:[ωi]是转子角频率相对于标准角频率的偏差,[Mi]是转子惯量,[Pini]是机械输入功率,[di]是阻尼系数。
现实中[Pini]易受涡轮调速控制器和负载频率控制器的影响,为了简化分析过程本文暂不考虑发电机的时滞性和其他内部因素。故上述两种控制器可统一抽象为PI控制器的形式,发电机的机械输入功率可表示为:
[Pini=KPiωi+KIi0tωi=KPiωi+KIiδi] (3)
式(3)中:[KPi]和[KIi]分别表示积分控制器系数和比例控制器系数。
将式(1)和式(3)代入式(2)可得:
[Miωi=(KPi-di)ωi+KIiδi-j∈GJijδi-δj-]
[j∈LJijδi-δj] (4)
消除负载总线处电压相角的影响,系统状态空间模型可以描述为:
[δtωt=]
[0IM-1KI-JGG+JGLJLL-1JLGM-1KP-D]
[δtωt+0M-1JGLJLL-1PLt] (5)
式(5)中:t表示连续系统时间,[δt]是发电机相角[δi]的向量集合,[ωt]是发电机转子角频率相对于标准角频率的偏差[ωi]的向量集合,[JGG]是发电机总线间导纳的矩阵,[JGL]是发电机和负载总线间导纳的矩阵,[JLG]是负载和发电机总线间导纳的矩阵,[JLL]是负载总线间导纳的矩阵,[PLt]是负载消耗的功率[PLi]的向量集合,[KP]和[KI]分别为比例控制器系数和积分控制器系数的对角矩阵,[M]和[D]分别为发电机惯性系数和阻尼系数的对角矩阵,[I]表示单位矩阵。
令[xt=δTtωTtT],[ut=PLt],并考虑噪声对系统的影响,则系统模型可以表示为:
[xt=Axt+But+wtyt=Hxt+vt] (6)
式(6)中:[xt]为系统状态向量,[yt]为系统测量输出向量,[ut]为系统输入向量,[A]为状态转移矩阵且[A=0IM-1KI-JGG+JGLJLL-1JLGM-1KP-D],
[B]为输入矩阵且[B=0M-1JGLJLL-1],[H]为连续系统下的测量矩阵,[wt]和[vt]分别为测量噪声向量和过程噪声向量。
1.2 动态负载变化攻击模型
假设攻击者以发电机转子角频率作为反馈信号控制负载功率[PLi],发电机转子角频率通过攻击者提前部署的传感器获得,该传感器位于发电机总线s上。以PI控制器的形式在受害总线[α]处实施D-LAA,攻击序列[Fαt]可表示为:
[Fαt=-KLI,αs0tωst-KLP,αsωst+fLα] (7)
式(7)中:[KLI,αs]为攻击积分控制器增益,[KLP,αs]为攻击比例控制器增益,[ωs(t)]为发电机总线[s]上的发电机转子角频率相对于标称值的偏差的向量集合,[fLα]为攻击前生成的一个轻微频率偏差。
故受到D-LAA时CPPS的线性离散化模型为:
[xk=Axk-1+Buk+wkyk=Hxk+vk] (8)
式(8)中:k表示离散系统时间;状态转移矩阵[A≈TA+I],T为离散系统的采样周期;输入矩阵[B≈TB];[H]为离散系统下的测量矩阵;[wk]和[vk]相互独立,且满足[wk~N0,Q(k)]、[vk~N0,R(k)],[Qk]为非负的过程噪声协方差矩阵,[Rk]为正定的测量噪声协方差矩阵;[u(k)]为攻击状态下的系统输入且[uk=PLk+][Fαk]。
2 D-LAA检测
图1是CPPS中的D-LAA攻击检测方案。假设攻击者入侵了传感器并对电网数据进行实时监控,基于上述电网数据组成的系统输出测量值[yk],攻击者在控制器处发动了攻击,通过更改控制信号[uk]使执行器发出了错误的工作指令,从而使电力系统的稳定性被破坏。检测部分则利用系统输出测量值[yk]基于AFFKF算法设计状态估计器,然后基于系统输出估计值[yk]和系统输出实际值[yk]之间的残差实现攻击检测。
2.1 状态估计器设计
根据KF算法,状态估计器的设计如下:
[xk|k-1=Axk-1|k-1+Buk] (9)
[εk=yk-Hxk|k-1] (10)
[Pk|k-1=APk-1|k-1AT+Q(k)] (11)
[Kk=Pk|k-1HTHPk|k-1HT+R(k)] (12)
[xk|k=xk|k-1+Kkεk] (13)
[Pk|k=I-KkHPk|k-1] (14)
式(9)-式(14)中:[xk|k-1]为当前时刻的先验状态估计值,[xk-1|k-1]为上一时刻的后验状态估计值,[εk]表示当前时刻的新息向量,[Pk|k-1]为当前时刻的先验状态误差协方差矩阵,[Pk-1|k-1]为上一时刻的后验状态误差协方差矩阵,[Kk]表示当前时刻的卡尔曼增益,[xk|k]为当前时刻的后验状态估计值,[Pk|k]为当前时刻的后验状态误差协方差矩阵。
AFFKF算法与KF算法的区别在于式(11)中引入了自适应渐消因子[ηk],故式(11)可以改写为:
[Pk|k-1=η(k)APk-1|k-1AT+Q(k)]
(15)
对于任意增益[Kk],新息协方差可表示为:
[μ0k=EεkεkT=HPk|k-1HT+R(k)](16)
故新息自协方差可表示为:
[μfk=E[ε(k+f)ε(k)T]] (17)
式(17)中: [εk+f]表示第[k+f]时刻的新息向量,f为正整数;当使用最佳增益[Kk]时,不同时刻的新息向量之间不相关,即[μfk=0],此时有以下等式成立:
[Pk|k-1HT-Kkμ0k=0] (18)
式(18)中:新息向量协方差估计[μ0k]基于渐消记忆指数得到,通过引入指数加权机制,对当前时刻的新息向量赋予更高权重,从而有效提升整体估计的精确度,计算方法如下所示:
[μ0k=dkεkεkT+1-dkμ0k-1dk=1-b1-bk](19)
式(19)中:[b]为遗忘因子,一般取值在[0.70~0.95]之间。
结合式(10)、式(16)和式(19)可得到渐消因子[ηk]的计算式:
[ηk=max1,trNktrMk] (20)
[Nk=μ0k-HQHT-R(k)] (21)
[Mk=HAPk|k-1ATHT] (22)
2.2 检测器设计
当系统受到攻击时,估计值[yk|k]与系统实际输出值[yk]之间的残差出现显著的偏差;如果CPPS保持安全运行,则有[yk|k≈yk]。欧几里得距离通过计算估计值与实际输出值之间欧氏距离的大小来反映两者之间的相似程度,是常用的相似性检验方法之一,定义[k]时刻[rk]的欧几里得距离为[γk]:
[γk=rk2=i=1nyik-yik|k]
(23)
则基于欧几里得距离的残差检验函数为:
[ξyk,yk|k=rk2yk2yk|k2] (24)
基于无攻击时[ξyk,yk|k]的值设置阈值,并记为[ρ],然后根据以下规则检测系统中是否存在攻击:
[ξyk,yk|k<ρ,不存在攻击ξyk,yk|k≥ρ,存在攻击] (25)
3 仿真算例
3.1 算例基本描述
本文将在3机6总线的电力系统中验证所提出的D-LAA攻击模型和攻击检测模型,对于所有负载总线[li]设置[PLi,pu=1],假设CPPS中的最大负载功率是[PL,maxpu]=2,同时发电机的标称转子角频率为60 Hz,离散系统的采样时间设置为[T=0.001 s]。电力系统中发电机的各项参数参考文献[12],电力系统和滤波器的初始值设置如下:
[x0=][-0.045;-0.058;-0.070; 0.000;
0.080; 0.010];
[x0|0=][-0.045;-0.058;-0.070; 0.000;
0.080; 0.010];
[P0|0=0.100.000.000.000.000.000.000.150.000.000.000.000.000.000.200.000.000.000.000.000.000.400.000.000.000.000.000.000.300.000.000.000.000.000.000.50];
[μ0=0];
[Q(0)=]
[0.005 80.007 90.009 10.000 5-0.005 50.002 20.007 90.009 50.010 8-0.000 2-0.008 00.001 90.009 10.010 80.012 3-0.001 0-0.010 30.001 70.000 5-0.000 2-0.001 00.004 70.008 70.003 6-0.005 5-0.008 0-0.010 30.008 70.022 00.004 90.002 20.001 90.001 70.003 60.004 90.003 2];
[R(0)=303030303030303030303030303030303030303030303030303030303030303030303030]。
系统正常运行时系统输出估计值[yk|k]与系统输出实际值[yk]之间的残差函数值在0.002~0.016之间波动,故攻击检测阈值设置为[ρ=0.04]。
3.2 CPPS中的闭环D-LAA
从攻击者视角分析闭环D-LAA对CPPS稳定运行产生的影响,比较PI控制器和P控制器形式下闭环D-LAA的攻击效果。
假设[l4]是CPPS中容易遭受攻击的脆弱负载,在第2 s向[l4]注入闭环D-LAA,并考虑以窃电为目的和以发电机卸载为目的两种场景,系统转子角频率通过传感器总线[s=1]获得。
场景1:以窃电为目的
该场景中攻击参数[KLP,41=5],[KLI,41=5],[fL4=0.2]。图2是D-LAA攻击下系统负载功率和发电机转子角频率偏差变化。
如图2(a)所示,D-LAA使系统内负载[l4]的功率瞬间攀升至峰值,一段时间后负载功率波动逐渐减小并恢复稳定。攻击导致系统产生了额外的有功功率,存在窃电行为,造成了电网资源的浪费。图2(b)中D-LAA使发电机转子角频率出现较大的偏差,但得益于CPPS本身的保护机制和恢复能力,很快恢复了稳定。
P控制器和PI控制器下D-LAA造成的受害负载功率变化最大值和发电机转子角频率偏差最大值如表1所示。另外,从图2(a)中可以发现,当负载功率恢复稳定后,P控制器下D-LAA造成的受害负载功率明显小于PI控制器下D-LAA造成的受害负载功率。这是因为当CPPS受到P控制器下的D-LAA时,系统只受攻击产生的功耗的影响,而受到PI控制器下的D-LAA时,电网在恢复稳定后还会持续受之前攻击的影响。
表1 P控制器和PI控制器下的D-LAA参数对比
Table 1 Comparison of D-LAA parameters under
P-controller and PI-controller
[控制器类型 [PL,max4,pu] [ωmax1,pu] [ωmax2,pu] [ωmax3,pu] P控制器 1.282 0.928 0.769 0.404 PI控制器 1.599 2.064 1.742 0.910 ]
场景2:以发电机卸载为目的
该场景中攻击参数[KLP,41=10],[KLI,41=2],[fL4=0.1]。图3是D-LAA下系统的负载功率和发电机转子角频率偏差变化。
如图3(a)所示,以发电机卸载为目的的D-LAA使受攻击负载的功率逐渐增大至最大值,而场景1中受害负载的功率则在攻击瞬间突然增至最大。由图3(b)可知,以发电机卸载为目的的D-LAA使发电机的转子角频率偏差逐渐增大并达到其阈值。当D-LAA以P控制器的形式注入电网时,第1台发电机的转子角频率偏差在[t=4.584 s]时达到其阈值[ωthpu=0.083],从而导致发电机上的过频继电器跳闸,最终使总线1上的发电机卸载。然而,当D-LAA以PI控制器的形式注入电网时,时间被提前至[3.821 s]。由于攻击者以总线1上的发电机转子角频率作为反馈实施攻击,故总线1上的发电机被卸载后,攻击引起的受害负载功率和发电机转子角频率偏差波动立即消失。
由上述两个场景的仿真结果及分析可知,PI控制器下的D-LAA能造成更大的负载功率波动和发电机转子角频率偏差,且能在更短的时间内实现攻击。因此,后续主要对PI控制器下的D-LAA进行检测。
3.3 CPPS中的闭环D-LAA检测
从防御者视角,在上述两个场景中验证本文所提攻击检测方法的有效性。
场景1:以窃电为目的
图4(a)是发电机转子角频率偏差的测量值和在改进AFFKF下的估计值,可以看出改进AFFKF对大部分测量噪声进行了过滤。从图4(b)可以看出,攻击前发电机转子角频率偏差的估计值与真实值几乎相等,而当攻击发生后,估计值与真实值出现明显偏差。图4(c)是以窃电为目的的攻击检测结果,可以明显观察到在[t=2 s]时攻击者向系统注入了攻击信号,[t=2.002 s]时残差检测函数值突然上升并超过阈值,在[t=2.125 s]时达到峰值,在[t=3 s]后趋于稳定,且明显高于攻击发生前,这表明系统此时仍在受攻击的影响。此外,零时刻函数值出现大幅度上升是由于滤波器初始设置所引起,并不反映真实的攻击事件,通常被认为是正常现象。
<G:\武汉工程大学\2026\第2期\张艾玲-4-2.tif><G:\武汉工程大学\2026\第2期\张艾玲-4-1.tif>[0 1 2 3 4 5
k / s][[ωi],pu][0.04
0.02
0.00
-0.02
-0.04][[ω1]的测量值
[ω2]的测量值
[ω3]的测量值
][(a)][0 1 2 3 4 5
k / s][(b)][[ω1]的估计值
[ω2]的估计值
[ω3]的估计值
][[ωi],pu][0.04
0.02
0.00
-0.02
-0.04][[ω1]的真实值
[ω2]的真实值
[ω3]的真实值
][[ω1]的估计值
[ω2]的估计值
[ω3]的估计值
][0.20
0.16
0.12
0.08
0.04
0.00]<G:\武汉工程大学\2026\第2期\张艾玲-4-3.tif>[0 1 2 3 4 5
k / s][(c)][3.0 3.5 4.0 4.5][0.000 15
0.000 05
-0.000 05][2.00 2.15][-0.020
-0.025
-0.030
-0.035][1.95 2.00][0.000 2
-0.000 0
-0.000 2] 图4 以窃电为目的的D-LAA检测:(a)发电机转子角频率偏差测量值与估计值,(b)发电机转子角频率偏差真实值与估计值,(c)攻击检测结果
Fig. 4 Detection of electricity-theft-oriented D-LAA:
(a) measured vs. estimated rotor angular frequency deviation of generators, (b)true vs. estimated rotor angular frequency deviation of generators, (c) attack detection result
场景2:以发电机卸载为目的
图5(a)-图5(c)分别是以发电机卸载为目的的D-LAA下[ω1]、[ω2]和[ω3]的状态估计值,可以看出,与文献[18]中的算法相比,本文所提的改进AFFKF算法在系统被攻击时具有更高的估计精度。另外,在第1台发电机被卸载的瞬间,相较于文献[18]中的算法,[ω2]和[ω3]在改进AFFKF算法下的状态估计值会明显增大,即对异常信号更加敏感。从图5(d)中可以看到在[t=2 s]时残差函数开始出现波动并超过阈值,然后在[t=3.821 s]时突然上升,随后立刻下降并趋于0,由此可知攻击者是利用了被卸载的发电机实施的攻击,即攻击者在第1台发电机的总线上安装了传感器。
4 结 论
本文围绕CPPS安全问题展开研究,提出基于PI控制器的D-LAA模型,使电网产生更大的功率波动和角频率偏移,在更短的时间内实现攻击;提出基于新息协方差估计值的AFFKF,其中新息协方差估计值由渐消记忆指数加权计算得到,显著提高了状态估计器的估计精度和面对信号突变时的敏感度;提出欧几里得距离和残差函数相结合的检验方法,不仅能及时检测到D-LAA,还能对攻击造成的影响进行持续监控。