首页> 中国专利> 一种基于人工蜂群优化的BP算法的入侵检测方法及其系统

一种基于人工蜂群优化的BP算法的入侵检测方法及其系统

摘要

本发明公开了一种基于人工蜂群优化的BP算法的入侵检测方法及其系统,该方法包括:对采集的主机日志文件和网络数据形成一包进行预处理,获得主机日志文件和网络数据的特征向量并转化为BP神经网络算法可识别的输入值;对BP神经网络算法进行初始化,将连接输入层与隐藏层的权值Wij和连接隐藏层与输出层的权值Wjk作为人工蜂群算法的优化目标初始化人工蜂群算法的参数,将最佳蜜源传回BP神经网络算法替换输入层与隐藏层的权值Wij和连接隐藏层与输出层的权值Wjk;根据BP神经网络算法的输出值对用户的行为进行相应的响应操作。本申请用以解决现有BP神经网络存在收敛速度慢、易陷入局部最小点、计算量大的问题。

著录项

  • 公开/公告号CN108259498A

    专利类型发明专利

  • 公开/公告日2018-07-06

    原文格式PDF

  • 申请/专利权人 湖南科技学院;

    申请/专利号CN201810069263.6

  • 发明设计人 李文;黄丽韶;扈乐华;

    申请日2018-01-24

  • 分类号H04L29/06(20060101);G06N3/08(20060101);G06N3/00(20060101);

  • 代理机构北京知呱呱知识产权代理有限公司;

  • 代理人吕学文;武媛

  • 地址 425000 湖南省永州市零陵区杨梓塘路130号

  • 入库时间 2023-06-19 05:51:03

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-06-23

    授权

    授权

  • 2018-07-31

    实质审查的生效 IPC(主分类):H04L29/06 申请日:20180124

    实质审查的生效

  • 2018-07-06

    公开

    公开

说明书

技术领域

本发明涉及计算机网络安全技术领域,具体涉及一种基于人工蜂群优化的BP算法的入侵检测方法及其系统。

背景技术

互联网技术的飞速发展,Internet的普及,深刻地改变了人类的工作和生活方式。但是计算机和互联网又是一把双刃剑,在给人们生活工作带来方便的同时,也带来一系列安全问题。如何保证信息化社会的正常运转,网络信息的安全性是其中最重要的环节之一。

Internet对于任何一个具有网络连接和ISP帐号的人都是开放的,事实上它本身被设计成了一个开放的网络。因此它本身并没有多少内置的能力使信息安全,从一个安全的角度看,Internet是天生不安全的。在网络环境里的安全是指一种能够识别的消除不安全因素的能力,安全的一般性定义也必须解决保护财产的需要,包括信息和物理设备。负责安全的任何一个人都必须决定谁在具体的设备上进行合适的操作,以及什么时候。如何对事件做出反应,以及当有人规避那些控制时如何使损害最小化的方法,即建立有效的安全矩阵。一个可行的安全矩阵是高度安全的和容易使用的,一个安全矩阵由单个操作系统安全特征、日志服务和其他的装备包括防火墙,入侵检测系统,审查方案构成,其中重点就在入侵检测这个环节,因此一个好的入侵检测系统可以更有效的控制不安全因素。

入侵检测(Intrusion Detection)是用于检测任何损害或企图损害系统的状态和活动,运用误用检测(misuse detection)或异常检测(anomaly detection)的方式,发现非授权的或恶意的系统及网络行为,为防范入侵行为提供有效的手段,从而保证计算机信息系统的信息资源不被未授权访问,篡改和拒绝服务攻击。

随着系统安全环境特别是网络系统安全形势的变化,传统的基于专家系统的检测技术暴露出若干局限性和不足。如传统BP神经网络存在收敛速度慢、易陷入局部最小点、计算量大,所以有必要对传统的神经系统网络进行改良。

发明内容

