一种智能电网虚假数据注入攻击检测方法与流程

文档序号:18211352发布日期:2019-07-19 22:19阅读:1153来源:国知局
一种智能电网虚假数据注入攻击检测方法与流程

本发明涉及智能电网信息安全领域,具体涉及一种智能电网虚假数据注入攻击检测方法,本发明考虑了电力系统内时间相关性的基于变分模态分解和在线序列极限学习机。



背景技术:

传统电力系统通过大规模引入先进的信息通信技术将其与通信信息系统、监测控制系统深度耦合,能量流与信息流交换日益频繁,构成了一个典型的电力信息物理系统(cps)。电力系统的广域测量系统(wams)和数据采集与监控(scada)系统为电力系统提供测量数据和传输控制命令,而能量管理系统(energymanagementsystem,ems)等高级应用软件作为电力系统的大脑实现信息处理、分析和决策功能。随着电力系统信息化程度的快速提高,电力系统内物理层与信息层的交互作用不断深化,两者的界限越来越模糊。信息网和电力网的深度耦合关系使得信息网和电力网的故障可以相互转化,信息系统故障与网络攻击不仅会破坏信息系统的功能,还可能进一步传导至物理系统,威胁物理系统的安全运行。但是近年来,一种新型的针对电力系统数据完整性的网络攻击,名为虚假数据注入攻击(fdia),可以通过入侵量测装置或劫持网络通信设备篡改电力系统控制中心收到的系统量测数据,改变能量管理系统中状态估计应用的估计状态结果。这种攻击可能造成电力系统的运行状态被改变、终端用户窃电、电力市场秩序被扰乱、电力系统错误调度和控制,甚至会导致大规模的停电事故,严重影响生产活动、商贸活动、交通运输等,造成巨额经济损失。因此,建立一套准确高效实时的虚假数据注入攻击检测方法对智能电网安全稳定运行有重大意义。

并且,变分模态分解算法是近年发展起来的一种新型的用于处理非线性、非平稳信号的自适应分解方法,具有良好的数学基础,且对噪声具有鲁棒性。检测工具选取n.y.liang,g.b.huang等人提出的在线序列极限学习机,因为该算法在学习速度上有优势,并可以对新到来的数据样本进行在线学习,将最新训练样本实时融入到检测模型的训练中去。



技术实现要素:

为了克服现有技术的不足,本发明提供一种考虑电力系统内时间相关性的智能电网虚假数据注入攻击检测方法,检测的核心在于如何从高维电力系统状态数据中准确高效提取虚假数据注入攻击的特征。考虑到状态估计应用产生的系统状态时间序列由于负荷波动的随机性在时间上呈现出非平稳的特性,很难直接从系统状态序列中提取虚假数据注入攻击特征,因此考虑加入信号处理方法帮助特征提取。本发明训练在线序列极限学习机作为检测器,并利用变分模态分解算法提取虚假数据注入攻击的特征以提高检测器的辨识能力。本发明建立了高效可靠实时的数据攻击检测方案以弥补电力系统状态估计不良数据辨识模块不能辨识虚假数据注入攻击(fdia)的漏洞。

为实现上述目的,本发明是根据以下技术方案实现的:

一种智能电网虚假数据注入攻击检测方法,其特征在于,包括如下步骤:

步骤s1:获取系统量测数据和电力系统拓扑关系,执行状态估计过程并利用电力系统状态估计数据库收集系统状态历史数据;

步骤s2:使用变分模态分解算法对获取的历史数据段进行分解,获得多个具有不同中心频率的子数据段;

步骤s3:计算每个子数据段的基于统计指标的特征构建训练样本;

步骤s4:调整在线序列极限学习机相关参数训练虚假数据注入攻击检测器;

步骤s5:读取当前时刻24小时以内电力系统状态估计数据,对新获取的数据使用变分模态分解算法对获取的历史数据段进行分解,获得多个具有不同中心频率的新获取的子数据段并计算每个新获取的子数据段的基于统计指标的特征构建训练样本,使用训练完成的检测器判断是否发生虚假数据注入攻击行为;

步骤s6:收集到的检测数据样本,将经过可信认后的数据样本构造为新的扩充训练集在在线检测过程中,利用所使用检测器的在线数据学习能力,不断加入新训练样本进行模型更新,提高检测器的准确度性能。

上述技术方案中,在步骤s1中,系统量测和电力系统拓扑知识的关系表示为:

z=h(x)+e(1)

其中z为量测数据,由电力系统节点注入的有功功率、无功功率,支路上的有功、无功潮流组成,h(·)表示系统拓扑关系,e为量测误差;

根据加权最小二乘法求解最优的系统状态,其最优函数为:

minj(x)=min[z-h(x)]tw[z-h(x)](2)

其中w为对角协方差矩阵,将模型简化后,求得的系统状态表示为:

其中,h为m*n维的雅克比矩阵,其由系统拓扑和线路阻抗决定,m和n为正整数。

上述技术方案中,在步骤s2中的具体步骤为:

步骤s201:定义每个具有特定频带特性的模态信号为uk(t)=ak(t)cos(φk(t)),其中ak(t)和φk(t)分别为模态信号的幅值和相位,每个模态有各自对应地中心频率ωk,使用希尔伯特变换获得每个模态的单边频谱信号;

步骤s202:将频谱信号调整到相应基频带,构造约束变分模型:

式中δ(t)为狄拉格广义函数,j为虚数单位;

步骤s203:使用拉格朗日乘子λ和惩罚因子α将上述模型优化为非约束问题:

步骤s204:使用乘法算子交替方向法更新各模态和对应地中心频率:

步骤s205:满足收敛条件则停止更新,得到k个子序列。

上述技术方案中,在步骤s3中采用4个基于统计指标的特征量来构造检测器的训练集样本,特征指标的计算如下:

步骤s301:计算模态能量差异,如下公式:

式中yij代表数据元素,其中i代表模态序号,j代表为分解出的模态中第j个元素;

步骤s302:模态的熵计算如下:

其中pj为分解出的模态信号的能量概率分布;

步骤s303:模态的均值μ和标准差σ的计算过程如下:

上述技术方案中,在步骤s4的具体步骤为:

步骤s401:对于给定的一小块训练集进行初始训练,训练集如下:s0={(xi,ti)|xi∈rn,ti∈rm,i=1,...,n0},

极限学习机模型表示为:

式中aj∈rn和bj∈r(j=1,2,...,k)分别为第j个隐含节点的输入权值和偏置;gi(aj,bj,xi)为第j个隐含节点的激活函数;βj为连接隐含层与输出层的输出权值;yi∈rn为网络输出值;

步骤s402:将公式1中表达关系用矩阵形式表示:h0β(0)=y0,β0=[β1,...,βl]t为输出权值,h0为隐含层输出矩阵,y0=[y1,...yn]t为目标输出值;

步骤s403:通过广义逆理论计算初始输出权重并把k置为0。

上述技术方案中,在步骤s5中,检测器被设置为0-1分类模式,其中1代表刚刚过去的时段有虚假数据注入攻击的发生,0代表系统状况正常。

上述技术方案中,在步骤s6中,在线序列极限学习机根据新到达的样本更新模型,对于第k+1块到来的样本检测器模型更新如下:

①计算新的隐含层输出矩阵:

②设置

③根据下式子更新输出权重β(k+1)

④设置k=k+1并返回在线更新阶段步骤①重新计算直到所有数据块被学习。

本发明与现有技术相比,具有如下有益效果:

本发明使用变分模态分解提取虚假数据注入攻击行为特征,分解后的数据呈现出更明显的规律性和平稳性,且变分模态分解算法对噪声具有鲁棒性;

本发明采用在线序列极限学习机作为检测工具,该方法模型训练速度快,泛化能力强,并且可以把最新训练样本实时融入到检测模型的训练中去;

本发明的各个节点的检测相互独立,即设计的检测方法不会因电力系统各节点复杂的关系而难以识别对某些节点的数据攻击。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。

图1为本发明方法流程示意图;

图2为本发明变分模态分解个数选择示意图;

图3为本发明变分模态分解效果示意图;

图4为本发明在应用中的检测结果示意图;

图5为本发明不同强度攻击下的检测表现示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。

本发明提出的一种虚假数据注入攻击检测方法,基于变分模态分解和在线序列极限学习机的其流程示意图如图1所示,包括如下步骤:

步骤1:获取系统量测数据和电力系统拓扑关系,执行状态估计过程并利用电力系统状态估计数据库收集系统状态历史数据;

对于ac模型,在给定网络拓扑、支路参数、状态变量和实时量测的条件下,系统的非线性量测方程可以表示为:

z=h(x)+e(1)

其中z为m维量测数据,由电力系统节点注入的有功功率、无功功率,支路上的有功、无功潮流组成;x为2n-1维系统状态变量,由节点电压幅值和相角组成;h(·)表示系统拓扑关系。

根据加权最小二乘法求解最优的系统状态,其最优函数写作:

minj(x)=min[z-h(x)]tw[z-h(x)](2)

其中w为对角协方差矩阵,e为量测误差。将模型简化后,求得的系统状态可以表示为:

其中h为m*n维的雅克比矩阵,其由系统拓扑和线路阻抗决定,m和n为正整数。

步骤2:使用变分模态分解算法对获取的历史数据段进行分解,获得多个具有不同中心频率的子数据段,具体步骤为:

步骤s201:定义每个具有特定频带特性的模态信号为uk(t)=ak(t)cos(φk(t)),其中ak(t)和φk(t)分别为模态信号的幅值和相位,每个模态有各自对应地中心频率ωk,使用希尔伯特变换获得每个模态的单边频谱信号;

步骤s202:将频谱信号调整到相应基频带,构造约束变分模型:

式中δ(t)为狄拉格广义函数,j为虚数单位;

步骤s203:使用拉格朗日乘子λ和惩罚因子α将上述模型优化为非约束问题:

步骤s204:使用乘法算子交替方向法更新各模态和对应地中心频率:

步骤s205:满足收敛条件则停止更新,得到k个子序列。

