源网荷实时交互异常检测技术研究

2019-08-22 09:26吕云彤厉建宾葛云龙黄秀丽
计算机技术与发展 2019年8期
关键词:降维样本特征

吕云彤,厉建宾,葛云龙,葛 维,黄秀丽

(1.国网河北省电力有限公司 电力科学研究院,河北 石家庄 050021;2.国网河北省电力有限公司,河北 石家庄 050000;3.全球能源互联网研究院有限公司,江苏 南京 210003)

1 概 述

近年来,随着智能电网建设的推进,将发电侧、电网侧和负荷侧组成的“源网荷”系统,通过友好互动的形式将三者进行协调发展、集成互补,成为国内能源互联网战略规划的重要途径。目前国网公司初步建成的“大规模源网荷友好互动系统”(简称源网荷系统),主要以复杂交直流混联输配电网的电网侧和接入大规模柔性负荷的需求侧之间的“网荷互动”应对特高压直流多馈入带来的电网稳定问题[1]。

目前源网荷系统按照中国发改委14号令(《电力监控系统安全防护规定》)“安全分区、网络专用、横向隔离、纵向认证”的要求,在系统的横向边界及纵向边界部署正反向隔离装置及纵向加密认证装置,能有效抵御来自互联网的传统病毒木马的入侵。但是在外部严峻的工控安全形势下,工控系统的物理隔离并非绝对安全。由于管理原因或技术原因,恶意攻击依然可以通过负荷侧不可控的智能负荷控制终端设备、接入内网的U盘等移动媒介、接入控制区网络内部的调试人员笔记本等方式对系统实施恶意数据注入、伪造控制指令、获取超级权限、造成网络中断等多种形式的恶意攻击。

为了应对源网荷系统信息安全防护面临的挑战,有必要针对面向源网荷系统实时交互异常检测技术进行研究,使电力侧有足够的恶意攻击识别能力,以保障电力系统的安全稳定运行。

2 源网荷系统安全需求

随着无线通信等新技术的普及,未来采用多种通信技术的智能网荷互动终端也将投入使用,网络结构复杂化、边界模糊化、威胁形态多样化对源网荷互动所涉及工控系统安全防护带来严峻挑战,提出了新的安全需求。

源网荷系统包括电力发电系统、输电系统和用电负荷系统,其中包括多种类型的电力工控设备系统。由于电力工控系统使用电力特有的控制协议和业务逻辑,所以电力工控攻击容易针对明确的目标实施隐蔽的攻击操作,且通常是集团式的攻击。由于缺乏对工控系统实时交互全过程的安全监测能力,恶意攻击往往不能被及时发现和告警。

3 单类支持向量机OCSVM

随着支持向量机[2-3](support vector machine,SVM)的研究和发展,更多改进算法被提出,包括模糊SVM、最小二乘SVM、加权SVM等。其中单类支持向量机[4-5](one class support vector machine,OCSVM)是比较重要的一种派生算法。

OCSVM最先提出的文献为《Estimating the support of a high-dimensional distribution》,该模型将数据样本通过核函数映射到高维特征空间,使其具有更良好的聚集性。为了使目标数据与坐标原点达到最大分离程度,OSCVM在高维特征空间中找出一个最优超平面来实现。普通分类问题一般都是2类及2类以上的,其训练数据有2个类,通常称为正例和负例。例如对于垃圾邮件识别问题,正例就是垃圾邮件,负例就是正常邮件。而OCSVM算法解决的是单分类问题,其训练数据集只有一类,基本思想是通过高维空间内的超平面,分离训练数据和原点,使其距离最大化,如图1所示。

图1 OCSVM分类示意

4 基于OCSVM的源网荷实时交互异常检测技术

4.1 源网荷实时交互异常检测架构

源网荷系统中运行的业务数据因其有一定的规律性和稳定性,所以源网荷系统的通信流是规则,称为状态有限。源网荷系统具有比较固定的行为特征和可预测的行为模式,称为行为有限。基于源网荷系统交互的状态有限和行为有限的特点,对源网荷系统的实时交互进行检测,得到的识别结果为正常或异常,这与二分类问题的结果是相同的。所以,对源网荷系统的异常检测也可以认为是一种二分类问题。

