本发明涉及风电领域,特别涉及一种基于自动化决策的风电场主动安全防御方法。
背景技术:
:随着智能电网技术的发展和风电运维服务水平的不断提高,将风电场运行数据通过互联网实时传输到远程监控中心,实现大规模集群监控和精细化调度的智能化运行管理已经成为趋势。但是,如“震网事件”、“乌克兰停电事件”等由恶意网络攻击导致的电力系统事故也让风电场业主对监控内网与互联网接驳的安全性深感担忧。因此,针对电力系统领域自身特点,研究“互联网+”和智能电网时代背景下的能源互联网信息安全防护技术尤为迫切。在风电场监控系统中,远程监控一般由调度员人工操作,从控制中心或集控站向风电场传送改变运行设备状态的命令。风电场对远程控制信息的可靠性要求很高,远程控制指令信息是否可靠将直接影响风电场的安全可靠运行。为了保证风电场的安全可靠运行,监控系统的安全访问控制应从以下方面考虑:1)用户通过网络对监控系统进行访问控制时必须对用户身份进行认证,并确认其访问权限;2)用户通过监控系统下发控制指令时,必须确保控制指令的可靠性,没有被黑客篡改和调换;3)风电并网时,为保证并网的安全,必须对并网操作进行严格的控制。对风电机组进行控制操作时,为防止风电机组被损坏,也必须对其操作进行严格的控制。只有这样,才能保证风电系统安全稳定地进行,风力发电及风电场安全有效地并网。技术实现要素:为了解决上述技术问题,本发明提供一种准确性高、安全可靠的基于自动化决策的风电场主动安全防御方法。本发明解决上述问题的技术方案是:一种基于自动化决策的风电场主动安全防御方法,包括以下步骤:步骤一:建立风电场控制指令白名单检测过滤机制,得到理论白名单过滤检测结果类型;步骤二:建立风电场运行态势评估的概率区间;步骤三:结合理论白名单过滤检测结果类型和风电场运行态势评估的概率区间得到安全规则列表;步骤四:进入白名单检测过滤机制的检测模式,得到实际白名单过滤检测结果;步骤五:计算出当前风电场运行态势下运行人员发出各种操作指令行为的概率;步骤六:将步骤四得到的实际白名单过滤检测结果和步骤五得到的概率所在区间代入步骤三的安全规则列表中,得到决策结果。上述基于自动化决策的风电场主动安全防御方法,所述步骤一具体步骤如下:1-1)捕获Modbus通信协议的报文,并对其解析获得控制指令数据包;1-2)风电场处于正常运行状态,系统处于训练模式,分别采用数据挖掘算法和贝叶斯分类算法对数据包或者数据流进行评分,并计算综合加权评分,根据综合加权综合评分得出数据包或数据流是否添加进白名单列表,从而得到白名单列表;1-3)风电场出现异常时,系统自动切换至检测模式,在正常状态的训练模式中自学习得到的白名单列表用于验证,验证通过则放行控制指令数据包,即过滤检测结果为允许,反之则标记异常,将控制指令数据包交给静态白名单检测模块继续处理;1-4)标记异常的指令数据包进入静态白名单检测模块后,分别进行主机检测、报文头检测和功能代码检测三种类型的静态白名单匹配;1-5)通过三种静态白名单检测的控制指令数据包将进行“原路返回”操作,放行控制指令数据包,即过滤检测结果为允许,而不符合任意一种白名单检测的控制指令数据包将会被过滤拦截,即过滤检测结果为拒绝。上述基于自动化决策的风电场主动安全防御方法,所述步骤二中的概率区间分为四种,分别为第一区间(0,25%],第二区间(25%,50%],第三区间(50%,75%]和第四区间(75%,100%)。上述基于自动化决策的风电场主动安全防御方法,所述步骤三中安全规则列表具体内容为:当风电场运行态势评估的概率位于第一区间时,若白名单过滤检测结果为允许,则决策结果为不通过并报警,若白名单过滤检测结果为拒绝,则决策结果为不通过;当风电场运行态势评估的概率位于第二区间时,若白名单过滤检测结果为允许,则决策结果为通过并报警,若白名单过滤检测结果为拒绝,则决策结果为不通过;当风电场运行态势评估的概率位于第三区间时,若白名单过滤检测结果为允许,则决策结果为通过,若白名单过滤检测结果为拒绝,则决策结果为不通过并报警;当风电场运行态势评估的概率位于第四区间时,若白名单过滤检测结果为允许,则决策结果为通过,若白名单过滤检测结果为拒绝,则决策结果为通过并报警。上述基于自动化决策的风电场主动安全防御方法,所述步骤五的具体步骤为:5-1)对风电场运维设备提供的态势信息进行数据采集和态势指标提取,并归一化处理;5-2)利用遗传算法优化的BP神经网络算法,对多维度态势指标构成的样本集进行训练学习,建立各态势信息来源各种操作行为的概率表,根据概率表确定态势的基本概率分配;5-3)根据BP神经网络输出的态势的基本概率分配,不断融合新证据态势的基本概率分配,得到运行人员发出各种操作指令行为的概率;5-4)将所得运行人员发出各种操作指令行为的概率与风电场运行态势评估的概率区间相比较,得出态势信息来源操作行为的概率所在概率区间。上述基于自动化决策的风电场主动安全防御方法,所述步骤5-1)中,态势信息包括并网风速、关键机组部件故障报警信号、逻辑闭锁标志。上述基于自动化决策的风电场主动安全防御方法,所述步骤5-2)中,记Msj表示第S个证据来源在第j个机群(j=1,2)上对某种操作行为的概率分配函数,风速、关键机组部件故障报警信号和逻辑闭锁标志分别为记为s1、s2、s3,则每一个证据来源根据各自在j个机群累计提供证据所获得的基本概率分配公式为:Ms(Ak)=c-1Σ∩Am=AkΠ1≤j≤JMsj(Am),m=1,...,k]]>其中:c=1-Σ∩Am=ΦΠ1≤j≤JMsj(Am)=Σ∩Ai≠ΦΠ1≤j≤JMsj(Am)]]>Ms(Ak)表示第S个证据来源在第j(j=1,2)个机群对某种操作行为命题Ak的可信度分配值;Ak表示某种操作行为命题;Msj(Am)表示第s(s=s1,s2,s3)个证据来源在第j个机群(j=1,2)上对某种操作行为命题Am的概率分配函数;C表示归一化常数;Φ表示空集,交集符号∩表示两个命题的公共部分。上述基于自动化决策的风电场主动安全防御方法,所述步骤5-3)中,将每个证据来源对操作的融合结果再进行机群融合处理,融合公式为:M(Ak)=c-1Σ∩Am=AkΠ1≤s≤SMs(Am),m=1,...,K]]>其中:C=Σ∩Am≠ΦΠ1≤s≤SMs(Am).]]>上述基于自动化决策的风电场主动安全防御方法,在步骤一之前还包括建立风电场主动安全防御决策需求表的步骤,其具体步骤为:确定风电场主动安全防御决策需求的决策点、知识域和数据域,根据已确定的风电场主动安全防御决策需求的决策点、知识域和数据域,建立风电场主动安全防御决策需求表。本发明的有益效果在于:本发明的步骤如下:首先结合理论白名单过滤检测结果类型和风电场运行态势评估的概率区间得到安全规则列表;然后完成基于白名单机制的控制指令过滤检测,得到实际白名单过滤检测结果;接着计算出当前风电场运行态势下运行人员发出各种操作指令行为的概率;最后将实际白名单过滤检测结果和概率所在区间代入安全规则列表中,得到决策结果。本发明通过将态势感知技术和白名单检测过滤机制相结合来共同为风电场运行安全性决策提供建议,提高了风电场信息安全防御手段的完备性,有利于消除风电场业主对数据并入因特网的安全顾虑,能有效促进风电大数据的发展。附图说明图1为本发明的工作流程图。图2为风电场主动安全防御决策需求图表。图3为白名单检测机制的流程图。图4为主机检测示意图。图5为报文头检测示意图。图6为功能代码检测示意图。图7为风电场运维态势评估示意图。具体实施方式下面结合附图和实施例对本发明作进一步的说明。如图1-图7所示,一种基于自动化决策的风电场主动安全防御方法,包括以下步骤:步骤一:运用知识自动化技术,建立风电场主动安全防御决策需求表。决策需求图表(DecisionRequirmentsDiagram,DRD)是知识自动化领域的一个关键技术,该图表将所需制定的决策流程的结构表示为一个带有业务知识和数据支持域的、由决策或子决策构成的网络。如图2所示,具体步骤如下:1-1)通过决策需求分析研讨会(DRAW)确定风电场主动安全防御决策需求的决策点、知识域和数据域。该决策需求将风电场在某一态势下控制指令的安全性分析视为一个决策业务,风电场运行态势和白名单检测的合规性视为其子决策需求,安全规则列表视为其知识域需求。在合规性子决策中,风电控制指令为其数据域,白名单规则为其知识域。在运行态势子决策中,风电场运维综合数据为其数据域需求,D-S证据理论数据融合方法为其知识域需求;然后,自上而下地建立“运行态势”和“合规性”两个子决策;1-2)根据已确定的风电场主动安全防御决策需求的决策点、知识域和数据域,建立风电场主动安全防御决策需求表。步骤二:建立风电场控制指令白名单检测过滤机制,得到理论白名单过滤检测结果类型。如图3所示,具体步骤如下:2-1)捕获Modbus通信协议的报文,并对其解析获得控制指令数据包;在兆瓦级风电机组控制系统中,SCADA系统与塔基主控制器之间的通信主要采用ModbusTCP/IP通信协议来实现,其中ModbusTCP报文头的解析主要针对事务标志处理符、协议标志处理符以及长度和单元处理符。而协议标识符可以判别通信是否使用的是Modbus协议(0=Modbus协议),长度处理符可以判别单元标识符和其后数据的长度,据此和白名单匹配,可以解析出数据包是否为攻击者在监听网络流量后随意构造的伪指令;2-2)风电场处于正常运行状态,系统处于训练模式,分别采用数据挖掘算法和贝叶斯分类算法对数据包或者数据流进行评分,并计算综合加权评分,根据综合加权综合评分得出数据包或数据流是否添加进白名单列表,从而得到白名单列表;综合加权综合评分就是通过计算控制指令数据包是合法数据包的概率,即数据包条件合法概率(ConditionalLegitimateProbability,CLP),由CLP(p)进行决策,将CLP(p)值高于一个动态阈值的控制指令数据包添加到白名单中。每个数据包都有自己的属性,比如,协议类型、数据包长度大小,在该方案中分别称属性A1,A2,A3,......。假设数据包属性A1,A2,A3,......的属性值为a1,a2,a3......时,该数据包为正常时的概率为Pnor(A1=a1,A2=a2,A3=a3,....),为异常时的概率为Pabnor(A1=a1,A2=a2,A3=a3,...)。当属性A1,A2,A3,......分别等于a1p,a2p,a3p,......的情况下,数据包P为合法的概率表示为:CLP(p)=NnorPnor(A1=a1p,A2=a2p,A3=a3p,...)NnorPnor(A1=a1p,A2=a2p,A3=a3p,...)+NabnorPabnor(A1=a1p,A2=a2p,A3=a3p,...)---(1)]]>其中CLP(p)=p(p是正常数据包|A1=a1p,A2=a2p,A3=a3p,...),Nnor表示正常的控制指令数据包数,Nabnor表示异常的控制数据包数。假设Nm为风电场SCADA系统出现的异常控制指令数据包总数,则Nm=Nnor+Nabnor,故将(1)式化简为:CLP(p)=NnorPnor(A1=a1p,A2=a2p,A3=a3p,...)NmPm(A1=a1p,A2=a2p,A3=a3p,...)---(2)]]>其中Pm=(A1,A2,A3,...)表示风电场SCADA系统出现异常控制指令数据包时,属性A1,A2,A3,...的联合概率分布律。由于在单位时间是恒定的,所以将公式(2)化简为:CLP=Pnor(A1=a1p,A2=a2p,A3=a3p,...)Pm(A1=a1p,A2=a2p,A3=a3p,...)---(3)]]>假设A1,A2,A3,...属性是独立分布的,将公式(3)转化为:CLP(p)=Pnor(A1=a1p)Pm(A1=a1p)·Pnor(A2=a2p)Pm(A2=a2p)·Pnor(A3=a3p)Pm(A3=a3p)---(4)]]>采用log算子对公式(4)中CLP(p)进行处理得到:log[CLP(p)]={log(Pnor(A1=a1p))-log(Pm(A1=a1p))}+{log(Pnor(A2=a2p))-log(Pm(A2=a2p))}+{log(Pnor(A3=a3p))-log(Pm(A3=a3p))}+...---(5)]]>由公式(5)可知,一个数据包P的分数值由各个属性的分数值相加得到。当属性A=ap时,A分数值表示为:log(Pn(A1=a1p))-log(Pm(A1=a1p)),遍历A的所有取值,就得到属性A的分值表,其余属性以此类推。2-3)风电场出现异常时,系统自动切换至检测模式,在正常状态的训练模式中自学习得到的白名单列表用于验证,验证过程是:捕获流经风电场SCADA系统的控制指令数据包,取出数据包的源IP地址和MAC地址等属性值进行对比,检查是否存在于白名单列表中,如果存在,将数据包放行。验证通过则放行控制指令数据包,即过滤检测结果为允许(ALLOW);反之则标记异常(ALERT),将控制指令数据包交给静态白名单检测模块继续处理;2-4)标记异常的指令数据包进入静态白名单检测模块后,分别进行主机检测、报文头检测和功能代码检测三种类型的静态白名单匹配;主机检测主要通过主机白名单列表对整个风电场内网各个主机设备的MAC地址和IP地址进行记录检测;报文头检测主要对ModbusTCP报文头、源端口和目的端口进行检测;功能代码检测主要对从控制指令中解析出来的功能代码与正常行为白名单的功能代码进行匹配;如图4所示,主机检测的工作流程如下:白名单列表对整个风电场内网各个主机设备的MAC地址和IP地址均有记录。由于一些备用主机、工程师站及人机交互接口等终端的安全防护等级不高,容易被攻击者利用,故规定特定主机才能向某一控制器发送指令。图4中由于主机白名单列表中只允许SCADA服务器1(11.11.11.11.11.11/10.128.99.101)向塔基主控制器发送指令,故将SCADA服务器2发送的塔基主控指令视为威胁指令,将其进行过滤拦截。报文头检测的工作流程如下:报文头白名单检测包括ModbusTCP报文头检测以及源端口、目的端口的检测(将源、目的端口号归为报文头检测一类)。ModbusTCP报文头的解析主要针对事务标志处理符、协议标志处理符以及长度和单元处理符。其中协议标识符可以判别通信是否使用的是Modbus协议(0=Modbus协议)。长度处理符可以判别单元标识符和其后数据的长度,据此和白名单匹配,可以解析出数据包是否为攻击者在监听网络流量后随意构造的伪指令。端口号的检测也可以筛选出异常的风电控制指令行为。如图5所示,从SCADA服务器向某单台风电机主控制器发送一条“停机”指令。虽然SCADA服务器1是图5检测中的合规源地址,在协议标识符和端口号检测的白名单列表上也符合正常指令行为,但红色指令的长度处理符为0X0014,明显异常(假设正常停机指令的长度处理符为0X0006),与白名单列表不符故将其作异常指令处理。功能代码检测的工作流程如下:功能代码白名单检测对从控制指令中解析出来的功能代码与正常行为白名单的功能代码进行匹配。功能代码是Modbus报文中的一部分,主要用于表述通信报文所执行的功能,从报文中解析出功能代码便可以判别从主机向从机发送的何种指令。依据风电场正常运行操作经验,在报文头白名单列表中定义好特定IP地址的主机(SCADA服务器)只能发送特定的功能代码,便能清晰地分辨并过滤掉可疑指令行为。如图6所示,报文头白名单列表定义从SCADA服务器1(IP地址为10.128.99.101)向塔基主控制器发出的指令的报文头功能代码只能为0X01、0X02、0X03、0X04、0X05,若解析出指令报文的功能代码为0X09,则将该条指令作可疑指令处理。2-5)通过三种静态白名单检测(必须是通过全部的三种检测)的控制指令数据包将进行“原路返回”操作,放行控制指令数据包,即过滤检测结果为允许(ALLOW),而不符合任意一种白名单检测的控制指令数据包将会被过滤拦截,即过滤检测结果为拒绝(DENY)。步骤三:建立风电场运行态势评估的概率区间。概率区间分为四种,分别为第一区间(0,25%],第二区间(25%,50%],第三区间(50%,75%]和第四区间(75%,100%)。步骤四:结合理论白名单过滤检测结果类型和风电场运行态势评估的概率区间得到安全规则列表。安全规则列表具体内容为:当风电场运行态势评估的概率位于第一区间时,若白名单过滤检测结果为允许,则决策结果为不通过并报警,若白名单过滤检测结果为拒绝,则决策结果为不通过;当风电场运行态势评估的概率位于第二区间时,若白名单过滤检测结果为允许,则决策结果为通过并报警,若白名单过滤检测结果为拒绝,则决策结果为不通过;当风电场运行态势评估的概率位于第三区间时,若白名单过滤检测结果为允许,则决策结果为通过,若白名单过滤检测结果为拒绝,则决策结果为不通过并报警;当风电场运行态势评估的概率位于第四区间时,若白名单过滤检测结果为允许,则决策结果为通过,若白名单过滤检测结果为拒绝,则决策结果为通过并报警。步骤五:进入白名单检测过滤机制的检测模式,得到实际白名单过滤检测结果。步骤六:计算出当前风电场运行态势下运行人员发出各种操作指令行为的概率。具体步骤为:6-1)对风电场运维设备提供的态势信息进行数据采集和态势指标提取,并归一化处理;态势信息包括并网风速、关键机组部件故障报警信号、逻辑闭锁标志。从并网风速、关键机组部件故障报警信号、逻辑闭锁标志等多角度、多层次的态势信息中发现宏观风电场控制系统的威胁情况,同时融合不同方面态势信息来降低风电场运维安全态势评估中不确定性,进而评估风电场运维系统整体安全状态;6-2)利用遗传算法优化的BP神经网络算法,对多维度态势指标构成的样本集进行训练学习,建立各态势信息来源各种操作行为的概率表,根据概率表确定态势的基本概率分配(BPA);D-S证据理论在BPA构造过程中存在太过主观性,需要利用BP神经网络确定BPA值。在此基础上,以遗传算法对BP神经网络进行网络结构参数化,解决其收敛速度慢、局部极小等问题,提高BPA预测准确性;记Msj表示第S个证据来源在第j个机群(j=1,2)上对某种操作行为的概率分配函数,风速、关键机组部件故障报警信号和逻辑闭锁标志分别为记为s1、s2、s3,则每一个证据来源根据各自在j个机群累计提供证据所获得的基本概率分配公式为:Ms(Ak)=c-1Σ∩Am=AkΠ1≤j≤JMsj(Am),m=1,...,k---(6)]]>其中:C=1-Σ∩Am=ΦΠ1≤j≤JMsj(Am)=Σ∩Ai≠ΦΠ1≤j≤JMsj(Am)---(7)]]>Ms(Ak)表示第S个证据来源在第j(j=1,2)个机群对某种操作行为命题Ak的可信度分配值;Ak表示某种操作行为命题;Msj(Am)表示第s(s=s1,s2,s3)个证据来源在第j个机群(j=1,2)上对某种操作行为命题的概率分配函数;C表示归一化常数;Φ表示空集,交集符号∩表示两个命题的公共部分。6-3)根据BP神经网络输出的态势的基本概率分配,不断融合新证据态势的基本概率分配,得到运行人员发出各种操作指令行为的概率;D-S证据理论将每次融合看成是基于时间点的证据态势BPA融合。在态势评估过程中,将每次融合看成是基于时间点的证据融合,每个证据由基于时间点态势状态BPA组成,而每一个态势状态对应证据的一个命题。基于时间域的D-S证据融合的流程说明如下:6-3-1)对于第n-1条证据,为Tn-1时刻时BP神经网络给出的态势BPA;6-3-2)当产生第n条证据时,与第n-1次证据进行融合,进而得到一个新证据;6-3-3)依次利用合成公式进行融合,获得最终态势BPA;合成公式为:M(Ak)=c-1Σ∩Am=AkΠ1≤s≤SMs(Am),m=1,...,K---(8)]]>其中:C=Σ∩Am≠ΦΠ1≤s≤SMs(Am)---(9);]]>6-4)将所得运行人员发出各种操作指令行为的概率与风电场运行态势评估的概率区间相比较,得出态势信息来源操作行为的概率所在概率区间。步骤七:将步骤四得到的实际白名单过滤检测结果和步骤五得到的概率所在区间代入步骤三的安全规则列表中,得到决策结果。下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明,而不应被这里阐述的实施例所限制。相反,提出这些实施例是为了能够更透彻地理解本公开,并且能够更透彻地理解本发明,能够将本发明的范围完整的传达给本领域的技术人员。在本实施例中,设定并网风速、关键机组部件故障报警信号、逻辑闭锁标志三个态势信息来源,每个态势信息来源各有分别来自甲、乙两个机组的信号。假设在长时间运行数据的统计下单个证据来源信号都为“1”时(这里分别表示:平均风速大于并网风速临界值、机组关键部件有故障报警、各断路器及接地开关闭锁操作依序完成),“启动”、“停机”操作行为的概率如表1所示。下面,对所有证据来源信号同时为“1”的态势下,运行人员对风电机组发出“启动”、“停机”的概率进行融合计算。表1各态势信息来源支撑并/停机操作概率记Msj表示第S个证据来源(风速、关键机组部件故障报警信号和逻辑闭锁标志分别为记为s1、s2、s3)在第j个机群(j=1,2)上对某种操作行为的概率分配函数。则可推导出:Ms(Ak)=c-1Σ∩Am=AkΠ1≤j≤JMsj(Am),m=1,...,k]]>其中:C=1-Σ∩Am=ΦΠ1≤j≤JMsj(Am)=Σ∩Ai≠ΦΠ1≤j≤JMsj(Am)]]>则:M1(启动)=1-1·{M11(启动)·M12(启动)+M11(启动)+M12(停机)+M11(停机)+(启动)=0.6×0.65+0.6×0.35+0.4×0.65=0.86同理可得:M1(停机)=0.14M2(启动)=0.4M2(停机)=0.6M3(启动)=0.97M3(停机)=0.03在风电场运行态势子决策过程中,将电网与风电场达成的发电计划,风速信息,关键机组部件故障报警信息,设备逻辑闭锁标志位等风电场的基础数据视为决策模型的态势来源,用D-S证据理论对每个证据来源所支撑决策的概率进行融合,计算出当前态势下运行人员发出各种操作指令行为的概率。将态势评估得出的概率归类为四个概率区间,结合风电控制指令白名单过滤检测结果,制定安全规则列表,为运行安全自动化决策提供决策指导(知识域需求)。表2安全规则列表因此,在当前态势下,运行人员通过SCADA系统向风机主控发出“启动”指令的概率为33.37%,发出“停机”指令的概率为66.63%。对照表2所述的安全规则列表,两条指令的概率分别落在(25%,50%]和(50%,75%]区间。对于白名单过滤检测机制的不同结果,他们的安全性决策分别是:通过并报警/不通过;通过/不通过并报警。通信安全与风电场运行安全问题延缓了风电数据联接互联网的进程,不利于风电的远程监控和集群管理,阻碍了风电大数据发展。针对此问题,本文结合控制指令白名单检测过滤机制与风电场运行安全态势评估,设计了基于自动化决策的主动防御策略,能对风电控制指令的真实性、合规性进行判断和过滤,保证风电场安全运行,具有理论研究意义,有利于消除风电场业主对风电数据联网安全性的顾虑,解决风电大数据发展的瓶颈问题。当前第1页1 2 3