一种基于强化学习的智能电网虚假数据注入攻击检测方法与流程

文档序号:26307780发布日期:2021-08-17 13:48阅读:195来源:国知局
一种基于强化学习的智能电网虚假数据注入攻击检测方法与流程

本发明涉及智能电网领域,尤其涉及一种基于强化学习的智能电网虚假数据注入攻击检测方法。



背景技术:

智能电网是一种将信息传输通道与电力传输通道分离,从而使电网拥有更高效的电力资源配置、更强的抗干扰能力的新型电网技术,随着信息技术的深入发展,其的信息安全成为了一个重要的关注点。虚假数据注入攻击在智能电网信息攻击研究中占有重要地位,其核心思想是通过传统检测方法的漏洞,使用构造出的攻击向量来影响电网系统的状态估计,进而破坏电力系统的安全稳定运行。传统的虚假数据注入攻击检测方法为坏数据检测法。该方法仅能够检测直接虚假数据注入攻击,无法检测隐匿虚假数据注入攻击,同时由于其采用单阈值因此检测成功率一般。当前机器学习的检测方法可实现隐匿虚假数据注入攻击的检测,但需保证攻击向量远远大于噪声,缺少攻击向量比过程噪声略大的检测方法。



技术实现要素:

本发明的目的在于针对现有技术的不足,提供一种基于强化学习的智能电网虚假数据注入攻击的检测方法,本发明使用sarsa算法实现了虚假数据注入攻击的检测,提高了虚假数据注入攻击的检测准确率与检测速度。

本发明的目的是通过以下技术方案来实现的:一种基于强化学习的虚假数据注入攻击检测方法,包括以下步骤:

步骤一:建立电网的一般线性模型:

xt=axt-1+vt(1)

yt=hxt+wt(2)

其中xt=[x1,t,…,xn,t,…,xn,t]为t时刻系统状态,xn,t表示为t时刻第n个节点上的相角,n表示系统的总状态数;t时刻测量值表示为yt=[y1,t,…,ym,t,…,ym,t],ym,t表示为t时刻第m个测量仪表的检测值,m表示总测量仪表值;为状态转移矩阵,为由电网拓扑结构决定的雅克比矩阵,表示实数集;表示t时刻系统噪声,表示过程噪声的方差,其值由系统决定,in表示n维单位矩阵;表示t时刻测量噪声,表示测量噪声的方差,其值测量设备决定,im表示m维单位矩阵;

步骤二:虚拟攻击获得样本:对于直接攻击可以使用式(3)获得受攻击的测量值,对于隐匿攻击可以使用式(4)获得受攻击的测量值,

式中at表示t时刻直接攻击的攻击向量,hct表示隐匿攻击的攻击向量,由于h不会随着时间改变,因此使用ct表示隐匿攻击攻击向量,at与ct在样本训练中已知,在实际检测中未知,τ为系统受到攻击时间,表示阶跃函数,即当有t≥τ时

步骤三:观察值获取:计算测量值yt与其估计值的残差模长,将其用作直接虚假数据注入攻击的检测,将当前检测值yt与上一时刻的检测值yt-1的残差模长作为隐匿虚假数据注入攻击的检测,使用阈值分割法对两个模值进行程度划分,分别得到直接虚假数据注入攻击即时观察值与隐匿虚假数据注入攻击即时观察值,使用滑窗法将两个即时观察值更新至观察值中,分别得到对应时间的直接虚假数据注入攻击观察值与隐匿虚假数据注入攻击观察值;

步骤四:使用ε贪婪策略得到t时刻检测器动作at:将系统划分为两个状态,分别为sn系统未受到攻击与sa系统受到攻击,将检测器动作也分为两个状态as为算法认为系统受到攻击发出警报,ac表示算法认为系统未受到攻击不发出警报,在t时刻得到直接攻击检测观察值与隐匿攻击检测观察值使用贪婪策略基于直接虚假数据注入攻击检测的q表qn与隐匿虚假数据注入攻击检测的q表qs对检测器动作进行选择,ε贪婪策略即检测器以概率1-ε选择最优动作、以概率ε随机选择动作,ε每d步更新一次,更新公式如式(5)所示

