智能电网线路状态错误数据注入攻击的检测器与检测方法与流程

文档序号:15700791发布日期:2018-10-19 19:48阅读:155来源:国知局

本发明涉及针对智能电网线路状态的错误数据注入这类攻击的检测器与检测方法,属于智能电网安全检测应用领域。



背景技术:

智能电网是电网与信息系统紧密结合的大规模复杂系统,包括控制系统、检测系统和物理系统,如图1所示。物理系统产生、传输、分配和使用电力。检测系统验证感知的物理系统数据是否完整,验证后的数据被传输到控制系统,控制系统依据感知数据发出新的控制信号,物理系统根据控制信号进一步执行。物理系统由许多电网物理组件构成,如输电线路和用电终端。检测系统由传感器、PMU(Phasor Measurement Unit,相量测量装置)、信息传输系统和状态评估器组成。控制系统由中央控制器、分布式子控制器和执行器构成。

尽管传统的电网与信息系统结合有效地提高了能源分发效率与异常处理能力。然而,新的脆弱性被暴露,例如攻击者能够利用无线网络的脆弱性来入侵控制系统,从而引起系统错误控制。一个特别值得关注的问题是错误数据注入攻击。

错误数据注入(False Data Injection,FDI)攻击是工业控制系统领域面临的新的安全问题。攻击者通过直接攻击传感器或者入侵通信系统,修改被反馈的感知数据,导致系统状态的错误评估。在智能电网中,输电传输线路状态信息是FDI攻击的目标之一。输电传输线路状态信息是指输电传输线路传感器测量的感知数据,包括线路电流、线路两个终端负载和电压及当前线路是否连接。通过修改线路状态信息,攻击者实现掩盖当前线路真实状态的目的,具体包括:(1)掩盖某些线路断连的状态;(2)将未断连的线路伪装成为断连线路。为了达到上述目的,攻击者需要修改输电传输线路上测量电流和线路两端负载的传感器数值。

面对工业控制系统的错误数据注入攻击,研究人员已经提出的检测方法,可以分为四类:(1)基于冗余的检测器,利用系统状态评估矩阵、传感器数据和系统状态之间的关系进行检测,使用被评估的传感器数据与实际感知数据之间的2范数大小判别系统是否遭遇攻击,当该值大于一个设定阈值时,检测器发出异常警告;(2)基于数据学习的检测器,主要通过挖掘多维感知数据中存在的时间维度和空间维度的关系来判断数据是否遭到修改,所述关系包括连续感知数据之间的关联、离散命令之间的关联及异构的命令和感知数据之间的关联;(3)基于语义分析的检测器,对系统的状态和命令进行解释,验证系统的每一步操作进而检测错误数据注入攻击;(4)基于机器学习分类器的检测器,利用二分类方法训练一个分类器,当新的数据作为输入时,二分类器将数据分为异常和正常。

尽管以上的方法能够有效检测注入的错误数据,仍然存在如下问题:(1)大多数现有的检测方法并未针对智能电网输电传输线路传感器的错误数据注入攻击,如果直接应用于线路状态信息的恶意修改检测,检测准确率低;(2)现有的放在中央控制器的检测机制不能满足子控制器快速操作子系统的需求,当子控制器依据感知数据做决定时,需要等待中央检测器的检测结果,引起了延迟。延迟将导致系统控制延后执行,可能造成物理系统故障,甚至级联失效。

基于以上的问题,我们拟设计一个分布式检测框架,使子控制器自身具有检测功能,不需要依赖于中央控制器的检测结果。



技术实现要素:

本发明所要解决的技术问题是针对智能电网线路传感器的错误数据注入攻击,设计一种多层次的轻量级的检测器,该检测器能够在子控制器(Sub-controller)上运行,不需要增加额外的资源。同时,该检测器能够保障检测性能。

本发明采用的技术方案是:一种智能电网线路状态错误数据注入攻击检测器(S-Classifier),其由检测器数据收集器(S-DC)、线路标识器(Link Indicator)、数据聚合器(Aggregator)和分类器(Classifier)四部分构成,如图2所示。不同于传统的检测器,本发明提出的检测器可以安装在智能电网的每个子控制器上。

