张章学
(福建省海峡信息技术有限公司,福建 福州 350003)
全球能源互联网是以特高压电网为骨干,在全球范围大规模开发、配置、利用能源的基础平台[1],主要包括特高压电网、智能电网和清洁能源。全球能源互联网是集能源传输、市场交易、信息交互、智能服务等于一体的互联网,是互通开放的系统。随着全球能源互联网的不断发展,孤立的电力系统逐渐大规模互联,其网络安全风险随之加大。如图1 所示,2015 年乌克兰电力系统遭受到包括恶意软件、非法操作、分布式拒绝服务攻击(DDoS)和后门攻击在内的网络协同攻击,导致数小时上万用户的大规模停电事故[2]。如何加强电力监控系统的网络安全管理,防范黑客及恶意代码等攻击与侵害,保障电力系统的安全稳定运行,成为当前电力监控系统建设的重中之重。
Fig.1 Main types of cyber attacks in Ukrainian power network accident图1 乌克兰电力网络事故主要网络攻击类型
为防范针对电力系统的恶意攻击和安全事故,国家发展和改革委员会发布了《电力监控系统安全防护规定》[3],规定指出国家电力监控系统建设要坚持“安全分区、网络专用、横向隔离、纵向认证”的原则,通过划分生产控制大区和管理信息大区、控制区和非控制区,在物理层面上实现电力系统与外部互联网的安全隔离。这种物理隔离手段是解决信息安全问题的优秀屏障,可有效应对一般的木马和病毒。然而,针对工业系统的网络协同攻击更加复杂和难以防御[4],这些恶意软件基于针对性的目的工业系统所开发,有着更强的漏洞利用机制、传播扩散手段和渗入能力,且潜伏较深,在市面上缺少样本,因此缺乏有效的检测机制[5]。
根据攻击范围不同,针对智能电网的网络安全攻击可分为:①针对发电设备、变电设备和控制设备的广域网络(Wide Area Network,WAN)攻击;②针对变电站、配电中心和远程调度中心的邻域网络(Neighborhood Area Network,NAN)攻击;③针对家用电器和智能电表的家庭网络(Home Area Network,HAN)攻击。
根据攻击目标不同,针对智能电网的网络安全攻击可以分为:①以可用性为目标的攻击,如拒绝服务(DoS)攻击、丢包攻击和破坏通信线路等;②以完整性为目标的攻击,如错误数据注入攻击、非法篡改数据、中间人攻击和重放攻击等;③以保密性为目的的攻击,如非法监听网络、密码破解、传播恶意软件和社会工程学攻击等[6]。
针对类型多样的网络攻击手段,仅依靠对外网进行隔离,以及针对边界处网络设备进行分析的防护手段远远不够。因此,电力监控系统需要建立内网的安全管理平台[7],对其内部流量和主站流量进行深入分析。基于高效的异常检测算法对流量进行深度解析,实现全局性内网异常流量检测机制,才能防止潜伏的恶意软件扰乱电力系统的稳定运行,实现更全面的安全监测预警,满足保护电力信息网络完整性和保密性的目标。
传统电力监控系统异常检测方法包括:①预先设定防火墙和网关[3],以对流量数据进行参数匹配;②基于特征的异常监测,如手动或模型自动构建恶意攻击数据的签名特征库[8],以预防再次攻击;③通过统计分析方法分析恶意攻击流量的特征[9];④基于数据流挖掘检测异常信息,如通过精确流计数挖掘方法[10]或近似流计数挖掘方法[11]检测异常流量数据。
近年来,机器学习方法被广泛用于电力监控系统的异常流量检测问题中,如基于受限玻尔兹曼机(Restricted Bolzmann Machine,RBM)网络提取异常流量数据的特征[12];基于加权K 近邻方法识别异常流量数据[13];基于决策树和朴素贝叶斯方法对异常流量数据进行分类[14]。随着深度学习技术的发展,神经网络模型也被逐渐用于电力监控系统的异常流量检测问题中,如通过长短期记忆网络(Long Short-Term Memory,LSTM)网络对智能变电站网络进行异常检测[15];通过卷积神经网络(Convolutional Neural Network,CNN)对电力工控网络进行异常流量检测[16];组合多种深度学习模型实现电力信息网络的异常流量检测[17]。
然而,这些神经网络模型多参照信息网络异常检测模型构建,并没有真正体现出电力网络的特征。电力网络作为一种物理—信息融合的二元网络系统,在应用场景、攻击类型、数据特征等方面与普通的信息网络有很大差异。为此,本文考虑到电力网络独有的数据特征,提出基于高效用神经网络的电力监控系统恶意流量检测模型,以实现对电力网络完整性和保密性的保护。
根据业务的不同,智能电网被划分为生产控制大区和管理信息大区。根据是否具有实时监控功能和实时子网业务,生产控制大区又可以分为控制区和非控制区,其中电网工控系统由分布式控制系统、数据采集监控系统和可编程逻辑控制器共同构成。智能电网中有多种多样的设备互联[18],既有底层的电子设备和传感器,也有局域网内的前端服务器、运行人员工作站、数据服务器和应用服务器,还有办公局域网内的计算机及服务器设备,以及与系统供应商进行通信的调制调解器。智能电网中设备类型、通信系统、传输媒体及网络协议的复杂性大大提高了电力监控系统异常流量的检测难度。
信息网络与电力网络最基本的差异为传输内容不同:信息网络中传输的是信息流,电力网络中传输的是电流。电力系统是一种信息网络与物理网络融合依存的超大规模二元复合网络[19],与信息网络相比,其安全机制具有以下特点:①稳定性要求高。智能电网的信息网络与电力网络相互融合,信息网络故障会直接影响电力网络的稳定性,威胁用电安全。因此,与信息网络对路由器等设施宕机有一定的容错机制不同,电力网络对系统稳定性要求更高,不能忍受任何系统宕机;②实时性强。电力系统中的物理设备多为实时电力设备和传感器,对网络通信的实时性要求更高;③更新频率低。与信息系统的定时更新机制不同,电力系统的停机更新成本较高,因为停机也代表着停产。因此,电力网络的安全检测机制更重视对潜在风险隐患的预测、追踪与溯源;④信息化程度低。电网工控攻击所面临的风险限制了电力网络的信息化程度。更高程度的信息化系统虽然会有更好的连通性,但也会带来更多网络安全风险,威胁电力系统的供电可靠性与安全性,因此智能电网中的信息化均以满足运行需求为目的。
与传统信息网络流量相比,智能电网中流量的数据长度、周期性、响应时间、数据流向和时序性等均有较大不同,主要体现在以下几个方面:①数据长度短。电力网络中的数据传输长度短于普通网络流量,多为电力设备信息和传感器信号,因此特征少、长度短、频率高;②数据流向固定。与信息网络传输数据的多选址不同,电力网络中的数据流向固定。电力网络的信息数据均来源于物理设备,传向数据分析设备和网络监控设备,而且数据通过物理媒介、局域网和内部通信网络传输,不与外部因特网接触,因此传输线路固定、数据流向固定;③稳定性高。电力工控网络的流量数据来自于稳定的物理设备及生产流程,不同于信息网络有复杂的业务操作会引起大量动态变化。电力系统的运行重视稳定性,因此其流量数据也更加平稳;④周期性强。电力网络中的流量依赖于物理设备,受物理设备的周期性影响,电力工控网络中周期性数据占主流;⑤时序性强。电力网络中的流量数据依托于物理设备及电力传输,电力传输的时序性强,因此电力网络流量传输的时序性也很强;⑥响应时间短。电力网络的实时性强,因此流量分析的响应时间要求也短,数据分析需要在短时间内处理得到实时数据,并及时对异常行为进行警告。
针对电力网络流量数据的特征,电力监控系统的异常流量检测模型需满足相应的需求,具体如图2所示。
Fig.2 Power network data characteristics and model requirements图2 电力网络流量数据特征及模型要求
电力流量数据长度短、频率高,因此电网异常检测模型需要处理较少输入特征但较多输入数量的实时数据;电力流量数据流向固定,因此模型的应用场景有限,可针对性设计变电站局域网、数据分析局域网、办公局域网等异常检测模型;电力网络的稳定性要求高,因此模型需要重视召回率的提升;电力网络中流量数据有明显的周期性和时序性特征,因此模型可设计相应的分析架构,并将周期趋势和时序趋势作为异常检测的特征来输入;电力监控系统对响应时间的要求较短,因此要重视模型的运行速度,在短时间内尽可能多地找出异常流量。基于以上要求,本文提出基于高效用神经网络的电力监控系统恶意流量检测模型。
本文构建了一个基于EfficientNet 的高效用电力流量检测模型,利用深层卷积网络提取电力流量数据特征,对网络流量信息进行识别与分析。该模型主要由数据处理、模型训练与异常检测两个模块构成,具体结构如图3所示。
首先需对捕获的网络流量时序数据进行特征转换,将其等长分割后转换为固定尺寸的图像特征以进行特征提取与分类。同时,为进一步提高数据可用性,需对数据进行进一步处理,包括数据清洗、数据转换与重构以及数据增强等。
(1)数据清洗。删除所有缺失值、格式不规范的值、无穷值、与分类无关的特征以及常数值特征,包括Destination Port、Bwd PSH Flags、Fwd URG Flags、Bwd URG Flags、FIN Flag Count、PSH Flag Count、ECE Flag Count、Fwd Avg Bytes/Bulk 等在内的16 类属性特征。这些特征变量与攻击行为没有直接关系,甚至可能对模型训练产生一定干扰。数据清洗后最终保留63 类特征,对其进行片段分割,将正常数据与不同类型的攻击数据进行片段分离,并对不同攻击类型的数据片段标记相应的label。
(2)数据转换与重构。网络流量数据是以非图像格式捕获的,多以文本形式进行存储。为获得有效的网络攻击检测结果,需将网络流量数据转换为图像形式。首先利用非线性转换对每类数据的特征进行归一化,再将其扩大至[0,255]。即:
然后利用Opencv 将处理后的特征值依照特征值总数n构建为n×n×3 大小的图片格式。图4 展示了每个类别的转换图像样本。
Fig.4 Conversion image samples for each category图4 每个类别的转换图像样本
(3)数据增强。在多分类任务中,入侵检测系统数据通常表现出一定的不平衡性。例如在CICIDS2017 数据集中,90%的样本表现为良性数据,不同攻击类型的数据样本仅占10%。针对数据集中攻击类别样本过少的问题,本文采用合成少数过采样技术[20](Synthetic Minority Oversampling Technique,SMOTE)平衡类分布。
数据经过上述步骤处理后划分为训练集、验证集以及测试集。将人工核验以及标注入侵类型的数据流存储至数据库中,通过不断更新训练提高模型的分类性能。验证集和测试集分别用于模型参数调整与性能测试评估。
将包含网络流量的特征图像输入到CNN 中以对不同类型的网络攻击模式进行学习,然后通过分类器对提取的数据特征进行分类以实现异常流量检测。
3.2.1 主干网络优化
在特征提取阶段,根据网络越深、效果越好的原则,本文采用EfficientNet 作为特征提取的主干网络,并在实验中与其他网络结构进行比较,如VGG19、ResNet-50、XceptionNet 等,这些网络结构在图像分类领域中均表现优异。VGG19 包含16 层卷积层和3 层全连接层,采用 3×3 尺寸的卷积核堆叠神经网络,从而加深整个神经网络的层级;Xception 是在 Inception 网络的基础上扩展而来,其使用深度可分离卷积代替标准网络卷积。EfficientNet 根据图像的深度、宽度、分辨率形成有效复合系数,动态调整网络的深度和宽度,形成不同工作能力的网络模型。为构建 EfficientNet 模型,必须根据用例设置缩放条件,优化缩放倍率,利用复合缩放方法得到 EfficientNet 系列网络。具体计算公式为:
式中:N表示整个网络,X表示输入特征,d表示缩放倍率,L表示网络深度,w表示网络宽度的缩放倍率,r表示图像分辨率的缩放倍率。EfficientNet 网络使用复合系数ϕ优化d、w、r,具体计算公式见式(3)。通过固定α、β、γ的值,取不同的ϕ值可得到扩展后的EfficientNetB1 至 B7网络。
由于EfficientNet-B0 网络层数较少,为防止网络太深出现梯度消失等问题,本文选择EfficientNet-B0 作为模型的主干网络,以进一步提高检测效率。EfficientNet-B0 网络由多个移动翻转瓶颈卷积(Mobile Inverted Bottleneck Convolution,MBConv)模块组成,而MBConv 模块由深度可分离卷积(Depthwise Separable Convolution)、批归一化(Batch Normalization)、Swish 激活函数、连接失活(Drop-Connect)组成,其中还引入了压缩与激发网络(Squeeze and Excitation,SE)模块。本文要解决的是一个多分类任务以及多种网络攻击的识别问题,因此更改了 EfficientNet最后的全连接层,采用两层全连接层以及Softmax 激活函数对提取的流量特征进行分类。损失函数采用交叉熵损失函数(Categorical cross entropy),具体定义为:
式中:ed表示真实的样本分布概率,pd表示预测的样本分布概率。本文选择Adam 优化器最小化损失函数进行模型参数优化。EfficientNet 模型建立后在预设参数上进行训练,在每个 epoch 后利用验证集评估模型性能并在精度提升后保存模型权重。
3.2.2 超参数优化
为使模型更好地适应所选数据集并进一步提高性能,需要调整和优化 CNN 的超参数。本文采用粒子群优化(Particle Swarm Optimization,PSO)算法对CNN 的参数结构进行优化,以避免人工调整参数的高成本。PSO 是一种元启发式优化方法,其通过群体中粒子之间的信息共享和协作确定最优超参数值[3]。在PSO 优化算法中,每一个粒子的初始化位置记作,速度记作,粒子通过其个体最优p→i和全局最优p→进行更新。更新过程如下:
式中:w为惯性因子;c1和c2为学习因子,是用于权衡个体学习与群体学习的参数;r1、r2为0.1~0.9 之间的随机数,在每次迭代中随机生成。本文中w=0.729,c1=c2=1.494,微粒种群数目N=10,最大迭代次数iterations=30。PSO 的时间复杂度为O(NlogN),与传统超参数优化策略相比能有效提高算法训练效率。
为提高EfficientNet 的性能,本文选取优化器类别、权重衰减、学习率、提前终止策略参数、批次大小(Batch Size)及神经元舍弃概率(Dropout)作为待优化超参数,使用PSO算法进行参数自动搜索,参数设置如表1 所示。粒子位置由上述关键参数决定,适应度由模型在验证集上的损失决定。
Table 1 Parameters settings of EfficientNet表1 EfficientNet参数设置
采用Windows10 操作系统,处理器为Intel i7-11800H CPU 2.3GHz,显卡为RTX 3060,实验编译环境为Python 3.6,主要函数库包括tensorflow、sklearn 以及PIL 等。
采用CICIDS-2017 数据集,其包含良性正常流量和常见攻击流量,选择其中的Tuesday-working hours、Friday-WorkingHours-AfternoonPortScan、Friday-WorkingHours-Afternoon-DDos 和 Thursday-WorkingHoursMorning-WebAttacks 子文件,最终纳入包括PortScan、Web Attack、DOS/DDoS 在内的7种攻击类型,具体如表2所示。
Table 2 Sample type and quantity表2 样本类型及数量
采用准确率(Accuracy,Acc)、查准率(Precision,Pre)、召回率(Recall,Rec)以及F1 分数(F1-Score,F1)评估模型性能。具体计算公式为:
式中:TP(True Positive)表示将样本预测为正类且预测正确的样本数;TN(True Negative)表示将样本预测为负类且预测正确的样本数;FP(False Positive)表示将样本预测为正类且预测错误的样本数;FN(False Negative)表示将样本预测为负类且预测错误的样本数。
为评估不同主干网络结构对模型检测精度与效率的影响,本文针对VGG19、ResNet-50、XceptionNet、Efficient-Net 4 种网络结构的模型参数量、准确率以及单次检测平均耗时(Average Time,AT)方面进行了比较,结果见表3。可以看出,与VGG19、ResNet-50、XceptionNet 相比,EfficientNet 的参数量最小、检测耗时最低、异常流量检测准确率最高。
Table 3 Performance comparison of different network structures表3 不同网络结构性能比较
对不同批次模型在训练集与验证集上的精度与损失情况进行可视化,结果见图5。可以看出,模型在训练集上有较高精度和较低损失。经过多个批次的训练后,模型在验证集上的分类表现逐渐趋向稳定,精度与损失逐步逼近训练情况,表明模型拟合效果较好。
Fig.5 Accuracy and loss of different batch models on training and validation sets图5 不同批次模型在训练集与验证集上的精度与损失情况
为评估本文模型的有效性,本文构建不同类型的网络模型进行测试,包括针对时序数据处理的BiLSTM、CNN+LSTM。其中CNN+LSTM 首先通过CNN 提取网络流量数据的空间特征,再通过LSTM 提取网络流量数据的时间特征。不同网络结构比较结果见表4。可以看出,本文使用的EfficientNet 模型准确率、召回率以及F1分数均为最高。
Table 4 Comparison result of different network models表4 不同网络模型比较结果
从测试集中随机挑选多个不同类型网络攻击样本对模型检测效果进行测试,结果见图6 所示。可以看出,本文模型对7 种攻击类型均有较高的检测准确率,尤其在Web Attack、Bot 两种攻击类型的检测上,其他模型均存在较大误差,而本文模型表现优异。
Fig.6 Detection results of different types of network attacks图6 不同类型网络攻击检测结果
电力网络安全是人们生产生活安全稳定进行的重要保障。本文在对电力网络特征进行详细分析的基础上提出一种基于EfficientNet 的电力入侵异常流量检测方法,该方法能在保证较高分类精度和查全率的同时有效减少模型参数量、降低模型复杂度,缩短了异常检测响应时间,提高了异常流量入侵检测效率。然而,基于监督学习的异常流量入侵检测方式依赖于已知攻击形式的样本训练,而随着网络攻击形式的多样化,未知攻击类型将越来越多样化。未来考虑结合半监督学习方式改进模型,在模型架构中加入更多电力网络流量数据的独有特征,并基于发电侧、输电侧、配电侧等不同应用场景设计针对性异常流量检测模型,以使模型的适用范围更广。