虚假数据注入攻击检测方法及装置转让专利

申请号 : CN202311181378.1

文献号 : CN116915513B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 卢陈越杨晓林杨凯张昊承昊新陈騉

申请人 : 国网江苏省电力有限公司常州供电分公司

摘要 :

本发明涉及电力系统安全技术领域,提供一种虚假数据注入攻击检测方法及装置,方法包括:获取不包含虚假数据注入攻击的历史量测量,并对历史量测量进行划分得到训练集和确定集;基于训练集对图卷积神经网络进行训练,以得到状态估计模型;将当前量测量通过最小二乘法处理得到第一状态估计值,并将当前量测量输入状态估计模型得到第二状态估计值;基于确定集确定检测阈值;根据当前量测量、第一状态估计值、第二状态估计值和检测阈值,确定电力系统是否遭受虚假数据注入攻击。由此,结合最小二乘法和基于图卷积神经网络的状态估计模型,实现对电力系统虚假数据注入攻击的检测,可以提高检测能力,改善检测效果,从而增强电力系统防御能力。

权利要求 :

1.一种虚假数据注入攻击检测方法,其特征在于,包括以下步骤:获取电力系统各个量测点不包含虚假数据注入攻击的历史量测量,并对所述历史量测量进行划分得到训练集和确定集;

基于所述训练集对图卷积神经网络进行训练,以得到状态估计模型;

获取电力系统各个量测点的当前量测量,将所述当前量测量通过最小二乘法处理得到第一状态估计值,并将所述当前量测量输入所述状态估计模型得到第二状态估计值;

基于所述确定集确定检测虚假数据注入攻击的检测阈值;

根据所述当前量测量、所述第一状态估计值、所述第二状态估计值和所述检测阈值,确定所述电力系统各个量测点是否遭受虚假数据注入攻击,基于所述确定集确定检测虚假数据注入攻击的检测阈值,包括:将所述确定集通过最小二乘法处理得到第三状态估计值,并将所述确定集输入所述状态估计模型得到第四状态估计值;

基于所述第三状态估计值计算所述确定集各个历史量测量的第一估计值;

基于所述第四状态估计值计算所述确定集各个历史量测量的第二估计值;

计算确定集每个历史量测量分别与对应的第一估计值、第二估计值之间的残差,并计算每个所述历史量测量对应的第一残差平方和;

基于所有所述第一残差平方和确定检测虚假数据注入攻击的检测阈值。

2.根据权利要求1所述的虚假数据注入攻击检测方法,其特征在于,所述状态估计模型输入层的节点与所述电力系统的节点一一对应。

3.根据权利要求1所述的虚假数据注入攻击检测方法,其特征在于,将所述当前量测量通过最小二乘法处理得到第一状态估计值,包括:确定最小二乘法的目标函数;

将所述当前量测量输入所述最小二乘法的目标函数,并对所述目标函数进行求解得到第一状态估计值。

4.根据权利要求3所述的虚假数据注入攻击检测方法,其特征在于,所述最小二乘法的目标函数为:,

zi = [Vi, Pi, Qi, Pij, Qij],其中,Li(xi)表示所述最小二乘法的目标函数,xi表示电力系统中i节点的状态变量,zi表示电力系统中i节点的量测量,Vi 表示电力系统中i节点的量测电压,Pi表示电力系统中i节点的量测有功功率,Qi表示电力系统中i节点的量测无功功率,Pij表示电力系统中连接i节点和j节点之间的线路的量测有功功率,Qij表示电力系统中连接i节点和j节点之间的线路的量测无功功率,h(xi)表示量测函数向量,W1i表示最小二乘法的权重矩阵。

5.根据权利要求1所述的虚假数据注入攻击检测方法,其特征在于,基于所有所述第一残差平方和确定检测虚假数据注入攻击的检测阈值,包括:对所有所述第一残差平方和的分布概率进行曲线拟合;

确定可容忍的错误示警率,并根据所述可容忍的错误示警率和拟合的分布曲线确定检测虚假数据注入攻击的检测阈值。

6.根据权利要求1所述的虚假数据注入攻击检测方法,其特征在于,根据所述当前量测量、所述第一状态估计值、所述第二状态估计值和所述检测阈值,确定所述电力系统各个量测点是否遭受虚假数据注入攻击,包括:基于所述第一状态估计值计算所述当前量测量的第一估计值;

基于所述第二状态估计值计算所述当前量测量的第二估计值;

计算所述当前量测量与所述当前量测量的第一估计值之间的第一残差;

计算所述当前量测量与所述当前量测量的第二估计值之间的第二残差;

对于电力系统每个量测点,计算所述第一残差与所述第二残差的第二残差平方和;

将所述第二残差平方和与所述检测阈值进行比较,根据比较结果确定所述电力系统各个量测点是否遭受虚假数据注入攻击。

7.根据权利要求6所述的虚假数据注入攻击检测方法,其特征在于,根据比较结果确定所述电力系统各个量测点是否遭受虚假数据注入攻击,包括:如果电力系统量测点对应的第二残差平方和超出所述检测阈值,则确定所述电力系统量测点系统遭受到虚假数据注入攻击;

