王 偉
WANG Wei
(西安財經學院,西安 710061)
隨著計算機網絡的迅速發展和廣泛應用,網絡安全問題變得越來越復雜,網絡安全評價正成為網絡技術發展關注的熱點問題。網絡安全評價的常見方法有模糊綜合評判法、數據包絡分析法、灰色聚類法等,由于這些方法建模和運算復雜,一些學者將BP神經網絡引入到網絡安全的評價中。這種基于梯度下降規則的算法存在收斂速度緩慢、容易陷入局部極小以及網絡結構難以確定等缺陷,這些都大大影響了網絡的學習效率和分類精度。針對BP算法的不足,本文將概率神經網絡(Probabilistic Neural Network,PNN)模型應用于網絡安全的分析中,采用Matlab工具軟件對計算機網絡安全指標的數據進行仿真訓練和驗證,然后將其與BP算法仿真分類的結果進行比較,分析表明:PNN網絡設計時間極短,速度遠快于BP算法;網絡安全等級分類的準確率較BP網絡明顯提高。
概率神經網絡是D.F.Specht博士1989年提出的一種徑向基函數(RBF)網絡的重要變形[1],這種基于統計原理的神經網絡模型在分類功能上與最優貝葉斯(Bayes)分類器等價,具有訓練時間短且不易收斂到局部最小點的優點,特別適合于求解模式識別問題。

圖1 計算機網絡安全評價指標體系
本文采用參考文獻[2]的內容、準則和Delphi法篩選出上面圖1中所示的評價指標,構成網絡安全綜合評價指標體系。網絡安全綜合評價指標共17項,每項指標由專家進行考評,并量化處理為[0,1]之間的數值,分值越高表明單個指標的安全程度越高。網絡安全分為四個等級,即安全狀態(1-0.85)、基本安全(0.85-0.7)、不安全(0.7-0.6)、很不安全(0.6-0);其對應的類別表示為1、2、3、4。樣本數據參見文獻[3],將16組樣本數據對應的輸出結果進行類別標示依次記為:1 2 2 4 1 2 3 4 1 2 3 4 1 2 3 4。
首先確定PNN網絡的結構,根據徑向基函數的特點,其輸入層神經元個數與輸入樣本向量個數相同,輸出層神經元個數等于訓練樣本數據的種類個數,每個神經元分別對應于一個數據類別。現分別用(1 0 0 0)、(0 l O 0)、(O 0 1 0)、(O 0 0 1)表示網絡安全的4個等級1、2、3、4。PNN的結構為:輸入層有17個神經元,輸出層有4個神經元,中間層神經元的傳遞函數為高斯函數,輸出層的傳遞函數為線性函數。
本文采用Matlab編寫仿真程序,網絡訓練采用交叉驗證的方法。令P表示網絡的輸入樣本向量,T表示網絡的目標向量,PNN網絡的仿真步驟為:第一步,將表1中前9組數據用于訓練,余下7組數據用于測試;第二步,用第一次作測試的數據(7組)來訓練,而第一次用于訓練的9組數據來測試。這樣就相當于所有數據都用于測試了一遍,通過交叉驗證得到屬于每一類的概率,最后給出類別[4]。以下是用matlab6.5所編寫的程序代碼: t1 = clock; P = P’; T = T’;
net=newpnn (P, T, SPREAD);%SPREAD取0.1
t2=clock;timespan=etime (t2, t1);%計算設計網絡的時間; y_test=sim (net, P_test);
yc_test= vec2ind (yc_test);yc_test。
PNN第1步仿真結果為:timespan=0.14s,yc_test=2 3 4 1 2 3 4;PNN第2步仿真結果為:timespan=0.157s,yc_test=1 2 3 4 1 2 3 4 1。
首先確定BP網絡的結構,輸出狀態同PNN仿真的設置。根據Kolmogorov定理,選用一個N* (2N+1)*M的3層BP網絡作為狀態分類器;其中,N(N=17)表示輸入特征向量的分量數,M(M=4)表示輸出狀態類別總數。BP仿真采用同前述PNN同樣的方法和數據進行,第1步測試后7組數據的仿真結果為:timespan=16.828s,Y對應的仿真結果矩陣值為:
0.0131 -0.0076-0.0004-0.7659-0.0371-0.0200-0.0001
0.5890 -0.0742-0.0400-0.1017-0.6050-0.0361-0.0203
0.0503 -0.2819-0.0139-0.0048-0.1194-0.7303-0.0421
0.0071 -0.0220-0.9484-0.0010-0.0033-0.0130-0.9745
按照向量與等級類別的對應關系,可知仿真分類結果為:Y=2 3 4 1 2 3 4 ;同理,第2步測試前9組數據的仿真結果為:timespan=37.156s;Y= 1 1 3 4 1 2 3 4 1。

表2 計算機網絡安全仿真分類情況對比
表2的數據對比說明:1)基于PNN的網絡設計速度遠遠快于BP網絡;2)PNN仿真的均方誤差為0且分類的準確率較BP要高;3)PNN所得輸出結果更直接明了。總之,運用PNN比BPNN對計算機網絡安全仿真評價更優越。
本文仿真研究表明:運用PNN模型對計算機網絡安全等級進行評價,與BPNN模型相比:其訓練速度快,不存在陷入局部極小點的問題,網絡仿真輸出的分類精度高,泛化能力強,特別適合于求解模式識別問題。本文的創新點在于:PNN模型的方法為全面有效的評價網絡安全問題提供了新的思路和方法。
[1] 李冬輝,劉浩.基于概率神經網絡的故障診斷方法及應用[J].系統工程與電子技, 2004, 26(7):997-998.
[2] ISOPIEC17799-1:2005(E).The International Organization for Standardization.Information Technology-Security Techniques-Code of Pract-ice for Information Security Management[S].
[3] 許福永,申健,李劍英.基于AHP和ANN的網絡安全綜合評價方法研究[J].計算機工程與應用, 2005, 29:127-128.
[4] 周開利,康耀紅.神經網絡模型及其MATLAB仿真程序設計[M].北京:清華大學出版社, 2005.
[5] 王宇浩,王海波.改進的BP神經網絡在局域網故障診斷中的應用[J].計算機仿真, 2010, 27(4):96-98.