一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种智能电网场景下的FDIA融合检测方法与流程

2023-02-01 22:48:34 来源:中国专利 TAG:

一种智能电网场景下的fdia融合检测方法
技术领域:
1.本发明属于网络与信息安全检测技术领域,具体涉及一种智能电网场景下的fdia融合检测方法。


背景技术:

2.早期的电力监控系统仅支持远程控制和简单的信号状态显示,随着网络通信技术的发展,电力系统发展了以计算机为基础的监控系统。大数据采集和具有通信功能的检测器、控制器等被大规模的应用到电力系统中,通过互联网进行信息交互,因此,电力系统已经发展为信息与能源紧密融合的大型信息物理系统(cyberphysical system,cps)。在智能电网中,测量终端以有线或无线的方式将采集到的实时数据传输给控制监控与数据采集(supervisory control and data acquisition,scada)系统,该系统又将数据发送到能量管理系统(energy management system,ems)中的状态估计器,状态估计器通过估计电网状态和检测测量数据,并将状态评估结果用于ems的控制算法,如潮流计算、经济调度和事件分析等。然后控制算法根据电力系统的实时状态计算出相应的策略,并通过scada反馈到执行器。因此,当实时状态估计有差错时会导致下发指令的错误,从而影响整个电网安全稳定的运行。
3.智能电网的迅猛发展早已打破了传统电力网络的封闭性,在5g 电力的发展趋势下,将有海量的远程终端测量装置,如rtu(remote terminal unit),通过5g网络切片技术接入到电力网络中。届时,将会有更多的测量数据需要传输给scada系统,状态估计器也需要快速响应海量的测量数据,估计电力系统的实时状态。终端数量的激增无疑给电力网络的安全带来更多的安全隐患,而采用原有的物理隔离和专用安全协议等安全防御手段已经不足以适应当下智能电网的发展。
4.随着智能电网信息化加大,攻击者可以利用网络和终端设备的漏洞由点及面地进行大规模恶意网络攻击,虚假数据注入攻击(false data injection attack,fdia)是一种新型的网络恶意攻击手段,攻击者在了解电网拓扑结构的基础上,通过篡改传感器等设备、攻击测量终端与scada系统之间的传输网络或侵入scada系统,利用特殊构造的注入数据,避开电力系统中基于残差分析的不良数据检测(bad data detection,bdd)机制,使得控制中心收到的测量数据与真实数据不符,导致控制中心对电力系统状态估计错误,进而使得ems做出错误的控制决策。该攻击不仅会影响电网工作人员的判断和操作,还会导致ems无法及时了解被攻击区域的运转状态,失去对整个电网系统的全局监控。在过去的十几年间,伊朗、以色列、乌克兰等国家的电网系统接连遭受恶意网络攻击,给经济和社会带来了巨大损害。因此,在智能电网信息化逐渐扩大的过程中,其网络安全问题迫在眉睫。
5.传统的fdia检测算法大都使用基于残差的检测方法,该方法设计简单、易实现,但对于了解电网拓扑结构的攻击者来说,可以构造特殊的注入攻击向量而不引起残差的改变,从而避开智能电网bdd机制,达到恶意攻击的目的,扰乱智能电网稳定运行,谋取不当利益。后来发展的基于机器学习的方法虽然能够检测隐蔽性fdia,提高恶意网络攻击的检测
精度,但其计算复杂度比传统算法高,故而,在处理一些明显引起系统状态变化的虚假数据注入攻击的时候,传统方法反而比新方法更高效简洁。因此,如何在保证fdia检测效率的前提下提高智能电网场景下的fdia检测精确度,并在智能电网系统遭遇攻击后最大可能地降低恶意网络攻击带来的损害是本领域亟待解决的问题。


技术实现要素:

