您好,欢迎来到筏尚旅游网。
搜索
您的当前位置:首页BP神经网络在入侵检测中的改进设计

BP神经网络在入侵检测中的改进设计

来源:筏尚旅游网
第7卷第5期 漯河职业技术学院学报 Journal of Luohe Vocational Technology College Vo1.7 NO.5 2008年9月 Sep.2008 BP神经网络在入侵检测中的改进设计 李 威 (1.中国海洋大学,山东青岛266071:2 山东省青岛第二十七中学,山东青岛266043) 摘要:在收集到原始数据后,如何对这些数据进行有效分析及报告结果一直是入侵检测领域中研究 的重点,并因此形成了多种ID方法。本文提出了一个ID模型,提出了一种改进训练算法,对模型的核 心组成部分进行了分析、设计和实现,并进行了相关实验。 关键词:入侵检测;BP算法;改进 中图分类号:TP183 文献标识码:A 文章编号:1671—7864(2008)05—0034—03 作为研究复杂性问题的有力工具,神经网络技 术近年来在模式识别与分类、非线性滤波、自动控 制、预测等方面已 示 其非凡的优越性。对人工 神经网络的研究表明,神经网络在概念和处理方法 上都很适合入侵检测系统的要求。 1.2 NNIDM的实现 1.2.1 网络探测器的设计与实现 包括数据采集、Ethernet帧解包、IP解包、ICMP 解包、TCP解包、UDP解包等模块。在本系统的数 据采集模块中,考虑到采集网络包的完整性和效率, 我们采用libpcap/snort或libpcap/TcPdump相结合 的方式,它们具有强大而高效的截获数据包的能力, 它有多种参数可供选择,通过参数组合可灵活地获 取所需要的数据包属性,它们是目前国际上标准的 l NNIDM的设计与实现 1.1 系统的总体设计 NNIDM(Neural Network Intrusion Detection Mod— e1)即神经网络入侵检测模型,是我们开发的用来检 测网络攻击行为的原型。NNIDM具有网络探测器、 数据采集方式。 1.2.2数据预处理模块结构和实现 网络分析引擎、网络数据库和响应模块等标准部件, 它的系统结构如图I所示。 预处理模块负责把数据采集模块传来的数据转 换为神经网络能够识别的形式,即把由snort或 TCPdump抓取的数据转换成二进制数。 1.2.3事件分析器的设计和实现 事件分析器是入侵检测系统的核心。我们设计 的NNIDM采用的是基于异常的实时分析方法,采用 改进BP神经网络构成检测引擎。在训练阶段,分 图l NNIDM系统结构图 析器输入训练样本,设置网络运行的所需要的参数, 输入输出均选择为文本文件,这样可跨平台运行,如 把Linux/Unix下的数据包文件转换后也可进行 检测。 从组件的功能上来看,事件产生器用于捕获经 过它所在网段内的所有数据包;预处理模块用于将 数据包进行处理和转换;分析器用于进行分类判别, 判断是否为攻击行为;响应单元用于报警,或采取切 断网络连接等操作,同时在事件数据库中做日志和 警报记录;事件数据库用于存储相关信息。 收稿日期:2008—05—23 我们使用VC6.0实现了在Pc机上的软件 仿真。 作者简介:李威(1978一),男,山东青岛人,中国海洋大学在读硕士研究生,青岛二十七中教师,研究方向:现代信息技术。 第5期 李威:BP神经网络在入侵检测巾的改进设计 35 1.2.4事件数据库的结构 为了攻击数据的保存和查询,我们设计数据库, 包含7张表,它们是:Train表,它包含训练数据和期 相等的一组值,在程序中产生一组小的随机数,作为 网络的初始阈值。 表1预处理编码规则 望输出;Winhide表,它保存输人层到隐含层的权值 矩阵;Whideout表,它保存隐含层到输出层的权值 矩阵;Hthreshold表,它保存隐含层的阈值矩阵; Othreshold表,它保存输出层的阈值矩阵;Error表保 存训练误差;Result表保存最后的仿真检测结果。 二进制数位数 1~32位 33~64位 代表属性 源IP地址 目的IP地址 65~66位 67~80位 协议类型 表示源端口 数据库可采用ACCESS或SQLSERVER。 1.2.5事件响应器的功能设计 本系统主要提供被动响应机制,即将采集来的 数据和分析结果按一定的组织方式记录到系统中并 通知管理员。 2 NNIDM实验 2.1 实验准备 本系统运行在RedHat Linux9.0和windows2000 server的平台上,试验CPU为PIII600,内存128M, 40G硬盘,受保护的系统所采用的操作系统可为 Unix、Linux、windows系列。 2.2 实验参数 2.2.1 数据源 实验中为了获得更多的和典型的攻击样本,我 们采用的是美国林肯实验室在2000年入侵检测专 用评估数据集,它采用TCPdump格式,因为它的数 据量大,攻击类型典型且全面,我们使了其中的两组 数据。 2.2.2入侵行为指标 我们用到的数据包属性有源IP、目的IP、源端 口、目的端口、数据包长度、协议号、Seq(序号)段、 Ack(确认)段、Ack位、URG位等。 2.2.3 BP网络参数设定 (1)网络输入层节点数。输入层节点为164 个,164为经过实验确定的数据包属性值对应的二 进制位数,具体含义参见表1。 (2)网络隐层节点数。隐节点数我们采用20、 40、60、80、100、120进行了测试,由实验得知,隐层 节点取80检测效果最好。 (3)网络输出层节点数。我们选取3个节点, 每个节点为0和1二种输出,组合共有8种。 (4)初始权值的确定。初始权值是不应完全相 等的一组值,在程序中产生一组一1到1的随机数, 作为网络的初始权值。 (5)初始阈值的确定。初始阈值也是不应完全 81~94位 表示目的端口 95~126位 Seq序列号编码 127~158位 ACK确认号编码 159位 URG标志位 160位 ACK标志位 161位 PSH标志位 162位 RST标志位 163位 SYN标志位 164位 FIN标志位 (6)训练速率。训练速率在不导致振荡前提 下,越大越好,我们取初始值为0.6,程序会根据训 练误差自动调整学习率,减少训练振荡以达到最好 效果。 (7)允许误差。这个误差是由实验判断而来, 为了取得较低的漏报率和误报率,对于不同时段,设 定不同的允许误差,我们取在0.000001~0.025 之间。 (8)最大的迭代次数。当迭代结果不收敛时, 允许最大的迭代次数。经实验判定,我们选取 5000次。 (9)网络输出值。分为期望和实际输出,8组期 望输出含义如表2所示。仿真检测时,当网络实际 输出与期望输出满足一定误差条件时,即认定为攻 击行为,便发出报警。 表2输出值和攻击行为对应表 期望输出 攻击行为 0 0 0 正常 O 0 l land攻击 O l 0 Scan null 0 l 1 ping攻击 1 0 O synflood 1 0 1 winnuke攻击 1 1 0 Smurf攻击 l 1 1 待用 2.3 实验过程 2.3.1 数据采集 36 漯河职业技术学院学报 2008拄 首先,我们使用Libpcab/TcPdump或Libpeab/ snort获得数据包文件,它就是要训练或测试的原始 数据,评估数据集为DARPA。 过程是先把数据集用TCPdump转储为6个数 我们采用另外三组数据来测试神经网络的检测 效果,结果如表3所示。 表3检测结果表 组数 D组 E组 F组 据文件,每组均有100个异常(包含上述6种典型攻 击攻击行为)和100个正常行为,编号为A、B、C、D、 E、F,其中A、B、C三组用于训练,另外三组用于检 样本总数 正常行为数 异常行为数 200 10O 10O 200 1O0 10O 20O 1OO 1OO 测。其中数据文件的典型格式(1and攻击为例) 如下: 2l:02:49.660640 172.16.1 12.100.domain> 172.16.1 12.100.2497:723 1/1/1 PTR hume. 正常检测也为正常 正常检测为异常 异常检测也为异常 异常检测为正常 正确率 漏报率 85 15 93 7 85.5% 3.5% 7.5% 91 9 92 8 91.5% 4% 4.5% 88 l2 84 16 86% 8% 6% eyrie.af.mil.(132) 误报率 2.3.2数据预处理 把上步采集来的数据文件进行格式化,去掉字 符信息和不必要的属性信息即噪声信息,并转化为 标准的二进制文件,再把训练样本加入期望输出。 其中,准确率、漏报率和误报率公式为: 准确率:正确检测的样本数目/样本总数 漏报率=异常检测为正常的样本个数/样本 总数 实验中的编码规则将从分析模块接收到的信息转换 为164个分向量的特征向量。 误报率:正常检测为攻击的样本个数/样本 总数 2.3.3训练神经网络 把上述三组训练样本(只包含二进制数和期望 输出),依次输入到神经网络。神经网络对应的输 入层节点个数为164个,对应训练样本的164位向 3 实验结论 实验表明,应用神经网络到入侵检测中,能达到 较好的训练效果,采用改进的BP算法检测的准确 率较高,漏报率较低,考虑到检测方式和NNIDM目 前的应用情况,本原型可用与对实时性要求不是很 量,根据实验经验,隐含层节点数我们选取80,输出 层采用了三个节点,初始学习率’7设为0.6,训练 5000次。 2.3.4测试神经网络 典型的BP网络的应用不仅需要一个训练集, 还需要一个评价训练效果的测试集。训练集和测试 高的系统中,它能够较好地满足需要。 参考文献: [1]杨建刚.人工神经网络实用教程[M].杭州:浙江大学出 版社.2001. 集都是由输入输出对样本构成的集合。训练集用于 训练网络,使网络能够按照学习算法调节结构参数; 测试集是用于评价已训练好的网络性能,即网络的 泛化性能。为了获得较好的泛化性能,要满足两个 [2]唐正军.网络入侵检测系统的设计与实现[M].北京:电 子工业出版社,2005. 前提:(1)训练集和测试集应使用典型的样本对; (2)测试集应不同于训练集。 [3]汪立东,李亚平,方滨兴.一个基于神经网络的入侵检测 系统[J].计算机工程,1999,25(10). The Research of Intrusion Detection Model Based on BP NeuRal Network IJI Wei , (1.Ocean University of China,Qingdao,26607 1,China;2.Qingdao No.27 Middle Shool,Qingdao,266043,China) Abstract:It is important how to go on and analyse the data effectively and report outcome in this field after collected primitive data.And according this,it has ̄rmed many kinds of ID methods.Based on the above research,this text has proposed a kind of ID model,and proposed a kind of improvements train algorithm.We analysed,designed and realized the key part of the model at last,and carried on the relevant experiment. Key words:intrusion detection:BP algorithm [责任编辑吴保奎] 

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- efsc.cn 版权所有 赣ICP备2024042792号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务