OCSVM是一种基于机器学习[6-7]的异常检测算法,基本思想是通过机器学习的方法对数据进行二分类,并且在先验知识不足的条件下仍可得到较高的分类正确率。对源网荷系统实时交互异常识别的需求而言,OCSVM是非常适合用于其检测的技术。

在样本训练上,传统的支持向量机算法需要至少两类样本来训练入侵检测模型,而OCSVM由于对噪声样本数据具有鲁棒性,并且仅从一类样本中就可以训练出异常检测模型。由于源网荷系统实时交互的数据中大部分为正常数据,极小部分是异常数据,OCSVM算法可以从源网荷实时交互样本数据中训练出异常监测模型。基于OCSVM的源网荷实时交互异常检测框架如图2所示。

图2 源网荷实时交互异常检测框架

(1)数据采集阶段。

数据采集主要是在源网荷系统运行时对网络数据包进行捕获。从源网荷系统实时网络交互中采集到的交互数据有明显的不平衡特点,采集数据中正常数据占大多数,只有极少部分为异常数据,并且采集的数据量大、维度高,还需要对采集数据进行相应的预处理,才能进行机器学习。

(2)数据降维预处理阶段。

数据预处理主要指数据降维,数据降维主要是对数据维度进行降维处理。采集的数据维度高是由于数据属性多,过高的数据维度会降低异常识别算法的效率,所以需要对采集数据进行数据降维处理。框架中采用主成分分析方法[8-9](principal component analysis,PCA)对系统数据进行特征提取、减少维度。主成分分析法是基于统计特征的多维正交线性变化,利用降维的思想,把多指标转化为少数几个综合指标,常应用于数据的特征提取和数据降维。

对数据进行特征属性选取时,特征数量越多,原始数据的信息就越全,同时计算量也会越大。因此需要对源网荷系统实时交互特征数据进行合理筛选,选取的特征尽可能地代表源网荷系统实时交互数据的原始数据包信息。经过筛选比较,源网荷系统协议报文中选取了13项特征属性,包括源地址、目的地址、IP包总长度、IP包头长度、TCP包头长度、源端口号、目的端口号、流量大小、协议标识符、长度、业务标识符、功能码、数据长度。

基于所选择的13项数据包特征,在数据包中提取对应的13项特征,并存储成矩阵形式,然后利用PCA方法进行数据降维,提取主要特征,过滤掉噪声数据和冗余项。具体步骤如下:

①根据源网荷数据包特征,设定n=13个特征变量;

②根据提取的数据帧号N,计算第N帧的各项特征数据地址;

③根据特征变量获取对应的数据值;

④判断是否提取了13个特征变量,若结果为是,将提取的特征数据值以矩阵形式存储,记为X0,否则继续提取特征数据;

