APP下载

基于1DCNN-GRU的网络入侵检测混合模型

2023-07-07温纤纤

计算机应用与软件 2023年6期
关键词:卷积神经网络样本

温纤纤 柳 毅 凌 捷 罗 玉

(广东工业大学计算机学院 广东 广州 510006)

0 引 言

随着技术和互联网服务的飞速发展,计算机网络给人们的生活和工作带来了极大的便利。与此同时,它们也带来了很多安全问题,如各种类型的病毒、漏洞和攻击[1]。网络攻击给网络服务带来了很大的风险,从社会经济和个人的角度来看,网络服务正变得越来越重要。如何在海量数据环境下取得较好的网络入侵检测效果成为亟待解决的重要问题,而应用新方法提高网络入侵检测技术则至关重要。

机器学习的概念最早在20世纪50年代被提出[2],随着对机器学习的深入研究,机器学习的算法也被广泛应用于各个领域,基于机器学习方法的网络入侵检测的研究也越来越深入。由一开始单一的机器学习方法,如支持向量机[3]、决策树[4]、贝叶斯[5]等方法,再到将几种机器学习算法结合的混合模型对网络入侵检测进行研究。例如Kuang等[6]提出了一种基于遗传算法的主成分分析与支持向量机的混合入侵检测方法。顾兆军等[7]提出一种基于极限学习机和K邻近算法的网络入侵检测模型,检测的准确率达到了95.33%,实验采用KDDcup99数据集,但是只选用了1 900个数据作为训练集,1 000个数据作为测试集。将机器学习的模型用于网络入侵检测虽然取得了不错的效果,但是传统的机器学习的模型在少量样本上才会产生比较好的分类效果,对于大量的样本的分类结果却不尽如人意。

随着神经网络的出现,深度学习的研究也越来越火热。Ingre等[ 8 ]利用人工神经网络做网络入侵检测的五分类和二分类实验,获得了不错的结果。Ma等[9]提出了一种结合谱聚类(Spectral Clustering,SC)和深度神经网络(Deep Neural Network,DNN)算法的SCDNN算法,实验结果表明,SCDNN分类器在检测的准确率和发现异常攻击类型上优于BP神经网络、支持向量机、随机森林和贝叶斯模型。Yin等[10]提出了一种基于递归神经网络(Recurrent Neural Network,RNN)的深度学习入侵检测(Intrusion Detect ion System,IDS)方法,实验结果表明, RNN-IDS非常适合建模分类,模型具有较高的精度,其性能优于传统机器学习的分类方法。Kim等[11]将LSTM和RNN组合成LSTM-RNN模型,利用KDD Cup 1999数据集训练入侵检测系统模型,通过性能测试,验证了该方法的有效性。Sethi等[12]提出了一种基于深度强化学习(Deep Reinforcement Learning,DRL)的自适应算法,使用UNSW-NB15数据集做实验,对新的复杂攻击进行准确的检测和细粒度的分类。

基于前面的研究,为了进一步提高网络入侵检测模型的检测性能,本文提出一种基于一维卷积神经网络和门控循环单元网络(1DCNN-GRU)的网络入侵检测混合模型。1DCNN-GRU混合模型是由1DCNN和GRU构建的8层网络的一个深度学习模型,利用 1DCNN的滑动窗口和权值共享来获取网络流量数据序列的局部特征作为GRU层的输入,GRU进一步提取特征数据并挖掘时序信息,最终通过全连接层分类输出。为提高模型的鲁棒性,将1DCNN的卷积方式改为膨胀卷积,并在训练模型时通过添加高斯噪声层、调整优化器和学习速率优化模型,从而提高模型的检测性能。

1 相关技术研究

1.1 一维卷积神经网络

卷积神经网络(Convolutional Neural Network,CNN)是一类包含卷积计算且具有深度结构的前馈神经网络,其中:一维卷积神经网络常用于自然语言处理领域[13];二维卷积神经网络和三维卷积神经网络常用于图片识别[14]、普通话语音识别[15]、人脸识别[16]等领域。卷积神经网络采用局部连接和权值共享的方式以减少网络模型参数数量,这样既降低了模型的复杂度,也使得网络易于优化。

一维卷积神经网络模型包含输入层、卷积层、池化层、全连接层、输出层[17]。

输入层:将经过数据预处理的数据集输入到卷积神经网络模型中。

卷积层:卷积层中每个神经元连接数据窗都有固定的权重,将一组固定的权重和不同窗口内的数据做内积的操作称为卷积。公式如式(1)所示。

(1)

池化层:池化层的作用是将输入的数据进行压缩重塑,以达到提取重要特征和特征降维的作用。公式如式(2)所示。

(2)

全连接层:全连接层中的每个神经元与其前一层的所有神经元进行全连接,将学习到的分布式特征表示映射到样本标记空间。

输出层:将分类结果输出。

1.2 门控循环单元网络

图1 GRU网络结构

GRU在时间t之前观察到的所有信息的编码:

