本申请实施例涉及人工智能技术领域,具体涉及一种入侵检测方法、系统、设备及可读存储介质。
背景技术:
误用检测能够记录已知网络攻击的行为特征,误报率低,但缺乏学习能力,须不断更新匹配数据库,对新攻击的检测效果差;异常检测则能够有效发现未知攻击,但误警率高。
技术实现要素:
为此,本申请实施例提供一种入侵检测方法、系统、设备及可读存储介质,提出一种基于改进深度信念网络的入侵检测模型(dbn-egwo-kelm),针对传统深度信念神经网络中的bp模型由于存在随机初始化权值、阈值等参数,容易陷入局部最优、训练周期过长等不足,本申请实施例首先采用具有监督学习能力的核极限学习机(kernelextremelearningmachine,kelm)代替bp(backpropagation)网络模型,并针对kelm随机初始化核参数等带来分类性能不佳的问题,设计一种基于增强型灰狼算法优化核极限学习机(egwo-kelm)的监督分类算法。在传统灰狼算法的基础上,引入了内层围捕与外层围捕相结合的优化策略,增强算法的搜索能力与寻优能力,提升优化性能。kddcup99、nsl-kdd以及unsw-nb15三个数据集上的实验证明,相比bp、rbf(radialbasisfunction)、svm(supportvectormachine)、kelm、dbn-kelm等入侵检测模型,dbn-egwo-kelm算法在准确率、精确率、真正率、假正率等评价指标上均具有较大优势,能够有效满足复杂网络的入侵检测要求。
为了实现上述目的,本申请实施例提供如下技术方案:
根据本申请实施例的第一方面,提供了一种入侵检测方法,所述方法包括:
步骤1:针对kddcup99、nsl-kdd、unsw-nb15数据集存在的字符特征进行归一化处理,得到数值型数据,形成标准化数据集;
步骤2:定义dbn-egwo-kelm神经网络模型参数;
步骤3:对所述标准化数据集进行预训练,确定网络节点权值,并获得dbn特征降维后的数据;
步骤4:将特征降维后的数据按比例分为训练集、验证集和测试集;其中,将训练集和验证集的数据输入到egwo-kelm有监督分类模型中进行训练,以调整有监督分类模型;
步骤5:利用所述dbn-egwo-kelm神经网络模型对kelm分类器进行参数优化,输出最优e、s参数并应用于所述kelm分类器;
步骤6:形成egwo-kelm有监督分类模型;将训练集和验证集数据输入到egwo-kelm有监督分类模型中进行训练;
步骤7:调整并找到最佳的分类模型,输出最优的egwo-kelm分类模型;
步骤8:输入入侵检测测试集数据并输出结果。
可选地,所述利用所述dbn-egwo-kelm神经网络模型对kelm分类器进行参数优化,输出最优e、s参数并应用于所述kelm分类器,包括:
步骤a:根据tent映射及初始化狼群,设置最大迭代次数;
步骤b:更新狼的位置信息及进行内层及外层围捕策略;
步骤c:使用5-cv方法计算得到交叉验证准确率,并将该值作为个体适应度,以对分类器参数实施评估;
步骤d:判断是否满足迭代停止条件,不满足则转到步骤b,否则输出最优参数及最优模型。
可选地,所述交叉验证准确率按照下列公式计算:
其中,是分类模型在第i折上验证后的准确率,为分类器除去第i折之后的数据集训练得到的分类模型;每个分类模型的分类准确率平均值为交叉验证准确率。
可选地,所述方法还包括:
根据本申请实施例的第二方面,提供了一种入侵检测系统,所述系统包括:
数据预处理模块,用于针对kddcup99、nsl-kdd、unsw-nb15数据集存在的字符特征进行归一化处理,得到数值型数据,形成标准化数据集;
参数定义模块,用于定义dbn-egwo-kelm神经网络模型参数;
dbn特征降维模块,用于对所述标准化数据集进行预训练,确定网络节点权值,并获得dbn特征降维后的数据;
数据分离模块,用于将特征降维后的数据按比例分为训练集、验证集和测试集;其中,将训练集和验证集的数据输入到egwo-kelm有监督分类模型中进行训练,以调整有监督分类模型;
模型训练模块,用于利用所述dbn-egwo-kelm神经网络模型对kelm分类器进行参数优化,输出最优e、s参数并应用于所述kelm分类器;形成egwo-kelm有监督分类模型;将训练集和验证集数据输入到egwo-kelm有监督分类模型中进行训练;调整并找到最佳的分类模型,输出最优的egwo-kelm分类模型;
测试模块,用于输入入侵检测测试集数据并输出结果。
可选地,所述模型训练模块,具体用于:
所述利用所述dbn-egwo-kelm神经网络模型对kelm分类器进行参数优化,输出最优e、s参数并应用于所述kelm分类器,包括:
根据本申请实施例的第三方面,提供了一种设备,所述设备包括:数据采集装置、处理器和存储器;所述数据采集装置用于采集数据;所述存储器用于存储一个或多个程序指令;所述处理器,用于执行一个或多个程序指令,用以执行第一方面任一项所述的方法。
根据本申请实施例的第四方面,提供了一种计算机可读存储介质,所述计算机存储介质中包含一个或多个程序指令,所述一个或多个程序指令用于执行如第一方面任一项所述的方法。
综上所述,本申请实施例提供了一种入侵检测方法、系统、设备及可读存储介质,针对传统深度信念神经网络中的bp模型由于存在随机初始化权值、阈值等参数,容易陷入局部最优、训练周期过长等不足,本申请实施例首先采用具有监督学习能力的核极限学习机(kernelextremelearningmachine,kelm)代替bp(backpropagation)网络模型,并针对kelm随机初始化核参数等带来分类性能不佳的问题,设计一种基于增强型灰狼算法优化核极限学习机(egwo-kelm)的监督分类算法。在传统灰狼算法的基础上,引入了内层围捕与外层围捕相结合的优化策略,增强算法的搜索能力与寻优能力,提升优化性能。kddcup99、nsl-kdd以及unsw-nb15三个数据集上的实验证明,相比bp、rbf(radialbasisfunction)、svm(supportvectormachine)、kelm、dbn-kelm等入侵检测模型,dbn-egwo-kelm算法在准确率、精确率、真正率、假正率等评价指标上均具有较大优势,能够有效满足复杂网络的入侵检测要求。
附图说明
为了更清楚地说明本发明的实施方式或现有技术中的技术方案,下面将对实施方式或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是示例性的,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图引伸获得其它的实施附图。
本说明书所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定本发明可实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本发明所能产生的功效及所能达成的目的下,均应仍落在本发明所揭示的技术内容能涵盖的范围内。
图1为本申请实施例提供的深度信念网络框架;
图2为本申请实施例提供的rbm结构;
图3为本申请实施例提供的深度信念网络结构;
图4为本申请实施例提供的灰狼社会等级;
图5为本申请实施例提供的灰狼群体的内外层围捕;
图6为本申请实施例提供的灰狼位置更新;
图7为本申请实施例提供的算法测试结果图;
图8为本申请实施例提供的结合5-cv与egwo的参数优化;
图9为本申请实施例提供的参数e,s的选择对分类准确率的影响;
图10为本申请实施例提供的dbn-egwo-kelm结构;
图11为本申请实施例提供的dbn-egwo-kelm入侵检测流程;
图12为本申请实施例提供的网络性能图;
图13为本申请实施例提供的评价指标;
图14为本申请实施例提供的kddcup99的t-sne可视化;
图15为本申请实施例提供的nsl-kdd的t-sne可视化;
图16为本申请实施例提供的unsw-nb15的t-sne可视化;
图17为本申请实施例提供的kddcup99上的多分类实验结果;
图18为本申请实施例提供的nsl-kdd上的多分类实验结果;
图19为本申请实施例提供的unsw-nb15上的多分类实验结果;
图20为本申请实施例提供的入侵检测方法流程示意图;
图21为本申请实施例提供的入侵检测系统框图。
具体实施方式
以下由特定的具体实施例说明本发明的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本发明的其他优点及功效,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
深度神经网络作为神经网络的最新发展,能够对数据逐层进行特征提取,形成理想分类特征,对于高维数据具有极强分类能力。hinton等在2006年使用深度学习模型对mnist数据集成功降维与分类,并发现具有深层神经网络结构的网络模型能够发现数据集中更为本质与深刻的数据特征。与此同时,深度学习在控制领域、自然语言处理、情感分析等领域也都取得了丰富成果,证明了深度学习在数据分类领域的巨大潜力。对此,有学者提出将深度学习应用于网络安全领域。
第一方面,对本申请实施例涉及的深度信念网络dbn进行详细介绍。
深度信念网络于2006年由hinton等提出,其由多个受限玻尔兹曼机(restrictedboltzmannmachine,rbm)堆叠而成。该网络首先采用对比散度(contrastivedivergence,cd)算法对堆叠的rbm进行无监督训练,然后利用bp(backpropagation)算法对整个dbn网络中的节点参数微调。
结构如图1所示。dbn训练主要包括预训练与微调两个阶段,预训练阶段通过各层rbm对无标签样本数据进行无监督训练,与此同时使用cd算法对各层rbm参数调优。各层rbm训练结束后,将本层rbm训练得到的参数输入下一层rbm进行训练,以此类推直至所有rbm完成训练。预训练结束后,dbn通过bp算法计算各层网络误差,进行反向传播完成各层节点参数调节,实现对整个dbn网络节点权值的全局微调。
1、对本申请实施例涉及的受限玻尔兹曼机rbm进行介绍。
受限玻尔兹曼机为包括了可视层、隐含层两部分的无向图模型,每层都有数个节点,但同层内的网络节点之间不存在连接,可视层与隐含层之间的节点是全连接的,结构如图2所示。
受限玻尔兹曼机为基于能量的模型,能量函数由可视层v=(vi)n和隐含层h=(hj)m定义:
式中ai和bj分别为可视层第i个神经元的偏置和隐含层第j个神经元的偏置;
θ=[w=(wij)n×m,a=(ai)n,b=(bj)m]
为rbm模型的参数;wij是可视层vi与之隐含层hj间的连接权重;nv和nh分别表示可视层与隐含层的数目。
由式(1)能量函数可以得出状态(v,h)联合概率分布:
pθ(v,h)=1/zθexp(-eθ(v,h))
公式(2)
其中,zθ是归一化因子,即:
对于rbm,隐含层中的所有的神经元状态是相互独立的,当给定可视层上神经元的状态v时,隐含层第j个神经元hj被激活的概率(为1)的概率为:
当给定隐含层上神经元的状态h时,可视层第i个神经元vi被激活的概率(为1)的概率为:
式中,sigmoid(x)=(1+exp(-x))-1为激活函数,其中x在区间(0,1)内。
对于给定可视层及隐含层神经元单元数的rbm模型,需要通过训练rbm来确定调整参数θ,使得参数θ控制下的rbm模型尽可能的拟合给定的训练数据。由于分配函数归一化因子zθ的存在,难以使用朴素方法计算出pθ(v,h),而采用hinton提出的对比散度(cd)算法则可以利用较少的采样对rbm模型进行快速无监督训练,求得参数θ的最优解。
cd算法先初始化参数θ,再使用训练样本作为可视层神经元vi0,根据式(4)可计算出隐含层神经元gj0,随后根据式(5)重新构建可视层神经元vi1,再通过vi1计算出隐含层神经元hj1。参数更新方式如下所示
δwij=ε(
δai=ε(
δbj=ε(
公式(6)
其中:ε为算法的学习率,<.>data为训练数据集的数学期望,<.>recon为cd算法计算得到的目标数学期望。
2、对本申请实施例涉及的深度信念神经网络预训练进行介绍。
dbn模型由多个rbm堆叠而成,包括输入层、多个隐含层以及由bp神经网络组成的输出层,具体的网络结构如图3所示。dbn模型中,每相邻的两层形成一个rbm,整个dbn的输入层由第一层rbm0的可视层神经元v0及隐含层神经元h0组成,h0同时作为下一层rbm1的可视层神经元v1,依此类推,最后的rbmk的可视层神经元vk为rbmk-1的隐含层神经元hk-1。dbn模型的最顶层为bp神经网络,将rbm从原始数据中提取到的数据特征一一映射至待分类别中。
dbn模型首先使用无标签样本数据对堆叠的rbm逐层进行无监督训练,该过程使用cd算法获得第一层rbm0的参数θ0,再将训练得到的参数θ0值输入下一层,继续训练rbm1网络得到参数θ1,依此类推,获得整个dbn网络的偏置及权重。
3、对本申请实施例涉及的基于bp算法的有监督微调进行介绍。
由于各rbm间的训练是独立完成的,故只能确保模型训练得到的节点参数在各自的rbm内最优,故在dbn预训练结束后需对各rbm中的参数进行微调。给出样本数据集{a,b},输入输出间的关系为
其中,为dbn模型映射的第i个样本,f为非线性函数,ai为训练样本数据集a=[x1,x2,...,xn]中第i个样本。
误差损失函数使用预测值与实际值的交叉熵平均值表示,即
其中bi为数据样本集中第i个样本实际值。
第二方面,对本申请实施例涉及的基于改进dbn的入侵检测算法dbn-egwo-kelm进行详细说明。
增强型灰狼优化算法优化核极限学习机的深度信念网络入侵检测模型(dbn-egwo-kelm),该模型第一部分利用dbn特征降维能力,对数据预处理后的标准数据集进行关键特征提取,划分为训练集、验证集及训练集数据,输入第二部分egwo-kelm分类模型中,该部分使用内层围捕与外层围捕相结合的策略改进灰狼算法,使得算法具有更高的求解精度、更快的收敛速度以及更佳地稳定性。再将改进后的算法结合5-cv方法应用于kelm的参数优化,避免kelm随机初始化参数带来的潜在缺陷,使用优化后的egwo-kelm代替bp网络对训练集及验证集数据进行网络训练,形成egwo-kelm分类模型,对测试集数据进行分类。
1、增强型灰狼优化算法
灰狼优化算法(greywolfoptimizer,gwo)作为一种元启发式算法于2014年被mirjalili等人首次提出。该算法将狼群分为四个等级,从高到低依次为α,β,δ和ω。其中α,β,δ是距离猎物最近的三个等级,即图4所示的灰狼等级金字塔中级别最高的三层,剩余灰狼个体为ω,其等级最低。等级更高的三层负责带领ω围捕猎物,值得注意的是,灰狼个体的社会等级并不固定,随着围捕的不断进行,所有灰狼个体将根据自身与猎物的距离对等级进行重新划分,即根据适应值更新结果优劣重新分层。重新分层过程中,灰狼位置向量更新时头狼位置未必最优,因此难以平衡全局及局部搜索能力,导致gwo算法在迭代过程中容易陷入局部最优以及出现收敛速度较慢等问题。对此,本申请实施例对原始灰狼算法进行改进。
由文献可知,当时,灰狼群体将通过搜索机制缩小搜索范围,在局部区域进行精细搜索,即为gwo算法的开发能力。当时,灰狼群体将通过搜索机制扩大搜索范围,以找到更优的候选解,即为gwo算法的全局勘探能力。为提高算法的收敛性能,本申请实施例通过强化gwo的开发能力,设计增强型灰狼优化算法(egwo)。在egwo中,对灰狼种群进行策略性划分,一半灰狼群负责内层围捕,而另一半则负责外层围捕,内层围捕用于增强灰狼进攻猎物的能力,即算法的开发能力;外层围捕则用来保持gwo的全局勘探能力。为进一步提升算法的优化精度,使用tent映射丰富初始种群的多样性。内外层围捕示意图如图5所示。
(1)外层围捕
全局搜索过程意味着灰狼群体需要探测更为广泛的搜索区域,以便寻得全局最优解。故执行外层围捕命令的灰狼群体是从四面八方、由远到近的接近猎物。为避免算法陷入局部最优,执行外层围捕的灰狼群体需听从α、β和δ的命令。图6为灰狼更新位置的示意图,以α,β和δ狼所在位置模拟猎物的大致位置。当ω接收到捕杀命令后,向猎物靠近以更新自身位置。ω与α,β和δ间的距离由下式表示:
其中表示α与ω之间的距离,依次类推。为α在第t次迭代中的位置,和依次类推。为ω向α移动时的方位变量,以此类推。为[0,1]的随机数。
ω得知与α,β和δ的距离后,分别会以一定的步长靠近,其位置更新可表示如下式所示:
α=2-2(t/t)
公式(13)
表示如果ω仅以α为猎物时,其更新后的位置,和依次类推。t为当前的迭代数,t为最大的迭代数。a为收缩因子,其作用是随着迭代的进行,缩小灰狼与猎物之间的距离。为ω朝α方向移动的步长向量,以此类推。ω在α,β和δ的共同带领下,其位置可表示为和的算术平均值。执行外层围捕的种群位置更新策略用式(9-14)进行。
(2)内层围捕
局部开发能力利用已有信息影响其它搜索,进而代理某些搜索区域进行精细搜索,较大程度影响算法的收敛性能,故egwo着重提升算法的开发能力。egwo算法中,α层级狼相比其它等级更为聪明,能够对灰狼群体下发更为详细的围捕命令。负责内层围捕的灰狼群体与猎物间的距离更为接近,因此只需听从α狼的指令,用α狼位置模拟猎物的位置,而负责内层围捕的灰狼个体只需在α狼的附近活动。灰狼位置更新策略如式(15)所示:
由上式可知,其更新策略与gwo相比,在内层围捕时取消了β,δ对ω的影响,而是统一服从α狼的命令。为ω与α之间的距离,为对应的方向向量,为区间[0,1]内的随机小数向量,为对应的步长向量。
(3)egwo的伪代码
对egwo、gwo、pso与fpa四个优化算法在3个单峰基准测试函数sphere、schwefel2.22、rosenbrock及3个多峰基准测试函数rastrigin、ackley、griewank下分别进行性能测试。种群初始值与维度均设置为30,最大迭代次数为500,其它参数相同。每组实验均运行20次,后取平均值进行比较,实验结果如图7所示。可以看出,egwo算法在求解精度、收敛速度与稳定性方面均具有良好性能。
2、增强型灰狼优化算法优化的核极限学习机egwo-kelm。
极限学习机(extremelearningmachine,elm)由黄广斌等通过广义逆矩阵理论提出。相比传统神经网络,elm在保持网络良好泛化能力的同时,进一步提高了学习速度,且具有较强的非线性拟合能力,能够有效降低计算量并缩减搜索空间。基于上述优点,elm在信息采集、大数据应用、标识识别、语种识别等诸多领域得到应用。
核极限学习机(kernel-basedetremelearningmachine,kelm)在elm基础上与核函数相结合,对线性不可分的高维信息通过非线性映射方式,投射至高维特征空间以达到线性可分的目的,从而提高分类的准确率。但由于结合了核函数,导致kelm对参数设置敏感,因此本申请实施例使用增强型灰狼优化算法对kelm参数进行优化,提升调参效率。
正规化系数e和核参数s作为kelm参数优化的关键。将kelm分类准确率记作acc(e,s),两个参数的上界分别是m和n,下界为0,kelm参数优化模型可以表示为
maxacc(e,s),e∈(0,m],s∈(0,n]
公式(16)
其中,是分类模型在第i折上验证后的准确率,为分类器除去第i折之后的数据集训练得到的分类模型。每个分类模型的分类准确率平均值为交叉验证准确率。
kelm对参数的变化敏感,且存在着大量局部极值,使用梯度搜索法效果不佳,故采用egwo算法进行参数寻优。将5-cv与egwo算法相结合对kelm分类器进行参数优化,步骤如下:
步骤1:根据tent映射及根据式(10),(12)和(13)初始化狼群,设置最大迭代次数t。
步骤2:根据式(9-15)更新狼的位置信息及进行内层及外层围捕策略。
步骤3:使用5-cv方法,根据式(17)计算得到交叉验证准确率并将该值作为个体适应度,进而对分类器参数实施评估。
步骤4:判断是否满足迭代停止条件,不满足则转到步骤2,否则输出最优参数及最优模型,算法结束。
算法流程图如图8所示。为验证egwo-kelm的分类性能,与kelm及svm方法在uci的iris、segment及diabetes数据集上做了分类对比试验。
为说明kelm分类器对正规化系数e及核参数s的敏感性,图8为egwo-kelm分类器在diabetes数据集上不同参数值下的分类准确率。
图9可以看出,参数e=10e4,s取值100时,egwo-kelm模型在diabetes数据集上的分类准确率最低,为60.29%。而当s取值1000时,分类准确率最高,为71.64%;参数s=10e4时,e取值10000时,分类准确率最高,为83.29%,比e取值0.1时的最低准确率高出17.71%。可以看出,egwo-kelm模型的参数选取对分类准确率有较大的影响,即影响分类器的分类性能。
3、基于dbn-egwo-kelm的分类模型
鉴于kelm在分类性能实验中表现出的优越性能,使用egwo-kelm模型替代bp算法进行监督分类。其中,egwo用于增强kelm分类器的稳定性,egwo-kelm则可大幅提升dbn的分类性能及泛化能力,有效提升入侵检测的准确率及效率。dbn-egwo-kelm分类模型的结构如图10所示。
dbn-egwo-kelm入侵检测流程包括以下几个步骤,流程图如图11所示。
步骤1:数据预处理。数值化kddcup99、nsl-kdd、unsw-nb15数据集存在的字符特征,再对数据进行归一化处理得到数值型数据,形成标准化数据集。
步骤2:定义dbn-egwo-kelm神经网络模型参数。根据寻参实验结果可知,迭代55次,隐含层数量为80时,网络分类性能最佳。
步骤3:dbn特征降维。对预处理后的数据集进行预训练确定网络节点权值,并获得低维表示的数据。
步骤4:数据分离。将降维后的数据按比例分为训练集、验证集、测试集。其中训练集及验证集数据输入到egwo-kelm分类模型中进行训练,调整模型。
步骤5:利用上述(2)的参数优化模型对kelm分类器进行参数优化。输出最优e,s参数并应用于kelm。
步骤6:形成egwo-kelm有监督分类模型。其中训练集及验证集数据输入到egwo-kelm分类模型中进行训练。
步骤7:调整并找到最佳的分类模型,输出最优的egwo-kelm分类模型。
步骤8:输入测试集数据并输出结果。
第三方面,实验分析。
本申请实施例共做了三组实验。
(1)参数设置实验。利用测试函数对egwo算法的收敛性能进行测试,并对dbn模型进行寻参,确定网络迭代次数及隐含层数等参数。
(2)egwo-kelm分类性能实验,利用uci的iris、segment及diabetes数据集做分类对比试验,验证egwo-kelm的分类性能。
(3)多分类实验,在kddcup99、nsl-kdd及unsw-nb15数据集上实验验证dbn-egwo-kelm模型的分类性能。
1、实验参数设置、数据集选择及评价指标。
(1)实验参数设置
分类模型dbn-egwo-kelm中增强型灰狼算法参数如表1所示:
表1
(2)dbn网络参数设置
改进dbn分类模型参数由分类性能分析实验及寻参实验确定。数据集被分为训练样本数据train,验证样本数据validation及测试样本数据test三个部分,数据集之间无重叠。
训练阶段,样本train在每次训练时将validationt中的样本数据输入至dbn神经网络进行验证,validation输入后经损失函数计算误差。验证阶段,采用文献描述的6步验证法与训练精度限制法评估训练结果。验证结束后进入测试阶段。
2、评价指标。
多元分类实验中,利用入侵检测准确率(accuracy,acc)、精确率(precision,p)、真正率(truepostiverate,tpr)、假正率(falsepostiverate,fpr)等指标对多元分类实验进行评价。指标描述如图13所示,计算方法参考文献。
多元分类实验中,采用三个数据集。其中,kddcup99数据集包含8×104条网络数据信息,39种网络攻击类型,每条网络数据具有41个特征属性和1个类标识。数据信息包含了1种正常的标识类型normal和4种异常的标识类型dos、probe、u2r、r2l,其中4种异常共含有22种攻击类型;nsl-kdd数据集共有11850条网络数据,数据特征与攻击类型与kddcup99数据集一致;unsw-nb15数据集拥有175300条连接数据,包含49个特征。除了正常数据,还包含了fuzzers、analysis、backdoors、dos、exploits、generic、reconnaissance、shellcode及worms在内的9种攻击。
3、多元分类实验
实验环境为windows764位操作系统,处理器intel(r)core(tm)i5-6500cpu3.20ghz,安装内存(ram)8.00gb。仿真软件为matlabr2016a。实验在kddcup99数据集、nsl-kdd数据集及unsw-nb15数据集上进行入侵测试。实验过程中采用bp模型、dbn模型、dbn-kelm模型、经典机器学习模型与本申请实施例所提出的dbn-egwo-kelm模型进行对比,比较验证本申请实施例算法的优越性能。三个数据集的t-sne的可视化如图14-16所示。可以看出,unsw-nb15数据集较为分散,分类难度大。图17-19为dbn-egwo-kelm算法模型在三个数据集上多分类实验结果混淆矩阵。
多分类实验结果表明,dbn-egwo-kelm模型的性能在准确性方面,dbn-egwo-kelm模型的性能明显优于经典神经网络及经典的机器学习算法,在其它评价指标上也均体现了该模型的性能优势。
综上所述,实验结果表明:(1)dbn-egwo-kelm入侵检测模型的数据分类性能稳定,不敏感于特定数据集;(2)dbn-egwo-kelm入侵检测模型成功解决了现有方法存在的准确率、精确率、真正率等指标偏低的问题;(3)在三个网络入侵检测数据集上,dbn-egwo-kelm入侵检测模型与现有方法相比,在各类评价指标上均具有明显优势。dbn-egwo-kelm入侵检测模型为物联网、区块链等领域的网络安全检测提供了全新、可行的解决思路,后续将对深度信念网络降维及分类问题继续深入研究,扩展模型的应用范围。
结合上述实施例,本申请实施例提供了一种入侵检测方法,如图20所示,所述方法包括:
步骤2001:针对kddcup99、nsl-kdd、unsw-nb15数据集存在的字符特征进行归一化处理,得到数值型数据,形成标准化数据集;
步骤2002:定义dbn-egwo-kelm神经网络模型参数;
步骤2003:对所述标准化数据集进行预训练,确定网络节点权值,并获得dbn特征降维后的数据;
步骤2004:将特征降维后的数据按比例分为训练集、验证集和测试集;其中,将训练集和验证集的数据输入到egwo-kelm有监督分类模型中进行训练,以调整有监督分类模型;
步骤2005:利用所述dbn-egwo-kelm神经网络模型对kelm分类器进行参数优化,输出最优e、s参数并应用于所述kelm分类器;
步骤2006:形成egwo-kelm有监督分类模型;将训练集和验证集数据输入到egwo-kelm有监督分类模型中进行训练;
步骤2007:调整并找到最佳的分类模型,输出最优的egwo-kelm分类模型;
步骤2008:输入入侵检测测试集数据并输出结果。
在一种可能的实施方式中,在步骤2005中,所述利用所述dbn-egwo-kelm神经网络模型对kelm分类器进行参数优化,输出最优e、s参数并应用于所述kelm分类器,包括:
可以看出,在深度信念网络dbn的基础上,本申请实施例提出了一种基于改进深度信念网络的入侵检测方法,设计了一种基于增强型灰狼算法优化的核极限学习机分类模型,利用dbn对复杂高维网络入侵数据特征的降维能力,提取数据特征,并结合增强型灰狼算法对核极限学习机分类模型进行优化,提升kelm性能。
本申请实施例提出的dbn-egwo-kelm模型,一方面使用rbm保证dbn的特征提取性能;另一方面,利用egwo的寻优能力使得kelm能够快速获取最优e,s等参数,增强kelm对高维数据的分类能力。
基于相同的技术构思,本申请实施例还提供了一种入侵检测系统,如图21所示,所述系统包括:
数据预处理模块2101,用于针对kddcup99、nsl-kdd、unsw-nb15数据集存在的字符特征进行归一化处理,得到数值型数据,形成标准化数据集;
参数定义模块2102,用于定义dbn-egwo-kelm神经网络模型参数。
dbn特征降维模块2103,用于对所述标准化数据集进行预训练,确定网络节点权值,并获得dbn特征降维后的数据。
数据分离模块2104,用于将特征降维后的数据按比例分为训练集、验证集和测试集;其中,将训练集和验证集的数据输入到egwo-kelm有监督分类模型中进行训练,以调整有监督分类模型。
模型训练模块2105,用于利用所述dbn-egwo-kelm神经网络模型对kelm分类器进行参数优化,输出最优e、s参数并应用于所述kelm分类器;形成egwo-kelm有监督分类模型;将训练集和验证集数据输入到egwo-kelm有监督分类模型中进行训练;调整并找到最佳的分类模型,输出最优的egwo-kelm分类模型。
测试模块2106,用于输入入侵检测测试集数据并输出结果。
在一种可能的实施方式中,所述模型训练模块2105,具体用于:
基于相同的技术构思,本申请实施例还提供了一种设备,所述设备包括:数据采集装置、处理器和存储器;所述数据采集装置用于采集数据;所述存储器用于存储一个或多个程序指令;所述处理器,用于执行一个或多个程序指令,用以执行所述的方法。
基于相同的技术构思,本申请实施例还提供了一种计算机可读存储介质,所述计算机存储介质中包含一个或多个程序指令,所述一个或多个程序指令用于执行所述的方法。
需要说明的是,尽管在附图中以特定顺序描述了本发明方法的操作,但这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
虽然本申请提供了如实施例或流程图的方法操作步骤,但基于常规或者无创造性的手段可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或客户端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至为分布式数据处理环境)。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、产品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、产品或者设备所固有的要素。在没有更多限制的情况下,并不排除在包括所述要素的过程、方法、产品或者设备中还存在另外的相同或等同要素。
上述实施例阐明的单元、装置或模块等,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本申请时可以把各模块的功能在同一个或多个软件和/或硬件中实现,也可以将实现同一功能的模块由多个子模块或子单元的组合实现等。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内部包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构、类等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,移动终端,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例采用递进的方式描述,各个实施例之间相同或相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。本申请可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的电子设备、网络pc、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
以上所述的具体实施例,对本申请的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本申请的具体实施例而已,并不用于限定本申请的保护范围,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。