摘 要:针对传统异常流量检测方法在面对复杂多样的新型网络攻击时存在的数据特征提取困难、准确率低、误报率高和运行成本高等问题,提出了一种基于 EfficientNet 与贝叶斯超参数优化的电力资产信息流量异常检测方法,通过将流量数据序列转换为二维图像,有效提取网络流量异常特征并进行分类,实现高准确度和效率。在 KDD-NSL、CIC-IDS2017数据集上,相较于 VGG19、Xception、ResNet50,该方法分别提升最高 6.7% 的准确率和 8.1%的 F1 值,表明了该方法的显著优势和实用价值。
随着基于 IEC 61850 标准的智能变电站的快速发展,智能变电站中的电力资产信息网络所面临的网络攻击风险也越来越大。智能变电站以智能电网和能源物联网为基础,以人工智能、物联网等现代信息技术为支撑,采用“全面感知”先进传感技术,能够实现自主巡检、远程监控、主动预警等功能,具有全站信息数字化、通信平台网络化和信息共享标准化等特点。
智能变电站中的电力资产信息网络是一种先进的数字物理双向潮流电力系统,具有自我修复、自适应、恢复和可持续等独有特征。根据 IEC 61850 标准,智能变电站通信结构被分为“三层两网”。三层是指间隔层、过程层和站控层;两网是指站控层网络和过程层网络。站控层网络主要使用制造消息规范、面向通用对象的变电站事件(Generic Object Oriented Substation Event,GOOSE)和简单网络时间协议(Simple Network Time Protocol,SNTP)进行站控层与间隔层之间的信息传输服务。过程层网络通过采样值协议和 GOOSE 协议完成间隔层与过程层之间的信息交换。整个智能变电站的通信装置通过对时设备(简单时钟同步 SNTP 协议或精确时钟同步协议)实现全局时钟实时同步。此外,变电站通过远动装置与远程控制中心或其他变电站进行数据交换,比如控制指令和原始数据文件,以实现跨站的远程通信。
来自外部的攻击以与智能变电站的站控层设备通信为主,通过攻击操作平台向网络中的设备发送恶意指令。电力资产信息网络系统是关键的工业基础设施,具有复杂的架构并包括多层级、多领域的关键设备。当通信系统的保密性、完整性或可用性被破坏时,可能导致国家安全赤字、公共秩序中断、生命损失或大规模经济损失等严重事故。因此,工业界、政府和学术界都在努力加强其安全性 。在当前的研究工作中,机器学习分类器的算法模型被用于将电力流量数据分类为正常数据或入侵数据,例如,Hong 等人使用卷积 - 长短时记忆(CNN-Long Short Term Memory,CNN-LSTM)网络模型对KDDCup99 测试数据集进行评估,以确定连接记录是正常流量还是异常流量,其准确率达到了97% 以上。传统的电力系统主要体现在对边界的防护,使用各种物理隔离或网络防护方式来阻止攻击渗透到网络中。但是传统处理异常网络流量的模型偏向于被动防御,这样就会存在隐藏的威胁,一旦防御被攻破则很容易遭到对手的进一步入侵。
1
相关理论
由 Google 提出的快速高精度模型 EfficientNet将这 3 种方法结合起来,使用一组固定的缩放系数同时调整深度、宽度及分辨率。缩放系数采用神经架构搜索(Neural Architecture Search,NAS)来自动进行搜索优化,通过 Swish 激活函数和捷径分支(类似于残差模块)来防止梯度消失和爆炸问题,并在网络中采用 Dropout 随机失活神经元来防止过拟合。
1.2 卷积注意力模块
卷积注意力模块(Convolutional Block Attention Module,CBAM)是一种卷积神经网络中的注意力模块,用于在特征图中选择性地强化有用的信息,并抑制噪声和无关信息。CBAM 通过组合通道注意力和空间注意力,将深度卷积网络扩展到更复杂的场景,并实现对大型图像数据集的有效处理。通道注意力机制通过从所有空间位置提取特征信息,并计算其在通道异常值上的重要程度,来实现卷积特征的自适应加权。同时,空间注意力机制可以用于探测不同区域间的空间相关性,并将这些空间信息结合到卷积特征中,从而实现对于空间结构信息的有效提取和学习。本文在 EfficientNet 网络之后引入CBAM 模块使得 EfficientNet 网络可以更加有效地处理高维空间信息。
1.3 贝叶斯超参数优化
超参数对于机器学习算法非常重要,它们直接控制训练算法的行为,并且对机器学习模型的性能有显著影响。机器学习算法的性能和超参数之间的关系较为复杂,因此如何优化超参数是机器学习算法中比较重要的一环。
超参数优化方法一般有两种:人工搜索和自动搜索。人工搜索需要相关领域的专家来调整,对专业性要求强且效率较低。自动搜索包含了许多算法,例如网格搜索 或笛卡尔超参数搜索,这种方法理论上可以获得优化目标函数的全局极值,但是随着超参数数量的增加,算法的效率会随之降低。
超参数整定是一个需要优化的问题,其中优化的目标函数为未知函数或黑盒函数,贝叶斯优化是解决此类优化问题的一种有效算法。首先,它将未知函数的先验信息与样本信息相结合,利用贝叶斯公式获得函数分布的后验信息;其次,基于此后验信息,可以推断函数在何处获得最佳值。实验结果表明,贝叶斯优化算法优于其他全局优化算法。利用贝叶斯优化深度学习模型进行检测的一般步骤为:
(1)设定待优化参数范围和优化目标函数;
(2)利用贝叶斯对模型的隐藏层和初始学习率进行优化;
(3)返回优化的最小值及对应模型的超参数;
2
电力资产信息数据流量异常检测模型
针对电力资产信息网络流量的安全问题,本文提出了一种基于改进的 EfficientNet 电力资产信息异常流量检测方法。首先,本文提出了一种数据转换方式,将电力资产信息网络数据以基于时间的块为单位,通过维度变换将一维的攻击数据转换到二维空间,并将其可视化。其次,采用主流的卷积神经网络变体 EfficientNet,结合CBAM 注意力机制和贝叶斯超参数优化方法对卷积神经网络进行训练。最后,使用 NSL-KDD、CIC-IDS2017 两个真实网络攻击数据集进行实验,验证本文方法的有效性。异常流量检测模型整体流程如图 1 所示。
图 1 异常流量检测模型整体流程
2.1 数据描述和处理
2.1.1 数据描述
本文选取的是特征化之后的网络攻击流量数据集 NSL-KDD 与 CIC-IDS2017,其中包含大量特征化的网络连接。数据集中特征化的网络连接定义为:在某个时间内从开始到结束的传输控制协议(Transmission Control Protocol,TCP)数据包序列,并且在这段时间内,数据在预定义的协议下从源 IP 地址到目的 IP 地址的传递。表 1 展示了 CIC-IDS2017 数据集中的 4 条记录,CIC-IDS2017 数 据 集 使 用 CICFlowMeter 提 取85 个网络流特征。其中包含了 6 个基本特征、79 个功能特征和一个标签(正常或攻击)。
表 1 CIC-IDS2017 数据集中的 4 条记录
NSL-KDD 数据集中每个网络连接包含 42 个特征,其中 41 个特征指的是流量输入本身的属性,例如流持续时间、流的平均长度、带有确认 字 符(Acknowledge character,ACK) 包 的 数量等,最后一个是标签(正常或攻击)。表 2 展示了 NSL-KDD 数据集中的 3 条记录及其部分特征,其中,服务是指使用的目标网络服务,相同服务连接数量是指与当前连接相同的服务(端口号)在过去两秒内的连接数,标签是指此条数据流量的类别。
表 2 NSL-KDD 数据集中的 3 条记录及其部分特征
NSL-KDD 数据集中提供的特征可以分为4 类:TCP 连接基本特征、TCP 连接的内容特征、基于时间和基于主机的网络流量统计特征。以下是对不同类别功能的描述:
(1)TCP 连接基本特征可以从数据包的包头中获得,无须查看有效负载本身,保存有关数据包的基本信息,如连续时间、协议类型、传送的字节数等。
(2)TCP 连接内容特征包含有关原始数据包的信息,原始数据包是分多个而不是一个发送的。有了这些信息,系统就可以访问有效载荷。
(3)基于时间的网络流量统计特征是在两秒的窗口内对流量输入进行分析,并包含诸如尝试与同一主机建立多少连接等信息。这些特征主要是计数和速率,而不是有关流量输入内容的信息。
(4)基于主机的网络流量统计特征是对一系列连接进行分析。这些特征旨在分析访问跨度超过两秒窗口时间跨度的攻击。
CIC-IDS2017 数 据 集 使 用 CICFlowMeter 提取 85 个网络流特征。其中包含了 6 个基本特征、79 个功能特征。每条流量包含一个标签(正常或攻击)。
2.1.2 数据预处理
对数据进行清洗与数据增强。将原始数据集中存在的缺失值、无穷值删除。将字符值编码成数字。CIC-IDS2017 数据集中的样本类别数量极不平衡,正常类型样本数量较多,而某些类型的异常样本数量过少,例如结构化查询语言(Structured Query Language,SQL)注入攻击类型只有 21 个样本。针对数据集中特定的攻击类型样本量过少的问题,本文采用合并相似攻击类型的方法,来提高模型的分类准确性和稳定性。合并前后的类型如表 3 所示。
表 3 CIC-IDS2017 数据集中合并的攻击类型
合并后的各类别样本数量如表 4 所示。
表 4 CIC-IDS2017 数据集分类后各类别数量
NSL-KDD 数据集各类别具体分布如表 5 所示。
表 5 NSL-KDD 数据集各类别数量
2.1.3 数据转换
NSL-KDD 与 CIC-IDS2017 数据集是人工选择的流量特征数据,样本的形式是一维序列。本文采用的主干网络需要的输入格式为二维数据,所以需要将一维序列形式的样本转换为固定大小的二维图像形式。由于样本的每个特征的数据大小数量级不同,图像像素值取值范围为 [0,255],因此需要先将样本中所有数据范围转化到 [0,255],如式(1)所示。
首先,利用 QuantileTransformer 方法对数据进行非线性转换,之后将所有数据乘以 255 扩大至 [0,255] 范围。
式中:QuantileTransformer 为基于分位函数的无参数转换函数,功能是将数据映射到 0~1 的均匀分布上。
其次,根据特征值数量 n 来构建 n×n×3的图片。最后再对 n×n×3 的图片数据集进行数据增强,使用双线性插值方法将图像尺寸扩展至 224×224,其核心思想是在两个方向分别进行一次线性插值。双线性插值的具体过程如下:
假设要得到点 (x, y) 的像素值,并且已知4 个点的像素值。首先需要在 x 轴方向进行线性插值,其次在 y 轴方向进行一次线性插值。
(1)在 x 轴方向使用单线性插值分别计算的像素值。
(2)在 y 轴方向使用单线性插值计算 (x, y)坐标点的像素值。
式中:f (x, y) 为要计算的 (x, y) 坐标点的像素值;p(x, y)为(x, y) 坐标点的像素值。
图 2 展示了数据集中 6 个类别的一维流量数据进行增强后形成的二维图像数据。
图 2 增强后的图像样本
可以直观地看出,增强后形成的二维数据具有很好的区分度,为后续的深度学习模型识别提供了良好的数据样本。
2.2 主干网络构建
将数据进行处理并转换为二维图像之后,下一步将对分类模型进行选取和训练。本文采用 EfficientNet 网络结构。EfficientNet 系列网络结构是在一个基本网络结构 EfficientNet-B0 上通过参数搜索扩展而来。为了减小搜索空间,EfficientNet 的基本结构是固定的,只改变网络深度 L、网络宽度缩放倍率 w 和图像分辨率缩放倍率 r。为了进一步缩小搜索空间,网络的放大只能在初始网络的基础上扩大常数倍率。EfficientNet 网络扩展过程如下,通过不同的值得到扩展后的网络。
EfficientNet-B1~B7 扩展网络的方式如下:
式 中:d 为 深 度;w 为 宽 度;r 为 分 辨 率;α,β,γ 分别为深度、宽度和分辨率的系数。ϕ 起到控制可用资源数量的作用,α,β,γ 用于控制这些额外资源如何分配给模型深度、宽度和分辨率。
EfficientNet-B7 网络参数量为 64 097 680,EfficientNet-B0 参数量为 4 049 564。B0 相比 B7参数量少了一个数量级,为了兼顾模型性能和准确率,本文采用 EfficientNet-B0 结构作为主干网络。EfficientNet 的最小搜索单元使用的是MBConv,MBConv 结构主要包括一个 1×1 的普通 卷 积( 升 维 作 用), 一 个 k×k 的 DepthwiseConv 卷积,一个压缩与激发网络(Squeeze and Excitation,SE)模块,一个 1×1 的普通卷积(降维作用),一个 Dropout 层。
在 EfficientNet 网络提取了高维的特征表示后,本文采用 CBAM 模块对这些特征进行进一步的加强和优化。CBAM 模块通过通道注意力模块和空间注意力模块对 EfficientNet 的高维特征向量进行特征选择。首先,通道注意力模块学习每个通道的重要性,并将其按比例分配给特征向量中不同的通道。其次,空间注意力模块根据每个像素点的位置权重来选择适当的特征。CBAM 模块这种注重特征选择的注意力机制,使模型在尽可能小的计算成本下,提高网络的性能和精度,并使之更具鲁棒性。在 CBAM 模块之后加入 Dropout 层与最大池化层来防止过拟合并减少参数量。最后,使用全连接层与 Softmax激活函数对特征进行多类别分类。整体的主干网络结构如图 3 所示。其中,BN 代表批归一化,Swish 为激活函数,Pooling 代表池化层。
图 3 主干网络结构
本文同时对 比 了 ResNet50[19]、VGG19[20]、Xception[21] 在数据集上的表现。VGG19 包含了19 个隐藏层(16 个卷积层和 3 个全连接层),VGGNet 的结构非常简洁,整个网络都使用了同样大小的卷积核尺寸(3×3)和最大池化尺寸(2×2)。Xception 是 基 于 Inceptionv3 的 一种改进模型,Xception 网络基于一系列 Xception unit 组成,并且引入了 ResNet 的残差连接,先对输入做统一的 1×1 卷积操作,然后把输出的所有 Channel 分别做 3×3 卷积。ResNet50 通过构建恒等映射来解决深层网络退化问题。此外,直接让一些网络层去拟合一个潜在的恒等映射函数 H(x)=x 是 困 难 的, 但 把 网 络 设 计为 H(x)=F(x)+x,就可以将学习恒等映射函数问题转换为学习一个残差函数 F(x)=H(x)-x,只要令模型学习到 F(x)=0,就能构成一个恒等映射H(x)=x。而让模型学习到 F(x)=0 更加容易,可以通过 L2 正则来实现。
2.3 模型优化
2.3.1 训练过程优化
本文使用 Adam 算法对模型训练过程中的神经网络反向传播更新参数过程进行梯度优化。Adam 算法结合了动量优化和自适应学习率的优点,被广泛应用于深度学习模型的训练过程。其核心思想在于利用每个参数的梯度一阶矩估计和二阶矩估计来自适应地调整模型训练过程中的学习率,从而提高优化过程的效率和稳定性。Adam 算法维护两个动态更新的指数移动平均量:梯度的一阶矩估计和二阶矩估计并通过偏置校正修正它们的偏差,以确保在训练初期算法能够准确地估计梯度的统计特性。在算法的每一个时间步,将梯度 对应的一阶矩估计更新为其中为动量参数。二阶矩估计更新为其中为用于计算梯度平方的衰减率参数。随后,通过对一阶和二阶矩估计进行偏置校正,得到最终使用这些校正后的估计量计算参数的更新方向和大小。
2.3.2 超参数优化
基于贝叶斯优化的 EfficientNet 网络结构在EfficientNet 网络的基础上,使用贝叶斯优化算法对 EfficientNet 网络的超参数进行优化,提高检测的准确率,主要对迭代代数、早停步数、学习率和 dropout 率进行优化,优化超参数的约束条件如表 6 所示,其中每个取值范围的前两个值代表取值范围,第三个值代表取值间隔。
表 6 超参数选取
3
实验及结果分析
3.2 评价指标
常用的异常检测评价指标有准确率(Accuracy)、精确率(Precision)、召回率(Recall)及 F1 值。其中,准确率是指被正确分类的样本占总样本的比例;精确率是指被预测为正常的样本中,真正是正常的样本数量所占的比例;召回率是指被预测正常的样本数量占真正正常的样本数量的比例;分数兼顾了准确率和召回率。计算公式如下:
式中:TP 为真实类别为真,模型预测的类别也为真;FP 为模型预测为真,但真实类别为假;FN 为模型预测为假,但真实类别为真;TN 为真实类别为假,模型预测的类别也为假。将这4 类结果构成混淆矩阵(Confusion Matrix),可以更直观地看清一个模型在各个类别上分类的情况,如表 7 所示。
表 7 混淆矩阵
3.3 实验评估分析
本文对ResNet50、VGG19、Xception、EfficientNet共 4 个 模 型 分 别 在 NSL-KDD 与 CIC-IDS2017数据集上进行评估分析。评估指标有模型参数量、Accuracy、Precision、Recall 及 F1 分数。模型参数量大小反映出模型计算代价,模型参数量越高,计算的时间和空间成本越高。
3.3.1 NSL-KDD 数据集上的实验评估
各个模型的评估结果如表 8 所示,其柱状图如图 4 所示。
表 8 NSL-KDD 数据集上的模型评估结果
图 4 NSL-KDD 数据集上模型评估结果柱状图
通 过 表 8 和 图 4 可 知,EfficientNet 的 参 数量明显少于其他 3 个模型,所以计算的时间和空间成本远低于其他对比模型。同时,EfficientNet的准确率相比 VGG19、Xception、ResNet50 分别提高了 2.793、2.793、6.704 个百分点。精确率、召回率、F1 值也明显高于其他对比模型,整体异常检测效果均优于其他主干网络。在召回率指标上,本文模型相比其他模型最多高出 6.7 个百分点,高召回率代表着模型能够更精准地检测实际上存在的异常流量,这对于具有更高安全性要求的系统来说具有十分重要的意义。
3.3.2 CIC-IDS2017 数据集上的实验评估
各个模型的评估结果如表 9 所示,其柱状图表示如图 5 所示。
表 9 CIC-IDS2017 数据集上的模型评估结果
图 5 CIC-IDS2017 数据集上模型评估结果柱状图
4
结 语
引用格式:李泽科 , 郭久煜 , 邓春荣 , 等 . 基于改进 EfficientNet 的电力资产信息数据流量异常检测的应用 [J]. 信息安全与通信保密 ,2024(5):42-53.
李泽科,男,硕士,正高级工程师,主要研究方向为调度自动化管理;
郭久煜,男,硕士,高级工程师,主要研究方向为调度自动化管理;
邓春荣,男,硕士,高级工程师,主要研究方向为电力调度数据网综合管理、网络与信息安全管理;
张章学,通信作者,男,博士,高级工程师,主要研究方向为数据安全、密码应用。
请联系:15710013727(微信同号)
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
还没有评论,来说两句吧...