6.本发明针对智能电网中的虚假数据注入攻击(fdia),根据注入攻击向量的特点,结合传统的基于残差的状态向量估计(state vector estimation,sve)方法与基于深度学习的fdia检测方法,提出一种智能电网场景下的fdia融合检测方法。
7.本发明还提供一种fdia检测与不良数据恢复方法,该方法对检测到的异常数据进行恢复,最大程度地降低fdia对状态估计结果和ems控制决策的影响,从而降低网络恶意攻击对智能电网的损害。
8.为了实现以上目的,本发明采取以下技术方案:
9.一种智能电网场景下的fdia融合检测方法,步骤如下:
10.s1:获取当前智能电网系统t时刻的实际测量值z;
11.s2:将所述t时刻实际测量值z输入到sve模块;根据估计残差判断智能电网系统是否遭遇fdia,当残差大于等于阈值τ时,则快速判断系统遭受到非隐蔽性恶意攻击;如果残差小于阈值τ,则进行步骤s3;
12.s3:将所述t时刻实际测量值z输入到深度学习fdia检测模块做进一步的检测,即计算预测器根据历史数据生成的t时刻预测值与t时刻实际测量值z的误差平方,检测器根据所得误差平方,最终判断智能电网系统是否遭遇隐蔽性fdia。
13.上述检测方法中,如果阈值τ偏大,会增加检测系统误检概率;如果阈值τ偏小,会降低sve模块的有效性,并增加深度学习fdia检测模块的负担。因此,阈值τ的选取需要通过数值模拟实验确定最合适的值。
14.上述sve模块是基于残差检测不良数据,攻击者在了解电力网络拓扑的情况下,可构造虚假数据攻击向量,从而避开基于残差的不良数据检测机制。
15.上述基于深度学习fdia检测模块包括预测器和检测器,其中预测器由基于深度学习的测量向量估计算法通过模型训练所得;检测器由多层感知机构成,具体为将预测器的预测值与实际测量值的误差平方作为特征传递给多层感知机,多层感知机学习所述误差平方与标签(电网遭遇攻击与否)之间的联系,得到深度学习fdia检测模型(检测器)。
16.上述基于深度学习的测量向量估计算法的网络模型结构依次由输入层、两层一维卷积神经网络、两层双向门控循环单元、全连接层与输出层构成;输入层数据输入之前需进行数据预处理,包括去均值化和归一化处理;一维卷积神经网络主要提取数据内部特征、去除噪声;双向门控循环单元建模时间序列。该算法的思路是首先将样本数据预处理,即去均值化和归一化处理,再将预处理后的数据输入到卷积神经网络中,提取数据内部特征,然后输入到bi-gru中,对整个时间序列建模,最后将该特征表示输入到全连接层,输出样本预测概率。
17.上述基于深度学习的测量向量估计算法使用均方差函数作为损失函数,模型训练过程中使损失函数最小。
18.一种fdia检测与不良数据恢复方法,其是通过如下步骤实现的:
19.s1:将当前实际测量值z送入到fdia融合检测模块,fdia融合检测模块包括sve模块和深度学习fdia检测模块;所述当前实际测量值z先通过sve模块,如果遇到非隐蔽fdia,则直接判断遭遇攻击;否则,将当前实际测量值z送入到深度学习fdia检测模块,判断是否遭遇隐蔽性fdia;
20.s2:如果fdia融合检测模块判断当前实际测量数据异常,即系统遭遇fdia,则将实际测量数据送入到不良数据修复模块;该模块逐步将实际测量数据中的误差最大值替换成预测值得到替换后数据,每次替换之后计算替换后数据与实际测量数据之间的均方误差,并将均方误差与修复阈值做比较,当所述均方误差小于所述修复阈值时,则完成不良数据修复;
21.s3:修复数据输出。
22.进一步地,步骤s2中,当fdia融合检测模块检测到异常数据之后,除了通知工作人员之外,系统将立即利用所述预测器所得的预测值进行不良数据修复。具体地,假设有一组异常数据需要修复,先将这组异常数据中与预测数据偏差最大的元素替换成相应的预测值得到替换后数据,替换之后计算替换后数据与预测数据之间的均方误差,并将均方误差与给定的修复阈值做比较,如果小于修复阈值,则修复完成;否则,替换第二差异大的元素,计算替换后数据与预测数据之间的均方误差,并与修复阈值做比较;以此迭代,直至修复完成。其中,采用平均预测误差作为修复阈值。平均预测误差可通过采集智能电网系统中未受网络恶意攻击情况下的多组历史数据,包括实际测量数据和该情况下预测器生成的预测数据,并计算二者的平均误差,我们将该平均误差作为修复阈值。
23.本发明的有益效果在于:
24.(1)本发明fdia融合检测方法可以检测非隐蔽性和隐蔽性的fdia,提高了智能电网系统的fdia检测能力。
25.(2)本发明fdia融合检测方法是在改进现有的fdia检测方法基础上,取传统方法和深度学习方法之所长,针对不同特点的fdia,采用不同的检测方法,提高了fdia检测精度和效率。
26.(3)本发明fdia检测与不良数据恢复方法能够让智能电网系统在检测到fdia攻击之后立即作出反应,及时修复不良数据,最大程度地减少了fdia对智能电网带来的危害,增强了系统的鲁棒性和安全性。
附图说明:
27.图1为本发明基于深度学习的测量向量估计算法的框架图;
28.图2为本发明fdia融合检测算法的框架图;
29.图3为本发明fdia检测与不良数据恢复方法的流程图。
具体实施方式:
30.下面结合本发明实施例及附图对本发明的技术方案进行解释和说明,但下述实施例仅为本发明的优选实施例,并非全部。基于实施方式中的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得其他实施例,都属于本发明的保护范围。
31.实施例1
32.s1:获取当前智能电网系统t时刻的实际测量值z;
33.s2:将所述t时刻的实际测量值z输入到sve模块,根据残差估计判断智能电网系统是否遭遇fdia,当残差大于等于阈值τ时,则快速判断系统遭遇到非隐蔽性恶意攻击;如果残差小于阈值τ,则进行步骤s3;
34.在本实施例中,sve模块采用基于直流潮流计算的状态估计器,将电力系统上的测量数据和其他可用数据转化为对系统状态的准确估计。
35.具体地,令x=[x1,x2,...,xm]
t
表示状态向量,z=[z1,z2,...,zm]
t
是测量向量,e=[e1,e2,...,em]
t
为测量误差向量,则观测模型可以描述如下
[0036]
z=h(x) e
ꢀꢀꢀꢀꢀ
(1)
[0037]
进一步地,可将直流状态估计模型描述为
[0038]
z=h(x) e
ꢀꢀꢀꢀꢀ
(2)
[0039]
其中,h是表征电力系统拓扑结构的雅可比矩阵,即拓扑矩阵,e~n(0,σ2)表示的是加性白高斯噪声。应用最小均方误差估计准则,估计所得的电力系统状态表示如下:
[0040][0041]
其中,∧表示对角元素为∧
ii
=σ-2
的对角矩阵。
[0042]
状态向量估计通过估计残差来判断,选定一个阈值τ,当时,说明当前的测量值中存在异常数据。
[0043]
当攻击者了解电网拓扑结构信息时,只需构造(4)式中的虚假数据攻击向量,就会避开不良数据检测机制。假设m是注入到正常观测数据z中的非零攻击数据矢量,则观测矢量由z变为zm=z m。
[0044][0045]
c是非零向量,和zm分别是受到攻击后的状态估计值和测量值。
[0046]
其中
[0047]
zm=hx hc e=h(x c) e=hxm e (5)
[0048]
攻击后的残差计算为:
[0049][0050]
由(4)式m=hc,可以得出这意味着虚假数据成功改变了测量值,却没有改变估计残差,从而达到对bdd的隐身目的。
[0051]
在步骤s2中,需要注意阈值τ的选取,τ偏大,会增加检测系统误检概率,τ偏小,会降低sve部分的有效性并增加深度学习检测部分的负担。因此,τ的选取需要通过数值模拟实验确定最合适的值。
[0052]
s3:将所述t时刻的实际测量值z输入到深度学习fdia检测模块,即计算预测器根据历史数据生成的t时刻预测值与t时刻实际测量值z的误差平方,检测器根据所得误差平方,判断当前系统是否遭遇隐蔽性fdia;
[0053]
在本实施例中,如果攻击者了解智能电网的拓扑结构和不良数据检测机制,那么就可以设计专门的拓扑矩阵和注入攻击向量,而不引起不良数据检测机制的注意,因此,fdia是一种隐蔽性很强的恶意网络攻击。深度学习方法能够在海量的数据中学习数据内在的高维特征,并且能够依据所学习的特征知识,预测下一时刻的相关数据。所以,在fdia检测中,可以利用深度学习提取特征的能力,通过正常的未遭遇恶意攻击的历史测量数据,提取测量数据的内在特征,从而达到预测下一时刻的系统测量数据的目的。
[0054]
具体地,基于深度学习的fdia检测模块包括预测器和检测器,预测器由基于深度学习的测量向量估计算法所得。
[0055]
如图1所示,上述基于深度学习的测量向量估计算法,首先将采集的正常的历史测量数据进行预处理操作,即去均值化和归一化处理,再采用两层一维卷积神经网络提取数据内部特征,然后采用两层bi-gru对整个时间序列建模,最后将该特征表示输入到全连接层,输出样本预测概率。具体步骤实现如下:
[0056]
(1)卷积神经网络层,虚假数据注入改变了原测量数据的内部结构,利用cnn的特点充分提取未受攻击的测量数据之间的内部特征,从而发现隐蔽的虚假数据。
[0057]
(2)双向门控循环单元层,cnn层输出向量作为本层的输入向量,采用bi-gru同时考虑测量数据中过去与未来的序列信息,提取测量数据中的时序特征,并且,bi-gru具有复杂度低响应时间快的优点。
[0058]
bi-gru由前向gru、后向gru以及正反向gru的输出状态连接层组成。
[0059]
记t时刻的正向gru的隐层状态为反向gru的隐层状态为则bi-gru的隐层状态输出为h
t
,具体计算如下:
[0060][0061][0062][0063]
其中,w
t
和v
t
是权重矩阵,b
t
是偏置向量。y
t
表示的是t时刻gru单元的输入。对于每一个gru单元,隐层状态h
t
(gru单元的输出)的计算如下:
[0064]zt
=σ(wz·
[h
t-1
,y
t
])
ꢀꢀꢀ
(4)
[0065]rt
=σ(wr·
[h
t-1yt
])
ꢀꢀꢀ
(5)
[0066]h′
t
=tanh(w
·
[r
t
*h
t-1
,x
t
])
ꢀꢀ
(6)
[0067]ht
=(1-z
t
)*h
t-1
z
t
*h

