本发明涉及一种配电网虚假数据注入攻击检测方法、系统及存储介质,属于配电网安全。
背景技术:
1、随着通信技术和计算机技术的大力发展,越来越多的通信和计算机设备被部署在配电网中,这些设备能够进一步提高电网处理实时信息的能力,但是也带来了一系列安全漏洞,使得配电网存在遭受网络攻击的风险,如虚假数据注入攻击,这种攻击通过入侵量测设备或通信网络对传感器采集到的量测数据进行修改,使量测数据偏离正常范围,进而破坏系统的运行状态,导致大规模停电,并造成财产损失。
2、目前已经有很多利用深度学习算法进行虚假数据注入攻击检测的研究,但是这些研究只是单一的从时间层面或者空间层面进行量测数据或者系统状态的特征提取,并未考虑到配电网量测数据的时空关联性,因此会影响到虚假数据注入攻击检测算法的准确率。
3、与此同时,随着大量的分布式电源接入到配电网中,这些分布式电源归属于不同的利益主体,出于保护用户隐私的目的,各个利益主体既不会得到其他利益主体的数据,也不能获取到整个配电网的数据,使得配电网多利益主体的数据会以孤岛形式存在。
技术实现思路
1、本发明的目的在于提供一种配电网虚假数据注入攻击检测方法、系统及存储介质,能够解决存在数据孤岛及用户隐私的配电网虚假数据注入攻击检测问题。
2、为达到上述目的,本发明提供如下技术方案:
3、第一方面,本发明提供一种配电网虚假数据注入攻击检测方法,包括:
4、各边缘设备利用其管辖区域内传感器采集到的配电网量测数据构建本地训练数据库;
5、接收云端下发的初始化全局检测模型作为初始化本地检测模型,利用所述本地训练数据库对所述初始化本地检测模型进行训练和参数更新,并将本次训练完成的本地检测模型上传至云端;
6、接收云端下发的聚合全局检测模型作为本地检测模型,利用所述本地训练数据库对所述本地检测模型进行训练和参数更新,并将本次训练完成的本地检测模型上传至云端,直至达到预设迭代终止条件为止,获取训练好的本地检测模型;
7、各边缘设备利用训练好的本地检测模型对其管辖区域内传感器采集到的配电网量测数据进行检测,获取配电网虚假数据注入攻击检测结果;
8、其中,所述初始化全局检测模型是通过云端对预构建的全局检测模型进行初始化获取的;
9、所述聚合全局检测模型是通过云端对上一次迭代时各边缘设备上传的本地检测模型进行聚合获取的。
10、结合第一方面,进一步的,各边缘设备利用其管辖区域内传感器采集到的配电网量测数据构建本地训练数据库包括:
11、各个边缘设备收集其管辖区域内传感器采集到的配电网量测数据并构建数据集;
12、对数据集中每个数据进行标注,将存在虚假数据注入攻击的数据的标签标注为1,将其余正常数据的标签标注为0;
13、对数据集中的数据进行归一化处理,获取归一化数据集;
14、将归一化数据集中每个数据及其标签组合为一个训练样本,将所有训练样本打乱,随机抽取70%的训练样本作为训练集,30%的训练样本作为测试集,由所述训练集和测试集构成本地训练数据库。
15、结合第一方面,进一步的,所述配电网量测数据包括母线节点注入有功功率和母线节点注入无功功率。
16、结合第一方面,进一步的,所述全局检测模型包括:
17、输入层:用于输入配电网量测数据;
18、时间特征提取层:用于对输入的配电网量测数据进行时间特征提取,获取时间特征;
19、空间特征提取层:用于对输入的配电网量测数据进行空间特征提取,获取空间特征;
20、全连接层:用于对所述时间特征和空间特征进行整合,获取检测结果;
21、输出层:用于输出检测结果。
22、结合第一方面,进一步的,所述时间特征提取层由一层长短期记忆网络组成,所述长短期记忆网络为:
23、;
24、其中,、、为长短期记忆网络的遗忘门、输入门、输出门,为时刻长短期记忆网络的记忆单元的候选状态,为时刻长短期记忆网络的记忆单元的状态,为时刻长短期记忆网络的记忆单元的状态,为时刻长短期记忆网络的隐含层的输出,为时刻长短期记忆网络的隐含层的输出,为时刻长短期记忆网络的隐含层的输入,表示将和连接为一个向量,为激活函数tanh,、、、为长短期记忆网络的权重矩阵,、、、为长短期记忆网络的偏置;
25、各时刻长短期记忆网络的隐含层的输出经过拼接后获取时间特征为:
26、;
27、其中,为时间特征,、、…、为1、2、…、时刻长短期记忆网络的隐含层的输出。
28、结合第一方面,进一步的,所述空间特征提取层由两层图卷积神经网络组成,所述空间特征提取层为:
29、;
30、其中,为空间特征提取层中第层隐含层的输出,为空间特征提取层中第层隐含层的输出,为邻接矩阵,为与之和,为单位矩阵,为空间特征提取层中第层隐含层的输入到输出的映射关系,为激活函数tanh,为配电网母线节点的度矩阵,,为的第行第列元素,为空间特征提取层中第层隐含层的权重矩阵。
31、结合第一方面,进一步的,利用所述本地训练数据库对所述本地检测模型进行训练和参数更新包括:
32、以损失函数最小为目标函数,利用所述本地训练数据库对所述本地检测模型进行训练;
33、利用梯度下降算法对所述本地检测模型进行参数更新;
34、其中,所述目标函数为:
35、;
36、其中,为第个边缘设备的本地检测模型的损失函数,,为第个边缘设备的训练样本的数量,为第个训练样本的标签,为第个训练样本对应的本地检测模型的输出,为所有边缘设备的训练样本的数量,为边缘设备总数。
37、结合第一方面,进一步的,所述聚合全局检测模型为:
38、;
39、其中,为第次迭代中第个边缘设备的本地检测模型的权重参数,为第次迭代后聚合全局检测模型的权重参数,为第个边缘设备的训练样本的数量,为所有边缘设备的训练样本的数量,为边缘设备总数;
40、将第次迭代后聚合全局检测模型的权重参数作为第次迭代时第个边缘设备的本地检测模型的权重参数。
41、第二方面,本发明提供一种配电网虚假数据注入攻击检测系统,包括云端和若干边缘设备;
42、所述边缘设备被配置用于:利用其管辖区域内传感器采集到的配电网量测数据构建本地训练数据库;
43、接收云端下发的初始化全局检测模型作为初始化本地检测模型,利用所述本地训练数据库对所述初始化本地检测模型进行训练和参数更新,并将本次训练完成的本地检测模型上传至云端;
44、接收云端下发的聚合全局检测模型作为本地检测模型,利用所述本地训练数据库对所述本地检测模型进行训练和参数更新,并将本次训练完成的本地检测模型上传至云端,直至达到预设迭代终止条件为止,获取训练好的本地检测模型;
45、利用训练好的本地检测模型对其管辖区域内传感器采集到的配电网量测数据进行检测,获取配电网虚假数据注入攻击检测结果;
46、所述云端被配置用于:对预构建的全局检测模型进行初始化,获取初始化全局检测模型并下发至各边缘设备,作为各边缘设备的初始化本地检测模型;
47、对上一次迭代时各边缘设备上传的本地检测模型进行聚合,获取聚合全局检测模型并下发至各边缘设备,作为本次迭代时各边缘设备的本地检测模型。
48、第三方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面任一项所述方法的步骤。
49、与现有技术相比,本发明的有益效果是:
50、本发明提供的配电网虚假数据注入攻击检测方法,将在云端构建的全局检测模型下发至各边缘设备,由各边缘设备进行训练和参数更新并上传至云端,由云端聚合后再次下发至各边缘设备进行训练和参数更新,直至达到预设迭代终止条件为止,获取训练好的本地检测模型,由各边缘设备利用训练好的本地检测模型对其管辖区域内传感器采集到的配电网量测数据进行检测,能够判断其管辖区域是否存在虚假数据注入攻击,从而获取配电网虚假数据注入攻击检测结果。利用长短期记忆网络提取配电网量测数据的时间特征,并利用图卷积神经网络提取配电网量测数据的空间特征,同时考虑了配电网量测数据的时空关联性。基于联邦学习框架的边云协同过程,能够有效解决配电网虚假数据注入攻击检测中的用户隐私泄露和数据孤岛问题,通过不断迭代更新各边缘设备的本地检测模型,提升检测效果。