资源预览内容
第1页 / 共10页
第2页 / 共10页
第3页 / 共10页
第4页 / 共10页
第5页 / 共10页
第6页 / 共10页
第7页 / 共10页
第8页 / 共10页
第9页 / 共10页
第10页 / 共10页
亲,该文档总共10页全部预览完了,如果喜欢就下载吧!
资源描述
基于扩展卡尔曼滤波的虚假数据攻击检测方法 何耀 周聪 郑凌月 张维锡 谢育轩 国网四川省电力公司巴中供电公司 摘 要: 虚假数据注入攻击以破坏电力系统 SCADA 的数据完整性和可用性为目标, 其检测方法对智能电网的安全与稳定运行具有重要意义。基于扩展卡尔曼滤波提出了一种虚假数据注入攻击检测方法。该方法利用检测数据递归得到系统的实时运行状态, 从而达到有效检测识别电力系统中虚假数据注入情况的目的。另外, 该方法能同时评估系统过去运行状态和预测未来系统状态的变化情况。同时, 该方法能有效识别系统精确模型未知情况下的虚假数据注入攻击。以 IEEE-14节点和 30 节点模型为研究对象, 其结果表明所提方法不仅能弥补传统状态估计方法无法检测虚假数据注入攻击的缺陷, 而且具有储存量小、易于实现等优点。关键词: 虚假数据注入攻击; 智能电网; 扩展卡尔曼滤波; 网络攻击; 作者简介:何耀 (1984) , 男, 四川巴中人, 硕士, 工程师, 从事电力通信管理研究。E-mail:hluoy1314163.com收稿日期:2017-07-17Detection Method Against False Data Injection Attack Based on Extended Kalman FilterHE Yao ZHOU Cong ZHENG Lingyue ZHANG Weixi XIE Yuxian State Grid Sichuan Electric Power Company Bazhong Power Supply Company; Abstract: False data injection attacks can destroy the data integrity and availability in SCADA systems, so the detection method for data security and stable operation of smart grid is of great significance. The extended Kalman filter method uses the detected data to recursively obtain the real-time state of the system, so as to achieve the purpose of effectively detecting and checking whether or not there are false data injections in the power system. In addition, this method can not only evaluate the past operating states, but also predict the minute changes of future system. Furthermore, this method can effectively identify the false data injection attack under unknown conditions of the system. IEEE-14 node and 30-node models are used as the benchmarks for detecting false data injection attacks. The results show that the proposed method not only is superior to traditional state estimation methods that fail to detect false data injection attack, but also exhibits many advantages, such as small storage capacity and easy realization.Keyword: false data injection attack; smart grid; extended Kalman filter; cyber attack; Received: 2017-07-170 引言近年来, 大量的研究指出电力系统极其脆弱, 以及极易被网络攻击1。在2007 年, 全球最大的黑客组织 Defcon 提出将电力系统中的数据采集与监控控制 (SCADA) 系统作为黑客的主要攻击目标。一旦电力系统遭受网络攻击, 极有可能导致整个电力信息物理系统的瘫痪2。从而对国家安全、公共安全和国民经济产生严重影响3。国外对于电力系统网络攻击已做出大量研究, 而国内对此研究还处于初级阶段2。文献4在 2009 年首次提出了电力系统虚假数据注入攻击的基本概念, 攻击者可通过检测方法的漏洞, 蓄意改变状态估计结果, 使电力系统无法安全可靠的运行。随后文献5在 2012 年提出了免疫辨识攻击的理念, 并构建了该方法的一般化攻击模型。虽然国内外对虚假数据注入攻击 (FDIA) 的方式与模型已做出大量研究4-11, 但是有关防范手段的研究较少。电力系统中对不良数据的检测是通过 SCADA 系统中的不良数据辨识模块进行的。即布置在电网各处的测量仪表需要对注入节点的有功功率和无功功率、线路传输的有功功率和无功功率大小等重要数据进行连续不断的检测。这些数据通过 SCADA 系统传送至电网控制中心, 再通过状态估计系统剔除不良数据才能得到可信的电网运行状态数据 (如节点电压幅值和相位等) 。正常情况下, 由测量噪声引起的系统残差非常小, 它远远小于统计学卡方分布的误差允许阈值, 这是系统未受不良数据侵扰的标志。若通过状态估计得到的系统残差大于误差允许阈值, 则认为有不良数据入侵电网。但是文献4提出的电力系统状态估计欺诈性数据, 通过检测方法的漏洞, 可以成功躲过残差检验, 从而攻击电网。本文提出一种基于扩展卡尔曼滤波12的不良数据检测方法, 该方法利用检测数据递归得到系统的实时运行状态, 是一种递归方法。同时该方法能评估系统过去运行状态和预测未来系统状态的变化情况。即使在系统模型确切性质未知的情况下, 该方法均可得到有效的结果, 并且可以有效检测出状态估计欺诈性数据。最后本文在 IEEE14 节点系统和 IEEE 30 节点系统做出仿真, 仿真结果证明该方法可以有效地检测出状态估计欺诈性数据, 防止电力系统做出误导保护动作和错误的调度选择。1 扩展卡尔曼滤波卡尔曼滤波是基于线性模型建立的, 但是电力系统交流潮流具有非线性关系, 因此对于电力系统中交流潮流的动态状态估计问题, 卡尔曼滤波的动态方程和量测方程可表现为式中:k 为时刻;x k 为系统的状态量 (包括节点电压幅值和相位, 共有 n 个状态量) ;z k 为 SCADA 系统测量仪器采集的电力系统量测量 (包括节点注入功率和线路潮流, 共有 m 个测量表) ;h (x k) 为系统状态量与量测量关系;f (x k-1) 为系统状态量 x 在 k-1 和 k 时刻的关系;w k 和 vk 分别为系统误差和量测误差, 均满足均值为 0 的高斯白噪声, 方差阵分别为 Wk和 Rk。式 (1) 反映的是系统状态变量随时间变化的规律。本文采用 Holt 两参数法进行计算, 可作为一种简单的短期负荷预测方法, 具有存储变量少、计算速度快的优点, 适合在线运算, 但不适用于负荷或发电器突变的情况。f (x) 的表现形式为式中:x 軇为系统状态变量的预测值。因此, 式 (3) 可线性化为其中因此式 (1) 可表现为在交流潮流中, 式 (2) 系统状态量与量测量的关系 h (x) 可分为以下 4 类。式中:g ij为线路 ij 的电导;b ij为线路 ij 的电纳;y c为线路对地电纳;G ij与 Bij分别为导纳矩阵中元素 ij 的实部与虚部。扩展卡尔曼滤波是一种线性化方法, 对非线性方程进行泰勒级数展开, 略去二次及以上的项, 即可得到扩展卡尔曼滤波的形式。扩展卡尔曼滤波分为状态预测步与测量更新步。(1) 状态预测步:计算系统状态的单步预测以及相关的协方差矩阵的预测状态估计误差为(2) 测量更新步:计算卡尔曼滤波增益矩阵, 更新状态估计和估计误差协方差矩阵为式中:K 为卡尔曼增益矩阵, 为量测方程的雅克比矩阵。扩展卡尔曼滤波的流程如图 1 所示。图 1 扩展卡尔曼滤波流程 Fig.1 Block diagram of extended Kalman filter 下载原图2 虚假数据检测原理正常情况下, 由测量噪声引起的残差 r 非常小, 它远远小于统计学卡方分布的误差允许阈值 k, a2 (其中 k=m-n 是冗余度, a 是显著性水平如 0.05) , 这是系统未受不良数据侵扰的标志。若伪造出一组与 z 同维的向量 a (攻击向量) , 使量测量由 z 变成 z+a (虚假数据) , 并使篡改后的系统残差 r 仍小于误差允许阈值 k, a2 (即躲过状态估计系统的过滤作用) , 则可称为成功的虚假数据攻击。此时 SCADA 系统中的不良数据辨识模块无法检测到有虚假数据的入侵。但经扩展卡尔曼滤波预测的系统状态量会与经虚假数据注入后的估计状态量偏离较大, 若预测状态量与估计状态量偏差过大, 则认为有黑客注入虚假数据攻击电网。检测公式为式中: 为经扩展卡尔曼滤波后的系统预测状态量; 为量测数据经 SCADA 系统状态估计后的系统估计状态量; 为一致性检测阈值, 其大小根据状态估计结果的精度确定。若满足式 (19) , 则认为系统正常;若不满足式 (19) , 则认为可能存在不良数据入侵系统的情况。由于该算法使用的是 Holt 两参数法进行计算式 (1) , 不适用于发电机或负荷突变的情况, 因此系统正常时, 式 (19) 也存在不满足的情况。此时需要将经预测状态量得出的预测量测数据与经量测表测得的量测数据进行预测残差检验, 即式中:z 为装置在系统各处的量测表所测得的量测数据; 为经扩展卡尔曼滤波后的预测量测数据; a为攻击检测阈值, 这里使用统计学中卡方分布的误差允许阈值 k, a作为攻击检测阈值。因此在式 (19) 、式 (20) 同时不满足的情况下, 可认为有虚假数据入侵电力系统。此时, 不良数据的隐蔽性得以打破, 可以被该算法成功检验出来。本文所提出的虚假数据检测算法流程如图 2 所示, 主要包含 5 个步骤。图 2 虚假数据检测算法流程 Fig.2 Flowchart of detect algorithm against false data 下载原图(1) 对电力系统进行传统状态估计, 得到系统实时运行状态。(2) 对电力系统进行扩展卡尔曼滤波, 得到系统的短期状态预测数据。(3) 采用式 (19) 对状态一致性进行检验。(4) 当式 (19) 满足时, 认为该时刻系统正常, 没有遭受不良数据的入侵;当式 (19) 不满足时, 采用公式 (20) 进行不良数据的隐蔽性检验。(5) 若式 (20) 满足, 则认为是发电机或负荷突变导致式 (19) 不满足, 系统正常;若式 (20) 不满足, 表明不良数据的隐蔽性得以打破, 认为此刻系统遭受不良数据的入侵。3 仿真与分析为了验证上述模型的可行性, 本文采用 IEEE14 节点与 30 节点标准测试系统进行仿真与分析。仿真所使用电脑的处理器为 Inter Core i7-6700 3.4GHz、内存为 32 GB。使用 Matlab 软件进行仿真, 并使用 Matpower 工具箱生成数据进行潮流计算, Matpower 的详细信息可见文献13。3.1 IEEE 14 节点系统本
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号