步骤s3:计算每个子数据段的基于统计指标的特征构建训练样本;经上一步骤分解出的数据序列,因为数据量过于庞大,增加了训练检测器的难度和时长。所以采用4个基于统计指标的特征量来构造检测器的训练集样本。特征指标的计算如下:

步骤s301:模态能量差异:一段正常状态下的模态序列,其信号能量通常拥有一个稳定的范围。连续的两个模态段能量的突变预示着异常状况的发生。模态能量差异的计算如下:

式中yij代表数据元素,其中i代表模态序号,j代表为分解出的模态中第j个元素;

步骤s302:模态的熵:熵可以描述一个信号段的复杂程度,熵值越大,信号的不确定性越大,包含的不稳定成分越多,系统被攻击的可能性越大,其计算如下:

其中pj为分解出的模态信号的能量概率分布;

步骤s303:模态的均值和标准差:其计算过程如下:

上述技术方案中,在步骤s3中采用4个基于统计指标的特征量来构造检测器的训练集样本,特征指标的计算如下:

步骤s4:调整在线序列极限学习机相关参数训练虚假数据注入攻击检测器;具体步骤为:

步骤s401:初始训练:在线序列极限学习机的训练在这一阶段和传统极限学习机相似。对于给定的一小块训练集s0={(xi,ti)|xi∈rn,ti∈rm,i=1,...,n0},极限学习机模型可以表示为:

式中aj∈rn和bj∈r(j=1,2,...,k)分别为第j个隐含节点的输入权值和偏置;gi(aj,bj,xi)为第j个隐含节点的激活函数;βj为连接隐含层与输出层的输出权值;yi∈rn为网络输出值;

步骤s402:将公式1中表达关系用矩阵形式表示:h0β(0)=y0,β0=[β1,...,βl]t为输出权值,h0为隐含层输出矩阵,y0=[y1,...yn]t为目标输出值;

步骤s403:通过广义逆理论计算初始输出权重并把k置为0。

步骤s5:读取当前时刻24小时以内电力系统状态估计数据,对新获取的数据使用变分模态分解算法对获取的历史数据段进行分解,获得多个具有不同中心频率的新获取的子数据段并计算每个新获取的子数据段的基于统计指标的特征构建训练样本,使用训练完成的检测器判断是否发生虚假数据注入攻击行为。

对新获取的数据执行步骤s2、步骤s3,并将计算出的特征集送入训练完成的基于在线序列极限学习机的检测器中进行虚假数据注入攻击识别。检测器被设置为0-1分类模式,其中1代表刚刚过去的时段有虚假数据注入攻击的发生,0代表系统状况正常。

步骤s6:收集到的检测数据样本,将经过可信认后的数据样本构造为新的扩充训练集在在线检测过程中,利用所使用检测器的在线数据学习能力,不断加入新训练样本进行模型更新,提高检测器的准确度性能。

在线序列极限学习机根据新到达的样本更新模型,对于第k+1块到来的样本检测器模型更新如下:

①计算新的隐含层输出矩阵:

②设置

③根据下式子更新输出权重β(k+1)

④设置k=k+1并返回在线更新阶段步骤①重新计算直到所有数据块被学习。

下面通过实例进行说明,这里系统负荷数据来源于纽约独立运行系统实验室。在进行变分模态分解之前,模态分解的模态数k需要确定,本发明通过计算模态相关系数比选择模态分解个数k,如图2所示。在k等于5时模态相关系数比达到99.85%。因此模态个数k选择为5。对系统状态进行变分模态分解,其效果如图3所示。

本发明的测试结果如表1所示。在该测试中,总共4096个样本中受损数据的比率为11.21%,并且由攻击注入引起的系统状态影响设置为+10%。为了验证方法的有效性,本文比较了基于elm的检测方法和传统检测方法。从表1中,可以看出传统状态估计不良数据检测方法平均检测准确率只有5.5874%,对虚假数据注入攻击的检测基本无效;基于极限学习机的检测方法平均检测准确率达到了88.4707%,对虚假数据攻击的检测有一定的效果,但存在较大的误报率及漏报率,不能完全保证电力系统运行的安全稳定运行;所提出的的基于变分模态分解和极限学习机的检测方法平均检测准确率高达95%以上,误报和漏报几乎可以忽略,证明其可以准确高效地检测出虚假数据,保证电力系统状态估计的安全性。

图4为所提出的基于变分模态分解和极限学习机的检测方法的具体检测结果,从图中可以看出在所有的数据(包含正常数据和混入的虚假数据)中,错误检测点只有3个,证明了所提出的方法可以高效准确完成虚假数据攻击的检测。图5位本发明在不同攻击强度下的检测表现。

表1

本发明结合了变分模态分解技术和机器学习技术。该检测方法加装在电力系统状态估计部分之后,首先使用变分模态分解技术将系统状态时间序列分解为多个具有不同中心频率的子序列的集合;其次,为了压缩冗余数据便于模型训练,使用基于统计指标的特征量来表达数据段特征;最后以计算出的特征集合为在线贯序极限学习机的训练集,构造智能电网下虚假数据注入攻击检测器。在此过程中,经过可信认证的数据可以作为扩充训练集不断优化具有在线学习能力的检测器的性能。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1