CN109120610A - 一种融合改进智能蜂群算法和bp神经网络的入侵检测方法 - Google Patents
一种融合改进智能蜂群算法和bp神经网络的入侵检测方法 Download PDFInfo
- Publication number
- CN109120610A CN109120610A CN201810874273.7A CN201810874273A CN109120610A CN 109120610 A CN109120610 A CN 109120610A CN 201810874273 A CN201810874273 A CN 201810874273A CN 109120610 A CN109120610 A CN 109120610A
- Authority
- CN
- China
- Prior art keywords
- neural network
- bee
- network
- data
- algorithm
- 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.)
- Pending
Links
Classifications
-
- 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
-
- 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/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/145—Network analysis or design involving simulating, designing, planning or modelling of a network
-
- 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/1425—Traffic logging, e.g. anomaly detection
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- Biomedical Technology (AREA)
- Artificial Intelligence (AREA)
- Computer Hardware Design (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种融合改进智能蜂群算法和BP神经网络的入侵检测方法,包括以下步骤:搜集网络数据包并进行预处理,作为入侵检测模型训练数据;设计多层神经网络模型,为隐藏层和输出层神经元设置激活函数;使用改进智能蜂群算法对神经网络模型进行预训练,输出最优蜜源位置向量;按照最优蜜源位置向量设置神经网络模型的初始权值和阈值;设计反向传播算法并用入侵检测数据对神经网络进行训练,得到神经网络入侵检测模型;设计网络入侵检测软件模块,将其部署在网络环境中实时检测网络数据流量,对检测出的异常网络流量产生报警。本发明采用改进智能蜂群算法优化BP神经网络算法,并且提高了神经网络模型的训练速度和入侵检测的精度。
Description
技术领域
本发明涉及网络安全领域,尤其涉及一种融合改进智能蜂群算法和BP神经网络的入侵检测方法。
背景技术
随着互联网技术的发展,人们通过网络互连互通更加方便,通过网络提供的各种服务方便了人们的生活与工作。然而网络安全问题也日益突出,不法分子可能通过对网络进行侵害来谋取利益,因此对网络攻击的检测和防御称为网络安全的一个热点。攻击者通常会利用网络协议的缺陷来进行攻击,主要有拒绝服务攻击、用户提权攻击、远程到本地攻击、端口扫描攻击等。目前,对攻击进行检测的方法包括基于分类和聚类的方法,都是通过对网络流量进行分析来检测网络入侵。
机器学习方法已经被广泛的应用于识别不同类型的攻击,并且机器学习方法可以帮助网络管理员采取相应的措施来应对网络入侵。然而,大多数传统的机器学习方法属于浅层学习,需要人为的进行大量的特征分类和特征选择,它们不能解决在真实网络应用环境中面临的大量攻击和入侵数据的分类问题。另外,浅层学习不适合智能分析和海量数据高维学习的预测需求。而BP神经网络模型具有良好的适应性,自学习以及非线性逼近能力,能满足上面提到的这些需求,目前已被广泛应用于预测,建模,分类和自适应控制等领域。
群体智能被简单的定义为去中心化和自组织群体的集体行为。众所周知,这些种群可以是鸟群、鱼群,或者是一些社交昆虫,例如蚁群、蜂群等。在20世纪90年代,特别是基于蚁群和鱼群的两类方法极大地引起了研究人员的兴趣。群体智能需要群体满足自组织特征,但自从21世纪以来,研究人员开始对用蜜蜂的种群行为来描述新的智能方法感兴趣。近十几年来,已经开发出一些基于蜜蜂种群的各种智能行为的算法。种群算法起源于数值优化问题,是一类元启发式目标优化算法。
鉴于人工神经网络传统训练方法存在的缺陷,研究者们开始尝试将启发式算法应用到神经网络的设计和参数优化中,即采用智能启发式的方法训练神经网络,这两者的融合产生了一种全新的神经网络,称为进化神经网络。人工蜂群算法ABC(Artificial BeeColony Algorithm)是一种新兴的智能启发式算法,是2005年在Erciyes大学提出,算法来源于对蜜蜂采蜜行为的研究和模拟。ABC算法与其他智能启发式算法如粒子群算法PSO(Particle Swarm Optimization)、蚁群算法ACO(Ant Colony Optimization)、差分进化算法DE(Differential Evolution)相比,其具有简单方便、参数少、鲁棒性强等优点。
优化技术是一种以数学为基础,在一定时间条件限制下为目标优化算法寻找最优可行解的应用技术。20世纪80年代以前的优化算法主要利用数学解析,迭代求解等方法来解决实际问题,被称为传统优化算法。这些方法有完备的理论分析和数学证明,而且在连续、低维等优化问题上也取得了良好的效果,但是对于多峰、高维以及不连续的优化问题就显得有些无能为力了。从20世纪80年代开始,涌现除了一些新颖的有别于传统优化算法的启发式算法,例如遗传算法(Genetic Algorithm)是模拟达尔文生物进化论的自然选择和遗传学机理的生物进化过程的计算模型;模拟退火算法SA(Simulated Annealing)的思路来源于物理学中固体物质的退火过程。这些算法都模仿了自然界中发生的某些过程。
发明内容
本发明公开了一种融合改进智能蜂群算法和BP神经网络的入侵检测方法,使用改进智能蜂群算法优化BP神经网络模型,通过神经网络模型对网络数据进行检测,提高对网络攻击的检测率,降低误报率。
为了实现上述目的,本发明采用以下技术方案:
本发明的一种融合改进智能蜂群算法和BP神经网络的入侵检测方法,包括如下步骤:
步骤S1.搜集网络数据包并进行预处理,作为入侵检测模型训练数据;所述预处理具体包括如下步骤:
步骤S1-1.数值化,对于入侵检测数据中的字符型特征,通过将其扩展为单位向量来完成数值化;假设该特征有k个特征值,则将其扩展为k维单位向量;
步骤S1-2.归一化,数据按比例缩放,将其统一映射到[-1,1]区间上;计算表达式如式(1)所示:
其中,x表示原始数据,xmax表示原始数据的上界,xmin表示原始数据的下界,y表示归一化之后的数据,ymax表示归一化后数据的上界,ymin表示归一化后数据的下界;
步骤S2.设计多层神经网络模型,为隐藏层和输出层神经元设置相应的激活函数;所述多层神经网络模型是一种机器学习算法,是一种模仿生物神经网络的结构和功能的计算模型;神经网络由大量的人工神经元联结进行计算,是一种自适应***;具体包括如下步骤:
步骤S2-1.设置网络层的节点数,设置隐藏层和输出层神经元的数目;
步骤S2-2.在神经网络输入层、隐藏层和输出层之间建立连接,设置相应的权值和阈值参数;
步骤S2-3.为隐藏层和输出层神经元设置相应的激活函数,使神经网络模型具有分类特性;
步骤S3.使用改进的智能蜂群算法对神经网络模型进行预训练,输出最优的蜜源位置向量;所述改进智能蜂群算法是在经典人工蜂群算法基础上,结合深度优先搜索框架和两个基于精英解的搜索表达式形成;
所述人工蜂群算法是一种模拟蜜蜂采蜜行为的算法,其角色分为雇佣蜂、观察蜂和侦察蜂;假设在D维空间中,种群规模为2×N,雇佣蜂个数=观察蜂个数=N,蜜源与雇佣蜂相对应,蜜源数目也为N,第i个蜜源的位置记为X={X1,X2,X3,…,XN};每个蜜源的位置代表优化问题的一个候选解,花蜜的数量反映解的质量;
所述深度优先搜索是一种用于遍历树或图的算法,沿着树的深度遍历树的节点,尽可能深的搜索树的分支;基于精英解的搜索表达式如式(2)和式(3)所示:
Vi,j=Xe,j+φi,j×(Xe,j-Xk,j) (2)
其中,i和k在{1,2,…N}中随机选择,j从{1,2,…,D}中随机选择,Vi,j是第i个候选蜜源的第j维;Xe,j是第e个食物源的第j维,Xk,j是第k个食物源的第j维;φi,j是区间[-1,1]的随机实数;
其中,Xe为从精英解中随机选择的解,Xk为从当前种群中随机选择的解;e不等于k,且k不等于i;Xbest为当前最优解,φe,j是区间[-1,1]的随机实数;
所述改进智能蜂群算法对蜜源的搜索过程,具体包括如下步骤:
步骤S3-1.雇佣蜂对当前蜜源进行邻域搜索,产生新蜜源,根据贪婪原则选择选择较优蜜源;
步骤S3-2.观察蜂根据雇佣蜂分享的信息选择一个蜜源,进行邻域搜索,根据贪婪原则选择较优蜜源;
步骤S3-3.雇佣蜂放弃蜜源,转变为侦察蜂,并随机搜索新的蜜源;搜索过程中,观察蜂根据雇佣蜂分享的信息,以轮盘赌的方式根据以下表达式选择一个蜜源:
式中,pi表示选择第i个蜜源的概率,fit是食物源的适应度,fi表示待解决问题的目标函数值;
雇佣蜂根据记忆中食物源的位置进行邻域搜索,当找到新的食物源时会评估其适应度,雇佣蜂根据表达式(6)进行搜索:
Vij=Xij+Rij(Xij-Xhj) (6)
式中,i∈{1,2,...,N},j∈{1,2,...,m},Xhj中的h是随机选取的,Rij是[-1,1]之间的一个随机数,Vij表示邻域食物源,Xij表示当前食物源,Xhj表示随机选取的食物源,每个解经历数次迭代,如果没有改善则舍弃该解;如果某个解i经过数次迭代后没有成功更新,按照表达式(7)重新进行初始化:
Xi=Xmin+rand(0,1)(Xmax-Xmin) (7)
式中,Xmax、Xmin分别表示定义域的上边界和下边界,rand(0,1)表示在0到1之间的随机数;
步骤S4.按照步骤S3中输出的最优蜜源位置向量设置神经网络模型的初始权值和阈值;
步骤S5.设计反向传播算法并用入侵检测数据对神经网络进行训练,得到神经网络入侵检测模型;所述反向传播算法是一种通用的训练神经网络的方法,通过最小化神经网络的损失函数,来调整神经网络的权值和阈值;具体包括如下步骤:
步骤S5-1.设计反向传播算法;选择平方误差函数作为神经网络训练的损失函数,同时为了避免神经网络训练过拟合,在损失函数中增加权值与阈值的平方和,训练过程将会偏向比较小的连接权值和阈值,使网络输出更加平滑;
选择随机梯度下降方法,以损失函数的负梯度方向对权值与阈值进行调整,迭代降低损失函数的值,并且为了提高神经网络训练过程中跳出局部极小值的能力,在计算梯度时加入了随机因素,即使陷入了局部极小点,计算出的梯度仍可能不为零,有机会跳出局部最小继续搜索;
步骤S5-2.将入侵检测数据作为神经网络的训练数据,使用反向传播算法对神经网络模型进行训练,得到神经网络入侵检测模型;
步骤S6.根据神经网络入侵检测模型设计网络入侵检测软件模块,将网络入侵检测软件模块部署在网络环境中实时检测网络数据流量,对检测出的异常网络流量产生报警;所述网络入侵检测软件模块具体包括如下模块:
攻击预警模块是网络入侵检测软件的第一层,实时监控请求流的变化,当请求流达到一定限定阈值时,将流量转发至流量预处理模块进行初步处理;
流量预处理模块收集接收到的网络流量数据包,对数据包进行数据预处理,并发送给神经网络入侵检测模块;
神经网络入侵检测模块接收流量预处理模块转发的数据包,神经网络入侵检测模型对数据包进行检测;
攻击响应模块接收神经网络入侵检测模块的检测结果,对于检测结果为Dos、Probe、R2L、U2R等4种异常网络数据包,产生相应的报警信息。
本发明与现有技术相比具有以下优点:
本发明使用改进的智能蜂群算法来优化BP神经网络算法,构建了一种融合改进智能蜂群算法和BP神经网络的入侵检测方法。该智能蜂群算法基于深度优先搜索框架,平衡了人工蜂群算法在对解的探索和开采方面的能力,并且采用了两个新颖的搜索表达式,引入了精英解的概念,保留了适应度高的解,加快了对于最优解的搜索。改进的智能蜂群算法一方面提高了BP神经网络训练的收敛速度;另一方面,使BP神经网络训练降低了对初始权值和阈值的限制,提高了算法的鲁棒性。在真实网络环境中,相比传统的检测方法具有一定的学习和自适应能力。
附图说明
图1为本发明实施例提供的一种融合改进智能蜂群算法和BP神经网络的入侵检测方法的流程图。
图2为本发明实施例提供的一种融合改进智能蜂群算法和BP神经网络的入侵检测方法的软件模块图。
具体实施方式
为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合附图和具体实施例对本发明做进一步详细的说明,但不以任何方式限制本发明的范围。
图1为本发明具体实施例的一种融合改进智能蜂群算法和BP神经网络的入侵检测方法流程图,该检测方法相比同类方法具有较高的检测率以及较低的误报率,具有一定的学习和自适应能力。
图2为本发明实施例的一种融合改进智能蜂群算法和BP神经网络的入侵检测方法的软件模块图,各个模块具有不同的功能,共同完成网络流量入侵检测的工作。
该检测方法包括如下步骤:
步骤S1.搜集网络数据包并进行预处理,作为入侵检测模型训练数据;所述数据预处理具体包括如下步骤:
步骤S1-1.数值化,由于神经网络模型只支持数值类型的输入,因此需要对数据进行数值化,对于入侵检测数据中的字符型特征,通过将其扩展为单位向量来完成数值化;假设该特征有k个特征值,则将其扩展为k维单位向量;例如对于特征“protocol_type”有三个特征值“tcp”“udp”“icmp”,可以编码为二进制向量(1,0,0),(0,1,0)和(0,0,1)。
步骤S1-2.归一化,数据按比例缩放,将其统一映射到[-1,1]区间上;计算表达式如式(1)所示:
其中,x表示原始数据,xmax表示原始数据的上界,xmin表示原始数据的下界,y表示归一化之后的数据,ymax表示归一化后数据的上界,ymin表示归一化后数据的下界;
步骤S2.设计多层神经网络模型,为隐藏层和输出层神经元设置相应的激活函数;具体包括如下步骤:
步骤S2-1.设置网络层的节点数,设置隐藏层和输出层神经元的数目;
步骤S2-2.在神经网络输入层、隐藏层和输出层之间建立连接,设置相应的权值和阈值;
步骤S2-3.为隐藏层和输出层神经元设置相应的激活函数。设置隐藏层神经元的激活函数为Sigmoid函数,其函数表达式如式(2)所示。Sigmoid函数的曲线为S,可以将神经网络线性组合器的输出归约到0到1之间。
输出层神经元的激励函数,设置为Softmax函数,该函数用于多分类过程中,它将多个神经元的输出映射到(0,1)区间内,其表达式如式(3)所示。
步骤S3.使用改进的智能蜂群算法对神经网络模型进行预训练,输出最优的蜜源位置向量;所述智能蜂群算法是在经典人工蜂群算法基础上,结合深度优先搜索框架和两个基于精英解的搜索表达式形成;
所述人工蜂群算法是一种模拟蜜蜂采蜜行为的算法,其角色分为雇佣蜂、观察蜂和侦察蜂;假设在D维空间中,种群规模为2×N,雇佣蜂个数=观察蜂个数=N,蜜源与雇佣蜂相对应,蜜源数目也为N,第i个蜜源的位置记为X={X1,X2,X3,…,XN};每个蜜源的位置代表优化问题的一个候选解,花蜜的数量反映解的质量;
所述深度优先搜索是一种用于遍历或搜索树或图的算法,沿着树的深度遍历树的节点,尽可能深的搜索树的分支;基于精英解的搜索表达式如式(4)和式(5)所示:
Vi,j=Xe,j+φi,j×(Xe,j-Xk,j) (4)
其中,i和k在{1,2,…N}中随机选择,j从{1,2,…,D}中随机选择,Vk,j是第k个候选蜜源的第j维;Xi,j是第i个食物源的第j维,Xk,j是第k个食物源的第j维;φi,j是区间[-1,1]的随机实数;
其中,Xe为从精英解中随机选择的解,Xk为从当前种群中随机选择的解;e不等于k,且k不等于i;Xbest为当前最优解,φe,j是区间[-1,1]的随机实数;
使用改进智能蜂群算法为BP神经网络生成初始权值和阈值。设定改进智能蜂群算法的种群大小,根据BP神经网络的权值和阈值中变量的个数,来设定解的维度,即食物源的位置代表了BP神经网络的权值和阈值。将神经网络的误差函数作为食物源的适应度函数。高优劣度的食物源即为具有高适应度的权值和阈值。改进智能蜂群算法在迭代过程中通过更新蜜源,来获得更好的解。表1所示为BP神经网络训练与蜜蜂觅食行为对应表。
表1BP神经网络训练与蜜蜂觅食行为对应表
蜂群觅食行为 | 神经网络训练 |
食物源位置 | 权重和阈值 |
食物源优劣度 | 神经网络误差 |
高优劣度食物源 | 高适应度权值和阈值 |
所述改进智能蜂群算法对蜜源的搜索过程,具体包括如下步骤:
步骤S3-1.雇佣蜂对当前蜜源进行邻域搜索,产生新蜜源,根据贪婪原则选择选择较优蜜源;
步骤S3-2.观察蜂根据雇佣蜂分享的信息选择一个蜜源,进行邻域搜索,根据贪婪原则选择较优蜜源;
步骤S3-3.雇佣蜂放弃蜜源,转变为侦察蜂,并随机搜索新的蜜源;搜索过程中,观察蜂根据雇佣蜂分享的信息,以轮盘赌的方式根据以下表达式选择一个蜜源:
式中,pi表示选择第i个蜜源的概率,fit是食物源的适应度,fi表示待解决问题的目标函数值;
雇佣蜂根据记忆中食物源的位置进行邻域搜索,当找到新的食物源时会评估其适应度,雇佣蜂根据表达式(8)进行搜索:
Vij=Xij+Rij(Xij-Xhj) (8)
式中,i∈{1,2,...,N},j∈{1,2,...,m},Xhj中的h是随机选取的,Rij是[-1,1]之间的一个随机数,Vij表示邻域食物源,Xij表示当前食物源,Xhj表示随机选取的食物源,每个解经历数次迭代,如果没有改善则舍弃该解;如果某个解i经过数次迭代后没有成功更新,按照表达式(9)重新进行初始化:
Xi=Xmin+rand(0,1)(Xmax-Xmin) (9)
式中,Xmax、Xmin分别表示定义域的上边界和下边界,rand(0,1)表示在0到1之间的随机数;
步骤S4.按照步骤S3中输出的最优蜜源位置向量设置神经网络模型的初始权值和阈值;
步骤S5.设计反向传播算法并用入侵检测数据对神经网络进行训练,得到神经网络入侵检测模型;所述反向传播算法是一种通用的训练神经网络的方法,通过最小化神经网络的损失函数,来调整神经网络的权值和阈值;具体包括如下步骤:
步骤S5-1.设计反向传播算法;选择平方误差函数作为神经网络训练的损失函数,同时为了避免神经网络训练过拟合,在损失函数中增加权值与阈值的平方和,训练过程将会偏向比较小的连接权值和阈值,使网络输出更加平滑;
选择随机梯度下降方法,以损失函数的负梯度方向对权值与阈值进行调整,迭代降低损失函数的值,并且为了提高神经网络训练过程中跳出局部极小值的能力,在计算梯度时加入了随机因素,即使陷入了局部极小点,计算出的梯度仍可能不为零,有机会跳出局部最小继续搜索;
步骤S5-2.将入侵检测数据作为神经网络的训练数据,使用反向传播算法对神经网络模型进行训练,得到神经网络入侵检测模型;
步骤S6.根据神经网络入侵检测模型设计网络入侵检测软件模块,将网络入侵检测软件模块部署在网络环境中实时检测网络数据流量,对检测出的异常网络流量产生报警;所述网络入侵检测软件模块具体包括如下模块:
攻击预警模块是网络入侵检测软件的第一层,实时监控请求流的变化,当请求流达到一定限定阈值时,将流量转发至流量预处理模块进行初步处理;
流量预处理模块收集接收到的网络流量数据包,对数据包进行数据预处理,并发送给神经网络入侵检测模块;
神经网络入侵检测模块接收流量预处理模块转发的数据包,神经网络入侵检测模型对数据包进行检测;
攻击响应模块接收神经网络入侵检测模块的检测结果,对于检测结果为Dos、Probe、R2L、U2R等4种异常网络数据包,产生相应的报警信息。
表2各种检测方法对比表
入侵检测 | BP神经网络 | 蜂群算法优化的BP神经网络 | 本发明 |
准确率(%) | 95.21 | 97.52 | 99.43 |
遗漏率(%) | 1.32 | 0.61 | 0.31 |
误报率(%) | 3.45 | 1.95 | 0.62 |
从表2检测结果可以看出,本发明所提出的入侵检测方法准确率最高,高达99%以上,基于蜂群算法优化的BP神经网络入侵检测方法准确率则要低一些,而基于单个BP神经网络的入侵检测方法准确率最差。总体而言,本发明在功能和性能上都优于其他两种方法。
本发明公开了一种融合改进智能蜂群算法和BP神经网络的入侵检测方法。使用改进智能蜂群算法避免了BP神经网络对初始参数的依赖,同时加快了神经网络的训练,提高了算法的稳定性。构建了网络入侵检测软件模块,将该神经网络模型应用于入侵检测中,对异常数据流量进行检测,验证了本发明入侵检测方法具有较高的识别和分类能力。
尽管本发明的内容已经通过上述优选实施例作了详细介绍,但应当认识到上述的描述不应被认为是对本发明的限制。在本领域技术人员阅读了上述内容后,对于本发明的多种修改和替代都是显而易见的。因此,本发明的保护范围应由所附的权利要求来限定。
Claims (1)
1.一种融合改进智能蜂群算法和BP神经网络的入侵检测方法,其特征在于,包括如下步骤:
步骤S1.搜集网络数据包并进行预处理,作为入侵检测模型训练数据;所述预处理具体包括如下步骤:
步骤S1-1.数值化,对于入侵检测数据中的字符型特征,通过将其扩展为单位向量来完成数值化;假设该特征有k个特征值,则将其扩展为k维单位向量;
步骤S1-2.归一化,数据按比例缩放,将其统一映射到[-1,1]区间上;计算表达式如式(1)所示:
其中,x表示原始数据,xmax表示原始数据的上界,xmin表示原始数据的下界,y表示归一化之后的数据,ymax表示归一化后数据的上界,ymin表示归一化后数据的下界;
步骤S2.设计多层神经网络模型,为隐藏层和输出层神经元设置相应的激活函数;所述多层神经网络模型是一种机器学习算法,是一种模仿生物神经网络的结构和功能的计算模型;神经网络由大量的人工神经元联结进行计算,是一种自适应***;具体包括如下步骤:
步骤S2-1.设置网络层的节点数,设置隐藏层和输出层神经元的数目;
步骤S2-2.在神经网络输入层、隐藏层和输出层之间建立连接,设置相应的权值和阈值参数;
步骤S2-3.为隐藏层和输出层神经元设置相应的激活函数,使神经网络模型具有分类特性;
步骤S3.使用改进的智能蜂群算法对神经网络模型进行预训练,输出最优的蜜源位置向量;所述改进智能蜂群算法是在经典人工蜂群算法基础上,结合深度优先搜索框架和两个基于精英解的搜索表达式形成;
所述人工蜂群算法是一种模拟蜜蜂采蜜行为的算法,其角色分为雇佣蜂、观察蜂和侦察蜂;假设在D维空间中,种群规模为2×N,雇佣蜂个数=观察蜂个数=N,蜜源与雇佣蜂相对应,蜜源数目也为N,第i个蜜源的位置记为X={X1,X2,X3,…,XN};每个蜜源的位置代表优化问题的一个候选解,花蜜的数量反映解的质量;
所述深度优先搜索是一种用于遍历树或图的算法,沿着树的深度遍历树的节点,尽可能深的搜索树的分支;基于精英解的搜索表达式如式(2)和式(3)所示:
Vi,j=Xe,j+φi,j×(Xe,j-Xk,j) (2)
其中,i和k在{1,2,…N}中随机选择,j从{1,2,…,D}中随机选择,Vi,j是第i个候选蜜源的第j维;Xe,j是第e个食物源的第j维,Xk,j是第k个食物源的第j维;φi,j是区间[-1,1]的随机实数;
其中,Xe为从精英解中随机选择的解,Xk为从当前种群中随机选择的解;e不等于k,且k不等于i;Xbest为当前最优解,φe,j是区间[-1,1]的随机实数;
所述改进智能蜂群算法对蜜源的搜索过程,具体包括如下步骤:
步骤S3-1.雇佣蜂对当前蜜源进行邻域搜索,产生新蜜源,根据贪婪原则选择选择较优蜜源;
步骤S3-2.观察蜂根据雇佣蜂分享的信息选择一个蜜源,进行邻域搜索,根据贪婪原则选择较优蜜源;
步骤S3-3.雇佣蜂放弃蜜源,转变为侦察蜂,并随机搜索新的蜜源;搜索过程中,观察蜂根据雇佣蜂分享的信息,以轮盘赌的方式根据以下表达式选择一个蜜源:
式中,pi表示选择第i个蜜源的概率,fit是食物源的适应度,fi表示待解决问题的目标函数值;
雇佣蜂根据记忆中食物源的位置进行邻域搜索,当找到新的食物源时会评估其适应度,雇佣蜂根据表达式(6)进行搜索:
Vij=Xij+Rij(Xij-Xhj) (6)
式中,i∈{1,2,...,N},j∈{1,2,...,m},Xhj中的h是随机选取的,Rij是[-1,1]之间的一个随机数,Vij表示邻域食物源,Xij表示当前食物源,Xhj表示随机选取的食物源,每个解经历数次迭代,如果没有改善则舍弃该解;如果某个解i经过数次迭代后没有成功更新,按照表达式(7)重新进行初始化:
Xi=Xmin+rand(0,1)(Xmax-Xmin) (7)
式中,Xmax、Xmin分别表示定义域的上边界和下边界,rand(0,1)表示在0到1之间的随机数;
步骤S4.按照步骤S3中输出的最优蜜源位置向量设置神经网络模型的初始权值和阈值;
步骤S5.设计反向传播算法并用入侵检测数据对神经网络进行训练,得到神经网络入侵检测模型;所述反向传播算法是一种通用的训练神经网络的方法,通过最小化神经网络的损失函数,来调整神经网络的权值和阈值;具体包括如下步骤:
步骤S5-1.设计反向传播算法;选择平方误差函数作为神经网络训练的损失函数,同时为了避免神经网络训练过拟合,在损失函数中增加权值与阈值的平方和,训练过程将会偏向比较小的连接权值和阈值,使网络输出更加平滑;
选择随机梯度下降方法,以损失函数的负梯度方向对权值与阈值进行调整,迭代降低损失函数的值,并且为了提高神经网络训练过程中跳出局部极小值的能力,在计算梯度时加入了随机因素,即使陷入了局部极小点,计算出的梯度仍可能不为零,有机会跳出局部最小继续搜索;
步骤S5-2.将入侵检测数据作为神经网络的训练数据,使用反向传播算法对神经网络模型进行训练,得到神经网络入侵检测模型;
步骤S6.根据神经网络入侵检测模型设计网络入侵检测软件模块,将网络入侵检测软件模块部署在网络环境中实时检测网络数据流量,对检测出的异常网络流量产生报警;所述网络入侵检测软件模块具体包括如下模块:
攻击预警模块是网络入侵检测软件的第一层,实时监控请求流的变化,当请求流达到一定限定阈值时,将流量转发至流量预处理模块进行初步处理;
流量预处理模块收集接收到的网络流量数据包,对数据包进行数据预处理,并发送给神经网络入侵检测模块;
神经网络入侵检测模块接收流量预处理模块转发的数据包,神经网络入侵检测模型对数据包进行检测;
攻击响应模块接收神经网络入侵检测模块的检测结果,对于检测结果为Dos、Probe、R2L、U2R等4种异常网络数据包,产生相应的报警信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810874273.7A CN109120610A (zh) | 2018-08-03 | 2018-08-03 | 一种融合改进智能蜂群算法和bp神经网络的入侵检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810874273.7A CN109120610A (zh) | 2018-08-03 | 2018-08-03 | 一种融合改进智能蜂群算法和bp神经网络的入侵检测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109120610A true CN109120610A (zh) | 2019-01-01 |
Family
ID=64851982
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810874273.7A Pending CN109120610A (zh) | 2018-08-03 | 2018-08-03 | 一种融合改进智能蜂群算法和bp神经网络的入侵检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109120610A (zh) |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109818798A (zh) * | 2019-02-19 | 2019-05-28 | 上海海事大学 | 一种融合kpca和elm的无线传感器网络入侵检测***及方法 |
CN109977972A (zh) * | 2019-03-29 | 2019-07-05 | 东北大学 | 一种基于step的智能特征识别方法 |
CN110082717A (zh) * | 2019-04-30 | 2019-08-02 | 上海海事大学 | 一种水下无线传感器节点定位方法 |
CN110378430A (zh) * | 2019-07-23 | 2019-10-25 | 广东工业大学 | 一种基于多模型融合的网络入侵检测的方法及*** |
CN110719289A (zh) * | 2019-10-14 | 2020-01-21 | 北京理工大学 | 一种基于多层特征融合神经网络的工控网络入侵检测方法 |
CN111027668A (zh) * | 2019-12-05 | 2020-04-17 | 深圳牛图科技有限公司 | 一种基于贪婪算法的神经网络自荐方法 |
CN111369074A (zh) * | 2020-03-31 | 2020-07-03 | 黑龙江大学 | 一种基于人工蜂群优化bp神经网络的玉米产量预测方法 |
CN111625816A (zh) * | 2020-04-21 | 2020-09-04 | 江西理工大学 | 一种入侵检测方法及装置 |
CN111860828A (zh) * | 2020-06-15 | 2020-10-30 | 北京仿真中心 | 一种神经网络的训练方法、存储介质和设备 |
CN111967506A (zh) * | 2020-07-31 | 2020-11-20 | 西安工程大学 | 一种人工蜂群优化bp神经网络的脑电信号分类方法 |
CN112649642A (zh) * | 2020-12-14 | 2021-04-13 | 广东电网有限责任公司广州供电局 | 一种窃电位置判断方法、装置、设备和存储介质 |
CN112668688A (zh) * | 2020-12-30 | 2021-04-16 | 江西理工大学 | 一种入侵检测方法、***、设备及可读存储介质 |
CN113162914A (zh) * | 2021-03-16 | 2021-07-23 | 江西理工大学 | 一种基于Taylor神经网络的入侵检测方法及*** |
CN113395276A (zh) * | 2021-06-10 | 2021-09-14 | 广东为辰信息科技有限公司 | 基于自编码器能量检测的网络入侵检测方法 |
CN113777000A (zh) * | 2021-10-09 | 2021-12-10 | 山东科技大学 | 一种基于神经网络的粉尘浓度检测方法 |
CN113965358A (zh) * | 2021-09-28 | 2022-01-21 | 石河子大学 | 综合能源***网络安全检测方法及*** |
CN114847196A (zh) * | 2022-05-31 | 2022-08-05 | 中国农业科学院农业信息研究所 | 智能蜂箱及基于深度学习的蜜蜂识别跟踪计数*** |
CN115037553A (zh) * | 2022-07-07 | 2022-09-09 | 湖南工商大学 | 信息安全监控模型构建及其应用方法、装置和存储介质 |
CN116208356A (zh) * | 2022-10-27 | 2023-06-02 | 浙江大学 | 一种基于深度学习的虚拟货币挖矿流量检测方法 |
CN116701884A (zh) * | 2023-08-03 | 2023-09-05 | 太行城乡建设集团有限公司 | 基于蚁群-神经网络算法的公路工程污水水质预测方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101399672A (zh) * | 2008-10-17 | 2009-04-01 | 章毅 | 一种多神经网络融合的入侵检测方法 |
CN102710668A (zh) * | 2012-06-29 | 2012-10-03 | 上海海事大学 | 一种适于云存储的数据隐私性保障方法 |
CN104484601A (zh) * | 2014-12-09 | 2015-04-01 | 中国科学院深圳先进技术研究院 | 基于加权距离度量以及矩阵分解的入侵检测方法及装置 |
CN106330906A (zh) * | 2016-08-23 | 2017-01-11 | 上海海事大学 | 一种大数据环境下的DDoS攻击检测方法 |
CN107292166A (zh) * | 2017-05-18 | 2017-10-24 | 广东工业大学 | 一种基于cfa算法和bp神经网络的入侵检测方法 |
CN108092989A (zh) * | 2017-12-28 | 2018-05-29 | 上海海事大学 | 一种基于智能蜂群算法的DDoS攻击检测方法 |
-
2018
- 2018-08-03 CN CN201810874273.7A patent/CN109120610A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101399672A (zh) * | 2008-10-17 | 2009-04-01 | 章毅 | 一种多神经网络融合的入侵检测方法 |
CN102710668A (zh) * | 2012-06-29 | 2012-10-03 | 上海海事大学 | 一种适于云存储的数据隐私性保障方法 |
CN104484601A (zh) * | 2014-12-09 | 2015-04-01 | 中国科学院深圳先进技术研究院 | 基于加权距离度量以及矩阵分解的入侵检测方法及装置 |
CN106330906A (zh) * | 2016-08-23 | 2017-01-11 | 上海海事大学 | 一种大数据环境下的DDoS攻击检测方法 |
CN107292166A (zh) * | 2017-05-18 | 2017-10-24 | 广东工业大学 | 一种基于cfa算法和bp神经网络的入侵检测方法 |
CN108092989A (zh) * | 2017-12-28 | 2018-05-29 | 上海海事大学 | 一种基于智能蜂群算法的DDoS攻击检测方法 |
Non-Patent Citations (5)
Title |
---|
YANTAO ZHU,ET.AL: "《Structural Safety Monitoring of High Arch Dam Using Improved ABC-BP Model》", 《MATHEMATICAL PROBLEMS IN ENGINEERING》 * |
杜振鑫等: "《一种遗传学习人工蜂群算法》", 《小型微型计算机***》 * |
杜振鑫等: "《基于全局无偏搜索策略的精英人工蜂群算法》", 《电子学报》 * |
沈夏炯等: "《人工蜂群优化的BP神经网络在入侵检测中的应用》", 《计算机工程》 * |
王龙: "《人工蜂群优化BP神经网络在入侵检测中的应用》", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109818798A (zh) * | 2019-02-19 | 2019-05-28 | 上海海事大学 | 一种融合kpca和elm的无线传感器网络入侵检测***及方法 |
CN109977972B (zh) * | 2019-03-29 | 2023-02-07 | 东北大学 | 一种基于step的智能特征识别方法 |
CN109977972A (zh) * | 2019-03-29 | 2019-07-05 | 东北大学 | 一种基于step的智能特征识别方法 |
CN110082717A (zh) * | 2019-04-30 | 2019-08-02 | 上海海事大学 | 一种水下无线传感器节点定位方法 |
CN110378430A (zh) * | 2019-07-23 | 2019-10-25 | 广东工业大学 | 一种基于多模型融合的网络入侵检测的方法及*** |
CN110378430B (zh) * | 2019-07-23 | 2023-07-25 | 广东工业大学 | 一种基于多模型融合的网络入侵检测的方法及*** |
CN110719289A (zh) * | 2019-10-14 | 2020-01-21 | 北京理工大学 | 一种基于多层特征融合神经网络的工控网络入侵检测方法 |
CN111027668A (zh) * | 2019-12-05 | 2020-04-17 | 深圳牛图科技有限公司 | 一种基于贪婪算法的神经网络自荐方法 |
CN111027668B (zh) * | 2019-12-05 | 2023-04-07 | 深圳牛图科技有限公司 | 一种基于贪婪算法的神经网络自荐方法 |
CN111369074A (zh) * | 2020-03-31 | 2020-07-03 | 黑龙江大学 | 一种基于人工蜂群优化bp神经网络的玉米产量预测方法 |
CN111625816A (zh) * | 2020-04-21 | 2020-09-04 | 江西理工大学 | 一种入侵检测方法及装置 |
CN111860828B (zh) * | 2020-06-15 | 2023-11-28 | 北京仿真中心 | 一种神经网络的训练方法、存储介质和设备 |
CN111860828A (zh) * | 2020-06-15 | 2020-10-30 | 北京仿真中心 | 一种神经网络的训练方法、存储介质和设备 |
CN111967506A (zh) * | 2020-07-31 | 2020-11-20 | 西安工程大学 | 一种人工蜂群优化bp神经网络的脑电信号分类方法 |
CN112649642A (zh) * | 2020-12-14 | 2021-04-13 | 广东电网有限责任公司广州供电局 | 一种窃电位置判断方法、装置、设备和存储介质 |
CN112668688A (zh) * | 2020-12-30 | 2021-04-16 | 江西理工大学 | 一种入侵检测方法、***、设备及可读存储介质 |
CN113162914A (zh) * | 2021-03-16 | 2021-07-23 | 江西理工大学 | 一种基于Taylor神经网络的入侵检测方法及*** |
CN113162914B (zh) * | 2021-03-16 | 2022-04-01 | 江西理工大学 | 一种基于Taylor神经网络的入侵检测方法及*** |
CN113395276A (zh) * | 2021-06-10 | 2021-09-14 | 广东为辰信息科技有限公司 | 基于自编码器能量检测的网络入侵检测方法 |
CN113395276B (zh) * | 2021-06-10 | 2022-07-26 | 广东为辰信息科技有限公司 | 基于自编码器能量检测的网络入侵检测方法 |
CN113965358A (zh) * | 2021-09-28 | 2022-01-21 | 石河子大学 | 综合能源***网络安全检测方法及*** |
CN113777000A (zh) * | 2021-10-09 | 2021-12-10 | 山东科技大学 | 一种基于神经网络的粉尘浓度检测方法 |
CN113777000B (zh) * | 2021-10-09 | 2024-04-12 | 山东科技大学 | 一种基于神经网络的粉尘浓度检测方法 |
CN114847196B (zh) * | 2022-05-31 | 2022-11-01 | 中国农业科学院农业信息研究所 | 智能蜂箱及基于深度学习的蜜蜂识别跟踪计数*** |
CN114847196A (zh) * | 2022-05-31 | 2022-08-05 | 中国农业科学院农业信息研究所 | 智能蜂箱及基于深度学习的蜜蜂识别跟踪计数*** |
CN115037553A (zh) * | 2022-07-07 | 2022-09-09 | 湖南工商大学 | 信息安全监控模型构建及其应用方法、装置和存储介质 |
CN116208356B (zh) * | 2022-10-27 | 2023-09-29 | 浙江大学 | 一种基于深度学习的虚拟货币挖矿流量检测方法 |
CN116208356A (zh) * | 2022-10-27 | 2023-06-02 | 浙江大学 | 一种基于深度学习的虚拟货币挖矿流量检测方法 |
CN116701884B (zh) * | 2023-08-03 | 2023-10-27 | 太行城乡建设集团有限公司 | 基于蚁群-神经网络算法的公路工程污水水质预测方法 |
CN116701884A (zh) * | 2023-08-03 | 2023-09-05 | 太行城乡建设集团有限公司 | 基于蚁群-神经网络算法的公路工程污水水质预测方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109120610A (zh) | 一种融合改进智能蜂群算法和bp神经网络的入侵检测方法 | |
Zhong et al. | HELAD: A novel network anomaly detection model based on heterogeneous ensemble learning | |
Hosseini et al. | New hybrid method for attack detection using combination of evolutionary algorithms, SVM, and ANN | |
Mishra et al. | Swarm intelligence in anomaly detection systems: an overview | |
Ghanem et al. | An efficient intrusion detection model based on hybridization of artificial bee colony and dragonfly algorithms for training multilayer perceptrons | |
Ghanem et al. | Training a neural network for cyberattack classification applications using hybridization of an artificial bee colony and monarch butterfly optimization | |
CN107846392A (zh) | 一种基于改进协同训练‑adbn的入侵检测算法 | |
Lu et al. | Intrusion detection of wireless sensor networks based on IPSO algorithm and BP neural network | |
Wanda et al. | DeepOSN: Bringing deep learning as malicious detection scheme in online social network | |
Beitollahi et al. | Application layer DDoS attack detection using cuckoo search algorithm-trained radial basis function | |
Qiu et al. | An adaptive social spammer detection model with semi-supervised broad learning | |
CN112087442A (zh) | 基于注意力机制的时序相关网络入侵检测方法 | |
Makkar et al. | PROTECTOR: An optimized deep learning-based framework for image spam detection and prevention | |
CN115422995A (zh) | 一种改进社交网络和神经网络的入侵检测方法 | |
Xiao et al. | Network security situation prediction method based on MEA-BP | |
Ghaleb et al. | Training neural networks by enhance grasshopper optimization algorithm for spam detection system | |
Dixit et al. | Comparing and analyzing applications of intelligent techniques in cyberattack detection | |
CN109948771A (zh) | 一种基于细菌觅食优化bp神经网络的态势评估算法 | |
Qian et al. | Intrusion detection based on neural networks and artificial bee colony algorithm | |
Manasa et al. | Tweet spam detection using machine learning and swarm optimization techniques | |
Duan et al. | Design of intrusion detection system based on improved ABC_elite and BP neural networks | |
Babu et al. | Improved Monarchy Butterfly Optimization Algorithm (IMBO): Intrusion Detection Using Mapreduce Framework Based Optimized ANU-Net. | |
Li et al. | Few-shot IoT attack detection based on RFP-CNN and adversarial unsupervised domain-adaptive regularization | |
CN116916317A (zh) | 一种基于大白鲨和随机森林的入侵检测方法 | |
Moukhafi et al. | Artificial neural network optimized by genetic algorithm for intrusion detection system |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190101 |