方 明
(91977部隊(duì),北京 100841)
網(wǎng)絡(luò)安全是一個(gè)廣義的概念,它主要用來處理一組互聯(lián)的計(jì)算機(jī)之間的安全威脅,每一臺(tái)互聯(lián)的計(jì)算機(jī)都有自己的安全流。計(jì)算機(jī)網(wǎng)絡(luò)安全風(fēng)險(xiǎn)值是通過網(wǎng)絡(luò)攻擊的概率以及攻擊所造成的后果的嚴(yán)重程度計(jì)算出來的。幾乎所有的網(wǎng)絡(luò)攻擊都是利用網(wǎng)絡(luò)安全漏洞所進(jìn)行的多級(jí)攻擊,在多級(jí)網(wǎng)絡(luò)攻擊中,某一特定的網(wǎng)絡(luò)安全漏洞被黑客所利用的概率依賴于與之相關(guān)的其他網(wǎng)絡(luò)安全漏洞被利用的概率,一些已經(jīng)發(fā)表的網(wǎng)絡(luò)安全模型中已經(jīng)提出了這種相關(guān)性如文獻(xiàn)[1-3]。該模型通過每一個(gè)網(wǎng)絡(luò)安全漏洞以及與之相關(guān)的其他安全漏洞來定義網(wǎng)絡(luò)安全威脅,并計(jì)算安全風(fēng)險(xiǎn)值。
在文章的第二部分,我們對(duì)相關(guān)的文獻(xiàn)進(jìn)行評(píng)論,在文章的第三部分,我們對(duì)一些必要的背景材料進(jìn)行介紹并闡述標(biāo)準(zhǔn)建模語言(Unified Model Language,UML)安全模型,在文章的第四部分,我們介紹如何針對(duì)特定的網(wǎng)絡(luò)應(yīng)用該模型,并產(chǎn)生該網(wǎng)絡(luò)的風(fēng)險(xiǎn)值。文章的最后部分,我們對(duì)評(píng)估的結(jié)果進(jìn)行總結(jié),并對(duì)未來的進(jìn)一步工作進(jìn)行探討。
攻擊者通過網(wǎng)絡(luò)安全漏洞可以無授權(quán)訪問計(jì)算機(jī)網(wǎng)絡(luò)中的資產(chǎn),并對(duì)計(jì)算機(jī)網(wǎng)絡(luò)系統(tǒng)構(gòu)成安全威脅。為了方便起見,我們把網(wǎng)絡(luò)安全漏洞被攻擊者利用的風(fēng)險(xiǎn)稱作“漏洞風(fēng)險(xiǎn)”。文獻(xiàn)[4-8]提出了幾種漏洞風(fēng)險(xiǎn)的評(píng)估方法。常見漏洞評(píng)分系統(tǒng)[7](Common Vulnerability Scoring System,CVSS)和共同弱點(diǎn)評(píng)分系統(tǒng)[8](Common Weakness Scoring System,CWSS)提出了一組用于評(píng)估漏洞風(fēng)險(xiǎn)的可量化指標(biāo),但是這些方法只是分別針對(duì)每個(gè)漏洞風(fēng)險(xiǎn)進(jìn)行風(fēng)險(xiǎn)值評(píng)估,并沒有考慮漏洞之間的關(guān)聯(lián)性。
目前有很多針對(duì)多級(jí)攻擊的建模方法,比如petri網(wǎng)模型[2,9]、博弈論模型[1,10]、以及攻擊樹模型[3,11-14],這些模型代表了網(wǎng)絡(luò)中彼此互聯(lián)的網(wǎng)絡(luò)安全漏洞,并指定攻擊路徑。由于攻擊樹建模方法容易被人們理解,并且符合圖論理論,因此攻擊樹模型被廣泛研究。攻擊圖不僅是指定和分析攻擊路徑的手段,同時(shí)也可以代表網(wǎng)絡(luò)安全漏洞被利用時(shí)所必須的相關(guān)漏洞,并可以計(jì)算這些漏洞被利用的概率。在文獻(xiàn)[11,15,16]中貝葉斯網(wǎng)絡(luò)被用于代表安全漏洞被利用概率與攻擊者攻破網(wǎng)絡(luò)目標(biāo)節(jié)點(diǎn)概率之間的依賴項(xiàng)。在文獻(xiàn)[17]中,貝葉斯網(wǎng)絡(luò)被用來確定網(wǎng)絡(luò)中風(fēng)險(xiǎn)最高的威脅項(xiàng)集合,并確定如何實(shí)施風(fēng)險(xiǎn)控制措施以達(dá)到在有限預(yù)算條件下獲得最優(yōu)網(wǎng)絡(luò)安全等級(jí)的目標(biāo)。雖然這些工作在網(wǎng)絡(luò)風(fēng)險(xiǎn)值評(píng)估以及降低網(wǎng)絡(luò)安全威脅過程中很高效,但是他們都沒有考慮攻擊路徑在構(gòu)造過程中的復(fù)雜度和困難。由于攻擊圖或貝葉斯網(wǎng)絡(luò)的復(fù)雜程度,這些分析方法依然需要網(wǎng)絡(luò)安全專家的指導(dǎo)意見。
本文所提出的網(wǎng)絡(luò)安全風(fēng)險(xiǎn)分析模型,不需要網(wǎng)絡(luò)管理員擁有專業(yè)的網(wǎng)絡(luò)安全知識(shí)就可以實(shí)施網(wǎng)絡(luò)安全風(fēng)險(xiǎn)分析過程,代替這些網(wǎng)絡(luò)安全專業(yè)知識(shí)的是一個(gè)與攻擊方式和網(wǎng)絡(luò)類型相關(guān)的抽象的模型。
正如我們之前所提到的,產(chǎn)生和分析網(wǎng)絡(luò)安全模型時(shí)會(huì)遇到一系列的困難和問題,為了獲得更加精確的結(jié)果,我們需要網(wǎng)絡(luò)安全專家為我們修正那些由掃描儀和分析儀等自動(dòng)化工具所獲得的數(shù)據(jù)。此外,這些自動(dòng)化工具也需要必要的網(wǎng)絡(luò)系統(tǒng)信息,通常這些信息主要來源于對(duì)網(wǎng)絡(luò)異常情況的記錄。
我們所提出的網(wǎng)絡(luò)安全風(fēng)險(xiǎn)分析模型適用于任何類型的計(jì)算機(jī)網(wǎng)絡(luò),這個(gè)網(wǎng)絡(luò)安全風(fēng)險(xiǎn)分析模型的主要優(yōu)點(diǎn)總結(jié)如下:
(1)計(jì)算機(jī)網(wǎng)絡(luò)安全風(fēng)險(xiǎn)分析過程所必須的復(fù)雜概念被一個(gè)抽象化的模型所代替。
(2)我們定義了在一個(gè)實(shí)例化網(wǎng)絡(luò)中,安全風(fēng)險(xiǎn)值及風(fēng)險(xiǎn)概率的計(jì)算過程。
(3)我們提出的安全風(fēng)險(xiǎn)分析模型是動(dòng)態(tài)的并且對(duì)網(wǎng)絡(luò)系統(tǒng)的改動(dòng)是自適應(yīng)的,比如在網(wǎng)絡(luò)中增加或移除一臺(tái)主機(jī)時(shí)所產(chǎn)生的網(wǎng)絡(luò)結(jié)構(gòu)變化對(duì)網(wǎng)絡(luò)連接關(guān)系或網(wǎng)絡(luò)漏洞的影響會(huì)通過安全模型進(jìn)行發(fā)布,同時(shí)根據(jù)網(wǎng)絡(luò)變化自動(dòng)更新網(wǎng)絡(luò)風(fēng)險(xiǎn)值,與其他模型[11,18]不同的是,當(dāng)網(wǎng)絡(luò)結(jié)構(gòu)變動(dòng)時(shí),我們的模型不需要重新構(gòu)建。
(4)我們的模型保持網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)和網(wǎng)絡(luò)邏輯結(jié)構(gòu)的一致性,這種一致性可以有效提高風(fēng)險(xiǎn)控制方案的實(shí)施效率,同時(shí)降低風(fēng)險(xiǎn)的影響后果。
我們所提出的UML模型是由兩種模型結(jié)合產(chǎn)生的,一個(gè)是抽象安全模型(Abstract Security Model, ASM)另一個(gè)是網(wǎng)絡(luò)安全模型(Network Security Model,NSM)。其中ASM模型是用于描述網(wǎng)絡(luò)節(jié)點(diǎn)和安全分析時(shí)所必須的類信息模型,例如安全漏洞、網(wǎng)絡(luò)節(jié)點(diǎn)間的可達(dá)性以及安全漏洞之間的關(guān)系等,ASM模型是建立目標(biāo)網(wǎng)絡(luò)NSM模型的基礎(chǔ),ASM模型通常只建立一次,并在此基礎(chǔ)上建立不同網(wǎng)絡(luò)的NSM模型。
圖1 UML風(fēng)險(xiǎn)模型概況
通過對(duì)目標(biāo)網(wǎng)絡(luò)的ASM模型進(jìn)行實(shí)例化,我們可以得到目標(biāo)網(wǎng)絡(luò)的NSM模型,目標(biāo)網(wǎng)絡(luò)的實(shí)例化過程需要目標(biāo)網(wǎng)絡(luò)的相關(guān)信息,并將目標(biāo)網(wǎng)絡(luò)的相關(guān)信息與目標(biāo)網(wǎng)絡(luò)ASM模型中所定義的適當(dāng)?shù)念愊嘟Y(jié)合產(chǎn)生出目標(biāo)網(wǎng)絡(luò)的NSM模型。圖1展示了這種實(shí)例化的過程,以及這兩個(gè)模型之間的關(guān)系。
ASM模型是網(wǎng)絡(luò)節(jié)點(diǎn)的上層模型,它提供了以概率論推倒網(wǎng)絡(luò)安全風(fēng)險(xiǎn)值的基礎(chǔ)。在圖2中我們展示了ASM模型中所定義的類圖,在圖中每個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)都由網(wǎng)絡(luò)節(jié)點(diǎn)類所表示。一個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)可以是一臺(tái)數(shù)據(jù)終端或者是服務(wù)器。
在ASM模型中,每個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)都是經(jīng)由連接類所連接。每個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)都包含一個(gè)訪問權(quán)限類,這個(gè)訪問權(quán)限類指定了每個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)的用戶訪問類型。攻擊者很有可能是一個(gè)合法的用戶,并且對(duì)于一些網(wǎng)絡(luò)節(jié)點(diǎn),攻擊者擁有合法的訪問權(quán)限。對(duì)于一個(gè)網(wǎng)絡(luò)系統(tǒng)而言,一個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)很有可能包含某個(gè)特定的安全漏洞。為了利用這個(gè)網(wǎng)絡(luò)安全漏洞,攻擊者必須擁有一定的網(wǎng)絡(luò)節(jié)點(diǎn)訪問權(quán)限等級(jí),當(dāng)攻擊者針對(duì)某一安全漏洞成功實(shí)施攻擊后,他極有可能獲得了更大的訪問權(quán)限等級(jí)。所以安全漏洞類是攻擊實(shí)施前攻擊者訪問權(quán)限等級(jí)與攻擊實(shí)施后攻擊者訪問權(quán)限等級(jí)之間的關(guān)聯(lián)類。一個(gè)網(wǎng)絡(luò)系統(tǒng)包含許多網(wǎng)絡(luò)節(jié)點(diǎn),每個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)都包含一定的安全需求,這些安全需求的作用是允許指定的權(quán)限等級(jí)訪問網(wǎng)絡(luò)節(jié)點(diǎn),并對(duì)非法的訪問操作進(jìn)行記錄。
ASM模型是由一系列類所組成,它們被表示為:C1,C2,C3…每個(gè)類都有一些屬性集合和一些操作集合,通過這兩個(gè)集合我們可以指定攻擊路徑以及計(jì)算攻擊實(shí)施成功的概率。對(duì)于某個(gè)類C,屬性集合表示為A(C),操作集合表示為O(C)。C.A表示類C的屬性集合,C.O表示類C的操作集合。用D(C.A)表示類C的屬性集合的域,例如:訪問權(quán)限類(Privilege)的訪問類型屬性(Access Type)集合的域包括:網(wǎng)絡(luò),本地用戶,ROOT訪問。所以它被表示為:D(Privilege.AccessType)={網(wǎng)絡(luò),本地用戶,ROOT訪問}。
構(gòu)建目標(biāo)網(wǎng)絡(luò)的網(wǎng)絡(luò)安全模型所需要的對(duì)象來源于ASM模型中適當(dāng)?shù)念惖膶?shí)例化。在NSM模型中,我們用實(shí)例化的ASM模型的類對(duì)象來代表目標(biāo)網(wǎng)絡(luò)中的節(jié)點(diǎn),包括節(jié)點(diǎn)的特性和連接關(guān)系。每個(gè)對(duì)象的構(gòu)造函數(shù)都用一個(gè)參數(shù)來表示增加這個(gè)對(duì)象后,可能增加的違反網(wǎng)絡(luò)安全需求的概率。這個(gè)概率的每一次修改,模型都會(huì)向與之相關(guān)的對(duì)象進(jìn)行發(fā)布。這個(gè)概率是由貝耶斯方法計(jì)算出來的,而這個(gè)概率的發(fā)布方法是由前面介紹過的文獻(xiàn)[11]提供的。
通過在主機(jī)H中增加漏洞V,這個(gè)漏洞對(duì)于主機(jī)H的安全需求的影響會(huì)馬上生效,并更新主機(jī)H可能違反安全需求的概率H.Pi,當(dāng)H.Pi進(jìn)行更新時(shí),它會(huì)同時(shí)調(diào)用與主機(jī)H有連接關(guān)系的節(jié)點(diǎn)中權(quán)限類對(duì)象的函數(shù),這些被調(diào)用的函數(shù)用于重新計(jì)算每個(gè)對(duì)象違反安全需求的概率。
圖2 網(wǎng)絡(luò)安全風(fēng)險(xiǎn)分析的ASM模型
安全風(fēng)險(xiǎn)值是由違反安全需求的概率與網(wǎng)絡(luò)漏洞影響值相乘的結(jié)果得出的,由式(1)計(jì)算。
常見漏洞評(píng)估系統(tǒng)[7,19],可以為評(píng)估網(wǎng)絡(luò)安全漏洞被利用后的影響值提供一系列的指標(biāo)依據(jù)。雖然我們的風(fēng)險(xiǎn)評(píng)估模型不依賴于某一個(gè)特定的影響值評(píng)估模型,但是CVSS模型中基本指標(biāo)的一個(gè)子集對(duì)安全漏洞影響值的計(jì)算還是有很大幫助的。這些指標(biāo)包括:保密影響、信譽(yù)影響和可用性影響。最終的安全漏洞被利用的影響值由等式(2)給出。影響值的計(jì)算是依據(jù)CVSS標(biāo)準(zhǔn)的。
其中Impactconf代表保密性影響值,Impactinteg代表信譽(yù)影響值,Impactavail代表可用性影響值。在本文所提出的風(fēng)險(xiǎn)評(píng)估模型中,一組基本的CVSS模型指標(biāo)用于評(píng)估網(wǎng)絡(luò)安全漏洞被利用的可能性,這些指標(biāo)主要包括:訪問向量、訪問復(fù)雜度、以及認(rèn)證功能強(qiáng)度等。網(wǎng)絡(luò)漏洞被利用的概率由等式(3)計(jì)算,在文獻(xiàn)[19]中說明了CVSS指標(biāo)值的含義。
在對(duì)多級(jí)攻擊下網(wǎng)絡(luò)漏洞被利用的概率計(jì)算過程中,我們還要考慮網(wǎng)絡(luò)漏洞間的關(guān)聯(lián)性,并將這種關(guān)聯(lián)性反應(yīng)到網(wǎng)絡(luò)漏洞被利用概率的數(shù)值上。我們的風(fēng)險(xiǎn)攻擊模型用貝葉斯攻擊圖模型[3,11]來代表關(guān)聯(lián)的概率。
貝葉斯攻擊圖是由攻擊圖模型和貝葉斯網(wǎng)絡(luò)結(jié)合產(chǎn)生的。貝葉斯網(wǎng)絡(luò)是一個(gè)有向無環(huán)圖,在圖中每個(gè)節(jié)點(diǎn)都包含一個(gè)離散的隨機(jī)變量,圖中每個(gè)弧代表了隨機(jī)變量間的獨(dú)立性條件。
此外,每個(gè)節(jié)點(diǎn)對(duì)應(yīng)于一個(gè)條件概率表,這個(gè)條件概率表指明了該節(jié)點(diǎn)的父母節(jié)點(diǎn)的概率狀態(tài)。
攻擊圖模型說明了針對(duì)目標(biāo)網(wǎng)絡(luò)實(shí)施多級(jí)攻擊時(shí)可能被使用的攻擊路徑[20]。在攻擊圖模型中,每個(gè)節(jié)點(diǎn)代表了一個(gè)網(wǎng)絡(luò)安全漏洞以及該漏洞被利用之前和之后系統(tǒng)的狀態(tài)。圖中的弧展示了網(wǎng)絡(luò)漏洞與漏洞被利用之前、之后系統(tǒng)狀態(tài)間的相關(guān)性。
貝葉斯攻擊圖用一個(gè)4元組表示:BAG={X,ε,τ,P},其中X代表攻擊圖中的節(jié)點(diǎn),包括終點(diǎn)、內(nèi)部節(jié)點(diǎn)、外部節(jié)點(diǎn)。圖中的弧用有序?qū)夕颖硎?。集合ε表示進(jìn)入同一個(gè)節(jié)點(diǎn)不同弧之間的關(guān)系,集合ε的值包括“與”和“或”即,ε={AND,OR}。P是一個(gè)條件概率分布集合,包含的條件概率為:P=Pr(ni|Parent[ni])。這個(gè)概率值是由聯(lián)合概率分布和噪聲或關(guān)系(Noisy-Or)按照文獻(xiàn)[3]中定義的方法計(jì)算的。計(jì)算方法如下所示:在di=AND的情況下,Pr(ni|Parent[ni])=0如果ni滿足條件 nj∈parent[ni],有nj=0。如果不存在nj=0,則:
在di=OR的情況下,Pr(ni|Parent[ni])=0,如果滿足條件:?nj∈parent[ni],有nj=0。否則:
其中ei表示網(wǎng)絡(luò)漏洞被利用的事件,當(dāng)這個(gè)網(wǎng)絡(luò)漏洞被利用后,系統(tǒng)從狀態(tài)ni過渡到nj。事件ei的概率由等式(3)計(jì)算。在ASM模型中,Pr(ei)包含在網(wǎng)絡(luò)安全漏洞類的屬性集合中。攻擊者可以通過利用網(wǎng)絡(luò)漏洞從一個(gè)狀態(tài)過渡到另一個(gè)狀態(tài)并且可以獲得新的網(wǎng)絡(luò)系統(tǒng)權(quán)限。當(dāng)一個(gè)節(jié)點(diǎn)的被攻擊概率改變時(shí),它的繼任節(jié)點(diǎn)的被攻擊概率也會(huì)受到相應(yīng)的影響,這個(gè)影響值通過貝葉斯等式(6)進(jìn)行發(fā)布,并更新繼任節(jié)點(diǎn)被攻擊的概率。
測試網(wǎng)絡(luò)結(jié)構(gòu)圖以及在其上部署的安全漏洞 見圖3。
在ASM模型中,這個(gè)過程由權(quán)限類操作集合中的AdjustProbability()操作函數(shù)實(shí)施。當(dāng)一個(gè)權(quán)限類中的綜合概率參數(shù)Privilege.compromiseProbability發(fā)生改變時(shí),就會(huì)觸發(fā)其所有繼任節(jié)點(diǎn)調(diào)用AdjustProbability()操作函數(shù)來更新被攻擊概率。全系統(tǒng)的被攻破概率由AdjustProbability()操作函數(shù)的調(diào)用環(huán)實(shí)現(xiàn)。
圖3 測試網(wǎng)絡(luò)結(jié)構(gòu)圖以及在其上部署的安全漏洞
在這一部分,為了應(yīng)用我們的風(fēng)險(xiǎn)評(píng)估模型,我們對(duì)試驗(yàn)網(wǎng)絡(luò)進(jìn)行風(fēng)險(xiǎn)評(píng)估,我們展現(xiàn)了用試驗(yàn)網(wǎng)絡(luò)的ASM模型構(gòu)造NSM的實(shí)例化結(jié)果。
我們將本文提出的風(fēng)險(xiǎn)評(píng)估模型應(yīng)用到如圖3所示的測試網(wǎng)絡(luò)中,在該網(wǎng)絡(luò)中包含兩個(gè)區(qū)域,一個(gè)信任域(Trusted Zone)和一個(gè)隔離域(DMZ Zone)。在測試網(wǎng)絡(luò)結(jié)構(gòu)圖中,我們用紅色標(biāo)出每個(gè)網(wǎng)絡(luò)主機(jī)中的安全漏洞,把圖2中所示的ASM模型用測試網(wǎng)絡(luò)信息實(shí)例化,我們構(gòu)造出了測試網(wǎng)絡(luò)的NSM模型,如圖4所示。
為了構(gòu)造測試網(wǎng)絡(luò)的NSM模型,我們需要選取ASM模型中適當(dāng)類進(jìn)行實(shí)例化后的對(duì)象,我們將用實(shí)例化的對(duì)象來代替測試網(wǎng)絡(luò)中每個(gè)節(jié)點(diǎn)以及節(jié)點(diǎn)的屬性和連接關(guān)系。模型通過調(diào)用對(duì)象的構(gòu)造函數(shù)來向NSM模型中添加一個(gè)實(shí)例化的對(duì)象。新對(duì)象的構(gòu)造函數(shù)對(duì)于NSM中已經(jīng)存在的對(duì)象所產(chǎn)生的影響是自適應(yīng)的。
舉個(gè)例子,在一個(gè)簡單測試網(wǎng)絡(luò)的NSM模型中,為了代替主機(jī)1(host1)和數(shù)據(jù)庫服務(wù)器(SQLServer)之間的連接關(guān)系,我們實(shí)例化一個(gè)連接類的對(duì)象取名為C3。這個(gè)連接意味著主機(jī)1(host1)與數(shù)據(jù)庫服務(wù)器(SQLServer)之間有一個(gè)通過1433端口的網(wǎng)絡(luò)訪問。通過向目標(biāo)網(wǎng)絡(luò)NSM模型中增加這個(gè)對(duì)象,我們發(fā)現(xiàn)在權(quán)限類P3與P4之間產(chǎn)生一條攻擊鏈路,同時(shí)在權(quán)限類P2與P4之間也產(chǎn)生了一條攻擊鏈路。產(chǎn)生這個(gè)攻擊鏈路的原因是因?yàn)橹鳈C(jī)1有一個(gè)通過端口1433對(duì)數(shù)據(jù)庫服務(wù)器的訪問流程。所以,一個(gè)擁有主機(jī)1 root權(quán)限的攻擊者可以利用網(wǎng)絡(luò)漏洞4(Vul4)。Vul4漏洞是數(shù)據(jù)庫注入漏洞,利用這個(gè)漏洞的前提是攻擊者擁有網(wǎng)絡(luò)訪問數(shù)據(jù)庫的權(quán)限。
圖4 目標(biāo)網(wǎng)絡(luò)的NSM模型
為了展示測試網(wǎng)絡(luò)安違反全需求概率的計(jì)算過程,圖5中列出了建立NSM模型的兩個(gè)連續(xù)的步驟。圖6中展示了目標(biāo)網(wǎng)絡(luò)NSM模型。WebServer實(shí)例化對(duì)象還沒有添加進(jìn)測試網(wǎng)絡(luò)的NSM模型中。圖5展示了測試網(wǎng)絡(luò)NSM模型的初步構(gòu)建過程,進(jìn)一步的構(gòu)建過程如圖6所示,在圖6中,我們向由圖5所示的構(gòu)建過程產(chǎn)生的初步NSM模型中增加實(shí)例化的網(wǎng)絡(luò)安全漏洞Vul3(MS Video Active Stack BoF),測試結(jié)果顯示,一條連接權(quán)限類對(duì)象P1和P3的攻擊鏈路被建立起來,這條鏈路就是漏洞Vul3被利用后產(chǎn)生的后果。網(wǎng)絡(luò)漏洞構(gòu)造函數(shù)在實(shí)例化的時(shí)候會(huì)建立一條連接漏洞被利用前和利用后權(quán)限類對(duì)象的鏈路,以展示網(wǎng)絡(luò)漏洞被利用后攻擊者權(quán)限的更改。同時(shí),當(dāng)漏洞類構(gòu)造函數(shù)實(shí)例化Vul3時(shí),它會(huì)調(diào)用權(quán)限類對(duì)象P3的概率調(diào)整函數(shù)P3.AdjustProbability(),P3.AdjustProbability()被調(diào)用后,權(quán)限類對(duì)象P3被攻擊者獲得的概率增加到0.86,由于P3的概率被更改導(dǎo)致所有與P3連接的權(quán)限類對(duì)象的AdjustProbability()都會(huì)被調(diào)用,以發(fā)布漏洞Vul3對(duì)全網(wǎng)安全性的影響。在本例中所有連接P3的路的集合只有一條鏈路Link2,它是連接P3與P4的唯一鏈路。當(dāng)主機(jī)1與數(shù)據(jù)庫服務(wù)器通過端口1433建立連接時(shí),這條鏈路就產(chǎn)生了,所以P4的AdjustProbability()函數(shù)被調(diào)用,它將權(quán)限類對(duì)象P4的概率由0提升到0.86,由于P4的概率被更改了,所以P5的AdjustProbability()函數(shù)也被調(diào)用,這是由于P5通過鏈路Link1與P4連接,所以當(dāng)P5的AdjustProbability()函數(shù)被調(diào)用后,P5的概率更新為0.69。
通過向測試網(wǎng)絡(luò)NSM模型中增加或移除類對(duì)象,對(duì)象的概率值與風(fēng)險(xiǎn)值會(huì)被相應(yīng)的更新。事實(shí)上類對(duì)象概率的每一次更改都會(huì)通過AdjustProbability()函數(shù)向整個(gè)NSM模型發(fā)布。舉個(gè)例子,由于目標(biāo)網(wǎng)絡(luò)增加了漏洞防護(hù)措施,使得某一漏洞被利用概率降低了,這種概率的變化會(huì)影響到所有與之相關(guān)的類對(duì)象。測試網(wǎng)絡(luò)系統(tǒng)安全需求被違反的最終風(fēng)險(xiǎn)值在表1中列出。風(fēng)險(xiǎn)值以及對(duì)安全需求的影響值分別有等式(1)與(2)計(jì)算。
表1 系統(tǒng)最終風(fēng)險(xiǎn)值
圖5 NSM模型構(gòu)建的中間步驟
圖6 增加網(wǎng)絡(luò)漏洞后的NSM模型
本文提出了兩個(gè)UML模型來代替安全專家提供的專業(yè)信息。ASM模型提供了一個(gè)影響網(wǎng)絡(luò)安全風(fēng)險(xiǎn)的網(wǎng)絡(luò)要素的一個(gè)抽象視圖。ASM模型只構(gòu)建一次,并且可以多次產(chǎn)生任何網(wǎng)絡(luò)的NSM模型,同時(shí),NSM模型可以識(shí)別目標(biāo)網(wǎng)絡(luò)的安全威脅并計(jì)算目標(biāo)網(wǎng)絡(luò)的風(fēng)險(xiǎn)值。NSM模型是動(dòng)態(tài)適應(yīng)目標(biāo)網(wǎng)絡(luò)拓補(bǔ)結(jié)構(gòu)變化的,當(dāng)增加網(wǎng)絡(luò)節(jié)點(diǎn)時(shí),該網(wǎng)絡(luò)節(jié)點(diǎn)對(duì)全網(wǎng)的安全影響將通過調(diào)用AdjustProbability()函數(shù)來發(fā)布。我們的模型的另一個(gè)優(yōu)點(diǎn)就是與目標(biāo)網(wǎng)絡(luò)物理模型的一致性,這有利于網(wǎng)絡(luò)管理員更好的分配安全風(fēng)險(xiǎn)控制措施。在進(jìn)一步的工作中,我們可以考慮將NSM模型的產(chǎn)生過程完全自動(dòng)化,為了達(dá)到這個(gè)目的,我們首先要將NSM模型的產(chǎn)生過程以及產(chǎn)生該模型所使用的輸入進(jìn)行正式的定義。