ε=max(ε-e-1,εmin)(5)

式中e为当且已经进行使用的样本值,εmin为人为设置的最小ε值;

步骤五:使用sarsa算法进行训练,使用式(6)更新q表,

式中含有上角标i的参数表示用于检测i类型攻击的参数,i=n或s,即当i=n时表示该参数用于检测直接攻击,当i=s表示该参数用于检测隐匿攻击,qi为检测i类型攻击所需要的q表,为t时刻用于检测i类型攻击的观察值,为t时刻得到后对于i类型攻击可以采取的动作,α为学习效率,γi为针对i型攻击训练的贴现因数,为t时刻用于检测i型攻击的状态为动作为时的回报,其取值如式(7)所示,

式中r0与b为预先确定的超前警报回报值与滞后警报回报值系数,为t时刻i类型检测的系统状态;

步骤六:重复步骤一到步骤五直到到达阶段最大检测时间t,或中有as出现;

步骤七:重复步骤一到步骤六直到将总样本数e用尽,得到完整qd表与qs表;

步骤八:在检测时,使用步骤一到步骤三得到观察值使用式(8)分别根据qd表与qs表获得动作当两个动作值均为ac时重复本步骤,直到有一个为as时停止检测发出警报,当为as时认为系统受到直接虚假数据注入攻击,当为as时认为系统受到直接虚假数据注入攻击。

进一步地,所述步骤三通过以下子步骤来实现:

(3.1)设置阈值:根据不同的电网结构分别设置直接虚假数据注入攻击阈值与隐匿虚假数据注入攻击阈值

(3.2)获得检测值:从各个检测仪表获得t时刻检测值yt,调用t-1时刻检测值yt-1;

(3.3)实用卡尔曼滤波估计检测值:使用式(9)与式(10)所示的最小二乘算法得到t时刻状态估计值使用式(11)计算得到t时刻测量估计值

式中为测量值偏差的方差矩阵;

(3.4)计算偏差模方值:使用式(12)和(13)分别计算t时刻测量值与估计值的偏差模方值和t时刻与t-1时刻变化的模方值

(3.5)使用阈值分割法获得即时观察值:由可根据式(14)得到直接虚假数据注入攻击与隐匿虚假数据注入攻击的即时观察值

由于阈值分割方法一致,因此依旧使用上角标i代替上角标n和上角标s,即式(14)中i可以同时为n或s;

(3.6)使用滑窗法获得观察值:令t-1时刻直接虚假数据注入攻击观察值隐匿虚假数据注入攻击观察值使用滑窗法即为将对应的t时刻即时观察值加入至t-1时刻的观察值,再将最旧的即时观察值剔除,可得到t时刻的直接虚假数据注入攻击观察值为隐匿虚假数据注入攻击观察值为

本发明的有益效果是,本发明使用sarsa算法实现了虚假数据注入攻击的检测,提高了虚假数据注入攻击的检测准确率与检测速度,对于隐匿虚假数据注入攻击检测也有较好效果,并且方便的实现直接虚假数据注入攻击与隐匿虚假数据注入攻击的检测。

附图说明

图1是ieee-14节点图可根据该图获得h阵,

图2是训练q表流程图,

图3是检测流程图,

图4表示超前警报率检测测图,

图5表示滞后警报率检测图,

图6表示总警报失败率图,

图7表示超前警报率检测测图,

图8表示滞后警报率检测图,

图9表示总警报失败率图,

图10表示警报类别错误率图,

图11表示隐匿虚假数据注入攻击的即时检测成功率图,

图12表示直接虚假数据注入攻击的即时检测成功率图。

具体实施方式

为了加深对本发明的认识和理解,下面结合附图和实施方式详细的说明本发明。

实施例1:参见图1-图4,一种基于强化学习的智能电网虚假数据注入攻击检测方法,包括以下步骤:

步骤一:建立电网的一般线性模型:

xt=axt-1+vt(1)

yt=hxt+wt(2)

