基于多阶段特征选择和CNN‑GRU的网络入侵检测模型

王相月, 赵利辉

中北大学学报(自然科学版) ›› 2024, Vol. 45 ›› Issue (01) : 66 -73.

PDF (1240KB)
中北大学学报(自然科学版) ›› 2024, Vol. 45 ›› Issue (01) : 66 -73. DOI: 10.3969/j.issn.1673-3193.2024.01.009
自动化与计算机

基于多阶段特征选择和CNN‑GRU的网络入侵检测模型

作者信息 +

Network Intrusion Detection Model Based on Multi‑Stage Feature Selection and CNN‑GRU

Author information +
文章历史 +
PDF (1268K)

摘要

针对网络入侵检测数据中冗余特征多导致入侵检测准确率低的问题,本文提出了一种基于多阶段特征选择和CNN-GRU的网络入侵检测模型。首先,针对数据集的特征冗余,结合皮尔逊相关系数(PCC)和随机森林(RF)构建PCC-RF特征选择算法进行多阶段特征选择,构造最优特征子集。其次,利用卷积神经网络(CNN)对空间特征的强大提取能力和门控循环单元(GRU)的优秀时序特征提取能力,构建CNN-GRU模型。最后,将最优特征子集输入到CNN-GRU模型中进行训练。使用UNSW-NB15数据集进行实验,实验结果表明:数据集在经过PCC-RF特征处理算法后,维度更低,效果更佳,本文所提模型检测准确率达到84.72%。

Abstract

A network intrusion detection model based on multi-stage feature selection and CNN-GRU is proposed to address the problem of low accuracy of intrusion detection due to redundant features of network intrusion detection data. Firstly, for the feature redundancy of the data set, the PCC-RF feature selection algorithm is constructed by combining Pearson correlation coefficient and random forest for multi-stage feature selection and constructing the optimal feature subset. Then the CNN-GRU model is constructed by using the powerful extraction capability of convolutional neural network for spatial features and the excellent temporal feature extraction capability of gated recurrent units. Finally, the optimal feature subset is input into the CNN-GRU model for training. Experiments are conducted by using the UNSW-NB15 dataset, and the experimental results show that the dataset, after the PCC-RF feature processing algorithm, has lower dimensionality and better results compared with other methods. The model detection accuracy reaches 84.72%.

Graphical abstract

关键词

网络入侵检测 / 特征选择 / 卷积神经网络 / 门控循环单元

Key words

引用本文

引用格式 ▾
王相月, 赵利辉. 基于多阶段特征选择和CNN‑GRU的网络入侵检测模型[J]. 中北大学学报(自然科学版), 2024, 45(01): 66-73 DOI:10.3969/j.issn.1673-3193.2024.01.009

登录浏览全文

4963

注册一个新账户 忘记密码

0 引 言

互联网被广泛运用在生产生活的各个方面,已经成为支撑当今社会快速高效运转的底层驱动力,对国家经济与社会发展都起到了重要作用。与此同时,各种网络安全问题层出不穷,严重危害着人们正常生产和生活秩序。针对网络安全问题的研究越来越重要,网络入侵检测系统(Network intrusion detection system)作为一种能高效、实时检测网络攻击的方法,对维护网络安全起到了巨大作用,具有很高的研究价值。

伴随着网络技术的不断发展,网络入侵检测也经历了多次迭代。基于数据来源的角度,可以将入侵检测系统划分为基于主机的入侵检测和基于网络的入侵检测。基于检测技术的角度,可以将入侵检测系统划分为基于误用的入侵检测和基于异常的入侵检测1。从数据来源和检测技术两个角度同时来看,基于网络的异常入侵不仅发生次数多、难以检测,而且危害巨大。现有基于网络的异常入侵检测方法中,既有基于机器学习的检测和基于深度学习的检测,也有基于强化学习等新技术的检测。

在使用机器学习进行入侵检测方面,任家东等2采用KNN离群点检测算法先从原始数据集中获取一个高质量的小型训练数据集,然后结合类别检测分组方法构建多层次的随机森林模型进行网络异常检测,提高了异常类型的检测准确率。高兵等3提出了基于麻雀搜索算法的改进粒子群优化(SSAPSO)算法对轻量级梯度提升机(Light GBM)进行参数寻优,在保证寻优精度的同时快速收敛,提高了网络入侵检测的准确率。Ahmed 等4运用综合少数类过采样技术(SMOTE)来解决数据集的类别不平衡问题,使随机森林分类模型在网络入侵检测中的检测精度得到了进一步提高。Chen等5将袋装树运用于网络入侵检测中,提出的基于袋装树的入侵检测模型比其它使用机器学习分类器算法的入侵检测模型具有更高的准确率和更低的误报率。

