1、第 卷第 期计算机应用与软件 年 月 一种类平衡和 结合的网络入侵检测方法郭三田柳毅(广东工业大学计算机学院广东 广州 )收稿日期:。国家自然科学基金项目()。郭三田,硕士生,主研领域:机器学习,网络与信息安全。柳毅,教授。摘要针对现有的海量非平衡数据集中少数类别样本入侵检测率低的问题,提出一种类平衡算法与卷积神经网络相结合的网络入侵检测方法。该方法使用 ()对少数类样本进行过采样,利用高斯混合模型 ()对多数类样本进行聚类欠采样,进而在平衡的数据集上通过 来学习网络流量数据中的高维特征,利用 回归对数据进行分类。利用原始的未经平衡处理的数据集以及经过不同类平衡算法处理的 数据集分别对模型进行
2、验证测试。结果表明,该方法在保持较高的整体检测率的同时,对少数类别样本的检测率有了更高的提升,从而验证了该方法具有较好的实用价值。关键词入侵检测类不平衡 卷积神经网络中图分类号 文献标志码 :(,),(),(),引言随着网络技术的快速不断发展,互联网给我们的生活带来极大帮助的同时,针对计算机网络攻击的数量也在急剧增加。因此,网络信息安全检测对于保障人们的生活和维护网络空间安全具有重大的意义。常用的网络安全系统是网络入侵检测系统 ()。它主要是通过使用软件或者硬件工具来监视计算机网络和主机,当检测到异常流量时,会触发某些限制操作,并将异常上报给网络安全管理员。目前,基于 的机器学习算法可分为浅层
3、学习和深度学习两种。传统的浅层机器学习算法主要囊括:最近邻算法、贝叶斯网络模型、支持向量机、随机森林等。文献 提出基于极限学习机()特征映射的 最近邻算法()的入侵检测模型,其主要是借助 将样本转变为线性可分,再利用 对攻击样本进行分类识别;文献 提出了一种基于贝叶斯攻击图的网络第 期郭三田,等:一种类平衡和 结合的网络入侵检测方法 入侵意图识别方法,其根据提取到的有效报警证据进行贝叶斯后验推理,从而动态更新攻击图中各状态节点遭受攻击的概率,进而识别网络中已发生和潜在的攻击行为。文献 提出了一种基于 和 特征提取的二进制支持向量机 分类器,它在处理小样本数据集时检测率较高,但由于其时间以及空间
4、复杂度的局限性,当处理大规模数据集时性能较差;文献 提出了一种基于随机森林的特征选择入侵检测方法,其思想主要是选择对分类最重要和最相关的特征,从而削减输入特征的数量和所花费的时间,提高分类的准确性。文献 提出一种基于特征选择的入侵检测技术,借助离散化与特征选择算法来生成多个特征子集,对提取后的特征用分类算法进行建模学习,进而实现攻击检测识别。浅层机器学习模型虽然都提高了检测率,但其比较依赖于特征选择,不适用于处理高维非线性的网络流量特征数据。近年来,深度学习技术因其强大的自动特征提取能力在图像识别、语音识别、自然语言处理等方面获得了很大的突破,不少学者也开始将深度学习算法应用于入侵检测领域中,
5、其中的模型主要囊括深度置信网络()、深度神经网络()、卷积神经网络()、循环神经网络()等。文献 将基于改进的增量卷积神经网络 应用于 中,其可以自动学习特征之间的内部属性关系,而不需要手动提取特征,但其在处理海量数据集时的鲁棒性仍有待提高;文献 利用深度置信网络对大量高维、非线性的无标签原始数据进行降维处理,从而获得原始数据的压缩低维表示,而后经过多类支持向量机分类器对所获得低维特征进行识别分析处理,然而该模型不能很好地解决数据类别分布不均衡的难题。文献 的作者设计一个堆叠的非对称深度自动编码器,并且使用随机森林算法作为分类器来识别网络攻击类别,但其训练的深度神经网络 很复杂,难以在大规模数
6、据集中进行扩展;文献 提出了一种基于深度神经网络 ()的入侵检测方法,其能挖掘高维数据的潜在特征,分类识别能力较强,但其没有解决训练过程中的权重优化问题。文献 针对数据量大、训练时间长、容易陷入局部最优的问题,提出一种基于深度置信网络和概率神经网络()的入侵检测方法。文献 提出一种基于深度神经网络的入侵检测方法,使用较少的连接和参数,具有易于训练等优点,但存在检测率不高的问题。相对于传统的浅层学习算法,深度学习模型对于高维复杂的网络流量数据有更好的识别检测结果。目前基于 的机器学习网络入侵检测范畴面临的一个重要挑战就是异常流量数据样本类分布不均衡的问题,一些攻击样本如拒绝服务攻击()的连接数量
7、远大于其他的攻击如跨站脚本攻击()。同时现有的基于机器学习的入侵检测方法大多数在于研究如何降低整体的平均漏报率,而忽略了少数类别攻击样本的入侵检测问题,但在现实的互联网环境中,少数种类样本的入侵攻击比多数类别样本的攻击危险性更大。针对以上存在的问题,本文提出一种类平衡和 结合的网络入侵检测方法。首先,在数据预处理阶段,采取 算法对少数类样本进行过采样的同时对大多数类样本进行聚类欠采样,至此所有类别的样本数据均统一到一个确定的实例,而后通过 多个堆叠的卷积以及池化操作对平衡数据集上网络流量的特征属性关系进行提取,进而挖掘出潜在的异常样本,最后利用 回归输出检测结果。在 数据集上的实验结果表明,该
8、模型在保持较高检测率的同时,对少数类攻击样本的检测率有了更大的提升。相关算法 随机过采样()算法 采取有放回抽样的办法从少数类样本抽取新样本以达到补充少数类样本的目的。高斯混合模型()算法 是参数化的概率分布模型,表示多个高斯分布函数的线性组合。假设所有样本都来自具有不同参数的多个高斯分布,则隶属于同一分布的样本将被划为同一聚类,可根据式()返回样本 属于不同聚类的概率。()()()式中:是样本集合中第 个子模型被选中的概率,且,;是观测数据;(,);(,)是第 个子模型的高斯分布密度,定义如式()所示。()槡 ()()()式中:和 为第 个子模型的均值和方差。算法为了避免单独过采样所导致的过
9、多冗余数据,引起时间和空间成本的增加以及单独下采样所带来的部 计算机应用与软件 年分重要特征丢失,提出一种新的类平衡算法 ,它可以显著地提高少数种类攻击样本的检测率。该算法将训练数据集上所有类别样本重新采样到统一的数量实例 。的定义如式()所示。()()式中:为训练集上的样本总数;为相对应的类别标签数。仅在训练数据集 ,执行类不平衡处理,它首先计算 值,对于训练集中的每一类数据,如果 中的样本数小于 ,可通过使用 方法随机地复制、重复少数类样本,使其类别样本数达到 。如果 中的样本数大于 ,通过 聚类将 中的样本数欠采样成 个聚类,而后从每一个聚类中随机选择 个样本并将其合并为 ,此时 的样本
10、数与 一致,从而获得了类平衡的训练数据集 。关于 结合的类平衡处理算法细节在算法 给出。算法 算法输入:,。为总的类别数,为训练集上总的样本数输出:类平衡的训练数据集 ()(,)使用 对 进行过采样,使 (,)使用 将 欠采样成 个类,()从 中随机选择 个样本 ()欠采样后的 ()返回类平衡的训练数据集 卷积神经网络 的网络框架一般由输入层、卷积层、池化层、全连接层和输出层 部分组成。将经过类平衡算法和归一标准化处理后的网络流量特征序列 ,输入到 中,并对其进行多次卷积与池化操作。其中,在卷积层中设置多个核大小为 、长为 的卷积核,每一个卷积核对核窗口大小为 中的特征进行网络权重学习后生成一
11、个新的特征向量。将卷积滑动窗口 中的一个网络流量特征子序列表示为 ;,则卷积核(,为卷积核的个数)可利用式()来生成新的特征:(;)()式中:为非线性 激活函数;为卷积核的序列号;为偏置值;为网络流量特征的维度数;是由,所拼接而成的特征子序列。利用卷积核对 ;到 ;中的每个特征子序列进行迭代遍历后,得到如式()所示的新特征属性图。,()将所有经卷积运算后生成的特征图进行堆叠得到如式()所示的新特征图序列。,()式中:,是由第 个卷积核在第 步生成的特征属性堆叠而成。池化层用来对卷积后生成的特征序列 进行池化运算,常用的池化运算有最大池化 和均匀池化,本文选用最大池化。首先特征图 通过池化操作后
12、被分成 块,将每块中的最大值按顺序连接起来,从而得到如式()所示的长度为 的向量:(),()将 个特征图通过池化运算后所生成的 向量拼接起来,可得 ,其中 ,是 个特征向量的第 块经最大池化操作后所拼接而成的特征图。全连接层由一个线性函数和激活函数组成,式()使用 激活函数对池化层处理后得到的特征进行非线性变换得到,式()使用 回归函数得到各流量特征 的权重 ,并将其分类输出。()(,)()()()()()基于类平衡与 结合的异常流量检测模型 模型框架基于类平衡与 结合的异常流量入侵检测模第 期郭三田,等:一种类平衡和 结合的网络入侵检测方法 型包括以下 个步骤,如图 所示。图 基于类平衡与
13、结合的入侵检测框架)数据预处理。通过独热编码技术将类标签的字符型特征映射为数值型,并剔除掉数据集中的冗余特征,最后将数据进行标准归一化处理,使数据集合乎均值为 、方差为 的高斯正态分布。)类平衡处理。采取随机过采样 算法来增添训练集中少数类别样本的数量,同时利用 算法来对数据集中的多数类别样本进行聚类欠采样,最终使训练集上所有种类别的样本数量均与 一致。)网络流量高维特征提取。将上述处理后的数据输入到 框架中进行网络权重学习,挖掘出相关性最大的异常流量高维特征属性。)分类器。通过 回归对网络流量的高维数据特征属性进行识别分类,并输出分类结果。超参数设定表 列出了本文所采用的整体 框架以及相关超
14、参数,卷积层中卷积核的数量依次为 。同时在模型训练时,将 设为 ,设为 。表 框架和超参数的设定层类型池窗口步长激活函数输出 ()续表 层类型池窗口步长激活函数输出 ()损失函数在模型训练的时候,可依据损失函数来优化目标函数,并根据 反向传播算法来对参数进行调整。本文选择交叉熵损失函数作为模型的迭代优化对象。另外,为了避免模型在训练时产生过拟合现象,模型在卷积池化操作后需使用 正则化和批量归一化 ()技术对数据进行优化处理。(,)()()式中:为权重矩阵;为偏置;为实际值;()为分类器的预测值。优化算法本文采用 来作为优化算法,其学习率设为 ,参数的迭代更新过程如下:()()()式中:为学习率
15、;()为损失函数。实验验证 实验数据 数据集是加拿大网络安全研究所于 年公开颁布的一个入侵检测数据集。等通过模拟一个真实的网络攻击场景来对本地网络进行攻击从而采集网络流量数据,该数据集包含 个网络流量样本,其中包括 个正常类别样本和 个攻击类别样本,正常类别样本占 ,攻击流量占 ,其数据分布跟实际的网络流量分布是一样的。将 中的所有样本用于实验,并以 的比例对数据集进行划分并用于训练、验证、测试。表 列出了每个类别的详细数据分布。计算机应用与软件 年表 数据集中每个类别的样本数类型训练集测试集验证集总样本 数据预处理数据预处理由独热编码、特征缩减和数据归一标准化三部分组成。首先,通过独热编码将
16、数据集中的 种类标签字符型数据进行数值化。同时,由于该数据集中的流字节和流数据包特征中包含无穷大值,为了避免模型在训练时出现错误,可将此类无穷大值用其列的最大值加 进行替换,并用零对缺失值进行填充。然后,根据文献 ,对数据集中 个冗余且无意义的特征进行删除,分别为流 、源 、源端口、目标 、协议、时间戳,此时数据集的特征大小缩减为 。最后,根据式()对于所有数值型的特征采取标准归一化处理,使其合乎均值为 、方差为 的高斯正态分布,归一化后的数据与原始数据保持相同的线性关系,但其却有助于加快模型的收敛速度和提高模型的准确性。()式中:是原始的特征属性值;是经过标准化后的特征属性值;和 分别是特征
17、属性值的均值和标准偏差。评估指标分类后的数据被划分为 种类型:模型检测为攻击但实际却为正常的样本数,模型检测正确的攻击样本数,模型检测为正常但实际却为攻击的样本数,模型检测正确的正常样本数,它们分别可用、来表达。测试样本的总数 。在类不均衡数据集的性能评价中,少数类样本数据的性能检测评估相比较整体性能评估的意义更大。因此,本文选用 ()、()、作为评估技术指标。检测率()是模型识别正确的攻击样本数占总攻击样本数的百分比,如式()所示。()误报率()是模型识别为攻击但实际却为正常的样本数占总正常样本数的百分比,如式()所示。()是召回率以及精准率两者的调和平均值。当二者均趋于最大时,的值为最大。
18、的值越大,意味着不均衡数据的分类效果越好。()曲线图的横坐标是 ,纵坐标是 。曲线若离左上角越近则意味着分类器性能越好。由于曲线不能对分类器的性能进行定量的评估,所以常将曲线下方的 面积值作为评估指标,该值越大则阐明分类器的性能越好。实验分析实验内容:)在相同分类决策方法下验证有无 类平衡处理方法对于异常入侵检测的影响。)与 、算法进行对比,剖析所提出的类平衡算法在入侵检测的实用性与优越性。)在同样采用 类平衡算法下,采用 、等算法与 进行对比,剖析 框架相较其他算法与类平衡算法结合后的优越性。)在同样采用 实验数据下,验证不同的分类办法对于网络异常入侵检测的影响。类平衡处理方法的有效性验证为
19、了验证 类平衡处理方法的有效性,将经过 算法处理的前后数据集在 上进行验证。两者检测的多分类 曲线分别如图 、图 所示,其中 依次所代表的数据类型第 期郭三田,等:一种类平衡和 结合的网络入侵检测方法 与表 所列举的顺序一致。从图 和图 可以明显看出,经过 算法处理后的 模型对所有类别样本的宏平均 值提升了 ,这表明采用 对不均衡数据集处理后,分类器的分类成效更好,且对于少数类攻击样本的分类精度提升更多,从而验证了本文算法的有效性。图 的多分类 曲线图 的多分类 曲线 不同类平衡算法的对比验证表 展示了不同的类平衡算法在同一 框架下对 种类别样本的检测率性能比较。可以看出,加入本文提出的 算法
20、后,比前面三者分别提高 百分点、百分点、百分点。的提升说明数据集在分类过程中,在整体数值分类精度得到提升的情况下,少数类攻击样本的分类精度获得提升的程度更高。而宏平均 值相较于其他三种方法分别提高 、,说明经类平衡算法 处理后,分类器的整体性能得到更大的提升。同时,实验对比结果还表明,对于少数类攻击模式,本文方法在保持较高 以及 的前提下,可以更好地对少数类入侵模式进行检测识别,使其检测率在不同程度上获得相应的更大的提升,如对于 ,相较于其他三种方法分别提升了 、。表 不同类平衡算法在 种类别样本上检测率的性能比较 续表 在同一类平衡算法下不同分类方法的对比验证如图 所示,在统一使用类平衡算法
21、的前提下,分别采用随机森林 、多层感知机 、循环神经网络 与本文模型在各项分类性能指标上进行对比分析。可以看出,与 、等模型相比,类平衡算法与 结合后模型的测试效果最好,其检测率达到 ,相比较其他三种模型分别提高了 百分点、百分点、百分点;其 值为 百分点,比其他三种模型分别提高了 百分点、百分点、百分点;而精确率达到 百分点,比其他三种模型分别提高了 百分点、百分点、百分点;这进一步说明类平衡 算法与 结合的网络入侵检测方法,在面对复杂的网络流量数据时,能保持较高的异常入侵检测识别率,具有更好的入侵检测能力。图 在同一类平衡算法下不同分类方法的入侵检测性能比较 计算机应用与软件 年 与最近机
22、器学习方法的比较表 展示了本文模型与其他最近入侵检测方法的模型比较结果,统一使用 数据集,结果表明,该模型的检测率相对其他两种机器学习模型分别提升了 百分点、百分点,同时误报率相对于两者分别降低了 百分点和 百分点。其中文献 提出了一种基于并行交叉卷积神经网络 的异常检测方法,其检测率为 ;文献 提出了一种新型的基于深度学习和区块链的智能电网能源交换框架,其检测率为 。表 与最近机器学习方法结果对比 方法检测率误报率 本文模型 结语为了提高大规模数据集中少数类样本的检测率,提出使用 算法对数据集进行类平衡处理,从而在平衡的数据集上训练卷积神经网络,本文模型在保持较高检测率和效率的基础上,对少数类别样本的检测率有了明显提高,且误报率较低,具有重大的实用价值。参考文献顾兆军,李冰,刘涛 基于 算法的网络入侵检测模型 计算机工程与设计,():,王洋,吴建英,黄金垒,等 基于贝叶斯攻击图的网络入侵意图识别方法 计算机工程与应用,():,:,():戴远飞,陈星,陈宏,等 基于特征选择的网络入侵检测方法 计算机应用研究,():,:高妮,贺毅岳,高岭 海量数据环境下用于入侵检测的深度学习方法 计算机应用研究,():,():,():,:钱铁云,王毅,张明明,等 基于深度神经网络的入侵检测方法 华中科技大学学报:自然科学版,():,():,:,:,():,:,:,:,():