王 輝 王云峰 閆璽璽
(河南理工大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 河南 焦作 454000)
?
基于貝葉斯攻擊圖的層次化威脅度HTV分析方法
王輝王云峰閆璽璽
(河南理工大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院河南 焦作 454000)
摘要現(xiàn)有脆弱性分析方法難以兼顧評(píng)估目標(biāo)系統(tǒng)整體安全性和脆弱點(diǎn)的嚴(yán)重程度, 同時(shí)評(píng)估過程需要處理大量的不確定信息。為此,提出一種層次化威脅度的HTV分析方法。首先,通過分析原子攻擊和攻擊證據(jù)的關(guān)聯(lián)性,提出一種因果關(guān)系檢測(cè)算法CRDA,以確定二者因果關(guān)系;其次,依據(jù)攻擊模型的系統(tǒng)架構(gòu),給出貝葉斯攻擊圖BAG定義,并給出對(duì)應(yīng)的生成算法BAGA,以及時(shí)有效地識(shí)別脆弱點(diǎn);最后,給出脆弱點(diǎn)威脅度定義和計(jì)算模型,并以攻擊者所獲脆弱點(diǎn)權(quán)限為基準(zhǔn),將威脅度劃分不同層次,以有效評(píng)估脆弱點(diǎn)的嚴(yán)重程度和目標(biāo)系統(tǒng)整體安全性。實(shí)驗(yàn)結(jié)果表明,所提方法評(píng)估系統(tǒng)整體安全性以及脆弱點(diǎn)的嚴(yán)重程度是完全可行且有效的。
關(guān)鍵詞貝葉斯攻擊圖攻擊模型因果關(guān)系脆弱點(diǎn)威脅度
0引言
伴隨著網(wǎng)絡(luò)系統(tǒng)的復(fù)雜化,由安全漏洞(或者稱作脆弱點(diǎn))引發(fā)的網(wǎng)絡(luò)安全問題日益受到關(guān)注。出現(xiàn)這種現(xiàn)象,一個(gè)重要的原因是現(xiàn)有脆弱性掃描技術(shù)難以有效評(píng)估脆弱點(diǎn)相互作用帶來的威脅。一方面,這些技術(shù)只是孤立地分析脆弱性信息,不能綜合評(píng)估系統(tǒng)整體安全威脅[1];另一方面,如Nessus、X-Scan等脆弱點(diǎn)掃描技術(shù),容易受到軟件發(fā)布及硬件升級(jí)等因素影響[2],無法及時(shí)有效地識(shí)別系統(tǒng)脆弱點(diǎn)。因此,需要尋求一種有效方法評(píng)估系統(tǒng)安全態(tài)勢(shì),為管理員提供決策支持。
近年來,研究人員開始應(yīng)用貝葉斯網(wǎng)絡(luò)和攻擊圖于安全態(tài)勢(shì)評(píng)估[3-7]。作為一種脆弱性分析工具,攻擊圖能夠基于系統(tǒng)網(wǎng)絡(luò)配置和脆弱性信息,自動(dòng)識(shí)別可能的脆弱點(diǎn);能夠通過分析脆弱點(diǎn)依賴關(guān)系,展示所有攻擊路徑,綜合評(píng)估系統(tǒng)安全態(tài)勢(shì)。但是,攻擊圖對(duì)脆弱點(diǎn)依賴關(guān)系的描述,僅表示一種理論可能性,無法有效地描述實(shí)際的非確定性依賴關(guān)系[8]。實(shí)際的脆弱點(diǎn)識(shí)別和評(píng)估過程,需要處理大量的不確定性信息[9]。這些不確定性信息的一個(gè)主要表現(xiàn)是攻擊行為和攻擊證據(jù)的因果關(guān)系存在不確定性。這種不確定性影響了脆弱點(diǎn)評(píng)估結(jié)果的準(zhǔn)確性。相較于攻擊圖,貝葉斯網(wǎng)絡(luò)用節(jié)點(diǎn)和有向弧描述攻擊行為和攻擊證據(jù)的因果依賴關(guān)系,用概率描述節(jié)點(diǎn)間不確定性關(guān)系,具備處理非確定性關(guān)系的能力[10,11]。同時(shí),其本身是一種屬性攻擊圖[1,12]。因而,貝葉斯網(wǎng)絡(luò)成為系統(tǒng)安全態(tài)勢(shì)評(píng)估的有效方法。但是,這種評(píng)估方法需要解決脆弱點(diǎn)屬性值的標(biāo)準(zhǔn)化問題[8]。
目前,這種標(biāo)準(zhǔn)化工作的一個(gè)較為成熟的成果是通用脆弱點(diǎn)評(píng)估系統(tǒng)(CVSS)[13]。它的一個(gè)主要功能是將與脆弱點(diǎn)有關(guān)的因素量化為對(duì)應(yīng)的屬性值,為安全態(tài)勢(shì)評(píng)估提供基礎(chǔ)數(shù)據(jù)??紤]到資源、成本等因素,脆弱點(diǎn)的嚴(yán)重程度不同,可能對(duì)目標(biāo)系統(tǒng)造成的危害也不同。因而,如何基于貝葉斯網(wǎng)絡(luò)和CVSS評(píng)估脆弱點(diǎn)的嚴(yán)重程度,以確定它們的優(yōu)先處置順序就成為需要解決的問題[9]。本文提出了一種層次化脆弱點(diǎn)威脅度HTV(the hierarchical threat of vulnerability)的評(píng)估方法。這種方法能夠依據(jù)攻擊者獲取的目標(biāo)權(quán)限,將脆弱點(diǎn)威脅劃分為嚴(yán)重程度不同的幾個(gè)層次,從而解決脆弱點(diǎn)的嚴(yán)重程度評(píng)估問題。
1相關(guān)工作
目前,一些研究工作開始嘗試基于貝葉斯網(wǎng)絡(luò)和CVSS,解決系統(tǒng)安全評(píng)估問題。文獻(xiàn)[8]嘗試基于貝葉斯網(wǎng)絡(luò)和CVSS計(jì)算脆弱點(diǎn)被成功利用的概率;文獻(xiàn)[14]提出了一種利用日志審計(jì)評(píng)估脆弱點(diǎn)威脅的安全態(tài)勢(shì)評(píng)估模型;文獻(xiàn)[2,15]將攻擊圖和CVSS結(jié)合成貝葉斯模型,提出了利用條件概率計(jì)算滲透節(jié)點(diǎn)概率值的方法。這些評(píng)估方法主要通過計(jì)算節(jié)點(diǎn)概率分析網(wǎng)絡(luò)安全態(tài)勢(shì)。
然而,貝葉斯網(wǎng)絡(luò)中,節(jié)點(diǎn)概率只表示脆弱點(diǎn)被成功利用的難易程度[8],不能評(píng)估其本身的嚴(yán)重程度。文獻(xiàn)[2,8,14,15]卻未考慮到這點(diǎn)。文獻(xiàn)[9]提出了基于攻擊圖和顏色Petri網(wǎng)評(píng)估脆弱點(diǎn)威脅度的方法。通過將子攻擊圖轉(zhuǎn)換為不確定性推理規(guī)則集,并基于D-S證據(jù)理論計(jì)算單個(gè)脆弱點(diǎn)的嚴(yán)重程度,但是未考慮單個(gè)脆弱點(diǎn)對(duì)網(wǎng)絡(luò)整體安全造成的威脅。文獻(xiàn)[16]嘗試基于貝葉斯網(wǎng)絡(luò)動(dòng)態(tài)評(píng)估網(wǎng)絡(luò)安全風(fēng)險(xiǎn)。通過將貝葉斯網(wǎng)絡(luò)邏輯用于脆弱性威脅分析,文獻(xiàn)提出了計(jì)算多目標(biāo)安全概率的量化評(píng)估模型,但是未給出評(píng)估目標(biāo)網(wǎng)絡(luò)整體安全的具體方法。文獻(xiàn)[17]提出了基于攻擊圖的單個(gè)脆弱點(diǎn)威脅量化方法,通過將脆弱點(diǎn)被利用的可能性量化為一個(gè)威脅區(qū)間,有效地評(píng)估了目標(biāo)網(wǎng)絡(luò)整體安全態(tài)勢(shì)。但是它未能提出有效的方法評(píng)估脆弱點(diǎn)本身的嚴(yán)重程度。
針對(duì)上述不足,本文提出一種層次化脆弱點(diǎn)威脅度的分析方法。在借鑒原有評(píng)估方法和思想的基礎(chǔ)上,本文進(jìn)一步提出了一種新穎的脆弱點(diǎn)威脅分析方法,并定義了貝葉斯攻擊圖BAG和脆弱點(diǎn)威脅度,提出了因果關(guān)系檢測(cè)算法CRDA,改進(jìn)了攻擊圖生成算法。方法通過定義脆弱點(diǎn)威脅度,并以一次成功的脆弱性利用可能獲取的權(quán)限為基準(zhǔn),將脆弱點(diǎn)分為不同層次,實(shí)現(xiàn)了對(duì)脆弱點(diǎn)的嚴(yán)重程度及目標(biāo)系統(tǒng)安全態(tài)勢(shì)的評(píng)估。與前述方法相比,通過提出檢測(cè)算法CRDA,不僅實(shí)現(xiàn)了對(duì)評(píng)估過程中不確定信息的處理,使評(píng)估結(jié)果更加合理,而且通過調(diào)用這一算法于BAGA算法,可以有效地避免攻擊圖生成算法存在的循環(huán)路徑問題,使其可以應(yīng)用于生成貝葉斯網(wǎng)絡(luò)。同時(shí),通過分析脆弱點(diǎn)威脅度,將脆弱點(diǎn)威脅分為不同層次,實(shí)現(xiàn)了對(duì)系統(tǒng)整體安全性和脆弱點(diǎn)嚴(yán)重程度的兼顧評(píng)估。
2概述與定義
攻擊行為和攻擊證據(jù)因果關(guān)系的不確定性是目標(biāo)網(wǎng)絡(luò)存在不確定性信息的一個(gè)重要體現(xiàn)。為了描述這種不確定性,本節(jié)給出了一些基本定義,并提出了檢測(cè)這種因果關(guān)系的算法。
定義1(脆弱點(diǎn))令V指代脆弱點(diǎn)集,元素vi∈V指代脆弱點(diǎn)項(xiàng)。
計(jì)算機(jī)系統(tǒng)中的脆弱點(diǎn)泛指計(jì)算機(jī)硬件、軟件等存在的安全技術(shù)缺陷或管理上存在的策略缺陷。本文所探討的脆弱點(diǎn)僅包括網(wǎng)絡(luò)系統(tǒng)存在的操作系統(tǒng)漏洞、MoS/DoS攻擊點(diǎn)等安全技術(shù)缺陷。它們能夠被攻擊者利用,威脅網(wǎng)絡(luò)系統(tǒng)安全。
定義2(原子攻擊)令A(yù)指代原子攻擊集,元素aj∈A指代原子攻擊項(xiàng)。
為方便敘述,本文將攻擊者對(duì)單個(gè)脆弱點(diǎn)的一次利用稱為原子攻擊。原子攻擊對(duì)脆弱點(diǎn)的利用是通過一系列指令或操作實(shí)現(xiàn)的。因此,本質(zhì)上,原子攻擊是這些命令或操作依照一定順序組成的集合。本文將這些命令和操作統(tǒng)稱為基本操作,用mi表示。基本操作及它們的組合順序不同,由它們所組成的原子攻擊也不同。如圖1所示,{m1→m2→m3→m4}和{m1→m2→m3→m4}分別表示兩個(gè)不同的原子攻擊。
圖1 原子攻擊
定義3(攻擊證據(jù))令O指代攻擊證據(jù)集,元素ol∈O指代攻擊證據(jù)項(xiàng)。
攻擊證據(jù)是系統(tǒng)日志根據(jù)監(jiān)測(cè)系統(tǒng)的觀測(cè)數(shù)據(jù)所記錄的一系列基本操作的集合。考慮到系統(tǒng)癱瘓、UDP數(shù)據(jù)包欺騙等影響因素,監(jiān)測(cè)系統(tǒng)在觀測(cè)原子攻擊時(shí),不可避免地會(huì)遺漏一些基本操作。鑒于此,本文對(duì)那些包含的基本操作相同但是順序不同的原子攻擊不作區(qū)分,即認(rèn)為它們產(chǎn)生的攻擊證據(jù)是相同的。同一原子攻擊能夠產(chǎn)生不同的攻擊證據(jù),同一攻擊證據(jù)的產(chǎn)生也可能依賴于多個(gè)原子攻擊的共同影響。它們因果關(guān)系的不確定性可以用圖2表示。
圖2 因果關(guān)系貝葉斯模型
圖2中,原子攻擊a1可能產(chǎn)生的攻擊證據(jù)為o1、o2、o3,原子攻擊a2可能產(chǎn)生的攻擊證據(jù)為o2、o3、o4,由原子攻擊a1、a2共同產(chǎn)生的攻擊證據(jù)為o2、o3。a1、a2和o2、o3的這種依賴關(guān)系就是攻擊行為和攻擊證據(jù)因果關(guān)系的不確定性,即我們無法確定產(chǎn)生o2和o3的真正的原子攻擊。
為解決這種不確定性,需要度量原子攻擊產(chǎn)生攻擊證據(jù)的可能性,即P(o1,o2,…,ol|a1,a2,…,aj),首先給出如下定義:
定義4設(shè)X1, X2,…,Xn為組成集合X的元素,Y1, Y2,…,Ym為組成集合Y的元素,Z為Y的子集,即Z?Y。若對(duì)任意的r(1≤r≤n)及任意的1≤ i1 假設(shè)攻擊證據(jù)集合O和原子攻擊集合A是組成貝葉斯網(wǎng)絡(luò)ζ的節(jié)點(diǎn)集合,O={o1,o2,…,ol},A={a1,a2,…,aj},集合O中各元素在集合A發(fā)生條件下相互獨(dú)立,由定義4有: (1) 更進(jìn)一步,記A={A1,A2,…,Al}。對(duì)于任意ol∈O,如果存在Al?A,使得ol與{A1,A2,…,Al-1}中各變量集合所包含的原子攻擊元素相互獨(dú)立,則: (2) 通常情況下,P(ol|Al)并不易求得,為此,本文用攻擊證據(jù)ol中相同于原子攻擊aj的基本操作數(shù)與攻擊證據(jù)中基本操作的個(gè)數(shù)表示P(ol|Al)。 假設(shè)組成ol的基本操作個(gè)數(shù)為nl,相同于Al中各原子攻擊的基本操作數(shù)為{k1,k2,…,ks},則: (3) 從而最終得到: (4) 假設(shè)圖2中a1={m1,m2,m3,m4},a2={m5, m6,m7, m8},o1={m1,m2,m4},o2={m1,m2,m7}。依據(jù)式(4),則P(o1| a1)=1(o1| a2)=0,P(o2| a1)=2/3, P(o2| a2)=1/3。 定義5(因果關(guān)系檢測(cè))用向量δl=(αl1,αl2,…,αlj)描述原子攻擊及其攻擊證據(jù)之間的因果關(guān)系。其中αlj表示原子攻擊aj和攻擊證據(jù)ol之間的因果關(guān)系。用RDS(αlj)承載原子攻擊aj和攻擊證據(jù)ol之間的因果關(guān)系。若二者之間存在因果關(guān)系,則RDS(αlj)=1,否則RDS(αlj)=0。用向量φlj=(λl1,λl2,…,λlj)表示與δl相對(duì)應(yīng)的原子攻擊的后驗(yàn)概率。λlj承載觀測(cè)到攻擊證據(jù)ol后,原子攻擊aj的后驗(yàn)概率。由式(4)有P(ol|aj)=n/s(n,s為ol所對(duì)應(yīng)的基本操作數(shù))。因此,由貝葉斯定理有: (5) 計(jì)算λlj時(shí),P(aj)為原子攻擊aj的先驗(yàn)概率(可由第4節(jié)計(jì)算公式求得),P(ol)為觀測(cè)到的攻擊證據(jù)oj的概率,由于ol已經(jīng)發(fā)生,因此,P(ol)=1。如果max(φ)= λlm,此時(shí),就可以認(rèn)為原子攻擊am產(chǎn)生了攻擊證據(jù)ol,記為R(ol-am)。據(jù)此,本文給出了算法1所示的原子攻擊檢測(cè)算法,并給出表1所示的原子攻擊檢測(cè)示例(表1中假設(shè)P(a1)= P(a2)=0.5)。 算法1因果關(guān)系檢測(cè)算法CRDA(Θ) 輸入:因果貝葉斯網(wǎng)Θ。 輸出:因果關(guān)系αlj集合Ψ。 1)Ψ←? 2)FOR l=1 TO k 3)δl=(αl1,αl2,…,αlj) 4) Ml←? 5)FOR j=1 TO m 6)IF RDS(αlj=1) THEN 8)END IF 9)Ml= Ml∪{λlj} 10)END FOR 11)max(Ml)= λlj 12)END FOR 13)Ψ=Ψ∪{ R(ol-aj) } 算法1從5)開始計(jì)算與ol存在因果關(guān)系的原子攻擊aj后驗(yàn)概率,并在11)選擇擁有最大后驗(yàn)概率的原子攻擊作為檢測(cè)結(jié)果,最后將該原子攻擊及對(duì)應(yīng)的攻擊證據(jù)存儲(chǔ)到集合Ψ中。觀測(cè)到攻擊證據(jù)后,就可以通過集合Ψ找到相應(yīng)的原子攻擊。 表1 因果關(guān)系檢測(cè)示例 由表1可以看出,當(dāng)給定因果貝葉斯模型和先驗(yàn)概率P(a1)和 P(a2),即可檢測(cè)到攻擊證據(jù)o1和o2是由原子攻擊a1產(chǎn)生的,因而該算法能實(shí)現(xiàn)對(duì)模型中不確定關(guān)系的處理。 3脆弱點(diǎn)識(shí)別 脆弱點(diǎn)的存在是網(wǎng)絡(luò)系統(tǒng)遭受安全威脅的最根本原因。本節(jié)從分析目標(biāo)系統(tǒng)狀態(tài)變遷出發(fā),構(gòu)建網(wǎng)絡(luò)攻擊模型生成系統(tǒng)架構(gòu),并在此基礎(chǔ)上給出貝葉斯攻擊圖定義,改進(jìn)了文獻(xiàn)[9]的攻擊圖生成算法,以識(shí)別目標(biāo)網(wǎng)絡(luò)中可能存在的脆弱點(diǎn)。 3.1網(wǎng)絡(luò)攻擊模型生成系統(tǒng)架構(gòu) 一次成功的原子攻擊表現(xiàn)為對(duì)系統(tǒng)狀態(tài)的一次改變。因此,可視網(wǎng)絡(luò)攻擊為逐步實(shí)現(xiàn)系統(tǒng)狀態(tài)變遷的過程。在具備網(wǎng)絡(luò)攻擊的前提條件下,攻擊者只有通過攻擊目標(biāo)主機(jī)脆弱點(diǎn),并獲得相應(yīng)的權(quán)限,才能實(shí)現(xiàn)系統(tǒng)狀態(tài)變遷。這一過程會(huì)伴隨產(chǎn)生攻擊證據(jù)。因此,狀態(tài)變遷可以用5元組STS=(preconditions,aj,postconditions,vi,ol)表示。其中preconditions表示網(wǎng)絡(luò)攻擊(原子攻擊)發(fā)生的前提條件,包括攻擊源主機(jī)上的訪問權(quán)限sr_access,目標(biāo)主機(jī)上的訪問權(quán)限dst_access,sr_l_dst表示攻擊源主機(jī)與目標(biāo)主機(jī)上的連接關(guān)系;postconditions表示狀態(tài)變遷的結(jié)果,表現(xiàn)為原子攻擊成功實(shí)施后攻擊者能力的提升。本文用攻擊權(quán)限表示攻擊者能力,包括None、User、Root三個(gè)級(jí)別。系統(tǒng)狀態(tài)變遷可以用圖3所示的模型來表示。 圖3 系統(tǒng)狀態(tài)變遷 網(wǎng)絡(luò)攻擊過程包含一系列復(fù)雜的系統(tǒng)狀態(tài)變遷。通過對(duì)目標(biāo)主機(jī)脆弱點(diǎn)實(shí)施一次原子攻擊,攻擊者最終獲得該主機(jī)某些權(quán)限,完成一次狀態(tài)變遷。在實(shí)現(xiàn)系統(tǒng)狀態(tài)變遷的基礎(chǔ)上,攻擊者對(duì)目標(biāo)網(wǎng)絡(luò)繼續(xù)展開攻擊,直至獲得目標(biāo)主機(jī)的最高權(quán)限。這一過程中,每次原子攻擊的實(shí)施都會(huì)產(chǎn)生攻擊證據(jù)。因此,可以根據(jù)觀測(cè)到的攻擊證據(jù)建立網(wǎng)絡(luò)攻擊模型。其基本思想為:首先,收集攻擊過程中原子攻擊、攻擊證據(jù)以及目標(biāo)網(wǎng)絡(luò)中存在的脆弱點(diǎn)信息,并建立對(duì)應(yīng)的列表;其次,通過分析脆弱點(diǎn),找出攻擊者獲得某個(gè)權(quán)限后可能實(shí)施的原子攻擊,并在此基礎(chǔ)上分析上述原子攻擊產(chǎn)生的攻擊證據(jù),確定產(chǎn)生這一攻擊證據(jù)的原子攻擊和對(duì)應(yīng)的脆弱點(diǎn);最后,將這一原子攻擊過程加入到網(wǎng)絡(luò)攻擊模型,以此形成反映網(wǎng)絡(luò)攻擊的模型。其具體生成架構(gòu)如圖4所示。 圖4 攻擊模型生成系統(tǒng)架構(gòu) 首先利用各種掃描、探測(cè)、信息挖掘等技術(shù)對(duì)目標(biāo)網(wǎng)絡(luò)進(jìn)行信息收集,得到脆弱點(diǎn)列表、原子攻擊列表、攻擊證據(jù)列表;其次,在上述基礎(chǔ)上,分別從脆弱點(diǎn)列表、原子攻擊列表、攻擊證據(jù)列表中提取出脆弱點(diǎn)、原子攻擊、攻擊證據(jù),找出攻擊該脆弱點(diǎn)的原子攻擊集合A,并由攻擊證據(jù)對(duì)這些原子攻擊進(jìn)行最終確定,得到原子攻擊aj;最后,將上述脆弱點(diǎn)、原子攻擊aj、攻擊證據(jù)加入到網(wǎng)絡(luò)攻擊模型生成器,得到網(wǎng)絡(luò)攻擊模型。 3.2貝葉斯攻擊圖定義與生成算法 定義6貝葉斯攻擊圖BAG為一個(gè)五元組,即BAG=(T,W,Π,E,C)。其中,T為組成貝葉斯的不同類型節(jié)點(diǎn)集合,W為原子攻擊權(quán)集合,Π為概率集合,E為各節(jié)點(diǎn)依賴關(guān)系集合,C為約束條件集合。各變量具體含義如下: ? T=V∪A∪O。其中V、A、O為組成貝葉斯攻擊圖的三種不同類型節(jié)點(diǎn)集合;V=V0∪Vd, V0為目標(biāo)網(wǎng)絡(luò)初始狀態(tài)節(jié)點(diǎn)集合,Vd為目標(biāo)網(wǎng)絡(luò)可達(dá)狀態(tài)節(jié)點(diǎn)集合。對(duì)于?t∈V∪A,t具有二態(tài)性,即t=true或false。另規(guī)定?t∈T,Pre(t)為t的父節(jié)點(diǎn)集合,Post(t)為t的子節(jié)點(diǎn)集合。 ? W表示原子攻擊aj引發(fā)攻擊證據(jù)ol的概率。?w∈W,由二元組(n,m)表示。其中n表示由監(jiān)測(cè)系統(tǒng)所記錄的攻擊證據(jù)中元操作個(gè)數(shù),m表示由監(jiān)測(cè)系統(tǒng)所記錄的攻擊證據(jù)中元操作個(gè)數(shù)與相應(yīng)的原子攻擊中元操作個(gè)數(shù)相同的數(shù)目。以圖2所示a1和o2為例,則n(o2)=3,m(a1,o2)=2,從而w(a1,o2)= m(a1,o2)/ n(o2)=2/3。 ? Π(BAG)?{P(t)∪P(t|Pre(t))},為貝葉斯攻擊圖節(jié)點(diǎn)概率及對(duì)應(yīng)的條件概率。 ? E為關(guān)聯(lián)貝葉斯攻擊圖各類節(jié)點(diǎn)的有向邊,E?([(V0∪Vd)(A]∪[A((V0∪Vd)]∪[A(O])。 ? C為貝葉斯攻擊圖滿足的約束條件,如下: a) 對(duì)?t∈A,其父節(jié)點(diǎn)Pre(t)之間存在“與”關(guān)系,且滿足(Pre(t)?V0)((Post(t)?Vd); b) 對(duì)?t∈V,其父節(jié)點(diǎn)Pre(t)之間存在“或”關(guān)系,且滿足(?t? A)((Post(t)?A); c) 對(duì)?t∈T,Π(BAG)?{P(t)∪P(t|Pre(t))→[0,1]},滿足概率測(cè)度的規(guī)范性。 算法2貝葉斯攻擊圖生成算法(BAGA) 輸入:網(wǎng)絡(luò)初始狀態(tài)init_state。 檢測(cè)系統(tǒng)記錄的原子攻擊列表A_list,攻擊證據(jù)列表O_list,脆弱性利用信息數(shù)據(jù)庫CVEDB;攻擊者在主機(jī)host0上所需擁有的初始權(quán)限Root。 輸出:BAG=(T,W,Π,E,C)。 1. V0={MARKPLACE(Root(host0))},T←?,W←?,Π←?,E←?; 2. Queue State_queue=new Queue; 3. State_queue<-ENQueue(init_state); 4. FOR each vi∈V in init_state; 5.FOR aj∈A in A_list; 6.IF (CVEDB.Preconditions=TRUE); 7.SEARCH O_list(O_list,ol); 8.W(n,m)=COUNT(ol); 9.GRAPH.ADDEDGE{(vi,aj),(aj, ol)}; 10.ENDIF; 11.Π←Π+{P(aj),P(aj|Pre(aj))}; 12.A←A+{aj};O←O+{ol};E←E+{(vi,aj),(aj,ol)} 13.ENDFOR; 14.E←CRDA(Θ) 15.Π←Π+{P(vi) ,P(vi|Pre(vi))}; V←V+{vi}; 16. ENDFOR; 17. BAG=(V∪A∪O,E,W, Π,C); 18. RETURN BAG。 算法2給出了一個(gè)用于自動(dòng)生成貝葉斯攻擊圖的算法(BAGA)。第1~3行是初始化貝葉斯攻擊圖的過程。第1行通過調(diào)用MARKPLACE過程創(chuàng)建一個(gè)權(quán)限列表,用來表示攻擊者擁有h0主機(jī)上的root權(quán)限,并將初始BAG置為空;第2、3行通過創(chuàng)建一個(gè)網(wǎng)絡(luò)狀態(tài)隊(duì)列(第2行),并將初始狀態(tài)init_state加入該隊(duì)列(第3行),完成攻擊圖的初始化。第4~16行為一個(gè)循環(huán),用于生成節(jié)點(diǎn)T和邊E,并賦予相應(yīng)的概率值Π給各節(jié)點(diǎn)。第4行為一外層循環(huán),用于從狀態(tài)隊(duì)列中取出一種狀態(tài)節(jié)點(diǎn)。第5~13行為一內(nèi)循環(huán)。對(duì)于每個(gè)狀態(tài)節(jié)點(diǎn),遍歷A_list中各原子攻擊(第5行),符合CVEDB數(shù)據(jù)庫脆弱性利用動(dòng)作的原子攻擊(第6行),則從O_list中找出相對(duì)應(yīng)攻擊證據(jù)(第7、8行),并生成節(jié)點(diǎn)T(第11、12行)和邊E(第9行),直到init_state隊(duì)列為空。第17行將構(gòu)造的節(jié)點(diǎn)和邊添加到貝葉斯攻擊圖BAG中;第18行返回生成的貝葉斯攻擊圖BAG。 算法2能夠根據(jù)觀測(cè)到的實(shí)時(shí)攻擊證據(jù),自動(dòng)生成以原子攻擊、攻擊證據(jù)、脆弱點(diǎn)為節(jié)點(diǎn)的貝葉斯網(wǎng)絡(luò),展現(xiàn)網(wǎng)絡(luò)中存在的脆弱點(diǎn),從而及時(shí)有效地識(shí)別網(wǎng)絡(luò)中可能的脆弱點(diǎn)。 算法2生成攻擊圖時(shí),在表述方面會(huì)出現(xiàn)兩個(gè)問題:① User等攻擊權(quán)限只是原子攻擊產(chǎn)生的一個(gè)結(jié)果,附帶于脆弱點(diǎn)本身,并不能作為一個(gè)單獨(dú)節(jié)點(diǎn);② 脆弱點(diǎn)、原子攻擊和攻擊證據(jù)存在一一對(duì)應(yīng)關(guān)系,但是貝葉斯攻擊圖在命名時(shí)無法體現(xiàn)這種關(guān)系。為此,制定如下命名規(guī)則: ① 將脆弱點(diǎn)節(jié)點(diǎn)命名為“漏洞編號(hào)(脆弱點(diǎn))”。如CVE575(v1)表示脆弱點(diǎn)v1代表的漏洞為緩沖區(qū)溢出漏洞。 ② 將攻擊者獲得的權(quán)限命名為“權(quán)限級(jí)別(主機(jī)編號(hào))”。如R(H0)表示攻擊者獲得了主機(jī)Host0上的Root權(quán)限。 ③ 攻擊者權(quán)限作為單獨(dú)節(jié)點(diǎn)在攻擊圖中顯示,并命名為“權(quán)限級(jí)別(主機(jī)編號(hào))_原子攻擊_漏洞編號(hào)(脆弱點(diǎn))”,表示對(duì)脆弱點(diǎn)發(fā)動(dòng)原子攻擊時(shí),獲得了該權(quán)限。如R(H0)_a2_ CVE575(v1)表示攻擊者利用緩沖區(qū)溢出漏洞獲得了host0主機(jī)的Root權(quán)限后,對(duì)下一個(gè)脆弱點(diǎn)發(fā)動(dòng)a2攻擊。 ④ 將攻擊證據(jù)節(jié)點(diǎn)命名為“原子攻擊_脆弱點(diǎn)_攻擊證據(jù)”,表示對(duì)脆弱點(diǎn)發(fā)動(dòng)攻擊時(shí)產(chǎn)生了攻擊證據(jù)。如a2_ v1_o1原子攻擊a2攻擊目的主機(jī)緩沖區(qū)溢出漏洞時(shí),產(chǎn)生了攻擊證據(jù)o1。 4脆弱性威脅評(píng)估 考慮到成本因素以及脆弱點(diǎn)在目標(biāo)系統(tǒng)中嚴(yán)重程度不同,我們必須有針對(duì)性地對(duì)那些嚴(yán)重威脅系統(tǒng)安全的脆弱點(diǎn)進(jìn)行優(yōu)先處置?;谶@一考慮,本節(jié)首先給出了脆弱點(diǎn)威脅度的定義以及計(jì)算威脅度所需的基礎(chǔ)數(shù)據(jù),然后給出了在此基礎(chǔ)上的威脅度模型,以量化脆弱點(diǎn)的嚴(yán)重程度。 4.1基礎(chǔ)數(shù)據(jù)的獲取 定義7脆弱點(diǎn)威脅度指從指定貝葉斯攻擊圖脆弱點(diǎn)集合V到概率區(qū)間[0,1]的一個(gè)映射p: V→[0,1],用來度量攻擊者利用脆弱點(diǎn)獲得目標(biāo)主機(jī)權(quán)限的級(jí)別。威脅度越大,所獲得權(quán)限級(jí)別越高,從而該脆弱點(diǎn)的威脅程度越嚴(yán)重。 貝葉斯攻擊圖BAG=(T,W,Π,E,C)能夠評(píng)估目標(biāo)網(wǎng)絡(luò)脆弱點(diǎn)的嚴(yán)重程度,為了確定?vi∈V的威脅度,必須首先獲取原子攻擊節(jié)點(diǎn)aj∈A的自身概率s(aj)和脆弱點(diǎn)節(jié)點(diǎn)自身概率s(vi)。 對(duì)于原子攻擊節(jié)點(diǎn),自身概率s(aj)取自CVSS基本評(píng)價(jià)分值中“AccessComplexity”屬性值,它表征脆弱點(diǎn)被利用的復(fù)雜程度,具體取值如表2所示。 表2 CVSS基本評(píng)價(jià)分值 對(duì)于脆弱點(diǎn)節(jié)點(diǎn),由于其本身不存在是否被執(zhí)行成功的難易程度,因此設(shè)定其自身概率s(vi)為1.0(也可以為0~1.0中的任何固定數(shù)值)。 4.2脆弱點(diǎn)威脅度的層次化 通常情況下,貝葉斯網(wǎng)絡(luò)節(jié)點(diǎn)概率只和該節(jié)點(diǎn)的父節(jié)點(diǎn)及自身相關(guān)聯(lián)。假設(shè)貝葉斯網(wǎng)絡(luò)中節(jié)點(diǎn)t,其父節(jié)點(diǎn)pr(t)集合包含k個(gè)相互獨(dú)立的節(jié)點(diǎn),用節(jié)點(diǎn)數(shù)組d[i]表示(1≤i≤k)表示。依據(jù)貝葉斯理論: P(t)=P(t|pr(t))=P(t|pr(t),pr(t)→t) (6) 考慮到pr(t)中各元素之間的“或”或“與”關(guān)系,節(jié)點(diǎn)t的計(jì)算公式如下: ①pr(t)中各元素之間關(guān)系為“或”時(shí): (7) ②pr(t)中各元素之間關(guān)聯(lián)關(guān)系為“與”時(shí): (8) 由于貝葉斯攻擊圖節(jié)點(diǎn)之間存在關(guān)聯(lián)性,并不能由基礎(chǔ)數(shù)據(jù)直接得到脆弱點(diǎn)威脅度。以圖5為例,a為不考慮攻擊證據(jù)時(shí)節(jié)點(diǎn)a1條件概率,b為考慮攻擊證據(jù)時(shí)節(jié)點(diǎn)a1條件概率,其中p(v1)、p(v2)、p(o1,o2|a1)分別為0.6,0.7,0.5。從而a中p(a1)=p(a1|v1,v2)=0.42,b中p(a1)=p(a1|v1,v2,o1,o2)=0.21。 圖5 貝葉斯攻擊圖條件概率計(jì)算示例 上述計(jì)算結(jié)果表明,攻擊證據(jù)的存在改變了原子攻擊節(jié)點(diǎn)的信度。這種改變影響了脆弱點(diǎn)威脅度的計(jì)算。之所以出現(xiàn)這種情況,其原因在于貝葉斯網(wǎng)絡(luò)中攻擊證據(jù)和原子攻擊具有一定的關(guān)聯(lián)性,對(duì)一些變量的了解會(huì)對(duì)另一些變量的信度產(chǎn)生影響。為此,我們給出各節(jié)點(diǎn)概率分布的數(shù)學(xué)模型。 定義8對(duì)于?t∈T(BAG)來說,節(jié)點(diǎn)變量t的節(jié)點(diǎn)概率p(t)為: (1) 如果t節(jié)點(diǎn)為根節(jié)點(diǎn)(t為初始狀態(tài)節(jié)點(diǎn)),則p(t)=1.0。 (2) 如果t節(jié)點(diǎn)為非根節(jié)點(diǎn),其有k個(gè)相互獨(dú)立的父節(jié)點(diǎn),用節(jié)點(diǎn)數(shù)組d[i]表示(1≤i≤k),則: ① 如果t∈A且其產(chǎn)生的攻擊證據(jù)為ol,則: (9) ② 如果t∈ V0∪Vd,則: (10) 攻擊者對(duì)目標(biāo)節(jié)點(diǎn)的攻擊,并不會(huì)同時(shí)沿所有路徑實(shí)施,被管理員發(fā)現(xiàn)的風(fēng)險(xiǎn)和網(wǎng)絡(luò)犯罪成本等因素決定了攻擊者最終會(huì)通過選擇擁有最大成功率的路徑到達(dá)目標(biāo)節(jié)點(diǎn)。根據(jù)定義5和定義7,我們給出下面的脆弱點(diǎn)威脅度模型。 5實(shí)驗(yàn)設(shè)計(jì)與分析 5.1實(shí)驗(yàn)網(wǎng)絡(luò)配置 為驗(yàn)證本文所提方法的有效性,設(shè)計(jì)了模擬網(wǎng)絡(luò)圖6。實(shí)驗(yàn)網(wǎng)絡(luò)以信任域邊界處防火墻Firewall1為界,分為內(nèi)部網(wǎng)絡(luò)和可訪問互聯(lián)網(wǎng)的外部網(wǎng)絡(luò)。其中內(nèi)部網(wǎng)絡(luò)由M1、M2、M3 3個(gè)安全區(qū)域構(gòu)成,各區(qū)域通過防火墻與其它區(qū)域相隔離外部網(wǎng)絡(luò)由互聯(lián)網(wǎng)和位于其邊界處的攻擊主機(jī)構(gòu)成。攻擊主機(jī)Attacker通過Internet訪問內(nèi)部網(wǎng)絡(luò)。 圖6 實(shí)驗(yàn)網(wǎng)絡(luò)拓?fù)鋱D 內(nèi)部網(wǎng)絡(luò)中,M1區(qū)域設(shè)置有Mail服務(wù)器、Web服務(wù)器和DNS服務(wù)器,分別提供SMTP、HTTP和DNS服務(wù);M2區(qū)域設(shè)置有負(fù)責(zé)提供SQL服務(wù)的SQL服務(wù)器和用于數(shù)據(jù)備份的DATA數(shù)據(jù)庫,同時(shí)該區(qū)域還設(shè)置有一臺(tái)目標(biāo)主機(jī)Host0,用于存儲(chǔ)有重要數(shù)據(jù),并開放FTP和SSH服務(wù);M3區(qū)域中,設(shè)置有一臺(tái)Administrative服務(wù)器,負(fù)責(zé)向用戶提供一般管理服務(wù),兩臺(tái)普通用戶主機(jī)Host1、Host2。 主機(jī)Attacker首先通過Host1 和Host2的HTTP和DNS服務(wù)訪問內(nèi)部網(wǎng)絡(luò),并獲得權(quán)限;然后通過Host1 和Host2獲得M1區(qū)域的Mail服務(wù)器、Web服務(wù)器等訪問權(quán)限;最后通過獲得的M1以及M3區(qū)域的權(quán)限去獲得SQL服務(wù)器的訪問權(quán)限;并最終通過SQL獲得DATA數(shù)據(jù)庫的訪問權(quán)限,竊取存儲(chǔ)于Host0的重要資料。因此,各主機(jī)訪問策略設(shè)置如下:Firewall1只允許外部網(wǎng)絡(luò)主機(jī)Attacker訪問Host1 和Host2的HTTP和DNS服務(wù);普通用戶主機(jī)Host1 和Host2只允許訪問M1區(qū)域相關(guān)服務(wù); M1區(qū)域服務(wù)器只允許訪問M2區(qū)域的SQL服務(wù);M2區(qū)域的服務(wù)器和主機(jī)可以訪問任意主機(jī)。 5.2實(shí)驗(yàn)結(jié)果與分析 試驗(yàn)網(wǎng)絡(luò)中各主機(jī)漏洞及漏洞信息如表3所示,依據(jù)算法2生成的貝葉斯攻擊如圖7所示。 表3 實(shí)驗(yàn)網(wǎng)絡(luò)各主機(jī)漏洞信息 圖7 貝葉斯攻擊圖 部署在Switch鏡像端口的入侵檢測(cè)系統(tǒng),可以檢測(cè)網(wǎng)絡(luò)中的攻擊行為,分析攻擊行為給目標(biāo)網(wǎng)絡(luò)系統(tǒng)帶來的安全威脅,即攻擊者可能獲得的影響網(wǎng)絡(luò)節(jié)點(diǎn)安全屬性的目的主機(jī)權(quán)限。隨著網(wǎng)絡(luò)節(jié)點(diǎn)遭受的攻擊不斷增多,攻擊者權(quán)限不斷提升。為了分析不同脆弱點(diǎn)的嚴(yán)重程度,本文在實(shí)驗(yàn)過程中引入了表4所示參數(shù),保證了在每次測(cè)試過程中,對(duì)實(shí)驗(yàn)測(cè)試參數(shù)均不相同。 表4 實(shí)驗(yàn)測(cè)試參數(shù) ? 原子攻擊次數(shù),指每次實(shí)驗(yàn)過程中由入侵檢測(cè)系統(tǒng)檢測(cè)到的攻擊行為次數(shù)。 ? 攻擊比率qR指攻擊者為獲得目的主機(jī)Root權(quán)限而實(shí)施的攻擊行為與原子攻擊次數(shù)的比,即qR=n(Root)/[n(Root)+ n(User)+ n(None)],從而其威脅度區(qū)間為[qU+qN, qU+qN+qR],即目的主機(jī)脆弱點(diǎn)威脅度pmax∈[qU+qN, qU+qN+qR]時(shí),才能威脅目的主機(jī)的Root權(quán)限。同樣地,地可以定義qU、qN及相應(yīng)的威脅度區(qū)間。 圖8顯示了目標(biāo)系統(tǒng)中各脆弱點(diǎn)嚴(yán)重程度的評(píng)估結(jié)果。圖中,攻擊比率qR、qU、qN分別由A、B、C三線表示,它們表示各級(jí)別權(quán)限的威脅度界限。如qR和qU表示Root權(quán)限的界限,威脅度介于它們之間的脆弱點(diǎn)將會(huì)對(duì)目的主機(jī)的Root權(quán)限產(chǎn)生威脅;威脅度由D曲線表示。 圖8 系統(tǒng)各脆弱點(diǎn)的嚴(yán)重程度 圖8中,D曲線表示的脆弱點(diǎn)威脅度曲線上,威脅度位于區(qū)間[ qU, qR]的脆弱點(diǎn)為v1、v2、v6。同樣地,威脅度位于區(qū)間[ qN, qU]和[ 0, qN]的脆弱點(diǎn)分別為v3、v5和v4。通過分析,我們得到如下評(píng)估結(jié)果:(1) 脆弱點(diǎn)v1、v2、v6的存在將會(huì)對(duì)目的主機(jī)的Root權(quán)限產(chǎn)生威脅,脆弱點(diǎn)v3、v5的存在將會(huì)對(duì)目的主機(jī)的User權(quán)限產(chǎn)生威脅;(2) 縱向?qū)Ρ龋垂粽呃么嗳觞c(diǎn)獲得的權(quán)限級(jí)別不同時(shí),各脆弱點(diǎn)威脅的嚴(yán)重程度對(duì)比:v1、v2、v6的安全威脅較v3、v5嚴(yán)重,v3、v5的安全威脅較v4嚴(yán)重;(3) 橫向?qū)Ρ?即攻擊者利用脆弱點(diǎn)獲得的權(quán)限級(jí)別相同時(shí),各脆弱點(diǎn)威脅的嚴(yán)重程度對(duì)比:威脅Root權(quán)限的脆弱點(diǎn)的嚴(yán)重程度由大到小依次為:v1、v6、v2,威脅User權(quán)限的脆弱點(diǎn)的嚴(yán)重程度由大到小依次為: v3、v5。由此,我們得到目標(biāo)系統(tǒng)各脆弱點(diǎn)的處置順序優(yōu)先級(jí)依次為:v1、v2、v6、v3、v5、v4。 圖9顯示了系統(tǒng)遭受到的原子攻擊次數(shù)不同時(shí),網(wǎng)絡(luò)系統(tǒng)整體安全態(tài)勢(shì)的評(píng)估結(jié)果。圖中曲線B表示Host0作為目的主機(jī)時(shí),網(wǎng)絡(luò)節(jié)點(diǎn)v6的威脅度隨原子攻擊次數(shù)變化而出現(xiàn)的變化;曲線A表示Host0作為非目的主機(jī)時(shí),網(wǎng)絡(luò)節(jié)點(diǎn)v6的威脅度隨原子攻擊次數(shù)變化而出現(xiàn)的變化。 圖9 網(wǎng)絡(luò)整體安全態(tài)勢(shì)評(píng)估 圖9中的A曲線顯示,隨著原子攻擊的增多,脆弱點(diǎn)v6的威脅度首先呈增大趨勢(shì),最終趨于穩(wěn)定。這表明,對(duì)于非目的主機(jī),攻擊者在達(dá)到目的后,并未試圖去獲得更高的攻擊權(quán)限。因此,此種情況下,網(wǎng)絡(luò)系統(tǒng)的整體安全威脅將逐漸增加,并最終趨于穩(wěn)定。B曲線顯示,隨著原子攻擊的增強(qiáng),脆弱點(diǎn)v6的威脅度持續(xù)增大,并達(dá)到警戒閾值。這表明,目的主機(jī)被攻擊者獲取最高權(quán)限的威脅始終存在。因此,我們可以分析脆弱點(diǎn)威脅度,并設(shè)立警戒閾值,實(shí)現(xiàn)對(duì)系統(tǒng)的預(yù)警,隨時(shí)提醒管理人員做出明確的決策。 對(duì)比文獻(xiàn)[9],本文所提方法不僅實(shí)現(xiàn)了對(duì)脆弱點(diǎn)嚴(yán)重程度的評(píng)估,而且將處置重點(diǎn)集中于那些能夠被用來獲得更高級(jí)別權(quán)限的脆弱點(diǎn)。因而,在重點(diǎn)分析和優(yōu)先處置脆弱點(diǎn)威脅方面,更有針對(duì)性。同時(shí),通過展示脆弱點(diǎn)隨原子攻擊不同而對(duì)網(wǎng)絡(luò)整體安全產(chǎn)生的威脅的變化,實(shí)現(xiàn)了對(duì)網(wǎng)絡(luò)整體安全態(tài)勢(shì)的有效評(píng)估。從而相較于文獻(xiàn)[9,16,17],有效地實(shí)現(xiàn)了對(duì)評(píng)估系統(tǒng)整體安全性和脆弱點(diǎn)的嚴(yán)重程度的兼顧評(píng)估。 6結(jié)語 為解決系統(tǒng)整體安全和目標(biāo)網(wǎng)絡(luò)中脆弱點(diǎn)嚴(yán)重程度的兼顧評(píng)估問題,本文提出了一種層次化脆弱點(diǎn)威脅度的分析方法。圍繞該方法,本文建立了貝葉斯攻擊圖模型,定義了脆弱點(diǎn)威脅度及其數(shù)學(xué)模型,同時(shí)提出了CRDA因果關(guān)系檢測(cè)算法和BAGA貝葉斯攻擊圖生成算法。通過從基本操作角度分析原子攻擊和攻擊證據(jù)的關(guān)聯(lián)性,增強(qiáng)了對(duì)二者因果關(guān)系的理解,并有助于有效處理評(píng)估過程中不確定性信息。通過改進(jìn)文獻(xiàn)[9] 的建模方法而得到的BAGA算法,克服了攻擊圖生成算法存在的循環(huán)路徑問題,能用于貝葉斯網(wǎng)絡(luò)建模以及脆弱點(diǎn)及時(shí)有效地識(shí)別。通過計(jì)算威脅度,本文將脆弱點(diǎn)威脅劃分為不同層次,實(shí)現(xiàn)了其嚴(yán)重程度評(píng)估。通過分析實(shí)驗(yàn)結(jié)果,本文提出的方法有效地解決了系統(tǒng)整體安全性和脆弱點(diǎn)嚴(yán)重程度的兼顧評(píng)估問題。 參考文獻(xiàn) [1] 陳鋒,張怡,蘇金樹,等.攻擊圖的兩種形式化分析[J].軟件學(xué)報(bào),2010,21(4):838-848. [2] 葉云,徐錫山,賈焰,等.基于攻擊圖的網(wǎng)絡(luò)安全概率計(jì)算方法[J].計(jì)算機(jī)學(xué)報(bào),2010,33(10):1987-1996. [3] Frigault M,Wang L,Singhal A,et al.Measuring network security using dynamic bayesian network[C]//Proceedings of the 4th ACM workshop on Quality of protection.ACM,2008:23-30. [4] Frigault M,Wang L.Measuring network security using Bayesian network-based attack graphs[C]//Proceedings of the 3rd IEEE International workshop on Security,Trust,and Privacy for Software Applications,2008:698-703. [5] Saha D.Extending logical attack graphs for efficient vulnerability analysis[C]//Proceedings of the 15th ACM conference on Computer and communications security.ACM,2008:63-74. [6] Ahmed M S,AlShaer E,Khan L.A novel quantitative approach for measuring network security[C]//Proceedings of the 27th Conference on Computer Communications.INFOCOM,2008:13-18. [7] Williams L,Lippmann R,Ingols K.Garnet: A graphical attack graph and reachability network evaluation tool[C]//Proceedings of the 5th International Workshop on Visualization for Cyber Security.VizSEC,2008:44-59. [8] Homer J,Ou X,Schmidt D.A sound and practical approach to quantifying security risk in enterprise networks[R].Kansas State University Technical Report,2009. [9] 吳迪,連一峰,陳愷,等.一種基于攻擊圖的安全威脅識(shí)別與分析方法[J].計(jì)算機(jī)學(xué)報(bào),2012,35(9):1938-1950. [10] Changhe Yuan,Malone B.Learning optimal bayesian networks:a shortest path perspective[J].Journal of Artificial Intelligence Research,2013,48(1):23-65. [11] Silander T,Roos T,Myllym?ki P.Learning locally minimax optimal Bayesian networks[J].International Journal of Approximate Reasoning,2010,51 (5):544-557. [12] 陳鋒,毛捍東,張維明,等.攻擊圖技術(shù)研究進(jìn)展[J].計(jì)算機(jī)科學(xué),2011,38(11):12-18. [13] Mell P,Scarfone K,Romanosky S.A complete guide to the common vulnerability scoring system version 2.0[C]//Proceedings of the Forum of Incident Response and Security Teams.FIRST,2007:1-23. [14] 韋勇,連一峰.基于日志審計(jì)與性能修正算法的網(wǎng)絡(luò)安全態(tài)勢(shì)評(píng)估模型[J].計(jì)算機(jī)學(xué)報(bào),2009,32(4):763-772. [15] 葉云,徐錫山,齊治昌.大規(guī)模網(wǎng)絡(luò)中攻擊圖的節(jié)點(diǎn)概率計(jì)算方法[J].計(jì)算機(jī)應(yīng)用與軟件,2011,28(11):136-139,192. [16] Poolsappasit N,Dewri R,Ray I.Dynamic security risk management using bayesian attack graphs[J].Dependable and Secure Computing,IEEE Transactions on,2012,9(1):61-74. [17] Ou X,Singhal A.Security Risk Analysis of Enterprise Networks Using Attack Graphs[C]//Proceedings of the /Quantitative Security Risk Assessment of Enterprise Networks.Springer New York,2011:13-23. 收稿日期:2015-01-24。國(guó)家自然科學(xué)基金項(xiàng)目(61300216);教育部博士點(diǎn)基金項(xiàng)目(20124116120004);河南省教育廳科學(xué)技術(shù)研究重點(diǎn)項(xiàng)目(13A510325)。王輝,副教授,主研領(lǐng)域:網(wǎng)絡(luò)信息安全。王云峰,碩士生。閆璽璽,講師。 中圖分類號(hào)TP393.08 文獻(xiàn)標(biāo)識(shí)碼A DOI:10.3969/j.issn.1000-386x.2016.07.065 HTV ANALYSIS METHOD FOR HIERARCHICAL THREATS DEGREE USING BAYESIAN ATTACK GRAPH Wang HuiWang YunfengYan Xixi (SchoolofComputerScienceandTechnology,HenanPolytechnicUniversity,Jiaozuo454000,Henan,China) AbstractExisting vulnerability analysis approach is hard to assess both the overall security of target systems and the severity of their vulnerabilities, meanwhile the assessment process has to deal with a great number of undetermined information. Therefore, we proposed a HTV method for the hierarchical threats degree. First, by analysing the correlation between atomic attack and attack evidence, we presented a causation detection algorithm named CRDA to determine the causation between them. Then, based on the system architecture of attack model, we suggested the definition of Bayesian attack graph (BAG) and proposed its corresponding generation algorithm BAGA to timely and effectively identify the vulnerabilities. Finally, we presented the definition of vulnerability threats degree and its calculation model, and divided threats degree into different levels according to the benchmark of the privilege of vulnerabilities the attackers obtained so as to effectively assess their severity and the overall security of the target systems. Experimental results showed that the proposed method is provably feasible and effective in evaluating both the overall security of the target systems and the severity of vulnerabilities. KeywordsBayesian attack graphAttack modelCausationThreat degree of vulnerability