本发明的目的在于提供一种基于人工蜂群优化的BP算法的入侵检测方法及其系统,用以解决现有BP神经网络存在收敛速度慢、易陷入局部最小点、计算量大的问题。

为实现上述目的,本发明的技术方案为:

一种基于人工蜂群优化的BP算法的入侵检测方法,该方法包括以下步骤:

S101、采集计算机网络系统的包含系统、网络、数据及用户活动的状态、行为的主机日志文件和网络数据;

S102、对所述采集的所述主机日志文件和所述网络数据形成一包进行预处理,获得所述主机日志文件和所述网络数据的特征向量并转化为BP神经网络算法可识别的输入值;

S103、对所述BP神经网络算法进行初始化,将连接输入层与隐藏层的权值Wij和连接隐藏层与输出层的权值Wjk作为人工蜂群算法的优化目标;

S104、初始化人工蜂群算法的参数,进行雇佣蜂、跟随蜂与侦查蜂操作,找到最佳蜜源,将所述最佳蜜源传回BP神经网络算法替换所述输入层与所述隐藏层的权值Wij和所述连接隐藏层与所述输出层的权值Wjk

S105、根据入侵特征对所接收的网络数据进行已知入侵行为的检测,然后对与入侵特征不匹配但还不能确定是正常的数据进行异常入侵检测,根据BP神经网络算法的输出值对用户的行为进行相应的响应操作。

进一步的,所述初始化人工蜂群算法的参数,进行雇佣蜂、跟随蜂与侦查蜂操作,找到最佳蜜源的步骤具体包括:

S201、初始化人工蜂群算法,设置蜜源的数量N,最大迭代次数maxcycle,最大滞留次数limit,产生初始蜜源;

S202、雇佣蜂开始按照式(1)来搜索新蜜源,之后计算新解的适应度值并更新蜜源;

公式(1):

其中,

iter是当前的迭代次数;Wmin是调整因子的最小值;Wmax是调整因子的最大值;W1和W2分别代表着新蜜源向原蜜源、领域蜜源和种群最优蜜源的靠近速度;

S203、按照公式(2)计算与解Xi对应的选择概率值Pi

公式(2):

其中,自适应因子fiti是解Xi对应的适应度值;

跟随蜂根据选择概率Pi来选择蜜源,并按照公式(1)来选择产生新解,之后计算新解的适应度值并更新蜜源;

S204、如果某个解Xi连续滞留的次数达到了之前的最大滞留次数limit,则这个解需要被丢弃,侦查蜂将出现并产生一个新解来代替那个被丢弃的解;

S205、从步骤S202到S204为一次迭代过程,完成后记录下最优的解,即该解的适应度值最高;

S206、判断是否达到最大迭代次数maxcycle和指定精度,否则返回步骤S202继续。

进一步的,所述对所述采集的所述主机日志文件和所述网络数据形成一包进行预处理,获得所述主机日志文件和所述网络数据的特征向量并转化为BP神经网络算法可识别的输入值的步骤具体包括:

对链路层数据包进行解码得到IP数据包;根据所述IP数据包首部的协议字段对lP数据包进行解码得到对应的TCP、UDP和ICMP数据包;根据所述TCP、UDP和ICMP数据包的类型将接收到的信息转换为具有若干个分向量的特征向量,传输到所述BP神经网络算法作为输入值。

可选地,得到IP数据包后判断该IP数据包是否进行了分组,如果是分组的IP数据包,则对其进行重组。

进一步的,所述对所述BP神经网络算法进行初始化,将连接输入层与隐藏层的权值Wij和连接隐藏层与输出层的权值Wjk作为人工蜂群算法的优化目标的步骤包括:

S301、选择训练用的样本数据,产生输入层与隐藏层的权值Wij和连接隐藏层与输出层的权值Wjk

S302、在BP神经网络算法中输入特征向量X=(x1,x2,…,xn),所述隐藏层tj由公式(3)计算获得,其中θj为输入层和隐藏层之间的阈值;

