当前位置:文档之家› 基于FPN的模糊攻击图模型及生成算法研究

基于FPN的模糊攻击图模型及生成算法研究

1引言文中提出的基于模糊Petri网(FuzzyPetrinet,FPN)的攻击表示模型FPAN(FuzzyPetri-netAttackNet)用变迁表示攻击行为的产生过程,库所表示系统状态的逻辑描述,将攻击行为和攻击结果进行了区分,因而能很直观地表示网络攻击的演变情况,而且FPN图表示攻击行为更易于扩展,增加节点可以不改变原有结构。

因此基于FPN的FPAN非常适于描述攻击模型,尤其是协同攻击模型。

2攻击模型FPAN的构建方法2.1FuzzyAttackNet的定义定义1FuzzyAttackNet(FPAN)的结构定义为一个七要元:FPAN=(P,T,D,I,O,F,θ)。

其中,P={p1,p2,…,pn}是一个库所的有限集合,其中的任一库所pi表示攻击阶段;T={t1,t2,…,tm}是一个变迁的有限集合,其中的任一变迁tj表示攻击过程;P∩T=7,P∪T≠8;I:P→T为输入矩阵,I={δij},δij为逻辑量,δij∈{0,1},当pi是tj的输入时,δij=1,当pi不是tj的输入时,δij=0,i=1,2,…,n,j=1,2,…,m;O:T→P为输出矩阵,O={γij},γij为逻辑量,γij∈{0,1},当pi是tj的输出时,γij=1,当pi不是是tj的输出时,γij=0,i=1,2,…,n,j=1,2,…,m;I,O为n×m阶矩阵,F为检测估计权值矩阵,F=diag(μ1,μ2,…,μm),μj∈[0,1]为模糊规则tj的置信度,表示该节点在攻击过程中的满足程度、攻击可能性、代价等,D={d1,d2,…,dn}为一个命题集合,|P|=|D|,di与pi一一对应,为攻击阶段的pi系统状态等的描述,θ0为初始状态的命题可信度矩阵,θ0=(θ0d1,…,θ0dn)T,θ0di是命题di的初始逻辑状态,θ0di为[0,1]区间的模糊数,表示命题di的真实程度,用来描述系统状态。

FPAN中的库所可以表示为三要元(pk,・pk,pk・),・pk和pk・分别是pk的输入变迁集和输出变迁集,・pk反映了导致pk这一攻击阶段之前的攻击过程;pk・反映了pk这一攻击阶段的下一步攻击过程。

若・pk=8,则pk为攻击起点,并将pk称作起始库所;若pk・=8,则pk为攻击最终目标,并将pk称作顶上库所或目标库所。

变迁可以表示为三要元(tk,・tk,tk・),・tk和tk・分别是tk的输入库所集和输出库所集,分别反映了tk这一攻击过程中系统的前后状态变化,・tk≠8,为攻击前提集合,tk・≠8,为攻击结果集合。

一般情况下,网络攻击的FPAN表示可按如基于FPN的模糊攻击图模型及生成算法研究黄光球,乔坤,朱华平(西安建筑科技大学管理学院,陕西西安710055)摘要:以模糊Petri网(FuzzyPetrinet,FPN)理论为基础,定义了一种面向检测的新型网络攻击模型FPAN,提出了FPAN的生成算法,并通过实验验证了算法的正确性,该模型比攻击树(AttackTree)更能够反映各个步骤之间的关系,可重用性也更强,具有较好的实用性。

关键词:模糊Petri网;攻击树;攻击建模;入侵检测中图分类号:TP31文献标识码:A文章编号:1000-7180(2007)05-0162-04ApproachtoFuzzyAttackNetBasedonFuzzyPetriNetanditsGeneratingAlgorithmHUANGGuang-qiu,QIAOKun,ZHUHua-ping(CollegeofManagement,Xi′anUniversityofArchitecture&Technology,Xi′an710055,China)Abstract:BasedonFuzzyPetrinet(FPN),anewexamination-orientednetworkattackmodelnamedFuzzyPetri-netAttackNet(FPAN)isputforward.Basedonthismodel,ageneratingalgorithmisproposed,andtheeffectivenessofthealgorithmisverifiedbyexperiments.Comparedtotheattacktree,thismodelcanreflecttherelationshipbetweeneachstepoftheattack;itsreusabilityandusabilityarealsogood.Keywords:fuzzypetrinet;attacktree;attackmodeling;intrusiondetection收稿日期:2006-06-18下规则进行:(1)网络攻击的攻击阶段可表示为模糊Petri网中的库所p;(2)网络攻击的攻击过程可表示为模糊Petri网中的变迁t;(3)参照攻击树[2]中的“与”,“或”节点概念,FPAN中的“与”关系表示法及对应的攻击树表示法如图1所示。

FPAN中的“或”关系表示法及对应的攻击树表示法如图2所示,FPAN中的“时序”关系表示法及对应的攻击树表示法如图3所示。

