基于卷积神经网络的微网攻击识别方法及微网协调控制器与流程

文档序号:20705264发布日期:2020-05-12 16:20阅读:178来源:国知局
基于卷积神经网络的微网攻击识别方法及微网协调控制器与流程

本发明涉及一种电网系统,特别涉及一种基于卷积神经网络的微网攻击识别方法及微网协调控制器。



背景技术:

微网是将分布式发电单元、电力电子设备、储能装置以及负荷等集成于一体的一个独立供电系统。其既可以独立向负载供电,也可以与大电网相连,实现能量的双向流动。微网技术的发展减小了大电网的负担,可有效提高电力系统的安全可靠性以及灵活性。

微网的控制系统属于电力工业控制系统。作为国家关键基础设施的重要组成部分的电力工业控制系统,其涉及到了用户侧和开放环境中的分布式电源、用电信息采集等系统。这些重要信息一旦遭受破坏,可能影响国家和社会安全。特别是随着微网越来越智能化和信息化,一些信息技术的深入应用以及国内外安全形式的发展变化,微网系统因其主动攻击检测能力以及攻击免疫能力缺乏,其面临的安全威胁不容忽视。

微网协调控制器在微网系统中处于数据交互中心、控制中心的地位,其能够智能分析、判断,下发最优的微网控制策略,协调微网中各智能设备稳定运行。现阶段,微网越智能化和信息化,然而微网协调控制器的信息安全防护机制却相对缺乏,也不具备容侵容错的功能,传统微网协调控制器中,攻击者往往利用这些已知的漏洞对其进行渗透,获取微网协调控制器的root权限,从而对其进行控制或破坏。比如,攻击者可以通过微网协调控制器发布dos攻击,使得微网协调控制器无法提供正常的通信服务;攻击者可以在微网协调控制器中植入木马病毒,监听微网协调控制器,对接收的数据识别后,对攻击目标进行特定的操作;攻击者可以通过窃取、篡改微网协调控制器网络数据以及日志数据,导致一系列异常事件;攻击者还可以以微网协调控制器为跳板,利用网络和通信的连通性,逐步入侵上层能量管理系统、调度中心等,因而威胁整个微网系统的稳定运行。



技术实现要素:

本发明的目的在于提供一种基于卷积神经网络的微网攻击识别方法及微网协调控制器,要解决的技术问题是保证微网的安全可靠运行。

为解决上述问题,本发明采用以下技术方案实现:一种基于卷积神经网络的微网攻击识别方法,包括如下步骤:

步骤一、采集数据流;

步骤二、对采集的数据流进行预处理;

步骤三、将经过预处理的数据流输入至卷积神经网络模型中进行实时检测分类;输出分类结果;所述分类包括正常类、异常类,所述分类结果为数据流中各数据的归类情况;

步骤四、根据分类结果对数据流进行拦截或转发;当分类结果中存在异常类时,则根据异常类中数据的归类发出相应的报警提示以及生成日志记录;当分类结果均为正常类时,则对数据流进行转发。

进一步地,所述步骤二中对采集的数据流进行预处理包括对数据流进行缺失值填充、数值化处理;获取的数据存在缺失值的情况,缺失值分为数值变量和字符型变量,当缺失数值型变量时,采用线性插值法对其进行补全:

其中,y为缺失值,y0和y1分别是缺失值y对应的前一个样本和后一个样本的值,x0和x1分别为y0和y1所处的行数;当缺失字符型变量时,采用数据流中出现次数最多的字符类型值进行补全;数值化处理是将数据流中的字符型变量数值化。

进一步地,所述步骤四还包括将报警提示、日志记录向上层发送以及进行保存。

进一步地,所述步骤三中将经过预处理的数据流输入至卷积神经网络模型中进行实时检测分类前还需要对卷积神经网络模型进行模型训练,包括如下步骤:

s1、采用均匀分布函数作为概率分布函数,随机初始化卷积神经网络(网络)中的权值、阈值以及学习率;

s2、从训练样本中随机选取一个样本作为网络的输入,并设定期望的输出的期望值;

