趙一鳴,謝 炯,王 鋼,陳曉宇,李曉彤
(1.內(nèi)蒙古電力集團(tuán)蒙電信息通信產(chǎn)業(yè)有限責(zé)任公司,內(nèi)蒙古 呼和浩特 010000;2.內(nèi)蒙古工業(yè)大學(xué),內(nèi)蒙古 呼和浩特 010000;3.內(nèi)蒙古礦業(yè)(集團(tuán))有限責(zé)任公司,內(nèi)蒙古 呼和浩特 010000)
隨著信息安全等級(jí)保護(hù)測(cè)評(píng)工作的推進(jìn),測(cè)評(píng)過(guò)程中產(chǎn)生了海量的測(cè)評(píng)數(shù)據(jù),但在測(cè)評(píng)工作結(jié)束以后,這些測(cè)評(píng)數(shù)據(jù)往往“石沉大海”,沒(méi)有被有效利用起來(lái)。從信息系統(tǒng)等級(jí)保護(hù)測(cè)評(píng)數(shù)據(jù)開(kāi)始,綜合運(yùn)用定性和定量的方法,將各項(xiàng)測(cè)評(píng)數(shù)據(jù)進(jìn)行轉(zhuǎn)換、計(jì)算、分析等處理,運(yùn)用貝葉斯網(wǎng)絡(luò)算法對(duì)系統(tǒng)進(jìn)行風(fēng)險(xiǎn)評(píng)估[1],可以了解系統(tǒng)中潛在的危害,并針對(duì)性地加以識(shí)別防范,從而提高系統(tǒng)抗風(fēng)險(xiǎn)強(qiáng)度并進(jìn)一步保障被測(cè)評(píng)系統(tǒng)的安全運(yùn)行。
用概率理論的貝葉斯網(wǎng)絡(luò)方法來(lái)描述不同因素之間的關(guān)系,是一種基于有向無(wú)環(huán)圖的概率推理方法,其體現(xiàn)節(jié)點(diǎn)間的概率相關(guān)性,同時(shí)能夠較為有效地處理現(xiàn)實(shí)生活中的不確定性問(wèn)題。許多專(zhuān)家都使用貝葉斯網(wǎng)絡(luò)方法進(jìn)行風(fēng)險(xiǎn)評(píng)估,并應(yīng)用于交通事故[2]、銀行系統(tǒng)[3]、電力供應(yīng)和大型工程[4]等方面。
貝葉斯網(wǎng)絡(luò)對(duì)處理現(xiàn)實(shí)生活中的不確定性問(wèn)題有明顯的效果,其具有很強(qiáng)的計(jì)算能力,能夠通過(guò)已知信息運(yùn)算預(yù)測(cè)未知信息[5],進(jìn)而形成準(zhǔn)確性較高的推理結(jié)果。通過(guò)貝葉斯網(wǎng)絡(luò)算法對(duì)系統(tǒng)的等級(jí)保護(hù)測(cè)評(píng)數(shù)據(jù)進(jìn)行分析推理,達(dá)成對(duì)系統(tǒng)的風(fēng)險(xiǎn)評(píng)估。
風(fēng)險(xiǎn)評(píng)估過(guò)程主要分為以下幾個(gè)階段:(1)首先安全測(cè)評(píng)機(jī)構(gòu)對(duì)系統(tǒng)進(jìn)行等級(jí)保護(hù)測(cè)評(píng),從等級(jí)保護(hù)測(cè)評(píng)結(jié)果中獲得測(cè)評(píng)數(shù)據(jù);(2)通過(guò)對(duì)數(shù)據(jù)進(jìn)行層次分析,確定各節(jié)點(diǎn)指標(biāo)之間的依賴(lài)關(guān)系以及關(guān)系強(qiáng)度,構(gòu)造出等級(jí)保護(hù)數(shù)據(jù)拓?fù)浣Y(jié)構(gòu);(3)定性和定量的風(fēng)險(xiǎn)評(píng)估方法,首先,通過(guò)測(cè)評(píng)數(shù)據(jù)中測(cè)評(píng)項(xiàng)的識(shí)別,經(jīng)過(guò)專(zhuān)家經(jīng)驗(yàn)以及歷史數(shù)據(jù)的統(tǒng)計(jì)分析,定性計(jì)算出各節(jié)點(diǎn)指標(biāo)的先驗(yàn)概率以及條件概率,然后,通過(guò)上述概率定量的計(jì)算出各個(gè)節(jié)點(diǎn)的后驗(yàn)概率,形成貝葉斯網(wǎng)絡(luò)風(fēng)險(xiǎn)模型;(4)貝葉斯網(wǎng)絡(luò)因果推理。結(jié)合上述模型,確定在系統(tǒng)已出現(xiàn)故障的情況下,通過(guò)先驗(yàn)概率、條件概率、后驗(yàn)概率聯(lián)合推理出導(dǎo)致故障出現(xiàn)的測(cè)評(píng)項(xiàng)風(fēng)險(xiǎn)概率(即故障定位),其中使用的計(jì)算分析方法是貝葉斯網(wǎng)絡(luò)因果推理算法。隨后根據(jù)后驗(yàn)概率和風(fēng)險(xiǎn)概率等對(duì)被測(cè)評(píng)系統(tǒng)給出風(fēng)險(xiǎn)評(píng)價(jià),使用戶(hù)可以更加全面地了解被測(cè)評(píng)系統(tǒng)的安全態(tài)勢(shì),并給出相應(yīng)的安全風(fēng)險(xiǎn)化解解決方法。圖1所示為風(fēng)險(xiǎn)評(píng)估模型研究流程圖。
圖1 風(fēng)險(xiǎn)評(píng)估模型研究流程圖
通過(guò)已知測(cè)評(píng)數(shù)據(jù)的層次拓?fù)浣Y(jié)構(gòu)以及測(cè)評(píng)節(jié)點(diǎn)之間的關(guān)系強(qiáng)度,構(gòu)建一個(gè)以測(cè)評(píng)項(xiàng)為下層父節(jié)點(diǎn),層面結(jié)構(gòu)和控制點(diǎn)為中間子節(jié)點(diǎn)的貝葉斯網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)。其中構(gòu)成模型的最下層是無(wú)有向邊輸入的父節(jié)點(diǎn);構(gòu)成模型的最上層是無(wú)有向邊輸出的子節(jié)點(diǎn);中間節(jié)點(diǎn)按相對(duì)應(yīng)的關(guān)系依次排開(kāi),并且同一層節(jié)點(diǎn)之間相互獨(dú)立且符合伯努利分布,如圖2所示。
圖2 貝葉斯網(wǎng)絡(luò)模型
根據(jù)歷史數(shù)據(jù)或?qū)<抑饔^經(jīng)驗(yàn)判斷得出的各測(cè)評(píng)項(xiàng)發(fā)生的概率被稱(chēng)為先驗(yàn)概率,此類(lèi)概率未經(jīng)過(guò)實(shí)驗(yàn)驗(yàn)證,屬于檢驗(yàn)前的概率。利用專(zhuān)家經(jīng)驗(yàn)從資產(chǎn)、威脅、脆弱性三個(gè)方面確定先驗(yàn)概率的過(guò)程是一個(gè)主觀模糊的過(guò)程,因?yàn)闆](méi)有統(tǒng)一的參考標(biāo)準(zhǔn),所以結(jié)果往往不夠準(zhǔn)確。根據(jù)科學(xué)研究中工作人員的語(yǔ)言表達(dá)習(xí)慣在語(yǔ)言量詞和實(shí)際數(shù)值之間建立了一種相對(duì)應(yīng)關(guān)系,通過(guò)專(zhuān)家的評(píng)價(jià)對(duì)先驗(yàn)概率的值進(jìn)行參數(shù)確定。將多位專(zhuān)家的結(jié)果進(jìn)行平均分析,就可以基本上確定最終的概率值。
其次由于不同專(zhuān)家的知識(shí)程度和經(jīng)驗(yàn)水平略有不同,導(dǎo)致不同的專(zhuān)家得到的結(jié)果正確性有差異,因此在此種情況下,需要對(duì)專(zhuān)家的權(quán)重進(jìn)行分析。假設(shè)若有z個(gè)專(zhuān)家就某參數(shù)值n進(jìn)行分析,記ni,i=0,1,2,3…,z為第i個(gè)專(zhuān)家給出的參數(shù)值,Wi為第i個(gè)專(zhuān)家的權(quán)重,
表1為專(zhuān)家權(quán)重的判斷標(biāo)準(zhǔn),通過(guò)表中計(jì)算得出節(jié)點(diǎn)先驗(yàn)概率的數(shù)值如表2所示。
表1 專(zhuān)家權(quán)重判斷標(biāo)準(zhǔn)
表2 節(jié)點(diǎn)先驗(yàn)概率值表
條件概率表征父節(jié)點(diǎn)運(yùn)行狀態(tài)對(duì)子節(jié)點(diǎn)運(yùn)行狀態(tài)影響程度,貝葉斯網(wǎng)絡(luò)采用條件概率矩陣確定上層子節(jié)點(diǎn)與下層父節(jié)點(diǎn)之間的關(guān)系。采用的條件概率是從歷史數(shù)據(jù)中獲取變量參數(shù)的概率分布,同時(shí)按照發(fā)生的可能性概率填入表中。表3為圖2中崗位設(shè)置的條件概率。
表3 條件概率
利用當(dāng)前給定的拓?fù)浣Y(jié)構(gòu)和節(jié)點(diǎn)的狀態(tài),通過(guò)式(1)所示貝葉斯網(wǎng)絡(luò)運(yùn)算公式,計(jì)算節(jié)點(diǎn)發(fā)生問(wèn)題的概率,形成基于等級(jí)保護(hù)的貝葉斯網(wǎng)絡(luò)模型。
(1)
上式即為重要的貝葉斯網(wǎng)絡(luò)公式,其中P(Li)的值為先驗(yàn)概率,P(Li|R)的值需要根據(jù)先驗(yàn)概率P(Li)和觀測(cè)數(shù)據(jù)重新修正后得到,被稱(chēng)為后驗(yàn)概率。通過(guò)上述先驗(yàn)概率、條件概率得到后驗(yàn)概率值,其中運(yùn)算過(guò)程使用貝葉斯網(wǎng)絡(luò)算法。
然后,利用上述已經(jīng)構(gòu)建完成的貝葉斯網(wǎng)絡(luò),可以使用故障診斷理論對(duì)貝葉斯網(wǎng)絡(luò)重新定義,即假設(shè)系統(tǒng)發(fā)生故障的情況下,故障可能發(fā)生節(jié)點(diǎn)的概率變化,其中運(yùn)用的算法是貝葉斯網(wǎng)絡(luò)因果推理算法,其中算法的偽代碼如下所示。
貝葉斯網(wǎng)絡(luò)因果推理算法偽代碼
輸入:貝葉斯網(wǎng)絡(luò)概率結(jié)構(gòu)模型G(包括子節(jié)點(diǎn)概率Score、條件概率GL)。確定因果推理中因(即父節(jié)點(diǎn)概率變化Fuscore)發(fā)生情況;
輸出:貝葉斯網(wǎng)絡(luò)因果推理結(jié)果模型。
1、G←貝葉斯網(wǎng)絡(luò)概率結(jié)構(gòu)模型
2、Sum←0
3、Sumf←0
//反向F的和
4、C←[]
5、Cf←[]
6、Fori←0 to Score.length
7、 do C[i]←0;Cf[i]←0
8、End for
9、Fori←0 to GL.length
10、 do GLocate←PrefixInteger(i.toString(2),Score.length)
//調(diào)用函數(shù)PrefixInteger(T=0,
F=1),的個(gè)數(shù)依順序的二進(jìn)制變換,與子節(jié)點(diǎn)數(shù)量同步補(bǔ)零
(T=0,F=1),根據(jù)二值邏輯確定條件概率(T和F)的位置分布
11、 B←1
12、 Forj←0 to Score.length
13、 do B←B*Score[j]GLocate[j]
//同為一個(gè)父節(jié)點(diǎn)的j個(gè)子節(jié)點(diǎn)概率概率乘積
14、 End for
15、 Sum←Sum+B*GL[i]*Fuscore
//上述概率乘
積與每個(gè)條件概率(GL)為T(mén)以及父節(jié)點(diǎn)T變化的乘積之總和
16、 Sumf←Sumf+B*(100-GL[i])*(100-Fuscore)
//上述概率
乘積與每個(gè)條件概率(GL)為F以及父節(jié)點(diǎn)F變化的乘積之總和
17、 Fork←0 to C.length
18、 do C[k]←C[k]+B*GL[i]*Fuscore
//子節(jié)點(diǎn)為C=T時(shí)概率
19、 Cf[k]←Cf[k]+B*(100-GL[i])*(100-Fuscore)
//子節(jié)點(diǎn)為Cf=T時(shí)概率
20、 End for
21、End for
22、Forn←0 to C.length
C[n]←(C[n]+Cf[n])/(Sum+Sumf)
23、End for
//C[n]即為因果推理中出現(xiàn)的果(由父節(jié)點(diǎn)原因引起變化的概率導(dǎo)致n個(gè)子節(jié)點(diǎn)的概率變化結(jié)果)
圖3即為構(gòu)造的貝葉斯網(wǎng)絡(luò)因果推理風(fēng)險(xiǎn)概率,并由圖中概率情況對(duì)被測(cè)評(píng)系統(tǒng)做風(fēng)險(xiǎn)評(píng)價(jià)。
圖3 貝葉斯網(wǎng)絡(luò)因果推理概率
通過(guò)上述風(fēng)險(xiǎn)評(píng)估過(guò)程的計(jì)算,下面介紹使用貝葉斯網(wǎng)絡(luò)對(duì)等級(jí)保護(hù)測(cè)評(píng)數(shù)據(jù)進(jìn)行風(fēng)險(xiǎn)評(píng)估的實(shí)例,以某電力單位財(cái)務(wù)部門(mén)等級(jí)保護(hù)測(cè)評(píng)數(shù)據(jù)為樣本,分別對(duì)應(yīng)用安全、物理安全、網(wǎng)絡(luò)結(jié)構(gòu)等方面進(jìn)行風(fēng)險(xiǎn)評(píng)估。首先對(duì)測(cè)評(píng)數(shù)據(jù)的先驗(yàn)概率定性分析,得出如表4所示測(cè)評(píng)分?jǐn)?shù)的先驗(yàn)概率。
表4 測(cè)評(píng)分?jǐn)?shù)先驗(yàn)概率
根據(jù)等級(jí)保護(hù)測(cè)評(píng)數(shù)據(jù)(如表5所示)生成貝葉斯網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)。
表5 等級(jí)保護(hù)測(cè)評(píng)數(shù)據(jù)(部分)
風(fēng)險(xiǎn)評(píng)估結(jié)果圖如圖5、圖6所示。通過(guò)拓?fù)浣Y(jié)構(gòu)的下層節(jié)點(diǎn)測(cè)評(píng)分?jǐn)?shù)得出先驗(yàn)概率,同時(shí)與條件概率得出上層節(jié)點(diǎn)的概率值,即為后驗(yàn)概率;假設(shè)當(dāng)已知系統(tǒng)出現(xiàn)故障的情況下各層節(jié)點(diǎn)的概率變化值,也即是當(dāng)系統(tǒng)發(fā)生故障即概率值(T=100)時(shí),相應(yīng)的節(jié)點(diǎn)概率變化。
由圖5、圖6節(jié)點(diǎn)概率的變化可以得出如表6所示結(jié)果。
圖5 貝葉斯網(wǎng)絡(luò)風(fēng)險(xiǎn)評(píng)估(上層)
圖6 貝葉斯網(wǎng)絡(luò)風(fēng)險(xiǎn)評(píng)估(下層)
通過(guò)對(duì)表6的聯(lián)合概率和故障預(yù)測(cè)概率分析得出,在系統(tǒng)故障已發(fā)生的情況下系統(tǒng)建設(shè)管理、系統(tǒng)運(yùn)維管理以及SQl Server 2008等方面風(fēng)險(xiǎn)發(fā)生的可能性加大,同時(shí)參考?xì)v年標(biāo)準(zhǔn)中定義風(fēng)險(xiǎn)嚴(yán)重程度,如下表7所示,系統(tǒng)建設(shè)管理、系統(tǒng)運(yùn)維管理以及SQl Server 2008方面,需以預(yù)警的手段通知被測(cè)機(jī)構(gòu)方,使被測(cè)機(jī)構(gòu)對(duì)整體風(fēng)險(xiǎn)態(tài)勢(shì)有所感知。上述風(fēng)險(xiǎn)評(píng)估僅應(yīng)用于貝葉斯網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的控制點(diǎn)方面,可以更深層次地對(duì)最下層節(jié)點(diǎn)進(jìn)行風(fēng)險(xiǎn)運(yùn)算,使風(fēng)險(xiǎn)評(píng)價(jià)更加全面準(zhǔn)確。
本文主要研究了基于貝葉斯網(wǎng)絡(luò)方法的等級(jí)保護(hù)測(cè)評(píng)數(shù)據(jù)風(fēng)險(xiǎn)評(píng)估問(wèn)題,提出了相應(yīng)的計(jì)算模型,并根據(jù)計(jì)算模型進(jìn)行了實(shí)例計(jì)算。風(fēng)險(xiǎn)評(píng)估的過(guò)程主要包括模型構(gòu)造、定性定量計(jì)算、貝葉斯網(wǎng)絡(luò)計(jì)算、貝葉斯網(wǎng)絡(luò)因果推理。利用貝葉斯網(wǎng)絡(luò)的不確定推理、條件獨(dú)立性假設(shè)等特性[6],簡(jiǎn)化了模型的運(yùn)算復(fù)雜度,增加了因果推理計(jì)算,比較分析風(fēng)險(xiǎn)結(jié)果,具有一定的應(yīng)用價(jià)值。但需要指出的是,由于風(fēng)險(xiǎn)的量化問(wèn)題,評(píng)估過(guò)程還存在一定的不確定性,下一步研究的重點(diǎn)是如何更好地對(duì)測(cè)評(píng)數(shù)據(jù)進(jìn)行量化,從而使風(fēng)險(xiǎn)評(píng)估過(guò)程更加科學(xué)高效。
表6 風(fēng)險(xiǎn)概率結(jié)果
表7 風(fēng)險(xiǎn)嚴(yán)重程度表