其中xt=[x1,t,…,xn,t,…,xn,t]为t时刻系统状态,xn,t表示为t时刻第n个节点上的相角,n表示系统的总状态数,取14;t时刻测量值表示为yt=[y1,t,…,ym,t,…,ym,t],ym,t表示为t时刻第m个测量仪表的检测值,m表示总测量仪表值,取23;为状态转移矩阵,设为单位矩阵,为由电网拓扑结构决定的雅克比矩阵,表示实数集;表示t时刻系统噪声,表示过程噪声的方差,其值取10-4,in表示n维单位矩阵;表示t时刻测量噪声,表示测量噪声的方差,其值取2×10-4,im表示m维单位矩阵;

步骤二:虚拟攻击获得样本:对于直接攻击可以使用式(3)获得受攻击的测量值,对于隐匿攻击可以使用式(4)获得受攻击的测量值,

式中at表示t时刻直接攻击的攻击向量,hct表示隐匿攻击的攻击向量,由于h不会随着时间改变,因此使用ct表示隐匿攻击攻击向量,at与ct在样本训练中已知,在实际检测中未知,τ为系统受到攻击时间,设10<τ<200,表示阶跃函数,即当有t之τ时

步骤三:观察值获取:计算测量值yt与其估计值的残差模长,将其用作直接虚假数据注入攻击的检测,将当前检测值yt与上一时刻的检测值yt-1的残差模长作为隐匿虚假数据注入攻击的检测,使用阈值分割法对两个模值进行程度划分,分别得到直接虚假数据注入攻击即时观察值与隐匿虚假数据注入攻击即时观察值,使用滑窗法将两个即时观察值更新至观察值中,分别得到对应时间的直接虚假数据注入攻击观察值与隐匿虚假数据注入攻击观察值;

该步骤是本发明的核心,分为以下子步骤。

3.1)设置阈值。

根据不同的电网结构分别设置直接虚假数据注入攻击阈值与隐匿虚假数据注入攻击阈值

3.2)获得检测值。

从各个检测仪表获得t时刻检测值yt,调用t-1时刻检测值yt-1;

3.3)实用卡尔曼滤波估计检测值。

使用式(9)与式(10)所示的最小二乘算法得到t时刻状态估计值使用式(11)计算得到t时刻测量估计值

式中为测量值偏差的方差矩阵;

3.4)计算偏差模方值。

使用式(12)和(13)分别计算t时刻测量值与估计值的偏差模方值和t时刻与t-1时刻变化的模方值

3.5)使用阈值分割法获得即时观察值。

可根据式(14)得到直接虚假数据注入攻击与隐匿虚假数据注入攻击的即时观察值

由于阈值分割方法一致,因此依旧使用上角标i代替上角标n和上角标s,即式(14)中i可以同时为n或s;

3.6)使用滑窗法获得观察值。

令t-1时刻直接虚假数据注入攻击观察值隐匿虚假数据注入攻击观察值使用滑窗法即为将对应的t时刻即时观察值加入至t-1时刻的观察值,再将最旧的即时观察值剔除,可得到t时刻的直接虚假数据注入攻击观察值为隐匿虚假数据注入攻击观察值为

步骤四:使用ε贪婪策略得到t时刻检测器动作at:将系统划分为两个状态,分别为sn系统未受到攻击与sa系统受到攻击,将检测器动作也分为两个状态as为算法认为系统受到攻击发出警报,ac表示算法认为系统未受到攻击不发出警报,在t时刻得到直接攻击检测观察值与隐匿攻击检测观察值使用贪婪策略基于直接虚假数据注入攻击检测的q表qn与隐匿虚假数据注入攻击检测的q表qs对检测器动作进行选择,ε贪婪策略即检测器以概率1-ε选择最优动作、以概率ε随机选择动作,ε每d步更新一次,令d=40,更新公式如式(5)所示

ε=max(ε-e-1,εmin)(5)

式中e为当且已经进行使用的样本值,εmin=0.01为人为设置的最小ε值,ε初值设置为0.2;

步骤五:使用sarsa算法进行训练,使用式(6)更新q表,

