杨奕贤,郭 力,王洪达,2,李霞林,张 涛,黄生俊,朱 想,王成山
(1. 天津大学 智能电网教育部重点实验室,天津300072;2. 海军勤务学院 供应管理系,天津300450;3. 国防科技大学 系统工程学院 多能源系统智慧互联技术湖南省重点实验室,湖南 长沙410073;4. 中国电力科学研究院(南京),江苏 南京210003)
近年来,直流微电网因具有运行效率高、控制系统相对简单等特点,在电力系统中受到越来越多的关注[1],其运行控制主要包括设备级的一次控制、系统级的二次和三次控制,其中二次控制在电压恢复与均流控制等方面均起着十分关键的作用[2]。相比于传统的集中式二次控制,分布式二次控制仅需交换邻居节点的信息,无中心控制器的设计降低了单点通信故障的影响,具有广阔的应用场景。
基于分布式控制的直流微电网是一种典型的信息物理系统(CPS),其通信方式复杂,链路较多,缺乏中央控制器对整体运行态势的监控,信息安全问题较为突出[3-4]。网络攻击轻则使微电网偏离额定运行点,重则直接造成停电事故,因此研究可快速抵御网络攻击的算法具有重要意义。
目前,针对微电网的网络攻击主要包括虚假数据注入攻击FDIA(False Data Injection Attack)、拒绝服务DoS(Denial of Service)、重放攻击(replay at⁃tack)等,相较于后两者,FDIA 具有较强的隐蔽性[5],成为学术界的研究焦点。FDIA 是指攻击者对微电网的关键运行数据进行恶意篡改,进而造成控制系统紊乱的攻击方式。攻击者可在微电网相关设备(路由器、防火墙、控制器、变流器等)的生产、采购、运行期间利用某种漏洞获得相应设备的权限,进而植入恶意代码,最后寻找合适的时机发动攻击。文献[6]展示了攻击者利用TCP/IP 协议网络层漏洞向光伏逆变器下发虚假数据的过程。同时有研究结果表明,精心设计的虚假数据不会引起控制器产生稳态误差[7],因此FDIA 具有一定的迷惑性,不易被直接检测并消除,防御算法需综合考虑信息层和物理层的运行情况。
目前,已经提出的FDIA 检测算法主要可以分为2 类:第一类是比较邻居节点之间交互的运行状态,第二类是观测本地设备的动态特征。这2 类算法能够检测出异常的通信链路,然后通过剔除不良数据的方式实现虚假数据的消除。在第一类算法中,文献[8]提出了一种基于信任因子的检测算法,并通过降低坏数据通道中拉普拉斯矩阵的权重来缓解FDIA的不利影响;文献[9-10]提出了基于运行状态观测的检测算法,通过事件触发的多层缓解策略对虚假数据进行消除。然而,正常负荷变化时各电源会出现短时的输出不一致,而上述算法无法分辨扰动的来源是负荷变化还是虚假数据,最终将导致微电网的动态响应变慢。这类算法虽在稳态时对FDIA 有一定的缓解作用,但会在一定程度上放大正常负荷变化的扰动,同时FDIA也会对微电网产生较长时间的暂态冲击。第二类算法主要考虑本地设备的动态特性,如文献[11]以交流微电网为背景,针对注入量为常值的FDIA设计了一种防御算法,该算法的作用速度快,但其在直流微电网中的应用还有待研究。
上述2 类算法均依赖微电网模型的建立,然而实际中的线路阻抗及网络拓扑等信息往往难以获取,导致模型的准确性较差。同时出于安全性的考虑,其他设备的关键参数也不会向本地开放[12]。此外,嵌入式微控制器的快速发展也使低成本化地获取海量数据成为可能,考虑微电网正常运行期间的海量运行数据,如何将检测算法和本地数据相结合,对FDIA和负荷变化进行区分,并在不影响原有系统的前提下对FDIA做出快速响应是本文研究的重点。
基于数据驱动的方法,考虑本地设备的动态特性,文献[13]设计了一种新型的微电网二次控制架构,并使用BP神经网络对本地运行情况进行实时检测。文献[14]考虑负荷变化和虚假数据的不同特征,利用循环神经网络RNN(Recurrent Neural Net⁃work)对微电网的运行情况进行估计,并基于估计误差做出判断。然而,上述基于深度学习的算法在训练过程中均需要采集全局信息,同时计算复杂度较高,不利于既有控制器的开发与集成。
为了解决上述问题,本文在定量分析FDIA 对传统分布式控制直流微电网影响的基础上,提出了一种基于数据驱动的FDIA 快速防御策略。该策略充分考虑本地设备的动态特性,利用线性回归的方式对微电网的运行情况进行实时检测,具有计算量少、不依赖于模型、抵御攻击类型丰富等特点;可对微电网内的正常负荷扰动和FDIA进行区分,并以毫秒级的响应速度对虚假数据完成快速检测并将其消除,最大限度地降低FDIA 的影响。理论分析和仿真结果均验证了所提策略的有效性。
直流微电网内大多分布式储能变流器通常采用下垂控制,而间歇性电源采用最大功率点跟踪的方式运行,通常不参与功率调节[1]。以一致性算法为代表的分布式二次控制可实现微电网的电压恢复,同时可解决因线路阻抗引起的下垂单元出力不一致问题[2]。攻击者将虚假数据注入通信链路后,直流微电网将偏离额定运行点,甚至造成系统直接瘫痪。
由N个下垂单元组成的微电网拓扑U可用节点集合V和节点边集E表示,其中V={v1,v2,…,vN}由N个下垂单元节点构成,而E⊆V×V为节点对集合。在E中若存在节点对满足(vi,vj)∈E,即vi和vj之间可以进行数据交换,则邻接矩阵Α=[aij]∈RN×N中的元素aij>0(j∈Ni,Ni为可与vi进行数据交换的节点编号集合),否则aij=0(j∉Ni)。
图1 直流微电网分布式控制架构Fig.1 Distributed control architecture of DC microgrid
直流微电网分布式二次协调控制的输出可表示为[2]:
此时微电网内所有下垂单元的输出电压将恢复至额定值,同时各下垂单元的输出电流标幺值相等。
考虑到存在虚假数据,分布式二次协调控制输出矩阵的频域形式为:
其中,R=diag(Ri)。当某个设备遭受攻击时,由于分布式协调控制的收敛特征,FDIA 将在微电网内逐渐扩散,从而影响微电网的正常运行,具体可总结为定理1(具体证明过程见附录B)。
定理1:若直流微电网受到网络攻击,各下垂单元的电压将无法保证恢复至额定值,且与攻击向量的设计、微电网的参数相关,可定量表示为式(9)。
图2 FDIA对不同数据源的影响Fig.2 Impact of FDIA on different data sources
综上所述,FDIA 对微电网的威胁较大,将导致直流微电网产生一定的偏差,进而影响整个系统的稳定性,因此快速地对虚假数据进行检测并消除其影响将十分重要,同时检测算法还应具有一定的全面性,可以尽可能地抵御多种类型的FDIA。因此,本文将从本地设备的动态特征出发,开发一种可应对上述所有攻击方式的检测算法。
为了消除虚假数据的不利影响,首先需要对虚假数据进行检测,而考虑本地设备动态特性的检测方法可以大幅提升检测速度。设某暂态过程ki可分别得到n个时段的电压微分量ΔVki和电流微分量ΔIki,如式(11)所示。
在微电网正常运行过程中可获得k个暂态过程的数据集合{ΔV1,ΔV2,…,ΔVk}、{ΔI1,ΔI2,…,ΔIk},然后利用同一时刻不同暂态过程的数据生成式(12)和式(13)。
进一步在显著性水平α下对实际运行数据进行检测,如果y落在预测区间[ŷ-δ(x),ŷ+δ(x)](其中δ(x)为预测区间长度[16])内,则认为系统处于正常运行状态;否则,增加不信任计数器ρi,若不信任计数器大于阈值ρth,则将攻击预警标志Φi置1。
在完成虚假数据的检测后,还需进一步降低虚假数据的权重以降低虚假数据的影响,同时避免虚假数据的扩散,重新定义微电网分布式二次协调控制的输入为式(15)。
其中,g(⋅)为采样时间为二次协调控制间隔的一阶保持函数;tdetect为检测到攻击的时刻;tk-1为上一个二次协调控制指令下达的时刻
图3 基于数据驱动的FDIA防御策略Fig.3 FDIA defense strategy based on data-driven
基于MATLAB/Simulink 平台构建了图1 所示的直流微电网。通信网络采用双向环网结构,邻接矩阵见附录D 式(D1)。检测算法参数和线路阻抗等参数见附录D表D1。
无FDIA 时传统基于一致性的直流微电网分布式二次控制算法的仿真结果见图4(图中输出电流为标幺值,后同)。由图可知,使能分布式二次控制后,微电网的电压恢复至额定值,同时也实现了输出均流,此外负荷突增之后仍可达成控制目标。
为不失一般性,设置如附录D 图D1 所示4 种场景进行分析验证。
图4 无FDIA时传统分布式二次控制算法的仿真结果Fig.4 Simulative results of traditional distributed secondary control algorithm without FDIA
场景4:在场景3 的基础上,4 s 时停止注入攻击。
以场景1、4(场景2、3 的分析方法类似,限于篇幅不再展开)为例,在场景1 中,攻击向量的时域形式为K(t)=[0,-0.8u(t-3),0,0]T(u(t)为阶跃响应函数),其频域形式为K(s)=[0,-0.8e-3s/s,0,0]T,X中除x32=a32外,其余元素均为0。根据式(10)进行推导,可得直流电压应下降9.1 V(0.013 p.u.)。场景1的仿真结果见图5(a),其结果与理论分析结果相符,微电网的平均电压约下降至691 V。对于场景4,W中除w41=a41外,其余元素均为0,攻击向量为J=[(0.07e-3s-0.07e-4s)/s,0,0,0]T。根据式(10)进行推导,可得直流电压应下降4 V(0.005 8 p.u.)。场景4 的仿真结果见图5(b),微电网的平均电压约下降至696 V,结果与理论分析结果相符。
图5 场景1和场景4的仿真结果Fig.5 Simulative results of Scene 1 and 4
综上所述,理论和仿真结果均表明攻击者可以采用网络攻击的方式操纵直流微电网电压,进而威胁微电网的正常运行。因此,重视网络安全并研究可抵御网络攻击的策略具有重要的意义。
关于检测算法,首先在仿真中构造出负荷从0.2 p.u.变化为0.7 p.u.的数据集,然后对数据进行拟合,其中下垂单元1 的负荷变化预测结果如图6(a)所示(其余下垂单元的曲线与图6(a)类似),当负荷由0.4 p.u.突增至0.6 p.u.时,由于y基本处于预测区间内,故Φi一直为0,防御策略不动作。图6(b)为场景2 的网络攻击预测结果,可见实际运行结果将偏离预测区间,故Φi将被置1,检测算法判断出扰动的来源是负荷变化而不是虚假数据,可见防御算法的加入不会影响原有微电网的动态响应过程。
图6 不同扰动源的预测结果Fig.6 Predictive results of different disturbance sources
图7 场景1的防御策略结果Fig.7 Results of defense strategy of Scene 1
图8 场景1中的变化趋势Fig.8 Change trend ofu in Scene 1
图9 场景2的防御策略结果Fig.9 Results of defense strategy of Scene 2
图10 场景2中的变化趋势Fig.10 Change trend of in Scene 2
场景2的防御策略结果见图9,权重系数的变化趋势见图10,可见本文所提防御策略也表现出良好性能。图9(a)展示了无防御策略时微电网的运行结果,与场景1不同,由于场景2中攻击的对称性,微电网直流电压无明显的稳态偏差,然而遭受网络攻击的2 个下垂单元的输出电流出现了较大的且对称的偏差。图9(b)展示了采取防御策略后微电网的运行结果。由图9(b)和图10可见,虚假数据在初始时刻即被及时剔除,且正常数据的权重随着时间的变化逐渐恢复至1,最终微电网实现了二次控制的目标。
场景3的防御策略结果见图11。与无防御策略时的仿真结果(图5(b))相比,使能防御策略后微电网直流电压基本保持在700 V 附近,同时输出电流标幺值也实现了相等。上述4 种场景的分析结果进一步验证了本文所提防御策略对不同攻击类型的有效性。
图11 场景3的防御策略结果Fig.11 Results of defense strategy of Scene 3
采用分布式控制的直流微电网容易遭受网络攻击,为此,基于一致性理论,本文首先指出了攻击者可采用的攻击方式,即在电压估计量和电流量测值中注入虚假数据;之后从理论上推导了FDIA对微电网电压产生的不利影响,并指出针对电压估计值的虚假数据注入可能造成系统不收敛;然后提出了一种基于数据驱动的FDIA 防御策略。该算法通过离线学习以及在线判断系统的暂态扰动过程,实现了对FDIA的有效检测。最后算例仿真结果表明,所提防御策略可有效防御针对电压估计量和电流量测值的攻击,且在平衡攻击下也有良好的表现,能最大限度地降低FDIA的影响。
本文相关工作目前尚处于起步阶段,未来还可将研究重点聚焦于更复杂、更普遍的交直流微电网。
附录见本刊网络版(http://www.epae.cn)。