rt=σ(wr·[ht-1,xt]+br)

(3)

zt=σ(wz·[ht-1,xt]+bz)

(4)

(5)

(6)

2 网络入侵检测模型研究

2.1 1DCNN-GRU混合模型

1DCNN-GRU混合模型的结构与参数配置如表1所示,其中:1DCNN为一维卷积层,MPool1D为最大一维池化层;GRU(32)为门控递归单元网络层,其中32为输出维度;Dense_1(128)为第一个全连接层,其中128为输出维度;Dense_2(2)为第二个全连接层,Dense_2作为最后一个全连接层将预测结果分类输出,2为输出维度即输出为2分类;filters为卷积核的数目;size为卷积核的时域窗大小或池化窗口大小;d为膨胀卷积的膨胀率;activation为激活函数;“—”表示没有该参数或未设置该参数。

表1 1DCNN-GRU混合模型结构与参数

卷积层的膨胀率设为2,将卷积层卷积方式改为膨胀卷积。膨胀卷积是标准卷积的一种改进形式,CNN在处理数据时通过多次卷积和池化操作增大模型的感受野,而膨胀卷积(Dilated Convolution) 与标准的卷积不同,膨胀卷积在卷积核中增加一些空洞,从而扩大模型的感受野。膨胀卷积以膨胀率来指定核元素之间的0的数量。因此,应用膨胀率可以增加有效核尺寸。膨胀卷积与标准卷积的区别如图2和图3所示,采用3×3的卷积核(kernel),膨胀率(dilation rate)表示卷积核的间隔。膨胀率为1时表示卷积核间没有间隔,为标准卷积,卷积核的感受野为3×3;膨胀率为2时表示卷积核间的间隔为1,有效卷积核为5×5,卷积核的感受野为7×7。可以看出,膨胀卷积在增大感受野的同时并保持提取的特征图的尺寸与标准卷积的特征图一致。应用膨胀卷积扩大了模型的感受野,因此模型可以提取长距离特征信息。

图2 标准卷积

图3 膨胀卷积

1DCNN-GRU混合模型由8层网络构成,GRU置于一维卷积神经网络的池化层和全连接之间。四层卷积层通过膨胀卷积的方式对输入的数据进行特征提取,两层池化层将卷积层输出的特征数据进行压缩降维,经过二次压缩的特征数据作为GRU层的输入,GRU利用重置门和更新门对特征数据进行进一步的筛选,去除冗余信息,保留具有类别区分性的特征信息,Dense_1层中的每个神经元与GRU层的所有神经元全连接进行特征加权,Dense_2层利用Softmax函数进行分类输出。

2.2 模型训练

在训练神经网络模型时,如果数据集中不同类别的样本不均衡,容易导致模型陷入过拟合,神经网络模型注重拟合样本较多的类别而忽略样本较少的类别。本文通过添加高斯噪声(Gaussian Noise,GNoise)到输入样本防止模型过拟合。每次训练神经网络模型时,将高斯噪声随机添加到输入样本,使得输入模型的数据每次都不同,神经网络模型无法记住训练样本,从而提高模型从输入空间中学习映射规则的能力,增强网络的鲁棒性。训练模型时的模型结构与数据如表2所示,其中GNoise(n)为高斯噪声层,n为高斯噪声的标准差。

表2 训练模型时的模型结构与数据

样本添加的高斯噪声的分布概率密度计算公式为:

(7)

式中:μ为均值;σ为标准差。

2.3 网络入侵检测流程

基于1DCNN-GRU混合模型的网络入侵检测流程如图4所示,可分为以下几个步骤:

图4 网络入侵检测流程

(1) 选取UNSW- NB15样本集。

(2) 对样本集做数据预处理并将数据集划分为训练集和测试集。

(3) 样本集用于训练模型,训练模型时的模型结构详见表2,在训练的过程中利用Adam优化器更新模型的网络参数,使其逼近或达到最优值。

Adam优化更新模型参数过程如下:

初始化一阶和二阶矩变量s=0,r=0,初始化时间步t=0。输入m个样本{x(1),x(2),…,x(m)},对应目标为y(i)。

计算梯度:

(8)

t←t+1

(9)

更新有偏一阶矩估计和有偏二阶矩估计:

s←β1s+(1-β1)g

(10)

r←β2r+(1-β2)g2

(11)

修正一阶矩的偏差和二阶矩的偏差:

(12)

(13)

更新网络参数:

(14)

θ←θ+Δθ

(15)

式中:α为学习速率;β1和β2为矩估计的指数衰减速率,β1,β2∈[0,1];δ为极小常数。

(4) 当模型的训练次数达到预设的迭代次数则保存模型在训练实验中的最优网络参数,利用测试集测试1DCNN-GRU模型性能,最终将测试结果输出。

3 实 验

3.1 数据集