隐藏层的实际输出值lj由公式(4)计算获得,重复公式(3)、(4)计算输出层的实际输出值yk

公式(3):

公式(4):

S303、利用公式(5)计算BP神经网络算法的误差ek,若误差满足预设要求,则结束训练并执行S305;

公式(5):

其中dk标识输出节点K的输出期望值,q是输出节点的数目;

S304、通过公式(6)、(7)调整输入层和隐藏层之间的权值和阈值,以及隐藏层和输出层之间的权值和阈值;

公式(6):

公式(7):

S305、通过步骤304获得的结果,计算获得输入层与隐藏层的权值Wij和连接隐藏层与输出层的权值Wjk

S306、通过新的权值Wij、Wjk以及样本数据,重新执行上述步骤S301至S305,直至误差满足预设要求。

进一步的,所述将所述最佳蜜源传回BP神经网络算法替换所述输入层与所述隐藏层的权值Wij和所述连接隐藏层与所述输出层的权值Wjk的步骤包括:

S401、所述人工蜂群算法迭代到达最大迭代次数maxcycle之后,从所述人工蜂群算法获得的权值和阈值作为新的初始参数训练所述BP神经网络算法;

S402、所述BP神经网络算法获得所述输入层与所述隐藏层的权值Wij和所述连接隐藏层与所述输出层的权值Wjk之后,通过所接收的网络数据获得检测结果。

进一步的,所述根据BP神经网络算法的输出值对用户的行为进行相应的响应操作的步骤之后,所述方法还包括:

将检测获得的新入侵行为的特征值添加到入侵行为特征库,将正常数据送往正常行为特征库。

基于同一发明构思,本发明的另一方面,提供了一种基于人工蜂群优化的BP算法的入侵检测系统,该系统包括:

数据采集模块,用于采集计算机网络系统的包含系统、网络、数据及用户活动的状态和行为的主机日志文件和网络数据;

预处理模块,用于对所述采集的所述主机日志文件和所述网络数据形成一包进行预处理,获得所述主机日志文件和所述网络数据的特征向量并转化为BP神经网络算法可识别的输入值;

BP神经网络模块,用于对所输入的网络数据的特征向量进行样本训练,并结合人工蜂群算法优化所述输入层与隐藏层的权值Wij和连接隐藏层与输出层的权值Wjk,并根据入侵特征对所接收的网络数据进行已知入侵行为的检测,对与入侵特征不匹配但还不能确定是正常的数据进行异常入侵检测;

响应模块,用于根据BP神经网络算法的输出值对用户的行为进行相应的响应操作。

进一步的,该系统还包括IP协议分析模块,用于对链路层数据包进行解码得到IP数据包;根据所述IP数据包首部的协议字段对lP数据包进行解码得到对应的TCP、UDP和ICMP数据包。

进一步的,所述BP神经网络模块包括:

TCP神经单元,用于对TCP数据包的特征向量对应的输入值进行检测处理;

UDP神经单元,用于对UDP数据包的特征向量对应的输入值进行检测处理;

ICMP神经单元,用于对ICMP数据包的特征向量对应的输入值进行检测处理。

进一步的,该系统还包括:

入侵行为特征库,用于存储检测获得的新入侵行为的特征值;

正常行为特征库,用于存储检测之后的正常数据。

本发明方法具有如下优点:

本申请的基于人工蜂群优化的BP算法的入侵检测方法及其系统,根据人工蜂群算法全局寻优和群体智能的特点,在初始化神经网络的参数时,把神经网络的误差作为人工蜂群算法的适应度,选择适应度最好的一组参数作为神经网络的权值和阈值,避免神经网络陷入局部最优和收敛速度慢的问题;将人工蜂群优化的BP神经网络模型应用到入侵检测中,优化后的网络模型加快了收敛速度,提高了检测精度。

附图说明

