楊宏宇,袁海航,張良
(1.中國民航大學(xué)安全科學(xué)與工程學(xué)院,天津 300300;2.中國民航大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,天津 300300;3.亞利桑那大學(xué)信息學(xué)院,圖森AZ 85721)
網(wǎng)絡(luò)主機(jī)是網(wǎng)絡(luò)拓?fù)涞闹匾M成部分,日益復(fù)雜的攻擊手段和方式對網(wǎng)絡(luò)主機(jī)造成的威脅日益增加,主機(jī)面臨的安全問題日趨突出。評估各主機(jī)面臨的安全情況是掌握網(wǎng)絡(luò)整體安全性的基礎(chǔ),深入挖掘和分析主機(jī)潛在風(fēng)險(xiǎn)能夠?yàn)榫W(wǎng)絡(luò)安全防御提供有效指導(dǎo),對于保護(hù)網(wǎng)絡(luò)重要主機(jī)、保障網(wǎng)絡(luò)安全平穩(wěn)運(yùn)行具有重要意義[1]。
現(xiàn)有常見的網(wǎng)絡(luò)安全評估方法主要有博弈論[2]、基于攻擊圖模型[3]和層次分析法[4]等。相比于其他類型評估方法,基于攻擊圖的評估方法從攻擊角度出發(fā),以節(jié)點(diǎn)和邊描述網(wǎng)絡(luò)系統(tǒng)各安全要素間的連接關(guān)系,通過攻擊路徑直觀有效地展示了所有可能的攻擊步驟,為主機(jī)安全管理和防御提供了強(qiáng)有力的分析方式和技術(shù)支撐。
文獻(xiàn)[5]以網(wǎng)絡(luò)資產(chǎn)間的互聯(lián)關(guān)系為基礎(chǔ),識別威脅場景中的威脅事件,根據(jù)威脅事件發(fā)生的概率和損失,從攻擊路徑的角度分析各主機(jī)和網(wǎng)絡(luò)的安全情況,為主機(jī)防護(hù)提供了一定的理論依據(jù)。文獻(xiàn)[6]通過分析主機(jī)的漏洞利用關(guān)系,依據(jù)漏洞利用評分構(gòu)建各主機(jī)間的狀態(tài)轉(zhuǎn)移矩陣,然后根據(jù)Markov過程評估主機(jī)安全。文獻(xiàn)[7]提出基于貝葉斯攻擊圖的網(wǎng)絡(luò)安全評估方法,該方法根據(jù)漏洞可利用概率計(jì)算各主機(jī)被攻擊的概率,依據(jù)主機(jī)資產(chǎn)價值計(jì)算主機(jī)和網(wǎng)絡(luò)被入侵的風(fēng)險(xiǎn)。文獻(xiàn)[8]提出一種定量的安全評估模型,該模型依據(jù)安全事件和告警數(shù)據(jù)構(gòu)建貝葉斯攻擊圖并對網(wǎng)絡(luò)中的威脅場景進(jìn)行預(yù)測,根據(jù)漏洞評分和主機(jī)資產(chǎn)度量網(wǎng)絡(luò)風(fēng)險(xiǎn)。文獻(xiàn)[9]提出一種基于邊權(quán)攻擊圖的風(fēng)險(xiǎn)評估方法,根據(jù)漏洞間的依賴性構(gòu)建基于邊權(quán)的攻擊圖模型,通過攻擊目標(biāo)的價值和利用概率對各漏洞進(jìn)行了排序和分析,該方法為網(wǎng)絡(luò)安全防御策略的選取提供了有效支撐。文獻(xiàn)[10]通過分析漏洞在異構(gòu)網(wǎng)絡(luò)環(huán)境下被利用的可能性和影響性,設(shè)計(jì)了漏洞風(fēng)險(xiǎn)排名算法,為量化漏洞在特定環(huán)境和組件下的風(fēng)險(xiǎn)和擴(kuò)展模型的解決方案提供了新的思路。文獻(xiàn)[11]提出一種面向零日攻擊的概率計(jì)算方法,將系統(tǒng)實(shí)例圖轉(zhuǎn)換為貝葉斯網(wǎng)絡(luò),依據(jù)貝葉斯網(wǎng)絡(luò)從路徑角度分析零日攻擊發(fā)生的概率,該方法在零日攻擊路徑識別方面具有一定的有效性。文獻(xiàn)[12]利用攻擊圖對主機(jī)和網(wǎng)絡(luò)進(jìn)行安全評估,依據(jù)原子攻擊概率和鄰接矩陣求解主機(jī)安全狀況。
以上研究方法依據(jù)攻擊圖對網(wǎng)絡(luò)主機(jī)和漏洞進(jìn)行了分析和評估,但均未考慮時間、漏洞所處主機(jī)環(huán)境和不同操作系統(tǒng)類型對原子攻擊概率的影響,且評估主機(jī)安全的方法未充分考慮主機(jī)資產(chǎn)重要性屬性權(quán)重的差異性和攻擊圖中主機(jī)間的關(guān)聯(lián)關(guān)系,評估結(jié)果并不合理。為解決上述研究中的不足,全面合理地分析主機(jī)安全性,本文提出一種基于攻擊圖的主機(jī)安全評估方法。
基于攻擊圖的主機(jī)安全評估方法分為2 個階段:主機(jī)攻擊圖建立階段和主機(jī)安全值計(jì)算階段。
1) 主機(jī)攻擊圖建立階段。首先分析和探測目標(biāo)網(wǎng)絡(luò)拓?fù)?,依?jù)主機(jī)中存在的漏洞和防火墻設(shè)定的各主機(jī)間通信規(guī)則生成主機(jī)攻擊圖。然后根據(jù)獲取到的漏洞信息量化原子攻擊概率并計(jì)算主機(jī)攻擊概率和漏洞影響值。
2) 主機(jī)安全值計(jì)算階段。首先依據(jù)先驗(yàn)評分結(jié)果計(jì)算各主機(jī)資產(chǎn)重要性值。然后根據(jù)得到的主機(jī)攻擊圖分析主機(jī)間的攻擊利用關(guān)系并計(jì)算主機(jī)的拓?fù)浣Y(jié)構(gòu)重要性,由資產(chǎn)重要性和拓?fù)浣Y(jié)構(gòu)重要性共同表征主機(jī)重要性。最后,由攻擊概率、漏洞影響值和主機(jī)重要性計(jì)算主機(jī)安全值,主機(jī)安全評估方法總體架構(gòu)如圖1 所示。
根據(jù)攻擊圖中節(jié)點(diǎn)類型的不同,攻擊圖可以劃分為屬性和狀態(tài)攻擊圖;根據(jù)攻擊圖生成層次的不同,攻擊圖可以劃分為主機(jī)攻擊圖和漏洞層攻擊圖。其中主機(jī)攻擊圖中的節(jié)點(diǎn)表示網(wǎng)絡(luò)系統(tǒng)中的主機(jī),主機(jī)攻擊圖能夠直觀展示主機(jī)間的關(guān)聯(lián)性和攻擊利用關(guān)系。為合理分析和評估主機(jī)安全狀況,本文選用主機(jī)攻擊圖從主機(jī)層面對主機(jī)進(jìn)行安全評估。
主機(jī)攻擊圖定義為三元組HAG=(N,E,P)。具體概念表示如下。
1)N表示主機(jī)攻擊圖中的節(jié)點(diǎn)集合且N=Nattack∪Nhost_i,其中Nattack表示初始攻擊主機(jī),Nhost_i表示其他主機(jī)。
2)E={E1,E2,E3,…,En}表示邊集合,代表兩主機(jī)間的關(guān)聯(lián)關(guān)系,其中n表示攻擊圖中所有邊的數(shù)量。
3)P={P1,P2,P3,…,Pn}表示原子攻擊概率集合,原子攻擊概率表示攻擊圖中攻擊行為遷移的可能性大小,原子攻擊概率越大,表示兩主機(jī)間的攻擊行為越容易發(fā)生。
根據(jù)目標(biāo)網(wǎng)絡(luò)采集到的漏洞信息和主機(jī)通信訪問規(guī)則構(gòu)建主機(jī)攻擊圖[12],由于真實(shí)網(wǎng)絡(luò)環(huán)境下主機(jī)的漏洞可能并不唯一,為簡化攻擊圖規(guī)模,分析攻擊者最可能的攻擊意圖,當(dāng)多條邊同時指向同一主機(jī)時,僅保留原子攻擊概率最大漏洞所在的邊,主機(jī)攻擊圖示例如圖2 所示。
圖2 主機(jī)攻擊圖示例
圖2 中,Nattack表示攻擊者所在的攻擊主機(jī),Nhost_1~Nhost_5表示網(wǎng)絡(luò)拓?fù)渲械恼V鳈C(jī),E1~E7表示主機(jī)攻擊圖中的邊,邊上的漏洞標(biāo)注了攻擊者從前置主機(jī)到后置主機(jī)利用的漏洞。例如,邊E1表示攻擊者通過攻擊主機(jī)Nattack可以利用主機(jī)Nhost_1上的漏洞CVE-2017-12615 對主機(jī)Nhost_1發(fā)起攻擊并獲取權(quán)限。
2.3.1原子攻擊概率計(jì)算
漏洞的自身可利用性是影響原子攻擊概率取值的重要因素,通常根據(jù)通用漏洞評分系統(tǒng)(CVSS,common vulnerability scoring system)[13]進(jìn)行量化計(jì)算。依據(jù)CVSS,漏洞的自身可利用性由攻擊途徑V、攻擊復(fù)雜度C及身份認(rèn)證U量化,取值結(jié)果為
其中,VEi表示漏洞的自身可利用性;Vi按本地、鄰近拓?fù)?、網(wǎng)絡(luò)劃分為3 個等級,取值分別為0.395、0.646、1;Ci按高、中、低劃分為3 個等級,取值分別為0.35、0.61、0.71;Ui按多重、單重和不需要認(rèn)證劃分為3 個等級,取值分別為0.45、0.56、0.704。
漏洞的時間可利用性、環(huán)境可利用性和所在主機(jī)的操作系統(tǒng)類型同樣會影響原子攻擊概率大小。從時間角度分析,漏洞被發(fā)布的時間越長,漏洞被成功利用的可能性則越大。漏洞的時間可利用性(TE,time exploitability)由漏洞代碼被利用的可能用性和補(bǔ)丁修復(fù)程度共同決定,取值分別滿足Pareto 和Weibull 分布[14],即
其中,l和r表示Pareto 分布系數(shù),取值分別為0.26和0.001 61;q和u表示W(wǎng)eibull 分布系數(shù),取值分別為0.209 和4.04;zi表示某一漏洞從公開日期至評估日期的天數(shù)。
從漏洞所處環(huán)境角度分析,漏洞所處主機(jī)的防御措施完備程度越高,對應(yīng)原子攻擊概率取值越小。本文依據(jù)主機(jī)防御措施程度劃分為高、較高、中、較低和低5 個等級[15],漏洞的環(huán)境可利用性(EE,environment exploitability)對應(yīng)取值區(qū)間設(shè)定為0~0.2、0.2~0.4、0.4~0.6、0.6~0.8、0.8~1.0。取值越大表示漏洞越容易被利用,范圍區(qū)間內(nèi)的具體取值可由評估人員依據(jù)各主機(jī)實(shí)際情況賦值。
從漏洞所在主機(jī)的操作系統(tǒng)分析,主機(jī)的操作系統(tǒng)安全性越高,則對應(yīng)原子攻擊概率的取值越低。參考文獻(xiàn)[16],本文將主流操作系統(tǒng)劃分為Linux 類系統(tǒng)、蘋果主機(jī)系統(tǒng)和Windows 類系統(tǒng),對應(yīng)操作系統(tǒng)的可利用性(OSE,operating system exploitability)取值設(shè)定為0.5、0.8、1.0。
依據(jù)漏洞的自身可利用性、時間可利用性、環(huán)境可利用性和操作系統(tǒng)可利用性,原子攻擊概率Pi的計(jì)算式為
2.3.2主機(jī)攻擊概率計(jì)算
主機(jī)攻擊圖中的攻擊路徑直觀地表示了攻擊者可能采取的所有攻擊序列,路徑攻擊概率從整體角度計(jì)算從初始攻擊主機(jī)到其他主機(jī)攻擊發(fā)生的可能性。以初始攻擊主機(jī)為起點(diǎn),各主機(jī)為終點(diǎn),通過深度優(yōu)先查找所有攻擊路徑并由路徑上所有主機(jī)中漏洞的原子攻擊概率乘積計(jì)算攻擊概率,選取攻擊概率集合中的最大概率作為各主機(jī)的攻擊概率,即各主機(jī)的最大路徑攻擊概率為
主機(jī)上存在的漏洞會對主機(jī)產(chǎn)生影響,各主機(jī)的漏洞影響值為主機(jī)上全部漏洞產(chǎn)生的影響值之和。依據(jù)CVSS[13],單個漏洞的影響值(VV,vulnerability impact value)為
其中,VCi、VIi、VAi分別為第i個漏洞對主機(jī)的機(jī)密性、完整性和可用性的影響值,VCi、VIi、VAi均按無、低、高劃分為3 個等級,取值分別為0、0.275、0.66。
各主機(jī)的漏洞影響值(HV,host node vulnerability impact)為
其中,n表示主機(jī)的漏洞個數(shù)。
主機(jī)的安全值由攻擊概率、漏洞影響值和主機(jī)重要性共同決定,其中主機(jī)重要性由主機(jī)的資產(chǎn)重要性和拓?fù)浣Y(jié)構(gòu)重要性共同表征。
主機(jī)的資產(chǎn)重要性通過主機(jī)的機(jī)密性、完整性和可用性量化,主機(jī)資產(chǎn)重要性計(jì)算過程設(shè)計(jì)如下。
步驟1依據(jù)不同主機(jī)的安全需求,根據(jù)國家標(biāo)準(zhǔn)《信息安全風(fēng)險(xiǎn)評估規(guī)范》[17],將各主機(jī)的資產(chǎn)重要性屬性劃分為L1、L2、L3、L4、L5共5 個等級,更細(xì)粒度的劃分會增加先驗(yàn)評分難度,導(dǎo)致資產(chǎn)重要性屬性等級難以界定,因此資產(chǎn)重要性屬性等級不再進(jìn)一步劃分。資產(chǎn)重要性屬性取值評價如表1 所示。
表1 資產(chǎn)重要性屬性取值評價
步驟2由n位專家依據(jù)表1 對各主機(jī)資產(chǎn)重要性的屬性進(jìn)行先驗(yàn)賦值,由賦值結(jié)果構(gòu)造第j個主機(jī)的資產(chǎn)重要性屬性評價矩陣Mj
步驟3對屬性評價矩陣中的各列元素歸一化處理,記處理后評價矩陣各元素為dik。由于相關(guān)性定權(quán)法[18]能夠綜合考慮屬性間的差異性和相關(guān)性,從相對客觀角度計(jì)算各屬性權(quán)重,因此本文采用相關(guān)性定權(quán)法求解資產(chǎn)重要性各屬性權(quán)重。
1) 第k列屬性d的平均值為
其中,n為矩陣行數(shù)。
2) 第k列資產(chǎn)重要性屬性的標(biāo)準(zhǔn)差為
3) 任意兩指標(biāo)間的相關(guān)系數(shù)為
4) 第k列屬性所含的信息量為
5) 第j個主機(jī)的第k列資產(chǎn)重要性屬性的權(quán)重為
步驟4依據(jù)評價矩陣Mj,計(jì)算第j個主機(jī)資產(chǎn)重要性的第k個屬性的先驗(yàn)評分取值A(chǔ)TTjk
步驟5計(jì)算第j個主機(jī)的資產(chǎn)重要性AI(Nhost_j),如式(14)所示。
拓?fù)浣Y(jié)構(gòu)重要性從主機(jī)所在主機(jī)攻擊圖的結(jié)構(gòu)角度分析主機(jī)的重要程度。其中拓?fù)浣Y(jié)構(gòu)重要性由主機(jī)的加權(quán)中介中心性和局部重要性組成。
加權(quán)中介中心性從主機(jī)攻擊圖的整體角度考慮主機(jī)的重要程度,在計(jì)算時需要計(jì)算任意兩節(jié)點(diǎn)間的最短路徑,而原子攻擊概率取值越大則表示兩節(jié)點(diǎn)間越容易到達(dá),因此本文通過原子攻擊概率的倒數(shù)對主機(jī)攻擊圖加權(quán),然后由式(15)計(jì)算各主機(jī)Nhost_i的加權(quán)中介中心性FI(Nhost_i)
其中,σ(Nhost_i)at表示從主機(jī)Nhost_a到Nhost_t的最短路徑中經(jīng)過主機(jī)Nhost_i的最短路徑數(shù),σat表示所有從主機(jī)Nhost_a到Nhost_t的最短路徑數(shù)。
主機(jī)的局部重要性從局部角度分析主機(jī)的重要程度,根據(jù)主機(jī)攻擊圖中各主機(jī)和其他主機(jī)間的關(guān)聯(lián)關(guān)系,由式(16)計(jì)算主機(jī)Nhost_i的局部重要性LI(Nhost_i)
其中,gi表示攻擊圖中與主機(jī)Nhost_i相連的邊數(shù),gj表示與主機(jī)Nhost_i直接相連的主機(jī)所連的邊數(shù),b表示與主機(jī)Nhost_i直接相連的主機(jī)數(shù),n表示主機(jī)攻擊圖主機(jī)數(shù)。
根據(jù)計(jì)算得到的主機(jī)的加權(quán)中介中心性和局部重要性,由式(17)計(jì)算主機(jī)拓?fù)浣Y(jié)構(gòu)重要性TI(Nhost_i)
主機(jī)重要性由主機(jī)資產(chǎn)重要性和主機(jī)拓?fù)浣Y(jié)構(gòu)重要性表征,計(jì)算出主機(jī)資產(chǎn)重要性和主機(jī)拓?fù)浣Y(jié)構(gòu)重要性后,由式(18)計(jì)算各主機(jī)的主機(jī)重要性NI(Nhost_i)
依據(jù)計(jì)算出的主機(jī)攻擊概率、漏洞影響值和主機(jī)重要性,由式(19)計(jì)算各主機(jī)的安全值NR(Nhost_i)
其中,n表示主機(jī)攻擊圖中的主機(jī)個數(shù)。
為驗(yàn)證本文方法的有效性,在民航機(jī)場某業(yè)務(wù)仿真系統(tǒng)的網(wǎng)絡(luò)環(huán)境中進(jìn)行驗(yàn)證實(shí)驗(yàn)。該仿真系統(tǒng)由民航某研究所研發(fā),其原型系統(tǒng)已在國內(nèi)數(shù)十家民航機(jī)場應(yīng)用。該仿真系統(tǒng)的硬件平臺、網(wǎng)絡(luò)拓?fù)浜秃诵墓δ芘c國內(nèi)數(shù)十家民航機(jī)場實(shí)際運(yùn)行的真實(shí)業(yè)務(wù)系統(tǒng)完全一致。由于該仿真系統(tǒng)是針對目前民航機(jī)場廣泛運(yùn)行的典型業(yè)務(wù)系統(tǒng)的模擬仿真,尚未涉及云計(jì)算、虛擬化和SDN 等應(yīng)用場景。
該仿真系統(tǒng)的總體抽象層次結(jié)構(gòu)分為數(shù)據(jù)層、業(yè)務(wù)邏輯層、消息中間層和業(yè)務(wù)應(yīng)用層,各層間相互協(xié)作以保障系統(tǒng)正常運(yùn)行,總體抽象層次結(jié)構(gòu)如圖3 所示。其中,數(shù)據(jù)層對應(yīng)系統(tǒng)數(shù)據(jù)存儲區(qū)的數(shù)據(jù)庫服務(wù)器,負(fù)責(zé)數(shù)據(jù)庫管理和業(yè)務(wù)數(shù)據(jù)支持;業(yè)務(wù)邏輯層對應(yīng)系統(tǒng)業(yè)務(wù)調(diào)度區(qū)的業(yè)務(wù)主機(jī)等,負(fù)責(zé)航班業(yè)務(wù)邏輯抽象、實(shí)現(xiàn)和管理;消息中間層對應(yīng)系統(tǒng)網(wǎng)絡(luò)布線和系統(tǒng)交互區(qū)中提供信息交互的應(yīng)用服務(wù)器等,負(fù)責(zé)信息內(nèi)容過濾、系統(tǒng)數(shù)據(jù)共享和報(bào)文收發(fā)等;業(yè)務(wù)應(yīng)用層對應(yīng)系統(tǒng)業(yè)務(wù)調(diào)度區(qū)、系統(tǒng)監(jiān)控區(qū)和系統(tǒng)交互區(qū)中各主機(jī)的具體應(yīng)用和服務(wù)等。
圖3 仿真系統(tǒng)的總體抽象層次結(jié)構(gòu)
該仿真系統(tǒng)的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)如圖4 所示,分為系統(tǒng)交互區(qū)、系統(tǒng)業(yè)務(wù)調(diào)度區(qū)、數(shù)據(jù)存儲區(qū)和系統(tǒng)監(jiān)控區(qū)。
圖4 仿真系統(tǒng)的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)
各區(qū)域提供的功能及服務(wù)如下。
1) 系統(tǒng)交互區(qū)的主要功能為提供該業(yè)務(wù)系統(tǒng)與其他業(yè)務(wù)系統(tǒng)的數(shù)據(jù)交互服務(wù)。其中,管理控制主機(jī)Nhost_1提供基于Web的異常處理和內(nèi)容過濾服務(wù),應(yīng)用服務(wù)器Nhost_2提供多業(yè)務(wù)單位和部門間的信息交互與數(shù)據(jù)共享服務(wù),應(yīng)用服務(wù)器Nhost_3提供航班運(yùn)行動態(tài)業(yè)務(wù)信息(如SITA 報(bào)、AFTN 報(bào)等)的發(fā)送與接收解析等服務(wù)。
2) 系統(tǒng)業(yè)務(wù)調(diào)度區(qū)的主要功能為處理航班運(yùn)行業(yè)務(wù)并進(jìn)行航班信息管理。其中,業(yè)務(wù)主機(jī)Nhost_4提供航班運(yùn)行業(yè)務(wù)的基礎(chǔ)數(shù)據(jù)和動態(tài)航班等信息的發(fā)布服務(wù),業(yè)務(wù)主機(jī)Nhost_5提供系統(tǒng)信息管理功能,對航班狀態(tài)、航班計(jì)劃和系統(tǒng)資源等信息進(jìn)行更新和管理。
3) 數(shù)據(jù)存儲區(qū)的主要功能為存儲機(jī)場運(yùn)行過程中的各類業(yè)務(wù)數(shù)據(jù)。其中,數(shù)據(jù)庫服務(wù)器Nhost_6存儲航班信息的基礎(chǔ)數(shù)據(jù)和動態(tài)航班信息及各類業(yè)務(wù)信息,備份數(shù)據(jù)庫服務(wù)器Nhost_7對機(jī)場各類業(yè)務(wù)數(shù)據(jù)和信息進(jìn)行備份存儲和管理。
4) 系統(tǒng)監(jiān)控區(qū)的主要功能為監(jiān)控系統(tǒng)運(yùn)行狀態(tài)。其中,配置管理主機(jī)Nhost_8對系統(tǒng)進(jìn)行配置管理和航班信息維護(hù),運(yùn)行監(jiān)控主機(jī)Nhost_9通過運(yùn)行監(jiān)控軟件監(jiān)控系統(tǒng)運(yùn)行狀態(tài)以保障系統(tǒng)安全平穩(wěn)運(yùn)行。
首先,利用Nmap 工具探測上述網(wǎng)絡(luò)拓?fù)洌@取各主機(jī)間的連通關(guān)系和漏洞信息。其中各主機(jī)間的網(wǎng)絡(luò)連通關(guān)系如表2 所示。
表2 各主機(jī)間的網(wǎng)絡(luò)連通關(guān)系
然后,依據(jù)各主機(jī)的漏洞信息,由式(1)計(jì)算漏洞自身可利用性VE,主機(jī)漏洞信息如表3 所示。
最后,依據(jù)表2 和表3 生成主機(jī)攻擊圖,結(jié)果如圖5 所示。從圖5 可知,主機(jī)攻擊圖共包含10 個節(jié)點(diǎn)和15 條邊,分別表示網(wǎng)絡(luò)拓?fù)渲械闹鳈C(jī)、主機(jī)間的關(guān)聯(lián)關(guān)系。
圖5 主機(jī)攻擊圖生成
表3 主機(jī)漏洞信息
首先,計(jì)算各漏洞原子攻擊概率。依據(jù)漏洞公開時間,由式(2)計(jì)算漏洞時間可利用性。將漏洞自身可利用性、漏洞時間可利用性、漏洞環(huán)境可利用性和操作系統(tǒng)可利用性取值代入式(3),計(jì)算得到各漏洞原子攻擊概率,結(jié)果如圖6 所示。
圖6 原子攻擊概率
然后,由圖5 查找所有攻擊路徑,依據(jù)圖5 中的原子攻擊概率,由式(4)計(jì)算得到各主機(jī)的最大攻擊概率,結(jié)果如表4 所示。
表4 主機(jī)攻擊概率
最后,依據(jù)表3 各主機(jī)漏洞信息,由式(5)和式(6)計(jì)算得到各主機(jī)的漏洞影響值,結(jié)果如表5 所示。
表5 主機(jī)漏洞影響值
首先,計(jì)算各主機(jī)的資產(chǎn)重要性和拓?fù)浣Y(jié)構(gòu)重要性。以主機(jī)Nhost_1為例說明主機(jī)資產(chǎn)重要性的計(jì)算流程。由5 位專家依據(jù)表1 對主機(jī)Nhost_1的資產(chǎn)重要性屬性進(jìn)行先驗(yàn)評分賦值,由先驗(yàn)賦值結(jié)果構(gòu)建主機(jī)Nhost_1的資產(chǎn)重要性屬性矩陣M1
將矩陣M1各列元素歸一化處理后,依據(jù)式(8)~式(12)計(jì)算主機(jī)Nhost_1的資產(chǎn)重要性屬性權(quán)重,分別為(0.309 2,0.326 0,0.364 7)。由式(13)計(jì)算得到主機(jī)Nhost_1的各資產(chǎn)重要性屬性評分取值分別為(2.2,2.4,3.8),將計(jì)算得到的屬性權(quán)重和屬性評分取值代入式(14)計(jì)算得到主機(jī)Nhost_1的資產(chǎn)重要性為3.04。同理計(jì)算其余8 個主機(jī)的資產(chǎn)重要性屬性權(quán)重和資產(chǎn)重要性,得到9 個主機(jī)的資產(chǎn)重要性屬性權(quán)重和資產(chǎn)重要性如表6 所示。
表6 主機(jī)資產(chǎn)重要性屬性權(quán)重和資產(chǎn)重要性
然后,依據(jù)3.2 節(jié)中的方法得到加權(quán)后的主機(jī)攻擊圖,由式(15)和式(16)計(jì)算出各主機(jī)的加權(quán)中介中心性和局部重要性,代入式(17)得到各主機(jī)的拓?fù)浣Y(jié)構(gòu)重要性,結(jié)果如表7 所示。
表7 主機(jī)拓?fù)浣Y(jié)構(gòu)重要性
將表6 和表7 中的主機(jī)資產(chǎn)重要性和拓?fù)浣Y(jié)構(gòu)重要性代入式(18),計(jì)算得到主機(jī)重要性,將表4中各主機(jī)攻擊概率和計(jì)算出的主機(jī)重要性代入式(19),計(jì)算得到各主機(jī)的安全值,結(jié)果如圖7 所示。
圖7 主機(jī)重要性和主機(jī)安全值
由圖7 可知,1) 9 個主機(jī)的主機(jī)重要性排序結(jié)果為NI(Nhost_6)> NI(Nhost_7)>NI(Nhost_4)> NI(Nhost3)>NI(Nhost_5)> NI(Nhost_2)> NI(Nhost_1)> NI(Nhost_8)>NI(Nhost_9),表明在綜合考慮主機(jī)資產(chǎn)重要性和拓?fù)浣Y(jié)構(gòu)重要性后,主機(jī)Nhost_6相比于其他主機(jī)更重要;2) 9 個主機(jī)的安全值排序結(jié)果為 NR(Nhost_2)<NR(Nhost_3) <NR(Nhost_6) <NR(Nhost_4) <NR(Nhost_1)<NR(Nhost_5)< NR(Nhost_9)<NR(Nhost_8)<NR(Nhost_7),表明在綜合考慮主機(jī)的主機(jī)重要性、漏洞影響值和攻擊概率后,主機(jī)Nhost_2的安全值最低。
上述結(jié)果與實(shí)驗(yàn)所用仿真系統(tǒng)對應(yīng)的機(jī)場某真實(shí)業(yè)務(wù)系統(tǒng)的網(wǎng)絡(luò)真實(shí)情況一致,且與真實(shí)系統(tǒng)的多次安全評估結(jié)果一致。因此本文方法能夠有效分析不同主機(jī)的重要性并對各主機(jī)的安全狀況進(jìn)行量化評估。
原子攻擊概率表示攻擊圖中攻擊行為遷移的可能性大小,為證明本文方法計(jì)算原子攻擊概率的合理性,將本文方法、CVSS 方法和文獻(xiàn)[7]方法中依照時間劃分得到的原子攻擊概率進(jìn)行對比,如表8 所示。
由表8 可知,CVSS 方法和文獻(xiàn)[7]方法僅從單一角度考慮漏洞被利用的可能性,忽略了漏洞所處主機(jī)環(huán)境因素和主機(jī)操作系統(tǒng)類型對原子攻擊概率的影響,導(dǎo)致計(jì)算結(jié)果并不準(zhǔn)確。例如,由CVSS方法計(jì)算得到的漏洞f2、f4、f5、f7、f11和f12的漏洞原子攻擊概率均為1,由文獻(xiàn)[7]方法計(jì)算得到的漏洞f1~f7、f11和f12的漏洞原子攻擊概率均為0.9。而在實(shí)際系統(tǒng)的網(wǎng)絡(luò)環(huán)境中,上述漏洞發(fā)布時間不同,且漏洞分別位于不同主機(jī)中,原子攻擊概率均相同,顯然不合理。本文方法綜合考慮漏洞自身可利用性、時間可利用性、環(huán)境可利用性和操作系統(tǒng)類型,計(jì)算出的漏洞原子攻擊概率值更符合真實(shí)網(wǎng)絡(luò)中漏洞被利用的情況。
表8 原子攻擊概率對比
為驗(yàn)證本文方法計(jì)算主機(jī)資產(chǎn)重要性的合理性,在圖4 所示的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)下,分別采用本文方法、層次分析法[4]和先驗(yàn)評分法計(jì)算各主機(jī)資產(chǎn)重要性,結(jié)果如圖8 所示。
由圖8 可知,本文方法計(jì)算出的主機(jī)資產(chǎn)重要性值更合理,因?yàn)楸疚姆椒ǔ浞挚紤]主機(jī)資產(chǎn)重要性不同屬性所占權(quán)重,在先驗(yàn)評分賦值的基礎(chǔ)上采用相關(guān)性定權(quán)法為各主機(jī)資產(chǎn)重要性的不同屬性權(quán)重賦值;層次分析法和先驗(yàn)評分法為所有主機(jī)資產(chǎn)重要性的所有屬性采用相同權(quán)重計(jì)算,計(jì)算結(jié)果并不合理。
圖8 主機(jī)資產(chǎn)重要性對比
主機(jī)安全值能夠反映主機(jī)當(dāng)前的安全狀況,取值越小表明主機(jī)的安全狀況越差。為證明本文方法的優(yōu)越性,在相同實(shí)驗(yàn)環(huán)境下,采用資產(chǎn)連通圖方法[5]、Markov 攻擊圖方法[6]和鄰接矩陣法[12]3 種主機(jī)安全評估方法計(jì)算主機(jī)安全值,4 種方法歸一化后的安全值如圖9 所示。
由圖9 可知,本文方法得到的各主機(jī)安全值更準(zhǔn)確合理。原因分析如下。
圖9 不同方法的主機(jī)安全值對比
1) Markov 攻擊圖方法僅以迭代后的攻擊可能性作為評估各主機(jī)安全性的指標(biāo),無法準(zhǔn)確區(qū)分各主機(jī)的安全和風(fēng)險(xiǎn)狀況。
2) 鄰接矩陣法和資產(chǎn)連通圖方法依據(jù)主機(jī)的攻擊概率和資產(chǎn)重要性計(jì)算主機(jī)安全值,但均未考慮主機(jī)資產(chǎn)重要性屬性的權(quán)重差異性和攻擊圖中各主機(jī)間的關(guān)系,安全值計(jì)算不夠準(zhǔn)確。
3) 本文方法從主機(jī)攻擊概率、漏洞影響值、資產(chǎn)重要性和拓?fù)浣Y(jié)構(gòu)重要性方面對主機(jī)進(jìn)行安全評估,能夠更全面、更準(zhǔn)確地反映各主機(jī)的安全狀況。
標(biāo)準(zhǔn)差的大小反映了數(shù)據(jù)間的離散程度,安全值的標(biāo)準(zhǔn)差越大,表明數(shù)據(jù)離散程度越大,其益處是對安全等級的區(qū)分度越明顯,越易于區(qū)分并劃分主機(jī)的安全和風(fēng)險(xiǎn)等級。
為進(jìn)一步證明本文方法的優(yōu)勢,在得到主機(jī)安全值的基礎(chǔ)上,分別計(jì)算4 種方法的主機(jī)安全值的標(biāo)準(zhǔn)差,結(jié)果如表9 所示。
表9 主機(jī)安全值的標(biāo)準(zhǔn)差
由表9 可知,本文方法得到的主機(jī)安全值的標(biāo)準(zhǔn)差比其他3 種方法得到的安全值標(biāo)準(zhǔn)差分別增加了85.7%、116.7%和110.8%,說明本文方法得到的主機(jī)安全值離散程度更大、區(qū)間分布也更大,可以更顯著地表征不同主機(jī)安全值的差異性,更便于劃分主機(jī)的安全等級,從而有利于高效處置主機(jī)風(fēng)險(xiǎn)和網(wǎng)絡(luò)風(fēng)險(xiǎn)。
為合理有效地評估網(wǎng)絡(luò)中主機(jī)的安全狀況,本文提出一種基于攻擊圖的主機(jī)安全評估方法。在構(gòu)建主機(jī)攻擊圖的基礎(chǔ)上,依據(jù)漏洞的多個屬性值計(jì)算原子攻擊概率,依據(jù)攻擊圖、相關(guān)性定權(quán)法得到主機(jī)的攻擊概率、漏洞影響值、主機(jī)資產(chǎn)重要性和拓?fù)浣Y(jié)構(gòu)重要性,進(jìn)而計(jì)算得到主機(jī)的安全值。
通過民航機(jī)場某業(yè)務(wù)仿真系統(tǒng)環(huán)境下的驗(yàn)證實(shí)驗(yàn),驗(yàn)證了本文方法在真實(shí)系統(tǒng)網(wǎng)絡(luò)環(huán)境下的可行性和有效性。與其他方法相比,本文方法能夠合理計(jì)算主機(jī)攻擊概率、漏洞影響值、資產(chǎn)重要性和拓?fù)浣Y(jié)構(gòu)重要性,可以全面、準(zhǔn)確地反映主機(jī)的安全狀況。
未來,將進(jìn)一步細(xì)化主機(jī)資產(chǎn)重要性評價指標(biāo),從主機(jī)安全管理角度進(jìn)一步完善主機(jī)安全評估的針對性,提高該方法在復(fù)雜網(wǎng)絡(luò)環(huán)境中的適用性。此外,將針對云計(jì)算和虛擬化環(huán)境的特點(diǎn),重點(diǎn)研究云計(jì)算和虛擬化應(yīng)用場景下的網(wǎng)絡(luò)安全評估模型和基于SDN 環(huán)境的網(wǎng)絡(luò)主機(jī)安全評估方法,提出適用于云計(jì)算和SDN環(huán)境的安全評估解決方案。