机器学习需要大量的专业知识来进行人工特征选择等,而当前的网络入侵数据集数据量大、相关特征多,所以机器学习的入侵检测能力无法应对,而深度学习具有强大的特征学习能力,能解决这些问题。Diaba等6提出了一种混合深度学习算法,通过融合卷积神经网络和门控递归单元并行提取的特征再进行检测,有效提高了分布式拒绝服务攻击的检测率。Aldarwbi等7将流量特征转化为频率特征,并利用先进的基于音频识别的深度学习技术检测网络入侵,提高了入侵检测精度。Milosevic 等8实现了用于入侵检测的深度神经网络,并调整超参数分析了不平衡数据中少数类的检测性能,大大提高了少数类的检测效果。Kurni等9针对大数据环境下深度入侵检测效果差的问题,提出了一种基于鳐鱼政治优化的深度超限网络,有效提高了入侵检测准确率。

使用机器学习和深度学习进行入侵检测的方法虽然具有一定的效果,但是使用特征多,在数据集较大时不能很好地平衡资源消耗与检测准确率。另外,单一的深度学习模型对入侵检测数据集特征提取不充分,检测效果欠佳。

本文提出基于多阶段特征选择和CNN-GRU的网络入侵检测模型,主要工作包括:1) 提出PCC-RF特征选择算法在UNSW-NB15数据集10基础上进行多阶段特征选择,构建最优特征子集;2) 构建CNN-GRU模型进行数据特征的学习;3) 通过实验确定CNN-GRU模型的最佳参数,并验证了模型结构的合理性和检测效果的优越性。本研究为最优特征集的构建提供了一种新方法,证明了结合CNN和GRU的混合深度模型比单一的深度学习模型在入侵检测数据特征提取上具有更好的效果,为不断迭代的网络入侵提供了一种新的检测方式。

1 PCC-RF特征选择模型

1.1 皮尔逊相关系数

皮尔逊相关系数(Pearson correlation coefficient,PCC)r是用来衡量两个变量之间相关程度的值,其范围为(-1,1),绝对值越接近1,说明变量相关性越强。

长度为n的样本集{x1,x2,,xi,,xn}和{y1,y2,,yi,,yn}的相关系数计算公式为

r=i=1n(Xi-X¯)(Yi-Y¯)i=1n(Xi-X¯)2i=1n(Yi-Y¯)2,

式中:X¯Y¯分别是样本集的均值。

1.2 随机森林

随机森林11(Random forest,RF)是集成学习的一种,由多个决策树组合而成,既可以执行回归任务,也可以执行分类任务。随机森林分类过程如图 1 所示。

1) 假如总数据集R中共有N个样本,那么每次随机选择N个样本。选中的样本用来训练1个决策树,作为决策树根节点处的样本。

2) 若每个样本有M个属性,在决策树的每个节点需要分裂时,随机从这M个属性中选取出m个属性,满足条件m≪M。然后,从这m个属性中采用某种方法来选择1个属性作为该节点的分裂属性。

3) 在单个决策树形成过程中,每个节点都按照步骤2)来分裂,直到没有属性可以分裂。

4) 按照步骤1)~3)形成k个决策树,它们共同组合起来就是随机森林。

5) 统计所有决策树的分类结果,出现次数最多的类别,就是随机森林模型的分类结果。

1.3 PCC-RF特征选择模型

首先,数据集中的特征有一部分具有很强的相关性,在进行后续学习时高相关特征不仅对训练效果没有明显提升,而且会造成资源浪费。PCC是一种计算特征相关性的有效方法,所以本文利用皮尔逊相关系数计算出各个特征之间的相关性值,删除大于阈值的高相关特征,这样能够有效提升训练效果,并减少计算开销。

其次,数据集中的噪声特征也会在训练时降低模型的训练效果,利用RF算法对数据进行训练可以获取各个特征的重要程度值,将大于阈值的特征定义为噪声特征,并将其去除,能够提高模型训练效果。

本文结合皮尔逊相关系数和随机森林提出PCC-RF算法进行多阶段特征选择。先利用PCC计算原始数据集中特征间的相关性,根据阈值去除高相关的特征,保留其余特征。然后,将保留的数据输入RF模型进行训练获取特征的重要程度,根据阈值保留部分重要特征构建最优特征子集。