s3、样本经过卷积层、池化层以及全连接层进行前向传播,计算卷积、池化层以及输出层的实际输出;

s4、用对数似然损失函数计算实际输出与期望输出之间的误差,判断误差是否满足预先设定的期望值,所述期望值为0.02;若是,转入步骤s7;否则,转入步骤s5;

s5、首先计算输出层的误差项:

其中j为对数似然损失函数,zl为输出层未激活的线性向量;w、b分别为输出层权值和阈值;x、y分别为样本的输入、输出;

s6:计算网络中全连接层的误差:

δl=(wl+1)tδl+1⊙σ'(zl),

其中wl+1为l+1层的权值;δl+1为l+1层的误差,⊙表示hadamard积;σ'(zl)为激活函数对未激活的线性向量的偏导,zl为输出层未激活的线性向量;t表示取转置;

卷积层的误差:

δl=δl+1*rot180(wl+1)⊙σ'(zl),

其中rot180(wl+1)表示对wl+1先上下翻转,再左右翻转;

池化层的误差:

δl=upsample(δl+1)⊙σ'(zl),

其中upsample(δl+1)表示对l+1层的误差δl+1进行下采样;

更新全连接层的权值和阈值:

其中α为学习率,m为训练样本数,wl、bl分别为全连接层的权值和阈值;δl为全连接层的误差;al-1为全连接层第l-1层的输出;t表示取转置;

更新卷积层的权值和阈值:

其中α为学习率,m为训练样本数,wl、bl分别为卷积层的权值和阈值,δl为卷积层的误差;al-1为卷积层第l-1层的输出;t表示取转置,表示对δl的子项对应求和,u、v分别表示行列;

s7:判断是否对训练样本中的所有样本进行训练,若是,则进入下一步;否则,返回s2,继续进行训练;

s8:训练结束,输出各层节点间的连接权值和各层节点的阈值作为卷积神经网络模型的参数,得到训练好的模型。

本发明还公开了一种微网协调控制器,包括处理模块、分别与处理模块连接的显示\交互模块、开出控制模块、通讯模块、时钟模块、卷积神经网络模块、电源模块、存储模块,以及与卷积神经网络模块相连的开入采集模块、交流采集模块、时钟模块以及电源模块,其中:

时钟模块给cpu、卷积神经网络模块提供参考时钟;

存储模块用于存储;

电源模块为模块提供工作电源;

开入采集模块用于接收公共连接点开关、微网内负载投切开关、断路器开关等的分合闸状态信息发送至攻击检测模块;

开出控制模块用于接收处理模块发送的公共连接点开关、微网内负载投切开关、断路器开关等指令信号后输出;

交流采集模块用于采集公共连接点、微源、储能系统以及负载等的模拟电气量,并完成模拟量到数字量的转换后发送至攻击检测模块;

通讯模块用于数据交互;

显示\交互模块用于显示处理模块发送的报警信息以及供显示用的信息并输出显示;

处理模块用于经通信模块与上层以及下层连接通信,并将数据发送至卷积神经网络模块;同时还接收卷积神经网络模块发送的报警提示、日志记录、分类结果,并根据报警提示生成报警信息发送至显示\交互模块进行显示以及通过通信模块向上层发送报警提示、日志记录;

卷积神经网络模块用于将开入采集模块、交流采集模块、cpu发来的数据作为数据流进行实时检测分类,输出分类结果,根据分类结果对数据流进行拦截或转发;当分类结果中存在异常类时,则根据异常类中数据的归类发出相应的报警提示以及生成日志记录,并将报警提示发送至处理模块;当分类结果均为正常类时,则将数据流发送至处理模块,处理模块通过通信模块向上层和/或下层转发。

进一步地,所述处理模块还将报警提示、日志记录向上层发送以及通过存储模块进行保存。

进一步地,所述卷积神经网络模块将开入采集模块、交流采集模块、cpu发来的数据作为数据流进行实时检测分类前还对采集的数据流进行预处理:包括对数据流进行缺失值填充、数值化处理;获取的数据存在缺失值的情况,缺失值分为数值变量和字符型变量,当缺失数值型变量时,采用线性插值法对其进行补全:

其中,y为缺失值,y0和y1分别是缺失值y对应的前一个样本和后一个样本的值,x0和x1分别为y0和y1所处的行数;当缺失字符型变量时,采用数据流中出现次数最多的字符类型值进行补全;数值化处理是将数据流中的字符型变量数值化。

进一步地,所述卷积神经网络模块将开入采集模块、交流采集模块、处理模块发来的数据作为数据流进行实时检测分类前还对卷积神经网络模型进行模型训练,包括如下步骤:

s1、采用均匀分布函数作为概率分布函数,随机初始化卷积神经网络中的权值、阈值以及学习率;

s2、从训练样本中随机选取一个样本作为网络的输入,并设定期望的输出的期望值;

s3、样本经过卷积层、池化层以及全连接层进行前向传播,计算卷积、池化层以及输出层的实际输出;

s4、用对数似然损失函数计算实际输出与期望输出之间的误差,判断误差是否满足预先设定的期望值,所述期望值为0.02;若是,转入步骤s7;否则,转入步骤s5;

s5、首先计算输出层的误差项:

其中j为对数似然损失函数,zl为输出层未激活的线性向量;w、b分别为输出层权值和阈值;x、y分别为样本的输入、输出;

s6:计算网络中全连接层的误差:

δl=(wl+1)tδl+1⊙σ'(zl),

其中wl+1为l+1层的权值;δl+1为l+1层的误差,⊙表示hadamard积;σ'(zl)为激活函数对未激活的线性向量的偏导,zl为输出层未激活的线性向量;t表示取转置;

卷积层的误差:

δl=δl+1*rot180(wl+1)⊙σ'(zl),

其中rot180(wl+1)表示对wl+1先上下翻转,再左右翻转;

池化层的误差:

δl=upsample(δl+1)⊙σ'(zl),

其中upsample(δl+1)表示对l+1层的误差δl+1进行下采样;

更新全连接层的权值和阈值:

其中α为学习率,m为训练样本数,wl、bl分别为全连接层的权值和阈值;δl为全连接层的误差;al-1为全连接层第l-1层的输出;t表示取转置;

更新卷积层的权值和阈值:

其中α为学习率,m为训练样本数,wl、bl分别为卷积层的权值和阈值,δl为卷积层的误差;al-1为卷积层第l-1层的输出;t表示取转置,表示对δl的子项对应求和,u、v分别表示行列;

s7:判断是否对训练样本中的所有样本进行训练,若是,则进入下一步;否则,返回s2,继续进行训练;

s8:训练结束,输出各层节点间的连接权值和各层节点的阈值作为卷积神经网络模型的参数,得到训练好的模型。

本发明与现有技术相比,采用基于卷积神经网络模型对微网协调控制器的数据流进行实时检测分类,对数据流中受到网络攻击的异常数据进行攻击分类,得到分类结果,根据分类结果发出报警提示以及生成相依的日志记录;对数据流中未受到网络攻击的正常数据向上层或下层进行转发,避免攻击者通过微网协调控制器存在的安全漏洞进一步入侵上层,从而保证微网的安全可靠运行。

附图说明

图1是现有技术中微网系统结构图。

图2是本发明的流程图。

图3是本发明中卷积神经网络模型的原理图。

图4是本发明网络模型训练的流程图。

图5是本发明微网协调控制器的结构框图。

图6是本发明具体示例示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步详细说明。

