来源:《中国电力》2024年第9期
引文:陶磊, 罗萍萍, 林济铿. 基于深度学习的直流微电网虚假数据注入攻击二阶段检测方法[J]. 中国电力, 2024, 57(9): 11-19.
微电网由分布式电源、储能装置和各类负载组成。近年来,直流微电网受到广泛的关注。相较于交流微电网,直流微电网有着更高的效率和可靠性,因此对于直流微电网的研究越来越多。直流微电网在孤岛运行下主要分为集中式控制和分布式控制。集中式控制需要一个强大的中央控制器维系系统运转,存在成本高、单点故障率高的缺点,因此目前大多数直流微电网采用分布式控制。分布式控制通过构建一种引入邻居通信策略的二次控制器,实现分布式电源的电流分配。《中国电力》2024年第9期刊发了陶磊等撰写的《基于深度学习的直流微电网虚假数据注入攻击二阶段检测方法》一文。文章提出了一种基于卷积神经网络和长短期记忆(convolutional neural network and long short-term memory,CNN- LSTM)融合最大互信息数(maximum information coefficient,MIC)校验器的检测模型以识别虚假数据,搭建直流微电网Matlab模型进行分析,结果表明,本文所使用的检测模型能有效发现并剔除系统中存在的虚假数据,相较于BP和LSTM检测模型有更高的精度和更低的误判率,相较于模型驱动的检测方法,能应对更为复杂的虚假数据注入攻击。
直流微电网是一个网络物理信息系统,在信息传递的过程中容易遭受网络攻击的影响。虚假数据注入信息通道会影响微电网的系统安全。检测并修正虚假数据注入攻击,能够提升微电网系统运行的安全性。针对这一问题,提出了一种基于卷积神经网络(convolutional neural network,CNN)和长短期记忆网络(long short-term memory,LSTM)联合最大互信息系数(maximum information coefficient,MIC)的二阶段虚假数据注入攻击检测方法。首先,使用CNN从直流微电网运行的时序数列中提取时序特征,运用LSTM模型结合CNN提取的时序特征运行得到直流微电网运行状态预测值,与直流微电网运行的实际值对比,初步判断系统中是否存在虚假数据;其次,考虑到CNN-LSTM模型存在一定的误报率,构建MIC校验器,进一步判断系统中是否存在虚假数据并恢复;最后,通过直流微电网Matlab仿真分析,验证了所提方法的合理性和可行性。本文考虑的直流微电网包含m个分布式发电单元(DG)和n个负载,它们通过并联的方式连接在直流母线上,并且通过下垂控制和二次控制维持系统的稳定。图1展示了本文研究的直流微电网的一般网络物理信息系统。
Fig.1 Control model of DC microgrid
为确保直流微电网的稳定运行,通常采用下垂控制实现各个DG间的电流分配。由下垂控制方程得到参考电压Uref为
式中:为第i个DG的输出电压;ki为第i台变换器的下垂系数;Ii为第i个DG的输出电流。下垂控制中,电流的分配精度只与下垂系数相关,下垂系数越高,电流分配精度越高;然而,当下垂精度大时,母线电压的偏差就会很大,因此需要选择合适的下垂精度,在确保电流分配精度的同时,减小电压偏差。为了改善下垂控制中出现的电压偏差,研究者提出在直流微电网中加入二次控制修正下垂曲线。图1展示了直流微电网二次控制的应用模型。为了处理局部电压参考并维持每个转换器的输出电压,在一次控制的电压中加入二次控制信号,即式中:Vb为母线电压;V∗为基准电压;Ri为传输线阻抗;ui是第i个DG的二次控制信号。由上述分析可知,二次控制的目标是将下垂控制后的母线电压恢复至参考值且确保电流分配精度。定义母线电压误差eV和控制输入一致性误差eu为式中:Ni表示第i个二级控制器的领域集;uj为第j个DG的二次控制信号。式中:Kp和KI分别为第i个DG的PI控制器的系数;ei代表组合误差。该分布式二次控制既解决了电压偏差也满足了电流分配精度,即在各个DG单元信息交互传输过程中,信息极易受到虚假数据的攻击,系统二次控制收到邻居间的信息存在虚假数据时,会导致系统无法完成相应的控制目标,这会对直流微电网稳定运行造成严重破坏。针对上述问题,如何实时检测并剔除系统信息传输过程中可能出现的虚假数据是本文的研究重点。针对直流微电网的攻击通常是DoS攻击和FDIA,FDIA相较于DoS攻击而言有着更高的隐蔽性和破坏性。本文对FDIA进行更深入的讨论。在微电网中,当攻击者通过通信通道对系统注入虚假数据时,会导致信息层发出错误指令,造成控制系统紊乱,对整个微电网网络的稳定造成严重影响。虚假数据信号注入表现形式以叠加的方式注入邻居间的信息传输通道中,因此控制器遭受FDIA时,微电网受攻击模型可以表示为式中:为受到攻击后的传输信号值;λj为虚假数据。二次控制的目的是为了将PI控制器的输入收敛至参考值Uref,在受到攻击后,PI控制器输入为此时有假设攻击信号λj一阶导数有界,即||λj||⩽dj,且dj∈R+,可以得出显然,若将二次控制信号加入下垂控制,攻击者通过注入攻击值λj,使得Uref无法收敛至参考值,导致目标式(7)(8)无法实现,也就是说,当系统中存在FDIA时,会影响系统运行时电流和电压的稳定,对微电网安全运行产生极大的威胁。
CNN是一种深度学习模型,采用局部连接和共享权值的方式,直接从原始数据中通过卷积层和池化层交替使用来获取有效表征,自动提取数据的局部特征,并建立特征向量。本文使用CNN模型提取数据特征值。LSTM在隐藏层中加入记忆单元控制时间序列数据的记忆信息。信息在隐藏层的不同细胞之间通过几个可控的门(遗忘门、输入门、输出门)传递,从而可以控制前一信息和当前信息的记忆和遗忘程度。LSTM具有长期记忆功能,可以避免梯度消失问题。本文检测模型所使用的数据从仿真的微电网运行中获得,其中负荷在不断变化,此时收集数据的时间为15 s,采样的时间为5 ms,可以得到3000组数据,其中80%为训练集,20%为测试集,所要预测的目标为下一时刻的各DG单元的电流电压值。本文的CNN-LSTM输入数据为多元时间序列,采用滑动窗口的方式将多元时间序列依次输入,滑动窗口的宽度设置为20条记录,步长设置为1,输入的特征如图2所示。图2中t为时间尺度,T为每5 ms中的采样时刻,T+n为T时刻后第n个5 ms的时刻。
Fig.2 Input data structure of CNN-LSTM network model
本文所提出的CNN-LSTM网络模型结构如图3所示。2个卷积核的数目分别为16和32,池化层池的大小为2×1,dropout大小为0.2。2层LSTM神经元个数为16、32。最后通过全连接层输出指定格式向量,即下一时刻的电流和电流值。
Fig.3 Flow chart of CNN-LSTM detection model
直流微电网网络层遭受虚假数据注入攻击时,改变了直流微电网电流分配比例和电压的稳定,而直流微电网负荷变化也会同时改变直流微电网电压和电流的变化。如何区别是由正常系统变化引起的还是由FDIA引起的电压电流变化是检测模块所需要完成的任务。MIC是衡量2个变量间关系相关性的一种方法。当系统中存在虚假数据时,系统中的相关变量之间的相关性会在一定程度上解耦,因此可用MIC方法判断系统中是否存在虚假数据。首先,将式(5)(6)代入式(2)可得
通过式(14)判定线路是否存在虚假数据的基本思想是:给定集合D(X,Y)={(xi,yi),i=1,2,⋯,n},其中n为样本数量,假设将坐标轴划分为x行y列的网格R,将给定的集合D分布在网格中,通过散点图来表示,获得相应的概率分布D|G。此时对于数据集D,特征X, Y的MIC计算公式为式中:B(n)为网络规格约束,通常设置为n0.6;I[X,Y]为特征X, Y之间的互信息。式中:p(X,Y)为特征X,Y之间的联合概率;P(X)、P(Y)分别为特征X、Y的概率。此时可以得到MIC的值,值的范围在[0, 1],越接近1表明变量之间的相关性越强。此时,使用训练好的模型计算正常和攻击状态下线路电流和母线电压误差之间的相关性,得到典型的相关性数值,用于后续对FDIA的校验。基于CNN-LSTM联合MIC的二阶段检测机制如图4所示。离线训练时,选取正常运行状态下的微电网历史运行数据集x⊆Dtrain,CNN-LSTM检测模型通过训练拟合得到准确的预测值;与此同时,该历史数据集计算MIC校验器正常运行状态下电流与电压误差之间的相关性,得到相关性数值,用以后续FDIA检验。测试时,首先将直流微电网运行时的量测值传输至CNN-LSTM检测模型中,当实际运行值与预测值相匹配时,检测系统正常运转不动作,输出为0代表正常状态;在二者间存在误差大于设定阈值时,输出为1,代表受到网络攻击状态。由于直流微电网负荷波动会导致系统运行状态发生改变,导致CNN-LSTM检测模型将其错误判别为异常值,需要继续使用MIC校验器检验是否存在FDIA,此时若存在FDIA,线路电流和母线电压误差之间的相关度会大幅降低,这是因为FDIA篡改了信息传输过程中的电压或者电流,但由于数据不是自然变化,此时二者之间的关系受到破坏,导致系统控制紊乱,MIC对于此类数据变化极为敏感。
图4 基于CNN-LSTM联合MIC二阶段FDIA检测机制
Fig.4 Two-stage FDIA detection mechanism based on CNN-LSTM combined with MIC
针对直流微电网受到FDIA时,基于神经网络模型,将注入的虚假数据值λj剔除,使用正确的传输值uj(t)作为二次控制信号的输入。基于以上策略,本文首先通过神经网络估计ui(t)的值,并将所得到的估计值作为二次控制收到信号的参考值。修正模型由神经网络、PI控制器和输出组成。图5展现了本文的神经网络检测模型的构架。在图5中,使用神经网络来估计uj的实际值,使用PI控制器将输入收敛到神经网络的输出。若PI控制器的输出命名为μ(t),则PI控制器的输入为
Fig.5 False data correction model
式中:θ(t)是PI控制器的输入,经过PI控制器收敛到此时假设神经网络可以得到正确的估计值即可以得到采用神经网络对直流母线的电压值进行估计。当检测模型认为通信通道中存在虚假数据,为了消除虚假数据的影响,使用神经网络的估计值代替Ui,直到检测模型确认虚假数据已被系统剔除,微电网恢复正常运行。基于所提出的虚假数据检测模型,作为估计器的神经网络模型有重要的作用,需要估计值与系统当前运行状态下的Ui误差很小。
基于Matlab/Simulink平台构建了图1所示的直流微电网模型,模型由4个DG组成,每个DG都为一个300 V的直流电压源,直流母线的参考电压为370 V,模型参数为R1=0.4Ω,R2=0.6Ω,R3=0.3Ω,R4=0.5Ω。本文在模拟微电网遭遇FDIA时,假设攻击者可以操控传输数据对微电网发动攻击。本文考虑3种测试场景。在场景1中,改变直流微电网的负载,通过比较直流微电网真实运行状态和检测模型估计值,验证负荷不断变化情况下,模型预测的准确性。直流微电网在正常状态下运行,在t=0s时处于稳态,在t=1.5s时接入负载,仿真结果如图6所示。由图6可以看出,在直流微电网正常运行时,预测值和真实值之间的误差为0,当微电网中存在负荷变化时,出现了极小的估计误差,此时估计误差的值小于0.5且经过短暂的时间后,误差重新收敛为0,结果表明,文中所提出的深度学习检测模型能够准确预测出直流微电网正常运行时的电流、电压值。
Fig.6 The current and voltage value of DC microgrid with load added
在场景2中,对直流微电网信息传输通道加入固定值的虚假数据和时变的虚假数据,对比加入检测模型的直流微电网和不加入模型的直流微电网验证检测模型的有效性。直流微电网在正常的状态下运行,在t=0s时处于稳态,在t=1s时对直流微电网DG2注入λ=−20的虚假数据,在t=2s时在第一次攻击的基础上在DG4注入攻击为λ=20sin2πt,结果如图7所示。由图7 a)可以看出,在加入虚假数据后,母线电压在二次控制的作用下发生了改变,但是在很短的时间内恢复平稳运行。由图7 b)可以看出,t=2s时,只有DG2受到攻击时,可以消除攻击信号对系统的不利影响,但是当攻击信号的幅度和数量增加时,这些攻击信号不能被完全抑制,导致系统中出现较大的波动。图7 c)中的母线电压和电流由于虚假数据的存在,控制系统受到虚假数据的影响最终导致失控。结果表明当直流微电网受攻击后,检测模型能够检测出虚假数据的存在且能够快速响应消除存在的虚假数据。
Fig.7 The voltage and current value of DC microgrid after adding false data
场景3是为了证明在负荷不断变化的情况下,注入虚假数据后,检测模型能够快速准确检测出虚假数据并排除虚假数据的影响。系统开始时稳定运行,在t=1s时添加负荷,在t=2.5s时对DG3传输通道加入λ=15的虚假数据,在t=4s时将虚假数据改为λ=10sin2πt−10并减少负荷,结果如表1和图8所示。
Table 1 The MIC value before and after the attackFig.8 The voltage and current value of DC microgrid
如表1所示,当系统正常运行和负荷变化时,MIC值在0.8~1的区间内,当系统中存在虚假数据时,MIC的值低于0.5。可以看出负荷变化对于MIC校验器影响很小,而存在虚假数据时,变量间的关系受到破坏,MIC校验器对于变量间微小的变化极为敏感。由图8可以看出,当发生负荷变化时,直流微电网正常运行,检测模型不动作;当注入了虚假数据后,检测模型可以迅速响应,使微电网运行不受到虚假数据的影响。使用MIC方法分别测试在负荷变化时和虚假数据注入攻击时,线路电流和母线电压之间的相关性,通过实验证明MIC模型的鉴别能力。首先将负荷设置为不断发生改变的状态,在t=1s时对DG3传输通道加入λ=10的虚假数据。DG3受到攻击前后1 s的电流值和母线电压误差值如图9所示。图9 a)中通过式(15)可以计算得到MIC的值为0.85,图9 b)中通过式(15)可以计算得到MIC的值为0.08。可见MIC模型对于系统中存在的虚假数据有着很高的灵敏度,由此可得,当系统中存在虚假数据时,线路电流和母线电压误差之间的相关性会受到破坏。
Fig.9 Line current and bus voltage errors before and after the attack
使用4个指标来评价检测模型的效果:准确率A表示被正确分类的比例;精确率P表示被预测为异常的样本中预测正确的比例;召回率R表示异常样本中预测正确的比例;F值表示精确率与召回率的调和平均值。式中:σTP、σTN分别表示正确分类的正、负样本;σFN表示错误分类为负的正样本;σFP表示错误分类为正的负样本。本文使用文献[23]中的虚假数据生成方法,模拟了直流微电网不同类型的虚假数据注入攻击和正常运行状态,使用自编码器生成类似的场景,通过Bootstrap模型分类不同类型的样本集,并从样本集中随机采样实例来完成本文的检测实验。为了清晰反映本文所使用的检测模型的性能,测试集中存在1343个虚假数据样本和1078个正常运行样本,根据评价指标,不同模型的结果如表2所示。可以看出本文所使用的检测模型对于正常样本的误报率最低,存在虚假数据时,检测率更高。
Table 2 Test results of different models直流微电网使用信息网络传递控制信号时容易遭受网络攻击,为此,本文提出了一种检测和修正直流微电网FDIA的防御策略。该方法利用CNN-LSTM网络估计直流微电网中所有发电单元的直流电压和直流输出电流。当直流微电网中不存在FDIA时,检测模型不动作,但当攻击者试图向直流微电网系统中注入虚假数据时,估计器所得到的估计值和系统运行的真实值会产生较大的偏差,此时判定系统中可能存在虚假数据,经过MIC校验器确认FDIA的存在。本文通过离线数字时域仿真有效地验证了所提出的检测方法可以成功识别出FDIA且能恢复系统的真实运行状态。本文的方法可以区分微电网正常运行下的负荷变化和FDIA,最大限度降低FDIA的影响。本文所设计的基于直流微电网的虚假数据检测模型能够有效抵御直流电网中FDIA,但研究内容尚处于起步阶段,应用于未来更复杂的直流微电网中还需要更深入的研究。
根据国家版权局最新规定,纸媒、网站、微博、微信公众号转载、摘编《中国电力》编辑部的作品,转载时要包含本微信号名称、二维码等关键信息,在文首注明《中国电力》原创。个人请按本微信原文转发、分享。欢迎大家转载分享。