如果电力系统量测点对应的第二残差平方和未超出所述检测阈值,则确定所述电力系统量测点未遭受虚假数据注入攻击。

8.根据权利要求1‑7任一项所述的虚假数据注入攻击检测方法,其特征在于,所述状态估计模型的数学函数为:,

l

其中,X是所述状态估计模型的节点特征矩阵,X 是所述状态估计模型卷积过程中第l层l+1 0的节点特征矩阵,X 是所述状态估计模型卷积过程中第l+1层的节点特征矩阵,X 表示所述状态估计模型输入层每个节点的节点特征矩阵,σ为激活函数,A是描述电网拓扑连接关l系的节点特征矩阵, 是 的度矩阵,W2 是所述状态估计模型第l层的权重矩阵,l的作用是对节点特征矩阵X 进行归一化,Vi 表示电力系统中i节点的量测电压,Pi表示电力系统中i节点的量测有功功率,Qi表示电力系统中i节点的量测无功功率。

9.一种虚假数据注入攻击检测装置,其特征在于,包括:获取模块,用于获取电力系统各个量测点不包含虚假数据注入攻击的历史量测量,并对所述历史量测量进行划分得到训练集和确定集;

训练模块,用于基于所述训练集对图卷积神经网络进行训练,以得到状态估计模型;

处理模块,用于获取电力系统各个量测点的当前量测量,将所述当前量测量通过最小二乘法处理得到第一状态估计值,并将所述当前量测量输入所述状态估计模型得到第二状态估计值;

第一确定模块,用于基于所述确定集确定检测虚假数据注入攻击的检测阈值;

第二确定模块,用于根据所述当前量测量、所述第一状态估计值、所述第二状态估计值和所述检测阈值,确定所述电力系统各个量测点是否遭受虚假数据注入攻击,所述第一确定模块具体用于:将所述确定集通过最小二乘法处理得到第三状态估计值,并将所述确定集输入所述状态估计模型得到第四状态估计值;基于所述第三状态估计值计算所述确定集各个历史量测量的第一估计值;基于所述第四状态估计值计算所述确定集各个历史量测量的第二估计值;计算确定集每个历史量测量分别与对应的第一估计值、第二估计值之间的残差,并计算每个所述历史量测量对应的第一残差平方和;基于所有所述第一残差平方和确定检测虚假数据注入攻击的检测阈值。

说明书 :

虚假数据注入攻击检测方法及装置

技术领域

[0001] 本发明涉及电力系统安全技术领域,具体涉及一种虚假数据注入攻击检测方法和一种虚假数据注入攻击检测装置。

背景技术

[0002] 虚假数据注入攻击是指通过对电力系统中状态估计环节的针对性设计,实现具有隐蔽性的攻击。相关技术中,分别单独基于知识驱动和数据驱动的方式实现虚假数据注入攻击检测。
[0003] 然而,基于知识驱动(最小二乘法)的虚假数据注入攻击检测方式由于状态估计环节的单一性和固定性,使得攻击者在不改变攻击机理的情况下,仍可通过各种攻击尝试给系统带来威胁,即攻击者可以绕过基于知识驱动的检测方式实现攻击,检测效果不佳。基于数据驱动(神经网络)的虚假数据检测方法由于真实系统遭受的攻击较少,数据驱动的虚假数据注入攻击检测方法则受限于训练样本的质量和数量,数据驱动模型的估计效果差,进而导致检测效果不佳。

发明内容