t
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(7)
[0068]
其中,z和r分别表示更新门和复位门,σ表示的是sigmoid激活函数,tanh表示双曲正切函数。wz、wr和w分别代表更新门、重置门和候选隐含状态的权重矩阵,y
t
表示的是t时刻gru单元的输入,h

t
表示的是备选激活函数。
[0069]
(3)全连接层,双向门控循环单元层的输出向量作为全连接层的输入数据。根据历史数据预测未来数据是一个回归问题,因此,使用均方差函数作为损失函数,使模型训练过程中损失函数最小,其中,yi表示第i个实际测量值,表示第i个估计测量值,n表示一个训练批次的样本个数。
[0070]
(4)设置时间窗大小为w,选取时间范围为[t-w,t-1]的未受到攻击的正常测量数据作为该算法的输入,并用该算法预测t时刻的测量值。具体如下:
[0071]
首先,输入数据依次经过两层一维卷积神经网络,去除噪声并提取数据内部的特征,然后将得到的向量作为bi-gru模块的输入,bi-gru的具体实现方法可以调用pytorch中的torch.nn.gru工具,并将bidirectional参数设置为true。最后经过全连接层,输出t时刻的预测值。将最小化均方差作为整个模型训练的优化目标,得到最终模型用来预测测量值。
[0072]
所述深度学习fdia检测器基于多层感知机(mlp),具体地,将上述计算所得的预测测量值和实际测量数据之间的均方误差值作为特征输入至多层感知机(multi-layer perceptron,mlp),mlp学习均方误差与标签(受攻击与否)之间的关系。其中,mlp是一个分类器,在二元分类任务中,采用二值交叉熵作为模型训练的损失函数。
[0073]
在智能电网的恶意网络攻击检测中,对那些不具备隐蔽特点的fdia来说,没有必要使用复杂的深度学习方法来做判断,可以利用sve方法高效地检测系统是否遭遇攻击。因此,本发明智能电网场景下的fdia融合检测方法不仅可以提高检测精度,还能提高检测速度。
[0074]
如图2所示的fdia融合检测算法框架图,需要注意阈值τ的选取,τ偏大,会增加检测系统误检概率,τ偏小,会降低sve部分的有效性并增加深度学习检测部分的负担。因此,τ的选取需要通过数值模拟实验确定最合适的值。
[0075]
实施例2
[0076]
一种fdia检测与不良数据恢复方法,通过如下步骤实现的:
[0077]
s1:将当前测量数据送入到fdia融合检测模块,该测量数据首先通过sve模块,如果遇到非隐蔽fdia,则直接判断遭遇攻击;否则,该测量数据经过基于深度学习的fdia检测
器,判断是否遭受隐蔽性fdia;
[0078]
s2:如果fdia融合检测模块判断测量数据异常,即系统遭遇fdia,在检测到电网系统遭到fdia之后,除了通知工作人员之外,系统立即自动进行不良数据修复。
[0079]
其中,不良数据修复模块通过不断地替换实际测量值中误差最大值,从而完成不良数据修复;具体地,利用基于深度学习方法的fdia预测器产生的预测值进行不良数据修复。假设有一组异常数据需要修复,先将这组异常数据中与预测数据偏差最大的元素替换成相应的预测值,替换之后计算预测数据与替换数据之间的均方误差,并与给定的修复阈值做比较。如果小于该阈值,则修复完成;否则,替换第二差异大的元素,计算均方误差并与该修复阈值做比较;以此迭代,直至修复完成。其中,采用平均预测误差作为修复阈值。平均预测误差可通过采集智能电网系统未受攻击情况下的多组历史数据,包括实际测量数据和预测器生成的预测数据,并计算二者之间的平均误差,将该平均误差作为修复阈值。
[0080]
最后,还需说明的是,所有实施例中,基于深度学习的fdia检测方法的模型训练数据需要确保是电力系统中未受攻击的正常数据。我们采用离线训练方法训练模型,包括:预测器和检测器。线上部署训练好的检测器实现fdia实时检测。并且,在电力系统进行fdia检测和不良数据恢复过程中,我们需要不断地采集实际测量数据和预测器生成的预测数据,用以定期更新模型(包括深度学习fdia预测器和检测器)以及修复阈值,确保深度学习模型可以学习到最新的数据特征,保证模型的时效性。
[0081]
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,熟悉该本领域的技术人员应该明白本发明包括但不限于附图和上面具体实施方式中描述的内容。任何不偏离本发明的功能和结构原理的修改都将包括在权利要求书的范围中。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献