检测器数据收集器负责与相连的上下级子控制器的检测器数据收集器和底层数据收集器(DC)进行数据传输。底层数据收集器直接接收测量系统状态的传感器(Sensors)数据。当下级检测器的检测器数据收集器或者底层数据收集器要通过该检测器数据收集器传输数据到上级检测器数据收集器时,该检测器数据收集器将负责对数据进行拷贝,并将数据传输给数据聚合器。除此以外,检测器数据收集器负责将其所在检测器的异常检测结果传输给上级子控制器的检测器数据收集器,最后再传输给中央控制器。

线路标识器负责标记当前子控制器能够控制的线路状态是连接或断开。每一个线路标识器是由一个0和1构成的数据向量。一个子控制器能够管理的线路数量是这个向量的维度。当向量的第i个维度数据为1,则表示第i条线路当前处于连接状态。当第i个维度的数据为0,则表示当前线路是断连的,i=1,2,…,Q,Q为总的维度数。由于子控制器能够自动感知线路状态,所以该状态由子控制器自动设置。同时,线路标识器为数据聚合器提供查询接口。

数据聚合器负责将每个检测器数据收集器传输的数据依据线路标识器的标识处理为样本,所述样本为一个被分类器分析的高维度数据向量,并将数据传递给分类器。一个六维数组x描述了一条线路在单位时间的状态,该六维数组包括线路两端的电压角,线路两端点的负载量,线路的电流量和线路当前连接状态,记为:

x={θ1,θ2,l1,l2,f,1/0}T

其中θ1表示线路一端的电压角,θ2表示线路另一端的电压角,l1表示线路一端的负载量,l2表示线路另一端的负载量,f表示线路的电流量。1/0用来表示线路当前的连接状态,如果子控制器感知当前线路状态为连接,则该维度数据为1,如果当前线路被断连,则该维度数据选取为0。

分类器负责对样本进行二分类:异常或者正确。当样本被分为异常类,警告将被产生,子控制器将根据警告定位异常线路,并通过检测器数据收集器传输给上级相连的检测器数据收集器。

本发明还提供一种基于上述检测器的智能电网线路状态错误数据攻击的检测方法,该方法主要利用了基于支持向量机(Support Vector Machine,SVM)二分类方法实现。SVM二分类方法主要包括两部分:训练超平面和输入样本分类。不同于传统方法,本发明采用将训练超平面和输入样本分类分离的方案,超平面的训练被放置在中央控制器,输入样本分类被每个子控制器的分类器完成。每个单位时间内,检测器将检测线路拓扑是否发生变化。如果线路拓扑发生变化,控制对应线路的子控制器将要求中央控制器训练数据,获取分类器的新参数。然后,待检测样本被输入分类器进行分类,如果存在样本被标记为异常类样本的情况,则警告被流出并通知给子控制器。接收到该警告的子控制器标记对应线路状态信息被修改,错误数据注入攻击被检测。同时,该条线路状态信息异常也将被传输到与该子控制器相连的上层子控制器,直至中央控制器。下面分训练超平面和输入样本分类两个步骤具体介绍本发明的实施过程:

S1为子控制器训练超平面

每个子控制器的超平面训练均由中央控制器完成,其具体过程如下:

S1.1获取线路状态信息

基于当前子控制器的线路标识器的向量,从历史电网数据中,收集和当前子控制器线路标识器的向量相同情况下的线路状态信息。

S1.2生成训练正样本集合

正样本是指正常的线路状态信息样本。每一子控制器都控制着一部分线路,该子控制器也仅仅处理这些线路的样本。中央控制器将属于同一个子控制器控制的线路的样本合并,为第j个子控制器生成样本集合Cj,j=1,2,…,N,其中N为子控制器个数。

S1.3为正样本增加标签

对于任意样本x∈Cj,增加标签y=1;

S1.4生成错误样本

一个错误样本是指一个正常样本的部分或全部数据项被修改。对于任意样本x∈Cj,随机修改数据项,修改后的样本集构成集合Mj。同时,为每一个样本增加标签y=-1。

S1.5为子控制器的分类器生成超平面

中央控制器以每个样本集合Cj、Mj和两个集合对应的标签作为输入,为第j个子控制器计算SVM超平面:

Ajx+bj=0

超平面参数Aj和bj通过公式(1)计算:

受限于:

y(Ajx+bj)≥1

S1.6设置子控制器分类器的超平面参数

将超平面参数Aj和bj发送给第j个子控制器的分类器。

上述过程描述了中央控制器为每个子控制器的检测器训练生成分类器超平面的过程。当一个子控制器的线路标识器向量发生变化,其将向中央控制器提出重新生成超平面的请求,中央控制器将重新执行上述六步为对应子控制器设置新的超平面参数。

S2分类器对输入样本进行分类

在单位时间内,每个子控制器的聚合器将该子控制器管理的线路信息合并为有效样本输入到对应子控制器的分类器,分类器将按照如下过程将数据标记为异常或者正常:

S2.1构造样本集合

分类器在每个单位时间对聚合器输入的多个样本构造一个样本集合,确保有且只有一个样本描述该子控制器控制的一条线路的状态。

S2.2分类样本集合的样本

当输入的样本x满足

Ajx+bj≥0,

则样本x为正常类样本。否则,样本x将被标记为异常类样本。

S2.3当样本集合中存在一个异常样本,将发送警告信息给子控制器,告知异常样本对应的线路名称。

S2.4依据警告内对应的线路名称,将对应线路标记为被攻击的线路,并将该线路被攻击情况发送给与该子控制器相连的上级子控制器。

在执行完以上四步后,每个子控制器能够判断出是否当前控制的线路状态信息被修改,实现判断是否有错误数据注入的检测目的。

本发明充分利用了子控制器的计算资源、存储资源和通信资源设计了分布式检测器框架。每个子控制器均有一个独立的检测器判断是否出现错误数据注入。考虑子控制器计算能力受限的特点,本发明将分类器的训练过程移交给中央控制器,每个子控制器仅仅需要对数据进行分类。同时,本发明根据线路的固有属性,即电阻保持不变的特点,选取了与其相关的六维数组生成样本点作为异常检测的输入。采用本发明可以取得以下效果:

1)减少了边沿检测器决策的延迟:实际上,由于智能电网分布较广,许多边沿检测器通过无线网络和多次转发才能与中央控制器进行数据传输,这一过程需要很长的时间延迟。因为本发明中每个子控制器都具有对其维护的线路信息完整性的检测能力,子控制器能够直接判断出数据是否遭遇修改,不需要等待中央检测器的检测结果而依据自身的检测结果执行操作,能够在很大程度上减少子控制器的决策延迟

2)更好的错误数据注入检测效果:本发明的样本生成方法是将一条线路的信息作为一个样本点,同时一个检测器仅仅使用空间上较近线路上的信息构造对应的分类器,充分考虑了空间距离近的线路的状态相似性,因此有效地提高了恶意数据的检测能力;

3)错误数据注入的线路能被定位:因为本发明的样本是以线路作为单位的,一个样本即描述了一条线路的情况。当数据出现异常,就能确认该条线路信息有误。因此本发明提出的检测方法能够准确定位出哪条线路存在问题。

附图说明

图1是智能电网系统模型;

图2是本发明的检测器的分布式框架组成图;

图3是本发明检测器三层子控制器实例图;

图4是本发明的总流程图;

图5是为子控制器训练超平面流程图;

图6是分类器对输入样本进行分类流程图;

图7是采用本发明的检测效果。

具体实施方式

下面结合附图对本发明的实施方式作进一步说明。

图3是本发明基于子控制器的检测器实例,共包含三层子控制器。子控制器Sub-controller 1、Sub-controller 21、Sub-controller 22、Sub-controller 31、Sub-controller 32、Sub-controller 33和Sub-controller 34依次被编号为子控制器1、2、3、4、5、6和7。每一个子控制器上安装一个检测器。检测器由四个组件构成:检测器数据收集器、线路标识器、聚合器和分类器。

第三层的子控制器Sub-controller 31、Sub-controller 32、Sub-controller 33和Sub-controller 34直接接收来自底层数据收集器收集的数据。以Sub-controller 31(编号j=4)为例,单位时间的感知数据被传送到Sub-controller 31的检测器数据收集器,检测器数据收集器将依据线路标识器对线路的标识,将该子控制器管理的传输线路数据包括线路的电流,线路端负载和电压以及当前线路连接状态传输到子控制器的聚合器内,聚合器将为每一条线路生成对应的样本并发送至分类器。分类器对单位时间内的样本进行分类,如果发现存在属于异常类的样本,则相关样本对应的传输线路被标记为异常并发送给子控制器Sub-controller 31。对于该子控制器而言,错误数据注入能被直接发现。该子控制器也通过检测器数据收集器将异常信息传递给上层子控制器Sub-controller 21的检测器数据收集器,直至该信息被传输至中央控制器。

