王新宇,王相杰,张明月,程朋飞,王书征
(1.燕山大学,河北 秦皇岛 066004;2.徐州工程学院,江苏 徐州 221018;3.江苏省配电网智能技术与装备协同创新中心,南京 210000)
作为新一代电力系统,智能电网通过信息物理系统的融合实现了电网的高效运行[1-2]。同时,智能电网新的特性(如智能性和开放性)使其面临潜在的信息物理安全风险。通过篡改信息系统数据,新型信息物理攻击可以掩盖物理系统的动态变化,进而造成电网系统瘫痪[3-4],例如:2016年,以色列电网遭受网络攻击,导致全国电力系统瘫痪,对国民生活造成巨大影响;2022年,欧洲卫星通信中心遭受网络攻击,导致中欧和东欧风力发电网失控。因此,如何确保新型信息物理安全风险下智能电网的安全稳定运行是重要的研究课题。
传统的电网信息攻击包括拒绝服务攻击和蠕虫攻击,主要是通过阻断通信信道传输数据来破坏电网的运行状态[5]。与之对比,Liu等人在2009年设计了一种具有欺骗特性的虚假数据攻击,其可以欺骗现有基于卡方检测器的异常数据检测机制[6]。
目前,针对虚假数据攻击的检测方法可以分为两类:基于模型的攻击检测和基于人工智能的攻击检测[7]。基于模型的攻击检测方法是通过建立线性和非线性电网模型,设计卡尔曼滤波器或观测器来获得攻击下的状态残差变化,从而判断电网系统是否存在攻击[8-10]。文献[8]提出了一种基于改进的无迹卡尔曼滤波器的虚假数据攻击检测算法。文献[9]通过扩展卡尔曼滤波对电网系统运行状态进行估计和预测,从而实现电网系统异常虚假数据的检测。考虑电网系统噪声未知情况,文献[10]结合中心极限定理,给出了基于自适应无迹卡尔曼滤波的虚假数据攻击检测策略。以上检测方法可以有效检测异常虚假数据,但其检测阈值的先验设定限制了攻击的检测性能。
基于人工智能的攻击检测方法借助人工智能算法开展电网系统中异常数据的检测[11-13]。针对线性和非线性电网模型,文献[11]提出了基于数据驱动的异常数据检测算法。通过引入随机森林的识别能力,文献[12]提出了基于生成对抗网络的虚假数据攻击检测方法。针对异常数据检测系统检测率不高的问题,文献[13]提出了基于人工免疫分类器的异常数据检测方法。
在上述研究的基础上,本文提出基于IAIGA(改进自适应免疫遗传算法)的虚假数据攻击检测方法。首先分析虚假数据攻击的特性,设计基于抗体之间的相似度指数异常数据检测器;引入选择、交叉、变异算子的自适应设计,提高IGA(免疫遗传算法)收敛速度和全局寻优能力,进而提高对虚假数据的检测率。最后,通过仿真算例验证所提检测算法对于虚假数据的检测性能。
图1为IEEE 3电机6总线电网系统,通过PMU(电源管理单元)可以测量每条总线与对应电机的电压幅值。图1中,b1—b6为电机负载总线,G1—G3为发电机,U1和U2为电机负载总线量测电压。
图1 IEEE 3电机6总线电网系统Fig.1 IEEE 3-generator 6-bus grid system
根据文献[14],三相电压测量电网模型为:
式中:xk和yk为第k时刻电压的状态估计和输出;vk和wk为第k时刻的过程和测量噪声,且满足高斯噪声分布;H为雅可比矩阵;A为系统结构矩阵。
目前,电力系统中常用的基于卡方检测器的异常数据检测准则如下[15]:
式中:rk为检测残差;zk为输出量测值;I为先验阈值;为输出量估计值。
针对以上检测方法,攻击者可以设计错误数据s=(s1,s2,…,sm)T,其满足s=Hc约束(c为由攻击引起的状态变化量)[14]。综上,攻击下的检测残差表示为:
式中:为攻击下的输出量估计值。
假设攻击者对图1中发电机G1注入虚假数据攻击(攻击序列参考文献[14]),可以得到攻击下的状态变化和攻击检测结果,如图2和图3所示。
图2 虚假数据攻击下系统状态电压变化Fig.2 Change of voltage state under false data attack
图3 基于卡方检测器的虚假数据攻击检测Fig.3 Detection of false data attack under chi-square detection
综上可知,新型的虚假数据攻击可以欺骗基于卡方检测器的检测方法。因此,本文借助人工智能技术,提出基于IAIGA的虚假数据攻击检测方法。
通过模拟生物免疫系统功能与原理,学者们提出了IGA[13]。IGA通过引入抗体之间的相似度对遗传算法选择操作进行改进,可以保持种群的多样性,进而提高算法的收敛速度及全局寻优能力。IGA运算流程如图4所示。
图4 IGA运算流程Fig.4 Operation flow of IGA
基于IGA的虚假数据攻击检测原理如下:
1)输入正常数据(抗原)进行编码产生种群,并学习记忆。
2)设计抗体之间的亲和度函数:
式中:φ(xi,xj)为抗体xi和xj间亲和度;xi,l和xj,l分别为抗体xi和xj的第l维;N为抗体种群编码总数。
3)输入抗原(异常或虚假数据)对抗体进行刺激,使其进行免疫操作(选择、克隆、交叉、变异等),记录输入抗原的数据特征,形成异常数据检测器。
4)针对新的抗原,异常数据检测器可以根据抗体之间的相似度来检测是否输入抗原(新的数据)异常情况,其中抗体浓度、抗体之间相似度以及抗体激励度函数计算公式为:
式中:ζ为抗体之间的相似度阈值;L为当前迭代次数,Lmax为最大迭代次数;γ(xi)为抗体浓度;η(xi,xj)为抗体之间相似度;ψ(xi)为抗体激励度函数。
选择、交叉、变异算子是影响IGA收敛速度和寻优能力的关键指标。因此,本文设计了自适应选择算子、自适应交叉算子、适应变异算子,提出IAIGA,以解决现有IGA收敛速度不快和陷入局部最优的问题。
自适应选择算子Ps、自适应交叉算子Pc、自适应变异算子Pm的表达式分别为:
式中:βi(i=1,2,3,4)为计算系数,0<βi<1;φavg(xi,xj)为抗体xi和xj平均亲和度。
通过自适应选择算子、自适应交叉算子、自适应变异算子的设计,可以使种群基因充分交互,加快收敛速度,快速找到全局最优解。
基于2.1节的IAIGA,本文提出了针对电网中虚假数据攻击的检测流程。参考文献[16],设定检测器的适应度函数检测阈值Γmax=10。具体检测流程如下:
1)输入运行中的电网运行电压数据(记为抗体)。
2)设计虚假数据攻击序列(记为抗原),产生异常数据检测器(数量为M)。
3)进行免疫操作,使产生的异常检测器成熟达到攻击检测要求。
4)计算抗体之间最佳亲和度函数值φ(xi,xj)。
5)ifφ(xi,xj)<Γmaxthen停止进化,输出异常数据检测器编码。
else重复步骤1—5。
end if
6)输入待检数据,通过比较异常数据检测器的相似度指数来判断异常(异常数量记为S)。
7)输出检测结果:异常攻击检测概率MS×100%。
假设攻击者具备一定的黑客能力,即能获取部分真实的PMU测量数据,可以设计具有隐蔽性(如式(3))的虚假数据,进而修改PMU的测量数据来欺骗电力系统的检测系统。采用本文所提的基于IAIGA的检测方法检测PMU中异常数据(部分数据来自文献[17])。计算机配置为Intel(R)Core(TM) i7-10875H CPU@2.30 GHz处理器,16 GB内存。使用MATLAB搭载仿真算例环境,算法仿真参数设置如表1所示。
表1 参数设置Table 1 Parameter setting
为了验证IAIGA的优越性,选择Generalized Rastrigin基函数作为测试对象,并与文献[18-19]中的IGA和AIGA(自适应免疫遗传算法)对比,结果如图5所示。在3种不同算法下,随着迭代次数的增加,测试函数最佳适应度值不断下降。IGA在120次迭代内达到稳定值,对比AIGA和IAIGA,其适应度值寻优不是最佳。对比AIGA,IAIGA可以很快地寻优而不陷入局部最优。此外,IGA和AIGA的收敛速度均小于IAIGA的收敛速度。
图5 测试基函数下不同算法的优化过程对比Fig.5 Comparison of optimization processes of different algorithms under test basis function
为验证算法的检测性能,本文引入文献[20]中的指标“真”“假”参数,如表2所示。
表2 指标“真”“假”参数Table 2 “True" and "false" parameters of the index
基于表2,以检测率RTP和误检率RFP为性能指标,其计算公式为:
式中:NTP为采样数据中真阳性样本数;NFN为采样数据中假阴性样本数;NFP为采样数据中假阳性样本数;NTN为采样数据中真阴性样本数。
针对同一数据样本,分别采用基于IGA、AIGA、IAIGA的检测方法对虚假数据进行检测。考虑经过免疫操作(交叉和变异)的概率性,本实验设计了3组检测虚假数据的攻击检测,统计3组的平均检测率和误检率。检测结果如表3—5所示。
表3 基于IGA的虚假数据检测结果对比Table 3 Comparison of IGA-based false data detection results
表4 基于AIGA的虚假数据检测结果对比Table 4 Comparison of AIGA-based false data detection results
表5 基于IAIGA的虚假数据检测结果对比Table 5 Comparison of IAIGA-based false data detection results
综上,可以得到平均检测率RTPV和平均误检率RFPV,如表6所示。
表6 基于IGA、AIGA、IAIGA的虚假数据检测结果对比Table 6 Comparison of false data detection results based on IGA,AIGA and IAIGA
由表6可知:本文所提的基于IAIGA的检测方法可以有效检测注入的虚假数据攻击;基于IGA的检测率最低,误检率最高;本文所提的基于IAIGA的方法检测率最高,误检率最低。
综上,通过引入选择、交叉、变异算子的自适应设计,可以提高IGA收敛速度和全局寻优能力,改善对于虚假数据的检测性能,即提高检测率和降低误检率。
本文提出基于IAIGA的虚假数据攻击检测方法,基于抗体之间的相似度判断电网系统数据是否异常,并设计自适应选择算子、自适应交叉算子、自适应变异算子来提高IGA收敛速度和全局寻优能力,进而提高虚假数据检测率和降低误报率。
本文所提检测方法仅考虑了一种异常虚假数据的情况,而实际电网可能遭遇多种混合攻击。因此,未来需要考虑引入多类虚假数据分类器来判断更为复杂的异常虚假数据。