PCC-RF特征选择模型负责读取数据,对数据集进行数据预处理,然后利用PCC-RF算法对原始数据集进行数据降维,构建出最优特征子集。

2 CNN-GRU模型

2.1 卷积神经网络

卷积神经网络(Convolutional neural network, CNN)的结构可以被分为输入层、卷积层、池化层和全连接层。CNN结构如图 2 所示。

卷积层的作用是使用过滤器对输入的数据进行特征提取,然后输出给池化层。池化层的作用是在不影响结果的情况下,减少卷积层输出数据的规模,也就是下采样。全连接层主要用来对卷积层和池化层输出的特征进行分类。

2.2 门控循环单元

门控循环单元12(Gate recurrent unit,GRU)是长短期记忆神经网络13(Long-short term memory, LSTM)的一个变体,与LSTM结构相似,拥有更新门和重置门,但GRU一个门控就可以实现LSTM需要多个门控才可以实现的遗忘和记忆操作,所以参数比LSTM少,但是效果却和LSTM一样。GRU结构如图 3 所示。

GRU原理为

zt=σWz[ht-1,xt],
rt=σWr[ht-1,xt],
ht'=tanhW[ht-1 · rt,xt],
ht=1-ztht-1+ztht',

式中:zt是更新门;rt是重置门;ht'是当前时间步t的记忆内容;ht是当前时间步t的最终记忆内容;xt是当前时间步t的输入数据;ht-1保存的是前一个时间步t-1的信息;σ是sigmoid函数; W 是权重矩阵。

2.3 CNN-GRU模型

在对数据集进行特征提取时,CNN具有强大的空间特征提取能力,而GRU具有结构简单和时间特征提取能力强的优点。为了充分提取数据集中的特征信息,本文将CNN和GRU结合起来构建了CNN-GRU模型,依次提取数据集的空间特征和时间特征。

CNN-GRU模型主要由CNN、GRU和全连接神经网络组成,包含1个输入层、1个卷积层、1个池化层、1个Flatten层、1个GRU层和1个使用softmax作为激活函数的全连接层,如图 4 所示。

卷积层使用一维CNN,参数filters为16,kernel_size为3,strides为2,padding为same,使用rule作为激活函数。GRU层有64个神经元。模型使用交叉熵计算损失,使用adam优化器进行优化。

深度学习模型使用浮点数计算量FLOPs(FLoating-point OPerations)来表示时间复杂度,而模型的空间复杂度用模型的参数量表示。本文模型中的时间复杂度和空间复杂度主要受模型中单个CNN、单个GRU和最后的全连接层影响。利用tensorflow框架的profiler对模型的浮点数计算量和参数量进行计算,本文模型的时间复杂度约为86 300 FLOPs,空间复杂度约为38 000。由此可知,本文模型的时间复杂度和空间复杂度都较小,能够很好地节约资源,提高入侵检测速度。

3 基于多阶段特征选择和CNN-GRU的网络入侵检测模型

3.1 模型结构

基于多阶段特征选择和CNN-GRU的网络入侵检测模型(PCC-RF-CNN-GRU)如图 5 所示,主要由PCC-RF特征选择模型和CNN-GRU模型组成。

3.2 入侵检测流程

基于多阶段特征选择和CNN-GRU的网络入侵检测流程如图 6 所示。

3.2.1 数据预处理

1)类型转换。通过分析发现,数据集中含有4个字符型特征,分别是proto、service、state和attack_cat,它们无法被直接使用,需要进行类型转换,利用Python的类别型变量category将其替换成数值特征。

2)归一化。进行归一化操作能够加快梯度下降求最优解的速度,提高模型的精度。本文使用标准差标准化进行归一化,标准差标准化可以使转换后的数据符合标准正态分布,公式为

x*=x-μσ,

式中:μ是全体样本数据的均值;σ是全体样本数据的标准差。

3.2.2 特征选择

利用PCC-RF算法进行多阶段特征选择,并通过仿真实验确定最佳相关系数阈值为0.9和最佳重要程度阈值为0.01,至此将数据集从44维降低到21维,构建出最优特征子集。

3.2.3 高维特征提取

通过构建CNN-GRU模型将CNN和GRU的优势结合起来,将最优特征子集输入到CNN-GRU模型中提取出高维特征,用于后续分类。

3.2.4 分类

先对获取的高维特征进行降维操作,然后使用一层全连接神经网络对提取的高维特征进行分类,检测各种网络攻击。