图1本发明实施例提供的一种基于人工蜂群优化的BP算法的入侵检测方法流程框图。

图2本发明实施例提供的一种基于人工蜂群优化的BP算法的入侵检测系统结构框图。

具体实施方式

以下实施例用于说明本发明,但不用来限制本发明的范围。

实施例1

如图1所示,一种基于人工蜂群优化的BP算法的入侵检测方法,该方法包括以下步骤:

S101、采集计算机网络系统的包含系统、网络、数据及用户活动的状态和行为的主机日志文件和网络数据;

入侵检测利用的网络系统信息一般来自以下四个方面:

第一、系统和网络日志文件

黑客经常在系统日志文件中留下他们的踪迹,因此,充分利用系统和网络日志文件信息是检测入侵的必要条件。日志中包含发生在系统和网络上的不寻常和不期望活动的证据,这些证据可以指出有人正在入侵或已成功入侵了系统。通过查看日志文件,能够发现成功的入侵或入侵企图,并很快地启动相应的应急响应程序。日志文件中记录了各种行为类型,每种类型又包含不同的信息,例如记录“用户活动”类型的日志,就包含登录、用户ID改变、用户对文件的访问、授权和认证信息等内容。很显然地,对用户活动来讲,不正常的或不期望的行为就是重复登录失败、登录到不期望的位置以及非授权的企图访问重要文件等等。

第二、目录和文件中的不期望的改变

网络环境中的文件系统包含很多软件和数据文件,包含重要信息的文件和私有数据文件经常是黑客修改或破坏的目标。目录和文件中的不期望的改变(包括修改、创建和删除),特别是那些正常情况下限制访问的,很可能就是一种入侵产生的指示和信号。黑客经常替换、修改和破坏他们获得访问权的系统上的文件,同时为了隐藏系统中他们的表现及活动痕迹,都会尽力去替换系统程序或修改系统日志文件。

第三、程序执行中的不期望行为

网络系统上的程序执行一般包括操作系统、网络服务、用户起动的程序和特定目的的应用,例如数据库服务器。每个在系统上执行的程序由一到多个进程来实现。每个进程执行在具有不同权限的环境中,这种环境控制着进程可访问的系统资源、程序和数据文件等。一个进程的执行行为由它运行时执行的操作来表现,操作执行的方式不同,它利用的系统资源也就不同。操作包括计算、文件传输、设备和其它进程,以及与网络间其它进程的通讯。

一个进程出现了不期望的行为可能表明黑客正在入侵你的系统。黑客可能会将程序或服务的运行分解,从而导致它失败,或者是以非用户或管理员意图的方式操作。

第四、物理形式的入侵信息

这包括两个方面的内容,一是未授权的对网络硬件连接;二是对物理资源的未授权访问。黑客会想方设法去突破网络的周边防卫,如果他们能够在物理上访问内部网,就能安装他们自己的设备和软件。依此,黑客就可以知道网上的由用户加上去的不安全(未授权)设备,然后利用这些设备访问网络。例如,用户在家里可能安装Modem以访问远程办公室,与此同时黑客正在利用自动工具来识别在公共电话线上的Modem,如果一拨号访问流量经过网络安全的后门。黑客就会利用这个后门来访问内部网,从而越过了内部网络原有的防护措施,然后捕获网络流量,进而攻击其它系统,并偷取敏感的私有信息等等。

S102、对所述采集的所述主机日志文件和所述网络数据形成一包进行预处理,获得所述主机日志文件和所述网络数据的特征向量并转化为BP神经网络算法可识别的输入值;

S103、对所述BP神经网络算法进行初始化,将连接输入层与隐藏层的权值Wij和连接隐藏层与输出层的权值Wjk作为人工蜂群算法的优化目标;

S104、初始化人工蜂群算法的参数,进行雇佣蜂、跟随蜂与侦查蜂操作,找到最佳蜜源,将所述最佳蜜源传回BP神经网络算法替换所述输入层与所述隐藏层的权值Wij和所述连接隐藏层与所述输出层的权值Wjk