在数据从传感器传输到中央控制器过程中,每一个子控制器仅仅复制自己需要的数据,所有感知数据将经过每一层的检测器数据收集器传输至中央控制器。因此,并未增加额外的通信资源。因为增加的四个组件不需要大量计算资源,可以直接在子控制器内实现。

基于本发明检测器的智能电网线路状态错误数据注入攻击的检测方法被应用于每个子控制器的分类器。该方法负责将输入样本分为正常样本和异常样本,包括训练超平面和样本分类两个步骤。以子控制器Sub-controller 31(编号j=4)为例,在检测器构造之初或者子控制器Sub-controller 31维护的传输线路拓扑发生变化时,子控制器Sub-controller 31超平面训练被激活,中央控制器为对应子控制器训练超平面后,将相关参数A4和b4发送至子控制器检测器的分类器。分类器依据接收到的参数,对输入样本进行分类,实现错误数据注入检测。

S1为7个子控制器训练超平面

7个子控制器的超平面训练由中央控制器完成。以图3子控制器Sub-controller 31为例,当该子控制器被构建或者发现线路标识器的向量发生改变,则向中央控制器提出请求,中央控制器为该子控制器训练超平面。其具体实施过程如图5所示:

S1.1从历史正常的传输线路感知数据中,获取与子控制器Sub-controller 31的线路标识器向量相同时的感知数据;

S1.2将记录子控制器Sub-controller 31控制的线路感知信息提取,并将数据构造成为样本,生成样本集合C4

S1.3为样本集合C4中的每一个样本增加标签1;

S1.4随机修改正常样本中电流值和负载量,修改差值大于正常数据的2%,得到错误样本集合M4,并为每个样本增加标签-1。

S1.5将正常样本集合C4和错误样本集合M4及对应标签作为输入,通过求解公式(1)得到超平面参数。

S1.6参数将被中央控制器通过相连的子控制器数据收集器传递到对应子控制器检测器,其传输依次经过子控制器Sub-controller 1、子控制器Sub-controller 21和子控制器Sub-controller 31。当参数到达子控制器Sub-controller 31,其分类器的超平面参数得到更新。

S2分类器对输入样本进行分类

样本分类由每个子控制器的分类器完成,其依赖于S1训练生成的超平面参数。以图3子控制器Sub-controller 31内的分类器为例,其样本分类的具体实施如图6所示:

S2.1构造样本集合

每个单位时间子控制器内的聚合器将传输多个样本至分类器。分类器构造一个集合,确保有且只有一个样本描述该子控制器控制的一条线路状态。

S2.2分类样本集合的样本

对构造的样本集合内的样本,分类器依据超平面参数A4和b4去验证每个样本数据x,如果x满足

A4x+b4<0

则被标记为异常类,否则是正常类。

S2.3当样本集合中存在一个异常样本x,警告信息:线路L(x为线路L的状态描述)异常,会被通知子控制器Sub-controller 31。

S2.4警告信息经由该子控制器的数据收集器,依次传输给子控制器Sub-controller 21、Sub-controller 1和中央控制器。

到此,每个控制相关线路的子控制器能够判断出是否相关线路信息被修改。不同的子控制器分析不同的线路,不需要等待中央控制器结果,实现了分布式检测。

图7显示了本发明应用于IEEE-39bus系统的检测结果,共有六个子控制器:cc、sub-1、sub-2、sub-3、sub-4和sub-5。使用了三个评估参数包括准确率(Accuracy)、假阳率(FP)和假阴率(FN)去度量。准确率是指被正确分类的样本与所有检测样本的比例。假阳率指被错误分类的正确样本与所有检测样本的比例。假阴率指被错误分类的错误样本与所有检测样本的比例。从检测结果可以看出本发明能够很好的检测传输线路错误数据注入攻击。

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