周 瓏, 郭 威, 王建永, 黃杰韜
(中國南方電網(wǎng) 廣東電網(wǎng)有限責任公司, 廣州 510630)
當前,各種計算機病毒、木馬和黑客入侵等事件接連發(fā)生,網(wǎng)絡(luò)信息安全的局勢越來越嚴峻.在復(fù)雜的網(wǎng)絡(luò)環(huán)境中,如何評價和檢測網(wǎng)絡(luò)的安全風險程度,成為了信息安全領(lǐng)域的重要問題.很多專家和學者做出了大量的努力[1-3],這些算法的優(yōu)點在于從各個角度對網(wǎng)絡(luò)的安全狀態(tài)進行了研究,但其缺點是實用性不強.為進一步優(yōu)化網(wǎng)絡(luò)安全評價模型,回避BP神經(jīng)網(wǎng)絡(luò)算法收斂慢、搜索能力差等問題,本文引入了GA遺傳算法,得出了結(jié)合這兩種算法的網(wǎng)絡(luò)安全評價模型,該模型既克服了BP神經(jīng)網(wǎng)絡(luò)算法和GA遺傳算法的缺點,同時兼具這兩種算法的優(yōu)點,能夠理想地完成網(wǎng)絡(luò)安全評價工作.
在復(fù)雜網(wǎng)絡(luò)環(huán)境中,公眾信息安全受到了多方面威脅,例如惡意攻擊、軟件漏洞、軟件后門和操作失誤等.為了能夠準確地評估網(wǎng)絡(luò)安全受威脅的程度,需要建立起一套綜合評價指標體系.
評價指標需要從層次結(jié)構(gòu)、安全特性和系統(tǒng)安全評價體系等角度進行討論[4].首先,目前網(wǎng)絡(luò)的層次結(jié)構(gòu)大多都是TCP/IP協(xié)議的分層模型,應(yīng)用層負責用戶的應(yīng)用程序,其安全措施包括個人認證、加密和簽名等;傳輸層負責用戶端的進程通信,使用了安全套接字、訪問控制和加密等技術(shù);網(wǎng)絡(luò)層負責網(wǎng)絡(luò)的路由服務(wù),使用了防火墻、IPSec技術(shù);鏈路層負責網(wǎng)絡(luò)中點到點的通信服務(wù),主要用加密技術(shù)來保障安全;物理層負責實現(xiàn)網(wǎng)絡(luò)中的物理連接,使用了數(shù)據(jù)流加密技術(shù)等安全措施.其次,網(wǎng)絡(luò)的安全特性主要包括數(shù)據(jù)的保密性、完整性、可用性、可控性和不可否認性,數(shù)據(jù)的保密性是指未授權(quán)的第三方不能取得該數(shù)據(jù);完整性保護網(wǎng)絡(luò)中真實信息不被未授權(quán)的第三方修改;可用性能夠防止人為因素對網(wǎng)絡(luò)信息的破壞;可控性是指對內(nèi)部的信息和信息系統(tǒng)進行監(jiān)管,防止惡意代碼的執(zhí)行和破壞;不可否認性是指對授權(quán)的用戶行為進行監(jiān)控,防止用戶否認自己的行為[5].最后,網(wǎng)絡(luò)安全的評價體系主要由網(wǎng)絡(luò)的管理安全、環(huán)境安全、硬件安全、軟件安全和數(shù)據(jù)安全等方面組成,這些大的方面可以囊括網(wǎng)絡(luò)安全的各個具體評價指標,如入侵檢測和訪問控制等檢測指標.
在設(shè)計評價指標時,還必須遵循以下原則:
1) 完備性.網(wǎng)絡(luò)安全評價指標應(yīng)該全面、完整和有效刻畫出網(wǎng)絡(luò)安全的基本特征,得出精確可信的評價結(jié)果.
2) 獨立性.評價指標之間經(jīng)常會有或多或少的相關(guān)性,設(shè)計人員應(yīng)該盡量減少多個指標的聯(lián)系,提高評價的準確性.
3) 簡要性.優(yōu)良的評價指標能夠簡明扼要地反映網(wǎng)絡(luò)的安全水平.
4) 可操作性.指標設(shè)計必須切合實際,涉及數(shù)據(jù)的收集和處理過程簡單易行.
為建立科學的評價指標體系,本文引入了德爾菲法(Delphi),該方法使用了背對背的方式咨詢專家小組的意見,小組成員匿名發(fā)表意見,同時成員之間不允許相互討論,通過這樣多輪的反復(fù)詢問和反饋修正,得到集中的預(yù)測意見,從而總結(jié)出符合實際情況的預(yù)測結(jié)論.這種方法也叫專家意見法,具有匿名性、反饋性和優(yōu)良的統(tǒng)計特性,能夠結(jié)合多個專家主觀意見和客觀規(guī)律,可以對大量無法定量分析的指標進行相對準確的估算.首先確定專家小組的所有成員和若干評價指標,制作出成員需要填寫的咨詢表格,然后進行首輪初步咨詢,并計算需要統(tǒng)計的參數(shù),進行多輪咨詢并反復(fù)修正專家意見,最后統(tǒng)一專家成員的意見,本文使用德爾菲法流程圖如圖1所示[6].
圖1 德爾菲法流程圖Fig.1 Flow chart of Delphi method
在德爾菲法的作用下,經(jīng)過系統(tǒng)分析和對專家評分的統(tǒng)計,選取出的指標形成了本文評價模型的完整指標體系,該體系結(jié)構(gòu)如圖2所示.
神經(jīng)網(wǎng)絡(luò)(BP)算法是一種借鑒人體神經(jīng)元結(jié)構(gòu)來進行信息處理和計算的智能算法,具有高度的自組織性和自學習性等優(yōu)點,善于處理推理、判斷等問題,但該算法也存在收斂速度慢、容易陷入局部極小值和網(wǎng)絡(luò)泛化能力差等缺點[7-8].為了避免BP算法的上述缺陷,本文引入了GA遺傳算法,將這兩種算法結(jié)合到一起來進行計算,并對網(wǎng)絡(luò)的安全程度進行計算和評價.在算法中,令E為目標函數(shù),w和v分別為輸入層到隱含層、隱含層到輸出層的權(quán)值矩陣,θ和r分別為對應(yīng)的閾值矩陣,m為輸入層的數(shù)量,n為輸出層的數(shù)量,p為隱含層的數(shù)量,則GABP算法的數(shù)學表達式為
圖2 網(wǎng)絡(luò)安全評價指標體系Fig.2 Network security evaluation index system
(1)
如上所述,GABP算法的輸入層x∈Rm,輸出層y∈Rn,輸入層到隱含層的權(quán)值矩陣w∈Rm×p,閾值矩陣為θ∈Rp,隱含層到輸出層的權(quán)值矩陣v∈Rp×n,閾值矩陣為r∈Rn.設(shè)隱含層h∈Rp,則輸入層到隱含層的關(guān)系為h=xiwi+θi,且隱含層到輸出層的關(guān)系為y=hvi+ri.其中,算法需要優(yōu)化的對象是w、θ、v和r.
(2)
1) 大致選定權(quán)值矩陣等初始值;
2) 直到誤差指標Ek小于某一設(shè)定值,否則重復(fù)步驟3);
(3)
該算法的變異運算使用均勻變異的方法,即個體在變異時,僅隨機改變個體向量中的某個分量,得到的新個體必須具有更小的目標函數(shù)值才能取代變異前的個體,如果不是,則個體保持不變,其數(shù)學表達式為
(4)
本文算法的歸納步驟如下:
1) 初始化,按照上文中提到的算法來得到初步解(w,v,θ,r),設(shè)定遺傳進化代數(shù)k、輸入矩陣X、目標函數(shù)值E、遺傳最大代數(shù)N、交叉概率Pc和變異概率Pm.
2) 如果目標函數(shù)值E<ε(ε為常數(shù)),跳轉(zhuǎn)至步驟6);否則,設(shè)定k=0,跳轉(zhuǎn)至步驟3).
3)k=k+1,如果k≥N,跳到步驟5);否則,計算當前解的目標函數(shù)值E.
4) 以交叉概率Pc和變異概率Pm隨機對當前解進行交叉或者變異運算,得到備選解,然后使用輪盤賭選擇方法對當前解和備選解進行評估和對比,生成目標函數(shù)值更小的新一代個體,跳轉(zhuǎn)至步驟3).
5) 輸出第N代個體,同時計算目標函數(shù)值E,跳轉(zhuǎn)至步驟2).
6) 輸出最終解.
在網(wǎng)絡(luò)安全評價研究領(lǐng)域,評價結(jié)果可以分為A(很高)、B(高)、C(一般)、D(低)4個等級,設(shè)滿分為1分,這些等級的評分分布如表1[10]所示.
表1 安全等級評分分布Tab.1 Distribution of safety level scoring
為驗證GABP算法的可行性和執(zhí)行效率,本文使用Matlab平臺進行仿真.在具體仿真前,BP神經(jīng)網(wǎng)絡(luò)算法必須先使用多組數(shù)據(jù)進行訓練,之后才能使用訓練完成的神經(jīng)網(wǎng)絡(luò)進行評價.在本文中多組網(wǎng)絡(luò)安全指標數(shù)據(jù)被用來訓練神經(jīng)網(wǎng)絡(luò).在仿真過程中,5組輸入數(shù)據(jù)(每組數(shù)據(jù)C1~C17)和期望輸出數(shù)據(jù)被用來進行具體的仿真評價,在執(zhí)行過程中,上述算法被編譯成Matlab程序腳本,首先神經(jīng)網(wǎng)絡(luò)進行了8 000多次訓練,其輸出誤差最終達到收斂.
在神經(jīng)網(wǎng)絡(luò)算法仿真中,隱含層的節(jié)點數(shù)是一個重要參數(shù).理論證明,如果隱含層節(jié)點數(shù)增加到一定程度,BP神經(jīng)網(wǎng)絡(luò)算法的訓練誤差可以無限逼近0.在仿真過程中,本文針對不同隱含層節(jié)點函數(shù),使用GABP算法對相同數(shù)據(jù)進行訓練,根據(jù)其仿真結(jié)果得到不同隱含層節(jié)點的訓練誤差與預(yù)測誤差,分別如圖3、4所示.
由圖3可知,隨著隱含層節(jié)點數(shù)的增加,評價算法的訓練誤差在不斷下降,最后趨近于0,在節(jié)點數(shù)達到5之后,其下降速率就會增強,這說明隱含層節(jié)點數(shù)的增加可以增強算法的學習能力.由圖4可知,隨著隱含層節(jié)點數(shù)從2增加到5,評價算法的預(yù)測誤差急劇降低,隱含層節(jié)點數(shù)從5增加到7時,其預(yù)測誤差基本不變,隱含層節(jié)點數(shù)繼續(xù)增加時,預(yù)測誤差會急劇增加.這意味著隱含層節(jié)點數(shù)在比較小的時候,評價算法的預(yù)測能力會隨著節(jié)點數(shù)增加而增強,然而節(jié)點數(shù)增加到一定程度時,算法中的神經(jīng)網(wǎng)絡(luò)會產(chǎn)生過度吻合,即節(jié)點太多反而令噪聲增加,這時算法的預(yù)測能力下降.綜上所述,為了令評價算法的訓練誤差和預(yù)測能力達到相對理想的狀態(tài),隱含層節(jié)點數(shù)最好設(shè)置在[5,7]之間.本文神經(jīng)網(wǎng)絡(luò)的隱含層節(jié)點數(shù)設(shè)置為5,學習精度設(shè)置為0.001,其仿真使用數(shù)據(jù)如表2所示.
圖3 不同隱含層節(jié)點數(shù)設(shè)置的訓練誤差Fig.3 Training error of number of nodes in different hidden layers
圖4 不同隱含層節(jié)點數(shù)設(shè)置的預(yù)測誤差Fig.4 Prediction error of number of nodes in different hidden layers
表2 仿真使用數(shù)據(jù)Tab.2 Data used in simulation
本文網(wǎng)絡(luò)安全仿真結(jié)果如表3所示.表3中評分是根據(jù)目標函數(shù)值E計算得出的,其計算公式為
結(jié)果表明,該模型的最大相對誤差為3.7%,實際輸出與期望輸出基本一致,所有的網(wǎng)絡(luò)安全等級為B,網(wǎng)絡(luò)的安全程度較高.
另外,將本文的算法與BP算法和遺傳算法進行了誤差比較,比較結(jié)果如表4所示.通過對比可以發(fā)現(xiàn),本文算法的評估精度均高于BP算法和遺傳算法.
表3 仿真結(jié)果Tab.3 Simulation results
表4 BP、GA與GABP算法的誤差比較Tab.4 Comparison in error of BP,GA and GABP algorithms %
本文在分析神經(jīng)網(wǎng)絡(luò)算法和遺傳算法的基礎(chǔ)上,通過優(yōu)化組合提出了能夠評價網(wǎng)絡(luò)信息安全的GABP算法,并對該算法的評價功能進行了逼近實際的仿真.仿真結(jié)果表明,本文所提出的GABP算法性能優(yōu)于BP算法和遺傳算法,可以準確地評價出網(wǎng)絡(luò)的信息安全程度.綜上所述,GABP算法可以科學評價安全指標體系,并可以使用網(wǎng)絡(luò)實時監(jiān)控數(shù)據(jù),定量地評價出網(wǎng)絡(luò)的信息安全狀況,為未來網(wǎng)絡(luò)信息安全研究提供了參考.