S105、根据入侵特征对所接收的网络数据进行已知入侵行为的检测,然后对与入侵特征不匹配但还不能确定是正常的数据进行异常入侵检测,根据BP神经网络算法的输出值对用户的行为进行相应的响应操作。

其中,所述初始化人工蜂群算法的参数,进行雇佣蜂、跟随蜂与侦查蜂操作,找到最佳蜜源的步骤具体包括:

S201、初始化人工蜂群算法,设置蜜源的数量N,最大迭代次数maxcycle,最大滞留次数limit,产生初始蜜源;

S202、雇佣蜂开始按照式(1)来搜索新蜜源,之后计算新解的适应度值并更新蜜源;

公式(1):

其中,

iter是当前的迭代次数;Wmin是调整因子的最小值;Wmax是调整因子的最大值;W1和W2分别代表着新蜜源向原蜜源、领域蜜源和种群最优蜜源的靠近速度;

S203、按照公式(2)计算与解Xi对应的选择概率值Pi

公式(2):

其中,自适应因子fiti是解Xi对应的适应度值;

跟随蜂根据选择概率Pi来选择蜜源,并按照公式(1)来选择产生新解,之后计算新解的适应度值并更新蜜源;

S204、如果某个解Xi连续滞留的次数达到了之前的最大滞留次数limit,则这个解需要被丢弃,侦查蜂将出现并产生一个新解来代替那个被丢弃的解;

S205、从步骤S202到S204为一次迭代过程,完成后记录下最优的解,即该解的适应度值最高;

S206、判断是否达到最大迭代次数maxcycle和指定精度,否则返回步骤S202继续。

通过引入自适应的调整因子w1和w2,调整搜索方式,以及改进跟随蜂选择概率,使得在算法前期能让跟随蜂搜索适应度高的蜜源以保证收敛速度,而在算法后期跟随蜂能搜索适应度低的蜜源,以保证种群的多样性,避免陷入局部最优值。

其中所述对所述采集的所述主机日志文件和所述网络数据形成一包进行预处理,获得所述主机日志文件和所述网络数据的特征向量并转化为BP神经网络算法可识别的输入值的步骤具体包括:

对链路层数据包进行解码得到IP数据包;根据所述IP数据包首部的协议字段对lP数据包进行解码得到对应的TCP、UDP和ICMP数据包;根据所述TCP、UDP和ICMP数据包的类型将接收到的信息转换为具有若干个分向量的特征向量,传输到所述BP神经网络算法作为输入值。

可选地,得到IP数据包后判断该IP数据包是否进行了分组,如果是分组的IP数据包,则对其进行重组。

进一步的,所述对所述BP神经网络算法进行初始化,将连接输入层与隐藏层的权值Wij和连接隐藏层与输出层的权值Wjk作为人工蜂群算法的优化目标的步骤包括:

S301、选择训练用的样本数据,产生输入层与隐藏层的权值Wij和连接隐藏层与输出层的权值Wjk

S302、在BP神经网络算法中输入特征向量X=(x1,x2,…,xn),所述隐藏层tj由公式(3)计算获得,其中θj为输入层和隐藏层之间的阈值;

隐藏层的实际输出值lj由公式(4)计算获得,重复公式(3)、(4)计算输出层的实际输出值yk

公式(3):

公式(4):

S303、利用公式(5)计算BP神经网络算法的误差ek,若误差满足预设要求,则结束训练并执行S305;

公式(5):

其中dk标识输出节点K的输出期望值,q是输出节点的数目;

S304、通过公式(6)、(7)调整输入层和隐藏层之间的权值和阈值,以及隐藏层和输出层之间的权值和阈值;

公式(6):

公式(7):