式中含有上角标i的参数表示用于检测i类型攻击的参数,i=n或s,即当i=n时表示该参数用于检测直接攻击,当i=s表示该参数用于检测隐匿攻击,qi为检测i类型攻击所需要的q表,为t时刻用于检测i类型攻击的观察值,为t时刻得到后对于i类型攻击可以采取的动作,α为学习效率,设为0.1,γi为针对i型攻击训练的贴现因数,针对直接虚假数据注入攻击与隐匿虚假数据注入攻击均设为1,为t时刻用于检测i型攻击的状态为动作为时的回报,其取值如式(7)所示,

式中r0与b为预先确定的超前警报回报值与滞后警报回报值系数,分别设置为r0=1、b=0.01,为t时刻i类型检测的系统状态;

步骤六:重复步骤一到步骤五直到到达阶段最大检测时间t=300,或中有as出现;

步骤七:重复步骤一到步骤六直到将总样本数e=40000用尽,得到完整qd表与qs表;

步骤八:在检测时,使用步骤一到步骤三得到观察值使用式(8)分别根据qd表与qs表获得动作当两个动作值均为ac时重复本步骤,直到有一个为as时停止检测发出警报,当为as时认为系统受到直接虚假数据注入攻击,当为as时认为系统受到直接虚假数据注入攻击。

结合附图可以看到,图4表示超前警报率检测测图,此图中at与ct均分别服从[0,0.075]、[0.075,0.15]、[0.1,0.175]、[0.15,0.225]、[0.175,0.25]的均匀分布,far表示超前警报率,即还未攻击就进行警报发生的频率,计算方式为超前警报的次数除以总检测次数,directattacktest表示使用本方法进行直接虚假数据注入攻击的检测结果,stea1thattacktest表示使用本方法进行隐匿虚假数据注入攻击的检测结果,bdd表示使用传统坏数据监测方法的结果,bdd只能检测直接虚假数据注入攻击(检测阈值设为0.006),lm为at与ct服从分布的区间下限,um为at与ct服从分布的区间上限。图5表示滞后警报率检测图,此图中at与ct均分别服从[0,0.075]、[0.075,0.15]、[0.1,0.175]、[0.15,0.225]、[0.175,0.25]的均匀分布,其中dar表示滞后警报率,即攻击后检测超过10次还未进行警报的频率,计算方式为滞后警报的次数除以总检测次数表示滞后警报率。图6表示总警报失败率图,此图中at与ct均分别服从[0,0.075]、[0.075,0.15]、[0.1,0.175]、[0.15,0.225]、[0.175,0.25]的均匀分布,其中tfr表示总警报失败率,即包括far、dar、cer在内的检测失败的总的频率,计算方式为总失败次数除以总检测次数。图7表示超前警报率检测测图,此图中at与ct均分别服从[0,0.15]、[0.01,0.25]、[0.15,0.3]、[0.2,0.35]、[0.25,0.4]的均匀分布。图8表示滞后警报率检测图,此图中at与ct均分别服从[0,0.15]、[0.01,0.25]、[0.15,0.3]、[0.2,0.35]、[0.25,0.4]的均匀分布。图9表示总警报失败率图,此图中at与ct均分别服从[0,0.15]、[0.01,0.25]、[0.15,0.3]、[0.2,0.35]、[0.25,0.4]的均匀分布。图10表示警报类别错误率图,此图中um-lm=0.075为at与ct服从图4分布,um-lm=0.1.5为at与ct服从图7分布,um-lm=0.075为at与ct分别服从[0.03,0.08]、[0.05,0.1]、[0.1,0.15]、[0.15,0.2]、[0.2,0.25]的均匀分布,cer表示警报类别错误率,即直接虚假数据注入攻击与隐匿虚假数据注入攻击检测类别是错误的频率,计算方式为类别检测错误的次数除以总检测次数。图11表示隐匿虚假数据注入攻击的即时检测成功率图,三个分布与图10相同,sdr表示即时检测成功率,即攻击后立刻进行警报的频率,计算方式为立刻警报的次数除以总检测次数。图12表示直接虚假数据注入攻击的即时检测成功率图,三个分布与图10相同。

需要说明的是上述实施例,并非用来限定本发明的保护范围,在上述技术方案的基础上所作出的等同变换或替代均落入本发明权利要求所保护的范围。

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