第21卷 第2期 2007经 山东轻工业学院学报 V01.21 No.2 6月 J0URNAL OF SHANDONG INSTITU1E OF LIGHT INDUSTILY Jun.200r7 文章编号:1004—4280(2007)02—0008—03 基于神经网络的入侵检测模型研究 祝洪杰 ,刘 和2,汪 宁 ,姚 进 (1.山东轻工业学院信息科学与技术学院,山东济南250353;2.济南水业集团有限公司,山东济南250012) 摘要:提出了将学习向量量化神经网络用于入侵检测系统的方法,并给出了基于学习向量量化神经网络的网络入 侵检测系统模型结构。仿真实验结果表明,运用学习向量量化神经网络检测入侵,可以达到较高的准确检测率,是 一种有效的入侵检测手段。 关键词:入侵检测系统;神经网络;学习向量量化神经网络 中国分类号:TP393 文献标识码:A Intrusion detection model research based on neural network ZHU Hong.jie ,LIU He2,WANG Ning ,YAO Jin (1.School of Computer ciSence and Technology,Shandong Institute of Light Industry,Jinan 250353,China; 2.Jinan Water Group,Jinan 500122,China) Abstract:The paper puts forward the method applying LVQ neural network in intrusion detcteion system and gives the structure of intrusion detection system based on LVQ neural network.In the end,a simulation experi— merit in MATLAB has been carried out.The result expresses that the intrusion detection system based on LVQ nell ral network can attain a higher accurate examination atre.So it is an effcteive intrusion detcteion method. Key words:IDS;NN;LVQ NN 则主要通过对网络上数据包的分析来进行。人侵检 0引言 随着计算机技术的不断发展,网络规模的不断 扩大,系统遭受的人侵和攻击越来越多,网络与信息 安全问题变得越来越突出。人侵检测技术作为网络 安全技术的重要组成部分,得到了越来越多的重视。 测所采用的方法通常有两种:异常检测和误用检 测 ]。异常检测是指用模型定义出正常使用系统的 行为,凡是明显偏离这个模型的行为都被界定为人 侵;而误用检测是指定义出已知的错误使用系统的 行为,凡是在这个定义范围内的行为被界定为人侵。 目前已有统计分析、专家系统、人工智能等多种不同 策略和模型的人侵检测系统,它们都有各自的优缺 点,其中人工神经网络ANN(Artiifcial Neural Net. 人侵检测就是通过对计算机网络或计算机系统 中的若干关键点收集信息并对其进行分析,从而发 现网络或系统中是否有违反安全策略的行为和被攻 击的迹象…1。入侵检测系统IDS(Intrusion Detcteion Systenr)是一种基于主动策略的网络安全系统,是网 络安全系统的重要组成部分。根据检测所用的数据 来源,入侵检测系统分为基于主机的入侵检测和基 于网络的人侵检测,前者主要使用日志跟踪,而后者 收稿日期-'2006一l2一lO works)以自适应、自学习、自组织、较好的容错性和 鲁棒性、并行性、联想记忆和联想映射等优点而受到 了世人瞩目,在入侵检测领域发挥了重要作用L3]。 神经网络不仅可以识别出已有的攻击模式,还有检 测出未知攻击的能力,这是很有意义的。传统的基 于神经网络的人侵检测系统,一般采用BP网络结 作者简介:祝洪杰(1979一),女,黑龙江省大庆市人,山东轻工业学院信息科学与技术学院助教,硕士研究生,主要从事网络安全方面研究 维普资讯 http://www.cqvip.com
第2期 祝洪杰,等:基于神经网络的入侵检测模型研究 9 构,其节点的单元特性(传递函数)常采用同一非线 性映射(如阈值型函数、s状曲线、径向基函数等), 因而需要较多的隐层及隐层神经单元,导致了学习 算法收敛慢,易陷入局部极小等固有缺陷。因此构 造一些新型的神经网络用于人侵检测技术中,来增 强IDS系统自身的健壮性,提高IDS系统的智能化 和自适应能力,是未来ID技术的发展趋势。 本文采用学习向量量化(Learning Vector Quanti— zation,LVQ)网络来研究人侵检测问题,一定程度上 弥补了BP神经网络的缺点,提高了在人侵检测问 题上的应用性能。 1 LVQ神经网络 LVQ神经网络是Kohonen提出的一种基于监督 学习的自组织神经网络模型。本质上是传统的K一 近邻分类器的改进,它有效的克服了K一近邻分类 器需要大量空间存储所有训练样本及需要很长时间 进行分类的缺点。而且LVQ网络学习速度比反向 传递网络(BPN)快的多。 LVQ网络一般由两层组成(图1):第一层为非 线性竞争层;第二层为线性分类层。竞争层根据输 人向量的距离学习对输人向量分类,其过程主要包 括两部分:一是选择最佳匹配神经元;二是权矢量自 适应变化的更新过程。线性层将竞争层传来的分类 信息转变成所定义的类别,每个线性层处理单元表 示一个分类。线性层处理单元与竞争层处理单元的 连结储存着竞争层处理单元的分类信息。 输入 竞争层 线性层 R Sl×R Sl S 2×Sl S2 al compet(一dist(co ̄,p)) a2=purelin( ̄lai) 图1 LVQ网络结构 LVQ网络输人层与竞争层间的加权值为变量, 需通过学习来决定,而竞争层与线性层层间加权值 为固定值,不需通过学习来决定。LVQ网络可达到 线性网络的良好分类效果,同时又由于竞争层作用, 可有效避免线性网络要求数据必须线性可分的严格 限制,应用性大大增强。将训练后的LVQ神经网络 用于人侵检测,既可摆脱人为因素及模糊随机性影 响,又能提高检测的准确性,是一种智能人侵检测方 法。 LVQ网络采用学习矢量量化算法(LVQ),其实 现步骤: (1)每输人一个矢量 后,在输出阵列中找出 具有最大输出的单元C。 (2)设 所属类型已知为r,而在第一阶段学习 中c的类别为s.则 厂叫 (t+1)=叫 (t)+ (t)[ (t)一叫 (t)];r=s l叫 (f+1)=叫 (f)一 (f)[ (f)一叫 (f)]; r≠s L叫 (t+1)=叫 (t); i≠c 由此可见,若对 分类正确.则使C的权更靠 近 ,否则远离。对不是最大输出的单元,权值不 动。 2基于神经网络入侵检测系统模型的 实现 2.1基于神经网络的网络入侵检测系统模型 引人神经网络的网络人侵检测系统模型(图 2),主要由以下几个模块组成: (1)数据采集模块 系统采用网络数据包截取软件WinpCap采集网 络数据包0调用函数Packet—GetAdapterNames()和 PacketOpenAdapter()监听网卡,将函数PacketSetHw— Fil—ter()设为混杂模式(Promiscuous Mode)监听整个 网段上的数据,然后调用函数PacketReceivePacket() 接收数据包。 数 神 网 据 预 经 刚 络 采 处 网 络 数 --_--- 集 ・———■ 理 —-——■ 络 管 据 模 模 模 理 流 块 块 块 !)_!= 图2基于神经网络的网络入侵检测系统模型 (2)预处理模块 不同的网络攻击具有不同的攻击特征.每条记 录含41个特征,分为4类:基本TCP特征、与有效载 荷有关的特征、基于时间的流量特征和基于主机的 流量特征。在本实验中,我们从基于时间的流量特 征中选择跟网络攻击联系紧密的9项特征作为LVQ 网络的训练及测试数据,它们均为“在过去两秒内” 累积计算得到的连续量:Count(与当前连接去往相 同主机的连接数),Serror-mte(具有SYN错误的连接 在Count中所占的百分比),Rerror-rate(具有REJ错 误的连接在Count中所占的百分比),Same-srv—rate (提供同一网络服务的连接在Count中所占的百分 比),Dif-srv—rat(提供不同网络服务的连接在Count 中所占的百分比),srv.count(与当前连接所提供的服 务相同的连接数),Srv—serror-mte(具有SYN错误的 维普资讯 http://www.cqvip.com
10 山东轻工业学院学报 第21卷 连接在Srv.count中所占的百分比),Srv.rerror-rate(具 有REJ错误的连接在、Srv.count中所占的百分比), Srv-dif-host.rate(去往不同主机的连接在Srv-count中 所占的百分比)。 (3)LVQ神经网络模块 入侵检测的结果只有两类:设入侵为第一类.正 常为第二类。因此,LVQ网络的输入层为上面的9 维特征向量,竞争层采用l2个神经元,输出层为2 个神经元 2.2仿真实验 将采集并经过预处理的6100个记录数据,60% 的数据(共3660个,其中第一类1947个,第二类1713 个)用于训练LVQ网络,其余数据(共244O个,其中第 一类1321个,第二类1119个)用于网络测试。 选取学习速率为0.1。并随机选取各个神经元 初始权重。在Matlab6.5.1下编程实现网络设计,并 进行不同训练次数的对比分析。在训练初期,LVQ 网络误差迅速降低,然后进入一段较为平缓的状态, 误差值约0.2。在训练次数超过65次后,误差开始 迅速减小,并在180次后进一步稳定于0.02左右, 如图3所示。、 测试结果显示最终误报率为9.8%,漏报率为 3.7%,测试中所有新的攻击类型被成功的检测出来。 3结论 本文在分析了神经网络特别是LVQ神经网络 \ 躺 图3 LVQ网络误差图 的模型结构的基础上,提出了一种基于LVQ神经网 络的网络入侵检测系统模型。该模型首先对特征数 据进行了预处理,然后利用LVQ算法的学习能力, 实现了对用户行为的检测。实验结果表明,这种方 法具有很高的准确检测率,尤其是在识别以前没有 观察到的未知攻击方面具有较好的性能,因而对于 入侵检测具有重要价值。 参考文献: [1]戴英侠,连一峰,王航.系统安全与入侵检测[M].北京:清华大 学出版社,2OO2. [2]蒋建春,冯登国.网络入侵检测原理与技术[M].北京:国防工 业出版社,2001. [3]胡守仁,余法波,戴葵.神经网络导论[M].北京:国防科技大学 出版社,1995. [4]丛爽.面向Matlab工具箱的神经网络理论与应用[M].合肥:中 国科技大学出版社,1998.
因篇幅问题不能全部显示,请点此查看更多更全内容