CN115134130B - 一种基于DQN算法的智能电网DoS攻击检测方法 - Google Patents

一种基于DQN算法的智能电网DoS攻击检测方法 Download PDF

Info

Publication number
CN115134130B
CN115134130B CN202210672597.9A CN202210672597A CN115134130B CN 115134130 B CN115134130 B CN 115134130B CN 202210672597 A CN202210672597 A CN 202210672597A CN 115134130 B CN115134130 B CN 115134130B
Authority
CN
China
Prior art keywords
time
value
attack
dqn
obtaining
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202210672597.9A
Other languages
English (en)
Other versions
CN115134130A (zh
Inventor
张阔
吴争光
陆康迪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang University ZJU
Original Assignee
Zhejiang University ZJU
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhejiang University ZJU filed Critical Zhejiang University ZJU
Priority to CN202210672597.9A priority Critical patent/CN115134130B/zh
Publication of CN115134130A publication Critical patent/CN115134130A/zh
Application granted granted Critical
Publication of CN115134130B publication Critical patent/CN115134130B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1458Denial of Service
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y04INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
    • Y04SSYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
    • Y04S40/00Systems for electrical power generation, transmission, distribution or end-user application management characterised by the use of communication or information technologies, or communication or information technology specific aspects supporting them
    • Y04S40/20Information technology specific aspects, e.g. CAD, simulation, modelling, system security

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Physics & Mathematics (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Biophysics (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Testing Or Calibration Of Command Recording Devices (AREA)
  • Feedback Control In General (AREA)

Abstract

本发明公开了一种基于DQN算法的智能电网DoS攻击检测方法。传统的坏数据检测法十分依赖阈值设置,本发明通过使用DQN算法减少对于阈值设置的依赖程度。在观察值构造方面,本发明使用连乘积的方式构造观察值,相较于传统的滑窗法,可以对观察值进行大幅度的降维。同时,在检测到攻击后,本发明对未收到的信号进行剔除得到一个新的状态估计,该估计可作为后续计算的参照。最后使用DQN算法对DoS攻击检测进行训练。本发明实现了DoS攻击的快速检测,增加了检测速度与成功率,其实现方法简单,检测效率能够有显著提升。

Description

一种基于DQN算法的智能电网DoS攻击检测方法
技术领域
本发明属于智能电网领域,尤其涉及一种基于DQN算法的智能电网DoS攻击检测方法。
背景技术
智能电网是一种典型的信息物理系统,它将信息传输通道与电力传输通道分离,从而使电网拥有更高效的电力资源配置、更强的抗干扰能力的新型电网技术。但由于对信息技术的广泛使用,信息安全也称为电网中的重要一环。DoS攻击是信息物理系统的一种典型攻击方式,其核心思想是使用信息技术对电网信息系统进行攻击,造成系统丢包进而影响电力系统的安全稳定。传统的检测方法为坏数据检测法。但该方法仅能检测攻击额而不能检测攻击位置,同时由于其采用单阈值因此检测成功率一般,当前一些其他的检测方法可实现DoS攻击的检测,但阈值设置时期的检测成功率依然不高。
发明内容
本发明的目的在于针对现有技术的不足,提供一种基于DQN算法的智能电网DoS攻击检测方法。
本发明的目的是通过以下技术方案来实现的:一种基于DQN算法的智能电网DoS攻击检测方法,包括以下步骤:
步骤一:建立电网的一般线性模型:
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表示总测量仪表值;
Figure BDA0003693738890000011
为状态转移矩阵,
Figure BDA0003693738890000012
为雅克比矩阵,
Figure BDA0003693738890000013
表示实数集;
Figure BDA0003693738890000014
表示t时刻系统噪声,
Figure BDA0003693738890000015
表示过程噪声的方差,IN表示N维单位矩阵;
Figure BDA0003693738890000016
表示t时刻测量噪声,
Figure BDA0003693738890000017
表示测量噪声的方差,IM表示M维单位矩阵;
步骤二:虚拟攻击获得样本:对于DoS攻击可以使用式(3)获得受攻击的测量值:
ym,t=dm,t×(hmxt+wm,t)        (3)
式中,dm,t表示t时刻ym,t是否遭受DoS攻击,当ym,t遭受攻击时dm,t=0,当ym,t未遭受攻击时dm,t=1,hm为系统矩阵H的第m行向量,wm,t为t时刻时第m个检测值检测时所面对的噪声;
步骤三:观察值获取:使用式(4)卡尔曼滤波获得状态估计:
Figure BDA0003693738890000021
其中,
Figure BDA0003693738890000022
为t时刻状态估计
Figure BDA0003693738890000023
获得状态估计后,使用式(5)获得检测值的估计值:
Figure BDA0003693738890000024
得到检测值估计后,进行观察值Rt的获取;
步骤四:修正观察值获取:当系统被判定在t时刻遭受攻击或在前T时段内被判定遭受过攻击时,需要对测量值进行修正,并构造了修正观察值
Figure BDA0003693738890000025
设剔除受攻击后的测量值序列为
Figure BDA0003693738890000026
相应的系统矩阵与测量值估计也变为He
Figure BDA0003693738890000027
乘数Gt对应变为
Figure BDA0003693738890000028
步骤五:配置DQN:将整个检测过程视作马尔科夫决策问题;将系统划分为两个状态,分别为系统未受到攻击sn与系统受到攻击sa;令t时刻的观测为ot;将检测器动作也分为两个状态,其中as表示算法认为系统存在异常发出警报,ac表示算法认为系统正常运行不发出警报;回报为rt;系统的状态转移概率设为未知;设置神经网络为两层,每层神经元个数根据电网结构大小进行设置,使用BP神经网络进行训练,设置学习率和学习率下降比;
步骤六:观测获取:获得Rt
Figure BDA0003693738890000029
后,使用阈值分割法对其进行降维;再使用滑窗法,最后整合得到观测;
步骤七:使用ε贪婪策略得到t时刻检测器动作at:在动作选择上采用ε贪婪策略,检测器以概率1-ε选择最优动作、以概率ε随机选择动作,使用式(14)更新ε:
ε=max(ε×dε,εmin)                           (14)
其中,dε为ε的衰减速率,εmin为ε最小值;选择动作后,根据动作与状态得到回报rt
步骤八:DQN训练:在训练前确定攻击时间与次数,令攻击集合为Tau;使用步骤一至步骤四,与步骤六至步骤七,进行训练,并对DQN网络进行更新,具体更新公式如下;最后重复该步骤直到样本总数E用尽;
ζt=rt+μmaxaQ(ot+1,·;δ)                     (16)
ξt=(ζt-Q(ot,at;δ))2                         (17)
式中,Q代表DQN网络,μ为DQN算法中的折扣因子,δ为权重,ξt为损失函数,得到ξt后使用梯度下降法对DQN网络进行更新;
步骤九:检测:在进行检测时,需要放弃使用ε贪婪策略,而采用最优动作进行动作选取,最优动作选取公式如式(18)所示:
at=max(Q(ot,·;δ))                  (18)
式中,Q为已经训练好的DQN神经网络。
进一步地,步骤三中,求观察值:
Figure BDA0003693738890000031
Figure BDA0003693738890000032
式中,γ为Rt的折扣比率,Gt为乘数。
进一步地,步骤四包括:
(4.1)修正测量值,包括:
首先,可将测量值分为不同区域(1,2,...,K),其中第k区域含有lk个检测器,每个检测器只能在一个区域;其次将区域划组(1,2,...,P),其中第p组含有zp个区域,每个区域只能分在一个组中;最后当系统受到攻击时,使用式(8)至式(10),判断该组与该区域是否存在受攻击检测值:
Figure BDA0003693738890000033
Figure BDA0003693738890000034
Figure BDA0003693738890000035
式中,
Figure BDA0003693738890000036
为属于第p组中第k个区域的第j个测量值;当系统遭受DoS攻击时ft=0,此时寻找使ft=0的
Figure BDA0003693738890000037
即寻找
Figure BDA0003693738890000038
再通过
Figure BDA0003693738890000039
寻找
Figure BDA00036937388900000310
最后找到
Figure BDA00036937388900000311
(4.2)对于修正观察值,若系统在t时刻与之前的T时段内未发现异常,则令
Figure BDA00036937388900000312
若在t时刻未发现异常但在之前的T时段内存在异常,则可使用式(11)与式(12),分别对修正观察值
Figure BDA00036937388900000313
与修正乘数
Figure BDA00036937388900000314
进行计算;若在t时刻发现异常,则首先需要根据式(6)获取观察值Rt,再使用式(8)至式(10)剔除异常测量值后,使用式(12)进行计算:
Figure BDA00036937388900000315
Figure BDA00036937388900000316
进一步地,步骤六通过以下子步骤来实现:
(6.1)获取观测的阈值分割:设置b个阈值[δ1,δ2,…,δb],则可根据下式获得阈值分割后的值:
Figure BDA0003693738890000041
式中,上角标(e)代表修正值与非修正值均可使用此式;φ1~φb+1为区域符号;
(6.2)获取观测的滑窗法:在获得
Figure BDA0003693738890000042
Figure BDA0003693738890000043
后,令
Figure BDA0003693738890000044
在获得t+1时刻的值
Figure BDA0003693738890000045
Figure BDA0003693738890000046
后,使用滑窗法除去最旧的观察值并将其他观察值后移,最后加入新的观察值;具体地,在使用ot获得ot+1的过程中,需要将最旧的的
Figure BDA0003693738890000047
Figure BDA0003693738890000048
移除,加入新的观察值得到新的观测
Figure BDA0003693738890000049
进一步地,回报rt的设置为:当出现系统未受到攻击却发出警报与系统受到攻击却不发出警报两种情况时,会受到惩罚:
Figure BDA00036937388900000410
其中,r0为标准惩罚参数,其值为正数。
进一步地,步骤八包括:
(8.1)在每轮训练时,首先要获取上一轮训练的DQN网络,初始化其他参数:包括系统结构矩阵A与H、总训练幕长度E、阈值集合、折扣比率γ、标准惩罚参数r0、随机动作选择概率ε、ε的衰减速率dε、ε的最小值εmin,确定实施攻击时刻的集合Tau;
(8.2)判断当前训练幕e是否处于总训练幕长度之中,是则继续训练,否则执行(8.17);
(8.3)初始化时间t=0,观测o0=[φ1,φ1,φ1,φ1],动作a0=ac,初始状态x0,初始测量值y0及卡尔曼滤波中P0|0为与A同维度的单位矩阵;
(8.4)使用式(14)对ε进行更新;
(8.5)判断时间t是否小于第一预设值,若是则进行(8.6)至(8.8),否则跳至(8.9);
(8.6)对时刻t进行加1的更新操作;
(8.7)使用步骤一获得系统测量值yt
(8.8)使用步骤三、步骤四与步骤六获得观察值Rt与修正观察值
Figure BDA00036937388900000411
及它们对应的乘数Gt
Figure BDA00036937388900000412
进而获得t时刻观测ot,返回(8.5);
(8.9)判断时间t是否小于第二预设值,若是则进行(8.10)至(8.15),否则结束该轮训练跳至(8.16);
(8.10)更新t值,并根据上一时刻的观测和动作获取回报;
(8.11)更新DQN网络;
(8.12)使用步骤一获得系统测量值yt
(8.13)若当前时刻t属于实施攻击时刻的集合Tau,则实施步骤二,否则越过此步直接执行(8.14);
(8.14)使用步骤三、步骤四与步骤六获得观察值Rt与修正观察值
Figure BDA0003693738890000051
及它们对应的乘数Gt
Figure BDA0003693738890000052
进而获得t时刻观测ot
(8.15)使用ε贪婪策略选择当前时刻的动作,并返回至(8.9);
(8.16)重复(8.1)至(8.15)直到训练完所有样本,即当前训练幕e要大于等于总训练幕长度E,然后执行(8.17);
(8.17)结束DQN网络的训练。
进一步地,步骤九包括:
(9.1)导入训练好的DQN网络,初始化其他参数:包括系统结构矩阵A与H、阈值集合、折扣比率γ;
(9.2)确定攻击时间集合Tau;
(9.3)初始化时间t=0,观测o0=[φ1,φ1,φ1,φ1],动作a0=ac,初始状态x0,初始测量值y0及卡尔曼滤波中P0|0为与A同维度的单位矩阵;
(9.4)判断时间t是否小于第一预设值,若是则进行(9.5)至(9.7),否则跳至(9.8);
(9.5)对时刻t进行加1的更新操作;
(9.6)使用步骤一获得系统测量值yt
(9.7)使用步骤三、步骤四与步骤六获得观察值Rt与修正观察值
Figure BDA0003693738890000053
及它们对应的乘数Gt
Figure BDA0003693738890000054
进而获得t时刻观测ot,返回(9.4);
(9.8)判断时间t是否小于第二预设值,若是则进行(9.9)至(9.14),否则执行(9.15);
(9.9)对时刻t进行加1的更新操作;
(9.10)使用步骤一获得系统测量值yt
(9.11)若当前时刻t属于实施攻击时刻的集合Tau,则实施步骤二,否则越过此步直接执行(9.12);
(9.12)使用步骤三、步骤四与步骤六获得观察值Rt与修正观察值
Figure BDA0003693738890000055
及它们对应的乘数Gt
Figure BDA0003693738890000056
进而获得t时刻观测ot
(9.13)使用最优策略进行动作选择,如式(18)所示:
at=max(Q(ot,·;δ))    (18)
式中,Q表示导入的DQN网络,δ表示权重;
(9.14)根据动作选择是否发出警报,若动作为as,则警报后返回(9.8),否则直接返回(9.8);
(9.15)检测结束。
本发明的有益效果是:本发明使用DQN算法实现了DoS攻击的检测,提高了DoS攻击的检测准确率与检测速度,可以同时实现攻击的检测与攻击位置的检测。
附图说明
图1为IEEE-118节点图;
图2为训练DQN流程图。
图3为检测流程图。
图4为γ=0.9的条件下,受DoS攻击测量值数目为5个(均为随机选择)情况下的警报覆盖率图;此检测所用DQN网络需满足γ=0.9。横轴代表攻击间隔方式,方式1到5分别为随机攻击(攻击次数为5至30次),间隔为3进行攻击,间隔为5进行攻击,间隔为10进行攻击,间隔为20进行攻击。纵轴代表警报覆盖率。使用了Sarsa算法与BDD算法进行对比。
图5为γ=0.9的条件下,受DoS攻击测量值数目为5个(均为随机选择)情况下的错误警报率图;此检测所用DQN网络需满足γ=0.9。横轴代表攻击间隔方式,纵轴代表警报覆盖率,使用了Sarsa算法与BDD算法进行对比。
图6为γ=0.9的条件下,受DoS攻击测量值数目为7个(均为随机选择)情况下的警报覆盖率图;此检测所用DQN网络需满足γ=0.9。横轴代表攻击间隔方式,纵轴代表警报覆盖率,使用了Sarsa算法与BDD算法进行对比。
图7为γ=0.9的条件下,受DoS攻击测量值数目为7个(均为随机选择)情况下的错误警报率图;此检测所用DQN网络需满足γ=0.9。横轴代表攻击间隔方式,纵轴代表警报覆盖率,使用了Sarsa算法与BDD算法进行对比。
图8为γ=0.9的条件下,受DoS攻击测量值数目为10个(均为随机选择)情况下的警报覆盖率图;此检测所用DQN网络需满足γ=0.9。横轴代表攻击间隔方式,纵轴代表警报覆盖率,使用了Sarsa算法与BDD算法进行对比。
图9为γ=0.9的条件下,受DoS攻击测量值数目为10个(均为随机选择)情况下的错误警报率图;此检测所用DQN网络需满足γ=0.9。横轴代表攻击间隔方式,纵轴代表警报覆盖率,使用了Sarsa算法与BDD算法进行对比。
图10为γ=0.7的条件下,受DoS攻击测量值数目为5个(均为随机选择)情况下的警报覆盖率图;此检测所用DQN网络需满足γ=0.7。横轴代表攻击间隔方式,纵轴代表警报覆盖率,使用了Sarsa算法与BDD算法进行对比。
图11为γ=0.7的条件下,受DoS攻击测量值数目为5个(均为随机选择)情况下的错误警报率图;此检测所用DQN网络需满足γ=0.7。横轴代表攻击间隔方式,纵轴代表警报覆盖率,使用了Sarsa算法与BDD算法进行对比。
图12为γ=0.7的条件下,受DoS攻击测量值数目为7个(均为随机选择)情况下的警报覆盖率图;此检测所用DQN网络需满足γ=0.7。横轴代表攻击间隔方式,纵轴代表警报覆盖率,使用了Sarsa算法与BDD算法进行对比。
图13为γ=0.7的条件下,受DoS攻击测量值数目为7个(均为随机选择)情况下的错误警报率图;此检测所用DQN网络需满足γ=0.7。横轴代表攻击间隔方式,纵轴代表警报覆盖率,使用了Sarsa算法与BDD算法进行对比。
图14为γ=0.7的条件下,受DoS攻击测量值数目为10个(均为随机选择)情况下的警报覆盖率图;此检测所用DQN网络需满足γ=0.7。横轴代表攻击间隔方式,纵轴代表警报覆盖率,使用了Sarsa算法与BDD算法进行对比。
图15为γ=0.7的条件下,受DoS攻击测量值数目为10个(均为随机选择)情况下的错误警报率图;此检测所用DQN网络需满足γ=0.7。横轴代表攻击间隔方式,纵轴代表警报覆盖率,使用了Sarsa算法与BDD算法进行对比。
图16为γ=0.5的条件下,受DoS攻击测量值数目为5个(均为随机选择)情况下的警报覆盖率图;此检测所用DQN网络需满足γ=0.5。横轴代表攻击间隔方式,纵轴代表警报覆盖率,使用了Sarsa算法与BDD算法进行对比。
图17为γ=0.5的条件下,受DoS攻击测量值数目为5个(均为随机选择)情况下的错误警报率图;此检测所用DQN网络需满足γ=0.5。横轴代表攻击间隔方式,纵轴代表警报覆盖率,使用了Sarsa算法与BDD算法进行对比。
图18为γ=0.5的条件下,受DoS攻击测量值数目为7个(均为随机选择)情况下的警报覆盖率图;此检测所用DQN网络需满足γ=0.5。横轴代表攻击间隔方式,纵轴代表警报覆盖率,使用了Sarsa算法与BDD算法进行对比。
图19为γ=0.5的条件下,受DoS攻击测量值数目为7个(均为随机选择)情况下的错误警报率图;此检测所用DQN网络需满足γ=0.5。横轴代表攻击间隔方式,纵轴代表警报覆盖率,使用了Sarsa算法与BDD算法进行对比。
图20为γ=0.5的条件下,受DoS攻击测量值数目为10个(均为随机选择)情况下的警报覆盖率图;此检测所用DQN网络需满足γ=0.5。横轴代表攻击间隔方式,纵轴代表警报覆盖率,使用了Sarsa算法与BDD算法进行对比。
图21为γ=0.5的条件下,受DoS攻击测量值数目为10个(均为随机选择)情况下的错误警报率图;此检测所用DQN网络需满足γ=0.5。横轴代表攻击间隔方式,纵轴代表警报覆盖率,使用了Sarsa算法与BDD算法进行对比。
具体实施方式
下面根据附图详细说明本发明。
本发明一种基于DQN算法的智能电网DoS攻击检测方法,包括以下步骤:
步骤一:建立电网的一般线性模型:
xt=Axt-1+vt                   (1)
yt=Hxt+wt                    (2)
其中,xt=[x1,t,…,xn,t,…,xN,t]为t时刻系统状态,xn,t表示t时刻第n个节点上的相角,N表示系统的总状态数,取118;yt=[y1,t,…,ym,t,…,yM,t]为t时刻测量值,ym,t表示为t时刻第m个测量仪表的检测值,M表示测量仪表的总数量,取216。
Figure BDA0003693738890000081
为状态转移矩阵,取单位矩阵;
Figure BDA0003693738890000082
为由电网拓扑结构决定的雅克比矩阵,可根据图1获得;
Figure BDA0003693738890000083
表示实数集。
Figure BDA0003693738890000084
表示t时刻系统噪声;
Figure BDA0003693738890000085
表示过程噪声的方差,其值取10-4(由系统决定);IN表示N维单位矩阵。
Figure BDA0003693738890000086
表示t时刻测量噪声;
Figure BDA0003693738890000087
表示测量噪声的方差,其值取2×10-4(由测量设备决定);IM表示M维单位矩阵。
步骤二:虚拟攻击获得样本,对于DoS攻击可以使用式(3)获得受攻击的测量值;
ym,t=dm,t×(hmXt+wm,t)     (3)
式中,ym,t表示t时刻第m个检测仪表的检测值,dm,t表示t时刻ym,t是否遭受DoS攻击,当ym,t遭受攻击时dm,t=0,当ym,t未遭受攻击时dm,t=1;hm为系统矩阵H的第m行向量,wm,t为t时刻第m个检测值检测时所面对的噪声。
步骤三:观察值获取。
(3.1)使用式(4)卡尔曼滤波获得状态估计:
Figure BDA0003693738890000088
其中,
Figure BDA0003693738890000089
表示对系统的状态估计,
Figure BDA00036937388900000810
为t时刻卡尔曼滤波计算下的状态估计,将其计算结果赋值至
Figure BDA0003693738890000091
Figure BDA0003693738890000092
表示根据t-1时刻的状态估计对t时刻状态估计的预测;Pt|t表示t时刻下的状态协方差矩阵的估计,Pt|t-1表示对t时刻下的状态协方差矩阵的估计的预测;Gt表示t时刻下的卡尔曼滤波增益矩阵。
(3.2)获得状态估计后,使用式(5)获得检测值的估计值
Figure BDA0003693738890000093
Figure BDA0003693738890000094
(3.3)得到检测值估计后,可进行观察值Rt的获取。求观察值,需使用式(6)计算:
Figure BDA0003693738890000095
式中,γ为Rt的折扣比率,Gt为该算法的乘数,其具体计算方式如式(7)所示。由于Rt中含有过去时刻的观察值,因此只需要两个观察值即可得到Rt的变化规律,即在时间t时,使用[Rt,Rt-1]。
Figure BDA0003693738890000096
步骤四:修正观察值获取。当系统被判定遭受攻击,或在T时段(T可由操作员设置)内被判定遭受过攻击时,需要对测量值进行修正,以保证后续状态估计的准确性。除此之外,为了保证后续观察值的计算稳定性,即清除攻击对于Rt的影响,本发明构造了修正观察值
Figure BDA00036937388900000910
该步骤是本发明的核心之一,包括以下子步骤:
(4.1)修正测量值。
首先,可将测量值分为不同区域k(1,2,...,20);其中,前4个区域的每个区域含有10个检测器,后16个区域每个区域含11个检测器。每个检测器只能在一个区域,即
Figure BDA0003693738890000097
K=20。
其次,将区域划组(1,2);其中,每组含10个区域。每个区域只能分在一个组中,即
Figure BDA0003693738890000098
P=2。该组可称为第一层组,可根据电网结构构造多层组,具体方法与一层组构造类似,即将数个第一层组加入某个第二层组。
最后,当系统受到攻击时,使用式(8)至式(10),判断该组与该区域是否存在受攻击检测值(当有更多上层组时公式可扩展至更多):
Figure BDA0003693738890000099
Figure BDA0003693738890000101
Figure BDA0003693738890000102
式中,ft表示t时刻总的受攻击的测量值的位置检测判断依据,
Figure BDA0003693738890000103
表示t时刻第p组受攻击测量值位置检测的判断依据,
Figure BDA0003693738890000104
表示t时刻属于第p组中第k个区域受攻击测量值的位置检测的判断依据,
Figure BDA0003693738890000105
为t时刻属于第p组中第k个区域的第j个测量值。当系统遭受DoS攻击时,ft=0,此时可寻找使ft=0的
Figure BDA0003693738890000106
即寻找
Figure BDA0003693738890000107
再通过
Figure BDA0003693738890000108
寻找
Figure BDA0003693738890000109
最后找到
Figure BDA00036937388900001010
尽管此方法需要连乘计算,但是可以将不为0的测量值设为1,减小计算量;由于DoS攻击一般都为小规模攻击,因此,该方法相较于直接从测量值上找受到攻击的测量值,速度更快。
(4.2)设剔除受攻击的测量值序列为
Figure BDA00036937388900001011
其获得方式为,在检测到攻击后,将yt中所有测量值为零的或无法获取测量值的检测,即上文中发现的
Figure BDA00036937388900001012
从yt中移除。
在找到
Figure BDA00036937388900001013
的位置后,在系统结构矩阵中也要移除相应的行得到He,以保证He的行与
Figure BDA00036937388900001014
中的值依然有一一对应关系。修正观察值对应为
Figure BDA00036937388900001015
修正乘数对应为
Figure BDA00036937388900001016
对于修正观察值,若系统在t时刻与之前的T时段内未发现异常,则可令
Figure BDA00036937388900001017
若在t时刻未发现异常但在之前的T时段内存在异常,则可使用式(11)与式(12)分别对修正观察值
Figure BDA00036937388900001018
与修正乘数
Figure BDA00036937388900001019
进行计算;若在t时刻发现异常,则首先需要根据式(6)获取观察值Rt,再使用式(8)至式(10)剔除异常测量值后使用式(12)进行计算。
Figure BDA00036937388900001020
Figure BDA00036937388900001021
步骤五:配置DQN算法。
将整个检测过程视作马尔科夫决策问题。将系统划分为两个状态,分别为系统未受到攻击sn与系统受到攻击sa。但由于无法直接观察到状态,因此需要构造观测,令t时刻的观测为ot,该值可在后续步骤获取。将检测器动作也分为两个状态,其中as为算法认为系统存在异常发出警报,ac表示算法认为系统正常运行不发出警报。回报为rt,该值根据不同状态与观测下的不同动作有不同取值。系统的状态转移概率设为未知。设置神经网络为两层,每层神经元为10个,使用BP神经网络进行训练,学习率设置为0.1,学习率下降比设置为0.8,重放储存区尺寸设置为10000,采样样本数设置为200,其余设置默认。
步骤六:观测获取。获得Rt
Figure BDA0003693738890000111
后,考虑到Rt
Figure BDA0003693738890000112
的维度为[0,+∞],因此使用阈值分割法,对其进行降维;由于该方法使用的是DNQ,因此不存在Q表维度过大的问题,可以设置多个阈值。由于Rt中包含过去时刻的状态,因此只需要增加一个Rt-1来观察Rt的走向即可,即在阈值分割法后再使用滑窗法,最后整合得到观测。该步骤是本发明的核心之一,包括以下子步骤:
(6.1)获取观测的阈值分割。
为了最大可能的减小维度灾难,本发明使用DQN算法进行学习,这可以在设置多个阈值下,减小Q表维度过大的问题;具体阈值设置可根据电网规模与DQN规模,设置阈值[δ1,δ2,δ3,δ4,δ5,δ6,δ7,δ8,δ9,δ10,δ11,δ12,δ13,δ14,δ15]=[0.015,0.03,0.04,0.06,0.1,0.12,0.15,0.2,0.5,1,5,10,20,50,100]。
可根据式(13)获得阈值分割后的值:
Figure BDA0003693738890000113
式中,上角标(e)代表修正值与非修正值均可使用此式。
Figure BDA0003693738890000114
表示t时刻观察值Rt所处的阈值区间,
Figure BDA0003693738890000115
表示t时刻修正观察值
Figure BDA0003693738890000116
所处的阈值区间;φ1~φ16表示不同阈值范围下所处的阈值区间。例如,观察值Rt满足δ10≤Rt<δ11,此时Rt所处的区间为φ11,即
Figure BDA0003693738890000117
(6.2)获取观测的滑窗法。
在获得
Figure BDA0003693738890000118
Figure BDA0003693738890000119
后,可令
Figure BDA00036937388900001110
在获得t+1时刻的值,使用滑窗法除去最旧的观察值并将其他观察值后移,最后加入新的观察值,例如在使用ot获得ot+1的过程中,需要将ot中最旧的的
Figure BDA00036937388900001111
Figure BDA00036937388900001112
移除,加入新的观察值
Figure BDA00036937388900001113
Figure BDA00036937388900001114
后,得到新的观测
Figure BDA00036937388900001115
步骤七:使用ε贪婪策略,得到t时刻检测器动作at,并获得回报反馈。
(7.1)在动作选择上可以采用ε贪婪策略,即检测器以概率1-ε选择最优动作、以概率ε随机选择动作。由于前期需要更多探索,因此前期需要赋予ε更大的值,而后期需要赋予ε更小的值,因此可使用式(14)进行更新:
ε=max(ε×dε,εmin)                      (14)
其中,dε为ε的衰减速率,取值0.95。εmin为ε的最小值,为0.01。初始ε为0.2。
(7.2)选择动作后,可以根据训练结果(动作与状态),得到回报,如式(15)所示:
Figure BDA0003693738890000121
其中,r0表示一个标准惩罚参数,其值为1。当出现系统未受到攻击却发出警报情况,与系统受到攻击却不发出警报情况时,回报值为-r0,其余情况回报值为0。
步骤八:DQN训练。如图2所示,包括:
(8.1)在每轮训练时,首先要获取上一轮训练的DQN网络(若无上一轮则获取初始化的DQN网络)与初始化其他参数,包括系统结构矩阵A与H、总训练幕长度E、阈值集合、折扣比率γ、标准惩罚参数r0、随机动作选择概率ε、ε的衰减速率dε、ε的最小值εmin,确定实施攻击时刻的集合Tau。
(8.2)判断当前训练幕e是否处于总训练幕长度之中,是则继续训练,否则执行(8.17)。
(8.3)初始化时间t=0,观测o0=[φ1,φ1,φ1,φ1],动作a0=ac,初始状态x0,初始测量值y0及卡尔曼滤波中P0|0为与A同维度的单位矩阵。
(8.4)使用式(14)对ε进行更新。
(8.5)判断时间t是否小于20(此值可以根据需要进行其他设置),若是则进行(8.6)至(8.8),否则跳至(8.9)。
(8.6)对时刻t进行加1的更新操作。
(8.7)使用步骤一获得系统测量值yt。
(8.8)使用步骤三、步骤四与步骤六获得观察值Rt与修正观察值
Figure BDA0003693738890000122
及它们对应的乘数Gt
Figure BDA0003693738890000123
进而获得t时刻观测ot,返回(8.5)。
(8.9)判断时间t是否小于200(此值可以根据需要进行其他设置),若是则进行(8.10)至(8.15),否则结束该轮训练跳至(8.16)。
(8.10)更新t值,并由式(15)对根据上一时刻的观测和动作获取回报。
(8.11)更新DQN网络,具体更新公式如下:
ζt=rt+μmaxa Q(ot+1,·;δ)             (16)
ξt=(ζt-Q(ot,at;δ))2            (17)
式中,Q代表DQN网络;μ为DQN算法中的折扣因子,取值为0.9;δ为该算法中的权重;ξt为损失函数,得到ξt后可以使用梯度下降法对DQN网络进行更新。
(8.12)使用步骤一获得系统测量值yt
(8.13)若当前时刻t属于实施攻击时刻的集合Tau,则实施步骤二,否则越过此步直接执行(8.14)。
(8.14)使用步骤三、步骤四与步骤六获得观察值Rt与修正观察值
Figure BDA0003693738890000131
及它们对应的乘数Gt
Figure BDA0003693738890000132
进而获得t时刻观测ot
(8.15)使用ε贪婪策略选择当前时刻的动作,并返回至(8.9)。
(8.16)重复(8.1)至(8.15)直到训练完所有样本,即当前训练幕e要大于等于总训练幕长度E,然后执行(8.17)。
(8.17)结束DQN网络的训练。
步骤九:检测。如图3所示,包括:
(9.1)导入已经训练好的DQN网络,初始化其他参数,包括系统结构矩阵A与H、阈值集合、折扣比率γ。
(9.2)确定攻击时间集合Tau,该时间的确定可以为随机确定,也可以间隔确定。
(9.3)初始化时间t=0,观测o0=[φ1,φ1,φ1,φ1],动作a0=ac,初始状态x0,初始测量值y0及卡尔曼滤波中P0|0为与A同维度的单位矩阵。
(9.4)判断时间t是否小于20(此值可以根据需要进行其他设置),若是则进行(9.5)至(9.7),否则跳至(9.8)。
(9.5)对时刻t进行加1的更新操作。
(9.6)使用步骤一获得系统测量值yt
(9.7)使用步骤三、步骤四与步骤六获得观察值Rt与修正观察值
Figure BDA0003693738890000133
及它们对应的乘数Gt
Figure BDA0003693738890000134
进而获得t时刻观测ot,返回(9.4)。
(9.8)判断时间t是否小于200(此值可以根据需要进行其他设置),若是则进行(9.9)至(9.14),否则执行(9.15)。
(9.9)对时刻t进行加1的更新操作。
(9.10)使用步骤一获得系统测量值yt
(9.11)若当前时刻t属于实施攻击时刻的集合Tau,则实施步骤二,否则越过此步直接执行(9.12)。
(9.12)使用步骤三、步骤四与步骤六获得观察值Rt与修正观察值
Figure BDA0003693738890000141
及它们对应的乘数Gt
Figure BDA0003693738890000142
进而获得t时刻观测ot
(9.13)由于在检测阶段不再需要探索,因此使用最优策略进行动作选择,如式(18)所示:
at=max(Q(ot,·;δ))              (18)
式中,Q表示导入的DQN网络,δ表示该网络的权重。
(9.14)根据动作选择是否发出警报,若动作为as,则警报后返回(9.8),否则直接返回(9.8)。
(9.15)该轮检测结束。
为了突出本发明的优越性,本发明实施例采用Sarsa算法(M.N.Kurt,O.Ogundijo,C.Li and X.Wang,”Online Cyber-Attack Detection in Smart Grid:A ReinforcementLearning Approach,″in IEEE Transactions on Smart Grid,vol.10,no.5,pp.5174-5185,Sept.2019,doi:10.1109/TSG.2018.2878570.)、BDD算法与本发明进行对比。其中,警报覆盖率表示,在警报集合K中存在于攻击集合Tau的攻击个数在Tau中所占的比率。错误警报率表示,在警报集合K中,不在攻击集合Tau中的警报个数在警报集合K中所占的比率。
图4表明在γ=0.9的条件下,受DoS攻击测量值数目为5个(均为随机选择)的情况下,本发明方法在警报覆盖率总体要略好于Sarsa算法,略差于BDD算法。
图5表明在γ=0.9的条件下,受DoS攻击测量值数目为5个(均为随机选择)的情况下,本发明方法在错误警报率远远好于Sarsa算法与BDD算法。
图6表明在γ=0.9的条件下,受DoS攻击测量值数目为7个(均为随机选择)的情况下,本发明方法在警报覆盖率总体要略好于Sarsa算法,略差于BDD算法。
图7表明在γ=0.9的条件下,受DoS攻击测量值数目为7个(均为随机选择)的情况下,本发明方法在错误警报率远远好于Sarsa算法与BDD算法。
图8表明在γ=0.9的条件下,受DoS攻击测量值数目为10个(均为随机选择)的情况下,本发明方法在警报覆盖率总体要略好于Sarsa算法,略差于BDD算法。
图9表明在γ=0.9的条件下,受DoS攻击测量值数目为10个(均为随机选择)的情况下,本发明方法在错误警报率远远好于Sarsa算法与BDD算法。
图10表明在γ=0.7的条件下,受DoS攻击测量值数目为5个(均为随机选择)的情况下,本发明方法在警报覆盖率总体要略好于Sarsa算法,略差于BDD算法。
图11表明在γ=0.7的条件下,受DoS攻击测量值数目为5个(均为随机选择)的情况下,本发明方法在错误警报率远远好于Sarsa算法与BDD算法。
图12表明在γ=0.7的条件下,受DoS攻击测量值数目为7个(均为随机选择)的情况下,本发明方法在警报覆盖率总体上与Sarsa算法表现相近,略差于BDD算法。
图13表明在γ=0.7的条件下,受DoS攻击测量值数目为7个(均为随机选择)的情况下,本发明方法在错误警报率远远好于Sarsa算法与BDD算法。
图14表明在γ=0.7的条件下,受DoS攻击测量值数目为10个(均为随机选择)的情况下,本发明方法在警报覆盖率总体要略好于Sarsa算法,略差于BDD算法。
图15表明在γ=0.5的条件下,受DoS攻击测量值数目为10个(均为随机选择)的情况下,本发明方法在错误警报率远远好于Sarsa算法与BDD算法。
图16表明在γ=0.5的条件下,受DoS攻击测量值数目为5个(均为随机选择)的情况下,本发明方法在警报覆盖率总体要略好于Sarsa算法,略差于BDD算法。
图17表明在γ=0.5的条件下,受DoS攻击测量值数目为5个(均为随机选择)的情况下,本发明方法在错误警报率远远好于Sarsa算法与BDD算法。
图18表明在γ=0.5的条件下,受DoS攻击测量值数目为7个(均为随机选择)的情况下,本发明方法在警报覆盖率总体要略好于Sarsa算法,略差于BDD算法。
图19表明在γ=0.5的条件下,受DoS攻击测量值数目为7个(均为随机选择)的情况下,本发明方法在错误警报率远远好于Sarsa算法与BDD算法。
图20表明在γ=0.5的条件下,受DoS攻击测量值数目为10个(均为随机选择)的情况下,本发明方法在警报覆盖率总体要略好于Sarsa算法,略差于BDD算法。
图21表明在γ=0.5的条件下,受DoS攻击测量值数目为10个(均为随机选择)的情况下,本发明方法在错误警报率远远好于Sarsa算法与BDD算法。
本发明并不限于上述实施方式,采用与本发明上述实施方式相同或近似的方式,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,均在本发明专利的保护范围之内。

Claims (7)

1.一种基于DQN算法的智能电网DoS攻击检测方法,其特征在于,包括以下步骤:
步骤一:建立电网的线性模型:
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表示总测量仪表值;
Figure FDA0004065628950000011
为状态转移矩阵,
Figure FDA0004065628950000012
为雅克比矩阵,
Figure FDA0004065628950000013
表示实数集;
Figure FDA0004065628950000014
表示t时刻系统噪声,
Figure FDA0004065628950000015
表示过程噪声的方差,IN表示N维单位矩阵;
Figure FDA0004065628950000016
表示t时刻测量噪声,
Figure FDA0004065628950000017
表示测量噪声的方差,IM表示M维单位矩阵;
步骤二:虚拟攻击获得样本:对于DoS攻击可以使用式(3)获得受攻击的测量值:
ym,t=dm,t×(hmXt+wm,t)                (3)
式中,dm,t表示t时刻ym,t是否遭受DoS攻击,当ym,t遭受攻击时dm,t=0,当ym,t未遭受攻击时dm,t=1,hm为系统矩阵H的第m行向量,wm,t为t时刻时第m个检测值检测时所面对的噪声;
步骤三:观察值获取:使用式(4)卡尔曼滤波获得状态估计:
Figure FDA0004065628950000018
其中,
Figure FDA0004065628950000019
为t时刻状态估计
Figure FDA00040656289500000110
Figure FDA00040656289500000111
表示根据t-1时刻的状态估计对t时刻状态估计的预测;
Pt|t表示t时刻下的状态协方差矩阵的估计,Pt|t-1表示对t时刻下的状态协方差矩阵的估计的预测;Gt表示t时刻下的卡尔曼滤波增益矩阵;获得状态估计后,使用式(5)获得检测值的估计值:
Figure FDA00040656289500000112
得到检测值估计后,进行观察值Rt的获取;求观察值,需使用式(6)计算:
Figure FDA00040656289500000113
式中,γ为Rt的折扣比率,Gt为该算法的乘数,其具体计算方式如式(7)所示;由于Rt中含有过去时刻的观察值,因此只需要两个观察值即可得到Rt的变化规律,即在时间t时,使用[Rt,Rt-1];
Figure FDA0004065628950000021
步骤四:修正观察值获取:当系统被判定在t时刻遭受攻击或在前T时段内被判定遭受过攻击时,需要对测量值进行修正,并构造了修正观察值
Figure FDA0004065628950000022
设剔除受攻击后的测量值序列为
Figure FDA0004065628950000023
相应的系统矩阵与测量值估计也变为He
Figure FDA0004065628950000024
乘数Gt对应变为
Figure FDA0004065628950000025
步骤五:配置DQN:将整个检测过程视作马尔科夫决策问题;将系统划分为两个状态,分别为系统未受到攻击sn与系统受到攻击sa;令t时刻的观测为ot;将检测器动作也分为两个状态,其中as表示算法认为系统存在异常发出警报,ac表示算法认为系统正常运行不发出警报;回报为rt;系统的状态转移概率设为未知;设置神经网络为两层,每层神经元个数根据电网结构大小进行设置,使用BP神经网络进行训练,设置学习率和学习率下降比;
步骤六:观测获取:获得Rt
Figure FDA0004065628950000027
后,使用阈值分割法对其进行降维;再使用滑窗法,最后整合得到观测;
步骤七:使用ε贪婪策略得到t时刻检测器动作at:在动作选择上采用ε贪婪策略,检测器以概率1-ε选择最优动作、以概率ε随机选择动作,使用式(14)更新ε:
ε=max(ε×dε,εmin)              (14)
其中,dε为ε的衰减速率,εmin为ε最小值;选择动作后,根据动作与状态得到回报rt,如式(15)所示:
Figure FDA0004065628950000026
其中,r0表示一个标准惩罚参数,其值为1;当出现系统未受到攻击却发出警报情况,与系统受到攻击却不发出警报情况时,回报值为-r0,其余情况回报值为0;
步骤八:DQN训练:在训练前确定攻击时间与次数,令攻击集合为Tau;使用步骤一至步骤四,与步骤六至步骤七,进行训练,并对DQN网络进行更新,具体更新公式如下;最后重复该步骤直到样本总数E用尽;
ζt=rt+μmaxaQ(ot+1,·;δ)             (16)
ξt=(ζt-Q(ot,at;δ))2                 (17)
式中,Q代表DQN网络,μ为DQN算法中的折扣因子,δ为权重,ξt为损失函数,得到ξt后使用梯度下降法对DQN网络进行更新;
步骤九:检测:在进行检测时,需要放弃使用ε贪婪策略,而采用最优动作进行动作选取,最优动作选取公式如式(18)所示:
at=max(Q(ot,·;δ))                     (18)
式中,Q为已经训练好的DQN神经网络,δ表示该网络的权重。
2.根据权利要求1所述基于DQN算法的智能电网DoS攻击检测方法,其特征在于,步骤三中,求观察值:
Figure FDA0004065628950000031
Figure FDA0004065628950000032
式中,γ为Rt的折扣比率,Gt为乘数。
3.根据权利要求1所述基于DQN算法的智能电网DoS攻击检测方法,其特征在于,步骤四包括:
(4.1)修正测量值,包括:
首先,可将测量值分为不同区域(1,2,...,K),其中第k区域含有lk个检测器,每个检测器只能在一个区域;其次将区域划组(1,2,...,P),其中第p组含有zp个区域,每个区域只能分在一个组中;最后当系统受到攻击时,使用式(8)至式(10),判断该组与该区域是否存在受攻击检测值:
Figure FDA0004065628950000033
Figure FDA0004065628950000034
Figure FDA0004065628950000035
式中,ft表示t时刻总的受攻击的测量值的位置检测判断依据,
Figure FDA0004065628950000036
表示t时刻第p组受攻击测量值位置检测的判断依据,
Figure FDA0004065628950000037
表示t时刻属于第p组中第k个区域受攻击测量值的位置检测的判断依据,
Figure FDA0004065628950000038
为属于第p组中第k个区域的第j个测量值;当系统遭受DoS攻击时ft=0,此时寻找使ft=0的
Figure FDA0004065628950000039
即寻找
Figure FDA00040656289500000310
再通过
Figure FDA00040656289500000311
寻找
Figure FDA00040656289500000312
最后找到
Figure FDA00040656289500000313
(4.2)对于修正观察值,若系统在t时刻与之前的T时段内未发现异常,则令
Figure FDA00040656289500000314
若在t时刻未发现异常但在之前的T时段内存在异常,则可使用式(11)与式(12),分别对修正观察值
Figure FDA0004065628950000041
与修正乘数
Figure FDA0004065628950000042
进行计算;若在t时刻发现异常,则首先需要根据式(6)获取观察值Rt,再使用式(8)至式(10)剔除异常测量值后,使用式(12)进行计算:
Figure FDA0004065628950000043
Figure FDA0004065628950000044
4.根据权利要求1所述基于DQN算法的智能电网DoS攻击检测方法,其特征在于,步骤六通过以下子步骤来实现:
(6.1)获取观测的阈值分割:设置b个阈值[δ1,δ2,…,δb],则可根据下式获得阈值分割后的值:
Figure FDA0004065628950000045
式中,上角标(e)代表修正值与非修正值均可使用此式;φ1~φb+1为区域符号;
(6.2)获取观测的滑窗法:在获得
Figure FDA0004065628950000046
Figure FDA0004065628950000047
后,令
Figure FDA0004065628950000048
在获得t+1时刻的值
Figure FDA0004065628950000049
Figure FDA00040656289500000410
后,使用滑窗法除去最旧的观察值并将其他观察值后移,最后加入新的观察值;具体地,在使用ot获得ot+1的过程中,需要将最旧的的
Figure FDA00040656289500000411
Figure FDA00040656289500000412
移除,加入新的观察值得到新的观测
Figure FDA00040656289500000413
5.根据权利要求1所述基于DQN算法的智能电网DoS攻击检测方法,其特征在于,回报rt的设置为:当出现系统未受到攻击却发出警报与系统受到攻击却不发出警报两种情况时,会受到惩罚:
Figure FDA00040656289500000414
其中,r0为标准惩罚参数,其值为正数。
6.根据权利要求1所述基于DQN算法的智能电网DoS攻击检测方法,其特征在于,步骤八包括:
(8.1)在每轮训练时,首先要获取上一轮训练的DQN网络,初始化其他参数:包括系统结构矩阵A与H、总训练幕长度E、阈值集合、折扣比率γ、标准惩罚参数r0、随机动作选择概率ε、ε的衰减速率dε、ε的最小值εmin,确定实施攻击时刻的集合Tau;
(8.2)判断当前训练幕e是否处于总训练幕长度之中,是则继续训练,否则执行(8.17);
(8.3)初始化时间t=0,观测o0=[φ1,φ1,φ1,φ1],动作a0=ac,初始状态x0,初始测量值y0及卡尔曼滤波中P0|0为与A同维度的单位矩阵;
(8.4)使用式(14)对ε进行更新;
(8.5)判断时间t是否小于第一预设值,若是则进行(8.6)至(8.8),否则跳至(8.9);
(8.6)对时刻t进行加1的更新操作;
(8.7)使用步骤一获得系统测量值yt
(8.8)使用步骤三、步骤四与步骤六获得观察值Rt与修正观察值
Figure FDA0004065628950000051
及它们对应的乘数Gt
Figure FDA0004065628950000052
进而获得t时刻观测ot,返回(8.5);
(8.9)判断时间t是否小于第二预设值,若是则进行(8.10)至(8.15),否则结束该轮训练跳至(8.16);
(8.10)更新t值,并使用步骤七根据上一时刻的观测和动作获取回报;
(8.11)更新DQN网络;
(8.12)使用步骤一获得系统测量值yt
(8.13)若当前时刻t属于实施攻击时刻的集合Tau,则实施步骤二,否则越过此步直接执行(8.14);
(8.14)使用步骤三、步骤四与步骤六获得观察值Rt与修正观察值
Figure FDA0004065628950000053
及它们对应的乘数Gt
Figure FDA0004065628950000054
进而获得t时刻观测ot
(8.15)使用ε贪婪策略选择当前时刻的动作,并返回至(8.9);
(8.16)重复(8.1)至(8.15)直到训练完所有样本,即当前训练幕e要大于等于总训练幕长度E,然后执行(8.17);
(8.17)结束DQN网络的训练。
7.根据权利要求1所述基于DQN算法的智能电网DoS攻击检测方法,其特征在于,步骤九包括:
(9.1)导入训练好的DQN网络,初始化其他参数:包括系统结构矩阵A与H、阈值集合、折扣比率γ;
(9.2)确定攻击时间集合Tau;
(9.3)初始化时间t=0,观测o0=[φ1,φ1,φ1,φ1],动作a0=ac,初始状态x0,初始测量值y0及卡尔曼滤波中P0|0为与A同维度的单位矩阵;
(9.4)判断时间t是否小于第一预设值,若是则进行(9.5)至(9.7),否则跳至(9.8);
(9.5)对时刻t进行加1的更新操作;
(9.6)使用步骤一获得系统测量值yt
(9.7)使用步骤三、步骤四与步骤六获得观察值Rt与修正观察值
Figure FDA0004065628950000061
及它们对应的乘数Gt
Figure FDA0004065628950000062
进而获得t时刻观测ot,返回(9.4);
(9.8)判断时间t是否小于第二预设值,若是则进行(9.9)至(9.14),否则执行(9.15);
(9.9)对时刻t进行加1的更新操作;
(9.10)使用步骤一获得系统测量值yt
(9.11)若当前时刻t属于实施攻击时刻的集合Tau,则实施步骤二,否则越过此步直接执行(9.12);
(9.12)使用步骤三、步骤四与步骤六获得观察值Rt与修正观察值
Figure FDA0004065628950000063
及它们对应的乘数Gt
Figure FDA0004065628950000064
进而获得t时刻观测ot
(9.13)使用最优策略进行动作选择,如式(18)所示:
at=max(Q(ot,·;δ))             (18)
式中,Q表示导入的DQN网络,δ表示权重;
(9.14)根据动作选择是否发出警报,若动作为as,则警报后返回(9.8),否则直接返回(9.8);
(9.15)检测结束。
CN202210672597.9A 2022-06-14 2022-06-14 一种基于DQN算法的智能电网DoS攻击检测方法 Active CN115134130B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210672597.9A CN115134130B (zh) 2022-06-14 2022-06-14 一种基于DQN算法的智能电网DoS攻击检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210672597.9A CN115134130B (zh) 2022-06-14 2022-06-14 一种基于DQN算法的智能电网DoS攻击检测方法

Publications (2)

Publication Number Publication Date
CN115134130A CN115134130A (zh) 2022-09-30
CN115134130B true CN115134130B (zh) 2023-04-18

Family

ID=83377861

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210672597.9A Active CN115134130B (zh) 2022-06-14 2022-06-14 一种基于DQN算法的智能电网DoS攻击检测方法

Country Status (1)

Country Link
CN (1) CN115134130B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113268730A (zh) * 2021-05-01 2021-08-17 群智未来人工智能科技研究院(无锡)有限公司 一种基于强化学习的智能电网虚假数据注入攻击检测方法
CN113589085A (zh) * 2021-08-04 2021-11-02 南京信息工程大学 一种发电机调频系统虚假数据注入攻击的检测缓解方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11468164B2 (en) * 2019-12-11 2022-10-11 General Electric Company Dynamic, resilient virtual sensing system and shadow controller for cyber-attack neutralization
CN112491818B (zh) * 2020-11-12 2023-02-03 南京邮电大学 基于多智能体深度强化学习的电网输电线路防御方法
CN112636357B (zh) * 2020-12-10 2022-11-04 南京理工大学 基于强化学习的电网脆弱性分析方法
CN113947016A (zh) * 2021-09-28 2022-01-18 浙江大学 针对电网紧急控制系统中深度强化学习模型的脆弱性评估方法
CN114330113A (zh) * 2021-12-17 2022-04-12 北京理工大学 基于深度强化学习的新能源电力系统弹性优化方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113268730A (zh) * 2021-05-01 2021-08-17 群智未来人工智能科技研究院(无锡)有限公司 一种基于强化学习的智能电网虚假数据注入攻击检测方法
CN113589085A (zh) * 2021-08-04 2021-11-02 南京信息工程大学 一种发电机调频系统虚假数据注入攻击的检测缓解方法

Also Published As

Publication number Publication date
CN115134130A (zh) 2022-09-30

Similar Documents

Publication Publication Date Title
CN108802722B (zh) 一种基于虚拟谱的弱目标检测前跟踪方法
CN106093724B (zh) 一种基于混合粒子群的局部放电小波去噪方法
CN108038419B (zh) 基于Wi-Fi的室内人员被动检测方法
CN108881250B (zh) 电力通信网络安全态势预测方法、装置、设备及存储介质
CN107202989B (zh) 一种适用于被动拖曳线列阵声呐的复杂弱目标检测和跟踪方法
CN111580151B (zh) 一种基于SSNet模型的地震事件到时识别方法
CN110728177A (zh) 基于双协方差随机子空间的类噪声数据低频振荡辨识方法
CN110401978A (zh) 基于神经网络和粒子滤波多源融合的室内定位方法
Zhang et al. Device-free wireless localization and activity recognition with deep learning
CN113341383A (zh) 基于dqn算法的雷达抗干扰智能决策方法
CN113268730A (zh) 一种基于强化学习的智能电网虚假数据注入攻击检测方法
CN115134130B (zh) 一种基于DQN算法的智能电网DoS攻击检测方法
CN116520281A (zh) 一种基于ddpg的扩展目标跟踪优化方法和装置
CN115359258A (zh) 一种成分不确定度测量的弱小目标检测方法及系统
CN107689015A (zh) 一种改进的电力系统不良数据辨识方法
CN112269367B (zh) 基于eemd-组合神经网络空气处理系统的故障检测方法及系统
CN111796253B (zh) 基于稀疏信号处理的雷达目标恒虚警检测方法
CN105866748A (zh) 一种基于检测先验的固定窗长恒虚警检测方法
CN117055000A (zh) 基于信噪比加权融合的多通道雷达目标检测方法
CN117451055A (zh) 一种基于基追踪降噪的水下传感器定位方法和系统
CN116437290A (zh) 一种基于csi指纹定位的模型融合方法
CN108834043B (zh) 基于先验知识的压缩感知多目标无源定位方法
CN115508790A (zh) 基于回溯q学习的雷达抗干扰智能决策方法
CN113179481B (zh) 一种结合稠密连接网络的csi矫正定位方法
CN112666528B (zh) 一种基于卷积神经网络的多站雷达系统干扰鉴别方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant