★国网福建省电力有限公司漳州供电公司张坤三
★国网福建省电力有限公司信息通信分公司傅杰,倪文书
★国网信通亿力科技有限责任公司黄泰宁
关键词:单类支持向量机;OCSVM;流量异常检测
1 目的和意义
随着具有信息化、自动化、互动化特征的新型电网建设发展,以及“互联网+”新型信息通信技术的应用和能源互联网深入推进,电网在发、输、变、配、用和调度各环节具有数量庞大的异构电网智能终端设备,目前主要分为采集类终端、保护类终端、测控类终端等。根据初步统计分析,共涉及电网稳控装置规模约千余台,配电终端规模约200余万台、集中器规模约3000余万台,智能电能表规模约2亿台,实现了电网的量测、保护和信息通信等功能。异构化、智能化、网络化的电网智能终端广泛分布于电力生产以及用户侧的现场,实现信息的双向交互,导致现有安全防护边界模糊化,且针对电力系统的网络攻击呈现出向智能变电站、配用电系统、用电信息采集系统现场等用户侧开放环境泛化演进的趋势,电网智能终端已经成为攻击电网的主要入口。
目前,网络攻击已成为新型武器,敌对势力利用网络攻击成功破坏电力等国家关键基础设施已成为现实,电网智能终端攻击一般针对电力特有的协议和特定的业务逻辑,具有攻击目标明确、操作隐蔽、潜伏时间长等特点,且一般通过集团式甚至是国家级实施攻击。目前电网智能终端系统在攻击检测方面主要是借鉴传统IT系统已较成熟技术,检测网络侧的安全事件,但无法检测到如伪造控制指令等针对系统业务指令级的异常安全事件。针对电网网络侧流量检测,本文提出了基于单类支持向量机[1-4]OCSVM的流量异常检测技术,通过流量异常检测[5-11]实现电网智能终端实时交互过程中的网络侧流量的安全性检测,通过业务指令级检测实现电网智能终端实时交互过程中应用层指令级的安全性检测。
本文首先分析了电力物联网面临的网络安全风险,引入基于单类支持向量机OCSVM的流量异常检测技术,为电力物联网的流量异常检测提供了新的思路;第二章研究了基于单类支持向量机OCSVM的流量异常检测技术;第三章对本文所提技术进行了实验;第四章对本文进行了总结,并指出了该技术的应用前景和意义。
2 基于单类支持向量机OCSVM的流量异常检测技术
与传统TCP/IP网络不同,工业控制系统通信网络具有“状态有限”和“行为有限”的特点。状态有限是指工业控制系统通信具有规律性和稳定性的特点,即规则的通信流;行为有限是指工业控制系统具有较固定的行为特征和可预测的行为模式。因此,工业控制系统的实时网络流量异常特征识别技术本质上是一个二分类问题,即对正常的工业数据和异常的工业数据进行二分类。
单类支持向量机OCSVM是一种基于机器学习的异常检测算法,可以保证在先验知识不足的情况下仍有较好的分类正确率,其基本思想就是通过机器学习的方法对数据进行二分类,因此OCSVM[12-14]可以很好地满足工业控制系统实时网络流量异常特征识别的基本需求。在样本训练上,与传统的支持向量机算法需要至少两类样本来训练入侵检测模型不同,OCSVM只需要一类样本就可以训练异常检测模型,对噪声样本数据具有鲁棒性,很好地满足了工业控制系统数据具有较明显的数据不平衡特点,如图1所示,即正常数据远大于异常数据,故障或临界状态数据较少。
智能电力物联终端是指主要应用于边端侧,实现电气量、环境量、状态量、视频图像等数据采集、边缘计算,并通过网络层传输数据的设备,其担负着数据采集、处理、加密、传输等多种功能。智能电力物联终端是实现电力系统数字化的基础,通过对线路数据的分析判断达到故障检测及迅速定位,从而实现故障区域的快速隔离和精准抢修,最终提高供电可靠性。
图1 基于单类支持向量机OCSVM的流量异常检测技术
由于电力物联终端网络流量数据具有较难获取、数据庞大复杂等特点,在进行流量异常检测、流量分类等任务时可能会遇到处理无标签流量数据的问题。传统的分类模型算法往往无法处理无标签数据,并不适用于无标签分类任务场景。本文对电力物联网设备的流量处理分为以下三个阶段。
(1)数据采集阶段
数据采集主要是在电网运行时对网络数据包进行捕获,从电网实时网络流量中采集到的流量数据绝大部分为正常数据,只有很少的一部分为异常数据。此外,现场采集的流量数据还可能数据量大、维度高,因此需要经过一系列的预处理,才能用OCSVM算法进行机器学习。
(2)数据降维预处理阶段
数据预处理主要指数据降维,数据降维主要是对数据维度进行降维处理,采集的数据具有较多的属性即数据的维度高,这会降低异常识别算法的效率,需要对数据作降维处理。本研究采用主成分分析方法对系统数据进行特征提取、降维度,主成分分析法(Principal Component Analysis,PCA)基于统计特征的多维正交线性变化,是一种多源统计方法,成功应用于数据的特征提取和数据降维。
对于一个数据包来说,在对特征属性进行选择时,属性选择的越多能代表的原始数据包的信息就越全面。然而,特征属性选择的越多计算量也会相应越大。因此需要对电网网络流量特征数据进行反复权衡比较,选取能够代表电网流量的特征属性代表原始数据包信息。经过反复权衡比较,本研究选取下列13项特征属性代表原数据包的信息,它们是源地址、目的地址、IP包总长度、IP包头长度、TCP包头长度、源端口号、目的端口号、流量大小、协议标识符、长度、业务标识符、功能码、数据长度。
根据上述所选择的特征,将这些特征按顺序从数据包中提取出来并存储成矩阵形式,用PCA方法进行特征提取,进行降维处理,去除噪声数据和冗余特征项。其具体过程如下:
步骤1:设定n个特征变量,这里n=13;
步骤2:输入提取数据帧号N,计算第N帧各特征数据地址;
步骤3:提取不同的特征变量对应的数据值;
步骤4:判断是否提取了n个特征变量,若是,将提取的特征变量输出,存储为矩阵形式,记为X0,否则继续提取数据,直到将所有数据包中的特征值都提取出来为止;
步骤5:计算标准化后的工业数据集X0的协方差矩阵P=(1/n)X0X0T,并计算协方差矩阵的特征值以及对应的特征向量;
步骤6:按照特征值大小顺序将特征值对应的特征向量排列成向量形式,根据公式计算累计方差贡献率,选取前m(<n)个特征向量组成变换矩阵C,确定降维后工业数据集,记为X1=CX0,将原始工业数据集从n维降到m维。
(3)OCSVM算法运行阶段
在经过数据预处理后,可以得到具有相同维数的流量数据样本,即OCSVM算法可处理的矩阵形式X=(x1,x2…xi…xl),将矩阵输入OCSVM算法运算实现实时网络流量异常的识别。在X矩阵中,xi=(xi1,xi2,…,xim)表示第i个现场数据,每一维代表该数据的一项属性。
当样本维数为两维时,直线即可进行样本划分,当样本维数为三维时,截面即可进行样本划分,当样本维数高于三维时,需要在高维空间进行样本划分。由于流量样本维数较高,本项目利用OCSVM算法将样本的特征在高维空间进行映射和划分。
在OCSVM流量异常检测中,最关键、最重要的模块就是OCSVM训练过程。在OCSVM训练中,采用OCSVM算法对电网流量数据进行训练,由于电网一般情况下都工作在正常的状态下,因此采集的数据也大多为正常数据,OCSVM算法只需要正常数据就可训练,在训练时假设坐标原点为异样样本,在特征空间中构建一个最优的划分面区分正常和异常数据,得到分类决策函数,OCSVM算法运行阶段详细流程如图2所示。
图2 电网异常流量检测流程
通过上述流程训练得到的OCSVM分类决策函数就可以对电网流量进行检测,判断其为正常数据还是异常数据。
3 实验验证
为了验证本文所提技术的测试效率,我们选取了目前较为常用的协议Fuzzing工具SPIKE、Peach与本文所提技术分别对相同的IEC104样本报文进行测试。
表1从测试用例数、有效测试用例数、测试用例有效率、代码覆盖率、测试时间以及发现的漏洞数六个方面,对SPIKE、Peach、本文所提技术在9类IEC104协议报文测试完全时的测试结果进行了对比。
表1 IEC104协议测试效果对比
从表1的数据可以看出,虽然SPIKE与Peach生成的总测试用例数相当,但测试用例的有效率却远远低于Peach。这是由于SPIKE采用平坦的块序列结构,对于协议报文中的结构和约束关系表达能力不足,因而生成过多的无效测试用例,并且只能发现21个异常流量包。对比Peach和本文所提技术,本文所提技术发现了更多的漏洞,并且本文所提技术使用更少的测试用例实现了更高的代码覆盖率,这说明文法驱动的Fuzzing技术测试效率更高。此外还需说明的是:在定义测试脚本时,SPIKE和Peach需要对每种类型的IEC104报文格式编写测试脚本,冗余性较大且脚本工作繁重;而本文所提技术只需定义单个文法模型就可以描述所有类型的报文格式,形式更简洁。
4 结论
本文提出单类支持向量机实现电网终端流量的异常检测技术实现应用层指令级异常检测,主要是通过提取出能识别协议特征的关键字段,与设计的语法语义规则和攻击特征库匹配实现畸形报文和攻击报文的检测,提取业务指令特征码、业务指令频次等业务特征值,通过聚类分析识别违规业务指令。
经过上述对电网网络流量的异常监测以对应用层指令监测,可构建电网智能终端业务行为模型,可实现基于终端业务行为模型的指令级攻击模式在线识别,解决了电网智能终端中大量规约指令级新型攻击识别的难题。
作者简介:
张坤三(1991-),男,福建漳浦人,工程师,学士,现就职于国网福建省电力有限公司漳州供电公司,主要从事电网工控安全、网络安全方面的研究。
傅 杰(1991-),男,福建仙游人,工程师,硕士,现就职于国网福建省电力有限公司信息通信分公司,主要从事网络安全监督方面的研究。
倪文书(1991-),男,福建永泰人,工程师,硕士,现就职于国网福建省电力有限公司信息通信分公司,主要从事电力通信与信息系统方面的研究。
黄泰宁(1981-),男,福建福州人,工程师,学士,现就职于国网信通亿力科技有限责任公司,主要从事信息系统方面的研究。
参考文献:
[1] Maglaras L A, Jiang J, Cruz T. Integrated OCSVM Mechanism for Intrusion Detection in SCADA Systems[J]. Electronics Letters,2014, 50 (25) : 1935 - 1936.
[2] 冯爱民, 薛晖, 刘学军, 等. 增强型单类支持向量机[J]. 计算机研究与发展, 2008, 45 (11) : 7.
[3] 胡雷, 胡茑庆, 秦国军. 双阈值单类支持矢量机在线故障检测算法及应用[J]. 机械工程学报, 2009, 45 (3) : 5.
[4] 胡茑庆, 胡雷, 秦国军, 等. 基于单类支持向量机的故障诊断方法: CN201010184895.0[P]. CN101907088B, 2023.
[5] 郑黎明, 邹鹏, 贾焰, 等. 网络流量异常检测中分类器的提取与训练方法研究[J]. 计算机学报, 2012, 35 (4) : 12.
[6] 郑黎明, 邹鹏, 贾焰. 多维多层次网络流量异常检测研究[J]. 计算机研究与发展, 2011, 48 (8) : 11.
[7] 吕军, 李星. 一种网络流量异常检测算法[J]. 计算机应用研究, 2006, 23 (11) : 217 - 219.
[8] 王海龙, 杨岳湘. 基于信息熵的大规模网络流量异常检测[J]. 计算机工程, 2007, 33 (18) : 4.
[9] 吕军, 李星. 一种网络流量异常检测算法[J]. 计算机应用研究, 2006 (11) : 223 - 225.
[10] Jun L V, Xing L I, 吕军, et al. Network Traffic Anomaly Detection based on Adaptive Filter Theory一种网络流量异常检测算法[J]. 计算机应用研究, 2006, 23 (11) : 217 - 219.
[11] 杨丹. 网络流量异常检测方法研究及仿真平台研制[D]. 成都: 电子科技大学, 2023.
[12] 黄南天, 张书鑫, 蔡国伟, 等. 采用EWT和OCSVM的高压断路器机械故障诊断[J]. 仪器仪表学报, 2015, 36 (12) : 9.
[13] 刘松, 周清雷. 基于OCSVM的DDOS攻击实时检测模型[J]. 计算机工程与设计, 2011.
[14] 李琳. 基于OCSVM的工业控制系统入侵检测算法研究[D]. 沈阳: 沈阳理工大学, 2016.
摘自《自动化博览》2024年4月刊