羅智勇,楊旭,孫廣路,謝志強(qiáng),劉嘉輝
(哈爾濱理工大學(xué)計算機(jī)科學(xué)與技術(shù)學(xué)院,黑龍江 哈爾濱 150080)
區(qū)域網(wǎng)的基礎(chǔ)設(shè)施通常由大量相互依賴的系統(tǒng)節(jié)點組成,這使網(wǎng)絡(luò)具有一定的開放性,也使網(wǎng)絡(luò)的入侵變得更加容易且具有隱蔽性[1]。日益復(fù)雜的網(wǎng)絡(luò)攻擊通常遵循一系列長期步驟和行動,被稱為多階段攻擊,因此很難預(yù)測[2]。所以除了在防火墻和訪問控制機(jī)制等軟件系統(tǒng)中使用傳統(tǒng)的安全解決方案外,現(xiàn)代網(wǎng)絡(luò)還需要使用入侵容忍技術(shù)。作為第三代網(wǎng)絡(luò)安全保障技術(shù),入侵容忍融合了容錯技術(shù)和加密技術(shù)[3],在攻擊無法被避免的情況下,系統(tǒng)針對受損情況的不同采取不同的響應(yīng)策略,通過降級服務(wù)爭取分析時間,一邊學(xué)習(xí)一邊提供網(wǎng)絡(luò)服務(wù),最終保證系統(tǒng)的穩(wěn)定運(yùn)行。在現(xiàn)有入侵容忍系統(tǒng)的文獻(xiàn)中,普遍采用定量分析法來形式化服務(wù)器系統(tǒng)的各個安全屬性,通過建模進(jìn)一步尋找系統(tǒng)潛在的弱點,針對這些弱點制定不同的應(yīng)對策略,讓系統(tǒng)提供降級服務(wù)增強(qiáng)容忍能力及自我修正能力,進(jìn)而達(dá)到延長系統(tǒng)平穩(wěn)運(yùn)行時間的目的[4]。
邢云菲等[5]根據(jù)入侵容忍系統(tǒng)的狀態(tài)轉(zhuǎn)移模型的定量分析以及各狀態(tài)下的概率計算,結(jié)合系統(tǒng)遭到入侵之后所采取的進(jìn)程遷移策略,建立了一種比較完善的入侵容忍網(wǎng)絡(luò)系統(tǒng)。劉進(jìn)[6]基于高分子鏈病毒優(yōu)化分析方法,將入侵容忍系統(tǒng)狀態(tài)數(shù)據(jù)和線性規(guī)劃技術(shù)相融合,提出了入侵容忍系統(tǒng)病毒吸附算法。徐曉斌等[7]為了實現(xiàn)對某一單個節(jié)點數(shù)據(jù)的信任評估,設(shè)計了一種異常數(shù)據(jù)過濾方法,其原理是基于節(jié)點數(shù)據(jù)的時空相關(guān)性,將定量數(shù)據(jù)和定性知識做不確定性轉(zhuǎn)換,進(jìn)而提升系統(tǒng)的入侵容忍能力。孫蔚[8]將網(wǎng)絡(luò)管理系統(tǒng)和入侵檢測系統(tǒng)相結(jié)合,提出了一種包含檢測、報告和響應(yīng)等多種功能的層次化入侵檢測模型。國外眾多研究者提出隱馬爾可夫入侵檢測模型,如Divya 等[9]將遺傳算法和隱馬爾可夫模型相結(jié)合,利用遺傳算法推導(dǎo)出有效的入侵檢測規(guī)則,然后使用隱馬爾可夫模型來預(yù)測攻擊者的下一個攻擊類,對攻擊進(jìn)行精確檢測。Kholidy等[10]提出了一種有限狀態(tài)隱馬爾可夫預(yù)測模型,該模型采用自適應(yīng)風(fēng)險方法預(yù)測多階段云攻擊。風(fēng)險模型考慮到威脅的發(fā)生概率,衡量威脅對系統(tǒng)的潛在影響,將攻擊預(yù)測模型與自主云入侵檢測框架相集成,攻擊來臨前對控制器發(fā)出早期預(yù)警,進(jìn)而在攻擊對系統(tǒng)構(gòu)成嚴(yán)重安全風(fēng)險之前采取主動的糾正行動。Holgado 等[11]和Ahmadian 等[12]所述模型在分析輸入輸出關(guān)系和基于訓(xùn)練數(shù)據(jù)集生成轉(zhuǎn)移概率矩陣方面具有易處理的數(shù)學(xué)形式。它通過狀態(tài)之間的轉(zhuǎn)移概率來處理順序數(shù)據(jù),以此來跟蹤多階段攻擊的進(jìn)度。
上述研究建立了不同的入侵容忍模型,但是通常建模復(fù)雜,計算量大,處理入侵行為耗時長。且當(dāng)入侵行為發(fā)生時,上述模型的解決辦法多為檢測當(dāng)前入侵行為,預(yù)測下一步攻擊,面對當(dāng)前模型無法預(yù)測的更加復(fù)雜的入侵,并不能保證系統(tǒng)的入侵容忍能力,當(dāng)系統(tǒng)因為入侵完全失控時,模型中也沒有給出相應(yīng)的解決辦法。本文基于馬爾可夫理論,提出一種優(yōu)化的有限自動機(jī)入侵容忍模型,主要工作及創(chuàng)新如下。
1)建立了優(yōu)化的入侵容忍模型,并在模型中增加了學(xué)習(xí)狀態(tài),系統(tǒng)在遭受攻擊后可以不斷改進(jìn),增強(qiáng)自身穩(wěn)定性。
2)利用馬爾可夫過程(MP,Markov process)模型參數(shù)求解算法,得到系統(tǒng)在不同狀態(tài)下的平均損壞時間(ADT,average damage time)。
3)通過分析容忍系統(tǒng),找出ADT 關(guān)鍵節(jié)點,維護(hù)這些關(guān)鍵節(jié)點,達(dá)到增強(qiáng)系統(tǒng)可用性和可靠性的目的。
4)分析不同入侵因素對系統(tǒng)容忍能力的影響,提出增強(qiáng)系統(tǒng)容忍能力的解決辦法。
俄國數(shù)學(xué)家馬爾可夫于1907 年提出了馬爾可夫模型(Markov model)[13]。設(shè)X(t)為一個隨機(jī)過程,如果該隨機(jī)過程X(t)在某一時刻t0的狀態(tài)已知,則之后任意時刻t(t>t0)所表現(xiàn)的狀態(tài)與X(t)在t0時刻之前的狀態(tài)無關(guān),那么稱X(t)具有無后效性,具有無后效性的隨機(jī)過程就是馬爾可夫過程。馬爾可夫過程中狀態(tài)和時間既可以是離散的,也可以是非離散的。狀態(tài)離散、時間離散的馬爾可夫過程稱為馬爾可夫鏈。馬爾可夫鏈中,各個時刻狀態(tài)之間的轉(zhuǎn)移由狀態(tài)轉(zhuǎn)移的概率矩陣P來控制。
馬爾可夫模型可以表示為λ={S,P,G},其中λ為模型名,其余參數(shù)含義如下。
1)S是系統(tǒng)的狀態(tài)空間,是由系統(tǒng)所有可能狀態(tài)所組成的非空的狀態(tài)集。
3)G=[g1,g2,g3,…,gn]是系統(tǒng)的初始概率分布矩陣,gi表示系統(tǒng)在初始時刻處于狀態(tài)i的概率,且滿足約束
對于0≤p ij(t,t+k)≤1,i,j∈S,當(dāng)k=1 時,稱pij(t,t+1)=pij(1)為時刻t的一步狀態(tài)轉(zhuǎn)移概率。
通常,使用馬爾可夫鏈進(jìn)行預(yù)測是在當(dāng)前狀態(tài)已知的情況下,通過確定一步轉(zhuǎn)移概率矩陣P(即k=1),得到下一狀態(tài)的概率分布,得到的概率值越大,則下一步處于該狀態(tài)的可能性越大。
由于容忍系統(tǒng)可以保護(hù)的對象是多樣性的,因此每個容忍系統(tǒng)的目標(biāo)設(shè)定采用的整體框架、實現(xiàn)系統(tǒng)的安全算法都不盡相同。本文為了表現(xiàn)出入侵容忍系統(tǒng)在不同狀態(tài)的抽象行為,創(chuàng)建了優(yōu)化的系統(tǒng)狀態(tài)轉(zhuǎn)移模型(SSTM,system state transition model),其結(jié)構(gòu)如圖1 所示。
圖1 系統(tǒng)狀態(tài)轉(zhuǎn)移模型
SSTM描述了多數(shù)容忍系統(tǒng)在遭受入侵后可能處于的狀態(tài)和在不同狀態(tài)下的處理方式,即系統(tǒng)中可能發(fā)生的事件。模型中各狀態(tài)的轉(zhuǎn)換方式如下。
步驟1開始系統(tǒng)處于正常運(yùn)行(NO,normal operation)狀態(tài)。
步驟2當(dāng)系統(tǒng)中存在的弱點被入侵者檢測到并利用時,系統(tǒng)處于危險運(yùn)行(DO,dangerous operation)狀態(tài)。
步驟3如果系統(tǒng)發(fā)現(xiàn)自身弱點并及時修復(fù)了該弱點,則系統(tǒng)回歸正常運(yùn)行。
步驟4如果入侵者成功入侵了系統(tǒng),則系統(tǒng)處于被入侵(BA,being attacked)狀態(tài)。
步驟5若系統(tǒng)可以避免入侵造成的損害,則系統(tǒng)處于避免損害(AD,avoid damage)狀態(tài)。
步驟6這時,系統(tǒng)將進(jìn)入等待改進(jìn)(WI,waiting for improving)狀態(tài)。
步驟7若系統(tǒng)沒有檢測到入侵,也未觸發(fā)容忍系統(tǒng),則系統(tǒng)處于未發(fā)現(xiàn)威脅(UD,unknown damage)狀態(tài)。
步驟8若入侵對系統(tǒng)造成了損害但是系統(tǒng)成功觸發(fā)有限自動機(jī)系統(tǒng),則系統(tǒng)進(jìn)入零容忍(ZT,zero tolerance)狀態(tài)。
步驟9此時,系統(tǒng)將評估當(dāng)前所受損害及運(yùn)行狀態(tài),若系統(tǒng)可以降低服務(wù)等級繼續(xù)運(yùn)行,則系統(tǒng)處于降低服務(wù)等級(RS,reduce the service)狀態(tài)。
步驟10若評估后發(fā)現(xiàn)系統(tǒng)不能繼續(xù)運(yùn)行,則系統(tǒng)處于停止服務(wù)(SS,stop the service)狀態(tài)。無論是處于RS 狀態(tài)還是處于SS 狀態(tài),系統(tǒng)都將進(jìn)入WI 狀態(tài),等待改進(jìn)。
步驟11若系統(tǒng)受到入侵后,完全失去控制,則系統(tǒng)處于失控(CC,can’t be control)狀態(tài),這時系統(tǒng)需要管理員修復(fù)或改進(jìn)后才能繼續(xù)運(yùn)行。
SSTM 根據(jù)入侵受損情況被劃分為若干狀態(tài)等級,當(dāng)系統(tǒng)與已知狀態(tài)相似,則可以使用該狀態(tài)轉(zhuǎn)移模型進(jìn)行處理。由于各狀態(tài)之間的轉(zhuǎn)換不受前一狀態(tài)的影響,符合馬爾可夫過程。因此,可以采用馬爾可夫?qū)δP瓦M(jìn)行分析。
有限自動機(jī)是一種控制狀態(tài)有限、符號集有限的自動機(jī),分為確定有限自動機(jī)和非確定有限自動機(jī)。
如圖1 所示,隨著入侵容忍系統(tǒng)的運(yùn)行,系統(tǒng)從一個狀態(tài)轉(zhuǎn)換為另一個狀態(tài),這些狀態(tài)可能為健康狀態(tài),也可能為帶病工作狀態(tài),不同的系統(tǒng)狀態(tài)代表不同的含義。某一時刻,均存在某種確定的狀態(tài)與系統(tǒng)相對應(yīng),系統(tǒng)無論如何運(yùn)行最終均將處于終止?fàn)顟B(tài),因此系統(tǒng)的狀態(tài)是有限的,故可用有限自動機(jī)對容忍系統(tǒng)進(jìn)行描述。又由于容忍系統(tǒng)具有非確定有限自動機(jī)的特點,即在給定狀態(tài)和符號的情況下,不能唯一地確定下一個狀態(tài)。所以,本文采用非確定有限自動機(jī)理論來研究容忍系統(tǒng)的形式化描述方法。
定義1一個非確定有限自動機(jī)NDFSA 是一個五元組,即NDFSA=(Sspace,Σ,Map,N0,ND),各元素定義如下。
Sspace是一個非空有限狀態(tài)空間,它的每個元素稱為一個狀態(tài)。
Σ是一個非空有限輸入字母表,它的每個元素稱為一個輸入字符。
Map 是映射函數(shù),可表示為SspaceΣ→Sspace的子集,即Map 是一個多值映射,若當(dāng)自動機(jī)處于狀態(tài)s,并輸入字符δ后,系統(tǒng)轉(zhuǎn)換到狀態(tài)s′,則表示為:Map(s,δ)=s′。
N0?Sspace是非空初始狀態(tài)集。
ND?Sspace是Sspace終止?fàn)顟B(tài)集,可取空值。
根據(jù)圖1,可以將容忍系統(tǒng)模型抽象為非確定性有限自動機(jī)NDFSA=(Sspace,Σ,Map,N0,ND),其中Sspace={NO,DO,BA,AD,UD,WI,ZT,RS,SS,CC} ;Σ={0,1,τ},1 和0 分別表示容忍系統(tǒng)安全策略的成功和失敗,τ表示空移;N0={N};ND={N}。
映射Map:SspaceΣ→Sspace為
該容忍系統(tǒng)模型的非確定有限自動機(jī)狀態(tài)轉(zhuǎn)換表如表1 所示?;趫D1 的系統(tǒng)狀態(tài)轉(zhuǎn)移模型,建立該容忍系統(tǒng)模型的非確定有限自動機(jī)狀態(tài)轉(zhuǎn)換模型,如圖2 所示。圖2 反映了入侵容忍系統(tǒng)不同狀態(tài)之間的動態(tài)轉(zhuǎn)換框架,狀態(tài)轉(zhuǎn)換模型表現(xiàn)了系統(tǒng)遭受的入侵行為和系統(tǒng)實際安全需求二者之間的相應(yīng)措施。
表1 容忍系統(tǒng)的非確定有限自動機(jī)狀態(tài)轉(zhuǎn)換表
圖2 容忍系統(tǒng)非確定有限自動機(jī)狀態(tài)轉(zhuǎn)換模型
由于圖2 所示的有限自動機(jī)容忍系統(tǒng)的狀態(tài)空間 為Sspace= {NO,DO,BA,AD,UD,WI,ZT,RS,SS,CC},且轉(zhuǎn)換狀態(tài)滿足馬爾可夫過程,因此可以將其量化,并使用馬爾可夫理論對有限自動機(jī)容忍模型進(jìn)行分析,該模型被稱之為MP 模型。
定義2MPSTP(Markov process state transition probability)矩陣是指結(jié)合馬爾可夫過程,在離散的時間點將狀態(tài)空間中各節(jié)點一次轉(zhuǎn)換成下一狀態(tài)的概率值組成一個矩陣,則該矩陣稱為MPSTP 矩陣,用P表示。
使用概率符號Pn、Pnd、Pdb、Pbs、Pbu、Paw、Pun、P1、P2、Pzr、Pzs、Prw、Psw、P3、Pwn、Pcn表示各狀態(tài)之間的一次轉(zhuǎn)換概率,其含義如表2 所示。
將狀態(tài)空間中各節(jié)點一次轉(zhuǎn)換成下一狀態(tài)的概率值代入圖2 的非確定有限自動機(jī)狀態(tài)轉(zhuǎn)換模型進(jìn)行量化,得出MPSTP 模型如圖3 所示。
圖3 的MPSTP 模型展示了該容忍系統(tǒng)不同狀態(tài)之間相互轉(zhuǎn)移的可能性,其中穩(wěn)定的概率值可由入侵注入的方式測定或者由網(wǎng)絡(luò)管理員根據(jù)經(jīng)驗確定,本文采用第一種方式,通過入侵注入行為實驗,測得實驗數(shù)據(jù)。
將狀態(tài)空間中各節(jié)點一次轉(zhuǎn)換成下一狀態(tài)的概率值建立成一個矩陣,得到MPSTP 矩陣P為
定義3DoS(duration of state)矩陣是指有限自動機(jī)容忍系統(tǒng)中各狀態(tài)的持續(xù)停留時間所組成的矩陣,用T表示,則T=[tNO,tDO,tBA,tAD,tUD,tWI,tZT,tRS,tSS,tCC]。
MP 模型的量化分析可以指導(dǎo)管理員有針對性地維護(hù)系統(tǒng),達(dá)到增強(qiáng)系統(tǒng)入侵容忍能力的目的。為了簡化和準(zhǔn)確的量化MP 模型,本文給出如下定義。
表2 MP 模型各符號及功能描述
圖3 MPSTP 模型
定義4有限機(jī)MP 模型的具體值,是指系統(tǒng)進(jìn)入MP 模型各狀態(tài)的概率。用矩陣K表示,則K=[kNO,kDO,kBA,kAD,kUD,kWI,kZT,kRS,kSS,kCC],ki表示系統(tǒng)進(jìn)入MP 模型各狀態(tài)的概率值,i∈Sspace。
MP 模型各狀態(tài)的穩(wěn)定概率主要有2 種輸入?yún)?shù):1)各狀態(tài)的MPSTP 矩陣P;2)各狀態(tài)的DoS矩陣T。
圖3 所示模型中各狀態(tài)的概率值矩陣K可通過式(1)計算。
定義5有限自動機(jī)的MP 穩(wěn)定概率,是指整個系統(tǒng)模型中各個狀態(tài)持續(xù)時間所占的比,用G來表示,則G=[gNO,gDO,gBA,gAD,gUD,gWI,gZT,gRS,gSS,gCC],其中g(shù)i為狀態(tài)i的MP 穩(wěn)定概率,gi可通過式(2)計算。
圖3 所示的狀態(tài)節(jié)點空間Sspace共分為2 個子集。
1)系統(tǒng)遭受入侵者入侵的行為節(jié)點空間SI,則SI={NO,DO,BA}。
2)入侵發(fā)生以后,系統(tǒng)所采取的行為節(jié)點空間SR,則SR={AD,UD,ZT,RS,SS,CC,WI}。
在空間SR中,1)當(dāng)系統(tǒng)處于某些狀態(tài)時,MP模型的安全屬性會受到損壞,這些狀態(tài)形成了安全受損空間SD;2)當(dāng)系統(tǒng)處于另一些狀態(tài)時,MP 模型的安全屬性不會受到損失,這些狀態(tài)形成了安全未受損空間SU。
MP 模型的安全屬性可從3 個方面進(jìn)行考慮。
1)可用性(availability),即模型可為合法用戶提供正常服務(wù)的能力,其概率用PA表示。
由于系統(tǒng)在UD、SS、CC 這3 種狀態(tài)下處于非運(yùn)行狀態(tài),因此無法向用戶提供任何服務(wù)。因此,系統(tǒng)的安全損壞狀態(tài)SD={UD,SS,CC},安全未損壞狀態(tài)SU={AD,ZT,RS,WI}。MP 模型的系統(tǒng)可用性概率PA=1-kUD-kSS-kCC。
2)機(jī)密性(confidentiality),是指系統(tǒng)保證數(shù)據(jù)安全的能力,其概率用PC表示。
在UD、CC 狀態(tài)下,由于系統(tǒng)被入侵行為破壞導(dǎo)致非安全停止運(yùn)行,將無法保證數(shù)據(jù)的安全。因此,系統(tǒng)的安全損壞狀態(tài)SD={UD,CC},安全未損壞狀態(tài)SU={AD,ZT,RS,SS,WI}。MP 模型的系統(tǒng)機(jī)密性概率PC=1-kUD-kCC。
3)完整性(integrity),即系統(tǒng)不會被入侵者修改的能力,其概率用PI表示。
在UD、SS、CC、AD、RS 狀態(tài)下,由于入侵者的行為,系統(tǒng)將可能不再完整,即完整性受到破壞。因此,系統(tǒng)的安全損壞狀態(tài)SD={UD,SS,CC,AD,RS},安全未損壞狀態(tài)SU={ZT,WI}。MP模型的系統(tǒng)完整性概率PI=1-kUD-kSS-kCCkAD-kRS。
由分析可知,MP 模型的3 個安全屬性概率與各個狀態(tài)節(jié)點的穩(wěn)定概率相關(guān)。
綜上所述,MP 模型的安全屬性概率可通過式(3)計算。
從式(3)可知,MP 模型安全屬性與安全受損空間狀態(tài)的穩(wěn)定概率kj成反比關(guān)系。
定義6系統(tǒng)平均損壞時間ADT,是指系統(tǒng)開始處于MP模型的某狀態(tài)到系統(tǒng)由于入侵造成的損壞并導(dǎo)致最終停止運(yùn)行二者之間消耗的平均時長。
平均損壞時間是檢測入侵容忍系統(tǒng)抵御入侵行為能力的重要指標(biāo)。平均損壞時間的值越大,表示系統(tǒng)在該狀態(tài)受到入侵導(dǎo)致其非正常停止運(yùn)行的時間就越長,入侵代價也就越大,則系統(tǒng)的安全性也越高。
分析圖3 所示的MP 模型,發(fā)現(xiàn)有些狀態(tài)是系統(tǒng)被入侵行為損壞后非正常停止運(yùn)行的狀態(tài),該類狀態(tài)系統(tǒng)需由網(wǎng)絡(luò)管理人員進(jìn)行手動修復(fù)或改進(jìn)后才能重新正常運(yùn)行,將此類狀態(tài)組成的狀態(tài)集合,稱為停止運(yùn)行狀態(tài)集,用SE表示。用SM表示此類狀態(tài)之外的狀態(tài)集合,稱為中間狀態(tài)集。
Trivedi[14]的研究表明,ADT 的計算式為
其中,Ci表示該容忍系統(tǒng)在最終進(jìn)入停止?fàn)顟B(tài)前通過其他狀態(tài)i的總次數(shù),ti是狀態(tài)i的持續(xù)時間。
系統(tǒng)總是由正常狀態(tài)NO 開始運(yùn)行,因此首先要算出CNO。分析圖3,系統(tǒng)通過狀態(tài)NO 的概率由流入概率Pin和流出概率Pout二者共同決定,且Pin+Pout=1。由于CNO是系統(tǒng)非正常停止運(yùn)行前通過正常狀態(tài)NO 的總次數(shù),因此在MP 模型中,影響狀態(tài)NO 流入概率Pin的因素很多且比較難確定,因此本文采用通過計算流出概率Pout來確定CNO。
經(jīng)分析,系統(tǒng)由狀態(tài)NO 進(jìn)入停止?fàn)顟B(tài)的路徑共有5 條,即NO—DO—BA—AD—WI,NO—DO—BA—UD,NO—DO—BA—ZT—CC,NO—DO—BA—ZT—RS—WI 和 NO—DO—BA—ZT—RS—WI。觀察這5 條狀態(tài)轉(zhuǎn)換路徑發(fā)現(xiàn),在MP 模型中,系統(tǒng)經(jīng)過狀態(tài)BA 之后最終都將進(jìn)入停止?fàn)顟B(tài),需由管理員修復(fù)或改進(jìn)后重新回到正常狀態(tài)NO,因此狀態(tài)NO 的流出概率Pout=PdbPnd。
為驗證MP 模型的優(yōu)化評估過程,本文組建了如圖4 所示的實驗環(huán)境。圖4 給出了網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)及各服務(wù)器存在的漏洞,其中,容忍系統(tǒng)有由服務(wù)器IP1、IP2和IP3組成,它可以對不同主機(jī)提供相對應(yīng)的服務(wù),不同域間的訪問策略如下。
1)該入侵容忍系統(tǒng)中的各服務(wù)器與域D1和域D2內(nèi)的各個網(wǎng)絡(luò)設(shè)備可以相互訪問,但不可訪問域D3中的網(wǎng)絡(luò)設(shè)備。
2)域D1中的網(wǎng)絡(luò)設(shè)備IP 和域D2中的網(wǎng)絡(luò)設(shè)備IP9都可以訪問域D3的數(shù)據(jù)庫服務(wù)器。
3)域D1中的網(wǎng)絡(luò)設(shè)備IP4可以和域D2中的網(wǎng)絡(luò)設(shè)備IP7相互訪問。
4)每個域內(nèi)的網(wǎng)絡(luò)設(shè)備之間可以相互訪問。
5)區(qū)域網(wǎng)內(nèi)部設(shè)備必須通過容忍系統(tǒng)中的服務(wù)器才可以與Internet 之間交換數(shù)據(jù)。
6)其他網(wǎng)絡(luò)設(shè)備之間如果跨域訪問都將被禁止。
圖4 MP 模型的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)及各服務(wù)器存在的漏洞
為繞開企業(yè)防火墻安全策略,入侵者普遍采取先入侵內(nèi)網(wǎng)主機(jī)后入侵容忍系統(tǒng)的攻擊策略。實驗正是在這種入侵策略下,對圖4 所示容忍系統(tǒng)進(jìn)行了模擬攻擊測試??紤]到不同的操作系統(tǒng)存在不同的漏洞,而不同的漏洞決定了入侵成功的概率,進(jìn)而影響容忍系統(tǒng)的服務(wù)能力。為此,實驗分別模擬入侵者在完全控制域D1和域D2內(nèi)的主機(jī)IP4、主機(jī)IP7和主機(jī)IP9的情況下,直接或間接(即通過域D3中數(shù)據(jù)庫服務(wù)器)對容忍系統(tǒng)進(jìn)行攻擊。將每種攻擊路徑所造成容忍系統(tǒng)無法提供服務(wù)的數(shù)據(jù)進(jìn)行分析統(tǒng)計,得出該容忍系統(tǒng)中各參數(shù)的平均值如下。
1)系統(tǒng)開始正常運(yùn)行,所以Pn=1;
2)系統(tǒng)發(fā)生故障,管理員對系統(tǒng)維護(hù)后,系統(tǒng)將重新運(yùn)行,因此Paw=Psw=Prw=Pwn=Pun=Pcn=1。
3)系統(tǒng)中的弱點被發(fā)現(xiàn)的概率Pnd=0.2。
4)系統(tǒng)中存在的弱點被入侵者發(fā)現(xiàn)后,入侵者入侵成功的概率Pdb=0.6。
5)系統(tǒng)檢測到自身弱點并及時修復(fù)的概率P1=1-Pnd-Pdb=0.2。
6)入侵被發(fā)現(xiàn)且被屏蔽的概率Pba=0.3。
7)入侵沒有被發(fā)現(xiàn)的概率Pbu=0.1。
8)成功觸發(fā)自動機(jī)的概率P2=1-Pba-Pbu=0.6。
9)系統(tǒng)能夠運(yùn)行但卻需要降級服務(wù)的概率Pzr=0.6。
10)系統(tǒng)無法運(yùn)行自主停止概率Pzs=0.3。
11)系統(tǒng)因為入侵故障被迫停止運(yùn)行的概率P3=1-Pzr-Pzs=0.1。
由測試可知,系統(tǒng)處于降級服務(wù)運(yùn)行的時間最長,處于容忍觸發(fā)的時間最短,處于正常運(yùn)行和未發(fā)現(xiàn)入侵繼續(xù)運(yùn)行的時間相當(dāng),處于屏蔽該入侵行為運(yùn)行和處于學(xué)習(xí)改進(jìn)的時間相當(dāng),其他各狀態(tài)的時間不等?;趯嶒灁?shù)據(jù),將系統(tǒng)處于各狀態(tài)的時間(單位為天)定為:tNO=1,tDO=0.8,tBA=0.3,tAD=0.4,tUD=1.2,tZT=0.1,tRS=3,tSS=2,tCC=1.5,tWI=1.5。
本文所設(shè)定的數(shù)據(jù)均來自本次實驗,現(xiàn)實中不同網(wǎng)絡(luò)設(shè)備存在操作系統(tǒng)、漏洞、網(wǎng)絡(luò)擁擠程度的差異,所以具體的數(shù)據(jù)可由網(wǎng)絡(luò)管理員針對系統(tǒng)的不同進(jìn)行設(shè)置。
7.2.1MPSTP 矩陣
依據(jù)定義4 的式(1),可以計算出系統(tǒng)進(jìn)入MP模型各狀態(tài)的概率值ki,如式(5)所示。
將式(6)代入式(5)并結(jié)合實驗所得數(shù)據(jù),計算出系統(tǒng)進(jìn)入MP 模型各狀態(tài)的概率值ki,如圖5 所示。
利用系統(tǒng)各概率值ki和式(3),可以得到系統(tǒng)的可用性概率PA=0.992 1,機(jī)密性概率PC=0.993 4,完整性概率PI=0.939 4。
7.2.2MP 穩(wěn)定概率
將系統(tǒng)進(jìn)入MP 模型各狀態(tài)的概率矩陣K和處于各個狀態(tài)的時間矩陣T代入式(2),得出MP 模型各狀態(tài)的穩(wěn)定概率gi,如式(7)所示。
將實驗得到的各狀態(tài)轉(zhuǎn)移概率Pi值和持續(xù)時間ti值及計算所得到的ki值代入式(7),得到各狀態(tài)的穩(wěn)定概率gi,gi的分布軌跡如圖6 所示。
7.2.3各狀態(tài)訪問次數(shù)
由6.2 節(jié)分析,先求出容忍系統(tǒng)最終進(jìn)入停止?fàn)顟B(tài)前通過正常狀態(tài)的總次數(shù)CNO,然后通過各個狀態(tài)之間的狀態(tài)轉(zhuǎn)移概率求出不同狀態(tài)的Ci,最終可求出系統(tǒng)的平均損壞時間ADT,可通過式(8)計算。
圖5 MP 模型進(jìn)入各狀態(tài)的概率
圖6 MP 模型各狀態(tài)穩(wěn)定概率
把實驗得到的Pdb和Pnd代入式(8),求出CNO的數(shù)據(jù)值,進(jìn)一步求得每個狀態(tài)的Ci值,其分布條形圖如圖7 所示。
ADT 代表著入侵者所付出的入侵代價,所以ADT 是系統(tǒng)安全可靠的重要指標(biāo)。增大ADT 可以增加入侵者的入侵代價從而保障系統(tǒng)的安全。然而,ADT 的增加又與Ci和ti有關(guān)。一個確定入侵容忍系統(tǒng),其各狀態(tài)的Ci值基本固定,因此可以通過增加各狀態(tài)的持續(xù)時間ti來達(dá)到增大ADT 的目的。進(jìn)一步分析式(8),可以得出MP 模型中各中間狀態(tài)的ADT 值,其分布情況如圖8 所示。
圖7 各狀態(tài)訪問次數(shù)
圖8 各中間狀態(tài)ADT 變化軌跡
從圖8 中可以看出,各中間狀態(tài)的持續(xù)時間對系統(tǒng)總體ADT 影響從大到小的順序為{NO,DO,RS,SS,BA,AD,ZT}。若增大中間狀態(tài){NO,DO,RS}的持續(xù)時間,則可以有效地提高系統(tǒng)的ADT,同時也增加了入侵代價,增強(qiáng)了系統(tǒng)的可靠性。
本文主要從容忍系統(tǒng)關(guān)鍵節(jié)點的平均故障時間、系統(tǒng)的可用性、機(jī)密性和完整性等方面分析了系統(tǒng)的性能。在圖4 所示的實驗環(huán)境中,假設(shè)容忍系統(tǒng)的服務(wù)器數(shù)量為N(N=1,2,…),容忍系統(tǒng)的可用性、機(jī)密性和完整性定義為:在給定時間周期內(nèi),仍有個服務(wù)器可以提供正常提供服務(wù)且數(shù)據(jù)未泄密和未被篡改的概率。
本文通過使用網(wǎng)絡(luò)仿真軟件GNS3 模擬網(wǎng)絡(luò)入侵?jǐn)?shù)據(jù)分組,基于實驗數(shù)據(jù),得出了容忍系統(tǒng)中各關(guān)鍵節(jié)點在不同入侵速度V下ADT 的分布軌跡如圖9 所示。
圖9 總體平均損害時間與入侵速度的關(guān)系
圖9 表明,容忍系統(tǒng)各總體的平均損害時間與網(wǎng)絡(luò)入侵速度V基本成反比,即入侵速度增加平均損害時間降低。呈現(xiàn)這種關(guān)系的主要原因為:隨著網(wǎng)絡(luò)入侵速度的加快,容忍系統(tǒng)中出現(xiàn)故障的服務(wù)器數(shù)增多,造成系統(tǒng)各關(guān)鍵節(jié)點及總體的ADT 下降??赏ㄟ^增加容忍系統(tǒng)服務(wù)器數(shù)量N來提高系統(tǒng)的ADT 值,這是因為在出現(xiàn)故障節(jié)點相同的前提下,提供服務(wù)的節(jié)點數(shù)越多,系統(tǒng)的可用性越強(qiáng)。
基于實驗中的數(shù)據(jù),把容忍系統(tǒng)不同狀態(tài)的持續(xù)時間(單位為天)設(shè)定為:tNO=1,tDO=0.8,tBA=0.3,tAD=0.4,tUD=1.2,tZT=0.1,tRS=3,tSS=2,tCC=1.5,tWI=1.5,進(jìn)而模擬在不同網(wǎng)絡(luò)入侵成功概率下,系統(tǒng)可用性概率PA、機(jī)密性概率PC和完整性概率PI之間的軌跡分布,如圖10 所示。
圖10 系統(tǒng)性能概率與入侵成功概率的關(guān)系
圖10 的數(shù)據(jù)表明容忍系統(tǒng)的可用性概率PA、機(jī)密性概率PC和完整性概率PI隨著網(wǎng)絡(luò)入侵成功概率的增加而明顯降低。這主要是因為:入侵成功概率的增加表明入侵的隱蔽性增高,被發(fā)現(xiàn)的概率減小,對系統(tǒng)破壞的能力增強(qiáng),容忍系統(tǒng)服務(wù)器被破壞的數(shù)量增多,因此性能下降。圖10 還表明,系統(tǒng)性能概率在入侵成功概率為[0.4,0.6]時比較好,可通過在給定時間周期T內(nèi)對重點服務(wù)器加強(qiáng)入侵防護(hù)來提高系統(tǒng)總體的容忍能力。
當(dāng)系統(tǒng)遭受無法避免的入侵后,容忍能力是評判容忍系統(tǒng)優(yōu)劣的重要指標(biāo)。由于本文使用ADT 來量化系統(tǒng)的容忍能力,ADT 越大,說明系統(tǒng)的帶病工作時間越長,容忍能力越高。圖11 給出了本文模型與文獻(xiàn)[5]模型在不同的入侵速度下,容忍系統(tǒng)ADT 的分布軌跡。從圖11 可以看到,本文模型的容忍能力明顯高于文獻(xiàn)[5]。這是因為文獻(xiàn)[5]中的系統(tǒng)在檢測到入侵后,立即采取降級服務(wù)的安全策略,當(dāng)入侵速度加快時,系統(tǒng)采用進(jìn)程遷移策略,但是同時也消耗了計算機(jī)資源和時間,隨著入侵速度不斷增加,超過容忍系統(tǒng)承受能力之后,模型中沒有給出解決辦法,容忍能力不斷下降。本文模型通過增加學(xué)習(xí)狀態(tài),系統(tǒng)遭受攻擊后會不斷學(xué)習(xí)修復(fù)自身,以提高自身容忍能力。
圖11 容忍能力對比
完整性是系統(tǒng)容忍能力的進(jìn)一步提高的體現(xiàn)。本文分別利用魏柯等[15]建立的模型和本文模型進(jìn)行試驗。在不同攻擊速度下,將2 種模型的完整性進(jìn)行對比,結(jié)果如圖12 所示。
隨著攻擊速度的增加,攻擊成功率明顯增加,導(dǎo)致2 種模型的完整性整體上都呈下降趨勢,但是本文模型完整性明顯優(yōu)于文獻(xiàn)[15]的模型。這是因為文獻(xiàn)[15]的模型在使用馬爾可夫過程進(jìn)行量化時,狀態(tài)等級劃分不夠明確導(dǎo)致入侵檢測準(zhǔn)確率下降,且建模復(fù)雜,本文模型很好地克服了這一缺點。
圖12 完整性對比
入侵容忍技術(shù)是網(wǎng)絡(luò)安全管理的重要技術(shù),它保障了系統(tǒng)在入侵發(fā)生后能夠繼續(xù)運(yùn)行[16]。本文創(chuàng)建了優(yōu)化的SSTM,由于模型中不同狀態(tài)之間轉(zhuǎn)換符合有限自動機(jī)的原理,因此首先通過該原理對模型進(jìn)行初步分析,進(jìn)而使用馬爾可夫理論進(jìn)行定量,給出模型中各狀態(tài)的轉(zhuǎn)移概率。通過對該模型進(jìn)行的分析,計算出系統(tǒng)中不同狀態(tài)的概率值和各狀態(tài)的訪問次數(shù),比較不同狀態(tài)ADT 分布情況,得出延長模型處于中間狀態(tài){NO,DO,RS}的時間可以增加入侵難度的結(jié)論。同時,本文還分析了入侵速度、入侵成功概率與系統(tǒng)容忍能力的對應(yīng)關(guān)系,給出了提高系統(tǒng)容忍能力的方案。最后,本文從容忍能力和完整性2 個方面和其他文獻(xiàn)的入侵容忍模型進(jìn)行對比,驗證了SSTM 的優(yōu)越性。下一步將研究在模型中增加聯(lián)機(jī)修復(fù)功能,達(dá)到提高系統(tǒng)在線入侵容忍能力的目的。