CN113449837B - 一种入侵检测方法、系统、设备及可读存储介质 - Google Patents
一种入侵检测方法、系统、设备及可读存储介质 Download PDFInfo
- Publication number
- CN113449837B CN113449837B CN202011264132.7A CN202011264132A CN113449837B CN 113449837 B CN113449837 B CN 113449837B CN 202011264132 A CN202011264132 A CN 202011264132A CN 113449837 B CN113449837 B CN 113449837B
- Authority
- CN
- China
- Prior art keywords
- module
- drn
- algorithm
- sae
- longicorn
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/047—Probabilistic or stochastic networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/049—Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/088—Non-supervised learning, e.g. competitive learning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
Abstract
本申请实施例公开了一种入侵检测方法、系统、设备及可读存储介质,通过DRN残差块结构,将卷积层替换为全连接层,简化网络结构、加速训练过程;将跳层连接之后的激活函数层移至跳层连接之前,更有效地解决了梯度消失、梯度爆炸与网络“退化”问题;为了提升SAE‑DRN检测算法的泛化能力,使用EBAS优化SAE‑DRN算法的网络层数以及各层神经网络中神经元的个数。为避免EBAS算法陷入局部最优,设计了全方位变步长搜索算法、最优位置更新策略以及回溯式步长更新法则。实验结果表明,SAE‑DRN入侵检测算法能够很好适应各种入侵检测数据集,有效提升入侵检测的准确率、精确度、召回率与F1值,降低入侵检测的误判率。
Description
技术领域
本申请实施例涉及人工智能技术领域,具体涉及一种入侵检测方法、系统、设备及可读存储介质。
背景技术
网络技术高速发展的同时,计算机病毒、网络入侵纷至沓来,给网络安全带来极大挑战。随着攻击者技术水平的不断提升,网络攻击呈现出越来越隐蔽,带来的危害也越来越大,如何发现并抵御网络攻击成为网络安全人员面临的核心问题。入侵检测系统(Intrusion Detection System,IDS)能够通过网络数据分析,有效识别异常入侵信息,进而对入侵数据进行拦截,极大降低网络攻击的成功率。与其它网络安全系统不同,IDS属主动网络安全防护技术,对网络入侵数据的检测近乎实时,在威胁产生时即可激活防御措施,避免安全威胁作用范围的进一步扩大,从而将网络安全威胁造成的危害降低至最低限度,所以IDS在保障网络安全方面是一项非常重要的技术。
目前,国内外相关学者对入侵检测算法进行了深入研究,提出了多种入侵检测算法,使用的方法包括机器学习、数理统计、神经网络、遗传进化等,并广泛应用于传统互联网络、物联网、工业互联网等不同领域,实现了对不同网络安全事件的有效预警与评估。但是,传统方法普遍存在噪声数据敏感、过拟合以及算法复杂度高等不足,且部分方法泛化能力较弱,难以适应网络攻击类型与攻击手法的差异与多变。
发明内容
为此,本申请实施例提供一种入侵检测方法、系统、设备及可读存储介质,是一种基于稀疏自编码器(Sparse AutoEncoder,SAE)与深度残差网络(Deep Residual Network,DRN)相结合的入侵检测算法(SAE-DRN)。重新设计了DRN残差块结构,并将卷积层替换为全连接层,简化网络结构、加速训练过程;将跳层连接之后的激活函数层移至跳层连接之前,更有效地解决了梯度消失、梯度爆炸与网络“退化”问题;为了提升SAE-DRN检测算法的泛化能力,基于天牛须搜索算法(Beetle Antennae Search,BAS)设计了一种改进天牛须搜索算法(EBAS),并使用EBAS优化SAE-DRN算法的网络层数以及各层神经网络中神经元的个数。为避免EBAS算法陷入局部最优,设计了全方位变步长搜索算法、最优位置更新策略以及回溯式步长更新法则。实验结果表明,SAE-DRN入侵检测算法能够很好适应各种入侵检测数据集,有效提升入侵检测的准确率、精确度、召回率与F1值,降低入侵检测的误判率。
为了实现上述目的,本申请实施例提供如下技术方案:
根据本申请实施例的第一方面,提供了一种入侵检测方法,所述方法包括:
步骤1:根据任务性质确定问题簇的数目,构建基于问题簇的全方位变步长搜索算法,并初始化天牛的寻优方向、寻优次数、迭代步长、以及每次迭代后步长的衰退因子λ;
步骤2:执行EBAS算法并输出超参数,将EBAS算法输出的超参数传入SAE模块以及DRN模块,确定所述SAE模块以及DRN模块中网络的层数以及各层神经元的个数;
步骤3:针对不同入侵检测数据集进行归一化处理,得到混合、归一化后的数据集X;
步骤4:将所述数据集X输入至所述SAE模块,并对所述SAE模块进行预训练;
步骤5:将步骤4中获得的数据集X的特征数据输入至所述DRN模块,并训练所述DRN模块;
步骤6:逐层调整参数,计算并返回训练集与交叉验证集的损失值,并将损失值作为EBAS模块的目标函数值,更新所述EBAS模块的相关参数;
步骤7:反复执行步骤3到步骤6,直至触发所述EBAS模块的迭代终止条件,获得SAE-DRN神经网络的最优参数;
步骤8:传递所述最优参数至所述SAE模块以及DRN模块并对其训练,训练完成后在实际入侵检测数据集上进行验证。
可选地,所述EBAS算法的具体实现步骤如下:
步骤a:初始化所述EBAS算法的参数,所述参数包括问题簇的个数M与每个问题簇的寻优维度n,并根据M与n值初始化M个天牛的感知方向dir,天牛两触角之间的距离d0,寻优次数N,迭代步长L以及每次迭代后步长的衰退因子λ;
步骤b:在每个天牛感知方向上,分别计算左右触角位置Xl与Xr,并且分别代入目标函数计算左右触角位置的目标函数值costl、costr;
步骤c:根据所述左右触角目标函数值,计算天牛下一步更新的位置X,并计算新的目标函数值cost_nest;
步骤d:对比所述costl、costr、cost_nest、best_cost,选择最优值作为当前最优目标函数值,并记录此时天牛位置,并按照最优位置更新策略进行位置更新;
步骤e:如果best_cost值出现改变,迭代步长恢复至初始状态;否则,按照回溯式步长更新法则进行更新;
步骤f:重复执行步骤b、c、d、e,直至满足迭代停止条件。
可选地,在所述步骤6中,在处理二分类问题时使用的损失函数为:
在处理多分类问题使用的损失函数为:
可选地,在步骤1中,所述根据任务性质确定问题簇的数目,构建基于问题簇的全方位变步长搜索算法,包括:
初始化全方位变步长天牛搜索方位按照如下公式计算:
di=rands(1,ni)
diri=di/norm(di)
i表示第i个问题簇,ni表示第i个问题簇上待优化问题的维度,di表示方向上与第i个问题簇的寻优方向相同,维度上与第i个问题簇中待优化问题维度相同的随机向量;diri=di/norm(di)将di转化为单位向量。
根据本申请实施例的第二方面,提供了一种入侵检测系统,所述系统包括:
数据处理模块,用于根据任务性质确定问题簇的数目,构建基于问题簇的全方位变步长搜索算法,并初始化天牛的寻优方向、寻优次数、迭代步长、以及每次迭代后步长的衰退因子λ;
EBAS寻优模块,用于执行EBAS算法并输出超参数,将EBAS算法输出的超参数传入SAE模块以及DRN模块,确定所述SAE模块以及DRN模块中网络的层数以及各层神经元的个数;针对不同入侵检测数据集进行归一化处理,得到混合、归一化后的数据集X;
SAE-DRN训练模块,用于将所述数据集X输入至所述SAE模块,并对所述SAE模块进行预训练;将获得的数据集X的特征数据输入至所述DRN模块,并训练所述DRN模块;逐层调整参数,计算并返回训练集与交叉验证集的损失值,并将损失值作为EBAS模块的目标函数值,更新所述EBAS模块的相关参数;反复执行直至触发所述EBAS模块的迭代终止条件,获得SAE-DRN神经网络的最优参数;传递所述最优参数至所述SAE模块以及DRN模块并对其训练,训练完成后在实际入侵检测数据集上进行验证。
可选地,所述EBAS寻优模块具体用于:所述EBAS算法的具体实现步骤如下:
步骤a:初始化所述EBAS算法的参数,所述参数包括问题簇的个数M与每个问题簇的寻优维度n,并根据M与n值初始化M个天牛的感知方向dir,天牛两触角之间的距离d0,寻优次数N,迭代步长L以及每次迭代后步长的衰退因子λ;
步骤b:在每个天牛感知方向上,分别计算左右触角位置Xl与Xr,并且分别代入目标函数计算左右触角位置的目标函数值costl、costr;
步骤c:根据所述左右触角目标函数值,计算天牛下一步更新的位置X,并计算新的目标函数值cost_nest;
步骤d:对比所述costl、costr、cost_nest、best_cost,选择最优值作为当前最优目标函数值,并记录此时天牛位置,并按照最优位置更新策略进行位置更新;
步骤e:如果best_cost值出现改变,迭代步长恢复至初始状态;否则,按照回溯式步长更新法则进行更新;
步骤f:重复执行步骤b、c、d、e,直至满足迭代停止条件。
可选地,所述SAE-DRN训练模块具体用于:
在处理二分类问题时使用的损失函数为:
在处理多分类问题使用的损失函数为:
可选地,所述数据处理模块,具体用于:
初始化全方位变步长天牛搜索方位按照如下公式计算:
di=rands(1,ni)
diri=di/norm(di)
i表示第i个问题簇,ni表示第i个问题簇上待优化问题的维度,di表示方向上与第i个问题簇的寻优方向相同,维度上与第i个问题簇中待优化问题维度相同的随机向量;diri=di/norm(di)将di转化为单位向量。
根据本申请实施例的第三方面,提供了一种设备,所述设备包括:数据采集装置、处理器和存储器;所述数据采集装置用于采集数据;所述存储器用于存储一个或多个程序指令;所述处理器,用于执行一个或多个程序指令,用以执行第一方面任一项所述的方法。
根据本申请实施例的第四方面,提供了一种计算机可读存储介质,所述计算机存储介质中包含一个或多个程序指令,所述一个或多个程序指令用于执行如第一方面任一项所述的方法。
综上所述,本申请实施例提供了一种入侵检测方法、系统、设备及可读存储介质,是一种基于稀疏自编码器与深度残差网络相结合的入侵检测算法。重新设计了DRN残差块结构,并将卷积层替换为全连接层,简化网络结构、加速训练过程;将跳层连接之后的激活函数层移至跳层连接之前,更有效地解决了梯度消失、梯度爆炸与网络“退化”问题;为了提升SAE-DRN检测算法的泛化能力,基于天牛须搜索算法设计了一种改进天牛须搜索算法,并使用EBAS优化SAE-DRN算法的网络层数以及各层神经网络中神经元的个数。为避免EBAS算法陷入局部最优,设计了全方位变步长搜索算法、最优位置更新策略以及回溯式步长更新法则。实验结果表明,SAE-DRN入侵检测算法能够很好适应各种入侵检测数据集,有效提升入侵检测的准确率、精确度、召回率与F1值,降低入侵检测的误判率。
附图说明
为了更清楚地说明本发明的实施方式或现有技术中的技术方案,下面将对实施方式或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是示例性的,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图引伸获得其它的实施附图。
本说明书所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定本发明可实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本发明所能产生的功效及所能达成的目的下,均应仍落在本发明所揭示的技术内容能涵盖的范围内。
图1为本申请实施例提供的SAE-DRN算法结构示意图;
图2a为本申请实施例提供的稀疏自编码器网络结构;
图2b为本申请实施例提供的单个神经元的具体运算过程;
图3a为本申请实施例提供的深度残差网络残差块结构;
图3b为本申请实施例提供的原始残差块结构;
图4为本申请实施例提供的全方位变步长搜索算法示意图;
图5a、图5b和图5c为本申请实施例提供的SAE-DRN入侵检测算法示意图;
图6为本申请实施例提供的SAE-DRN入侵检测算法执行过程示意图;
图7a、图7b、图7c为本申请实施例提供的一种各算法进行二元分类时的ROC曲线;
图8a、图8b、图8c、图8d、图8e、图8f为本申请实施例提供的各算法多元分类下的ROC曲线图;
图9为本申请实施例提供的入侵检测方法流程示意图;
图10为本申请实施例提供的入侵检测系统框图。
具体实施方式
以下由特定的具体实施例说明本发明的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本发明的其他优点及功效,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
深度学习通过模拟人类大脑的学习思维过程,能够通过逐层的数据特征提取,形成理想分类特征,提高分类准确率,引起网络安全研究人员的关注。如Nagarathna Ravi等人集成深度前馈神经网络与改进的K means算法(Repeated Random Sampling-K means,RRS-K means)提出了一种半监督入侵检测方法(SDRK),该方法仅使用少量标记数据和大量未标记数据进行训练,可以应用于实际环境中标签数据偏少的情形,并提高入侵检测的检测精。Cui等人将深度学习应用于恶意代码检测,首先将恶意代码的可执行文件转化为灰度图像,然后利用卷积神经网络(CNN)对恶意代码进行识别和分类,扩展了CNN的应用范围。R.Vinayakumar等人指出常用于文本生成、机器翻译、语音识别的长短期记忆网络(LSTM),对恶意域名检测具有强大功效。Nicole等人针对不同的网络攻击行为设计了一种基于网络的分布式深度学习框架,该框架同时利用卷积神经网络(CNN)与长短期记忆网络(LSTM)对物联网攻击行为进行检测,其中CNN用于检测网络钓鱼和应用程序层DDoS攻击,LSTM用于发现僵尸网络攻击。
作为深度学习的特殊网络结构,稀疏自编码网络与残差网络一经提出便受到广泛的关注。稀疏自编码网络能够在无监督条件下提取隐藏在复杂数据内部的细小结构与细微模式,具有算法实现简单、特征提取效率高、训练速率快等优点,目前在病理图像分析、和高光谱图像分类、工业设备故障检测、面部表情识别等领域。残差网络能够有效克服深度神经网络“退化”的缺陷,提升网络对复杂数据的表达能力,在行人检测、语义分割与自然语言处理等得到成功应用。周涛等人对残差网络(ResNet)在医学图像处理中的应用进行了总结,指出残差网络能够帮助医生获得丰富图像信息从而提高诊断效果和效率,为计算机辅助临床诊断提供有效技术参考。
结合稀疏自编码网络对数据细微特征模式的高效提取,以及残差网络对大规模复杂数据的强大表达能力的优势,本申请实施例设计了一种基于稀疏自编码器与深度残差网络的入侵检测算法(SAE-DRN)。
首先,利用稀疏自编码器提取入侵数据集中内部的细小结构与模式,随后将SAE提取的特征数据输入至DRN,并对其数据特征做进一步的处理,经过多层次、非线性的激活变换从而获得更深层次的数据特征。在此基础上,提出了一种改进的天牛须搜索算法(EBAS),对SAE-DRN算法的网络层数以及各层神经网络中神经元的个数进行优化,从而使得SAE-DRN算法能够适应不同网络攻击类型,提升SAE-DRN检测算法的泛化能力。KDD CUP99、NSL-KDD以及UNSW_NB15数据集上的实验表明,本申请实施例的方法能够有效提升入侵检测的准确率、精确度、召回率与F1值,降低入侵检测的误判率。
第一方面,对本申请实施例涉及的SAE-DRN网络算法进行详细说明。
SAE-DRN算法整合了SAE对复杂数据特征的提取能力,以及DRN能够加深网络深度、提升数据分类与收敛性能方面的固有优势,通过预训练实现SAE对网络数据内部细小结构与模式特征的提取,再利用DRN对数据特征进行更深层次的挖掘,最后使用sigmoid函数以及softmax分类器解决入侵检测数据集的二分类与多分类问题。在算法训练的初期阶段,利用EBAS对SAE与DRN网络的网络层数以及各层神经元的个数进行优化,使得SAE-DRN算法能够根据目标特性自适应改变其自身网络规模,提升算法对不同分类任务的适应能力。
SAE-DRN算法结构如图1所示。在图1中的稀疏自编码器(Sparse AutoEncoders,SAE)改进自自编码器。传统自编码器包含编码与解码两个阶段。其中,编码阶段对数据进行降维处理,实现对高维数据的压缩并保留数据的关键特征信息;解码阶段依据提取出的特征信息,对数据进行重构并恢复至原始输入数据的维度。自编码器在编码阶段中间层神经元个数收敛,对高维数据进行降维压缩时会造成关键特征信息丢失,影响数据的最终分类准确率。
对此,本申请实施例引入编码阶段能够对原始数据进行升维的稀疏自编码器提取数据特征,有效提取数据内部的结构模式,提升数据分类准确率的同时降低误判率。SAE网络结构如图2a所示,包含一个输入层、一个(或者多个)隐含层以及一个输出层。输入层到隐含层的转换是F(x),表示编码过程,隐含层到输出层的转换是G(x)表示解码过程。图2b表示的是单个神经元的具体运算过程。
SAE训练阶段的目的在于实现输入数据与输出数据误差的最小化,以此确定输入层与隐含层以及隐含层之间的权重W与偏置。SAE编码与解码表示如下:
Z(2)=W(1)X+B(1) 公式(1)
D(2)=F(Z(2)) 公式(2)
Z(3)=W(2)D(2)+B(2) 公式(3)
D(3)=G(Z(3)) 公式(4)
公式(1)、(2)表示编码过程,D(2)表示编码后的结果,D(3)为解码结果,X为输入数据。待训练的参数集合表示为{W(1),W(2),B(1),B(2)},F、G表示激活函数,一般采用Tanh、ReLU、Sigmoid等函数。SAE的训练目标是减少输入数据X与解码结果D(3)的重构误差,对此采用平方损失函数(squared loss):
L(X,D(3))=(X-D(3))2 公式(5)
在编码阶段SAE将数据映射至更高维度,导致F(x)、G(x)拟合为恒等映射函数,无法实现数据特征的提取。对此,为SAE添加稀疏性限制条件[i],在防止SAE在编码阶段完全复制输入数据的同时,降低输入数据X与解码结果D(3)间的重构误差,从而尽可能保留数据特征。当激活函数设定为Sigmoid函数且输出为1时,该神经元被认为处于激活状态,输出为0时则为抑制状态。此时,D(2)不仅为编码后获得的特征数据,还可表示隐含层神经元的激活度。如隐含层神经元j在训练集上的平均活跃度,描述如下:
其中Dj (2)表示隐藏神经元j的激活度,Dj (2)(X(i))为输入X(i)时SAE中隐藏神经元j的激活程度。
稀疏性限制条件为:
P为稀疏性参数,且趋近于0。设置稀疏性限制条件的目的在于限制隐藏神经元的平均活跃度,避免稀疏自编码器最后拟合为无效恒等映射。为此,在目标函数中加入额外惩罚因子,通过梯度下降法使得隐藏神经元平均活跃度与稀疏性限制条件不断接近。惩罚因子表示为:
式(8)中S2为隐含层中隐藏神经元的数量,遍历j可获取隐含层中各神经元的活跃程度。惩罚因子由KL-divergence度量。
β为控制稀疏性惩罚因子的权重,其取值区间为(0,1)。β取值越大对神经元活跃程度的限制将越强。
H(x)=F(x)+x 公式(10)
图3a描述了本申请实施例深度残差网络的结构以及残差块的组成。与原始残差块相比,本申请实施例将放置于跳层连接之前的ReLU层置于跳层连接之后,可以使得信息在前向传播过程中,低层数据信息可以传播至任意高层,从而使网络获得恒等映射,有效缓解深层神经网络的退化问题。
同时,分类结果与标签值间的误差信息在反向传播过程中,高层梯度信息能够不经中间层权重矩阵变换传播至低层,相对原始残差网络,在克服梯度弥散、梯度爆炸问题具有更加显著的效果。
图3a中,假设第α个残差块的输出为X(α),β个残差块的输出为X(β),α>β,X(1)表示SAE的输出,同时作为DRN首个残差块的输入。F(X(k),W(k))为残差函数,W(k)为权重,则信息在前向传播过程中,第1、2个残差块以及任意残差块的处理过程可表示为:
X(2)=X(1)+F(X(1),W(1)) 公式(11)
X(3)=X(1)+F(X(1),W(1))+F(X(2),W(2)) 公式(12)
……
式(13)反映了信号可从任意低层直接传播至高层,其内部包含了原始恒等映射,可以有效解决神经网络的退化问题。
误差信息在反向传播过程中,神经网络所需优化的梯度可表示为:
DRN的最后层为全连接层,其作用为将学到的“分布式特征表示”映射到样本标记空间,达到训练分类器、学习目标全局特征的目的。本申请实施例中,将全连接层所输出的数据信息导入Sigmoid(二分类)或Softmax(多分类)函数,获取数据所属类型的概率值,最后入侵检测算法将依据概率值判断数据所属类别。
第二方面,本申请实施例对SAE-DRN算法参数进行优化,下面进行详细说明。
SAE-DRN算法需要优化的参数包括SAE隐藏层的层数L以、每层神经元的个数以及DRN残差快的个数和残差快神经元的个数。参数优化的目的在于确定适应匹配任务特征的网络规模,防止算法出现过拟合与欠拟合等问题。已有文献对于SAE与DRN参数的设置主要采用网格搜索、随机搜索、树状结构Parzen估计法(TPE)等超参数搜索算法。
网格搜索依赖于研究人员设置,对不动超参数的所有可能取值进行排列组合形成“网格”,计算成本较高;随机搜索从指定分布中采样固定数量参数,搜索结果受初始参数选择影响较大;TPE属于贝叶斯优化算法的一种,需要利用目标函数的评估结果建立概率算法,受限于样本数量,其优化效果同样具有较大的不确定性。
对此,本申请实施例从群智能优化角度考虑,提出一种改进天牛须搜索算法EBAS对SAE-DRN算法的超参数进行优化。在保留BAS算法实现简单、搜索速度快、时间复杂度低的同时,通过增加感知方位角度,改进寻优步长与最优天牛位置更新策略,克服BAS算法存在的搜索范围受限,易于陷入局部最优缺陷。下表1描述了EBAS所优化的参数,并根据EBAS算法在上面部分中的要求,将性质相同的参数划归为同一个问题簇。
表1
(1)天牛须搜索算法
天牛须搜索算法(Beetle Antennae Search,BAS)受天牛觅食过程启发而提出,通过判定食物气味的强弱决定天牛的飞行方向,最终寻得食物。天牛须搜索算法搜索速度快,求解精度高,对于优化空间维度较低的问题具有较为优越的性能。BAS算法使用一个天牛个体在搜索空间中不断更新位置来寻找全局最优解。假设初始天牛个体在n维空间中的位置为X={X1,X2,……Xn},天牛朝向为dir,左右触角的位置Xl和Xr,则有:
d=rands(1,n) 公式(15)
dir=d/norm(d) 公式(16)
Xl=X+d0×dir/2 公式(17)
Xr=X-d0×dir/2 公式(18)
d0为天牛两个触角间的距离。n表示待优化问题的维度,d是与待优化问题维度相同的随机向量,dir为方向与d一致的单位向量,表示天牛的朝向。在搜索中,算法持续计算触角附近的适应度函数值,引导天牛飞向适应度函数值较优的方向。天牛个体Xi移动的下一个位置Xi+1表示如下:
Xi+1=Xi-L×dir×sign(f(Xl)-f(Xr)) 公式(19)
L为移动步长,f(*)表示目标函数,sign(z)为符号函数取值为-1或1,用来控制天牛的移动方向。
(2)全方位变步长搜索算法
原始BAS搜索包含左、右两个方向,且在两个方向上天牛搜索步长一致,导致搜索范围有限,搜索效率低下且容易陷入局部最优。在BAS基础上,设计一种全方位变步长搜索算法。初始阶段,根据待优化问题中的参数类型设置问题簇的数目,并根据问题簇的类型设定寻优步长与方向,增大天牛搜索最优解的概率。全方位变步长天牛搜索算法如图4所示。
初始化全方位变步长天牛搜索算法搜索方位如下:
di=rands(1,ni) 公式(15)
diri=di/norm(di) 公式(16)
i表示第i个问题簇,ni表示第i个问题簇上待优化问题的维度,di表示方向上与第i个问题簇的寻优方向相同,维度上与第i个问题簇中待优化问题维度相同的随机向量。diri=di/norm(di)将di转化为单位向量。
(3)最优位置更新策略
BAS算法中,天牛决定下一步最优位置Xnext更新与否,仅取决于天牛上一步位置Xi的目标函数值f(Xi)与更新后天牛所在的位置Xi+1的目标函数值f(Xi+1)间的优劣。如果f(Xi +1)优于f(Xi),则更新最优天牛位置,否则不变。式(12)可知,Xi+1的取值与天牛的移动步长L有关,一般情况下,L的长度远大于天牛质心与天牛左(右)须间距,导致BAS算法的每次搜索跨度较大,从而错过最优解所在位置。对此,设计一种长短跨距最优位置更新策略(LSDO)。LSDO中天牛位置更新与否,需考虑Xi,Xi+1,Xl和Xr4个位置目标函数值,并从中选取具有最优目标函数值对应的天牛位置作为最优位置,其中Xl和Xr分别表示天牛左须位置与天牛右须位置。上述过程表示如下:
(4)回溯式步长更新法则
BAS算法中,步长更新由迭代后的步长L乘以步长衰退因子α(0<α<1)决定。由于0<α<1,因此无论天牛的最优位置是否更新,步长L都将持续减小,导致算法陷入局部最优。
对此,提出回溯式天牛步长更新法则:1.迭代后天牛的最优位置未更新,则下一次迭代的步长为移动步长L乘以衰退因子α以缩小搜索范围;2.迭代后天牛的最优位置出现变化,则下一次迭代的步长回溯至初始步长,增加算法的搜索范围,降低算法陷入局部最优的概率。
上述过程可由式(21)描述:
其中,Loriginal表示初始化时移动步长的取值,Xbest表示上一次迭代时天牛的最优位置,Xnext-best表示下一次迭代时天牛的最优位置,i为迭代次数(i>0),Li为第i次迭代时的天牛的移动步长。
(5)EBAS算法描述
EBAS算法具体实现步骤如下:
步骤1:初始化EBAS算法的参数:包括问题簇的个数M与每个问题簇的寻优维度n,并根据M与n值初始化M个天牛的感知方向dir,天牛两触角之间的距离d0,寻优次数N,迭代步长L,每次迭代后步长的衰退因子λ。
步骤2:在每个天牛感知方向上,分别计算左右触角位置Xl与Xr,并且分别代入目标函数计算左右触角位置的目标函数值costl、costr。
步骤3:根据步骤2计算的左右触角目标函数值,计算天牛下一步更新的位置X,并计算新的目标函数值cost_nest。
步骤4:对比costl、costr、cost_nest、best_cost,选择最优值作为当前最优目标函数值,并记录此时天牛位置,并按照最优位置更新策略进行位置更新。
步骤5:如果best_cost值出现改变,迭代步长恢复至初始状态;否则,按照回溯式步长更新法则进行更新。
步骤6:重复执行步骤2、3、4、5,直至满足迭代停止条件。
(6)EBAS算法复杂度分析
假设算法最大迭代次数为N,寻优维度为D。BAS算法中,初始化天牛个体的复杂度为O(D),之后每次迭代中需要完成:1.计算天牛个体左右触角的目标函数值,时间复杂度为O(1)。2.天牛个体位置更新,时间复杂度为O(1)。3.确定当前天牛的最优位置,时间复杂度为O(1),因此算法完成一次迭代的复杂度为O(1+1+1)。总的时间复杂度为O(N(1+1+1)+D),即为O(N)。EBAS算法初始化阶段的时间复杂度同样为O(D)。
之后每次迭代中需完成:1.根据问题簇的个数M确定各问题簇的寻优方向diri,以及各寻优方向上对应的左右须位置,时间复杂度为O(M)。2.将各寻优方向上左右须位置分别组合成左右须位置集合,时间复杂度为O(1)。3.计算天牛个体左右须目标函数值,时间复杂度为O(1)。4.更新天牛个体位置,并计算目标函数值,时间复杂度为O(1)。5.在天牛左右须以及更新后的位置中选择最优位置的时间复杂度为O(1),判断最优位置是否发生改变时间复杂度为O(1),判断是否调整天牛移动步长时间复杂度为O(1),故完成一次迭代的时间复杂度为O(M+1+1+1+1+1+1)。由此可知,算法总的时间复杂度为O(N(M+1+1+1+1+1+1)+D),即O(NM)。一般而言,问题簇的数目M远小于N,因此EBAS算法的时间复杂度为O(N)。
分析可知,相比BAS算法,EBAS算法并未增加时间复杂度,但提高了收敛精度,同时克服了原始BAS容易陷入局部最优的缺点。
第三方面,对本申请实施例涉及的SAE-DRN入侵检测算法进行详细说明。
(1)算法结构
互联网结构的复杂、规模的扩大与应用的增多,以及攻击者经验的积累、攻击方式的多变,要求入侵检测系统更具智能特性与普适能力。针对网络数据流量大、复杂程度高、数据属性间的关系隐蔽等检测难题,设计基于SAE-DRN的入侵检测算法。结合具有超高精度特征提取能力的稀疏自编码器(SAE)与对复杂数据具备强大表达能力的深度残差网(DRN),深入挖掘隐藏于复杂入侵数据间的内部联系,提升检测算法对入侵数据的检测能力。
SAE-DRN入侵检测算法在分类器上层结构中采用SAE与DRN神经网络,以增强网络数据特征提取的信息完整性,并在此基础上对提取的数据特征进行多层次、非线性激活变换,进一步挖掘数据的本质特征,提升数据分类的准确性。
考虑目前网络入侵数据类型众多,利用EBAS算法对SAE-DRN算法的网络层数与各层神经元的个数进行自主优化,以确定能够较好适应任务特征与任务类型的网络规模,提升SAE-DRN检测算法对不同网络攻击的适应能力与泛化能力。
SAE-DRN入侵检测算法结构如图5a、图5b和图5c所示。
(2)SAE-DRN入侵检测算法的训练过程如下:
步骤1:根据任务性质确定问题簇的数目(问题簇的划分见表1),构建基于问题簇的全方位变步长搜索算法,并初始化天牛的寻优方向、寻优次数、迭代步长、以及每次迭代后步长的衰退因子λ。
步骤2:执行EBAS算法并输出超参数。将EBAS算法输出的超参数传入SAE模块以及DRN模块,从而确定两个模块中网络的层数以及各层神经元的个数。
算法运行之初,SAE-DRN入侵检测算法中SAE-DRN的神经网络深度和宽度并未确定,因此需要基于随机初始值启动EBAS算法以确定SAE-DRN的网络层数与每层神经元的个数。
步骤3:归一化不同入侵检测数据集。将各数据集合并、打乱,进而获得混合、归一化后的数据集X。
步骤4:将X输入至SAE,并对SAE模块进行预训练。
步骤5:将步骤4中获得的数据集X的特征数据输入至DRN,并训练DRN。
步骤6:逐层调整参数,计算并返回训练集与交叉验证集的损失值,并将损失值作为EBAS的目标函数值,更新EBAS模块的相关参数。
本申请实施例在处理二分类问题时使用的损失函数为binary_crossentropy详见式(22),处理多分类问题使用的损失函数为:categorical_crossentropy详见式(23)。
步骤7:反复执行步骤3到步骤6,直至触发EBAS的迭代终止条件,获取SAE-DRN神经网络的最优参数。
执行步骤4-7的目的在于实现EBAS算法的参数寻优。由于SAE-DRN神经网络训练至最优性能耗时较长,设置步骤4-7中神经网络的训练迭代次数为1-10,SAE的训练迭代次数设置为2,DRN的训练迭代次数设置为5。
步骤8:传递最优超参数至SAE与DRN模块并对其训练,训练完成后在实际入侵检测数据集上进行验证。
第四方面,对本申请实施例提供的方法进行实验设计与分析。
(1)算法评价指标
由于入侵检测数据集为非平衡数据集,正常样本与异常样本数量差距大,准确率不能全面反映入侵检测算法的检测性能,因此引入精确率、召回率、F1-score、AUC值进行评价,其中,考虑到类别的不平衡性F1-score使用加权方式计算,准确率(Accuracy)、精确率(Precision)、召回率(Recall)、F1-score值由式(16)至式(20)定义。
其中,ROC曲线反映假正率与真正率间的关系,曲线下方面积为AUC,表示预测的准确性,AUC越高,则表明预测的准确性越高,本申请实施例最后还引入了微平均ROC曲线、宏平均ROC曲线反映不同算法对大量样本与少量样本攻击类型的分类结果。
F1-score=(∑αk×F1k)2 公式(28)
公式(24)到公式(28)中参数的详细含义详见表2。
表2
参数 | 含义 |
TP | 正样本被判为正样本 |
TN | 负样本被判为负样本 |
FP | 负样本被判为正样本 |
FN | 正样本被判为负样本 |
Precisionk | 正例占正样本的比重 |
recallk | 正例占总正例的比重 |
accuracy | 整个样本中判断正确的比重 |
k | 样本类别 |
α<sub>k</sub> | 权重,不同样本类别占比 |
(2)实验数据
为了验证SAE-DRN入侵检测算法的有效性,本申请实施例采用KDD CUP 99数据集、NSL-KDD数据集、UNSW_NB15数据集对算法进行评估。KDD CUP 99数据集中的各条记录有41种特征,其中38维为数字特征,其它3维为符号特征。此外还包括1个标签特征,表示网络连接的类型,包括一个Normal为正常网络行为,另外还有四大攻击行为DoS攻击、Probe攻击、R2L攻击、U2R攻击。NSL-KDD采用了与KDD CUP99相同的数据格式,但NSL-KDD数据集对KDDCUP99数据集进行了优化,弥补了KDD CUP 99数据集中存在冗余、有偏的缺陷。
UNSW_NB15数据集是澳大利亚安全实验室于2015年在真实网络环境下采集得到,相比于KDD CUP99数据集、NSL-KDD数据集,UNSW_NB15数据集更能体现实际网络数据特征,所以本申请实施例也在UNSW_NB15数据集对算法进行验证。该数据集每条记录包含了42个特征,和1个标签特征,标签特征中包括一个Normal,另外还有9种攻击行为,分别为Fuzzers,Analysis,Backdoors,DoS,Exploits,Generic,Reconnaissance,Shellcode,Worms。
(3)二元分类实验结果
在准确率方面观察可知:SAE-DRN入侵检测算法在对KDD CUP 99、NSL-KDD、UNSW_NB15进行二分类时准确率均为最高,分别达到了0.9868、0.9446、0.9431。其它算法如SVM、LR、KNN、CART、RF在上述三个数据集上的准确率均低于SAE-DRN算法。在对KDD CUP 99进行二元分类时,RF算法的检测准确率为0.9622,相对于SVM、LR、KNN、CART为最高,但仍低于SAE-DRN的准确率;而对NSL-KDD进行二分类实验时,在准确率方面依旧是RF算法在SVM、LR、KNN、CART、RF中表现最优为0.8983,但仍与SAE-DRN相差4.63%;对UNSW_NB15进行二分类时,SAE-DRN的分类准确率为0.9431,相较于SVM、LR、KNN、CART、RF中准确率表现最优的SVM,高出了1.7%。
由于KDD CUP 99、NSL-KDD、UNSW_NB15二分类数据集为非平衡数据集,故从Precision、Recall、F1-score和AUC等方面对各算法的入侵检测性能做进一步分析。
对KDD CUP 99进行二分类时,SVM、LR综合检测性能最差,Precision仅为0.8982、0.8948较SAE-DRN分别低10%、10.34%;F1-score方面,上述三种算法分别为0.9456、0.9436,分别比SAE-DRN低了4.61%、4.81%;KNN、CART虽在Precision、F1-score方面均低于SAE-DRN,但总体与SAE-DRN相差不大。ROC曲线图反映真正率和假正率间的关系。曲线将整个图划分为两个部分,曲线下部面积为AUC,用来表示预测准确性,AUC越高,说明预测准确率越高。
图7a、图7b、图7c为本申请实施例提供的一种各算法进行二元分类时的ROC曲线。图7a对应KDD CUP 99,图7b对应NSL-KDD,图7c对应UNSW_NB15。
图7a可以看出,对KDD CUP 99进行二分类时SAE-DRN的ROC曲线所围成的面积最大,AUC值为0.98,分别比SVM、LR、KNN、CART、RF高出0.21、0.22、0.14、0.12、0.06。在对NSL-KDD数据进行二分类时,SAE-DRN的综合性能仍领先于SVM、LR、KNN、CART、RF。其中最为明显的是,相较于SAE-DRN,SVM在Precision、Recall、F1-score指标上分别比SAE-DRN低0.2713、0.8866、0.9934。
图7b可以知道SAE-DRN的AUC值为最大,且远高于SVM的AUC值。各算法在对UNSW_NB15数据集进行二元分类时,SVM优于LR、KNN、CART、RF5等算法,其Precision、Recall、F1-score分别为0.9209、0.9472、0.9338,但其Precision、F1-score值仍比SAE-DRN低0.0348、0.0141;另外,SAE-DRN在AUC值方面同样优于其它算法。二元分类实验结果可以证明,SAE-DRN算法能够提高入侵检测的检测准确率,同时也能够显著地降低误报率,具有较好的检测性能。
(4)多元分类实验结果
在展示SAE-DRN、SVM、LR、KNN、CART、RF分别对KDD CUP 99、NSL-KDD、UNSW_NB15数据集进行多元分类时的各项性能指标,由于实验数据集较多,本申请实施例并未详细列出针对各种攻击类型检测指标,仅列出针对各种数据集进行检测的综合指标。同时,考虑到KDD CUP 99、NSL-KDD、UNSW_NB15多分类数据集为非平衡数据集,本申请实施例引入微平均ROC曲线图与宏平均ROC曲线图,以区分各种算法对大量样本数量的攻击类型、少量样本数量的攻击类型的检测效果。其中,微平均ROC曲线图反映算法对具有大量样本的数据的分类情况,宏平均ROC曲线图描述了算法对只有少量样本的数据的分类情况,微平均、宏平均ROC曲线图所围成的面积越大(AUC值越大),表明算法分类性能越好。
对KDD CUP 99、NSL-KDD、UNSW_NB15数据集进行多元分类时,SAE-DRN的Accuracy、Precision、Recall、F1-score值均高于SVM、LR、KNN、CART、RF的Accuracy、Precision、Recall、F1-score值。SAE-DRN算法对KDD CUP 99进行多元分类时Accuracy、Precision、Recall、F1-score分别为0.9884、0.9841、0.9884、0.9856,分别高出SVM、LR、KNN、CART、RF算法3.24%~10.48%,3.79%~9.67%,3.24%~10.48%,3.56%~12.27%;对NSL-KDD进行多元分类时,SAE-DRN算法的各项评估指标也均远优于SVM、LR、KNN、CART、RF算法,尤其远超SVM、CART算法,在Accuracy方面SAE-DRN比SVM高出38.85%,比CART高出38.93%;在Precision方面SAE-DRN比SVM高出62.26%,比CART高出62.99%;在Recall方面SAE-DRN比SVM高出38.85%,比CART高出38.93%;在F1-score方面SAE-DRN比SVM高出54.35%,比CART高出54.53%。在对UNSW_NB15数据集进行多元分类时,KNN、CART与RF的综合性能表现较差,各项评估指标均处于0.4227~0.7196之间,SVM、LR表现稍好,各项评估指标处于0.6388~0.7771之间,SAE-DRN则表现最优,其Accuracy、Precision、Recall、F1-score分别为0.8283、0.8041、0.8283、0.8117远高于其它算法。
图8a、图8b为本申请实施例提供的KDD CUP99微平均ROC曲线图与宏平均ROC曲线图;图8c、图8d为本申请实施例提供的NSL-KDD微平均ROC曲线图与宏平均ROC曲线图;图8e、图8f为本申请实施例提供的UNSW-NB15微平均ROC曲线图与宏平均ROC曲线图。
通过图8a可以看到SAE-DRN在对KDD CUP 99数据集进行多元分类时,其微平均ROC曲线图所围成的面积(AUC值)为0.99,其余算法的AUC值处于0.93~0.97之间均低于0.99,但相差不大;但通过宏平均ROC曲线图可以看出SAE-DRN的AUC值为0.77,高出其它算法6%~16%,这说明SAE-DRN在识别像U2R这种样本数量较少的攻击类型时所表现出的性能优于其它算法。
图8b可以更为明显的看出SAE-DRN相对于其它算法的优越性,在微平均ROC曲线图中SAE-DRN的AUC值为0.95,高出其它算法5%~24%,宏平均ROC曲线图中SAE-DRN的AUC值为0.81,高出其它算法12%~31%,说明SAE-DRN在对NSL-KDD数据集进行多元分类时,无论样本数量多少,SAE-DRN的性能均远超其它算法。
图8c可知在对UNSW-NB15进行多元分类时,SAE-DRN的微平均、宏平均ROC曲线所围成的面积均为最大,说明SAE-DRN对UNSW-NB15进行多分类时的性能同样优于其它算法。
上述分析可知,各算法在对各数据集进行多元分类时微平均ROC曲线所围成的面积均比宏平均ROC曲线所围成的面积大,反映了各个算法对攻击数目较多的攻击数据的检测能力较高,而对攻击数目较少的样本的检测能力较低。但依据SAE-DRN分类结果绘制的微平均ROC曲线、宏平均ROC曲线所围成的面积(AUC值),相对于其它算法而言均为最大。说明了SAE-DRN算法对于多元分类的入侵检测问题上同样能够提高入侵检测准确率,同时显著降低了误报率,检测性能较好。
结合上述实施例,图9示出了本申请实施例提供的一种入侵检测方法,所述方法包括如下步骤:
步骤901:根据任务性质确定问题簇的数目,构建基于问题簇的全方位变步长搜索算法,并初始化天牛的寻优方向、寻优次数、迭代步长、以及每次迭代后步长的衰退因子λ。
步骤902:执行EBAS算法并输出超参数,将EBAS算法输出的超参数传入SAE模块以及DRN模块,确定所述SAE模块以及DRN模块中网络的层数以及各层神经元的个数。
步骤903:针对不同入侵检测数据集进行归一化处理,得到混合、归一化后的数据集X。
步骤904:将所述数据集X输入至所述SAE模块,并对所述SAE模块进行预训练。
步骤905:将步骤904中获得的数据集X的特征数据输入至所述DRN模块,并训练所述DRN模块。
步骤906:逐层调整参数,计算并返回训练集与交叉验证集的损失值,并将损失值作为EBAS模块的目标函数值,更新所述EBAS模块的相关参数。
步骤907:反复执行步骤903到步骤906,直至触发所述EBAS模块的迭代终止条件,获得SAE-DRN神经网络的最优参数。
步骤908:传递所述最优参数至所述SAE模块以及DRN模块并对其训练,训练完成后在实际入侵检测数据集上进行验证。
在一种可能的实施方式中,所述EBAS算法的具体实现步骤如下:
步骤a:初始化所述EBAS算法的参数,所述参数包括问题簇的个数M与每个问题簇的寻优维度n,并根据M与n值初始化M个天牛的感知方向dir,天牛两触角之间的距离d0,寻优次数N,迭代步长L以及每次迭代后步长的衰退因子λ;
步骤b:在每个天牛感知方向上,分别计算左右触角位置Xl与Xr,并且分别代入目标函数计算左右触角位置的目标函数值costl、costr;
步骤c:根据所述左右触角目标函数值,计算天牛下一步更新的位置X,并计算新的目标函数值cost_nest;
步骤d:对比所述costl、costr、cost_nest、best_cost,选择最优值作为当前最优目标函数值,并记录此时天牛位置,并按照最优位置更新策略进行位置更新;
步骤e:如果best_cost值出现改变,迭代步长恢复至初始状态;否则,按照回溯式步长更新法则进行更新;
步骤f:重复执行步骤b、c、d、e,直至满足迭代停止条件。
可以看出,本申请实施例提出一种基于稀疏自编码器与深度残差网络相结合的自适应深度的网络入侵检测方法,有效解决了传统入侵检测方法准确率偏低、误报率高的问题。将传统DRN残差块中的卷积层替换为全连接层简化网络结构、减少网络参数量、加速网络训练,将原本处于跳层连接之后的激活函数层移至跳层连接之前,更为有效地解决了梯度爆炸、梯度消失与网络“退化”问题。同时,本申请实施例设计了一种改进天牛须搜索算法EBAS,使整个算法自适应的决定其内部神经网络的网络层数、每层网络中神经元的个数。
实验表明,无论在KDD CUP 99数据集、NSL-KDD数据集或UNSW-NB15数据集上,SAE-DRN算法在各评价指标上与传统入侵检测算法相比均具有明显优势。下一步研究重点在于扩展SAE-DRN检测算法的检测范围,进一步提升SAE-DRN检测算法对其它网络安全威胁的检测能力。
基于相同的技术构思,本申请实施例还提供了一种入侵检测系统,如图10所示,所述系统包括:
数据处理模块1001,用于根据任务性质确定问题簇的数目,构建基于问题簇的全方位变步长搜索算法,并初始化天牛的寻优方向、寻优次数、迭代步长、以及每次迭代后步长的衰退因子λ。
EBAS寻优模块1002,用于执行EBAS算法并输出超参数,将EBAS算法输出的超参数传入SAE模块以及DRN模块,确定所述SAE模块以及DRN模块中网络的层数以及各层神经元的个数;针对不同入侵检测数据集进行归一化处理,得到混合、归一化后的数据集X。
SAE-DRN训练模块1003,用于将所述数据集X输入至所述SAE模块,并对所述SAE模块进行预训练;将获得的数据集X的特征数据输入至所述DRN模块,并训练所述DRN模块;逐层调整参数,计算并返回训练集与交叉验证集的损失值,并将损失值作为EBAS模块的目标函数值,更新所述EBAS模块的相关参数;反复执行直至触发所述EBAS模块的迭代终止条件,获得SAE-DRN神经网络的最优参数;传递所述最优参数至所述SAE模块以及DRN模块并对其训练,训练完成后在实际入侵检测数据集上进行验证。
在一种可能的实施方式中,所述EBAS寻优模块1002具体用于:所述EBAS算法的具体实现步骤如下:
步骤a:初始化所述EBAS算法的参数,所述参数包括问题簇的个数M与每个问题簇的寻优维度n,并根据M与n值初始化M个天牛的感知方向dir,天牛两触角之间的距离d0,寻优次数N,迭代步长L以及每次迭代后步长的衰退因子λ;
步骤b:在每个天牛感知方向上,分别计算左右触角位置Xl与Xr,并且分别代入目标函数计算左右触角位置的目标函数值costl、costr;
步骤c:根据所述左右触角目标函数值,计算天牛下一步更新的位置X,并计算新的目标函数值cost_nest;
步骤d:对比所述costl、costr、cost_nest、best_cost,选择最优值作为当前最优目标函数值,并记录此时天牛位置,并按照最优位置更新策略进行位置更新;
步骤e:如果best_cost值出现改变,迭代步长恢复至初始状态;否则,按照回溯式步长更新法则进行更新;
步骤f:重复执行步骤b、c、d、e,直至满足迭代停止条件。
基于相同的技术构思,本申请实施例还提供了一种设备,所述设备包括:数据采集装置、处理器和存储器;所述数据采集装置用于采集数据;所述存储器用于存储一个或多个程序指令;所述处理器,用于执行一个或多个程序指令,用以执行所述的方法。
基于相同的技术构思,本申请实施例还提供了一种计算机可读存储介质,所述计算机存储介质中包含一个或多个程序指令,所述一个或多个程序指令用于执行所述的方法。
本说明书中上述方法的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。相关之处参见方法实施例的部分说明即可。
需要说明的是,尽管在附图中以特定顺序描述了本发明方法的操作,但这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
虽然本申请提供了如实施例或流程图的方法操作步骤,但基于常规或者无创造性的手段可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或客户端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至为分布式数据处理环境)。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、产品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、产品或者设备所固有的要素。在没有更多限制的情况下,并不排除在包括所述要素的过程、方法、产品或者设备中还存在另外的相同或等同要素。
上述实施例阐明的单元、装置或模块等,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本申请时可以把各模块的功能在同一个或多个软件和/或硬件中实现,也可以将实现同一功能的模块由多个子模块或子单元的组合实现等。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内部包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构、类等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,移动终端,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例采用递进的方式描述,各个实施例之间相同或相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。本申请可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
以上所述的具体实施例,对本申请的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本申请的具体实施例而已,并不用于限定本申请的保护范围,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (6)
1.一种入侵检测方法,其特征在于,所述方法包括:
步骤1:根据任务性质确定问题簇的数目,构建基于问题簇的全方位变步长搜索算法,并初始化天牛的寻优方向、寻优次数、迭代步长、以及每次迭代后步长的衰退因子λ;
步骤2:执行EBAS算法并输出超参数,将EBAS算法输出的超参数传入SAE模块以及DRN模块,确定所述SAE模块以及DRN模块中网络的层数以及各层神经元的个数;
步骤3:针对不同入侵检测数据集进行归一化处理,得到混合、归一化后的数据集X;
步骤4:将所述数据集X输入至所述SAE模块,并对所述SAE模块进行预训练;
步骤5:将步骤4中获得的数据集X的特征数据输入至所述DRN模块,并训练所述DRN模块;
步骤6:逐层调整参数,计算并返回训练集与交叉验证集的损失值,并将损失值作为EBAS模块的目标函数值,更新所述EBAS模块的相关参数;
步骤7:反复执行步骤3到步骤6,直至触发所述EBAS模块的迭代终止条件,获得SAE-DRN神经网络的最优参数;
步骤8:传递所述最优参数至所述SAE模块以及DRN模块并对其训练,训练完成后在实际入侵检测数据集上进行验证;
所述EBAS算法的具体实现步骤如下:
步骤a:初始化所述EBAS算法的参数,所述参数包括问题簇的个数M与每个问题簇的寻优维度n,并根据M与n值初始化M个天牛的感知方向dir,天牛两触角之间的距离d0,寻优次数N,迭代步长L以及每次迭代后步长的衰退因子λ;
步骤b:在每个天牛感知方向上,分别计算左右触角位置Xl与Xr,并且分别代入目标函数计算左右触角位置的目标函数值costl、costr;
步骤c:根据所述左右触角目标函数值,计算天牛下一步更新的位置X,并计算新的目标函数值cost_nest;
步骤d:对比所述costl、costr、cost_nest、best_cost,选择最优值作为当前最优目标函数值,并记录此时天牛位置,并按照最优位置更新策略进行位置更新;
步骤e:如果best_cost值出现改变,迭代步长恢复至初始状态;否则,按照回溯式步长更新法则进行更新;
步骤f:重复执行步骤b、c、d、e,直至满足迭代停止条件;
在步骤1中,所述根据任务性质确定问题簇的数目,构建基于问题簇的全方位变步长搜索算法,包括:
初始化全方位变步长天牛搜索方位按照如下公式计算:
di=rands(1,ni)
diri=di/norm(di)
i表示第i个问题簇,ni表示第i个问题簇上待优化问题的维度,di表示方向上与第i个问题簇的寻优方向相同,维度上与第i个问题簇中待优化问题维度相同的随机向量;diri=di/norm(di)将di转化为单位向量;
残差块中将放置于跳层连接之前的ReLU层置于跳层连接之后;DRN的最后层为全连接层,将全连接层所输出的数据信息导入Sigmoid二分类或Softmax多分类函数,获取数据所属类型的概率值;
回溯式天牛步长更新法则:1.迭代后天牛的最优位置未更新,则下一次迭代的步长为移动步长L乘以衰退因子α以缩小搜索范围;2.迭代后天牛的最优位置出现变化,则下一次迭代的步长回溯至初始步长,增加算法的搜索范围,降低算法陷入局部最优的概率。
3.一种入侵检测系统,其特征在于,所述系统包括:
数据处理模块,用于根据任务性质确定问题簇的数目,构建基于问题簇的全方位变步长搜索算法,并初始化天牛的寻优方向、寻优次数、迭代步长、以及每次迭代后步长的衰退因子λ;
EBAS寻优模块,用于执行EBAS算法并输出超参数,将EBAS算法输出的超参数传入SAE模块以及DRN模块,确定所述SAE模块以及DRN模块中网络的层数以及各层神经元的个数;针对不同入侵检测数据集进行归一化处理,得到混合、归一化后的数据集X;
SAE-DRN训练模块,用于将所述数据集X输入至所述SAE模块,并对所述SAE模块进行预训练;将获得的数据集X的特征数据输入至所述DRN模块,并训练所述DRN模块;逐层调整参数,计算并返回训练集与交叉验证集的损失值,并将损失值作为EBAS模块的目标函数值,更新所述EBAS模块的相关参数;反复执行直至触发所述EBAS模块的迭代终止条件,获得SAE-DRN神经网络的最优参数;传递所述最优参数至所述SAE模块以及DRN模块并对其训练,训练完成后在实际入侵检测数据集上进行验证;
所述EBAS寻优模块具体用于:所述EBAS算法的具体实现步骤如下:
步骤a:初始化所述EBAS算法的参数,所述参数包括问题簇的个数M与每个问题簇的寻优维度n,并根据M与n值初始化M个天牛的感知方向dir,天牛两触角之间的距离d0,寻优次数N,迭代步长L以及每次迭代后步长的衰退因子λ;
步骤b:在每个天牛感知方向上,分别计算左右触角位置Xl与Xr,并且分别代入目标函数计算左右触角位置的目标函数值costl、costr;
步骤c:根据所述左右触角目标函数值,计算天牛下一步更新的位置X,并计算新的目标函数值cost_nest;
步骤d:对比所述costl、costr、cost_nest、best_cost,选择最优值作为当前最优目标函数值,并记录此时天牛位置,并按照最优位置更新策略进行位置更新;
步骤e:如果best_cost值出现改变,迭代步长恢复至初始状态;否则,按照回溯式步长更新法则进行更新;
步骤f:重复执行步骤b、c、d、e,直至满足迭代停止条件;
所述数据处理模块,具体用于:
初始化全方位变步长天牛搜索方位按照如下公式计算:
di=rands(1,ni)
diri=di/norm(di)
i表示第i个问题簇,ni表示第i个问题簇上待优化问题的维度,di表示方向上与第i个问题簇的寻优方向相同,维度上与第i个问题簇中待优化问题维度相同的随机向量;diri=di/norm(di)将di转化为单位向量;
残差块中将放置于跳层连接之前的ReLU层置于跳层连接之后;DRN的最后层为全连接层,将全连接层所输出的数据信息导入Sigmoid二分类或Softmax多分类函数,获取数据所属类型的概率值;
回溯式天牛步长更新法则:1.迭代后天牛的最优位置未更新,则下一次迭代的步长为移动步长L乘以衰退因子α以缩小搜索范围;2.迭代后天牛的最优位置出现变化,则下一次迭代的步长回溯至初始步长,增加算法的搜索范围,降低算法陷入局部最优的概率。
5.一种计算机设备,其特征在于,所述设备包括:数据采集装置、处理器和存储器;
所述数据采集装置用于采集数据;所述存储器用于存储一个或多个程序指令;所述处理器,用于执行一个或多个程序指令,用以执行如权利要求1-2任一项所述的方法。
6.一种计算机可读存储介质,其特征在于,所述计算机存储介质中包含一个或多个程序指令,所述一个或多个程序指令用于执行如权利要求1-2任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011264132.7A CN113449837B (zh) | 2020-11-12 | 2020-11-12 | 一种入侵检测方法、系统、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011264132.7A CN113449837B (zh) | 2020-11-12 | 2020-11-12 | 一种入侵检测方法、系统、设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113449837A CN113449837A (zh) | 2021-09-28 |
CN113449837B true CN113449837B (zh) | 2022-10-11 |
Family
ID=77808517
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011264132.7A Active CN113449837B (zh) | 2020-11-12 | 2020-11-12 | 一种入侵检测方法、系统、设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113449837B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114095216B (zh) * | 2021-11-03 | 2023-04-07 | 东南大学 | 一种有限训练样本下基于对比学习的恶意域名检测方法 |
CN114531274B (zh) * | 2022-01-13 | 2022-11-04 | 西安电子科技大学 | 通信信号调制识别的智能对抗方法、系统、介质及设备 |
CN115086019A (zh) * | 2022-06-14 | 2022-09-20 | 西京学院 | 一种工业物联网物理层数据波形特征入侵检测方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109829299A (zh) * | 2018-11-29 | 2019-05-31 | 电子科技大学 | 一种基于深度自编码器的未知攻击识别方法 |
CN111092897A (zh) * | 2019-12-23 | 2020-05-01 | 深圳供电局有限公司 | 具有主动免疫攻击识别方法及充电装置 |
WO2020092446A2 (en) * | 2018-10-29 | 2020-05-07 | Strong Force TX Portfolio 2018, LLC | Methods and systems for improving machines and systems that automate execution of distributed ledger and other transactions in spot and forward markets for energy, compute, storage and other resources |
CN111177925A (zh) * | 2019-12-30 | 2020-05-19 | 江苏益邦电力科技有限公司 | 一种基于bas-bp算法的绞线rlcg参数提取方法 |
CN111222133A (zh) * | 2019-11-14 | 2020-06-02 | 辽宁工程技术大学 | 一种工控网络入侵检测的多级自适应耦合方法 |
CN111294341A (zh) * | 2020-01-17 | 2020-06-16 | 成都信息工程大学 | 基于自编码器和递归神经网络的车载系统入侵检测方法 |
CN111416797A (zh) * | 2020-02-25 | 2020-07-14 | 江西理工大学 | 改进天牛群算法优化正则化极限学习机的入侵检测方法 |
CN111625816A (zh) * | 2020-04-21 | 2020-09-04 | 江西理工大学 | 一种入侵检测方法及装置 |
-
2020
- 2020-11-12 CN CN202011264132.7A patent/CN113449837B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020092446A2 (en) * | 2018-10-29 | 2020-05-07 | Strong Force TX Portfolio 2018, LLC | Methods and systems for improving machines and systems that automate execution of distributed ledger and other transactions in spot and forward markets for energy, compute, storage and other resources |
CN109829299A (zh) * | 2018-11-29 | 2019-05-31 | 电子科技大学 | 一种基于深度自编码器的未知攻击识别方法 |
CN111222133A (zh) * | 2019-11-14 | 2020-06-02 | 辽宁工程技术大学 | 一种工控网络入侵检测的多级自适应耦合方法 |
CN111092897A (zh) * | 2019-12-23 | 2020-05-01 | 深圳供电局有限公司 | 具有主动免疫攻击识别方法及充电装置 |
CN111177925A (zh) * | 2019-12-30 | 2020-05-19 | 江苏益邦电力科技有限公司 | 一种基于bas-bp算法的绞线rlcg参数提取方法 |
CN111294341A (zh) * | 2020-01-17 | 2020-06-16 | 成都信息工程大学 | 基于自编码器和递归神经网络的车载系统入侵检测方法 |
CN111416797A (zh) * | 2020-02-25 | 2020-07-14 | 江西理工大学 | 改进天牛群算法优化正则化极限学习机的入侵检测方法 |
CN111625816A (zh) * | 2020-04-21 | 2020-09-04 | 江西理工大学 | 一种入侵检测方法及装置 |
Non-Patent Citations (3)
Title |
---|
Network Intrusion Detection Based on Conditional Wasserstein Generative Adversarial Network and Cost-Sensitive Stacked Autoencoder;Guoling Zhang等;《IEEE Access》;20201019;第8卷;190431-190447 * |
基于天牛群优化与改进正则化极限学习机的网络入侵检测;王振东等;《自动化学报》;20200414;1-20 * |
基于深度学习的网络异常检测技术研究;尹传龙;《中国优秀博硕士学位论文全文数据库(博士)信息科技辑》;20190715(第07期);I139-1 * |
Also Published As
Publication number | Publication date |
---|---|
CN113449837A (zh) | 2021-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Elmasry et al. | Evolving deep learning architectures for network intrusion detection using a double PSO metaheuristic | |
CN113449837B (zh) | 一种入侵检测方法、系统、设备及可读存储介质 | |
Sarker | CyberLearning: Effectiveness analysis of machine learning security modeling to detect cyber-anomalies and multi-attacks | |
Sinha et al. | Efficient deep CNN-BiLSTM model for network intrusion detection | |
Galar et al. | An overview of ensemble methods for binary classifiers in multi-class problems: Experimental study on one-vs-one and one-vs-all schemes | |
Lin et al. | Particle swarm optimization for parameter determination and feature selection of support vector machines | |
Faraoun et al. | Neural networks learning improvement using the K-means clustering algorithm to detect network intrusions | |
Elmasry et al. | Deep learning approaches for predictive masquerade detection | |
Yang et al. | IoT data analytics in dynamic environments: From an automated machine learning perspective | |
CN113159264B (zh) | 一种入侵检测方法、系统、设备及可读存储介质 | |
CN113364751B (zh) | 网络攻击预测方法、计算机可读存储介质及电子设备 | |
CN111835707A (zh) | 一种基于改进后的支持向量机的恶意程序识别方法 | |
CN112668688A (zh) | 一种入侵检测方法、系统、设备及可读存储介质 | |
Sanida et al. | Tomato leaf disease identification via two–stage transfer learning approach | |
Faber et al. | Vlad: Task-agnostic vae-based lifelong anomaly detection | |
Yu et al. | Improving adversarial robustness by learning shared information | |
Zhang et al. | Smartphone sensors‐based human activity recognition using feature selection and deep decision fusion | |
Naik et al. | An efficient FLANN model with CRO-based gradient descent learning for classification | |
Kabir et al. | Ant colony optimization toward feature selection | |
Faraoun et al. | Neural networks learning improvement using the k-means clustering algorithm to detect network intrusions | |
Narayanan et al. | Particle swarm optimization based artificial neural network (PSO-ANN) model for effective k-barrier count intrusion detection system in WSN | |
Manikandan et al. | Feature Selection and Machine Learning Models for High‐Dimensional Data: State‐of‐the‐Art | |
Płoński et al. | Self-organising maps for classification with metropolis-hastings algorithm for supervision | |
KR20230140681A (ko) | 뉴럴 트리 디코더를 이용한 해석 가능한 비전 변환기 및 그에 의한 분류 방법 | |
Ince | A novel approach for intrusion detection systems: V-IDS |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |