一种应用于电力控制系统网络攻击的主动防御方法与流程

文档序号:23956233发布日期:2021-02-18 20:23阅读:72来源:国知局
一种应用于电力控制系统网络攻击的主动防御方法与流程

[0001]
本发明属于网络安全技术领域,特别涉及一种应用于电力控制系统网络攻击的主动防御方法。


背景技术:

[0002]
与传统电力系统相比,现如今的电力系统中接入了大量传感、通信、计算和控制设备,可对电力系统进行广域量测和控制。对于此类量测系统和控制系统,发展出人工智能的控制策略。
[0003]
然而,该类控制策略通常在分类边界处更容易出现漏洞,并且此漏洞在模型训练过程中很难被发现。


技术实现要素:

[0004]
本申请提供了一种应用于电力控制系统网络攻击的主动防御方法。
[0005]
步骤s102:基于深度神经网络,构造虚拟控制器网络f,用于模拟电力控制系统的控制策略。所述虚拟控制器网络f,包含若干个卷积层和池化层且参数可调。
[0006]
根据电力控制系统历史状态集x和电力控制系统控制器的历史输出结果集y,采用十字交叉法,将所述历史状态集x和所述历史输出结果集y中各值,随机分配为训练样本集(xa,ya)和测试样本集(xb,yb)。
[0007]
可选地,所述历史状态集x和所述历史输出结果集y获取方式:采用监听或探针的方式,监测电力控制系统的量测系统历史状态输入和控制策略对应的输出结果,生成所述历史状态集x和所述历史输出结果集y。
[0008]
步骤s104:用所述训练样本集(xa,ya)对所述虚拟控制器网络f进行训练,用所述测试样本集(xb,yb)检测训练结果,对训练结果的正确率进行判断:若正确率达到预设值,进入下一步骤;若正确率未能达到预设值,则调整所述虚拟控制器网络f的网络参数,重复步骤s104。
[0009]
步骤s202:设置生成攻击样本库的边界条件和判别条件,所述边界条件用于限制扰动大小,使扰动分布在系统无法识别的误差范围内,所述判别条件用于判断所述扰动能否对电力控制系统控制器的控制结果产生影响。
[0010]
步骤s204:设置所述历史状态集x的扰动r为随机数,采用差分进化(de)算法,在所述虚拟控制器网络f位于给定所述边界条件内,生成扰动r最优值并叠加至所述历史状态集x中获得攻击样本集x_hat。
[0011]
步骤s206:利用所述判别条件,对所述x_hat进行判断:若满足所述判别条件,将所述x_hat输入所述虚拟控制器网络f得到y_hat。
[0012]
步骤s208:对所述y_hat进行判断,满足边界条件则进行下一步骤。
[0013]
步骤s302:将所述攻击样本集x_hat随机分配为训练样本集(xa,x_hata)和测试样本集(xb,x_hatb),用于训练生成器模型,以及用于检测训练效果。
[0014]
步骤s304:构建生成器网络模型g和判别器网络模型c。
[0015]
步骤s306:采用所述训练样本集(xa,x_hata)对所述生成器网络模型g进行训练,然后采用所述测试样本集(xb,x_hatb)对所述生成器网络模型g进行测试。
[0016]
步骤s308:将所述电力控制系统历史状态集x输入所述生成器网络模型g,从而得到攻击样本x_hat’。
[0017]
将所述攻击样本x_hat’输入所述虚拟控制器网络f,得到输出结果集y_hat’。
[0018]
步骤s310:对所述y_hat’进行判断,满足边界条件则进行下一步骤。
[0019]
步骤s312:用电力控制系统的量测系统正常状态下产生的样本集(x,0)和所述攻击样本集(x_hat,1)对所述判别器网络模型c进行训练。
[0020]
步骤s314:将所述攻击样本x_hat’输入训练后的判别器网络模型c得到判别结果rc,对判别结果rc进行判断:当判断结果为“满足纳什均衡”或“无法检出”任一结果时,获得训练完成的生成器网络模型g。
[0021]
步骤402:将量测系统获取的电力控制系统状态输入训练完成的生成器网络模型g,即可生成实时攻击样本,并且将所述实时攻击样本输入电力控制系统模型的控制器,即可实现对原有控制策略的模拟攻击,从而挖掘出控制策略中存在的漏洞以及原有控制策略所依赖的系统关键节点,从而对这些漏洞和关键节点进行针对性防御。并且,利用攻击样本集可发现原有控制策略中分类模糊的边界,将攻击样本代入策略训练中,可改善原有控制策略分类模糊的问题。
[0022]
本发明针对电力系统中基于人工智能的控制策略,提出了一种针对网络攻击样本进行主动防御的方法。同时,该方法进一步规避了dos法、中间人、虚假数据注入等方法,需要破解防火墙、密钥、认证等,并且针对特定数据进行修改时需要获取详细的控制策略信息,规避了诸多缺陷。
[0023]
同时,本发明的方法为黑盒法,1、仅需监测历史数据,而无需获取详细的控制策略或控制器结构;2、产生的攻击样本扰动小、篡改节点数少,对于找到隐蔽性的攻击效果更好;3、更易于在电力系统中部署,模拟真实的网络攻击场景,采用本发明生成的攻击样本库可用于对原有控制策略进行训练,弥补原策略中存在的漏洞,提高系统稳定性。
附图说明
[0024]
图1为实施例一中主动防御方法的流程图;图2为实施例一的样本生成器g结构;图3为实施例一电力系统场景图;图4为实施例一生成的攻击样本扰动;图5为实施例一攻击造成的控制策略输出误差。
[0025]
图中:图3中图标为数字表示母线序号、黑色实心箭头表示负载、g为发电机和理想电源;图4中振幅指示该点数据扰动的强度。
具体实施方式
[0026]
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是
本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计,一些步骤顺序可以进行改变。
[0027]
下面结合附图对本发明的技术方案进行详细说明:该实施例涉及的主动防御方法包括:步骤s102:基于深度神经网络,构造虚拟控制器网络f,用于模拟电力控制系统的控制策略。所述虚拟控制器网络f,包含若干个卷积层和池化层且参数可调。
[0028]
根据电力控制系统历史状态集x和电力控制系统控制器的历史输出结果集y,采用十字交叉法,将所述历史状态集x和所述历史输出结果集y中各值,随机分配为训练样本集(xa,ya)和测试样本集(xb,yb)。
[0029]
所述历史状态集x和所述历史输出结果集y获取方式:采用监听或探针的方式,监测电力控制系统的量测系统历史状态输入和控制策略对应的输出结果,生成所述历史状态集x和所述历史输出结果集y。
[0030]
步骤s104:用所述训练样本集(xa,ya)对所述虚拟控制器网络f进行训练,用所述测试样本集(xb,yb)检测训练结果,对训练结果的正确率进行判断:若正确率达到预设值,进入下一步骤;若正确率未能达到预设值,则调整所述虚拟控制器网络f的网络参数,重复步骤s104。
[0031]
利用步骤s102、s104,使得构建的虚拟控制器网络f尽可能拟合电力控制系统原有的控制器。
[0032]
步骤s202:设置生成攻击样本库的边界条件和判别条件,所述边界条件用于限制扰动大小,使扰动分布在系统无法识别的误差范围内,所述判别条件用于判断所述扰动能否对电力控制系统控制器的控制结果产生影响。
[0033]
所述边界条件包括可攻击结点编号、最大篡改幅度、最大篡改数据个数、最小攻击结果误差;所述判别条件包括最小信噪比、归一化互相关、最小结果误差。
[0034]
所述可攻击结点包括电力系统中母线、电源、负荷、变压器等部署了量测设备的结点,编号是为该结点在所述量测系统中的唯一标识。
[0035]
步骤s204:设置所述历史状态集x的扰动r为随机数,采用差分进化(de)算法,在所述虚拟控制器网络f位于给定所述边界条件内,生成扰动r最优值并叠加至所述历史状态集x中获得攻击样本集x_hat。
[0036]
步骤s206:利用所述判别条件,对所述x_hat进行判断:若满足所述判别条件,将所述x_hat输入所述虚拟控制器网络f得到y_hat;若不满足所述判别条件,则回到步骤s204重新设置扰动r的值。
[0037]
步骤s208:对所述y_hat进行判断:若满足所述边界条件,则进入下一步骤;若不满足所述边界条件,则回到步骤s204重新设置扰动r的值。
[0038]
步骤s302:采用十字交叉法,将所述攻击样本集x_hat随机分配为训练样本集(xa,x_hata)和测试样本集(xb,x_hatb),所述训练样本集(xa,x_hata)用于训练生成器模型,所述测试样本集(xb,x_hatb)用于检测训练效果。
[0039]
步骤s304:构建生成器网络模型g和判别器网络模型c,初始化所述判别器网络模型c判别结果rc=0。
[0040]
所述生成器网络模型g采用编码器与解码器串联的结构,用于根据正常量测系统
状态输入生成攻击样本;所述判别器网络模型c由多个卷积层串联组成,用于判别输入的数据集是否为攻击样本。
[0041]
步骤s306:采用所述训练样本集(xa,x_hata)对所述生成器网络模型g进行训练,然后采用所述测试样本集(xb,x_hatb)对所述生成器网络模型g进行测试。对测试结果的正确率进行判断:若正确率达到预设值,进入下一步骤;若正确率未能达到预设值,则调整所述生成器网络模型g的网络参数,重复步骤s306。
[0042]
步骤s308:将所述电力控制系统历史状态集x输入所述生成器网络模型g,从而得到攻击样本x_hat’。
[0043]
将所述攻击样本x_hat’输入所述虚拟控制器网络f,得到输出结果集y_hat’。
[0044]
步骤s310:对所述y_hat’进行判断:若满足所述边界条件,则进入下一步骤;若不满足所述边界条件,则调整所述生成器网络模型g的网络参数,重复步骤s306。
[0045]
步骤s312:用电力控制系统的量测系统正常状态下产生的样本集(x,0)和所述攻击样本集(x_hat,1)对所述判别器网络模型c进行训练,其中“0”用于表征该样本为正常量测数据,“1”用于表征该样本为攻击样本。
[0046]
步骤s314:将所述攻击样本x_hat’输入训练后的判别器网络模型c得到判别结果rc,对判别结果rc进行判断:当判断结果为“满足纳什均衡”或“无法检出”任一结果时,获得训练完成的生成器网络模型g;当判断结果未能达到“满足纳什均衡”或“无法检出”时,对所述判别器网络模型c的检出率进行判断,当检出率小于预设最小值时,用(x_hat’,1)继续训练判别器网络模型c,然后返回步骤s314,将攻击样本x_hat
’ꢀ
输入再次训练后的判别器网络模型c得到判别结果rc;当检出率不小于预设最小值时,则调整所述生成器网络模型g的网络参数,重复步骤s306。
[0047]
步骤402:将量测系统获取的电力控制系统状态输入训练完成的生成器网络模型g,即可生成实时攻击样本,并且将所述实时攻击样本输入电力控制系统模型的控制器,即可实现对原有控制策略的模拟攻击,从而挖掘出控制策略中存在的漏洞以及原有控制策略所依赖的系统关键节点,从而对这些漏洞和关键节点进行针对性防御。并且,利用攻击样本集可发现原有控制策略中分类模糊的边界,将攻击样本代入策略训练中,可改善原有控制策略分类模糊的问题。
[0048]
图2为实施例一的样本生成器g结构。
[0049]
通过对电力控制系统历史状态集x和电力控制系统控制器的历史输出结果集y训练,生成所述样本生成器g。所述样本生成器g训练完成后,即可针对系统实时状态x快速生成攻击样本,进而对该样本进行判断。
[0050]
图3为实施例一电力系统场景图。
[0051]
本实施例电力系统包含39条母线、19个负载、9台发电机、1个理想电压源。每条母线分别部署1个量测单元,用于监测该母线电路的有功功率、无功功率、电压、电流等数据。在该电力系统中随机设置故障及发生位置,生成1500组系统状态样本,并且计算每个样本对应的控制策略输出结果。
[0052]
图4为实施例一生成的攻击样本扰动。
[0053]
测试数据集包括150组样本,每个样本包括40个特征。采用本发明的攻击样本生成器,仅对某几个关键特征产生较大扰动,而对大部分特征的扰动较小。较小的扰动可通过滤
波器进行剔除,进而只保留关键特征的扰动。计算攻击样本与原始样本之间的归一化互相关,该150组测试样本的结果均在(0.95,1)之间,从而可以认为攻击样本与原始样本非常相似,即攻击无法被原系统状态估计模块识别。
[0054]
图5为实施例一攻击造成的控制策略输出误差。
[0055]
分别统计偏离距离、正常输出结果、偏离比例,并按照偏离距离进行排序。结果表明,针对测试数据集的150组样本进行攻击,均对原控制器的输出结果产生符合预期需求的干扰,并且针对其中部分样本的攻击所产生的扰动较大。因此,证明了本发明攻击样本生成器所产生的攻击方法的有效性。
[0056]
以上仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1