[0004] 本发明为解决在电力系统虚假数据注入攻击检测存在的检测效果不佳的问题,提出了如下技术方案。
[0005] 本发明第一方面实施例提出了一种虚假数据注入攻击检测方法,包括以下步骤:获取电力系统各个量测点不包含虚假数据注入攻击的历史量测量,并对所述历史量测量进行划分得到训练集和确定集;基于所述训练集对图卷积神经网络进行训练,以得到状态估计模型;获取电力系统各个量测点的当前量测量,将所述当前量测量通过最小二乘法处理得到第一状态估计值,并将所述当前量测量输入所述状态估计模型得到第二状态估计值;
基于所述确定集确定检测虚假数据注入攻击的检测阈值;根据所述当前量测量、所述第一状态估计值、所述第二状态估计值和所述检测阈值,确定所述电力系统各个量测点是否遭受虚假数据注入攻击。
[0006] 另外,根据本发明上述实施例的虚假数据注入攻击检测方法还可以具有如下附加的技术特征。
[0007] 根据本发明的一个实施例,所述状态估计模型输入层的节点与所述电力系统的节点一一对应。
[0008] 根据本发明的一个实施例,将所述当前量测量通过最小二乘法处理得到第一状态估计值,包括:确定最小二乘法的目标函数;将所述当前量测量输入所述最小二乘法的目标函数,并对所述目标函数进行求解得到第一估计。
[0009] 根据本发明的一个实施例,所述最小二乘法的目标函数为:
[0010]
[0011] 其中,Li(xi)表示所述最小二乘法的目标函数,xi表示电力系统中i节点的状态变量,zi表示电力系统中i节点的量测量,Vi 表示电力系统中i节点的量测电压,Pi表示电力系统中i节点的量测有功功率,Qi表示电力系统中i节点的量测无功功率,Pij表示电力系统中连接i节点和j节点之间的线路的量测有功功率,Qij表示电力系统中连接i节点和j节点之间的线路的量测无功功率,h(xi)表示量测函数向量,W1i表示最小二乘法的权重矩阵。
[0012] 根据本发明的一个实施例,基于所述确定集确定检测虚假数据注入攻击的检测阈值,包括:将所述确定集通过最小二乘法处理得到第三状态估计值,并将所述确定集输入所述状态估计模型得到第四状态估计值;基于所述第三状态估计值计算所述确定集各个历史量测量的第一估计值;基于所述第二状态估计值计算所述确定集各个历史量测量的第二估计值;计算确定集每个历史量测量分别与对应的第一估计值、第二估计值之间的残差,并计算每个所述历史量测量对应的第一残差平方和;基于所有所述第一残差平方和确定检测虚假数据注入攻击的检测阈值。
[0013] 根据本发明的一个实施例,基于所有所述第一残差平方和确定检测虚假数据注入攻击的检测阈值,包括:对所有所述第一残差平方和的分布概率进行曲线拟合;确定可容忍的错误示警率,并根据所述可容忍的错误示警率和拟合的分布曲线确定检测虚假数据注入攻击的检测阈值。
[0014] 根据本发明的一个实施例,根据所述当前量测量、所述第一状态估计值、所述第二状态估计值和所述检测阈值,确定所述电力系统各个量测点是否遭受虚假数据注入攻击,包括:基于所述第一状态估计值计算所述当前量测量的第一估计值;基于所述第二状态估计值计算所述当前量测量的第二估计值;计算所述当前量测量与所述当前量测量的第一估计值之间的第一残差;计算所述当前量测量与所述当前量测量的第二估计值之间的第二残差;对于电力系统每个量测点,计算所述第一残差与所述第二残差的第二残差平方和;将所述第二残差平方和与所述检测阈值进行比较,根据比较结果确定所述电力系统各个量测点是否遭受虚假数据注入攻击。
[0015] 根据本发明的一个实施例,根据比较结果确定所述电力系统各个量测点是否遭受虚假数据注入攻击,包括:如果电力系统量测点对应的第二残差平方和超出所述检测阈值,则确定所述电力系统量测点系统遭受到虚假数据注入攻击;如果电力系统量测点对应的第二残差平方和未超出所述检测阈值,则确定所述电力系统量测点未遭受虚假数据注入攻击。
[0016] 根据本发明的一个实施例,所述状态估计模型的数学函数为:
[0017]
[0018] 其中,X是所述状态估计模型的节点特征矩阵,Xl是所述状态估计模型卷积过程中l+1 0第l层的节点特征矩阵,X 是所述状态估计模型卷积过程中第l+1层的节点特征矩阵,X 表示所述状态估计模型输入层每个节点的节点特征矩阵,σ为激活函数,A是描述电网拓扑连l
接关系的节点特征矩阵, 是A的度矩阵,W2 是所述状态估计模型第l层的权重矩阵,l
的作用是对节点特征矩阵X 进行归一化,Vi 表示电力系统中i节点的量测电压,Pi表示电力系统中i节点的量测有功功率,Qi表示电力系统中i节点的量测无功功率。
[0019] 本发明第二方面实施例提出了一种虚假数据注入攻击检测装置,包括:获取模块,用于获取电力系统各个量测点不包含虚假数据注入攻击的历史量测量,并对所述历史量测量进行划分得到训练集和确定集;训练模块,用于基于所述训练集对图卷积神经网络进行训练,以得到状态估计模型;处理模块,用于获取电力系统各个量测点的当前量测量,将所述当前量测量通过最小二乘法处理得到第一状态估计值,并将所述当前量测量输入所述状态估计模型得到第二状态估计值;第一确定模块,用于基于所述确定集确定检测虚假数据注入攻击的检测阈值;第二确定模块,用于根据所述当前量测量、所述第一状态估计值、所述第二状态估计值和所述检测阈值,确定所述电力系统各个量测点是否遭受虚假数据注入攻击。
[0020] 本发明实施例的技术方案,获取不包含虚假数据注入攻击的历史量测量,并对历史量测量进行划分得到训练集和确定集,基于训练集对图卷积神经网络进行训练,以得到状态估计模型,将当前量测量分别通过最小二乘法、状态估计模型处理以得到第一状态估计值、第二状态估计值,基于确定集确定检测阈值,最后根据当前量测量、第一状态估计值、第二状态估计值和检测阈值,确定电力系统各个量测点是否遭受虚假数据注入攻击。由此,结合最小二乘法和基于图卷积神经网络的状态估计模型,实现对电力系统虚假数据注入攻击的检测,可以提高检测能力,改善检测效果,从而增强电力系统防御能力。

附图说明

[0021] 图1为本发明实施例的虚假数据注入攻击检测方法的流程图。
[0022] 图2为本发明一个示例的基于图卷积神经网络的状态估计模型的结构示意图。
[0023] 图3为本发明一个示例的对第一残差平方和进行曲线拟合得到的拟合的分布曲线。
[0024] 图4为不同错误示警率下本发明实施例的虚假数据注入攻击检测方法的攻击检测率。
[0025] 图5为本发明实施例的虚假数据注入攻击检测装置的方框示意图。

具体实施方式

[0026] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0027] 相关技术中,单独基于知识驱动或者数据驱动实现电力系统虚假数据注入攻击的检测,然而,在知识驱动下,攻击者容易通过绕过检测方式实现攻击,检测效果不佳,而在数据驱动下,受限于训练样本导致检测效果不佳。
[0028] 因此,为改变电力系统攻防博弈的不对称性,本发明实施例构建了状态估计环节的异构冗余架构,即建立了电力系统基于图卷积神经网络(Graph Convolutional Neural Networks,GCNs)的状态估计模型,通过最小二乘法和状态估计模型对虚假数据注入攻击的感知,实现对电力系统虚假数据注入攻击的检测,以有效增强电力系统的防御能力。
[0029] 图1为本发明实施例的虚假数据注入攻击检测方法的流程图。
[0030] 如图1所示,该虚假数据注入攻击检测方法包括以下步骤S1至S5。
[0031] S1,获取电力系统各个量测点不包含虚假数据注入攻击的历史量测量,并对历史量测量进行划分得到训练集和确定集。
[0032] 其中,量测点是指电力系统中在状态估计环节需要检测虚假数据注入攻击的位置,即为了估计状态变量需要采集量测量的位置,可以是节点,也可以是线路、支路,量测点一般包括节点、线路和支路。
[0033] 具体地,首先假设电力系统负荷整体水平服从a b区间内的平均分布,即:~
[0034]
[0035] 式中,Ld代表电力系统负荷整体水平,U表示服从平均分布,a表示区间下限,b表示区间上限。
[0036] 在该状态下采集电力系统各个量测点不包含攻击状态变量的量测量,于是得到各个历史量测量,所有历史量测量均不包含虚假数据注入攻击,并可将其划分为训练集、测试集、确定集和评估集,其中,训练集用于训练基于图卷积神经网络的状态估计模型,测试集用于测试状态估计模型的有效性,确定集用于确定检测阈值,评估集用于评估本发明实施例对于虚假数据注入攻击的检测能力。
[0037] 比如,总共得到m个样本(即历史量测量)。其中,将m/4个样本用于训练基于GCNs的状态估计模型,m/4个样本用于测试状态估计模型的有效性,m/4个样本用于确定检测阈值,m/4个样本用于评估本发明实施例对于虚假数据注入攻击的检测能力。
[0038] S2,基于训练集对图卷积神经网络进行训练,以得到状态估计模型。
[0039] 其中,状态估计模型是指基于训练集对图卷积神经网络进行训练得到的状态估计模型,即该状态估计模型的网络结构为图卷积神经网络。
[0040] 本发明实施例中,状态估计模型输入层的节点与电力系统的节点一一对应。状态估计模型包括输入层(第0层)、隐含层和输出层。
[0041] 具体地,为了实现数据驱动,本发明实施例构建图卷积神经网络,并基于训练集对该网络进行训练得到状态估计模型,在训练后,可采用测试集对状态估计模型进行测试,在满足检测效果时,保留状态估计模型,该状态估计模型用于对输入数据(量测量)进行估计进而输出输入数据对应的状态变量的估计值。状态变量是指电力系统中各个节点的电压幅值和相角。
[0042] 比如,将节点i的量测量输入状态估计模型,进而该模型输出节点i的状态变量的估计值。
[0043] S3,获取电力系统各个量测点的当前量测量,将当前量测量通过最小二乘法处理得到第一状态估计值,并将当前量测量输入状态估计模型得到第二状态估计值。
[0044] 其中,第一状态估计值是指将当前量测量经最小二乘法处理后得到的量测量状态估计结果,第二状态估计值是指将当前量测量经状态估计模型估计后得到的量测量状态估计结果,即第一状态估计值和第二状态估计值均是电力系统状态变量的估计结果。
[0045] 具体地,为了实现知识驱动和数据驱动并行,结合最小二乘法和基于图卷积神经网络的状态估计模型构建电力系统状态估计环节的异构冗余架构,知识驱动模型建立在最小二乘法(WLS)的基础之上,数据驱动模型则采用基于图卷积神经网络(GCNs)的状态估计模型,分别将当前量测量经最小二乘法、状态估计模型处理,得到状态变量的第一状态估计值、第二状态估计值。
[0046] S4,基于确定集确定检测虚假数据注入攻击的检测阈值。
[0047] 其中,检测阈值,是指用于检测电力系统虚假数据注入攻击的值,该检测阈值可以根据相关规则确定。
[0048] 具体地,在得到确定集和状态估计模型后,可以基于确定集和状态估计模型确定检测虚假数据注入攻击的检测阈值。具体来说,可将确定集输入状态估计模型,得到估计值,再根据估计值确定检测阈值。
[0049] 需要说明的是,实际应用中,可先执行步骤S3再执行步骤S4,也可先执行步骤S4再执行步骤S3,还可同时执行步骤S3和步骤S4。
[0050] S5,根据当前量测量、第一状态估计值、第二状态估计值和检测阈值,确定电力系统各个量测点是否遭受虚假数据注入攻击。
[0051] 具体地,可对当前量测量、第一状态估计值和第二状态估计值进行相关处理后与检测阈值进行比较,根据比较结果确定电力系统各个量测点是否遭受虚假数据注入攻击,从而实现虚假数据注入攻击的检测。
[0052] 本发明实施例采用了最小二乘法和基于图卷积神经网络的状态估计模型,通过知识驱动与数据驱动并行的方式检测虚假数据注入攻击,为保障电力系统安全稳定运行提供了新思路,可以避免或者减少单独采用知识驱动模型带来的威胁,可以阻挡攻击者通过绕开(知识驱动)的方式进行攻击,也可以避免或者减少单独采用数据驱动模型时受限于训练样本而导致的检测效果不佳的问题。
[0053] 由此,本发明实施例的虚假数据注入攻击检测方法,结合最小二乘法和基于图卷积神经网络的状态估计模型,实现对电力系统虚假数据注入攻击的检测,可以提高检测能力,改善检测效果,从而增强电力系统防御能力。
[0054] 在本发明的一个实施例中,步骤S3中的将当前量测量通过最小二乘法处理得到第一状态估计值,可包括:确定最小二乘法的目标函数;将当前量测量输入最小二乘法的目标函数,并对目标函数进行求解得到第一状态估计值。
[0055] 具体而言,对于知识驱动模型,在电力系统(交流系统)中,状态变量主要是母线电压及其幅值,比如,电力系统中i节点的状态变量xi为:
[0056]
[0057] 其中,Vi为电力系统中i节点的电压幅值,θi为电力系统中i节点的电压相角。
[0058] 最小二乘方法通过求解最小方差实现对状态变量xi的估计,最小二乘法的目标函数为:
[0059]
[0060] 其中,Li(xi)表示最小二乘法的目标函数,xi表示电力系统中i节点的状态变量,zi表示电力系统中i节点的量测量,Vi 表示电力系统中i节点的量测电压,Pi表示电力系统中i节点的量测有功功率,Qi表示电力系统中i节点的量测无功功率,Pij表示电力系统中连接i节点和j节点之间的线路的量测有功功率,Qij表示电力系统中连接i节点和j节点之间的线路的量测无功功率,h(xi)表示量测函数向量,W1i表示最小二乘法的权重矩阵,其为一个对角矩阵,其元素是量测量方差的倒数,具体为:
[0061]
[0062] 式中: 分别表示节点电压、节点有功功率、节点无功功率、线路有功功率、线路无功功率的量测方差倒数。由于目标函数中h(xi)为非线性的,无法直接计算,需要采用迭代方法求解,一阶模型为:
[0063]
[0064] 式中:HT h( )是h( )推导出的雅克比矩阵, 表示xi的估计值。迭代方式选用高斯牛顿法,此方法中,雅克比矩阵在每次迭代过程中都进行更新。初始状态下,一般令电压值(幅值)为1,相角值为0。 表示每次迭代过程中状态量的结果,通过计算以下迭代,直至收敛:
[0065]
[0066] 当 时,表示算法达到收敛条件,得到状态变量的估计值。其中||*||表示范数,ξ表示估计精度,ξ值越小,估计精度越高,但耗时越长。
[0067] 也就是说,将当前量测量输入以上目标函数中的zi,并对目标函数进行求解,即可得到状态变量的第一状态估计值。
[0068] 对于数据驱动模型,采用基于图卷积神经网络的状态估计模型,在状态估计模型中,其输入层每个节点都有自己的特征矩阵:
[0069]
[0070] 其中,X0表示状态估计模型输入层每个节点的节点特征矩阵(含有三维量测量),Xl l是状态估计模型的节点特征矩阵,X 是状态估计模型卷积过程中第l层的节点特征矩阵,X+1
是状态估计模型卷积过程中第l+1层的节点特征矩阵,σ为激活函数,A是描述电网拓扑连l
接关系的节点特征矩阵,是A的度矩阵,W2 是状态估计模型第l层的权重矩阵, 的l
作用是对节点特征矩阵X 进行归一化,以防止训练过程中梯度消失和梯度爆炸现象,权重l
矩阵W2 采用了平均加权聚合的方式,并采用激活函数ReLU以克服梯度消失和加快训练速度,Vi 表示电力系统中i节点的量测电压,Pi表示电力系统中i节点的量测有功功率,Qi表示电力系统中i节点的量测无功功率。
[0071] 如图2所示,图2中Power grid是指电力系统,GCNs为图卷积神经网络(Graph Convolutional Networks),Outputs为输出层,w为权重矩阵, 为第0层第5个节点的节点特征,状态估计模型中,第0层(输入层)节点1(第1个节点)的节点特征 通过聚合其邻居节点的特征信息: (第0层第2个节点的节点特征)、 (第0层第3个节点的节点特征)、(第0层第4个节点的节点特征)以及 (第0层第6个节点的节点特征)来表示邻居节点对自己的影响,最终在输出层(Outputs)映射出新的第1层的节点1的节点特征 。
[0072] 也就是说,将当前量测量输入状态估计模型,通过以上数学函数,即可得到状态变量的第二状态估计值。
[0073] 在本发明的一个实施例中,步骤S4,即基于确定集确定检测虚假数据注入攻击的检测阈值,可包括:将确定集通过最小二乘法处理得到第三状态估计值,并将确定集输入状态估计模型得到第四状态估计值;基于第三状态估计值计算确定集各个历史量测量的第一估计值;基于第二状态估计值计算确定集各个历史量测量的第二估计值;计算确定集每个历史量测量分别与对应的第一估计值、第二估计值之间的残差,并计算每个历史量测量对应的第一残差平方和;基于所有第一残差平方和确定检测虚假数据注入攻击的检测阈值。
[0074] 其中,第三状态估计值是指将确定集中各个历史量测量经最小二乘法处理后得到的状态估计结果,第四状态估计值是指将确定集中各个历史量测量经状态估计模型估计后得到的状态估计结果,第三状态估计值和第四状态估计值均为电力系统状态变量的估计结果。第一残差平方和是指确定集中各个历史量测量对应的残差平方和,确定集中每个量测量对应两个残差,计算这两个残差的平方和,即可得到第一残差平方和,于是得到了多个第一残差平方和。
[0075] 其中,将确定集通过最小二乘法、状态估计模型处理的方式,与上述将当前量测量通过最小二乘法、状态估计模型处理的方式相同。
[0076] 具体而言,可将确定集中的各个历史量测量作为zi输入最小二乘法的目标函数,并对目标函数进行求解,即可得到第三状态估计值,将确定集中的各个历史量测量输入状态估计模型,进而状态估计模型输出第四状态估计值。
[0077] 对于基于确定集得到的状态变量的估计值(包括第三状态估计值和第四状态估计值),根据状态变量的估计值计算出确定集各个历史量测量的估计值,将确定集历史量测量与其对应的估计值相减得到残差,并计算每个历史量测量的残差平方和,即为第一残差平方和,其中,残差计算公式为:
[0078] ,
[0079]
[0080] 式中,z为确定集历史量测量, 为确定集历史量测量的估计值, 指由状态变量估计值(第三状态估计值和第四状态估计值)计算得到量测量的估计值,r表示z与 之间的残差,第一残差平方和可用残差二范数进行表示,即||r||2。
[0081] 之后,可基于所有第一残差平方和得到确定检测虚假数据注入攻击的检测阈值。
[0082] 进一步地,基于所有第一残差平方和确定检测虚假数据注入攻击的检测阈值,可包括:对所有第一残差平方和的分布概率进行曲线拟合;确定可容忍的错误示警率,并根据可容忍的错误示警率和拟合的分布曲线确定检测虚假数据注入攻击的检测阈值。
[0083] 具体而言,可利用可靠性分析和失效分析中的常用方法,对所有第一残差平方和的分布概率进行曲线拟合,可根据实际需求确定可容忍的错误示警率,根据可容忍的错误示警率和拟合的分布曲线确定检测虚假数据注入攻击的检测阈值。
[0084] 其中,拟合的分布曲线形状与威布尔分布模型基本一致,因此可以使用该曲线或者威布尔分布模型进行检测阈值的确定。
[0085] 也就是说,利用不同时刻的历史量测量,可以获取不同的状态估计值,然后计算出历史量测量的估计值,进而计算出多个残差,也就能得到每个时刻的一个第一残差平方和。对于计算出的多个第一残差平方和,会分布在一个区间内,进而呈现出一个概率分布,每一个第一残差平方和会有一定概率与其对应,第一残差平方和从小到大,概率从低到高,即为累积分布概率。
[0086] 拟合的分布曲线如图3所示,其与威布尔分布模型基本一致,基于拟合的分布曲线,可以获得在可容忍的错误示警率下的检测阈值,例如在可忍受的错误示警率为5%的情况下,即累积分布概率在95%的情况下,确定此时的第一残差平方和,于是将此时的第一残差平方和作为检测阈值。
[0087] 由此,基于不包含虚假数据注入攻击的确定集得到检测阈值,用于对量测点虚假数据注入攻击的检测。
[0088] 在本发明一个实施例中,步骤S5,即根据当前量测量、第一状态估计值、第二状态估计值和检测阈值,确定电力系统各个量测点是否遭受虚假数据注入攻击,可包括:基于第一状态估计值计算当前量测量的第一估计值;基于第二状态估计值计算当前量测量的第二估计值;计算当前量测量与当前量测量的第一估计值之间的第一残差;计算当前量测量与当前量测量的第二估计值之间的第二残差;对于电力系统每个量测点,计算第一残差与第二残差的第二残差平方和;将第二残差平方和与检测阈值进行比较,根据比较结果确定电力系统各个量测点是否遭受虚假数据注入攻击。
[0089] 其中,第二残差平方和是指电力系统各个量测点对应的残差平方和,计算每个量测点对应的第一残差和第二残差的平方和即可得到第二残差平方和。
[0090] 进一步地,根据比较结果确定电力系统各个量测点是否遭受虚假数据注入攻击,可包括:如果电力系统量测点对应的第二残差平方和超出检测阈值,则确定电力系统量测点系统遭受到虚假数据注入攻击;如果电力系统量测点对应的第二残差平方和未超出检测阈值,则确定电力系统量测点未遭受虚假数据注入攻击。
[0091] 具体而言,首先基于第一状态估计值计算得到当前量测量的第一估计值、基于第二状态估计值得到当前量测量的第二估计值,计算当前量测量与其第一估计值之间的差值,即为第一残差,并计算当前量测量与其第二估计值之间的差值,即为第二残差,于是得到了各个当前量测点对应的第一残差和第二残差,之后对于每个量测点,计算其第一残差与第二残差的平方和(第一残差的平方与第二残差的平方之间的和值),即可得到第二残差平方和,最后将该第二残差平方和与检测阈值进行比较,如果第二残差平方和超出检测阈值,则确定对应的量测点遭受到虚假数据注入攻击;如果第二残差平方和未超出检测阈值,则确定对应的量测点未遭受到虚假数据注入攻击,即通过以下公式判断是否遭受攻击:
[0092]
[0093] 式中,alarm表示电力系统是否遭受虚假数据注入攻击,1表示遭受到攻击,0表示未遭受到攻击,||r||2表示第一残差与第二残差的第二残差平方和,τ表示检测阈值。
[0094] 通过以上步骤,即可实现对电力系统各个量测点的注入检测。
[0095] 为了对本发明实施例的检测方法的检测能力进行评估,可基于m/4个历史量测量组成的评估集实现评估,具体包括:为了能够逃避坏数据检测器的检测,攻击者设计形如d=h(x+c)‑h(x)的攻击向量,其中,向量c是在服从μ(‑0.15,0.15)的均匀分布数据中随机选取的,然后将攻击向量d注入评估集量测量中。
[0096] 由此,得到注入攻击向量d后的评估集,之后,分别将注入后的评估集经最小二乘法、基于图卷积神经网络的状态估计模型处理后,得到两组状态估计值,基于这些状态估计值和检测阈值进行注入检测,并对检测结果进行评估,评估过程为:
[0097] 如图4所示,横坐标为假阳率,纵坐标为真阳率。假阳率也即上文描述的错误示警率,真阳率可理解为攻击检测率,即检出概率,定义如下:
[0098] ,
[0099]
[0100] 式中:FPR表示假阳率,TPR表示真阳率,TN表示真阴性,即未受攻击的数据被判定为正常数据的数量;FP表示假阳性,即未受攻击的数据被判断为错误数据的数量;TP表示真阳性,即受到攻击的数据被判定为错误数据的情况;FN表示假阴性,也即漏检量。
[0101] 不同错误示警率下虚假数据注入攻击检测方法的攻击检测率参照图4,在不同错误示警率下,具有不同的攻击的检出概率。在可容忍的错误示警率为10%时,攻击检测率可达到94.4%,展现出了极好的检测效果;而当错误示警率为1%时,攻击检测率也达到了86%,展示了其较好的检测效果。
[0102] 综上所述,本发明实施例虚假数据注入攻击检测方法,结合最小二乘法和基于图卷积神经网络的状态估计模型,实现对电力系统虚假数据注入攻击的检测,可以提高检测能力,改善检测效果,从而增强电力系统防御能力。
[0103] 对应上述实施例的虚假数据注入攻击检测方法,本发明还提出一种虚假数据注入攻击检测装置。
[0104] 图5为本发明实施例的虚假数据注入攻击检测装置的方框示意图。
[0105] 如图5所示,该虚假数据注入攻击检测装置包括:获取模块10、训练模块20、处理模块30、第一确定模块40和第二确定模块50。
[0106] 其中,获取模块10用于获取电力系统各个量测点不包含虚假数据注入攻击的历史量测量,并对所述历史量测量进行划分得到训练集和确定集;训练模块20用于基于所述训练集对图卷积神经网络进行训练,以得到状态估计模型;处理模块30用于获取电力系统各个量测点的当前量测量,将所述当前量测量通过最小二乘法处理得到第一状态估计值,并将所述当前量测量输入所述状态估计模型得到第二状态估计值;第一确定模块40用于基于所述确定集确定检测虚假数据注入攻击的检测阈值;第二确定模块50用于根据所述当前量测量、所述第一状态估计值、所述第二状态估计值和所述检测阈值,确定所述电力系统各个量测点是否遭受虚假数据注入攻击。
[0107] 在本发明的一个实施例中,所述状态估计模型输入层的节点与所述电力系统的节点一一对应。
[0108] 在本发明的一个实施例中,所述处理模块30在将所述当前量测量通过最小二乘法处理得到第一状态估计值时,具体用于:确定最小二乘法的目标函数;将所述当前量测量输入所述最小二乘法的目标函数,并对所述目标函数进行求解得到第一状态估计值。
[0109] 在本发明的一个实施例中,所述最小二乘法的目标函数为:
[0110]
[0111] 其中,Li(xi)表示所述最小二乘法的目标函数,xi表示电力系统中i节点的状态变量,zi表示电力系统中i节点的量测量,Vi 表示电力系统中i节点的量测电压,Pi表示电力系统中i节点的量测有功功率,Qi表示电力系统中i节点的量测无功功率,Pij表示电力系统中连接i节点和j节点之间的线路的量测有功功率,Qij表示电力系统中连接i节点和j节点之间的线路的量测无功功率,h(xi)表示量测函数向量,W1i表示最小二乘法的权重矩阵。
[0112] 在本发明的一个实施例中,所述第一确定模块40具体用于:将所述确定集通过最小二乘法处理得到第三状态估计值,并将所述确定集输入所述状态估计模型得到第四状态估计值;基于所述第三状态估计值计算所述确定集各个历史量测量的第一估计值;基于所述第二状态估计值计算所述确定集各个历史量测量的第二估计值;计算确定集每个历史量测量分别与对应的第一估计值、第二估计值之间的残差,并计算每个所述历史量测量对应的第一残差平方和;基于所有所述第一残差平方和确定检测虚假数据注入攻击的检测阈值。
[0113] 在本发明的一个实施例中,所述第一确定模块40在基于所有所述第一残差平方和确定检测虚假数据注入攻击的检测阈值时,具体可用于:对所有所述第一残差平方和的分布概率进行曲线拟合;确定可容忍的错误示警率,并根据所述可容忍的错误示警率和拟合的分布曲线确定检测虚假数据注入攻击的检测阈值。
[0114] 在本发明的一个实施例中,第二确定模块50具体用于:基于所述第一状态估计值计算所述当前量测量的第一估计值;基于所述第二状态估计值计算所述当前量测量的第二估计值;计算所述当前量测量与所述当前量测量的第一估计值之间的第一残差;计算所述当前量测量与所述当前量测量的第二估计值之间的第二残差;对于电力系统每个量测点,计算所述第一残差与所述第二残差的第二残差平方和;将所述第二残差平方和与所述检测阈值进行比较,根据比较结果确定所述电力系统各个量测点是否遭受虚假数据注入攻击。
[0115] 在本发明的一个实施例中,第二确定模块50在根据比较结果确定所述电力系统各个量测点是否遭受虚假数据注入攻击时,具体用于:如果电力系统量测点对应的第二残差平方和超出所述检测阈值,则确定所述电力系统量测点系统遭受到虚假数据注入攻击;如果电力系统量测点对应的第二残差平方和未超出所述检测阈值,则确定所述电力系统量测点未遭受虚假数据注入攻击。
[0116] 在本发明的一个实施例中,所述状态估计模型的数学函数为:
[0117] ,
[0118]
[0119] 其中,X是所述状态估计模型的节点特征矩阵,Xl是所述状态估计模型卷积过程中l+1 0第l层的节点特征矩阵,X 是所述状态估计模型卷积过程中第l+1层的节点特征矩阵,X 表示所述状态估计模型输入层每个节点的节点特征矩阵,σ为激活函数,A是描述电网拓扑连l
接关系的节点特征矩阵,是A的度矩阵,W2 是所述状态估计模型第l层的权重矩阵,l
的作用是对节点特征矩阵X 进行归一化,Vi 表示电力系统中i节点的量测电压,Pi表示电力系统中i节点的量测有功功率,Qi表示电力系统中i节点的量测无功功率。
[0120] 需要说明的是,该虚假数据注入攻击检测装置的具体实施方式及实施原理可参见上述虚假数据注入攻击检测方法的具体实施方式,为避免冗余,此处不再详细赘述。
[0121] 本发明实施例的虚假数据注入攻击检测装置,结合最小二乘法和基于图卷积神经网络的状态估计模型,实现对电力系统虚假数据注入攻击的检测,可以提高检测能力,改善检测效果,从而增强电力系统防御能力。
[0122] 在本发明的描述中,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。“多个”的含义是两个或两个以上,除非另有明确具体的限定。
[0123] 在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必针对相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
[0124] 流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
[0125] 应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
[0126] 本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
[0127] 尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。