如图1所示,为现有技术中典型微网系统结构,图中带双箭头的虚线为通信线,实线为电力线,带箭头的实线为信息采集线,圆环和双环分别表示电流、电压互感器,各下层的智能设备(下层)(主要指负荷控制器、及其他智能设备(如储能bms(电池管理系统batterymanagementsystem)、环境监测装置、智能断路器、智能电表等局部控制器)、其它与微网协调控制器控制信息交互的局部控制器、以及上层的控制系统(上层)(如微电网综合监控系统、配电网调度中心、能量管理系统等)均通过通信方式与微网协调控制器建立联系。下层的负荷控制器、微源控制器(本地控制器)等局部控制器与微网协调控制器的联系包括各负荷控制器、微源控制器等局部控制器根据本地负荷和微源的运行状态实时上传功率等运行状态信息,微网协调控制器根据各负荷、微源控制器等上传的运行状态信息进行计算和分析,并下达相应的微源输出功率、切合负荷等指令;此外,微网协调控制器集成电能质量管理和分析功能,需要对微网内部装置(微源、负荷(指微网内的负载,也就是用电设备,消耗功率,需上传其开关分合闸信息、功率曲线)、储能bms等装置)或节点采集需要的监测数据,因此局部控制器需要上传功率、电压、电流以及频率等信息。微网协调控制器与上层之间的联系:微网协调控制器需要接收上层下达的指令如能量管理系统下发的功率分配曲线,以及上传上层需要的各类运行状态、监测数据;微网协调控制器还与公共连接点以及公共电网连接采集公共连接点的电压、电流信号,因为微网协调控制器内的并离网控制模块需要用到公共连接点的电压、电流等电气量信息。

微网:也称为微电网,是指由分布式电源、储能装置、能量转换装置、负荷、监控和保护装置等组成的小型发配电系统。

微网协调控制器:针对于分布式发电和微电网系统设计的智能中央控制器,其具备完善的微电网多目标优化控制、协议转换、数据采集、测量、保护、控制与监视功能,微电网中央控制器广泛应用于分布式发电和微电网等项目中,有力地保障了微电网系统安全、经济、稳定运行。

微源:是指微网中的分布式发电单元,如光伏发电、风力发电、微型燃气轮机、燃料电池等发电设备。

公共连接点:电力系统中一个以上用户负荷连接处。

局部控制器与全局控制器相对,全局控制器负责实现微网系统内各微源控制器、负荷控制器等智能设备的协调运行,如微网协调控制器。局部控制器即除全局控制器之外的本地控制器,如负荷控制器、微源控制器等。

如图2所示,本发明公开了一种基于卷积神经网络的微网攻击识别方法,包括如下步骤:

步骤一、采集数据流,所述数据流包括微网协调控制器的接收数据和发送数据,包括接收来自下层和上层的信息以及微网协调控制器发送给下层和上层的信息,如公共连接点的电压、电流、频率、有功功率、无功功率以及功率因素数据;公共连接点开关、负荷投切开关等的分合闸的状态开入信息;用于输出控制公共连接点开关、负荷投切开关等分合闸的指令信号;来自上层控制器的功率分配曲线,以及遥调、遥控、启停命令;来自下层的负荷功率曲线,微源输出功率,运行状态信息以及环境气象等数据,以及其他能够表征微网协调控制器是否受攻击的数据或因子;

步骤二、对采集的数据流进行预处理:包括对数据流进行缺失值填充、数值化处理;获取的数据存在缺失值的情况,缺失值分为数值变量和字符型变量,当缺失数值型变量时,采用线性插值法对其进行补全:

其中,y为缺失值,y0和y1分别是缺失值y对应的前一个样本和后一个样本的值,x0和x1分别为y0和y1所处的行数。当缺失字符型变量时,采用数据流中出现次数最多的字符类型值进行补全。数值化处理是将数据流中的字符型变量数值化。

步骤三、将经过预处理的数据流输入至卷积神经网络模型中进行实时检测分类;输出分类结果;所述分类包括正常类、异常类,所述异常类中包括dos攻击,未授权访问攻击、接口端非正常探测、木马病毒攻击,运行状态、气象等消息伪造或篡改等攻击类型;比如,如果微网协调控制器受到了接口端非正常探测攻击,那么微网协调控制器收到的连接请求、指令次数的这一特征就会比正常情况下的明显;如果光伏并网接口装置受到了消息篡改攻击,那么某一智能设备和微网协调控制器交互的信息中的错误数据出现的次数以及差异性就会显著大于正常情况下的错误次数和差异性;卷积神经网络模型能够检测到这一异常情况,因而输出接口端非正常探测攻击或消息篡改攻击类型;所述分类结果为数据流中各数据的归类情况。

步骤四、根据分类结果对数据流进行拦截或转发;当分类结果中存在异常类时,则根据异常类中数据的归类发出相应的报警提示以及生成日志记录;当分类结果均为正常类时,则对数据流进行转发。

所述转发包括向上层和/或下层转发;

所述步骤四还包括将报警提示、日志记录向上层发送以及进行保存。

所述报警提示为根据异常类中数据的归类显示相应的攻击分类,如为dos攻击时,则提示为dos攻击;所述显示可以为通过显示屏和/或指示灯;当为显示屏时,将报警信息进行显示,所述报警信息为受到网络攻击的攻击类型;当为指示灯时,可设置与网络攻击分类数量相同的指示灯,采用不同颜色的光源进行相应的显示。

所述日志记录包括攻击时间、攻击持续时间、攻击方式、攻击对应的传输协议类型、错误数据分段、错误数据的起止地址信息(即源设备和目标设备地址信息)等。

如图3所示,所述卷积神经网络模型的网络结构由输入层、处理层以及输出层组成,其中处理层包括卷积层、池化层以及全连接层。对于不同的结构的卷积神经网络,其卷积层数和池化层数不同。本技术方案中卷积层数和池化层数均采用一层结构。卷积神经网络的训练分为前向传播和反向传播两个阶段。首先,对于输入的数据,进入卷积层后,由卷积核对其进行卷积操作,实际上是一个特征提取的过程;卷积层的输出作为池化层的输入,进行池化操作,实际上是一个特征过滤或降维的过程;池化层的输出传入到全连接层中,进行分类操作,获取分类模型。计算实际输出与期望输出之间的误差,如果误差大于期望值,则进入反向传播阶段,即将误差传回网络,依次计算从全连接层、池化层、卷积层的误差,并将误差分摊给每一层的每一个神经元,各层根据误差进行相应的权值、阈值更新。

所述步骤三中将经过预处理的数据流输入至卷积神经网络模型中进行实时检测分类前还需要对卷积神经网络模型进行模型训练,

在对卷积神经网络模型进行模型训练前,需要进行训练样本准备,所述训练样本包括正样本集以及负样本集,正样本集表示正常的数据流,负样本集为受到网络攻击的数据流;卷积神经网络训练过程分为前向传播阶段和反向传播阶段;如图4所示,包括如下步骤:

s1、采用均匀分布函数作为概率分布函数,随机初始化卷积神经网络(网络)中的权值、阈值以及学习率;

s2、从训练样本(包含正负样本集)中随机(任意)选取一个样本(正样本或负样本)作为网络的输入,并设定期望的输出的期望值,即给这个样本标上分类标签,告诉模型针对这个样本应该输出什么类型;本方案用yk={0,1}表示是否属于第k类别,1表示是,0表示否。k=1,2,...,6,表示分类的类别,如共有6个分类的类:正常类,dos攻击,未授权访问攻击,接口端非正常探测,木马病毒攻击,消息篡改攻击;

s3、样本经过卷积层、池化层以及全连接层进行前向传播,计算卷积、池化层以及输出层的实际输出;

s4、用对数似然损失函数计算实际输出与期望输出之间的误差,判断误差是否满足预先设定的期望值,所述期望值为0.02;若是,转入步骤s7;否则,转入步骤s5;

s5、首先计算输出层的误差项:

其中j为对数似然损失函数,zl为输出层未激活的线性向量;w、b分别为输出层权值和阈值;x、y分别为样本的输入、输出;

s6:计算网络中全连接层的误差:

δl=(wl+1)tδl+1⊙σ'(zl),

其中wl+1为l+1层的权值;δl+1为l+1层的误差,⊙表示hadamard积;σ'(zl)为激活函数对未激活的线性向量的偏导,zl为输出层未激活的线性向量;t表示取转置;

卷积层的误差:

δl=δl+1*rot180(wl+1)⊙σ'(zl),

其中rot180(wl+1)表示对wl+1先上下翻转,再左右翻转;

池化层的误差:

δl=upsample(δl+1)⊙σ'(zl),

其中upsample(δl+1)表示对l+1层的误差δl+1进行下采样(池化);

更新全连接层的权值和阈值:

其中α为学习率,m为训练样本数,wl、bl分别为全连接层的权值和阈值;δl为全连接层的误差;al-1为全连接层第l-1层的输出;t表示取转置;

更新卷积层的权值和阈值:

其中α为学习率,m为训练样本数,wl、bl分别为卷积层的权值和阈值,δl为卷积层的误差;al-1为卷积层第l-1层的输出;t表示取转置,表示对δl的子项对应求和,u、v分别表示行列;

s7:判断是否对训练样本中的所有样本进行训练,若是,则进入下一步;否则,返回s2,继续进行训练;

s8:训练结束,输出各层节点间的连接权值和各层节点的阈值作为卷积神经网络模型的参数,得到训练好的模型。

训练网络时,神经元对每一个样本均分配一个权重,权重的大小取决于对应输入的重要程度;每一层均配置一个偏置项,使神经元的输出引入非线性。对于本技术方案,因为是针对多分类的问题,所以输出层激活函数采用softmax函数,使得输出层输出的是正常以及各类攻击类型的概率,且保证输出值的和为1;那么每一个样本,输入至网络后,经过输入、隐含层以及输出层的处理,最终输出为正常以及各类攻击类型的概率。比如某一受攻击样本(负样本)输入至网络处理之后,最终输出为正常类型、dos攻击,未授权访问攻击、接口端非正常探测、木马病毒攻击、消息篡改攻击的概率分别为:0.02、0.02、0.02、0.02、0.02、0.90;而网络的期望输出为:0、0、0、0、0、1,对上述实际输出与期望输出之间进行误差计算,如果误差满足要求(小于等于设定的误差精度0.02),那么接着学习下一个样本;否则,表明网络中各层的权重和阈值不满足设定的误差要求,需要按照训练流程里面的步骤,将误差进行反向传播,更新权重和阈值;之后进行新一轮的学习,经过输入、隐含层的处理,最终输出的概率变为:0.015、0.015、0.005、0.005、0.01、0.95;再次计算此次的误差,如果此时误差满足要求,那么输出概率最高的对应的攻击类型作为该样本的攻击类型,即该样本为受到了消息篡改攻击的样本。训练完所有样本之后,得到的最终的权重和阈值就是能够尽可能准确分类出该训练样本的模型最佳参数值,并且能够对相似样本(实时数据)具有一定的预测能力,只要输入一个实时数据到已经训练好的网络,那么经过该网络中的权重、阈值处理和计算,即能够在输出层输出该数据属于正常以及各类攻击类型的概率,并将概率最高的对应的类型作为该数据的预测(或分类)类型,因而实现了分类。比如如图6所示,假设微网协调控制器受到了消息篡改攻击,那么微网协调控制器内的卷积神经网络模块通过对功率曲线、遥信遥测以及气象数据进行攻击检测,最终输出这些数据属于正常类型、dos攻击,未授权访问攻击、接口端非正常探测、木马病毒攻击、消息篡改攻击的概率,并将概率最大的消息篡改攻击类型作为预测类型,从而识别出攻击类型。

如图5所示,本发明还公开了一种微网协调控制器,包括处理模块(cpu)、分别与处理模块连接的显示\交互模块、开出控制模块、通讯模块、时钟模块、卷积神经网络模块、电源模块、存储模块,以及与卷积神经网络模块相连的开入采集模块、交流采集模块、时钟模块以及电源模块,其中:

时钟模块给cpu、卷积神经网络模块提供参考时钟;

存储模块用于存储报警提示、日志记录,控制程序,公共连接点的电压、电流等电参量信息,公共连接点开关、微网系统内负载投切开关、断路器开关等状态信息以及用户信息等;

电源模块为所述处理模块(cpu)、通信模块、显示\交互模块、开入采集模块、开出控制模块、交流采集模块、卷积神经网络模块提供工作电源;

开入采集模块用于接收公共连接点开关、微网内负载投切开关、断路器开关等的分合闸状态信息发送至攻击检测模块;

开出控制模块用于接收处理模块发送的公共连接点开关、微网内负载投切开关、断路器开关等指令信号后输出;

交流采集模块用于采集公共连接点、微源、储能系统以及负载等的模拟电气量,并完成模拟量到数字量的转换后发送至攻击检测模块;

通讯模块用于数据交互,接收或转发来自下层智能设备的状态信息以及上层微网综合监控主站和调度中心的指令信息,遥信、遥测、用电量等数据,遥控分合闸、遥调、启停等命令来自上层控制器的功率分配曲线,来自下层的负荷功率曲线,微源输出功率,运行状态信息以及环境气象等数据后发送至处理模块或向上层发送;

显示\交互模块用于显示处理模块发送的报警信息以及供显示用的信息并输出显示,显示模块可以是显示屏或指示灯,或两者的结合以显示、提供更多的信息,实现更好的人机交互体验;

处理模块(cpu)用于经通信模块与上层以及下层连接通信,并将数据发送至卷积神经网络模块;cpu同时还接收卷积神经网络模块发送的报警提示、日志记录、分类结果,并根据报警提示生成报警信息发送至显示\交互模块进行显示以及通过通信模块向上层发送报警提示、日志记录;

所述报警提示为根据异常类中数据的归类显示相应的攻击分类,如为dos攻击时,则显示为dos攻击;所述显示可以为通过显示屏和/或指示灯;当为显示屏时,将报警信息进行显示,所述报警信息为受到网络攻击的攻击类型;当为指示灯时,可设置与网络攻击分类数量相同的指示灯,采用不同颜色的光源进行相应的显示。

所述日志记录包括攻击时间、攻击持续时间、攻击方式、攻击对应的传输协议类型、错误数据分段、错误数据的起止地址信息(即源设备和目标设备地址信息)等。

卷积神经网络模块(检测模块)用于将开入采集模块、交流采集模块、cpu发来的数据作为数据流进行实时检测分类,输出分类结果,根据分类结果对数据流进行拦截或转发;当分类结果中存在异常类时,则根据异常类中数据的归类发出相应的报警提示以及生成日志记录,并将报警提示发送至处理模块,处理模块在接收到报警提示后根据报警提示生成报警信息后经显示\交互模块进行显示;当分类结果均为正常类时,则将数据流发送至处理模块,处理模块通过通信模块向上层和/或下层转发。

处理模块还将报警提示、日志记录向上层发送以及通过存储模块进行保存。

所述数据流包括公共连接点的电压、电流、频率、有功功率、无功功率以及功率因素数据;公共连接点开关、负荷投切开关等的分合闸的状态开入信息;用于输出控制公共连接点开关、负荷投切开关等分合闸的指令信号;来自上层控制器的功率分配曲线,以及遥调、遥控、启停命令;来自下层的负荷功率曲线,微源输出功率,运行状态信息以及环境气象等数据,以及其他能够表征微网协调控制器是否受攻击的数据或因子。

所述分类包括正常类、异常类,所述异常类中包括dos攻击,未授权访问攻击、接口端非正常探测、木马病毒攻击,运行状态、气象等消息伪造或篡改等攻击分类,所述分类结果为数据流中各数据的归类情况。

所述卷积神经网络模块将开入采集模块、交流采集模块、cpu发来的数据作为数据流进行实时检测分类前还对采集的数据流进行预处理:包括对数据流进行缺失值填充、数值化处理;获取的数据存在缺失值的情况,缺失值分为数值变量和字符型变量,当缺失数值型变量时,采用线性插值法对其进行补全:

其中,y为缺失值,y0和y1分别是缺失值y对应的前一个样本和后一个样本的值,x0和x1分别为y0和y1所处的行数。当缺失字符型变量时,采用数据流中出现次数最多的字符类型值进行补全。数值化处理是将数据流中的字符型变量数值化。

如图3所示,所述卷积神经网络模型的网络结构由输入层、处理层以及输出层组成,其中处理层包括卷积层、池化层以及全连接层。对于不同的结构的卷积神经网络,其卷积层数和池化层数不同。本技术方案中卷积层数和池化层数均采用一层结构。卷积神经网络的训练分为前向传播和反向传播两个阶段。首先,对于输入的数据,进入卷积层后,由卷积核对其进行卷积操作,实际上是一个特征提取的过程;卷积层的输出作为池化层的输入,进行池化操作,实际上是一个特征过滤或降维的过程;池化层的输出传入到全连接层中,进行分类操作,获取分类模型。计算实际输出与期望输出之间的误差,如果误差大于期望值,则进入反向传播阶段,即将误差传回网络,依次计算从全连接层、池化层、卷积层的误差,并将误差分摊给每一层的每一个神经元,各层根据误差进行相应的权值、阈值更新。

所述卷积神经网络模块将开入采集模块、交流采集模块、cpu发来的数据作为数据流进行实时检测分类前还对卷积神经网络模型进行模型训练,在对卷积神经网络模型进行模型训练前,需要进行训练样本准备,所述训练样本包括正样本集以及负样本集,正样本集表示正常的数据流,负样本集为受到网络攻击的数据流;卷积神经网络训练过程分为前向传播阶段和反向传播阶段;如图4所示,包括如下步骤:

s1、采用均匀分布函数作为概率分布函数,随机初始化卷积神经网络(网络)中的权值、阈值以及学习率;

s2、从训练样本(包含正负样本集)中随机(任意)选取一个样本(正样本或负样本)作为网络的输入,并设定期望的输出的期望值,即给这个样本标上分类标签,告诉模型针对这个样本应该输出什么类型;本方案用yk={0,1}表示是否属于第k类别,1表示是,0表示否。k=1,2,...,6,表示共有6个分类的类:正常类,dos攻击,未授权访问攻击,接口端非正常探测,木马病毒攻击,消息篡改攻击;

s3、样本经过卷积层、池化层以及全连接层进行前向传播,计算卷积、池化层以及输出层的实际输出;

s4、用对数似然损失函数计算实际输出与期望输出之间的误差,判断误差是否满足预先设定的期望值,所述期望值为0.02;若是,转入步骤s7;否则,转入步骤s5;

s5、首先计算输出层的误差项:其中j为对数似然损失函数,zl为输出层未激活的线性向量;w、b分别为输出层权值和阈值;x、y分别为样本的输入、输出;

s6:计算网络中全连接层的误差:δl=(wl+1)tδl+1⊙σ'(zl),其中wl+1为l+1层的权值;δl+1为l+1层的误差,⊙表示hadamard积;σ'(zl)为激活函数对未激活的线性向量的偏导,zl为输出层未激活的线性向量;t表示取转置;

卷积层的误差δl=δl+1*rot180(wl+1)⊙σ'(zl),其中rot180(wl+1)表示对wl+1先上下翻转,再左右翻转;

池化层的误差δl=upsample(δl+1)⊙σ'(zl),其中upsample(δl+1)表示对l+1层的误差δl+1进行下采样(池化);

更新全连接层的权值和阈值:其中α为学习率,m为训练样本数,wl、bl分别为全连接层的权值和阈值;δl为全连接层的误差;al-1为全连接层第l-1层的输出;t表示取转置;

更新卷积层的权值和阈值:其中α为学习率,m为训练样本数,wl、bl分别为卷积层的权值和阈值,δl为卷积层的误差;al-1为卷积层第l-1层的输出;t表示取转置,表示对δl的子项对应求和,u、v分别表示行列;

s7:判断是否对训练样本中的所有样本进行训练,若是,则进入下一步;否则,返回s2,继续进行训练;

s8:训练结束,输出各层节点间的连接权值和各层节点的阈值作为卷积神经网络模型的参数,得到训练好的模型。

本发明采用基于卷积神经网络模型对微网协调控制器的数据流进行实时检测分类,对数据流中受到网络攻击的异常数据进行攻击分类,得到分类结果,根据分类结果发出报警提示以及生成相依的日志记录;对数据流中未受到网络攻击的正常数据向上层或下层进行转发,避免攻击者通过微网协调控制器存在的安全漏洞进一步入侵上层,从而保证微网的安全可靠运行。

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