本文实验采用的是UNSW-NB15数据集,它是由澳大利亚网络安全中心(ACCS)的实验室在2015年创建的,包含了正常网络行为和9类攻击。攻击类型分别为模糊测试、渗透分析、后门、拒绝服务攻击、漏洞利用、泛型攻击、踩点、shellcode和蠕虫。这些攻击包含了近年才出现的攻击手段,比KDDcup99数据集更适用于网络入侵检测的研究[19]。

本文实验采用了257 673条数据,其中:训练集包含175 341条数据;测试集包含82 332条数据。训练集和测试集的样本数据如表3所示。

表3 训练集和测试集样本

3.2 数据预处理

UNSW-NB15数据集每条数据包含44个特征,其中:1至30的特征是从数据包中综合收集的信息,数据包生成的附加特性进一步分为两个部分,分别为连接特征和通用特征;31至37的特征为连接特性;38至42的特征为通用特征;43至44的特征为标签特征,用于标记正常数据和攻击类型。

本文实验采用绝对值最大标准化方法对训练集和测试集中的数据特征做数据预处理,计算公式如式(16)所示。

(16)

绝对值最大标准化方法将每个特征数据调整到[-1,1]的范围,它根据每个特征内的最大绝对值来划分数据,它不会移动和聚集数据,因此不会破坏数据的稀疏性。

3.3 实验结果与分析

用准确率(AC)、漏报率 (FPR)、误报率 (FNR)等指标来评价1DCNN-GRU网络入侵检测模型的性能。公式如下:

(17)

(18)

(19)

式中:TP表示待分类样本为正,分类后标记为正;TN表示待分类样本为负,分类后标记为负;FP表示待分类样本为负,分类后标记为正;FN表示待分类样本为正,分类后标记为负。

为了提高模型的泛化能力,进行对优化器和学习速率的调整实验,实验结果如图5和图6所示。实验对SGD、Adagrad、RMSprop、Adamax和Adam优化器的性能进行了对比,由图5可看出,训练模型时使用Adam优化器效果最好、准确率最高。选定Adam优化器后,对优化器的学习速率进行调整,由图6可看出,当学习速率为0.001时检测效果最好。学习速率过小会导致模型陷入过拟合;学习速率过大会导致模型欠拟合。根据实验结果选定Adam优化器优化模型的网络参数并将Adam优化器的学习速率设置为0.001。

图6 学习速率对检测准确率的影响

为了增强网络的鲁棒性,在训练模型时添加高斯噪音。添加高斯噪声(GNoise)与不添加高斯噪声(None-GNoise)进行实验对比,实验对比结果如表4所示。

表4 GNoise与None-GNoise实验对比(%)

可以看出,在训练模型时加入GNoise层,模型检测的准确率比None-GNoise提高了5.1百分点且误报率降低了12.58百分点。None-GNoise模型的高误报率是由两种样本的不均衡导致的,导致模型过度拟合攻击样本,将正常行为误报为攻击行为。而加入GNoise显著降低了模型的误报率,虽然这使得漏报率更高,但影响更小。实验结果表明,在训练模型时加入GNoise有助于增强网络的鲁棒性,提高检测的准确率和防止过拟合。

1DCNN-GRU混合模型与1DCNN模型都采用UNSW-NB15数据集做网络入侵检测实验,实验结果如表5所示。结果表明,1DCNN-GRU混合模型与单一的1DCNN模型相比检测的准确率更高,虽然它们对网络攻击的漏报率相差无几,但是1DCNN-GRU混合模型的误报率比1DCNN模型降低了5.57百分点。这表明1DCNN-GRU混合模型比1DCNN模型更有利于提取具有类别区分性的特征信息,使分类效果更好,从而提高了模型的检测性能。

表5 1DCNN-GRU与1DCNN模型实验对比(%)

为了进一步验证本文提出的1DCNN-GRU网络入侵检测混合模型的性能,在使用相同数据集的情况下与其他文献的算法进行对比,对比结果如表6所示。与SVM相比,本文提出的1DCNN-GRU混合模型检测的准确率提高了5.13百分点,误报率降低了10.04百分点。与DRL、遗传算法逻辑回归(Genetic Algorithm Logistic Regression,AG-LR)[20]相比,1DCNN-GRU混合模型对入侵检测的准确率也有了明显的提升。

表6 检测性能对比(%)

4 结 语

本文将一维卷积神经网络和门控循环单元网络融合构建了一个1DCNN-GRU混合模型,通过改变一维卷积神经网络的卷积方式,加入高斯噪声层训练模型,调整优化器和学习速率提高模型的学习能力,优化模型。实验结果表明,本文方法能有效提高网络入侵检测的准确率并降低检测的误报率。

猜你喜欢

卷积神经网络样本
基于3D-Winograd的快速卷积算法设计及FPGA实现
用样本估计总体复习点拨
神经网络抑制无线通信干扰探究
从滤波器理解卷积
推动医改的“直销样本”
基于傅里叶域卷积表示的目标跟踪算法
随机微分方程的样本Lyapunov二次型估计
基于神经网络的拉矫机控制模型建立
村企共赢的样本
复数神经网络在基于WiFi的室内LBS应用