一种基于概率神经网络的IPv6入侵检测方法与流程

文档序号:11436831阅读:359来源:国知局
本发明涉及ipv6网络中入侵数据的检测,具体为一种基于概率神经网络的ipv6入侵检测方法。
背景技术
:入侵检测技术是网络安全技术核心之一,在ipv4网络中,已经有了较为成熟的技术和较为广泛的应用,但是在下一代互联网ipv6网络中,入侵检测仍处于研究阶段,并没有形成成熟可操作的技术。随着网络规模日益的扩大与发展,ipv6网络必将日渐代替ipv4网络走向实际应用,这给ipv6网络入侵检测技术带来了广阔的研究前景。随着异常入侵检测系统的发展,各种机器学习方法包括神经网络被引入到了网络异常检测中,如lee提出的基于数据挖掘技术的检测方法,从审计数据或数据流中提取感兴趣的知识,并用这些知识去检测异常入侵和已知的入侵,这种方法可以适应处理大量数据的情况,但并不能高效地进行实时入侵检测;郑黎明提出的基于支持向量机svm的入侵检测方法,解决了入侵检测系统先验知识较少情况下推广能力差的问题,使得入侵检测系统在小样本的条件下仍然具有良好的推广能力,但是当输入数据集很大时,svm方法的计算速度也会下降较大,且单纯的支持向量机对于多元问题的处理仍没有很好的解决办法;李元兵提出的基于bp神经网络的检测方法,使得入侵检测系统在识别未知攻击方面具有更好的性能,bp神经网络是目前ipv6入侵检测采用最多也是最成熟的训练算法之一,但其存在收敛速度慢、误判率高的问题。技术实现要素:本发明为了解决bp神经网络用于ipv6入侵检测存在收敛速度慢、误判率高的问题,提供了一种基于概率神经网络的ipv6入侵检测方法。本发明是采用如下的技术方案实现的:一种基于概率神经网络的ipv6入侵检测方法,包括以下步骤:第一步:获取数据并进行预处理:利用ipv6网络攻击测试工具模拟攻击,选择攻击数据作为入侵行为数据,在网络中捕获攻击报文,再获取正常数据,捕获网络中的报文,从上述数据中分别随机抽取组成一组数据,作为训练样本,用来构建概率神经网络的模型;第二步:提取训练样本特征值;第三步:对于特征值中特征差别不明显的字段予以剔除,选择有用的字段;第四步:利用最大最小法将特征值中选出的有用的字段进行归一化处理,把所有数据都转化为[o,1]之间的数值,取消各维数据间的数量级差别;第五步:构建pnn概率神经网络,归一化处理后的数据供pnn概率神经网络训练,经过训练从而调节好pnn概率神经网络的参数,然后将调整好的参数交给概率神经网络分类模块使用;第六步:将待检测的数据提取出特征值,输入训练好的概率神经网络,概率神经网络输出待检测的数据类型。本方法基于pnn概率神经网络强大的非线性分类能力,可以非常准确地完成入侵攻击分类,在模式分类方面具有很大优势。用matlab神经网络工具箱设计三组网络:bp网络、rbf网络和pnn网络,并将三组网络分别应用于ipv6网络的入侵检测中,从误判率、训练时间、检测时间和总时间四个性能指标对比分析,对比测试数据如下表:各项性能指标综合分析表网络类型误判率(%)训练时间(s)检测时间(s)总时间(s)bp网络0.09-0.1510-200.25-0.3010-20rbf网络0.06-0.157-100.30-0.407-10pnn网络0-0.00150.60-0.653-54-6通过测试数据可以看出,本发明不仅填补了将pnn应用于ipv6网络入侵检测的空白,而且有效解决了bp神经网络在入侵检测应用中收敛速度慢、误判率高的问题。附图说明图1为本发明的检测流程图。具体实施方式一种基于概率神经网络的ipv6入侵检测方法,包括以下步骤:第一步:获取数据并进行预处理:利用ipv6网络攻击测试工具thc-ipv6模拟攻击,选择其中的dos-new-ipv6与smurf6攻击数据作为入侵行为数据,在网络中捕获攻击报文icmpv6;再获取正常数据,捕获网络中的tcp、udp报文;从入侵行为数据和正常数据中分别随机抽取组成一组数据,作为训练样本,用来构建概率神经网络的模型。训练样本实例数据如下:数据类型训练样本normal20000dos-new-ipv63000smurf63000total26000第二步:过滤提取出tcp、udp与icmpv6的特征值,如下表:tcp特征值表udp特征值表负载长度下一个头跳数限制源端口目的端口长度ipv6.plenipv6.nxtipv6.hlimudp.srcportudp.dstportudp.lengthicmpv6特征值表负载长度下一个头跳数限制类型代码ipv6.plenipv6.nxtipv6.hlimicmpv6.typeicmpv6.code第三步:对于特征值中特征差别不明显的字段予以剔除,选择有用的字段。第四步:利用最大最小法将特征值中选出的有用的字段进行归一化处理,把所有数据都转化为[o,1]之间的数值,取消各维数据间的数量级差别;为有用的字段中的最小值,为有用的字段中的最大值。第五步:通过matlab构建pnn概率神经网络,归一化处理后的数据(tcp、udp与icmpv6)供pnn概率神经网络训练,pnn概率神经网络的输出层将三种数据类型分为[0、1、2],经过训练从而调节好pnn概率神经网络的参数,然后将调整好的参数交给概率神经网络分类模块使用。在当前的参数值下,pnn概率神经网络分类模块一旦发现可疑攻击,便把数据交给模式匹配模块进行传统的分析。而模式匹配模块对于从数据库中获得的网络数据的所有分析结果,都要提供给神经网络训练模块。神经网络训练模块依靠不断获得的这些攻击或正常的网络数据信息,对自身进行自适应的调整.更新神经网络的权值,同时也就更新了神经网络分类模块的设置,进而提高了分类模块对于攻击的判断分析能力。第六步:将待检测的数据提取出特征值,输入训练好的概率神经网络,概率神经网络输出待检测的数据类型。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1