论文部分内容阅读
摘 要:针对传统的入侵检测方法存在检测速度慢、不易收敛、检测准确率低等问题,提出了一种新的适用于网络入侵检测的模糊神经Petri网(简称为FNPN)。文中首先给出了模糊神经Petri网的定义及其引发规则,然后给出了一种学习算法。该FNPN结合了模糊Petri网和神经网络各自的优点,既可以表示和处理模糊产生式规则的知识库系统,又具有学习能力,可通过对样本数据学习来调整模型中的参数以获得系统内部的等效结构。实验证明,该方法具有更高的识别精度和更高的学习速率。
关键词:模糊神经Petri网;入侵检测;神经网络;知识学习
中图分类号:TP393.08
随着网络在人们的日常生活中应用不断增多,网络入侵的风险性和机会也越来越多,网络安全成为了人们无法回避的问题。入侵检测技术已经成为一项非常重要的技术,得到越来越多的重视。目前,传统的入侵检测方法都是基于模式匹配的入侵检测方法、基于统计分析的入侵检测方法等,但它们都存在灵活性和适应性差[1,2],检测效率不高,尤其是对未知的入侵行为检测存在困难。
针对上述问题,作者提出基于模糊神经Petri网(fuzzyneuralPetrinets,FNPN)的网络入侵检测方法,将类似于神经网络的学习功能引入FPN中。利用FNPN的并行推理能力解决传统检测方法灵活性和适应性差的问题,实验结果表明,本方法具有更高的检测准确率和更快的检测速度。
1 基本概念
Petri网是对离散并行系统的数学表示。Petri网是1960年由Karl·A·Petri发明的,适合于描述异步的、并发的计算机系统模型。Petri网既有严格的数学表述方式,也有直观的图形表达方式,既有丰富的系统描述手段和系统行为分析技术,又为计算机科学提供坚实的概念基础[3]。
2 基于FNPN的网络入侵检测方法
基于FNPN的入侵检测原理如图1所示:首先利用专家知识建立攻击知识的初始FNPN模型,然后通过现实网络环境采集含有入侵信息的数据,利用学习算法对知识模型的参数进行自动调整,以提高知识模型的准确度。将调整好后的模型作为模糊推理的知识,通过模糊推理得到某攻击发生的可能性。
基于FNPN的模糊推理过程是攻击知识的FNPN模型从初始标志开始,所有满足条件的变迁按顺序并行激发的过程。该过程与基于神经网络的推理过程相似,是一种并行推理过程,避免了传统误用入侵检测(基于产生式规则推理)中的推理冲突、组合爆炸等问题,因此具有较高的推理效率;同时,该方法中引入学习算法对初始知识的FNPN模型的参数进行动态调整,以提高知识模型的准确度,从而提高系统的入侵检测率[6]。
图1 基于FNPN的入侵检测原理
2.1 模糊规则的FNPN表示
一条模糊产生式‘与’规则对应FNPN中的一个变迁,而一条模糊产生式‘或’规则对应一组变迁。同样一条模糊产生式非规则对应FNPN中的一个变迁,规则中的命题与FNPN中的库所一一对应,规则中的模糊命题的当前隶属度值为库所中的标记值,规则的信任度对应变迁的一个映射函数[5]。
2.2 FNPN的训练算法
第1步:初始化,根据专家经验输入各权值和变迁信任度的初始值,并把输入命题和中间命题的总个数送n,变迁的总个数送m,样本总数N,i和j分别送1,学习步长送δ。
第2步:计算初始误差,根据初始权值和信任度及前面的引发规则计算出一组系统可靠度,并根据计算出初始误差值。判断其是否小于规定的误差限,若小于的话直接结束,否则进入下一步。
第3步:依据学习步长对部件i的权值进行调整,并判断是否每个值都大于等于零,若都大于等于零,则进行下一步,否则转第6步。
第4步:计算出当前系统的误差值fi与fi-1比较,若fi 第5步:重新调回原权值,说明上一步的调整方向不正确。
第6步:令i=i+1,并判断其是否大于n,若不大于n,转第3步进行下一部件的权值调整,否则进入下一步。
第7步:判断这时的fi是否小于等于要求的误差限,若已达到规定的误差限,则结束训练;否则,判断训练次数是否超过规定权值训练次数,若不超过,则把fi的值赋给f0并重新使i=1转第3步,开始下一轮训练;若已超过权值训练次数,则进入下一步。
第8步:对信任度进行训练,逐个调整信任度值但不能超过1,并逐次计算fj并判断是否小于等于规定的误差限,若已经达到误差限,则结束训练,否则,一直调整信任度直至达到规定的信任度训练次数为止。此时,若还达不到要求的误差限,则修改模糊规则,然后返回第一步重新学习。
2.3 FNPN的入侵检测模型
通过专家知识得到FNPN的最优初始权值,利用最优初始权值的FNPN对入侵检测数据进行学习和训练,得到最优的网络入侵检测模型。然后采用这个最优网络入侵模型对网络上采集数据进行在线检测,对检测结果进行分析和判断,最后根据分析结果进行相应的处理。
3 实例分析
为了对上述方法进行效果分析,本文对BackDoS、BufferOverflow、Guess-Passwd、Imap、IpsweepProbe、Land攻击、SYNFlooding攻击共7类攻击进行基于FNPN和NN的对比识别实验[7]。
取其中100条包含有以上7类攻击的记录,80条作为训练,20条作为测试。其中正常连接19个,攻击连接81个。
令FNPN和NN的参数相同学习速率均为0.10,动力因子为0.075,f(x)=1/(1+e-x)。
FNPN的初始权值和变迁信任度由专家系统根据其经验的所得。用图5所示的专家系统的FNPN模型作为网络的入侵检测模型,用所述的学习算法,用Matlab编制程序,并在假设专家知识的情况下给出一组初值:w11=w21=w31=w41=w51=w61=w71=w81=w91=wa1=0,w12=w22=w32=w42=w52=w62=w72=w82=w92=wa2=1,所有的信任度都取1,步长选为0.0001,用样本中的80组数据对权值和信任度进行训练。经过179次学习后,达到规定的误差范围(<10-4)之内,算法收敛[7,8]。 将FNPN和NN的训练结果对比如图2所示。表明FNPN的最小平均误差比NN的最小平均误差小,且学习速度快。
图2 FNPN和NN的训练曲线
最后,对训练好的参数用样本中的其余20组数据进行测试,平均误差为0.0000154,表1为测试中所有攻击的识别率统计。结果表明,基于FNPN的识别方法比基于相同结构的NN对攻击具有更高的识别率[9]。
表1 基于FNPN和NN的检测率比较
攻击类型 检测率/%
FNPN NN
BackDoS 90.3 84.2
BufferOverflow 86.5 82.4
GuessPasswd 79.9 75.1
Imap 83.7 81.2
IpsweepProbe 88.6 85.8
Land 91.2 87.7
SYNFlooding 85.2 82.7
4 结论
本文提出的适合于网络入侵检测的模糊神经Petri网,既具有模糊Petri网自动模糊推理的能力,又具有神经网络的学习能力。由于采用了基于专家经验的系统结构,省去对实际系统建模的困难。与直接用神经网络进行入侵检测相比需要训练的参数更少,节省了存储空间,且各参数具有明确的物理意义。该方法适用于基于结构模糊推理的网络入侵检测。
参考文献:
[1]危胜军,胡昌振,高秀峰.基于学习Petri网的网络入侵检测方法[J].兵工学报,2006,27(2):269-272.
[2]赵俊阁,付钰,刘玲艳.网络系统可靠性评估的模糊神经Petri网方法[J].火力与指挥控制,2010,35(3):55-57.
[3]ChenSM,KeJS,ChangJF.KnowledgeRepresentationUsingFuzzyPetriNets[J].IEEETransonKnowledgeDataEnergy,1990,2(3):311-319.
[4]原菊梅,侯朝桢,王小艺.复杂系统可靠性估计的模糊神经Petri网方法[J].控制理论与应用,2006,23(5):687-691.
[5]KoriemSM.AfuzzyPetriNetToolforModelingandVerificationofKnowledge-basedSystems[J].TheComputerJournal,2000,43(3):206-223.
[6]傅学彦,尹沧涛.神经网络在网络入侵检测中的应用[J].计算机仿真,2010,27(12):152-155.
[7]原菊梅,侯朝桢,王小艺.复杂系统可靠性估计的模糊神经Petri网方法[J].控制理论与应用,2006,23(5):687-691.
[8]危胜军,胡昌振,孙明谦.基于模糊Petri网的误用入侵检测方法[J].北京理工大学学报,2007,27(4):312-317.
[9]张白一,崔尚森.基于规则推理的FPN误用入侵检测方法[J].计算机工程,2006,32(14):119-121.
[9]李玲娟,翟双灿,郭立玮.用支持向量机预测中药水提液膜分离过程[J].计算机与应用化学,2010,27(2):149-154.
作者简介:翟双灿(1966-),江苏人,讲师,研究方向:软件工程,数据挖掘,知识及软件工程。
作者单位:南京中医药大学信息技术学院,南京 210046;南京中医药大学中医药研究院,南京 210046
关键词:模糊神经Petri网;入侵检测;神经网络;知识学习
中图分类号:TP393.08
随着网络在人们的日常生活中应用不断增多,网络入侵的风险性和机会也越来越多,网络安全成为了人们无法回避的问题。入侵检测技术已经成为一项非常重要的技术,得到越来越多的重视。目前,传统的入侵检测方法都是基于模式匹配的入侵检测方法、基于统计分析的入侵检测方法等,但它们都存在灵活性和适应性差[1,2],检测效率不高,尤其是对未知的入侵行为检测存在困难。
针对上述问题,作者提出基于模糊神经Petri网(fuzzyneuralPetrinets,FNPN)的网络入侵检测方法,将类似于神经网络的学习功能引入FPN中。利用FNPN的并行推理能力解决传统检测方法灵活性和适应性差的问题,实验结果表明,本方法具有更高的检测准确率和更快的检测速度。
1 基本概念
Petri网是对离散并行系统的数学表示。Petri网是1960年由Karl·A·Petri发明的,适合于描述异步的、并发的计算机系统模型。Petri网既有严格的数学表述方式,也有直观的图形表达方式,既有丰富的系统描述手段和系统行为分析技术,又为计算机科学提供坚实的概念基础[3]。
2 基于FNPN的网络入侵检测方法
基于FNPN的入侵检测原理如图1所示:首先利用专家知识建立攻击知识的初始FNPN模型,然后通过现实网络环境采集含有入侵信息的数据,利用学习算法对知识模型的参数进行自动调整,以提高知识模型的准确度。将调整好后的模型作为模糊推理的知识,通过模糊推理得到某攻击发生的可能性。
基于FNPN的模糊推理过程是攻击知识的FNPN模型从初始标志开始,所有满足条件的变迁按顺序并行激发的过程。该过程与基于神经网络的推理过程相似,是一种并行推理过程,避免了传统误用入侵检测(基于产生式规则推理)中的推理冲突、组合爆炸等问题,因此具有较高的推理效率;同时,该方法中引入学习算法对初始知识的FNPN模型的参数进行动态调整,以提高知识模型的准确度,从而提高系统的入侵检测率[6]。
图1 基于FNPN的入侵检测原理
2.1 模糊规则的FNPN表示
一条模糊产生式‘与’规则对应FNPN中的一个变迁,而一条模糊产生式‘或’规则对应一组变迁。同样一条模糊产生式非规则对应FNPN中的一个变迁,规则中的命题与FNPN中的库所一一对应,规则中的模糊命题的当前隶属度值为库所中的标记值,规则的信任度对应变迁的一个映射函数[5]。
2.2 FNPN的训练算法
第1步:初始化,根据专家经验输入各权值和变迁信任度的初始值,并把输入命题和中间命题的总个数送n,变迁的总个数送m,样本总数N,i和j分别送1,学习步长送δ。
第2步:计算初始误差,根据初始权值和信任度及前面的引发规则计算出一组系统可靠度,并根据计算出初始误差值。判断其是否小于规定的误差限,若小于的话直接结束,否则进入下一步。
第3步:依据学习步长对部件i的权值进行调整,并判断是否每个值都大于等于零,若都大于等于零,则进行下一步,否则转第6步。
第4步:计算出当前系统的误差值fi与fi-1比较,若fi
第6步:令i=i+1,并判断其是否大于n,若不大于n,转第3步进行下一部件的权值调整,否则进入下一步。
第7步:判断这时的fi是否小于等于要求的误差限,若已达到规定的误差限,则结束训练;否则,判断训练次数是否超过规定权值训练次数,若不超过,则把fi的值赋给f0并重新使i=1转第3步,开始下一轮训练;若已超过权值训练次数,则进入下一步。
第8步:对信任度进行训练,逐个调整信任度值但不能超过1,并逐次计算fj并判断是否小于等于规定的误差限,若已经达到误差限,则结束训练,否则,一直调整信任度直至达到规定的信任度训练次数为止。此时,若还达不到要求的误差限,则修改模糊规则,然后返回第一步重新学习。
2.3 FNPN的入侵检测模型
通过专家知识得到FNPN的最优初始权值,利用最优初始权值的FNPN对入侵检测数据进行学习和训练,得到最优的网络入侵检测模型。然后采用这个最优网络入侵模型对网络上采集数据进行在线检测,对检测结果进行分析和判断,最后根据分析结果进行相应的处理。
3 实例分析
为了对上述方法进行效果分析,本文对BackDoS、BufferOverflow、Guess-Passwd、Imap、IpsweepProbe、Land攻击、SYNFlooding攻击共7类攻击进行基于FNPN和NN的对比识别实验[7]。
取其中100条包含有以上7类攻击的记录,80条作为训练,20条作为测试。其中正常连接19个,攻击连接81个。
令FNPN和NN的参数相同学习速率均为0.10,动力因子为0.075,f(x)=1/(1+e-x)。
FNPN的初始权值和变迁信任度由专家系统根据其经验的所得。用图5所示的专家系统的FNPN模型作为网络的入侵检测模型,用所述的学习算法,用Matlab编制程序,并在假设专家知识的情况下给出一组初值:w11=w21=w31=w41=w51=w61=w71=w81=w91=wa1=0,w12=w22=w32=w42=w52=w62=w72=w82=w92=wa2=1,所有的信任度都取1,步长选为0.0001,用样本中的80组数据对权值和信任度进行训练。经过179次学习后,达到规定的误差范围(<10-4)之内,算法收敛[7,8]。 将FNPN和NN的训练结果对比如图2所示。表明FNPN的最小平均误差比NN的最小平均误差小,且学习速度快。
图2 FNPN和NN的训练曲线
最后,对训练好的参数用样本中的其余20组数据进行测试,平均误差为0.0000154,表1为测试中所有攻击的识别率统计。结果表明,基于FNPN的识别方法比基于相同结构的NN对攻击具有更高的识别率[9]。
表1 基于FNPN和NN的检测率比较
攻击类型 检测率/%
FNPN NN
BackDoS 90.3 84.2
BufferOverflow 86.5 82.4
GuessPasswd 79.9 75.1
Imap 83.7 81.2
IpsweepProbe 88.6 85.8
Land 91.2 87.7
SYNFlooding 85.2 82.7
4 结论
本文提出的适合于网络入侵检测的模糊神经Petri网,既具有模糊Petri网自动模糊推理的能力,又具有神经网络的学习能力。由于采用了基于专家经验的系统结构,省去对实际系统建模的困难。与直接用神经网络进行入侵检测相比需要训练的参数更少,节省了存储空间,且各参数具有明确的物理意义。该方法适用于基于结构模糊推理的网络入侵检测。
参考文献:
[1]危胜军,胡昌振,高秀峰.基于学习Petri网的网络入侵检测方法[J].兵工学报,2006,27(2):269-272.
[2]赵俊阁,付钰,刘玲艳.网络系统可靠性评估的模糊神经Petri网方法[J].火力与指挥控制,2010,35(3):55-57.
[3]ChenSM,KeJS,ChangJF.KnowledgeRepresentationUsingFuzzyPetriNets[J].IEEETransonKnowledgeDataEnergy,1990,2(3):311-319.
[4]原菊梅,侯朝桢,王小艺.复杂系统可靠性估计的模糊神经Petri网方法[J].控制理论与应用,2006,23(5):687-691.
[5]KoriemSM.AfuzzyPetriNetToolforModelingandVerificationofKnowledge-basedSystems[J].TheComputerJournal,2000,43(3):206-223.
[6]傅学彦,尹沧涛.神经网络在网络入侵检测中的应用[J].计算机仿真,2010,27(12):152-155.
[7]原菊梅,侯朝桢,王小艺.复杂系统可靠性估计的模糊神经Petri网方法[J].控制理论与应用,2006,23(5):687-691.
[8]危胜军,胡昌振,孙明谦.基于模糊Petri网的误用入侵检测方法[J].北京理工大学学报,2007,27(4):312-317.
[9]张白一,崔尚森.基于规则推理的FPN误用入侵检测方法[J].计算机工程,2006,32(14):119-121.
[9]李玲娟,翟双灿,郭立玮.用支持向量机预测中药水提液膜分离过程[J].计算机与应用化学,2010,27(2):149-154.
作者简介:翟双灿(1966-),江苏人,讲师,研究方向:软件工程,数据挖掘,知识及软件工程。
作者单位:南京中医药大学信息技术学院,南京 210046;南京中医药大学中医药研究院,南京 210046