4 实验与分析

为了验证模型的效果,实验使用sklearn和keras框架。实验环境为Window 10操作系统,Intel(R) Core(TM) i7-6500U CPU @2.50 GHz,AMD Radeon (TM) R7 M360,RAM 16 GB。

4.1 数据集与评估标准

4.1.1 数据集

实验使用新南威尔士大学UNSW-NB15入侵检测数据集,原始数据集包含被分为训练集和测试集的两个CSV文件,因此,本文使用官方训练集和测试集分别用作模型的训练和测试。

该数据集总共包含10种类别,训练集包含82 332条数据,测试集包含175 341条数据,数据集样本分布状况如表 1 所示。数据集包含45个特征,其中数值型特征41个,符号型特征4个。该数据集包含真实的网络活动,被作为基准数据集广泛应用于各种网络入侵检测研究之中。

4.1.2 评估标准

为了评估本文模型的效果,使用准确率Accuracy、精准度Precision、召回率RecallF1值作为评估指标。准确率可计算分类正确的样本与总样本的比值;精准度表示预测为正的样本与其中实际正样本的比例;召回率表示预测为正的样本与实际正样本的比值;F1值是召回率和精准度的调和平均。

Accuracy=TP+TNTP+TN+FP+FN,
Precision=TPTP+FP,
Recall=TPTP+FN,
F1=2Recall · PrecisionRecall+Precision,

式中:TP为正确预测为正样本的数量;FP为错误预测为正样本的数量;TN为正确预测为负样本的数量;FN为错误预测为负样本的数量。

4.2 实验结果与分析

4.2.1 参数实验

在PCC-RF特征选择算法中,特征相关系数阈值和特征重要程度阈值直接决定最优特征子集的构建,本文通过对比多组实验效果确定最佳参数,实验结果如表 2表 3 所示。通过分析特征相关系数,以0.5~0.9为范围,每次递增0.1,进行多组实验。由表 2 可知,实验准确率随阈值变化呈现先增后减的趋势,在阈值为0.9时具有最高的准确率82.39%,故确定最佳相关系数阈值为0.9。

根据随机森林获取的特征重要性状况,由小到大依次选择0.001,0.005,0.01,0.05和0.1作为重要程度阈值。由表 3 可知,实验准确率随重要程度阈值增大出现先增后减的趋势,在阈值为0.01时具有最高的准确率81.82%,所以确定最佳重要程度阈值为0.01。

对于深度学习的过程,超参数对实验效果具有很大的影响,尤其是CNN的过滤器数量和GRU的单元数,所以针对这两个参数,本文通过多组实验来寻找最佳参数,以确保获取最佳检测效果。

为了确定最佳CNN过滤器数量,在1~128之间以2次幂的频率逐步增加CNN过滤器数量进行多组仿真实验,实验结果如表 4 所示。由表 4 可知,随着CNN过滤器数量不断增加,实验准确率出现先增后减的趋势,并在CNN过滤器数量为16时表现出最佳准确率83.06%,因此,确定最佳CNN过滤器数量为16。

为了确定最佳GRU单元数,在1~256之间以2次幂的频率增加GRU单元数进行多组仿真实验,实验结果如表 5 所示。随着GRU单元数增加,实验准确率出现先增加后减小的趋势,并在GRU单元数为64时表现出最佳准确率84.17%,因此,确定最佳GRU单元数为64。

4.2.2 消融实验

为了证明CNN-GRU模型结构的优势,使用CNN-GRU、CNN和GRU分别在最优特征子集上进行实验,如表 6 所示。实验结果表明,本文的CNN-GRU模型比CNN模型和GRU的模型具有更高的检测准确率和F1值,证明了本文模型比CNN模型和GRU模型具有明显优势。

4.2.3 对比实验

随机森林、决策树(Decision tree,DT)、逻辑回归(Logistic regression,LR)和K近邻(K-Nearest neighbor,KNN)都是常见机器学习算法14-15。将本文所提模型与这些机器学习算法对比,结果如表 7图 7 所示。RF准确率是77.06%,DT准确率是44.20%,LR准确率是77.62%,KNN准确率是74.92%,它们的准确率都低于本文方法的84.72%,证明本文所提模型在入侵检测方向比传统机器学习算法具有优势。

