基于神经网络BP算法的网络入侵检测系统研究与实现 下载本文

内容发布更新时间 : 2024/10/23 18:22:46星期一 下面是文章的全部内容请认真阅读。

龙源期刊网 http://www.qikan.com.cn

基于神经网络BP算法的网络入侵检测系统研究与实现

作者:黄煜坤

来源:《农村经济与科技》2016年第22期

(广西工业职业技术学院,广西 南宁 530022)

[摘 要]计算机和网络在现在社会中的运用越来越广泛,不管是政府、社会还是其他的工作都越来越依靠与网络系统,所以计算机网络系统的安全性格外的重要。本文通过从网络入侵检测技术的概述着手,发现现存的入侵技术的不足之处,探究神经网络BP算法在入侵检测系统中的应用。

[关键词]神经网络;BP算法;网络安全;入侵检测系统;研究 [中图分类号]TP393.08 [文献标识码]A

随着网络入侵检测系统应用的不断发展,人们开始对于减少系统中的误报率、漏报率以及改良检测系统的性能更加关注,因而出现了把智能化的技术应用到网络入侵检测系统中去,例如把神经网络、模糊控制理论运用到入侵检测系统中,而神经网络是这些应用中最好的方式,尤其是多层前馈神经网络,它是目前使用最广泛、研究最多的一种神经网络,把它使用到入侵检测系统中能够提升检测系统的自主学习能力,增强网络入侵检测系统的成效。 1 网络入侵检测技术的概述

入侵检测就是对计算机系统或计算机网络中的关键点进行信息收集,并对这些信息进行详细的分析,从而发现系统或是网络中是否存在被攻击的现象或是违背网络安全的行为,对其进行入侵检测的硬件和软件的结合就是入侵检测系统。它不仅是一种主动进行安全防御的技术,通过检测实现对外部和内部的攻击以及操作失误的实时性保护,而且可以和其他的网络完全产品,对网络安全实施全方位的安全保护,形成了实时性和主动性的特性,很好的弥补了防火墙的缺陷。

根据不同的入侵检测技术,入侵检测可以分成:异常入侵检测技术和滥用入侵检测技术。而异常入侵检测技术又包括了基于统计、基于贝叶斯推理、基于数据挖掘、基于遗传算法、基于生物免疫办法以及基于神经网络等。而本论文是要探讨基于神经网络BP算法的网络入侵检测系统研究与实现,那么我们就简单的了解下神经网络入侵检测系统。神经网络是对人脑进行模拟储存、处理和加工信息,从而提出的智能化的信息处理技术手段,它是根据大量的处理单元形成的高度互连的网络系统。它的处理主要包括两个过程,一是以形成入侵分析模型的检测器为目的,通过运用代表网络使用者的历史数据实施锻炼,形成神经网络的重新组装和构建。

龙源期刊网 http://www.qikan.com.cn

二是在入侵分析模型的操作过程中,把网络接受到的数据信息和参照的历史行动作比较,辨别出两者之间的偏离度和相似度。在神经网络中常使用:变化连接的权值、变化单元的状态、删除连接、添加连接等方式对异常的事件进行标注,此外对正常的模式进行修正。 2 当前入侵检测技术存在的不足

目前我国的入侵检测技术存在的不足之处主要有6方面,一是入侵检测系统技术的误报率高,良好、有效的入侵检测系统不光要对误报的次数进行限制的,也要对入侵的危害进行有效的拦截。网络的攻击者通常会使用数据包的结构,来制造假的威胁性的现象,让入侵检测系统假报警,而使没有警觉性的用户将入侵检测系统关闭掉。二是速度问题,网络入侵检测系统的发展速度追不上网络发展的速度,检测系统拦截的每个数据包,都要耗费大量的时间和资源进行匹配、分析,目前的入侵检测系统可以在100m的网络中可以很好的对网络中的数据包的攻击性的特征进行检测。三是数据包的攻击性的特征库更新问题,现存的大多数的入侵检测系统并没有对攻击特征库进行及时的更新。四是检测的方式太过于单一化,五是不同的入侵检测系统不可以进行操作,在整个网络系统中,会使用到不同的入侵检测系统,但是目前的入侵检测系统间不可以互相交换信息,就会出现遭受攻击时找不到攻击来源的情况。六是入侵检测系统不可以和其他的网络安全产品进行相互操作,而一个安全、稳定的网络中要用到多样网络安全产品。

3 基于神经网络BP算法的网络入侵检测系统研究与实现 3.1 检测系统的结构 3.1.1 系统的结构模块

神经网络重要的优势就在于,它拥有极速的学习能力、处理信息的能力以及自我约束、管理能力。也正是基于这些优势,网络入侵检测系统能够在网络实时的过程中分析是否存在入侵的元素。在这个基础之上,我们可以把模型系统分为以下几个模块: 图1 系统结构模型

由图1,我们可以看到基于神经网络BP算法的网络入侵检测系统有分组监视器模块、特征提取、BP分类器、警报器、入侵样本和事件数据库模块。 3.1.2 特征提取

从事件流中提取不到适合的BP分类器的输入,所以我们要从网络流中来提取特征,把提取的特征构造成特征的向量,把这些特征向量运用到数据包的描述中去。通过进行实验最后选定部分特征,比如数据包的头长度、协议的代码、端口号、校验以及部分TCP的记号等等。 3.1.3 BP分类器

龙源期刊网 http://www.qikan.com.cn

BP模型是在神经网络模型中最常使用的模型,但是在对BP分类器进行设计时,还需要考虑一些问题,比如隐含层的个数、输出层和输入层的维数、传递的函数、隐层的维数以及阈值和权重的初始化等。下面是我们设计的BP分类器: 图2 BP分类器

经过训练的BP分类器才能进行工作,首先要训练BP分类器,也就是拿出部分的入侵样本,使用BP的算法,让BP分类器学习什么样的情况是入侵、什么样是正常和异常的网络环境。训练完成之后,BP分类器通过记忆分析来检测是否有入侵现象。此时BP分类器就能够使用数据包检测模块对网络流进行分析。 3.1.4 判断正常或入侵的门限值

因为传递函数是连续的,因此输出的网络值不可能被精确到1或是0,这就涉及选取门限值的问题,如果门限值太低就会把正常的活动当成为异常的活动,增加误报率,增大检测率,使得漏报率减少,相反情况如果门限值太高就会出现相反的情况。而判断入侵检测的优良的标准即是很低的误警率和很高的检测率。我们选取了误警率最低的点为0.5,列出了不同的门限值,误报率和检测率之间的联系。本论文中的正常和异常的门限值都设定为0.5。 图3 在不同的门限值下误报率和检测率的关系 3.1.5 警报器与记录器

用户通过报警器发送的警报信息来了解情况。而跟踪并记忆入侵信息则有记录器来完成,它可以记录网络被攻击的时间、攻击者的等级、攻击者的身份和其他攻击者的信息,以便于后期的调查。

3.2 基于神经网络BP算法程序的实现和测验

在MATLAB的神经网络工具箱中有对BP网络分析和设计的诸多工具函数,如下表: 图4 神经网络中常用的工具函数表

其中,newff是BP神经网络建立的函数,init是网络初始化函数,train是网络训练函数,sim是网络仿真函数。在解决BP网路实际的问题中通常需要用到2至3层神经元,很少使用到4层以上的神经元。网络输出和输入的神经元的数量是根据入侵问题的外部描述来决定的,因此,如果网络中有x个外部的变量输入,那么网络中就有X个输入。 3.3 使用BP神经网络的决策系统分析