⑥按照大小排列特征值向量,计算累计方差贡献率,选取前m(

(3)OCSVM算法运行阶段。

通过对采集样本的数据预处理得到交互数据样本,作为OCSVM算法的输入数据。矩阵形式X=(x1,x2,…,xi,…,xl),将矩阵输入OCSVM算法以实现网络交互异常的识别。在矩阵X中,xi=(xi1,xi2,…,xim)表示第i个现场数据,每一维代表该数据的一项属性。

4.2 源网荷实时交互异常检测算法

4.2.1 源网荷实时交互异常检测流程

OCSVM训练过程是基于OCSVM异常检测中最关键的模块。通常情况下,对源网荷系统进行数据采集时,采集到的数据均为正常实时交互数据。基于源网荷系统实时交互采集的数据进行训练,实际上就是OCSVM算法对交互正常数据进行训练,把坐标原点设为异常样本,目标就找到一个最优的划分面将样本数据与原点分离,并且距离最大,从而得到分类决策函数。

在图3中,首先在源网荷系统实时交互时,利用Libpcap等数据捕获[10-11]函数对源网荷系统实时交互数据包进行捕获,对采集数据进行过滤和存储,再对采集数据包进行特征选择与提取。再利用PCA算法进行数据预处理,完成数据降维,并将处理后的数据存储为OCSVM算法可用的矩阵形式。接着,通过OCSVM算法对源网荷实时交互数据进行训练,得到源网荷系统实时交互数据异常分类模型,该模型可以识别出正常行为和异常行为。最后,基于采集的源网荷系统交互数据训练得到的OCSVM分类器,可以用来实现源网荷系统实时交互数据的检测,检测结果为源网荷系统交互的正常行为或异常行为。

图3 源网荷系统异常交互检测流程

4.2.2 基于OCSVM的源网荷实时交互异常检测算法

算法步骤如下:

(1)在数据采集模块完成对源网荷交互数据的采集后,筛选合适的数据特征,利用这些特征项构建l×n的源网荷实时交互数据训练集矩阵X0。其中源网荷实时交互数据样本数量为l,每个样本数据的维数为n,即一个源网荷实时交互数据包包含n个特征数。

(2)利用主成分分析法对步骤1的数据集进行降维处理,得到l×m维的源网荷数据训练集X1,这m维特征是经PCA对n维特征数据训练集降维后的结果。

(3)核函数采用高斯函数[12],确定权衡数据集中的正常数据与异常数据的参数ν。

(4)构造凸优化问题,并求解,见式1:

(1)

(2)

(6)构造分类决策函数,见式3:

f(x)=sgn[g(x)]

(3)

通过上述六个步骤可以完成源网荷系统实时交互数据的训练,得到OCSVM的分类决策函数和基于OCSVM源网荷系统实时交互异常检测模型,通过OCSVM检测模型可以检测源网荷系统实时交互数据,识别出正常数据和异常数据。

5 实验与结果分析

为了对提出的检测算法进行验证,通过在搭建的源网荷实验环境中实际抓取数据。源网荷实验环境搭建如图4所示,主要包括源网荷主站控制中心,OPNET网络通信仿真系统、OPAL-RT电力仿真系统(含变电站)、路由器、网络互动终端、网络攻击主机等部分。用该套源网荷仿真实验系统模仿源网荷系统运行过程,网络攻击主机主要负责对源网荷系统发起网络攻击。

图4 源网荷仿真实验系统

对在实验环境中抓取的源网荷数据包,采用主成分分析法完成样本数据集的降维处理。OCSVM算法的训练样本选取2 000个正常样本数据,测试样本选取包含正常和异常数据的300个样本,其中利用OCSVM算法生成的训练模型对测试样本进行检测,对检测实验结果进行评价。

通过Matlab仿真软件[13-14]对OCSVM进行仿真实验,OCSVM的运行结果为:OCSVM的最佳v为0.01,最佳核函数参数g取0,训练源网荷数据样本的时间约为180.25 s。实验结果表明,采用OCSVM算法进行训练和识别的准确性较高,其测试样本的准确率为94.1%,训练样本的准确率为99.2%,误报率5.79%,漏报率1.22%。

通过实验说明OCSVM算法能够以较高的准确率检测出源网荷实时交互数据的异常数据,能够将未知的攻击或异常准确识别出来。并且OCSVM具有较好的学习能力,训练样本的准确率高。

为了更好地说明OCSVM在源网荷实时交互异常检测中的优势,将实验数据同时输入了传统的二分类SVM算法和BP(back propagation)前馈神经网络算法[15-16]模型中,统计不同算法模型中的检测精度、训练时间、误报率和漏报率,并进行对比。实验采取多次取平均值的方式,结果如表1所示。

从表1可以看出,在误报率和漏报率方面,OCSVM和SVM优于BP,但在检测精度和训练时间上OCSVM优于SVM,说明OCSVM在识别未知攻击或异常方面更具有优势。

6 结束语

文中研究了面向源网荷系统实时交互的异常检测技术,既是源网荷系统安全防护、安全内控的内在需求,也是建设能源互联网的重要保障。OCSVM算法可以基于一类样本构建训练模型,而源网荷系统实时交互数据中正常数据多,要实现源网荷系统交互的异常识别,可以利用OCSVM算法对正常数据进行训练,从而实现正常数据与异常数据的识别。

提出的基于OCSVM的源网荷系统实时交互异常检测技术,深度结合源网荷系统实时交互数据,进行针对源网荷系统攻击的准确感知,有效提升了源网荷系统这一重要电力工控系统的攻击检测识别技术能力。

猜你喜欢
降维样本特征
混动成为降维打击的实力 东风风神皓极
离散型随机变量的分布列与数字特征
基于数据降维与聚类的车联网数据分析应用
大气腐蚀数据降维最优维度研究
降维打击
抓特征解方程组
不忠诚的四个特征
规划·样本
人大专题询问之“方城样本”
随机微分方程的样本Lyapunov二次型估计