关于网络入侵检测的研究,部分学者基于UNSW-NB15数据集进行了仿真实验。本文通过仿真现有相关模型,并与之对比,结果如表 8图 8 所示。Jiang等16提出的OSS-SMOTE-CNN-BiLSTM模型准确率达到77.16%,Wang 等17提出的SDAE-ELM模型准确率达到72.38%,Dina等18的CTGANSamp-DT模型准确率达到67.31%。由表 8图 8 可知这3个模型的准确率和F1值均低于本文模型,故本文模型具有较好地检测效果。

5 结 论

本文提出的PCC-RF特征选择算法在特征选择阶段减少了高相关特征和噪声特征的数量,提高了模型的的训练速度和资源消耗。本文设计了CNN-GRU模型提取数据的高维特征,提高了入侵检测的效果。本文所提模型的检测准确率达到84.72%。

参考文献

[1]

蹇诗婕,卢志刚,杜丹,.网络入侵检测技术综述[J].信息安全学报20205(4):96-122.

[2]

JIAN Shijie, LU Zhigang, DU Dan,et al.A review of network intrusion detection techniques[J].Journal of Cyber Security, 2020, 5(4): 96-122. (in Chinese)

[3]

任家东,刘新倩,王倩,.基于KNN离群点检测和随机森林的多层入侵检测方法[J].计算机研究与发展201956(3):566-575.

[4]

REN JiadongLIU XinqianWANG Qianet al.A multilayer intrusion detection method based on KNN outlier point detection and random forest[J].Journal of Computer Research and Development201956(3):566-575.(in Chinese)

[5]

高兵,郑雅,秦静,.基于麻雀搜索算法和改进粒子群优化算法的网络入侵检测算法[J].计算机应用202242(4):1201-1206.

[6]

GAO BingZHENG YaQIN Jinget al.Network intrusion detection algorithm based on sparrow search algorithm and improved particle swarm optimization algorithm[J].Journal of Computer Applications202242(4):1201-1206.(in Chinese)

[7]

AHMED H AHAMEED ABAWANY N Z.Network intrusion detection using oversampling technique and machine learning algorithms[J].PeerJ Computer Science20228:e820.

[8]

CHEN P TLI FLI J T.Research on Intrusion Detection Model Based on Bagged Tree[C]//2021 IEEE Conference on Telecommunications,Optics and Computer Science (TOCS).2021:579-582.

[9]

DIABA S YELMUSRATI M.Proposed algorithm for smart grid DDoS detection based on deep learning[J].Neural Networks2023159:175-184.

[10]

ALDARWBI M YLASHKARI A HGHORBANI A A.The sound of intrusion:A novel network intrusion detection system[J].Computers and Electrical Engineering2022104:108455.

[11]

MILOSEVIC M SCIRIC V M.Extreme minority class detection in imbalanced data for network intrusion[J].Computers & Security2022123:102940.

[12]

KURNI MMD M SYANNAM B Bet al.MRPO-Deep maxout:Manta ray political optimization based Deep maxout network for big data intrusion detection using spark architecture[J].Advances in Engineering Software2022174:103324.

[13]

MOUSTAFA NSLAY J.UNSW-NB15:a comprehensive data set for network intrusion detection systems(UNSW-NB15 network data set)[C]//2015 Military Communications and Information Systems Conference (MilCIS).2015:1-6.

[14]

BREIMAN L.Random forests[J].Machine Learning200145(1):5-32.

[15]

CHUNG JGULCEHRE CCHO K Het al.Empirical evaluation of gated recurrent neural networks on sequence modeling[J].2014,arXiv.1412.3555.

[16]

HOCHREITER SSCHMIDHUBER J.Long short-term memory[J].Neural Computation19979(8):1735-1780.

[17]

QUINLAN J R.C4.5:programs for machine learning[M].New York:Elsevier,2014.

[18]

HOSMER D WLEMESHOW S.Applied logistic regression[M].Hoboken:Wiley,1989.

[19]

JIANG K YWANG W YWANG A Let al.Network intrusion detection combined hybrid sampling with deep hierarchical network[J].IEEE Access20208:32464-32476.

[20]

WANG Z DLIU Y DHE D Det al.Intrusion detection methods based on integrated deep learning model[J].Computers & Security2021103:102177.

[21]

DINA A SSIDDIQUE A BMANIVANNAN D.Effect of balancing data using synthetic data on the performance of machine learning classifiers for intrusion detection in computer networks[J].IEEE Access202210:96731-96747.

AI Summary AI Mindmap
PDF (1240KB)

457

访问

0

被引

详细

导航
相关文章

AI思维导图

/