基于深度卷积神经网络的入侵检测系统设计
2022-04-27程艳艳
程艳艳
(郑州工业应用技术学院 信息工程学院,郑州 451100)
随着信息化时代的来临,网络已成为人们日常生活不可或缺的一部分,给我们的工作、学习提供了诸多方便,但另一方面互联网规模的扩大带来了海量数据的传输以及资源开放共享,使得网络攻击行为越来越多,网络安全防护已成为未来网络发展的重点[1].计算机网络防御系统主要由4个模块组成,包括防御模块、检测模块、应对模块以及恢复模块.防御模块是被动形式的防线,不能灵活地应对复杂多变的网络攻击,只能对已有的攻击行为进行防御;相对于被动的防御,入侵检测模块则是通过主动扫描外部行为数据,判读数据的合法性,同时检查系统的完整性和机密性,进而做出应对决策.但是由于网络规模的庞大,以及攻击行为的多变,给传统的入侵检测系统带来了极大挑战.深度卷积神经网络具有强大的特征提取以及数据分析能力,能够通过学习复杂行为特征得到原始数据间的关联规则,进而区分正常行为和攻击行为,提高网络入侵检测的准确性和时效性,构建网络安全防护系统[2].
1 网络安全与入侵检测
1.1 入侵检测过程
入侵检测是对网络系统中未授权或不符合已知行为过程的识别和响应,主要由3部分构成,分别为数据收集、数据分析和系统响应[3].根据收集到的攻击数据来源不同,可以将入侵检测系统划分为两类,分别为针对传输网络以及针对系统主机的攻击行为;数据分析,则是通过对收集的数据与模式数据库进行匹配得出关联特征,来区分正常行为和入侵行为,并及时将入侵行为以告警的形式传输给响应单元,最终系统做出响应,并根据响应等级做出保护措施[4].入侵检测系统过程如图1所示.
图1 入侵检测过程
1.2 入侵检测系统模型
网络异常主要由两方面引起:一类是系统软硬件本身的损坏带来的网络阻塞等异常行为,这种情况比较简单可以通过对交换机、路由器等硬件进行排查处理;另一类则是指遭受网络攻击入侵带来的网络安全异常,需要对数据源进行统计分析,进行深度学习并建立分类模型,进而识别攻击行为,具有更高的主动性和智能性,因此是我们研究的重点[5].入侵检测系统模型根据网络异常阶段不同,可以分为通用模型(Denning)、层次化模型(IDM)以及管理式模型(IDSM)[6].通用型(Denning)入侵检测没有考虑系统漏洞的存在,只通过判断主体行为与系统规则的符合性来定义入侵行为,准确性不高;层次化模型(IDM)通过分析访问数据,得到数据的抽象过程进而判断入侵行为,但是这种模型只适合数据量小的局部网络,在面对海量数据的大型网络时,检测效率以及系统的泛化性有待考证;管理式入侵检测模型(IDSM)将多个检测系统协同起来,一起合作对入侵行为进行检测提高了检测效率,但是这种模型需要将不同的检测系统融合,对系统的协调能力提出了更高要求,同时不同检测系统之间的互补性无法验证,因此检测模型具有很大的不确定性[7].
1.3 入侵检测系统算法
随着互联网规模的扩大,以及应用范围的多样化,网络攻击和入侵也在不断升级.入侵检测系统算法大致可以分为以下几种类型:(1)基于自动提取网络入侵特征的特征工程检测算法是其中的一个发展方向;(2)针对海量入侵数据的多变性以及抽象性,通过对网络数据进行数据挖掘,进而得到特征数据的关联性,分析入侵行为;(3)通过遗传算法或者神经网络、支持向量机等模型对输入数据进行机器学习,进行智能化入侵检测;(4)对已知数据进行数学计算,通过均值方差和马尔可夫过程,分析正常行为数据和入侵数据之间的差异性,进而判断入侵行为的统计分析方法[8].入侵检测系统算法分类如图2所示.
图2 入侵检测系统算法分类
2 深度学习
2.1 深度学习算法
深度学习模拟人脑机制含有多层感知器和多个隐层,通过对低层特征进行组合得到抽象的高层语义信息,进而发现数据的内在联系以及固有属性,是贪婪算法的一种表现[9].其数学形式表示为,如果有复杂函数log(cos(exp(sin3(x)))),为了得到不同函数间的固有属性,通过深度学习可以将其拆解为多个简单函数sin(x),x3,ex,cos(x),log(x).卷积神经网络(CNN)、深度神经网络(DNN)以及深度置信网络(DBN)是深度学习的典型模型.
2.2 深度学习与卷积神经网络
卷积神经网络作为深度学习的一个重要模型,主要有3个思想来实现特征提取以及数据分析.首先,通过对整体数据进行局部感知减少训练数据的权重参数;继而通过权值共享在整体数据中使用相同的卷积核参数,进一步压缩参数数量;最后通过池化操作降低特征维数,避免维数灾难以及过拟合现象的出现[10].卷积操作数学表示为:
(1)
(2)
式(2)中:采样函数为pool.卷积神经网络通过全连接层实现数据降维,即对池化层和卷积层进行全连接,对学习到的特征做加权和处理,数学表示为:
xl=f(ul)
(3)
ul=Wlxl-1+bl
(4)
式(4)中:ul表示全连接层的净激活函数,l-1层到l层的权重函数为Wl.
3 基于深度卷积神经网络的入侵检测系统设计
3.1 模型设计
基于深度卷积神经网络(CNN)的入侵检测系统模型由数据预处理、转换和预测三个模块组成.对输入的不规则或不可识别数据进行预处理,将其转化为计算机能够识别的数值型数据,同时降低冗余数据对模型的影响是预处理模块的作用,其主要分为三部分:特征提取、属性映射和归一化数据处理;对预处理后的一维数据进行二维化使其符合卷积神经网络的格式需求是转换模块的功能;最后,对卷积神经网络(CNN)数据进行训练,得到预测模块.基于深度卷积神经网络的入侵检测系统组成模块及功能如表1所示.
3.2 实验数据及预处理
实验数据选取:为了验证系统的普遍适用性和稳定性,首先需要选取合适的实验数据集,实验数据集应具有数据量大、种类多以及能够体现网络攻击等特点.本设计采用来自林肯实验室的KDD CUP99数据集作为标准数据集,该数据集模拟真实的网络环境,对不同类型的攻击行为和数据进行仿真,具有典型代表性;同时该数据集数据量大,模拟了500万条数据,每个数据又由3个符号特征和38个数值特征组成,可以将外来数据访问定义为异常攻击和正常访问,异常攻击又分为外部扫描入侵、拒绝服务入侵、未授权本地用户来访以及未授权远程主机来访.
数据预处理:选取合适的实验数据后,对其进行预处理.首先,将符号特征转换为计算机识别的数值形式,通过热编码实现,其Python代码为:
X=data.ix[:,0:41]
X=pd.get_dummies(X)
new_columns=[]
fori in range(1,441):
new_columns.append(i)
X.columns=new_columns
另一方面,由于预处理后数据特征间差异性非常大,因此在不破坏初始数据映射关系的前提下,需要对数据进行归一化处理,本文采用Max-Min方法,数学表示为:
(5)
式(5)中:x为数据特征,Max表示每维特征的最大值,Min为最小值,经过归一化处理后数据特征间差异范围在0到1之间.其Python代码为:
X=data.ix[:0:41]
X=(X-X.min())/(X.max()-X.min())
X.fillna(0,inplace=True)
3.3 算法实现
KDD CUP99数据集经过预处理以后,将一维数据进行二维化使其符合卷积神经网络的格式需求,即卷积神经网络模型输入的数据是将1*41一维特征转换为21*21的二维特征的结果.如果计算机网络含有L级隐层n1,n2,n3,…,nl,每层有m个单元,xi表示数据集的训练样本,则具体算法流程为:
1)对输入数据1*41维进行预处理为21*21维使其符合卷积神经网络的格式需求;
2)对训练样本xi进行多次训练,同时根据训练结果自适应调整模型参数,不断优化系统性能;
3)xi为第一层的输入值,以此类推n1层的输出作为n2层的输入,得到网络隐层间的输出值、权值和偏置函数,并通过隐层输出数据间的关联特征,得出网络的深度即隐含层的数量;
4)利用得到的测试数据对模型进行性能验证,不断重复训练步骤调整系统参数,直到满足系统性能需求,则停止训练;
5)通过检测模型的泛化能力以及准确率,对系统性能进行评估.
4 实验与验证
首先构建仿真所需的实验平台及软硬件环境,Matlab仿真平台内置大量函数便于处理复杂数据,同时能够对复杂的数据进行可视化处理.系统硬件参数为内存64G、主频为3.7GHz的英特I7处理器;软件参数为64位Windows操作系统、Matlab R2020a仿真平台、python语言,数据集采用KDD CUP99其包含500万条完整的数据集.为了加快实验速度,本文选取125 933条数据集作为训练集使用,22 534条数据集作为测试集使用,数据集包含所有样本类别,选取的样本类别符合KDD CUP99数据集的分布规律且具有典型代表性,网络类型样本分布如表2所示.
表2 网络类型样本分布
为了验证本设计与传统检测模型在网络入侵检测上的性能优劣,需要通过模型评价指标进行对比,具体指标采用准确率(ACC)、检出率(DR)和虚警率(FAR),其数学表示为:
ACC=(TP+TN)/(TP+TN+FP+FN)
(6)
DR= TP/(TP+ FN)
(7)
FAR= FP/(TN+FP)
(8)
其中,TP为异常数据预测异常,TN为正常数据预测正常,FP为正常数据预测异常,FN为异常数据预测正常.将本文算法与传统机器学习算法在所有样本类别上进行准确率、检出率和虚警率比较,具体结果如图3所示.
图3 不同模型性能测试
通过图3可知,本文基于深度卷积神经网络的入侵检测系统模型在准确率、检出率和虚警率上都明显优于传统模型,深度卷积神经网络可以更好地挖掘数据特征间的关联特性,为分类器的入侵检测提供判断依据.同时,样本类别基本涵盖了所有情况,说明该模型针对不同样本类别都能够很好地做出甄别,具有一定的普遍适用性.
5 总结展望
随着网络信息化时代的来临,海量高维数据在给人们带来便利的同时,也对计算机网络提出了更高要求,特别是网络入侵的多样化和灾难化,对入侵检测系统提出了更高要求.本文首先分析了入侵检测系统模型及常用算法,在此基础上将深度卷积神经网络与入侵检测结合起来,利用深度卷积神经网络强大的特征提取以及数据分析能力,对网络特征进行提取构建检测模型,并与传统模型在准确率、检出率和虚警率上进行比较,得出本文算法具有一定的优势和普遍适用性.