陳揚(yáng),扈紅超,劉文彥,霍樹民,梁浩
(國(guó)家數(shù)字交換系統(tǒng)工程技術(shù)研究中心,河南 鄭州 450002)
云計(jì)算(cloud computing)是一種基于互聯(lián)網(wǎng)的計(jì)算方式,通過這種方式,共享的軟硬件資源和信息,可以按需求提供給計(jì)算機(jī)和其他設(shè)備。它提供可用的、便捷的、按需的網(wǎng)絡(luò)訪問。通過可配置的計(jì)算資源(包括網(wǎng)絡(luò)、服務(wù)器、存儲(chǔ)、應(yīng)用軟件、服務(wù))共享池,只需投入很少的管理工作就可快速獲得這些資源。例如,國(guó)內(nèi)的阿里云、騰訊云以及在國(guó)外已經(jīng)非常成熟的微軟Azure、谷歌云平臺(tái)等,各種“云計(jì)算”的應(yīng)用服務(wù)范圍正日漸擴(kuò)大,影響力也無可估量。但云計(jì)算存在以下2個(gè)不可忽視的問題。
1) 數(shù)據(jù)的入侵容忍能力低。云計(jì)算最重要的2個(gè)問題是保密性和安全性。如企業(yè)把企業(yè)信息、客戶信息等敏感的商業(yè)數(shù)據(jù)存放于云計(jì)算服務(wù)提供商,通過減少對(duì)某些數(shù)據(jù)的控制節(jié)約經(jīng)濟(jì)成本,但是企業(yè)也必然會(huì)擔(dān)心數(shù)據(jù)放在云端是否安全以及會(huì)不會(huì)被泄密和竊取等問題。
2) 云計(jì)算基礎(chǔ)設(shè)施的入侵容忍能力低。云計(jì)算模式下,由于所有的業(yè)務(wù)處理都在服務(wù)器端完成,所以云計(jì)算平臺(tái)成為入侵者攻擊的核心。另外,云計(jì)算平臺(tái)自身也面臨各式各樣無法預(yù)料的錯(cuò)誤。例如,2010年上半年,Amazon云計(jì)算服務(wù)因?yàn)槿藶槭д`和意外停電事故出現(xiàn)故障,致使美國(guó)東部的少量用戶失去服務(wù)并導(dǎo)致部分?jǐn)?shù)據(jù)丟失。因此云計(jì)算平臺(tái)一旦被入侵或出現(xiàn)問題,將導(dǎo)致云服務(wù)提供商和用戶利益受到嚴(yán)重?fù)p害[1]。
為了解決上述2個(gè)問題,拜占庭系統(tǒng)模型被大量應(yīng)用。拜占庭問題是構(gòu)建可靠的分布式計(jì)算體系的基本問題。在這類問題中,有3f+1個(gè)執(zhí)行體,其中,最多有f個(gè)可能失效(拜占庭錯(cuò)誤或被破壞),拜占庭問題的目標(biāo)是讓所有正常執(zhí)行體在即使系統(tǒng)中有拜占庭錯(cuò)誤的情況下也能達(dá)成一致。
近年來,針對(duì)入侵云容忍研究的拜占庭系統(tǒng),主要是在拜占庭容錯(cuò)(BFT, Byzantine fault tolerance)協(xié)議上進(jìn)行優(yōu)化改進(jìn)和應(yīng)用。文獻(xiàn)[2]提出了一種拜占庭容錯(cuò)框架拜占庭容錯(cuò)云(BFT cloud),用于提高云系統(tǒng)的頑健性。文獻(xiàn)[3]提出了一種名為BFT-MCDB(Byzantine fault tolerance multi-clouds database)的拜占庭容錯(cuò)模型,將拜占庭協(xié)議以及Shamir的秘密共享方法結(jié)合起來,以檢測(cè)多云計(jì)算環(huán)境中的拜占庭故障,并確保存儲(chǔ)在云中數(shù)據(jù)的安全性。
為了基于拜占庭提高云的入侵容忍能力,文獻(xiàn)[3]以Hadoop為平臺(tái)實(shí)現(xiàn)了MinBFT和 MinZyzzyva最小拜占庭算法原型。在對(duì)2種算法性能進(jìn)行比較的基礎(chǔ)上,改進(jìn)了容忍入侵算法性能,實(shí)現(xiàn)了在2f+1個(gè)副本中容忍 f個(gè)副本的錯(cuò)誤;盡量減少內(nèi)部通信資源開銷和副本數(shù)量,降低云計(jì)算資源消耗,提高系統(tǒng)容忍入侵性能。文獻(xiàn)[4]提出了資源有效的拜占庭容錯(cuò)(REBFT, resource-efficient Byzantine fault tolerance),這種方法通過將f個(gè)副本保持在被動(dòng)模式,在正常情況下通過最小化BFT系統(tǒng)的資源使用情況。與主動(dòng)副本相比,被動(dòng)副本既不參與協(xié)議也不執(zhí)行客戶端請(qǐng)求;而是通過活動(dòng)副本提供的驗(yàn)證狀態(tài)更新來提升速度。在懷疑或檢測(cè)到故障的情況下,被動(dòng)副本以一致的方式被激活。文獻(xiàn)[5]提出了一個(gè)新的BFT中間件系統(tǒng)——Thema,它擴(kuò)展了BFT和Web服務(wù)技術(shù),以提供一種結(jié)構(gòu)化的方法來構(gòu)建應(yīng)用程序開發(fā)人員可以使用的拜占庭容錯(cuò),其可生存的Web服務(wù)和其他Web服務(wù)一樣。它們?cè)试S拜占庭容錯(cuò)服務(wù):1) 支持Web服務(wù)的多層次需求;2) 為自己的客戶提供標(biāo)準(zhǔn)化的Web服務(wù)支持。文獻(xiàn)[6]介紹了 BFT-WS的設(shè)計(jì)和實(shí)現(xiàn),BFT-WS是一種用于Web服務(wù)的拜占庭容錯(cuò)中間件框架。它使用標(biāo)準(zhǔn)的Web服務(wù)技術(shù)構(gòu)建拜占庭式容錯(cuò)服務(wù),因此更適合實(shí)現(xiàn)互操作性。文獻(xiàn)[7]提出了Perpetual——一種支持拜占庭容錯(cuò)執(zhí)行復(fù)制服務(wù)的協(xié)議,同時(shí)強(qiáng)制執(zhí)行嚴(yán)格的故障隔離,永久性地實(shí)現(xiàn)了在長(zhǎng)時(shí)間運(yùn)行的線程中異步調(diào)用和處理遠(yuǎn)程請(qǐng)求的復(fù)制服務(wù)之間的交互。
但現(xiàn)在大多數(shù)拜占庭系統(tǒng)都是鏡像復(fù)制的執(zhí)行體,這樣的系統(tǒng)具有一定的可靠性,但是安全性不足,往往攻擊者攻破一臺(tái)主機(jī)就能很容易攻破其他主機(jī)。本文圍繞基于動(dòng)態(tài)異構(gòu)的拜占庭系統(tǒng)提高云服務(wù)入侵容忍能力進(jìn)行研究,主要貢獻(xiàn)如下。
1) 針對(duì)入侵云容忍下的拜占庭系統(tǒng)描述了潛伏式攻擊模型。
2) 為提高拜占庭系統(tǒng)安全性提出了動(dòng)態(tài)異構(gòu)的拜占庭系統(tǒng)(DHB, dynamic heterogeneous Byzantine system)模型。
3) 為進(jìn)一步提高異構(gòu)系統(tǒng)的安全性,提出利用系統(tǒng)漏洞和攻擊技能水平衡量執(zhí)行體生命周期,并將量化結(jié)果作為系統(tǒng)切換時(shí)間。
4) 實(shí)驗(yàn)部分模擬攻擊方式對(duì)改進(jìn)動(dòng)態(tài)異構(gòu)拜占庭模型進(jìn)行防御效果測(cè)試,有效評(píng)估系統(tǒng)安全性。
拜占庭執(zhí)行體在云環(huán)境下以虛擬機(jī)的形式存在,隨著時(shí)間的推移,一個(gè)虛擬機(jī)的攻擊面會(huì)逐漸擴(kuò)大[8]。即使是有一定入侵容忍的拜占庭系統(tǒng),執(zhí)行體也可能在擴(kuò)大的攻擊面下被攻擊者逐個(gè)攻破被攻擊者而使系統(tǒng)失效。針對(duì)此問題構(gòu)建潛伏式攻擊模型。結(jié)合實(shí)際情況,做出如下假設(shè)。
假設(shè) 1 假設(shè)攻擊者以虛擬機(jī)作為攻擊目標(biāo),暫不考慮針對(duì) Hypervisor、管理器以及物理設(shè)施的攻擊。
假設(shè) 2 對(duì)于一些重要的云中資源,如軍事機(jī)密、銀行賬戶,攻擊者已經(jīng)不是獨(dú)立個(gè)人,而是團(tuán)體,為了攻破拜占庭系統(tǒng),他們有足夠的時(shí)間和資源支撐其行動(dòng)。
假設(shè) 3 攻擊者攻破各個(gè)執(zhí)行體是相互獨(dú)立事件。因?yàn)椴捎卯悩?gòu)執(zhí)行體,所以暫時(shí)忽略執(zhí)行體之間的相互影響。
假設(shè) 4 因?yàn)榘菡纪ハ到y(tǒng)針對(duì)個(gè)別(不多于f個(gè))的單獨(dú)攻擊有較好的容侵性能,所以在考慮攻擊的時(shí)候僅考慮潛伏式攻擊。
基于以上假設(shè),提出一種潛伏式攻擊模型。當(dāng)攻破一臺(tái)執(zhí)行體的時(shí)候并不立刻進(jìn)行破壞(因?yàn)榘菡纪サ娜肭秩萑虣C(jī)制),而是繼續(xù)感染攻擊其他執(zhí)行體。此時(shí)攻擊者可以知道有多少執(zhí)行體,因?yàn)楦鱾€(gè)拜占庭執(zhí)行體之間會(huì)進(jìn)行通信,一旦攻擊者控制了一臺(tái)執(zhí)行體就可以獲得關(guān)于其他拜占庭執(zhí)行體的很多信息。如果攻擊者逐個(gè)依次攻擊,則定義為“串行”攻擊。基于攻擊者組織規(guī)模,攻擊者也可能進(jìn)行“并行”攻擊,即多個(gè)執(zhí)行體可能同時(shí)受到攻擊。隨著時(shí)間積累,當(dāng)攻擊者攻破的執(zhí)行體超過了入侵容忍的限度 f,再發(fā)起總攻,就能徹底破壞拜占庭系統(tǒng)。定義na為攻擊者控制的執(zhí)行體個(gè)數(shù)。
1) 當(dāng)時(shí),攻擊者能使系統(tǒng)無法正常工作(達(dá)不成一致)。其危害性較低。
2) 當(dāng)時(shí),攻擊者可以使系統(tǒng)一致輸出錯(cuò)誤信息。其危害性較高,這是最佳攻擊目標(biāo)。
現(xiàn)在大多數(shù)拜占庭系統(tǒng)都是鏡像復(fù)制的執(zhí)行體,這樣,往往一臺(tái)主機(jī)被攻破就能感染其他主機(jī)。所以異構(gòu)執(zhí)行體是拜占庭系統(tǒng)的發(fā)展方向。
即使采用異構(gòu)方法,如果執(zhí)行體一直保持靜態(tài)不變,系統(tǒng)也存在如下安全性問題。
1) 沒有完全異構(gòu)的執(zhí)行體,即執(zhí)行體之間仍然存在共同攻擊面,如共同漏洞,如表1所示。
2) 潛伏式攻擊手段在時(shí)間積累下仍能攻破異構(gòu)系統(tǒng)。
所以,構(gòu)建上述系統(tǒng)需要解決2個(gè)問題:①如何配置最大異構(gòu)度的拜占庭執(zhí)行體集;② 如何最優(yōu)切換,即切換時(shí)機(jī)問題(太快會(huì)影響服務(wù)以及成本較高,慢了又可能給攻擊者帶來足夠的攻擊時(shí)間)。為解決上述問題,一個(gè)完善有效的系統(tǒng)應(yīng)該包含執(zhí)行體的異構(gòu)選擇和執(zhí)行體的動(dòng)態(tài)切換功能。
為了提高容忍性能,本文采用執(zhí)行體個(gè)數(shù)為2f+1的拜占庭模型,即系統(tǒng)加入了消息簽名。
本文設(shè)計(jì)了一個(gè)動(dòng)態(tài)異構(gòu)的拜占庭系統(tǒng)框架,如圖1所示。在云中為拜占庭系統(tǒng)部署了切換管理、資源控制器、執(zhí)行體狀態(tài)、執(zhí)行體選擇4個(gè)模塊。
表1 系統(tǒng)的共同漏洞數(shù)
圖1 動(dòng)態(tài)異構(gòu)的拜占庭系統(tǒng)框架
1) 切換管理
負(fù)責(zé)管理、生成和銷毀執(zhí)行體??梢杂迷浦械南到y(tǒng)調(diào)度模塊實(shí)現(xiàn),如基于事先創(chuàng)建的鏡像快速生成可使用的執(zhí)行體。
2) 資源控制器
負(fù)責(zé)管理和分配系統(tǒng)資源,如CPU、內(nèi)存、存儲(chǔ)等。這是云的資源管理模塊,根據(jù)用戶申請(qǐng)進(jìn)行分配。
3) 執(zhí)行體狀態(tài)
維持每個(gè)執(zhí)行體狀態(tài)表,監(jiān)視每個(gè)執(zhí)行體狀態(tài),可通過云管理系統(tǒng)實(shí)現(xiàn)。
4) 執(zhí)行體選擇
負(fù)責(zé)從異構(gòu)執(zhí)行體鏡像池中選擇執(zhí)行體,通過不同的算法,自適應(yīng)地使系統(tǒng)的異構(gòu)度最大,此部分需要在云管理系統(tǒng)(如 OpenStack)中開發(fā)相應(yīng)模塊實(shí)現(xiàn)。
在云環(huán)境中,拜占庭系統(tǒng)的執(zhí)行體可以在多個(gè)層面上實(shí)現(xiàn)異構(gòu),如操作系統(tǒng)異構(gòu)、軟件異構(gòu)。應(yīng)用程序堆棧的配置集合表示為,其中,存在n個(gè)技術(shù)堆棧。這里,Li表示可以在應(yīng)用棧第i層使用的技術(shù)集合。
考慮一個(gè)具有4層(n=3)的云Web服務(wù)執(zhí)行體,即拜占庭執(zhí)行體承載的是云Web服務(wù),其中,第1層表示W(wǎng)eb服務(wù)的運(yùn)行系統(tǒng),第2層表示服務(wù)器軟件,第3層表示其應(yīng)用腳本,第4層表示存儲(chǔ)處理數(shù)據(jù)的數(shù)據(jù)庫(kù)。例如,第1層使用的技術(shù)L1={Windows10,RedHat,…,Ubuntu}。通過表2[9]能夠看出,一個(gè)有效的配置可以是c1=(Ubuntu,Apache,PHP,MySQL),異構(gòu)化配置在各個(gè)層面可以不同。
表2 異構(gòu)執(zhí)行體
對(duì)于種配置,執(zhí)行體集合S={s1,s2,…,之間有相似性存在,如共同漏洞。定義一個(gè)相關(guān)性矩陣R,rij表示ci、cj這2種配置系統(tǒng)之間的關(guān)聯(lián)程度,即攻破操作系統(tǒng) ci后,操作系統(tǒng)cj被攻破的概率,且 rii=1。關(guān)聯(lián)程度由共同漏洞數(shù)刻畫,共同漏洞數(shù)越大,關(guān)聯(lián)程度越高,對(duì)應(yīng)的元素值越大,如表1所示。設(shè)ci、cj間共同的漏洞數(shù)為Kij,ci本身的漏洞數(shù)為 Vi,其中,令
借鑒生物多樣性中基于物種相似度的多樣性度量方法評(píng)價(jià)配置系統(tǒng)之間的異構(gòu)性[10]。對(duì)于任意配置ci,令
pi為ci在系統(tǒng)中出現(xiàn)的頻率。則定義操作系統(tǒng)的多樣性度量[11]為
其中,c代表拜占庭系統(tǒng)配置方法。在布置異構(gòu)執(zhí)行體時(shí),應(yīng)該盡量使系統(tǒng)的異構(gòu)性最大化,即求得
執(zhí)行體的動(dòng)態(tài)切換是一種很好的提高安全性的方法,這種思想在國(guó)外被充分應(yīng)用在移動(dòng)目標(biāo)防御上。云服務(wù)的資源調(diào)度為執(zhí)行體的切換提供了很好的條件。當(dāng)執(zhí)行體運(yùn)行一段時(shí)間后就需要啟動(dòng)新的異構(gòu)執(zhí)行體來替換。
為了獲得最大的安全性,系統(tǒng)還必須滿足以下要求。
1) 不考慮將執(zhí)行體重置成初始狀態(tài)。因?yàn)閳?zhí)行體如果已經(jīng)被攻破,攻擊者第二次攻破相同系統(tǒng)就會(huì)變得非常容易。
2) 在執(zhí)行體切換過程中,先啟動(dòng)替換執(zhí)行體,等其正常工作后再銷毀原有執(zhí)行體。
① 不會(huì)破壞原系統(tǒng)2f+1的協(xié)議原則。
② 不會(huì)影響用戶的正常使用。
從不同的角度考慮執(zhí)行體的動(dòng)態(tài)化有不同的方法。本文根據(jù)McQueen團(tuán)隊(duì)[12]的研究成果,考慮攻擊者的能力以及每個(gè)執(zhí)行體漏洞情況,基于單個(gè)執(zhí)行體平均攻破時(shí)間(MTTC, meantime-to-compromise),為每個(gè)執(zhí)行體設(shè)置不同的生命周期。
4.3.1 單個(gè)執(zhí)行體平均攻破時(shí)間
本文定義攻擊者在執(zhí)行體上獲得某種級(jí)別的權(quán)限所需的平均時(shí)間為平均攻破時(shí)間。MTTC取決于漏洞的性質(zhì)和攻擊者的技能水平。MTTC被建模為由以下 3個(gè)攻擊者子進(jìn)程組成的隨機(jī)進(jìn)程[12]。
進(jìn)程1:當(dāng)攻擊者識(shí)別出一個(gè)或多個(gè)已知漏洞并且有一個(gè)或多個(gè)可利用漏洞。
進(jìn)程2:當(dāng)攻擊者識(shí)別出一個(gè)或多個(gè)已知的漏洞,但沒有可用的可利用漏洞。
進(jìn)程3:識(shí)別新的漏洞和可利用漏洞。
進(jìn)程1
簡(jiǎn)單假設(shè)可用的漏洞均勻分布在所有漏洞中,則攻擊者具有容易獲得的漏洞概率P1為
參數(shù)詳情如表3所示。表3中數(shù)據(jù)為McQueen等得出的經(jīng)驗(yàn)值,本文以此參數(shù)為案例進(jìn)行分析,不同的云環(huán)境下可以以此為參照,修改相應(yīng)數(shù)值以適應(yīng)不同系統(tǒng)。規(guī)定1天作為進(jìn)程1中成功攻擊的平均時(shí)間[12]。
進(jìn)程2
由于進(jìn)程1和進(jìn)程2是互斥的,即
表3 MTTC中參數(shù)定義和取值
進(jìn)程2的平均時(shí)間估計(jì)應(yīng)該取決于已知漏洞的數(shù)量以及攻擊者能夠找到或編寫自己的漏洞利用代碼以利用漏洞的概率。這被建模為一個(gè)串行過程,攻擊者隨機(jī)選擇一個(gè)已知的漏洞,然后嘗試查找或創(chuàng)建可利用漏洞。依據(jù)嘗試所需基準(zhǔn)平均值為5.8天。過程2的平均時(shí)間被建模為嘗試次數(shù)乘以5.8天的預(yù)期值為
其中,進(jìn)程2預(yù)期的嘗試次數(shù)N為
進(jìn)程3
進(jìn)程3會(huì)持續(xù)到“成功”。發(fā)現(xiàn)可用漏洞的平均時(shí)間的合理估計(jì)為 30.42天。根據(jù)每個(gè)攻擊者級(jí)別,漏洞數(shù)估計(jì)將按進(jìn)行縮放。從而進(jìn)程3的預(yù)期攻破時(shí)間t3為
4.3.2 切換時(shí)間
平均攻破時(shí)間,即3個(gè)過程的總時(shí)間為
其中,u是進(jìn)程2失敗的概率(如果V=0,則u=1)。
通過式(2)可以計(jì)算出每個(gè)執(zhí)行體在不同攻擊水平下的平均攻破時(shí)間t。本文將這個(gè)時(shí)間設(shè)置為該執(zhí)行體的切換時(shí)間,即生命周期。因?yàn)樵?個(gè)執(zhí)行體的生命周期t內(nèi),必須至少同時(shí)有其他f個(gè)被攻破執(zhí)行體才能對(duì)系統(tǒng)造成破壞。即攻擊者必須在t內(nèi)攻破f+1個(gè)以上的執(zhí)行體。這是極其困難的,故系統(tǒng)的安全性可以得到很好的保證。
4.3.3 切換策略
在此系統(tǒng)上,結(jié)合上文的分析,本文設(shè)計(jì)了拜占庭執(zhí)行體的切換策略。
步驟 1 首先切換管理模塊部署多個(gè)異構(gòu)執(zhí)行體,并為每個(gè)執(zhí)行體通過式(2)計(jì)算設(shè)置一個(gè)生命周期t,不同執(zhí)行體的生命周期是不同的。
步驟 2 執(zhí)行體狀態(tài)模塊監(jiān)視每個(gè)執(zhí)行體狀態(tài)。如果拜占庭系統(tǒng)發(fā)現(xiàn)不一致的執(zhí)行體,或者某個(gè)執(zhí)行體生命周期即將到期,執(zhí)行體狀態(tài)模塊要求進(jìn)行執(zhí)行體更換。
步驟 3 切換管理模塊聯(lián)系資源控制器從資源池分配新的資源,執(zhí)行體選擇器從異構(gòu)執(zhí)行體鏡像池中選擇執(zhí)行體鏡像,結(jié)合 4.2節(jié)的異構(gòu)度計(jì)算方法,它要保證其選擇使系統(tǒng)的異構(gòu)性最大。執(zhí)行體狀態(tài)模塊為其設(shè)置一個(gè)生命周期。
步驟 4 切換管理模塊將新舊執(zhí)行體進(jìn)行切換并保證業(yè)務(wù)不中斷。
拜占庭系統(tǒng)具有較高的安全性,并且系統(tǒng)切換時(shí)間越短,消耗資源越多。所以本文將安全劃分成3個(gè)等級(jí):Level 1(初級(jí))、Level 2(中級(jí))、Level 3(專家),依據(jù)攻擊者的3個(gè)水平計(jì)算切換時(shí)間。定義執(zhí)行體i的生命周期分別對(duì)應(yīng)3個(gè)安全等級(jí)的值。這樣管理者可以依靠網(wǎng)絡(luò)狀況、安全需求等具體環(huán)境進(jìn)行選擇。
本節(jié)嘗試分析動(dòng)態(tài)異構(gòu)的拜占庭系統(tǒng)的安全性能。為了便于分析,假設(shè)除設(shè)定的防御機(jī)制外,被保護(hù)系統(tǒng)沒有采取其他安全措施,如入侵檢測(cè)、防火墻等。對(duì)于2f+1的拜占庭系統(tǒng),攻擊者必須在執(zhí)行體生命周期ti內(nèi)攻破f+1個(gè)執(zhí)行體才能攻擊成功。因?yàn)椴⑿泄魧?duì)攻擊團(tuán)隊(duì)要求非常高,投入的資源也是極大的。所以這里僅討論潛伏式串行攻擊。
因?yàn)楣粽叱晒テ埔粋€(gè)執(zhí)行體的概率密度在零時(shí)刻為零,隨著時(shí)間的增加,趨向峰值然后衰減但從未達(dá)到零。所以將1個(gè)執(zhí)行體被攻擊成功的概率密度函數(shù)建模為伽馬函數(shù)[12]。因此專家級(jí)別攻破單個(gè)執(zhí)行體的概率密度函數(shù)如圖2所示,其生命周期根據(jù)式(2)計(jì)算為ti,攻擊者攻破執(zhí)行體i的時(shí)間為iT。
對(duì)于執(zhí)行體
圖2 專家攻破單個(gè)執(zhí)行體的概率密度函數(shù)
其中,θ>0是刻度參數(shù)是形狀參數(shù),Γ(?)是伽馬函數(shù)。因?yàn)槭峭还粽撸疚脑O(shè)置對(duì)各執(zhí)行體攻擊成功概率分布的θ值一樣。
1) 對(duì)于單純鏡像復(fù)制拜占庭系統(tǒng),從4.3.1節(jié)可知,當(dāng)系統(tǒng)攻破一個(gè)執(zhí)行體后,攻破其他鏡像執(zhí)行體就只有進(jìn)程 1,即攻破時(shí)間為天。所以攻破總時(shí)間*T為
由于沒有執(zhí)行體的切換,隨著時(shí)間的積累,系統(tǒng)最終會(huì)被攻破。
2) 對(duì)于靜態(tài)異構(gòu)的拜占庭系統(tǒng),攻擊者攻破個(gè)執(zhí)行體的時(shí)間T服從
明顯,,即異構(gòu)拜占庭系統(tǒng)被攻破需要的時(shí)間更長(zhǎng)。
3) 對(duì)于動(dòng)態(tài)的拜占庭系統(tǒng),其被攻破的概率分布函數(shù)為
ti為攻擊者攻擊的目標(biāo)執(zhí)行體集合中生命周期最小值,f( t)分別對(duì)應(yīng)同構(gòu)系統(tǒng)和異構(gòu)系統(tǒng)被攻破時(shí)間*T和T的概率密度函數(shù)。要想攻破動(dòng)態(tài)的拜占庭系統(tǒng),攻擊者必須要在ti內(nèi)至少攻破f+1個(gè)執(zhí)行體,因?yàn)橐坏┏^ti,生命周期對(duì)應(yīng)為ti的執(zhí)行體就會(huì)被系統(tǒng)切換,攻擊者攻破的執(zhí)行體數(shù)量小于f+1,則攻擊失敗。從式(3)可以看出,切換時(shí)間越短,被攻破的可能性越小。
基于第5節(jié)的4種系統(tǒng)(鏡像復(fù)制拜占庭系統(tǒng)、靜態(tài)異構(gòu)拜占庭系統(tǒng)、動(dòng)態(tài)同構(gòu)拜占庭系統(tǒng)、動(dòng)態(tài)異構(gòu)拜占庭系統(tǒng))架構(gòu)下在潛伏式攻擊中安全性能的數(shù)值解,假設(shè)系統(tǒng)為5個(gè)執(zhí)行體的拜占庭系統(tǒng),仿真專家級(jí)攻擊者對(duì)該系統(tǒng)的攻擊。
本文假設(shè)攻擊者目標(biāo)執(zhí)行體集合*S=,其中,s1的生命周期最短。由式(3)計(jì)算得,專家攻擊者對(duì)于*S執(zhí)行體集合的攻擊成功率如圖 3所示。在 level2的安全等級(jí)下,專家級(jí)攻擊者必須在10天內(nèi)攻破3個(gè)執(zhí)行體*S,一旦超時(shí),s1會(huì)被系統(tǒng)切換,攻擊者必須更換目標(biāo)集合,即攻擊失敗。從圖3可以看出,安全等級(jí)越高,系統(tǒng)被攻破的可能性越小。
圖3 專家在不同安全等級(jí)下攻破系統(tǒng)的概率分布
圖4比較了在安全等級(jí)Level 1環(huán)境下專家級(jí)別攻擊者對(duì)有5、7、9個(gè)執(zhí)行體的動(dòng)態(tài)異構(gòu)拜占庭系統(tǒng)的攻擊成功率??梢钥闯?,異構(gòu)執(zhí)行體越多,系統(tǒng)的安全性越高。所以管理者應(yīng)該根據(jù)自身需求選擇拜占庭系統(tǒng)配置。
圖5給出了4種系統(tǒng)的攻破概率分布??梢钥闯?,在安全等級(jí)Level 3環(huán)境下專家級(jí)別攻擊者對(duì) S*進(jìn)行進(jìn)攻,動(dòng)態(tài)異構(gòu)的防御性能有較高的安全性,攻破概率幾乎為 0,這個(gè)與預(yù)期的結(jié)果一致。HB和B系統(tǒng)的2條線所包圍的面積代表了系統(tǒng)的異構(gòu)度范圍。鏡像復(fù)制拜占庭系統(tǒng)異構(gòu)度最小,圖中HB系統(tǒng)代表“理想”的完全異構(gòu)(任何 2個(gè)系統(tǒng)不可能完全不同)。隨著異構(gòu)度的增大,攻擊成功曲線向右移動(dòng),即攻破需要的時(shí)間也隨之增加。
圖4 執(zhí)行體個(gè)數(shù)對(duì)系統(tǒng)安全性影響
圖5 專家攻破4種系統(tǒng)的概率分布
本文針對(duì)現(xiàn)有云環(huán)境下的拜占庭系統(tǒng)構(gòu)建了一種潛伏式攻擊模型,并提出了一種有效應(yīng)對(duì)此攻擊的防御系統(tǒng),即動(dòng)態(tài)異構(gòu)拜占庭系統(tǒng)。DHB系統(tǒng)主要由異構(gòu)執(zhí)行體組成,運(yùn)行拜占庭協(xié)議,由控制器進(jìn)行動(dòng)態(tài)切換。針對(duì)攻防過程的復(fù)雜性,簡(jiǎn)化了攻防模型,在潛伏式攻擊下對(duì)系統(tǒng)的安全性能進(jìn)行了理論分析。理論與實(shí)踐結(jié)果均表明,在一定程度上增大系統(tǒng)資源開銷的情況下,DHB系統(tǒng)能夠顯著提升被保護(hù)系統(tǒng)的安全性,提升入侵容忍能力。
當(dāng)然,本文著重介紹動(dòng)態(tài)異構(gòu)拜占庭基本框架,下一步是實(shí)現(xiàn)了一個(gè)基于 DHB系統(tǒng)的Web服務(wù)器模型,并對(duì)其展開攻防測(cè)試。本文主要思想不局限于僅通過 MTTC求解切換時(shí)間,而是在確定切換時(shí)間時(shí)需要考慮攻擊模型,將來可以使用其他攻擊模型以研究動(dòng)態(tài)切換。拜占庭系統(tǒng)提高入侵容忍的同時(shí)也帶來了系統(tǒng)成本的提高,執(zhí)行體動(dòng)態(tài)化更是增大了系統(tǒng)開銷,所以將系統(tǒng)開銷納入切換策略中也是個(gè)很好的研究方向。
參考文獻(xiàn):
[1]王秀蘋. 云計(jì)算下基于拜占庭算法的容忍入侵技術(shù)研究[D]. 包頭: 內(nèi)蒙古科技大學(xué), 2012.WANG X P. Research on intrusion tolerance based on Byzantine algorithm in c1oud computing[D]. Baotou: Inner Mongolia University of Science and Technology, 2012.
[2]ZHANG Y, ZHENG Z, LYU M R. BFTCloud: a Byzantine fault tolerance framework for voluntary-resource cloud computing[C]//International Conference on Cloud Computing. 2011: 444-451.
[3]ALZAIN M A, SOH B, PARDEDE E. A Byzantine fault tolerance model for a multi-cloud computing[C]//International Conference on Computational Science and Engineering. 2013: 130-137.
[4]KAPITZA R, BEHL J, CACHIN C, et al. CheapBFT: resourceefficient Byzantine fault tolerance[J]. IEEE Transactions on Computers, 2016, 65(9): 2807-2819.
[5]MERIDETH M G, IYENGAR A, MIKALSEN T, et al. Thema:Byzantine-fault-tolerant middleware for Web-service applications[C]//IEEE Symposium on Reliable Distributed Systems. 2005: 131-142.
[6]ZHAO W. BFT-WS: A Byzantine fault tolerance framework for Web services[C]//Eleventh International IEEE Edoc Conference Workshop. 2007: 89-96.
[7]PALLEMULLE S L, THORVALDSSON H D, GOLDMAN K J.Byzantine fault-tolerant Web services for n-tier and service oriented architectures[C]//The International Conference on Distributed Computing Systems. 2008: 260-268.
[8]PENG W, LI F, HUANG C T, et al. A moving-target defense strategy for cloud-based services with heterogeneous and dynamic attack surfaces[C]//IEEE International Conference on Communications. 2014: 804-809.
[9]仝青, 張錚, 張為華, 等. 擬態(tài)防御 Web服務(wù)器設(shè)計(jì)與實(shí)現(xiàn)[J].軟件學(xué)報(bào), 2017, 28(4): 883-897.TONG Q, ZHANG Z, ZHANG W H, et al. The design and implementation of mimic defense Web server[J]. Journal of Software,2017, 28(4): 883-897.
[10]LEINSTER T, COBBOLD C A. Measuring diversity: the importance of species similarity[J]. Ecology, 2012, 93(3): 477.
[11]ZHANG M, WANG L, JAJODIA S, et al. Network diversity: a security metric for evaluating the resilience of networks against zero-day attacks[J]. IEEE Transactions on Information Forensics &Security, 2016, 11(5): 1071-1086.
[12]MCQUEEN M A, BOYER W F, FLYNN M A, et al. Time-tocompromise model for cyber risk reduction estimation[M]//Quality of Protection. Berlin: Springer, 2006: 49-64.