古英漢 伊 鵬
(1.91977部隊(duì) 北京 100036)(2.國(guó)家數(shù)字交換系統(tǒng)工程技術(shù)研究中心 鄭州 450002)
在云數(shù)據(jù)中心環(huán)境下,越來越多的網(wǎng)絡(luò)服務(wù)依賴功能軟件[1]。網(wǎng)絡(luò)運(yùn)營(yíng)者和網(wǎng)絡(luò)管理者需要將更多精力投入到保證網(wǎng)絡(luò)功能的可靠運(yùn)營(yíng)上[2]。在虛擬服務(wù)功能鏈提供服務(wù)的過程中,服務(wù)鏈由于本身的串聯(lián)結(jié)構(gòu)特性而易受網(wǎng)絡(luò)攻擊威脅,進(jìn)而導(dǎo)致服務(wù)性能下降。另外,用戶隱私信息在服務(wù)部署中面臨泄露等不確定風(fēng)險(xiǎn)[3]。在現(xiàn)有研究中[4],沒有針對(duì)服務(wù)鏈設(shè)計(jì)有效的安全保障機(jī)制,對(duì)安全性的定性與定量度量沒有清晰的標(biāo)準(zhǔn)[5]。
本節(jié)中我們基于動(dòng)態(tài)防御技術(shù)概念[6],提出網(wǎng)絡(luò)功能服務(wù)鏈攻擊面的概念來對(duì)服務(wù)鏈所處安全環(huán)境以及受攻擊狀況進(jìn)行度量,而后利用博弈論分析安全性與可用性,設(shè)計(jì)最優(yōu)安全風(fēng)險(xiǎn)規(guī)避方案。我們將服務(wù)鏈作為一個(gè)防御系統(tǒng)進(jìn)行研究,將服務(wù)鏈攻擊面的概念形式化,使其作為服務(wù)鏈系統(tǒng)安全性的指示器。攻擊面越大,表明服務(wù)鏈系統(tǒng)所處安全風(fēng)險(xiǎn)越大,越容易受到入侵和攻擊。最后,基于攻擊面的量化指標(biāo),提出減小系統(tǒng)面安全風(fēng)險(xiǎn)的攻擊面轉(zhuǎn)移機(jī)制以及基于合作博弈的安全規(guī)避方法。
根據(jù)目前網(wǎng)絡(luò)安全實(shí)踐經(jīng)驗(yàn)[7~8],很多攻擊發(fā)生于從運(yùn)行環(huán)境向服務(wù)鏈系統(tǒng)發(fā)送數(shù)據(jù)。同樣地,許多其他類型的攻擊由服務(wù)鏈系統(tǒng)向運(yùn)行環(huán)境發(fā)送數(shù)據(jù)。在這兩種類型的攻擊中,攻擊者利用通道連接服務(wù)鏈系統(tǒng)、服務(wù)鏈系統(tǒng)調(diào)用、向服務(wù)鏈系統(tǒng)發(fā)送數(shù)據(jù)項(xiàng)或從服務(wù)鏈系統(tǒng)接收數(shù)據(jù)項(xiàng)(攻擊路徑1)。攻擊者也可以通過寫入一個(gè)服務(wù)鏈系統(tǒng)將要讀取的文件向該服務(wù)鏈系統(tǒng)發(fā)送數(shù)據(jù)(攻擊路徑2)。攻擊者還可以通過使用共享的持久性數(shù)據(jù)項(xiàng)間接地從服務(wù)鏈系統(tǒng)接收數(shù)據(jù)(攻擊路徑3)??梢詺w納出這樣的規(guī)律,即攻擊者利用服務(wù)鏈系統(tǒng)在環(huán)境中的方法、通道和數(shù)據(jù)項(xiàng)來攻擊服務(wù)鏈系統(tǒng)。因此我們將服務(wù)鏈系統(tǒng)資源表示為方法、通道和數(shù)據(jù)的集合,從而以服務(wù)鏈系統(tǒng)資源定義服務(wù)鏈攻擊面,圖1為攻擊面轉(zhuǎn)換示意圖。
圖1 攻擊面轉(zhuǎn)換示意圖
2.2.1 服務(wù)鏈攻擊面度量概念
在云數(shù)據(jù)中心環(huán)境中,不是所有的資源都屬于服務(wù)鏈攻擊面,且不同的環(huán)境資源對(duì)服務(wù)鏈攻擊面具體度量的貢獻(xiàn)不盡相同。為了度量服務(wù)鏈系統(tǒng)的攻擊面,我們需要識(shí)別與服務(wù)鏈系統(tǒng)攻擊面相關(guān)的環(huán)境資源,并確定每種資源對(duì)服務(wù)鏈系統(tǒng)攻擊面的貢獻(xiàn)大小。如果攻擊者能夠利用一個(gè)資源對(duì)服務(wù)鏈系統(tǒng)進(jìn)行攻擊,那么該資源就屬于攻擊面的一部分。首先建立一個(gè)包含引入端和送出端的架構(gòu)來識(shí)別這些與攻擊面具有相關(guān)性的資源。資源對(duì)服務(wù)鏈攻擊面度量的貢獻(xiàn)由資源被用于攻擊的可能性決定。然后引入相對(duì)威脅值的概念來估算環(huán)境資源對(duì)服務(wù)鏈攻擊面度量的貢獻(xiàn)大小。一個(gè)服務(wù)鏈系統(tǒng)攻擊面度量需要考慮環(huán)境資源在方法、通道和數(shù)據(jù)三個(gè)維度的總貢獻(xiàn)。度量的大小反映攻擊者可能對(duì)服務(wù)鏈系統(tǒng)造成的破壞程度以及攻擊者發(fā)動(dòng)攻擊所付出的努力成本。
需要說明的是,系統(tǒng)的攻擊面度量并不直接代表系統(tǒng)的代碼質(zhì)量,因此攻擊面度量越大并不能說明系統(tǒng)漏洞越多,而具有很少漏洞也不能說明系統(tǒng)攻擊面度量小。實(shí)際上,較大的攻擊面反映的是攻擊者更有可能利用服務(wù)鏈系統(tǒng)中的漏洞以較少的努力成本對(duì)系統(tǒng)造成更大破壞。
2.2.2 引入端
服務(wù)鏈系統(tǒng)的代碼庫(kù)包含方法的集合。一個(gè)方法接收參數(shù)作為輸入并返回結(jié)果作為輸出。我們定義一個(gè)從系統(tǒng)環(huán)境中接收數(shù)據(jù)項(xiàng)的系統(tǒng)方法為這個(gè)系統(tǒng)的引入端。比如,一個(gè)功能或者一個(gè)讀取配置文件的方法中接收輸入的方法是一個(gè)引入端。一個(gè)服務(wù)鏈系統(tǒng)s的一個(gè)方法m在滿足一下幾點(diǎn)之一時(shí)成為這個(gè)系統(tǒng)的引入端:1)如果功能或系統(tǒng)s環(huán)境中的一個(gè)系統(tǒng)調(diào)用m并傳遞數(shù)據(jù)項(xiàng)d作為輸入給m;2)m從持久性數(shù)據(jù)項(xiàng)中讀取數(shù)據(jù);3)m調(diào)用系統(tǒng)s環(huán)境中的一個(gè)系統(tǒng)API并接受作為結(jié)果返回的數(shù)據(jù)項(xiàng)。
2.2.3 送出端
定義一個(gè)發(fā)送數(shù)據(jù)項(xiàng)到系統(tǒng)環(huán)境中的方法為服務(wù)鏈系統(tǒng)的送出端。一個(gè)服務(wù)鏈系統(tǒng)s的方法m在滿足下列條件之一時(shí)是送出端:1)一個(gè)功能或系統(tǒng)s環(huán)境中有系統(tǒng)調(diào)用m并接受作為結(jié)果從m中返回的數(shù)據(jù)項(xiàng);2)m寫一個(gè)持久性文件;3)m調(diào)用系統(tǒng)s環(huán)境中某個(gè)系統(tǒng)的API并傳輸數(shù)據(jù)項(xiàng)作為輸入給API。
2.2.4 定量度量指標(biāo)
我們假設(shè)一個(gè)函數(shù)derm:方法→Q,每個(gè)方法映射到一個(gè)數(shù)值集合Q中的相對(duì)威脅值。同樣,我們?yōu)槊恳粋€(gè)通道假定一個(gè)函數(shù)derc:通道→Q;每一個(gè)數(shù)據(jù)項(xiàng)假設(shè)一個(gè)函數(shù)derd:數(shù)據(jù)項(xiàng)→Q。我們通過為環(huán)境資源屬性分配數(shù)值來計(jì)算相對(duì)威脅值。分配數(shù)值根據(jù)對(duì)屬性的總排序以及對(duì)服務(wù)鏈系統(tǒng)及資源環(huán)境的評(píng)估來設(shè)置。數(shù)值是由管理者主觀選擇的,數(shù)值大小取決于服務(wù)鏈系統(tǒng)和它周圍的環(huán)境。因此目前尚不能實(shí)現(xiàn)將數(shù)值分配的過程自動(dòng)化,相關(guān)參數(shù)分析可以參考文獻(xiàn)[9]。潛在破壞性越高,方法的數(shù)目越多。同時(shí),努力成本越低,方法數(shù)目越多。因此通過方法m的相對(duì)威脅值derm(m)可以決定m潛在數(shù)目。對(duì)于給出的兩種方法m1和m2,如果derm1(m1)>derm2(m2),那么m1比m2出現(xiàn)在更多的攻擊中。同樣,對(duì)于一個(gè)通道c(或數(shù)據(jù)d)相應(yīng)結(jié)果也成立。
我們按照方法、通道和數(shù)據(jù)三個(gè)維度量化服務(wù)鏈系統(tǒng)的攻擊面度量,并分別評(píng)估各項(xiàng)維度對(duì)攻擊面的總貢獻(xiàn)。
我們根據(jù)以下三個(gè)步驟定量服務(wù)鏈系統(tǒng)的攻擊面。
Step 1給定一個(gè)服務(wù)鏈系統(tǒng)s和其資源環(huán)境E(s),我們確定一個(gè)引入端和送出端集合ME(s),一個(gè)通道集合CE(s),以及不可行數(shù)據(jù)項(xiàng)集合IE(s)。
Step 2我們?cè)u(píng)估每個(gè)方法m∈ME(s)的相對(duì)威脅值derm(m),每個(gè)通道c∈CE(s)的相對(duì)威脅值derc(c)以及每個(gè)數(shù)據(jù)項(xiàng)d∈IE(s)的相對(duì)威脅值derd(d)ep3s的攻擊面度量是
防御者可以使用三種不同的方案來修改攻擊面,其中有兩種方法涉及對(duì)攻擊面的轉(zhuǎn)移。
第一種方案,防御者能通過禁用或修改系統(tǒng)的特性(情況A)來轉(zhuǎn)移攻擊面或減少攻擊面度量。
第二種方案中,防御者能夠通過啟用新的特性并禁止舊的特性來轉(zhuǎn)移攻擊面。禁止一些特性從攻擊面移除一些資源從而轉(zhuǎn)移攻擊面。在這個(gè)過程中,攻擊面度量可能是減少(情況B),保持不變(情況C),或者增加(情況D)。
第三種方案中,防御者可能通過開啟新特性來修改攻擊面。新特性會(huì)使攻擊面關(guān)聯(lián)新的資源,從而增加攻擊面度量。不過,在這個(gè)過程中原來的攻擊面依然存在,且現(xiàn)在和過去面臨相同的攻擊威脅(情況E),因而攻擊面并沒有轉(zhuǎn)移。防御者也能夠通過增加現(xiàn)有環(huán)境資源的相對(duì)威脅值而不用轉(zhuǎn)移攻擊面來增加攻擊面度量。
從系統(tǒng)保護(hù)的角度看,對(duì)防御者而言,以上五種情況優(yōu)劣排序如下:A>B>C>D>E。情況A好于情況B,因?yàn)榍闆rB使某些攻擊面具有了新的資源,使系統(tǒng)面臨新的攻擊風(fēng)險(xiǎn)。情況D雖然增加了攻擊面度量,但當(dāng)度量值增加量很低且攻擊面轉(zhuǎn)移程度很大時(shí)情況D也具有很強(qiáng)吸引力。
防御者不可能一直具有轉(zhuǎn)移和減少攻擊面的能力。因此,防御者需要在增加攻擊面度量的代價(jià)下引入新的特性或者修改現(xiàn)有特性來給用戶或功能提供所需的服務(wù)。由于修改攻擊面可能涉及服務(wù)鏈中具體功能節(jié)點(diǎn),而一個(gè)功能節(jié)點(diǎn)可能處于不同服務(wù)鏈的交叉處,這樣一條服務(wù)鏈系統(tǒng)攻擊面轉(zhuǎn)移可能會(huì)影響其他服務(wù)鏈。因此防御者必須在安全與可用性之間做出權(quán)衡。按照這個(gè)思路,本節(jié)討論利用博弈論方法來確定修改和轉(zhuǎn)移攻擊面的最優(yōu)方案。
不同服務(wù)鏈可能部署在同一個(gè)物理平臺(tái)上,攻擊面的通道、方法和數(shù)據(jù)項(xiàng)等資源的變更可能對(duì)多條服務(wù)鏈產(chǎn)生影響,多個(gè)服務(wù)鏈系統(tǒng)實(shí)際面臨相同的安全環(huán)境,需要保證同一資源環(huán)境的安全性。本節(jié)將對(duì)共生在同一資源環(huán)境中的多服務(wù)鏈系統(tǒng)的安全優(yōu)化問題歸納為合作博弈問題[10~11],進(jìn)而確定滿足最大環(huán)境安全性的最優(yōu)方案。
服務(wù)鏈攻擊面的合作博弈問題,就是部署在相同資源環(huán)境中的不同服務(wù)鏈系統(tǒng)達(dá)成協(xié)議,共享安全利益,共同降低安全風(fēng)險(xiǎn)。在本節(jié)所討論的問題中,單個(gè)服務(wù)鏈系統(tǒng)雖然能夠單方面減少攻擊面,但同時(shí)可能會(huì)使資源環(huán)境中其他系統(tǒng)攻擊面增加,資源環(huán)境面臨的總的安全風(fēng)險(xiǎn)并沒有降低,而資源環(huán)境的安全將直接影響其中服務(wù)鏈系統(tǒng)的安全。
將所有可以提供功能的資源集合用CP={CP1,CP2,...,CPp}(p∈{1,2,...,P}) 表 示 ,擁有有效資源的物理平臺(tái)編號(hào)為{m1,...,mi,...,mM},mi表示一個(gè)有效物理平臺(tái),1≤i≤M,M是資源環(huán)境中存在的物理平臺(tái)數(shù)量。每個(gè)物理平臺(tái)mi上剩余資源用資源向量表示。將服務(wù)鏈系統(tǒng)1,2,...,U提交的攻擊面變換任務(wù)從1到τ進(jìn)行編號(hào),每個(gè)任務(wù)對(duì)應(yīng)一個(gè)虛擬功能類型。整個(gè)資源環(huán)境中攻擊面轉(zhuǎn)換策略可以用表示,其中表示物理平臺(tái)mi上分配給任務(wù)τ的資源數(shù)量。
由于云數(shù)據(jù)中心環(huán)境下服務(wù)鏈所處環(huán)境復(fù)雜,用戶需求多樣,本節(jié)考慮在設(shè)計(jì)攻擊面轉(zhuǎn)移時(shí)基于兩點(diǎn)優(yōu)化目標(biāo)考慮。第一是從服務(wù)功能鏈服務(wù)性能指標(biāo),第二是安全性指標(biāo)。本節(jié)中,安全性指標(biāo)主要由攻擊面度量來衡量,考慮方法、通道和數(shù)據(jù)項(xiàng)三個(gè)因素。服務(wù)鏈性能指標(biāo)主要由響應(yīng)時(shí)間、開銷、系統(tǒng)有效性、可靠性和可信度,其中有效性、可靠性、可信度值越大表示服務(wù)性能指標(biāo)越好,響應(yīng)時(shí)間和開銷越大則表示服務(wù)性能指標(biāo)越差。需要說明的是,此處的可信度意義在于表征安全對(duì)服務(wù)的重要性,并不是攻擊面所描述的系統(tǒng)自身安全性。
服務(wù)性能指標(biāo)用向量 {Q1,Q2,...,Q5} 表示,其中每項(xiàng)指標(biāo)在[0,1]區(qū)間內(nèi)。我們賦予每項(xiàng)指標(biāo)一個(gè)權(quán)重值,對(duì)應(yīng)向量表示為{w1,w2,...,w5},具體值由網(wǎng)絡(luò)管理者與服務(wù)對(duì)象指定。我們將服務(wù)性能指標(biāo)用向量{Q1,Q2,...,Q5} 歸一化處理后得到{q1,q2,...,q5},繼而得到服務(wù)性能指標(biāo)公式:
由于資源環(huán)境中的物理平臺(tái)的計(jì)算和存儲(chǔ)能力已知,我們定義平臺(tái)計(jì)算能力為PA(mi),則響應(yīng)時(shí)間為
對(duì)于服務(wù)鏈系統(tǒng)和用戶而言,響應(yīng)時(shí)間越小,服務(wù)性能指標(biāo)越好。歸一化響應(yīng)時(shí)間為
對(duì)于成本開銷問題,網(wǎng)絡(luò)管理者為資源進(jìn)行定價(jià),用PF表示,開銷公式為
成本開銷可以分為兩部分。第一部分開銷值域范圍為[0,marku],在該范圍內(nèi)成本開銷的服務(wù)性能參數(shù)設(shè)定為1。第二部分開銷值域范圍為[marku,Q2],在該范圍內(nèi)成本開銷越大服務(wù)性能越低。歸一化處理后的成本開銷q2表示如下:
關(guān)于可靠性、有效性和可信度問題,其中可信度主要衡量提供服務(wù)鏈系統(tǒng)的網(wǎng)絡(luò)提供者的信譽(yù)度,有效性和可靠性則主要衡量處理任務(wù)單元的物理平臺(tái)。本節(jié)選擇使用基于歷史評(píng)價(jià)的分析方法對(duì)這三項(xiàng)指標(biāo)進(jìn)行量化。基于歷史評(píng)價(jià)的方法根據(jù)使用過目標(biāo)物理平臺(tái)和服務(wù)功能資源的用戶的評(píng)價(jià)數(shù)據(jù),將三項(xiàng)指標(biāo)分別劃為五個(gè)等級(jí),對(duì)應(yīng)[0,1]范圍內(nèi)五個(gè)量化值。
由合作博弈的前提條件可知,資源環(huán)境中所有服務(wù)鏈的共同目標(biāo)是最大化安全和服務(wù)性能指標(biāo)收益。此時(shí),網(wǎng)絡(luò)管理者分析服務(wù)鏈系統(tǒng)請(qǐng)求,確定資源環(huán)境范圍,明確環(huán)境中的利益相關(guān)方,決策出穩(wěn)定的服務(wù)鏈博弈參與方案。博弈目標(biāo)是從各參與方可用資源中,選取最優(yōu)資源利用方案以轉(zhuǎn)移目標(biāo)服務(wù)鏈的攻擊面,同時(shí)考慮整個(gè)環(huán)境的安全性和服務(wù)性能指標(biāo),使得這兩個(gè)指標(biāo)最大化。
服務(wù)鏈攻擊面轉(zhuǎn)移博弈模型可以表示為一個(gè)五元組{CP,TL,Req,A,Utility} 。
CP是環(huán)境中的各資源系統(tǒng){CP1,CP2,...,CPp}。
TL是博弈的參與者,即提交資源請(qǐng)求的服務(wù)鏈系統(tǒng){1,2,...,u,...,U}。
Req是資源請(qǐng)求矩陣。
A={Au|u=1,2,...,U}是博弈參與者的備選策略。
Utility是全局收益函數(shù),計(jì)算博弈總體利益。
對(duì)于一個(gè)穩(wěn)定的服務(wù)鏈博弈集合,某個(gè)資源調(diào)度決策時(shí)刻有Γ個(gè)任務(wù),每個(gè)任務(wù)所需虛擬功能類型資源向量為,每個(gè)物理平臺(tái)mi上初始總資源向量為是物理平臺(tái)m上k類型資i源的使用率,平臺(tái)上平均資源使用率為。
由于服務(wù)鏈攻擊面轉(zhuǎn)移及資源調(diào)度問題被建模成合作博弈問題,因此收益函數(shù)只考慮所有博弈參與方總的收益。收益函數(shù)包含安全性指標(biāo)和服務(wù)性能指標(biāo)。
其中β為均衡系數(shù)(β>1),MΓ表示創(chuàng)建虛擬功能所占用物理平臺(tái)數(shù)量。
算法步驟如下:
Step 1優(yōu)化算法的初始化。對(duì)于參與攻擊面改變的虛擬功能(其相關(guān)方法、通道和數(shù)據(jù)項(xiàng)參與變化)及其對(duì)應(yīng)物理平臺(tái),計(jì)算收益值Utility,然后按收益值高低進(jìn)行排序。所有的物理平臺(tái)初始標(biāo)記為非啟用的狀態(tài)。
Step 2用談心算法求解該優(yōu)化問題。假設(shè)τ-1個(gè)虛擬功能已經(jīng)參與攻擊面轉(zhuǎn)移,處于最優(yōu)變化方案,第τ個(gè)虛擬功能最佳變換方案是找到一個(gè)具有足夠資源的對(duì)應(yīng)物理平臺(tái),且保證收益最大。
Step 3開始時(shí)使用滿足最優(yōu)條件的物理平臺(tái)。通過幾輪創(chuàng)建后,第τ個(gè)最優(yōu)物理平臺(tái)上資源可能不夠創(chuàng)建第τ個(gè)虛擬功能變換。此時(shí)物理平臺(tái)需要決定是否刪除平臺(tái)上已有資源。被刪除的資源按照攻擊面大小進(jìn)行先后排序,攻擊面大的優(yōu)先排除,知道物理平臺(tái)擁有足夠資源。
Step 4是否對(duì)作為服務(wù)鏈的虛擬功能的攻擊面進(jìn)行資源變換取決于相關(guān)資源的使用率和受攻擊率,二者值超過服務(wù)鏈相關(guān)參數(shù)均值則考慮變換。
Step 5如果變換后,刪除了部分平臺(tái)資源,建立了新的虛擬功能τ,若平臺(tái)安全性指標(biāo)高于變換前,則繼續(xù)變換。
Step 6如果不變換,這虛擬功能τ按照收益值排序選擇次優(yōu)的物理平臺(tái),判斷是否需要進(jìn)行攻擊面資源變換,依次后推直到虛擬功能在某一物理平臺(tái)上激活運(yùn)行。
本節(jié)中利用開源網(wǎng)絡(luò)安全仿真器NeSSi2[12]對(duì)本節(jié)提出方法進(jìn)行測(cè)試。NeSSi2支持TCP/IP原型協(xié)議下構(gòu)建的復(fù)雜應(yīng)用場(chǎng)景。為了方便測(cè)試,本節(jié)對(duì)攻擊者的攻擊模型進(jìn)行簡(jiǎn)化。假設(shè)當(dāng)服務(wù)鏈某節(jié)點(diǎn)被攻擊者攻陷后,攻擊者立即準(zhǔn)備攻擊下一個(gè)服務(wù)鏈節(jié)點(diǎn)。當(dāng)攻擊者攻陷最終目標(biāo)結(jié)點(diǎn)或者若干節(jié)點(diǎn)目標(biāo)時(shí)判定攻擊者成功進(jìn)行了一次完整攻擊。如果攻擊者在攻擊過程中,被攻陷的節(jié)點(diǎn)恢復(fù)運(yùn)行,則判定攻擊者本輪攻擊失效。
圖2 攻擊圖示意圖
如圖2攻擊圖示意圖表示攻擊者攻擊路線與成功概率。在仿真中,考慮消息延遲等因素,攻擊時(shí)間間隔參數(shù)設(shè)置為102。實(shí)驗(yàn)中模擬了1000次針對(duì)服務(wù)鏈的攻擊。本節(jié)測(cè)試和記錄了在攻擊過程中動(dòng)態(tài)防御系統(tǒng)的歸一化開銷和響應(yīng)時(shí)間,以及不同防御狀態(tài)下服務(wù)鏈?zhǔn)芄舾怕屎凸粽咄暾舸螖?shù)。
圖3 不同防御狀態(tài)下受攻擊率對(duì)比
圖3不同防御狀態(tài)下受攻擊率對(duì)比展示了防御系統(tǒng)開啟和關(guān)閉狀態(tài)下服務(wù)鏈?zhǔn)芄袈蕦?duì)比值。實(shí)驗(yàn)中對(duì)服務(wù)鏈進(jìn)行了多次攻擊,結(jié)果穩(wěn)定。數(shù)據(jù)結(jié)果顯示在動(dòng)態(tài)防御系統(tǒng)開啟情況下惡意攻擊率降低了38%以上,說明了攻擊面轉(zhuǎn)移規(guī)避方案的有效性。
圖4 不同防御狀態(tài)下攻擊者完整攻擊次數(shù)對(duì)比
圖4不同防御狀態(tài)下攻擊者完整攻擊次數(shù)對(duì)比展示了防御系統(tǒng)開啟和關(guān)閉狀態(tài)下攻擊者完整攻擊次數(shù)對(duì)比值。動(dòng)態(tài)防御系統(tǒng)開啟情況下完整攻擊次數(shù)降低了61%以上。在攻擊過程中防御系統(tǒng)不停地改變服務(wù)鏈的攻擊面和網(wǎng)絡(luò)特征,對(duì)攻擊者的攻擊造成很大障礙。
圖5 動(dòng)態(tài)防御系統(tǒng)時(shí)空開銷
圖5動(dòng)態(tài)防御系統(tǒng)時(shí)空開銷顯示了防御系統(tǒng)在持續(xù)攻擊下運(yùn)行的開銷和響應(yīng)時(shí)間。隨著攻擊的持續(xù),系統(tǒng)時(shí)空開銷呈現(xiàn)出上升趨勢(shì)。在理想的情況下,系統(tǒng)長(zhǎng)時(shí)間運(yùn)行時(shí)開銷應(yīng)趨于穩(wěn)定值。經(jīng)過1000次攻擊,系統(tǒng)的開銷并沒有穩(wěn)定,原因可能是服務(wù)鏈所處環(huán)境中資源有限,在攻擊面資源轉(zhuǎn)移過程中由于資源限制影響攻擊面轉(zhuǎn)移效率,增加了系統(tǒng)時(shí)空開銷。
本章中我們基于移動(dòng)目標(biāo)防御技術(shù)概念,提出網(wǎng)絡(luò)功能服務(wù)鏈攻擊面的概念來對(duì)服務(wù)鏈所處安全環(huán)境以及受攻擊狀況進(jìn)行度量,而后利用博弈論分析安全性與可用性,設(shè)計(jì)最優(yōu)安全風(fēng)險(xiǎn)規(guī)避方案。我們將服務(wù)鏈作為一個(gè)系統(tǒng)進(jìn)行研究。首先將服務(wù)鏈攻擊面的概念形式化,使其作為服務(wù)鏈系統(tǒng)安全性的指示器。攻擊面越大,表明服務(wù)鏈系統(tǒng)所處安全風(fēng)險(xiǎn)越大,越容易受到入侵和攻擊。為此,我們基于攻擊面的量化指標(biāo),提出減小攻擊面安全風(fēng)險(xiǎn)轉(zhuǎn)移機(jī)制以及基于博弈論的安全規(guī)避方法。實(shí)驗(yàn)表明,本文提出方法能有效降低服務(wù)鏈?zhǔn)芄袈?,提高其抗風(fēng)險(xiǎn)能力。