S305、通过步骤304获得的结果,计算获得输入层与隐藏层的权值Wij和连接隐藏层与输出层的权值Wjk

S306、通过新的权值Wij、Wjk以及样本数据,重新执行上述步骤S301至S305,直至误差满足预设要求。

其中,所述将所述最佳蜜源传回BP神经网络算法替换所述输入层与所述隐藏层的权值Wij和所述连接隐藏层与所述输出层的权值Wjk的步骤包括:

S401、所述人工蜂群算法迭代到达最大迭代次数maxcycle之后,从所述人工蜂群算法获得的权值和阈值作为新的初始参数训练所述BP神经网络算法;

S402、所述BP神经网络算法获得所述输入层与所述隐藏层的权值Wij和所述连接隐藏层与所述输出层的权值Wjk之后,通过所接收的网络数据获得检测结果。

其中,所述根据BP神经网络算法的输出值对用户的行为进行相应的响应操作的步骤之后,所述方法还包括:

将检测获得的新入侵行为的特征值添加到入侵行为特征库,将正常数据送往正常行为特征库。

实施例2

基于同一发明构思,本发明的另一方面,如图2所示,提供了一种基于人工蜂群优化的BP算法的入侵检测系统,该系统包括:

数据采集模块,用于采集计算机网络系统的包含系统、网络、数据及用户活动的状态和行为的主机日志文件和网络数据;

预处理模块,用于对所述采集的所述主机日志文件和所述网络数据形成一包进行预处理,获得所述主机日志文件和所述网络数据的特征向量并转化为BP神经网络算法可识别的输入值;

BP神经网络模块,用于对所输入的网络数据的特征向量进行样本训练,并结合人工蜂群算法优化所述输入层与隐藏层的权值Wij和连接隐藏层与输出层的权值Wjk,并根据入侵特征对所接收的网络数据进行已知入侵行为的检测,对与入侵特征不匹配但还不能确定是正常的数据进行异常入侵检测;

响应模块,用于根据BP神经网络算法的输出值对用户的行为进行相应的响应操作。

其中,该系统还包括IP协议分析模块,用于对链路层数据包进行解码得到IP数据包;根据所述IP数据包首部的协议字段对lP数据包进行解码得到对应的TCP、UDP和ICMP数据包。

其中,所述BP神经网络模块包括:

TCP神经单元,用于对TCP数据包的特征向量对应的输入值进行检测处理;

UDP神经单元,用于对UDP数据包的特征向量对应的输入值进行检测处理;

ICMP神经单元,用于对ICMP数据包的特征向量对应的输入值进行检测处理。

其中,该系统还包括:

入侵行为特征库,用于存储检测获得的新入侵行为的特征值;

正常行为特征库,用于存储检测之后的正常数据。

入侵检测系统的主要功能是对入侵计算机网络的行为和计算机系统进行检测,包括数据聚类、数据采集、分析判断行为、对入侵行为进行响应、报警等。BP网络各层神经元仅连接相邻层神经元;在各层内部,神经元间无连接;同时各层神经元间也无反馈连接。在信号输入后,传播到隐节点经变换函数再将信息传播到输出节点,经过处理,输出结果。

本申请的基于人工蜂群优化的BP算法的入侵检测方法及其系统,根据人工蜂群算法全局寻优和群体智能的特点,在初始化神经网络的参数时,把神经网络的误差作为人工蜂群算法的适应度,选择适应度最好的一组参数作为神经网络的权值和阈值,避免神经网络陷入局部最优和收敛速度慢的问题;将人工蜂群优化的BP神经网络模型应用到入侵检测中,优化后的网络模型加快了收敛速度,提高了检测精度。

虽然,上文中已经用一般性说明及具体实施例对本发明作了详尽的描述,但在本发明基础上,可以对之作一些修改或改进,这对本领域技术人员而言是显而易见的。因此,在不偏离本发明精神的基础上所做的这些修改或改进,均属于本发明要求保护的范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号