2.2FPAN的构造和求精FPAN可以抽象为一个具有目标库所的无环有向图,它的构造过程是一个向后推理的过程,具体步骤如下:(1)确定针对系统的一个具体的入侵行为Attack_typei,将Attack_typei作为FPAN的顶上库所P(Attack_typei);(2)通过回溯分析得到使顶上库所P(Attack_typei)发生所必须的攻击过程的变迁集合・P(Attack_typei);(3)找出・P(Attack_typei)中的任意一个变迁ti的输入库所集合・ti;(4)对・ti中的任意一个p进行判断,若・p=5则转向下一个p,否则循环执行(2)、(3)步;(5)对于所有新出现的库所,若・p=5,则结束。

3FPAN自动生成算法3.1获得数据样本数据作为FPAN生成算法的输入,是FPAN生成的基础,直接影响到攻击模式的精确性。

搜集的数据可能是网络数据包、主机日志等,为了准确地反映攻击特征,应保证数据的纯净性和多样性。

数据采集过程如图4所示。

3.2算法描述样本数据表示为:DataSet={FPAN1,FPAN2,…,FPANn,NormalSet},n=1,2,…,N。

其中,FPANi={(pi1,pi2,…,pim,Attack_typei),m=1,2,…,N},是各种类型的攻击数据集合。

NormalSet是正常数据集合,类似FPANi,NormalSet={(pi1,pi2,…,piq,normal),q=1,2,…,N},m≤q,事实上,在实际应用中,所统计的FPANi中属性p的个数与NormalSet中元素的个数是一样的,即m=q。

pi1,pi2,…,pim是数据的各项,在网络包数据源中如时间戳、源IP地址,协议类型,flag,serror_rate等,FPANi记为元组,Attack_typei是攻击的类型,基于某一攻击类型Attack_typj的FPANj统计元组数越多,多样性越充足,则越能体现该攻击的特征,也越能生成有效的FPAN,然而这可能带来大量的冗余数据,因此有必要对检测的数据进行归约处理。

可以借助数据挖掘中的维归约技术,去除冗余和信息含量不高的属性,得到数据集的归约形式。

属性的“优劣”可以用信息增益来表示,即考虑属性对与数据分析所能做出的贡献。

信息增益公式如下:Gain(S,A)=I(s1,s2,…,sm)-E(A)I(s1,s2,…,sm)=-mi=1"qilogmqi,E(A)=Sjj=1"S1j+…+SmjSI(s1j+…+smj)qi为类si在示例集S中的比率,m为类别数,|sj|为属性sj的属性值的个数,A代表某属性,S是数据集。

s包含si个Ci类样本,i=1,2,…,m。

I(s1,s2,…,sm)是对于一个给定的样本分类所需的期望信息。

E(A)是根据属性A的取值来划分的期望信息称作A的熵。

Gain(P,A)是从属性A上该划分的获得的信息增益。

基于信息增益的维归约原理,虽然能够进行有效的维归约,但计算过程复杂。

可以在归约以前,用简化的方法先行处理数据,提高效率。

方法如下:设数据元组FPNi中的属性pij在DataSet有ω个值,分别记为p1ij,p2ij,…,pωij,计算pkij在DataSet中出现的概率freq(pkij),K=1,2,…,ω,方便描述,约定:freq(pkij)=DataSet中pij=pkij的元组数DataSet的总元组数×100%(2)freqmax(pij)=max(p1ij,p2ij,…,pωij)(3)式(2)表示属性pij取值为pkij的元组在整个数据集DataSet中的出现频率,式(3)表示了属性pij在DataSet中出现的最大频率时的值。

扫描数据集,计算freqmax(pij),如果freqmax(pij)=1,则该属性对于区分攻击数据和正常数据起不到任何作用,因此从DataSet中去掉该项,freqmax(pij)越接近于1,则该属性对区分攻击数据和正常数据的贡献越小。

在此基础,完成数据集DataSet的归约处理,将新的数据集记为DataSet*,作为FPAN生成算法的输入。

算法具体描述如下:输入:样本数据集DataSet*输出:FPANk(1)以Attack_typek为攻击目标,以库所p(Attack_typek)表示;(2)归约处理后的任一数据元组FPANk*={(pi1,pi2,…,piw,Attack_typek),w≤m},在FPANk*中,计算出集合Uk,Uk={pki,…,pkj},(i,j∈{1,2,…,w},且i≤j≤w)。

#pki∈Uk,满足以下关联规则的条件:Attack_typek→pki(lift≥χ)(4)式中,lift(Attack_typek→pki)=Confidence(At-tack_typek→pki)/Expectedconfidence(pki)Expectedconfidence(pki)=p(pki)为pki在DataSet中的出现频率;Confidence(Attack_typek→pki)=P(pki|At-tack_typek)为pki在FPANk*中的出现频率。

式(4)中的属性pki在FPANk*中有多个值的时候原则上应逐次计算每个对应值,但实际应用中往往只需要关注出现频率较大的几个值,一般就取出现频率最大的值χ≥1,为检测阈值,文中取χ=1。

相关主题