任大勇
(渭南師范學(xué)院,陜西渭南714000)
模糊Petri網(wǎng)作為基于模糊產(chǎn)生式規(guī)則知識庫系統(tǒng)的良好的建模工具,既結(jié)合了Petri網(wǎng)描述異步并發(fā)和圖形表示的能力,使得知識表示簡單清晰.又具有模糊系統(tǒng)的模糊推理能力,便于知識的分析、推理、測試以及決策支持等。但是其缺乏較強(qiáng)的自學(xué)習(xí)能力,該缺點(diǎn)嚴(yán)重制約了模糊Petri網(wǎng)在各個領(lǐng)域的應(yīng)用。以模糊Petri網(wǎng)為理論基礎(chǔ)的新型網(wǎng)絡(luò)攻擊模型BBFPAN[1],不可避免的也具有自學(xué)習(xí)能力差的缺點(diǎn)。而對于用于網(wǎng)絡(luò)系統(tǒng)安全檢測和預(yù)警的攻擊模型來說,具有自學(xué)習(xí)能力無疑將大大減少其對專家經(jīng)驗(yàn)的依賴,也將有利于其對網(wǎng)絡(luò)系統(tǒng)安全漏洞進(jìn)行實(shí)時分析和安全預(yù)警。
神經(jīng)網(wǎng)絡(luò)(Neural Network)具有很強(qiáng)的自適應(yīng)和學(xué)習(xí)能力[2],文獻(xiàn)[3-6]將其與模糊Petri網(wǎng)相結(jié)合,對模糊Petri網(wǎng)的構(gòu)建產(chǎn)生積極作用,取得了一定的成果。文獻(xiàn)[7]曾通過對沒有回路的FPN模型結(jié)構(gòu)進(jìn)行層次式劃分以及建立變遷點(diǎn)燃和模糊推理的近似連續(xù)函數(shù),提出了適合模糊Petri網(wǎng)模型自學(xué)習(xí)的FPN分層算法、模糊推理算法和自學(xué)習(xí)算法,從而把神經(jīng)網(wǎng)絡(luò)中的BP網(wǎng)絡(luò)算法自然地引入到FPN模型中。但是經(jīng)實(shí)驗(yàn)驗(yàn)證,文獻(xiàn)[7]所提出的FPN分層算法并不能對BBFPAN進(jìn)行很好的分層處理。為了能夠?qū)⑸窠?jīng)網(wǎng)絡(luò)應(yīng)用于攻擊模型BBFPAN的應(yīng)用研究中,本文將首先提出一種適合于對攻擊模型BBFPAN進(jìn)行層次式劃分的分層算法。
針對文獻(xiàn)[7]中分層算法無法解決攻擊模型BBFPAN層次式劃分的問題,本文將首先提出一種適用于對攻擊模型BBFPAN進(jìn)行層次式劃分的分層算法。在該分層算法中,將把同一個庫所的輸出變遷盡可能的置于同一層次結(jié)構(gòu)之中,同時在必要時增加相應(yīng)的虛庫所和虛變遷。
在模糊Petri網(wǎng)增加的虛庫所和虛變遷只是起到一個中間過渡作用,并不會對模糊規(guī)則庫系統(tǒng)產(chǎn)生影響,因此也不會改變攻擊模型中攻擊因素對于攻擊效果的作用。按照攻擊模型BBFPAN的定義,在分層BBFPAN中,將虛庫所對應(yīng)的θ0設(shè)為0,虛變遷的置信度設(shè)為1。攻擊模型BBFPAN分層算法如算法1所示。
算法1:
Step1:建立起始庫所集Pset:若 θi0≠0,則pi∈Pset。設(shè)循環(huán)變量k,初始值為1,用以標(biāo)記模型的分層數(shù)。
Step2:建立變遷集合:Tk={t∈T|?p∈?t,p∈Pset};//Tk表示處于同一層的變遷集合。若T中的變遷t的所有輸入庫所都屬于起始庫所集Pset,則將該變遷t置于變遷集合Tk中。
Step3:若 t∈Tk,?p∈t?,?tl∈T-Tk,?p∈tl?則,為模型添加虛庫所ps和虛變遷tr,其中s =n+1,r=m+1。
t∈?ps//將變遷t置于新增虛庫所ps的輸入變遷集中。
ps∈?tr//將新增虛庫所ps作為虛變遷tr的輸入庫所。
tr∈?p//新增虛變遷tr的輸出庫所為庫所p。
同時,令:
P=P+{ps},n=n+1;//將新增虛庫所ps加入模型庫所集P中,n表示庫所集P的元素個數(shù)。
T=T+{tr},m=m+1;//將新增虛變遷tr加入模型變遷集T中,m表示庫所集T的元素個數(shù)。
θ0s=0;//新增虛庫所ps所對應(yīng)θs0的設(shè)為0。μr=1;//新增虛變遷tr的置信度設(shè)為1。
Step4:Pset=Pset∪{p∈t?|?t∈Tk};//將Tk中所有變遷的輸出庫所都添加到起始庫所集Pset中。
Step5:T=T-Tk;//從模型變遷集T中刪除Tk中的變遷。
Step6:若T=?,則算法結(jié)束,模型層數(shù)為k。否則,k=k+1,轉(zhuǎn)Step2。
基于雙枝模糊邏輯的BBFPAN模糊推理算法是建立在雙枝模糊邏輯[8-9]的基礎(chǔ)之上的。在該模糊推理算法中,首先以文獻(xiàn)[10]中介紹的雙枝模糊邏輯推理的幾種基本形式為依據(jù),提出BBFPAN模型推理的基本規(guī)則。然后,根據(jù)BBFPAN模型的基本推理規(guī)則,結(jié)合BBFPAN分層算法和BBFPAN的定義,給出其相應(yīng)的分層推理算法。
文獻(xiàn)[10]中介紹了雙枝模糊邏輯推理的幾種基本形式,本文在此基礎(chǔ)之上,結(jié)合BBFPAN的定義提出以下BBFPAN模型推理的基本規(guī)則。
與規(guī)則,IF d1(θI)and d2(θ2)and...and dn(θn)THEN dg(CF=μ),按照規(guī)則中命題(庫所)對應(yīng)網(wǎng)絡(luò)攻擊因素對網(wǎng)絡(luò)攻擊作用的不同,可以將與規(guī)則的推理分為以下三種形式:
(1)若θi∈[0,1],i=1,2,...,n,即pi所對應(yīng)的因素均對網(wǎng)絡(luò)攻擊起促進(jìn)作用,則
(2)若θi∈[-1,0],i=1,2,...,n,即pi所對應(yīng)的因素均對網(wǎng)絡(luò)攻擊起抑制作用,則
(3)若θi∈[-1,1],i=1,2,...,n,即pi所對應(yīng)的因素中,既有對網(wǎng)絡(luò)攻擊起促進(jìn)作用的因素,也有起抑制作用的因素。我們假設(shè):p1,p2,..., pk(1≤k<n)所對應(yīng)的因素,對網(wǎng)絡(luò)攻擊起促進(jìn)作用,則θh∈[0,1],h=1,2,...,k;pk+1,pk+2,..., pn所對應(yīng)的因素,對網(wǎng)絡(luò)攻擊起抑制作用,則θl∈[-1,0],l=k+1,k+2,...,n。那么相應(yīng)的BBFPAN模型,可以分解為攻擊枝BBFPAN和防御枝BBFPAN,如圖1所示。
在圖1中,我們將 pg庫所一分為二,分處攻擊枝和防御枝的雙枝之上,故而將其表示為虛圈,以示區(qū)別。θg+表示了ph(h=1,2,...,k)所對應(yīng)的對網(wǎng)絡(luò)攻擊起促進(jìn)作用的因素,對最終狀態(tài)pg的支持度表示了pl(l=k+1,k+2,...,n)所對應(yīng)的對網(wǎng)絡(luò)攻擊起抑制作用的因素,對最終狀態(tài)pg的支持度。
由式(1)和式(2),可以得到
或規(guī)則,IF d1(θI)or d2(θ2)or...or dn(θn) THEN dg(CF=μj)j=1,2,...,n,按照規(guī)則中命題(庫所)對應(yīng)網(wǎng)絡(luò)攻擊因素對網(wǎng)絡(luò)攻擊作用的不同,也可以將或規(guī)則的推理分為以下三種形式:
(1)若θi∈[0,1],i=1,2,...,n,即pi所對應(yīng)的因素均對網(wǎng)絡(luò)攻擊起促進(jìn)作用,則
(2)若θi∈[-1,0],i=1,2,...,n,即pi所對應(yīng)的因素均對網(wǎng)絡(luò)攻擊起抑制作用,則
(3)若θi∈[-1,1],i=1,2,...,n,即pi所對應(yīng)的因素中,既有對網(wǎng)絡(luò)攻擊起促進(jìn)作用的因素,也有起抑制作用的因素。依照與規(guī)則中的假設(shè),可以將相應(yīng)的BBFPAN模型,分解為攻擊枝BBFPAN和防御枝BBFPAN,如2所示。
在圖2中,將pg庫所采用與圖1中相類似的方法,表示為虛圈,以示區(qū)別。其中,θg+和所表示的意義與規(guī)則中的一致。
由式(5)和(6),可以得到
對于與、或兩種規(guī)則第三種情況下,庫所pg的可信度θg,可以分別依據(jù)式(3)、式(4)、式(7)、式(8)求得,計算公式為
根據(jù)以上BBFPAN模型的基本推理規(guī)則,結(jié)合BBFPAN分層算法和BBFPAN的定義,提出一種分層BBFPAN模型推理的算法。
在該推理算法中,首先根據(jù)的 θi0取值情況,構(gòu)造中間狀態(tài)庫所集Pg,并按照模型的層次結(jié)構(gòu),逐層對同層變遷集合Tk中變遷tj進(jìn)行觸發(fā)。對?tj按照與規(guī)則進(jìn)行推理計算,并將推理計算結(jié)果存放在矩陣θg中。然后,再對中間狀態(tài)庫所集Pg中庫所的輸入變遷按照或規(guī)則進(jìn)行推理計算,從而得到中間狀態(tài)庫所集Pg中每個庫所所對應(yīng)命題的可信度。分層BBFPAN推理算法如算法2所示。
算法2:
Step1:構(gòu)造中間狀態(tài)庫所集Pg:若θi0=0,則pi∈Pg。構(gòu)造矩陣θg={θgij},θgij初值設(shè)為0,矩陣θg為n×m階矩陣。設(shè)循環(huán)變量l=1;
Step2:?tj∈Tl,對tj進(jìn)行如下操作:
boolean flag_pos=false,flag_neg=false;//分別用于標(biāo)記?tj中攻擊因素的性質(zhì)
//對?tj按照與規(guī)則進(jìn)行推理計算,其中 I為變遷tj的輸入矩陣,當(dāng)pi是tj的輸入時,I[i][j] =1。
flag_pos=true;//若?tj中因素對網(wǎng)絡(luò)攻擊起促進(jìn)作用,則flag_pos為真
flag_neg=true;//若?tj中因素對網(wǎng)絡(luò)攻擊起抑制作用,則flag_neg為真
θgj=θg+;tj中僅存在對網(wǎng)絡(luò)攻擊起促進(jìn)作用的因素。
θgj=θg-+⊕;tj中僅存在對網(wǎng)絡(luò)攻擊起抑制作用的因素。
else θgj=θg+⊕;//否則,根據(jù)式(9)求得
if(O[i][j]==1){//其中O為變遷tj的輸出矩陣,當(dāng)pi是tj的輸出時,O[i][j]=1。
θg[i][j]=θgj;//將?tj中庫所對tj?庫所的支持度放入矩陣θg。
Step3:對?pi∈Pg,對pi進(jìn)行如下操作:
boolean flag=false;//用于標(biāo)記?pi中變遷是否屬于Tl
θgi=θg+⊕θg-;//根據(jù)式(9)求得θgj。
θi=θgi;//得到庫所pi所對應(yīng)命題的可信度
Pg=Pg-{pi};//從中間狀態(tài)庫所集Pg刪除庫所pi。
Step4:若循環(huán)變量 l=分層層數(shù)k,則推理結(jié)束;否則,l=l+1,轉(zhuǎn)Step2。
文獻(xiàn)[1]曾以特權(quán)提升攻擊作為實(shí)例,對算法進(jìn)行驗(yàn)證。本文在此基礎(chǔ)之上,構(gòu)造了一種更為復(fù)雜的特權(quán)提升BBFPAN模型,分別對BBFPAN分層算法和推理算法進(jìn)行驗(yàn)證。特權(quán)提升分層BBFPAN模型圖如圖3所示。
根據(jù)圖3和BBFPAN的定義,可以得到
按照算法1第一步的要求可得
模型變遷集 T={t1,t2,t3,t4,t5,t6,t7,t8}。
經(jīng)過算法1第一輪執(zhí)行之后T1={t1,t6};
在以上對特權(quán)提升BBFPAN分層處理的基礎(chǔ)之上,按照算法2即可對特權(quán)提升分層BBFPAN中,同層變遷集合T1,T2,T3,T4進(jìn)行觸發(fā)推理計算。
經(jīng)過算法2第三輪的執(zhí)行,變遷集合 T3中的變遷將觸發(fā),同時可得θ16=0.6,θ22=0.56,Pg= {p17}。
經(jīng)過算法2第四輪的執(zhí)行,變遷集合 T4中的變遷將觸發(fā),同時可得θ17=0.56,Pg=?,算法2結(jié)束。
由變遷集合T1,T2,T3,T4可以清晰的看出特權(quán)提升BBFPAN變遷觸發(fā)的層次結(jié)構(gòu),這說明算法1能夠有效的對攻擊模型BBFPAN進(jìn)行分層處理。
由算法2的推理過程,可以看出虛庫所和虛變遷在分層BBFPAN中只是起到了相應(yīng)的過渡作用,并對模型最終推理結(jié)果產(chǎn)生影響。節(jié)點(diǎn)p7對節(jié)點(diǎn)p16的支持度,通過虛庫所和虛變遷p18,t9,p20,t11進(jìn)行了傳遞;對最終節(jié)點(diǎn)p17的支持度,通過虛庫所和虛變遷 p19,t10,p21,t12,p22,t13完成了傳遞。
同時,該BBFPAN分層推理算法能清晰的反映攻擊模型中各個節(jié)點(diǎn)在不同時刻的狀態(tài),從而使模型更加真實(shí)直觀地反映了網(wǎng)絡(luò)攻擊的演變情況,使我們更好的發(fā)現(xiàn)和認(rèn)識網(wǎng)絡(luò)系統(tǒng)的漏洞,有針對性地采取相應(yīng)的安全防御措施。
本研究豐富了攻擊模型的分析研究方法,同時也擴(kuò)展了雙枝模糊邏輯理論的研究領(lǐng)域。神經(jīng)網(wǎng)絡(luò)和新型網(wǎng)絡(luò)攻擊模型BBFPAN的相結(jié)合研究,還包括諸如變遷觸發(fā)連續(xù)函數(shù)、權(quán)值調(diào)整等諸多的問題。通過實(shí)驗(yàn)驗(yàn)證算法是正確的。
[1]黃光球,任大勇.基于雙枝模糊決策和模糊Petri網(wǎng)的攻擊模型[J].計算機(jī)應(yīng)用,2007,27(11):2689-2693.
[2]魏海坤.神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計的理論與方法[M].北京:國防工業(yè)出版社,2005.
[3]FURUHASHI T,YAMAMOTO H.Fuzzy control stability analysis using a generalized fuzzy petri net model[J].Journal of Advanced Computational Intelligence and Intelligent Informatics,1999,3(2):99-105.
[4]宋群,馬宏波,王中海.基于NNFPN模型的電梯故障診斷方法的研究[J].控制與決策,2005,20(3):341-344.
[5]胡志剛,馬好,廖麟.基于模糊神經(jīng)Petri網(wǎng)的故障診斷模型[J].小型微型計算機(jī)系統(tǒng),2005,26(11):1978 -1982.
[6]危勝軍,胡昌振,孫明謙.基于學(xué)習(xí)Petri網(wǎng)的網(wǎng)絡(luò)入侵檢測方法[J].北京理工大學(xué)學(xué)報,2007,27(4):312-317.
[7]鮑培明.基于BP網(wǎng)絡(luò)的模糊Petri網(wǎng)的學(xué)習(xí)能力[J].計算機(jī)學(xué)報,2004,27(5):695-702.
[8]劉剛,徐衍亮,趙建輝,等.雙枝模糊邏輯[J].計算機(jī)工程與應(yīng)用,2003,39(30):96-98.
[9]劉剛,劉強(qiáng).雙枝模糊推理框架[J].計算機(jī)工程與應(yīng)用,2004(32):102-105.
[10]劉剛,趙建輝,劉強(qiáng).雙枝模糊邏輯(Ⅱ)[J].計算機(jī)工程與應(yīng)用,2005(19):47-49.