本发明涉及一种虚假数据注入攻击代价评估方法及系统,属于电力自动化技术领域。
背景技术:
随着智能电网的发展,电网已然是由信息通信系统和物理电力系统深度耦合的系统。信息通信技术的渗透一方面提升了电网运行的信息化和智能化,另一方面带来了信息系统安全的隐患,可能会使智能电网的安全经济运行遭受威胁。近二十年来,电网多次因信息通信网络被攻击而发生重大事故,如2015年12月网络攻击致使乌克兰电网发生大规模停电事故。虚假数据注入攻击的概念于2009年第一次被提出,即通过有组织、有预谋地破解量测设备的密码系统进行数据篡改或者通过光纤窃听技术截获并篡改数据采集与监视控制(supervisorycontrolanddataacquisition,scada)系统传送至控制中心的数据,达到干扰状态估计结果的目的。目前,虚假数据注入攻击已是热点问题,相关研究成果颇多,主要集中在攻击策略、攻击影响及应对攻击的安全防御措施三个方面。就攻击策略而言,众学者站在攻击者的角度,揣测攻击者的心态和处境,提出了很多方法。早期的攻击构建主要基于直流模型,易被实际电力系统中基于交流模型的坏数据辨识环节发现,成功率较低。因此相关研究展开对基于交流模型的攻击构建方法的探索,并取得一定成果。上述研究根据攻击者掌握信息的程度即对电网拓扑和参数信息的掌握程度分为掌握电网全局信息和局部信息两种情况。相对来说,掌握电网全局信息下的攻击成功率较高一些,但局部信息掌握情况下的攻击更符合实际。从攻击者的角度来说,会想尽办法以最少的攻击成本即攻击最少的量测达到高效的攻击。为此,攻击前进行攻击代价评估,有利于降低攻击成本,提高攻击效率,另一方面攻击代价的评估也能从攻击成本角度提供电网易遭攻击的薄弱点,便于有针对性地进行面向虚假数据注入攻击威胁的电网侧安全防御。而攻击代价评估方法尚在探索中,目前主要是从攻击向量的稀疏性着手来优化攻击,但其计算过程都相对繁琐。
技术实现要素:
为了解决上述技术问题,本发明基于电网拓扑结构,提供一种虚假数据注入攻击代价评估方法及系统,解决了目前攻击代价评估方法计算繁琐的问题,本发明能够对多种情形(单节点和多节点虚假数据注入攻击)下的攻击代价进行评估,将评估结果由低到高排序,低于设定值的判为电网易遭虚假数据注入攻击的薄弱点,这些薄弱点可作为面向网络攻击威胁的电网侧主动安全防御的参考。
为了实现上述目标,本发明所采用的技术方案是:一种虚假数据注入攻击代价评估方法,其特征在于,包括如下步骤:
基于电网拓扑结构,构建虚假数据注入单节点和多节点攻击区域;
分别对单节点和多节点攻击区域评估其对应的攻击代价;
比较不同攻击区域的攻击代价,找出电网易遭虚假数据注入攻击的薄弱点。
前述的一种虚假数据注入攻击代价评估方法,其特征在于,所述构建虚假数据注入单节点和多节点攻击区域,包括步骤:
确定以每个被攻击节点im为中心形成的单节点攻击区域
确定多节点攻击区域a为:
确定多节点攻击区域a中的节点集合snode为:
确定多节点攻击区域a中的支路集合sbranch为:
其中,m为被攻击电力节点编号,k为电力节点个数,
前述的一种虚假数据注入攻击代价评估方法,其特征在于,所述以节点im为中心的区域内的节点集合和支路集合,通过下述步骤得到:
1)令m=1;
2)确定以节点im为中心的区域内的节点集合
3)判断与节点im连接的节点中是否存在零注入节点;
若存在,形成零注入节点集合p,针对零注入节点集合p中的每一个零注入节点,选择任意一个与之连接的非零注入节点,加入集合
若不存在,说明节点集合
前述的一种虚假数据注入攻击代价评估方法,其特征在于,所述对单节点攻击区域评估其对应的攻击代价,具体步骤为:
对单节点攻击时的攻击代价hi进行评估,计算公式为:
式中:υd1为以电力节点i为中心的单节点攻击区域ai节点集合
前述的一种虚假数据注入攻击代价评估方法,其特征在于,所述对多节攻击区域评估其对应的攻击代价,具体方法为:
若攻击节点集合γ′中两两节点间无相连支路,多节点攻击时攻击代价h31计算公式为:
式中:γ、η分别为多节点攻击区域ma中发电机节点个数和零注入节点个数;d2表示攻击区域ma对应的节点集合msnode中节点序号,范围为1~n;b2表示攻击区域ma对应的支路集合msbranch支路序号,范围为1~b;υd2为集合msnode中第d2个节点上的注入功率量测数目;ωb2为集合msbranch中第b2条支路上的功率量测的数目;
若攻击节点集合γ′中存在具有相连支路的两个节点i和j,且针对这两个节点的虚假数据注入攻击目标是使状态量电压相角分别增加ci和cj,若ci=cj,则θ′i-θ′j=θi-θj+ci-cj=θi-θj,θ′i和θ′j分别为虚假数据注入攻击后节点i和j的电压相角值,θi和θj分别为虚假数据注入攻击前节点i和j的的电压相角值;此时多节点攻击时的攻击代价h32计算公式为:
式中:γ、η分别为多节点攻击区域ma中发电机节点个数和零注入节点个数;d2表示集合msnode中节点序号,范围为1~n;υd2为集合msnode中第d2个节点上的注入功率量测数目;
若攻击节点集合г中存在具有相连支路的两个节点i和j,且针对这两个节点的虚假数据注入攻击目标是使状态量电压相角分别增加ci和cj,若ci≠cj,此时进行多节点攻击时的攻击代价h33计算公式为:
式中:γ、η分别为多节点攻击区域ma中发电机节点个数和零注入节点个数;d2表示集合msnode中节点序号,范围为1~n;b2表示集合msbranch支路序号,范围为1~b;υd2为集合msnode中第d2个节点上的注入功率量测数目;ωb2为集合msbranch中第b2条支路上的功率量测的数目;
当对m≥2个节点攻击时,攻击节点集合为γ′={i1,i2,…,im},多节点攻击区域ma对应的节点集合为msnode和msbranch,集合元素个数为:
n=card(msnode)(8)
b=card(msbranch)(9)
式中:n表示多节点攻击区域ma中的节点集合msnode中的节点个数,b表示多节点攻击区域ma中的支路集合msbranch中的支路个数。
前述的一种虚假数据注入攻击代价评估方法,其特征在于,所述比较不同攻击区域的攻击代价,找出电网易遭虚假数据注入攻击的薄弱点,具体为:
将不同攻击区域的攻击代价评估结果由低到高排序,与设定值比较,低于设定值的判为电网易遭虚假数据注入攻击的薄弱点。
一种虚假数据注入攻击代价评估系统,其特征在于,包括:
虚假数据注入攻击区域构建模块,用于构建虚假数据注入单节点和多节点攻击区域;
单节点攻击代价评估模块,用于对单节点攻击区域进行代价评估;
多节点攻击代价评估模块,用于对多节点攻击区域进行代价评估;
薄弱点确定模块,用于比较攻击代价评估结果,找出电网易遭虚假数据注入攻击的薄弱点。
前述的一种虚假数据注入攻击代价评估系统,其特征在于,所述虚假数据注入攻击区域构建模块,包括:
单节点攻击区域确定单元,用于确定以每个被攻击节点im为中心形成的单节点攻击区域
多节点攻击区域确定单元,用于确定多节点攻击区域a为:
其中,m为被攻击电力节点编号,k为电力节点个数,
前述的一种虚假数据注入攻击代价评估系统,其特征在于,所述单节点攻击代价评估模块,具体用于:采用如下计算公式对单节点攻击时的攻击代价hi进行评估,计算公式为::
式中:υd1为以电力节点i为中心的单节点攻击区域ai节点集合
前述的一种虚假数据注入攻击代价评估系统,其特征在于,所述多节点攻击代价评估模块,具体包括:
第一评估单元,用于若攻击节点集合γ′中两两节点间无相连支路,多节点攻击时攻击代价h31计算公式为:
式中:γ、η分别为多节点攻击区域ma中发电机节点个数和零注入节点个数;d2表示攻击区域ma对应的节点集合msnode中节点序号,范围为1~n;b2表示攻击区域ma对应的支路集合msbranch支路序号,范围为1~b;υd2为集合msnode中第d2个节点上的注入功率量测数目;ωb2为集合msbranch中第b2条支路上的功率量测的数目;
第二评估单元,用于若攻击节点集合γ′中存在具有相连支路的两个节点i和j,且针对这两个节点的虚假数据注入攻击目标是使状态量电压相角分别增加ci和cj,若ci=cj,则θ′i-θ′j=θi-θj+ci-cj=θi-θj,θ′i和θ′j分别为虚假数据注入攻击后节点i和j的电压相角值,θi和θj分别为虚假数据注入攻击前节点i和j的的电压相角值;此时多节点攻击时的攻击代价h32计算公式为:
式中:γ、η分别为多节点攻击区域ma中发电机节点个数(若发电机节点为非量测点,则认为γ=0)和零注入节点个数(若零注入节点为非量测点,则认为η=0);d2表示集合msnode中节点序号,范围为1~n;υd2为集合msnode中第d2个节点上的注入功率量测数目;
第三评估单元,用于若攻击节点集合г中存在具有相连支路的两个节点i和j,且针对这两个节点的虚假数据注入攻击目标是使状态量电压相角分别增加ci和cj,若ci≠cj,此时进行多节点攻击时的攻击代价h33计算公式为:
式中:γ、η分别为多节点攻击区域ma中发电机节点个数和零注入节点个数;d2表示集合msnode中节点序号,范围为1~n;b2表示集合msbranch支路序号,范围为1~b;υd2为集合msnode中第d2个节点上的注入功率量测数目;ωb2为集合msbranch中第b2条支路上的功率量测的数目。
前述的一种虚假数据注入攻击代价评估系统,其特征在于,所述薄弱点确定模块,具体用于将不同攻击区域的攻击代价评估结果由低到高排序,与设定值比较,低于设定值的判为电网易遭虚假数据注入攻击的薄弱点。
本发明所达到的有益效果是:
本发明基于电网拓扑结构,构建虚假数据注入攻击区域,考虑攻击区域内节点间的连接特性和攻击目的,实现了进行单节点攻击和多节点攻击时的攻击代价评估,从攻击成本角度提供电网易遭虚假数据注入攻击的薄弱点,利于有针对性地进行面向虚假数据注入攻击威胁的电网侧主动防御。
附图说明
图1是本发明实施例的一种代价评估方法流程图;
图2是本发明实施例的一种代价评估攻击区域构建流程图。
具体实施方式
下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
实施例1:
如图1所示,一种虚假数据注入攻击代价评估方法,包括如下步骤:
步骤一,基于电网拓扑结构,构建虚假数据注入攻击区域;
攻击区域的选择在一定程度上决定了攻击代价的大小,有赖于攻击者对电网拓扑和结构参数的掌握程度及攻击目标的选定。实际中,由于电网规模的庞大及动态运行,攻击者很难完全准确地掌握电网的全部信息,只能获得局部区域信息,另一方面考虑攻击代价,将会对局部区域进行相关量测的篡改。
基于上述分析,基于电网拓扑结构,构建虚假数据注入攻击区域,假设只能使最多k个电力节点的状态估计值发生改变,构建攻击电力节点集合г={i1,i2,…,ik},该集合由攻击区域内的电力节点组成,集合中元素为电力节点,如:ik为攻击区域内第k个电力节点。在构建虚假数据注入攻击区域时,结合电网运行特点,需遵循以下原则:不篡改发电机的有功和无功量测,因为发电厂控制室与电力系统控制中心直接通信,量测量的突变等异常易被检测出,导致虚假数据注入攻击失败;对零注入节点(即:注入功率为0的电力节点),在篡改与之相关联支路的有功和无功量测时,要确保篡改后依然是零注入节点。另外需要注意的是负荷量测的篡改幅度,一般为负荷实际值的50%~150%。
参见图2所示,攻击区域具体构建过程如下:
11)令m=1;m为被攻击电力节点编号,1≤m≤k;
12)选定集合г中某个电力节点im作为攻击区域的中心;
13)确定以节点im为中心的区域内的节点集合
14)判断与节点im连接的节点中是否存在零注入节点,若存在,形成零注入节点集合p,转入步骤15),若不存在转入步骤16);
15)针对零注入节点集合p中的每一个零注入节点,选择任意一个与之连接的非零注入节点,加入集合
16)此时节点集合
17)最终的攻击区域a确定如下:
设以每个被攻击节点im为中心形成的单节点攻击区域为
设多节点攻击区域为a,则:
多节点攻击区域a中的节点集合snode为:
多节点攻击区域a中的支路集合sbranch为:
步骤二,基于步骤一建立的攻击区域,并进行攻击代价评估,比较不同攻击区域的攻击代价,找出电网易遭虚假数据注入攻击的薄弱点。
基于步骤一建立的单节点攻击区域,进行攻击代价评估:
假定要篡改电力节点i的状态量xi到指定值x′i,以电力节点i为中心,按照步骤一所述方法形成攻击区域ai,其对应的节点集合
式中,card()表示求解集合中元素个数,ni表示节点集合
令υd1为节点集合
式中:d1表示集合
基于步骤一建立多节点攻击时的攻击区域,并进行攻击代价评估:
当对m(m≥2)个节点攻击时,假定攻击节点集合为γ′={i1,i2,…,im},由步骤一所述方法形成攻击区域ma,其对应的节点集合为msnode和msbranch,集合元素个数为:
n=card(msnode)(8)
b=card(msbranch)(9)
式中:n表示多节点攻击区域ma中的节点集合msnode中的节点个数,b表示多节点攻击区域ma中的支路集合msbranch中的支路个数;
多节点攻击时的攻击代价评估,存在三种情况,具体如下:
31)若攻击节点集合γ′中两两节点间无相连支路,多节点攻击时攻击代价计算公式与单节点攻击时一致,计算公式为:
式中:γ、η分别为多节点攻击区域ma中发电机节点个数(若发电机节点为非量测点,则认为γ=0)和零注入节点个数(若零注入节点为非量测点,则认为η=0);d2表示集合msnode中节点序号,范围为1~n;b2表示集合msbranch支路序号,范围为1~b;υd2为集合msnode中第d2个节点上的注入功率量测的数目;ωb2为集合msbranch中第b2条支路上的功率量测的数目;h31为多节点攻击时步骤31)情况下的的虚假数据注入攻击代价。
32)若攻击节点集合γ′中存在具有相连支路的两个节点i和j,且针对这两个节点的虚假数据注入攻击目标是使状态量电压相角分别增加ci和cj(ci和cj为实数,可正可负),若ci=cj,则θ′i-θ′j=θi-θj+ci-cj=θi-θj(θ′i和θ′j分别为虚假数据注入攻击后节点i和j的电压相角值,θi和θj分别为虚假数据注入攻击前节点i和j的的电压相角值)。
由极坐标系下的电力系统网络方程可知,节点i和节点j之间支路上的有功功率和无功功率分别表示为:
pij=vi2gij-vivj[gijcos(θi-θj)+bijsin(θi-θj)](11)
qij=-vi2bij-vivj[gijsin(θi-θj)-bijcos(θi-θj)](12)
式中:pij、qij分别为节点i与节点j之间支路有功功率、无功功率;gij和bij分别为节点i和节点j之间支路对地电导和对地导纳;vi、vj分别为电力节点i和电力节点j的电压幅值;gij和bij分别为节点i和节点j之间支路导纳和支路电纳。
结合支路有功功率和无功功率方程可知多节点攻击区域ma中具有相连支路的节点i和节点j之间支路上的有功功率pij、pji和无功功率qij、qji量测在攻击前后不发生改变,pji为支路j和支路i之间的有功功率;qji为支路j和支路i之间的无功功率。
此时多节点攻击时的攻击代价计算公式为:
式中:γ、η分别为多节点攻击区域ma中发电机节点个数(若发电机节点为非量测点,则认为γ=0)和零注入节点个数(若零注入节点为非量测点,则认为η=0);d2表示集合msnode中节点序号,范围为1~n;υd2为集合msnode中第d2个节点上的注入功率量测数目;h32为多节点攻击时步骤32)情况下的的虚假数据注入攻击代价,即当具有相连支路且状态量电压相角增加相同时多节点攻击时的攻击代价(需篡改的量测总数)。
33)若攻击节点集合г中存在具有相连支路的两个节点i和j,且针对这两个节点的虚假数据注入攻击目标是使状态量电压相角分别增加ci和cj(ci和cj为实数,可正可负),若ci≠cj,由52)中的支路有功功率和无功功率方程(11-12)可知多节点攻击区域ma中具有相连支路的节点i和节点j之间支路上的有功功率pij、pji和无功功率qij、qji量测在攻击前后将发生改变。此时进行多节点攻击时的攻击代价计算公式为:
式中:γ、η分别为多节点攻击区域ma中发电机节点个数(若发电机节点为非量测点,则认为γ=0)和零注入节点个数(若零注入节点为非量测点,则认为η=0);d2表示集合msnode中节点序号,范围为1~n;b2表示集合msbranch支路序号,范围为1~b;υd2为集合msnode中第d2个节点上的注入功率量测数目;ωb2为集合msbranch中第b2条支路上的功率量测的数目;h33为多节点攻击时步骤33)情况下的的虚假数据注入攻击代价。
综合单节点攻击和多节点攻击下的攻击代价评估,建立统一的虚假数据注入攻击代价评估方法,并评估不同攻击区域的攻击代价,以找出电网易遭虚假数据注入攻击的薄弱点,为电网侧主动安全防御提供参考。
统一的虚假数据注入攻击代价评估方法,计算如下:
h=hnode+hbranch-2(γ'+η')(15)
hnode和hbranch具体为:
式中:hnode表示注入功率量测总数;hbranch表示支路功率量测总数;γ’、η’分别为步骤一所述攻击区域a中发电机节点个数(若发电机节点为非量测点,则认为γ’=0)和零注入节点个数(若零注入节点为非量测点,则认为η’=0);nn表示多节点攻击区域a中的步骤一所述集合snode中的节点个数,nn=card(snode);b表示多节点攻击区域a中的步骤一所述集合sbranch中的支路个数,bb=card(sbranch);d3表示步骤一所述集合snode中节点序号,范围为1~nn;b2表示步骤一所述集合sbranch支路序号,范围为1~bb;υd3为步骤一所述集合snode中第d3个节点上的注入功率量测数目;ωb3为步骤一所述集合sbranch中第b3条支路上的功率量测的数目;ζb3为虚假数据注入攻击下应计入的步骤一所述集合sbranch中第b3条支路上的功率量测的数目;h为虚假数据注入攻击代价;ci=cj表示节点i和节点j的状态量电压相角增加量相等;ci≠cj表示节点i和节点j的状态量电压相角增加量不相等。
由步骤一形成不同电网资源下的攻击区域,根据虚假数据注入攻击代价评估方法评估攻击这些区域需付出的攻击代价。攻击代价小的往往易遭受虚假数据注入攻击,也是电网的薄弱点,将这些攻击代价评估结果由低到高进行排序,与设定值进行比较,低于设定值的判为电网易遭虚假数据注入攻击的薄弱点,这些薄弱点可作为电网侧主动安全防御的参考,实现电网面向网络攻击威胁的有针对性的防御。
实施例2:
一种虚假数据注入攻击代价评估系统,包括:
虚假数据注入攻击区域构建模块,用于构建虚假数据注入单节点和多节点攻击区域;
单节点攻击代价评估模块,用于对单节点攻击区域进行代价评估;
多节点攻击代价评估模块,用于对多节点攻击区域进行代价评估;
薄弱点确定模块,用于比较攻击代价评估结果,找出电网易遭虚假数据注入攻击的薄弱点。
所述虚假数据注入攻击区域构建模块,包括:
单节点攻击区域确定单元,用于确定以每个被攻击节点im为中心形成的单节点攻击区域
多节点攻击区域确定单元,用于确定多节点攻击区域a为:
其中,m为被攻击电力节点编号,k为电力节点个数,
具体实施时,所述构建虚假数据注入单节点和多节点攻击区域,具体构建过程为:
11)令m=1;m为被攻击电力节点编号,1≤m≤k;
12)选定集合г中某个电力节点im作为攻击区域的中心;
13)确定以节点im为中心的区域内的节点集合
14)判断与节点im连接的节点中是否存在零注入节点,若存在,形成零注入节点集合p,转入步骤15),若不存在转入步骤16);
15)针对零注入节点集合p中的每一个零注入节点,选择任意一个与之连接的非零注入节点,加入集合
16)此时节点集合
17)最终的攻击区域a确定如下:
设以每个被攻击节点im为中心形成的单节点攻击区域为
设多节点攻击区域为a,则:
多节点攻击区域a中的节点集合snode为:
多节点攻击区域a中的支路集合sbranch为:
所述单节点攻击代价评估模块,具体用于采用如下计算公式对单节点攻击时的攻击代价hi进行评估,计算公式为:
式中:υd1为以电力节点i为中心的单节点攻击区域ai节点集合
所述多节点攻击代价评估模块,具体包括:
第一评估单元,用于若攻击节点集合γ′中两两节点间无相连支路,多节点攻击时攻击代价h31计算公式为:
式中:γ、η分别为多节点攻击区域ma中发电机节点个数和零注入节点个数;d2表示攻击区域ma对应的节点集合msnode中节点序号,范围为1~n;b2表示攻击区域ma对应的支路集合msbranch支路序号,范围为1~b;υd2为集合msnode中第d2个节点上的注入功率量测数目;ωb2为集合msbranch中第b2条支路上的功率量测的数目;
第二评估单元,用于若攻击节点集合γ′中存在具有相连支路的两个节点i和j,且针对这两个节点的虚假数据注入攻击目标是使状态量电压相角分别增加ci和cj,若ci=cj,则θ′i-θ′j=θi-θj+ci-cj=θi-θj,θ′i和θ′j分别为虚假数据注入攻击后节点i和j的电压相角值,θi和θj分别为虚假数据注入攻击前节点i和j的的电压相角值;此时多节点攻击时的攻击代价h32计算公式为:
式中:γ、η分别为多节点攻击区域ma中发电机节点个数(若发电机节点为非量测点,则认为γ=0)和零注入节点个数(若零注入节点为非量测点,则认为η=0);d2表示集合msnode中节点序号,范围为1~n;υd2为集合msnode中第d2个节点上的注入功率量测数目;
第三评估单元,用于若攻击节点集合г中存在具有相连支路的两个节点i和j,且针对这两个节点的虚假数据注入攻击目标是使状态量电压相角分别增加ci和cj,若ci≠cj,此时进行多节点攻击时的攻击代价h33计算公式为:
式中:γ、η分别为多节点攻击区域ma中发电机节点个数和零注入节点个数;d2表示集合msnode中节点序号,范围为1~n;b2表示集合msbranch支路序号,范围为1~b;υd2为集合msnode中第d2个节点上的注入功率量测数目;ωb2为集合msbranch中第b2条支路上的功率量测的数目。
具体实施时,所述多节点攻击时的攻击代价评估,具体方法为:
当对m(m≥2)个节点攻击时,假定攻击节点集合为γ′={i1,i2,…,im},由步骤一所述方法形成攻击区域ma,其对应的节点集合为msnode和msbranch,集合元素个数为:
n=card(msnode)(8)
b=card(msbranch)(9)
式中:n表示多节点攻击区域ma中的节点集合msnode中的节点个数,b表示多节点攻击区域ma中的支路集合msbranch中的支路个数;
多节点攻击时的攻击代价评估,存在三种情况,具体如下:
31)若攻击节点集合γ′中两两节点间无相连支路,多节点攻击时攻击代价计算公式与单节点攻击时一致,计算公式为:
式中:γ、η分别为多节点攻击区域ma中发电机节点个数(若发电机节点为非量测点,则认为γ=0)和零注入节点个数(若零注入节点为非量测点,则认为η=0);d2表示集合msnode中节点序号,范围为1~n;b2表示集合msbranch支路序号,范围为1~b;υd2为集合msnode中第d2个节点上的注入功率量测数目;ωb2为集合msbranch中第b2条支路上的功率量测的数目;h31为多节点攻击时步骤31)情况下的的虚假数据注入攻击代价(需篡改的量测总数)。
32)若攻击节点集合γ′中存在具有相连支路的两个节点i和j,且针对这两个节点的虚假数据注入攻击目标是使状态量电压相角分别增加ci和cj(ci和cj为实数,可正可负),若ci=cj,则θ′i-θ′j=θi-θj+ci-cj=θi-θj(θ′i和θ′j分别为虚假数据注入攻击后节点i和j的电压相角值,θi和θj分别为虚假数据注入攻击前节点i和j的的电压相角值)。
由极坐标系下的电力系统网络方程可知,节点i和节点j之间支路上的有功功率和无功功率分别表示为:
pij=vi2gij-vivj[gijcos(θi-θj)+bijsin(θi-θj)](11)
qij=-vi2bij-vivj[gijsin(θi-θj)-bijcos(θi-θj)](12)
式中:pij、qij分别为节点i与节点j之间支路有功功率、无功功率;gij和bij分别为节点i和节点j之间支路对地电导和对地导纳;vi、vj分别为电力节点i和电力节点j的电压幅值;gij和bij分别为节点i和节点j之间支路导纳和支路电纳。
结合支路有功功率和无功功率方程可知多节点攻击区域ma中具有相连支路的节点i和节点j之间支路上的有功功率pij、pji和无功功率qij、qji量测在攻击前后不发生改变,pji为支路j和支路i之间的有功功率;qji为支路j和支路i之间的无功功率。
此时多节点攻击时的攻击代价计算公式为:
式中:γ、η分别为多节点攻击区域ma中发电机节点个数(若发电机节点为非量测点,则认为γ=0)和零注入节点个数(若零注入节点为非量测点,则认为η=0);d2表示集合msnode中节点序号,范围为1~n;υd2为集合msnode中第d2个节点上的注入功率量测数目;h32为多节点攻击时步骤32)情况下的的虚假数据注入攻击代价,即当具有相连支路且状态量电压相角增加相同时多节点攻击时的攻击代价。
33)若攻击节点集合г中存在具有相连支路的两个节点i和j,且针对这两个节点的虚假数据注入攻击目标是使状态量电压相角分别增加ci和cj(ci和cj为实数,可正可负),若ci≠cj,由52)中的支路有功功率和无功功率方程(11-12)可知多节点攻击区域ma中具有相连支路的节点i和节点j之间支路上的有功功率pij、pji和无功功率qij、qji量测在攻击前后将发生改变。此时进行多节点攻击时的攻击代价计算公式为:
式中:γ、η分别为多节点攻击区域ma中发电机节点个数(若发电机节点为非量测点,则认为γ=0)和零注入节点个数(若零注入节点为非量测点,则认为η=0);d2表示集合msnode中节点序号,范围为1~n;b2表示集合msbranch支路序号,范围为1~b;υd2为集合msnode中第d2个节点上的注入功率量测数目;ωb2为集合msbranch中第b2条支路上的功率量测的数目;h33为多节点攻击时步骤33)情况下的虚假数据注入攻击代价。
所述薄弱点确定模块,具体用于将不同攻击区域的攻击代价评估结果由低到高排序,与设定值比较,低于设定值的判为电网易遭虚假数据注入攻击的薄弱点。
对不同攻击区域进行攻击代价评估后,将评估结果由低到高排序,与设定值进行比较,低于设定值的判为电网易遭虚假数据注入攻击的薄弱点,这些薄弱点可作为电网侧主动安全防御的参考,实现电网面向网络攻击威胁的有针对性的防御。
本发明提供了一种虚假数据注入攻击代价评估方法及系统,基于电网拓扑结构,构建虚假数据注入攻击区域,考虑攻击区域内节点间的连接特性和攻击目的,实现了进行单节点攻击和多节点攻击时的攻击代价评估,从攻击成本角度提供电网易遭虚假数据注入攻击的薄弱点,对这些薄弱点有针对性地进行面向虚假数据注入攻击威胁的电网侧主动防御。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。