郭 威,謝光偉,張 帆,李 敏
(1.戰(zhàn)略支援部隊(duì)信息工程大學(xué) a.信息技術(shù)研究所; b.教研保障中心,鄭州 450002;2.復(fù)旦大學(xué) 計(jì)算機(jī)科學(xué)技術(shù)學(xué)院,上海 200203)
隨著云計(jì)算、大數(shù)據(jù)、物聯(lián)網(wǎng)等技術(shù)的發(fā)展和普及,新一代信息基礎(chǔ)設(shè)施逐漸由離散化服務(wù)器向集中化數(shù)據(jù)中心演變,促進(jìn)了其應(yīng)用模式的巨大變革。作為其中的數(shù)據(jù)服務(wù)支撐,分布式存儲(chǔ)架構(gòu)的研究與應(yīng)用增強(qiáng)了系統(tǒng)的橫向擴(kuò)展、并行服務(wù)、容災(zāi)備份等能力[1]。但與此同時(shí),高度集中化的應(yīng)用場(chǎng)景特點(diǎn)、各類(lèi)網(wǎng)絡(luò)攻擊手段[2-3]以及自身架構(gòu)設(shè)計(jì)中對(duì)安全性考慮的不足,都使得數(shù)據(jù)存儲(chǔ)環(huán)節(jié)面臨巨大的安全挑戰(zhàn)[4]。此外,資源、數(shù)據(jù)、服務(wù)共享的模式,不僅使得邊界監(jiān)測(cè)、補(bǔ)丁升級(jí)、加密認(rèn)證等傳統(tǒng)防御手段的應(yīng)用受限,而且還為網(wǎng)絡(luò)攻擊、病毒傳播提供了便利條件。在各類(lèi)威脅中,網(wǎng)絡(luò)空間普遍存在的未知漏洞和后門(mén),由于難以及時(shí)被發(fā)現(xiàn)、處置和消除,已成為新一代信息技術(shù)推廣應(yīng)用的巨大阻礙。
主動(dòng)防御是近年來(lái)網(wǎng)絡(luò)空間安全領(lǐng)域的研究熱點(diǎn)。受到生物界擬態(tài)現(xiàn)象展現(xiàn)的防御效應(yīng)啟發(fā),網(wǎng)絡(luò)空間擬態(tài)防御(Cyberspace Mimic Defense,CMD)被提出作為一種新的主動(dòng)防御方法[5](簡(jiǎn)稱(chēng)為擬態(tài)防御)。CMD借鑒融合了移動(dòng)目標(biāo)防御[6]與可靠性領(lǐng)域非相似余度構(gòu)造[7]的防御機(jī)理,利用動(dòng)態(tài)異構(gòu)冗余(Dynamic Heterogeneous Redundancy,DHR)模型構(gòu)建多個(gè)隔離且異構(gòu)的空間并行工作,以目標(biāo)系統(tǒng)內(nèi)漏洞和后門(mén)的差異性作為抵御攻擊的基礎(chǔ),并通過(guò)對(duì)各空間多路結(jié)果的相互驗(yàn)證,感知攻擊行為和受感染目標(biāo),從而有針對(duì)性地應(yīng)對(duì)處理,為目標(biāo)系統(tǒng)提供集安全性與可靠性為一體的內(nèi)生防御能力。目前,該方法已經(jīng)被廣泛用于Web[8]、路由器[9]、SDN[10]等諸多方面[11-13],形成了良好的研究、應(yīng)用和發(fā)展趨勢(shì)。
在對(duì)存儲(chǔ)系統(tǒng)的擬態(tài)化研究中,文獻(xiàn)[14]提出以文件交互接口POSIX劃定擬態(tài)界,對(duì)整個(gè)存儲(chǔ)系統(tǒng)進(jìn)行異構(gòu)和冗余化,其通過(guò)比較多個(gè)系統(tǒng)對(duì)訪問(wèn)請(qǐng)求的數(shù)據(jù)文件響應(yīng),實(shí)現(xiàn)威脅感知和數(shù)據(jù)結(jié)果的修正。這種架構(gòu)設(shè)計(jì)以標(biāo)準(zhǔn)協(xié)議接口作為擬態(tài)化對(duì)象,期望屏蔽各個(gè)異構(gòu)系統(tǒng)的實(shí)現(xiàn)細(xì)節(jié),但防御成本過(guò)高。在實(shí)際應(yīng)用中,分布式存儲(chǔ)系統(tǒng)通常由成百上千個(gè)節(jié)點(diǎn)組成,并且數(shù)據(jù)以冗余的形式存在[15],如果對(duì)全系統(tǒng)進(jìn)行異構(gòu)冗余化構(gòu)建,會(huì)使得節(jié)點(diǎn)數(shù)量和數(shù)據(jù)冗余成倍增長(zhǎng),單位存儲(chǔ)成本急劇上升,因此,實(shí)用意義有限。文獻(xiàn)[16]對(duì)數(shù)據(jù)分段處理過(guò)程進(jìn)行擬態(tài)化保護(hù),利用網(wǎng)絡(luò)編碼技術(shù)提出一種基于再生碼的擬態(tài)變換機(jī)制,可根據(jù)隨機(jī)時(shí)變因素動(dòng)態(tài)改變數(shù)據(jù)的存儲(chǔ)狀態(tài),提升數(shù)據(jù)完整性和數(shù)據(jù)持續(xù)可用性。然而這種方式僅能保護(hù)數(shù)據(jù)的完整性和可用性,而無(wú)法保護(hù)數(shù)據(jù)的機(jī)密性和數(shù)據(jù)承載系統(tǒng)的安全性。文獻(xiàn)[17]指出,DHR結(jié)構(gòu)的威脅感知能力是基于擬態(tài)界上具有可比較的輸出結(jié)果而存在的,如果以整個(gè)分布式存儲(chǔ)系統(tǒng)的數(shù)據(jù)輸出劃定比較邊界,那么系統(tǒng)內(nèi)部的客戶(hù)端、元數(shù)據(jù)節(jié)點(diǎn)以及數(shù)據(jù)節(jié)點(diǎn)間的異常交互將無(wú)法被及時(shí)發(fā)現(xiàn),因此,并沒(méi)有達(dá)到對(duì)系統(tǒng)進(jìn)行保護(hù)的防御預(yù)期,其可獲得的安全能力是有限的。
綜上分析可知,在進(jìn)行分布式存儲(chǔ)系統(tǒng)擬態(tài)化設(shè)計(jì)時(shí),需要根據(jù)防護(hù)目標(biāo)確定合適的DHR模型使用方法,同時(shí)應(yīng)從防御成本、可實(shí)現(xiàn)性、防護(hù)有效性等多個(gè)方面對(duì)擬態(tài)界選定及其架構(gòu)進(jìn)行考量,發(fā)揮CMD“要地防御”的原則和優(yōu)勢(shì),確保系統(tǒng)在安全、性能、代價(jià)、可實(shí)現(xiàn)性等方面有效可行。根據(jù)這一設(shè)計(jì)思想,本文針對(duì)大數(shù)據(jù)存儲(chǔ)Hadoop分布式文件系統(tǒng)(Hadoop Distributed File System,HDFS)[18]設(shè)計(jì)擬態(tài)化架構(gòu)Mimic-HDFS,為分布式存儲(chǔ)系統(tǒng)的安全防護(hù)提供基本框架支撐。
根據(jù)信息安全CIA三性可知,一個(gè)存儲(chǔ)系統(tǒng)需要滿(mǎn)足以下安全要求:1)機(jī)密性,即數(shù)據(jù)信息在傳輸和存儲(chǔ)狀態(tài)時(shí)需要擁有特定的權(quán)限才能進(jìn)行訪問(wèn),不應(yīng)泄露給未經(jīng)授權(quán)者;2)完整性,即數(shù)據(jù)信息在傳輸和存儲(chǔ)狀態(tài)時(shí)沒(méi)有被非法添加、刪除、替換等,合法訪問(wèn)得到的結(jié)果是正確有效的;3)可用性,即存儲(chǔ)系統(tǒng)隨時(shí)能為授權(quán)者提供正常、有效的服務(wù),合法的操作請(qǐng)求不會(huì)被不合理地拒絕。
目前,傳輸過(guò)程的數(shù)據(jù)安全性一般通過(guò)網(wǎng)絡(luò)保護(hù)措施和傳輸加密來(lái)保證,可用性所涉及的DoS攻擊也不屬于擬態(tài)防御的防護(hù)范疇,因此,本文中不做過(guò)多討論。權(quán)限的鑒別和管理一般通過(guò)運(yùn)行相應(yīng)的“認(rèn)證-授權(quán)-審計(jì)”即3A服務(wù)[19]來(lái)保證,負(fù)責(zé)對(duì)訪問(wèn)發(fā)起者的身份和申請(qǐng)的操作進(jìn)行合法性確認(rèn),是存儲(chǔ)系統(tǒng)重要的安全機(jī)制。但是,基于漏洞和后門(mén)發(fā)起的攻擊能夠通過(guò)繞過(guò)甚至破壞安全機(jī)制達(dá)到攻擊目的,因此,本文通過(guò)引入CMD的動(dòng)態(tài)、異構(gòu)、冗余機(jī)制來(lái)加固服務(wù)。對(duì)于分布式存儲(chǔ)系統(tǒng)而言,其所面臨的攻擊可歸納為數(shù)據(jù)竊取(破壞私密性)和數(shù)據(jù)毀損(破壞完整性)兩種方式,此處結(jié)合攻擊鏈模型給出其一般架構(gòu)下的實(shí)現(xiàn)途徑,如圖1所示。圖1(a)中的數(shù)據(jù)竊取攻擊目標(biāo)是非法獲得系統(tǒng)中存儲(chǔ)的用戶(hù)數(shù)據(jù),此過(guò)程需要先獲取元數(shù)據(jù)節(jié)點(diǎn)上的數(shù)據(jù)組織映射關(guān)系和位置關(guān)系,再通過(guò)對(duì)具體數(shù)據(jù)節(jié)點(diǎn)的數(shù)據(jù)塊進(jìn)行竊取組合還原出目標(biāo)文件。圖1(b)中的數(shù)據(jù)損毀攻擊目標(biāo)是要破壞用戶(hù)數(shù)據(jù),此過(guò)程只需要對(duì)數(shù)據(jù)節(jié)點(diǎn)上的塊進(jìn)行破壞即可,無(wú)需攻擊元數(shù)據(jù)節(jié)點(diǎn)。
圖1 針對(duì)分布式存儲(chǔ)系統(tǒng)的攻擊途徑
由上述分析可知,在實(shí)施攻擊時(shí),對(duì)象的選取具有決定性作用,下面以HDFS中客戶(hù)端、元數(shù)據(jù)節(jié)點(diǎn)、數(shù)據(jù)節(jié)點(diǎn)3種角色作為攻擊目標(biāo)探討攻擊效果。
1)客戶(hù)端。在系統(tǒng)3A服務(wù)正常工作的條件下,如果攻擊者劫持了某個(gè)客戶(hù)端節(jié)點(diǎn),那么攻擊者也僅能獲取該客戶(hù)端上用戶(hù)的訪問(wèn)權(quán)限,竊取有權(quán)讀的數(shù)據(jù),篡改破壞有權(quán)寫(xiě)的數(shù)據(jù)。這樣,只要管理員能夠?qū)τ脩?hù)群組的權(quán)限進(jìn)行合理配置,攻擊就不會(huì)波及到其他用戶(hù)的數(shù)據(jù)。所以,該方式的攻擊影響力相當(dāng)有限,一般作為攻擊跳板以便于后續(xù)對(duì)元數(shù)據(jù)節(jié)點(diǎn)或數(shù)據(jù)節(jié)點(diǎn)進(jìn)行攻擊。
2)元數(shù)據(jù)節(jié)點(diǎn)。作為系統(tǒng)中的核心信息和服務(wù)功能承載,一旦攻擊者劫持了元數(shù)據(jù)節(jié)點(diǎn),則元數(shù)據(jù)信息及相關(guān)服務(wù)功能將面臨極大威脅。一方面,攻擊者可以直接竊取或篡改元數(shù)據(jù)信息,從而獲得或破壞用戶(hù)數(shù)據(jù)的組織方式和存儲(chǔ)位置;另一方面,攻擊者還可以篡改和破壞該元數(shù)據(jù)節(jié)點(diǎn)負(fù)責(zé)的服務(wù)功能,直接操縱和破壞系統(tǒng)正常運(yùn)轉(zhuǎn);更甚者,如果該元數(shù)據(jù)節(jié)點(diǎn)配置了系統(tǒng)管理員用戶(hù)權(quán)限,那么攻擊者可以直接篡改認(rèn)證和服務(wù)功能,使原本非法的訪問(wèn)操作合法化,危害到系統(tǒng)全部數(shù)據(jù)的私密性和完整性。因此,從收益角度考慮,元數(shù)據(jù)節(jié)點(diǎn)無(wú)疑是攻擊者的首選目標(biāo)。
3)數(shù)據(jù)節(jié)點(diǎn)。在HDFS中,用戶(hù)的數(shù)據(jù)以條帶化(也稱(chēng)分塊)和副本冗余的方式存放在數(shù)據(jù)節(jié)點(diǎn)集群中。當(dāng)攻擊者劫持了某一數(shù)據(jù)節(jié)點(diǎn),則可以竊取和篡改該節(jié)點(diǎn)上的塊副本,造成一定程度的危害。
需要說(shuō)明的是:
1)在元數(shù)據(jù)節(jié)點(diǎn)安全性得以保證的條件下,數(shù)據(jù)竊取攻擊雖然能夠獲得被劫持?jǐn)?shù)據(jù)節(jié)點(diǎn)上實(shí)際的物理塊,但是并沒(méi)有獲取到可理解的有效信息。數(shù)據(jù)與信息間的映射關(guān)系如圖2所示,其中:存儲(chǔ)對(duì)象一般指用戶(hù)的原始數(shù)據(jù),是能夠被擁有者理解和獲得的有效信息;存儲(chǔ)對(duì)象經(jīng)過(guò)存儲(chǔ)系統(tǒng)的條帶化后,單個(gè)邏輯塊所呈現(xiàn)的信息會(huì)大幅減少,甚至在很多場(chǎng)景下是不可理解的(即擁有者不但要掌握所有邏輯塊,而且還要通過(guò)正確的組織順序還原出存儲(chǔ)對(duì)象);物理塊是邏輯塊在數(shù)據(jù)節(jié)點(diǎn)上的真實(shí)存儲(chǔ),在冗余副本方式下一個(gè)邏輯塊會(huì)映射到集群的多個(gè)數(shù)據(jù)節(jié)點(diǎn)上。不難看出,在沒(méi)有系統(tǒng)元數(shù)據(jù)信息支持的情況下,攻擊者即便能夠劫持?jǐn)?shù)據(jù)節(jié)點(diǎn),也可能無(wú)法掌握期望目標(biāo)存儲(chǔ)對(duì)象的所有物理塊,并且即便擁有所有物理塊也不能立刻恢復(fù)出有效的信息,因此,數(shù)據(jù)竊取攻擊受到極大限制。
圖2 數(shù)據(jù)與信息間的映射關(guān)系
2)對(duì)于數(shù)據(jù)毀損攻擊,由于分布式存儲(chǔ)系統(tǒng)大多引入了副本或糾刪碼策略來(lái)構(gòu)建數(shù)據(jù)冗余,即使某個(gè)數(shù)據(jù)節(jié)點(diǎn)被劫持,集群中還會(huì)有其他節(jié)點(diǎn)能夠正常響應(yīng)用戶(hù)的數(shù)據(jù)請(qǐng)求,所造成的威脅就相當(dāng)有限,因此,分布式存儲(chǔ)系統(tǒng)自身具備冗余特性能夠?yàn)閿?shù)據(jù)完整性提供一定的保護(hù)能力。
通過(guò)上述威脅分析可知,元數(shù)據(jù)節(jié)點(diǎn)是分布式存儲(chǔ)系統(tǒng)中的高危目標(biāo),無(wú)論從實(shí)現(xiàn)難度還是獲得的收益來(lái)說(shuō),都是攻擊者的首選目標(biāo)。同樣,從防護(hù)者的角度出發(fā),如果能夠通過(guò)CMD安全機(jī)制對(duì)元數(shù)據(jù)服務(wù)進(jìn)行保護(hù),就能夠獲得最大的安全收益。在防護(hù)代價(jià)上,由于異構(gòu)冗余本身需要付出額外的成本和性能開(kāi)銷(xiāo),因此如果劃定元數(shù)據(jù)服務(wù)為擬態(tài)防護(hù)界,則能夠大幅減少成本開(kāi)銷(xiāo)并且減輕代理的負(fù)載壓力,具有更好的可實(shí)現(xiàn)性。同時(shí),對(duì)于數(shù)據(jù)節(jié)點(diǎn)的保護(hù)可以不嚴(yán)格采用DHR構(gòu)造,而是在現(xiàn)有分塊冗余方式的基礎(chǔ)上,通過(guò)引入異構(gòu)性來(lái)增強(qiáng)數(shù)據(jù)物理塊的存儲(chǔ)安全性。通過(guò)考慮以上因素,本文提出一種面向元數(shù)據(jù)服務(wù)的擬態(tài)化架構(gòu),期望提升分布式存儲(chǔ)系統(tǒng)的抗攻擊能力。
根據(jù)上文確立的擬態(tài)界及相應(yīng)的防護(hù)思路,本節(jié)設(shè)計(jì)面向元數(shù)據(jù)服務(wù)的HDFS擬態(tài)化架構(gòu)Mimic-HDFS。為降低設(shè)計(jì)和實(shí)現(xiàn)復(fù)雜度同時(shí)保持對(duì)原有系統(tǒng)的兼容性,Mimic-HDFS依然沿用HDFS的基本節(jié)點(diǎn)職能和交互流程,其組織架構(gòu)如圖3所示,交互流程如圖4所示。
圖3 Mimic-HDFS系統(tǒng)架構(gòu)
圖4 Mimic-HDFS系統(tǒng)交互流程
Mimic-HDFS系統(tǒng)由客戶(hù)端(Client)、基于DHR模型的元數(shù)據(jù)服務(wù)結(jié)構(gòu)(M-Namenode)和異構(gòu)化的數(shù)據(jù)節(jié)點(diǎn)(H-Datanode)3種角色組成。其中,Client無(wú)需進(jìn)行任何改動(dòng),H-Datanode僅需要對(duì)存儲(chǔ)集群的異構(gòu)性進(jìn)行有效標(biāo)識(shí)和利用,提供元數(shù)據(jù)服務(wù)的Namenode是擬態(tài)化的主要改造對(duì)象,需要對(duì)其進(jìn)行異構(gòu)冗余化配置組成執(zhí)行體集合,然后配合帶有分發(fā)裁決功能的Namenode代理(NN-Agent)和調(diào)度控制器(Scheduler)共同構(gòu)成M-Namenode,從而實(shí)現(xiàn)DHR的結(jié)構(gòu)及其防御功效。Mimic-HDFS的消息交互流程設(shè)計(jì)如下:
1)Client與NN-Agent建立訪問(wèn)的Connection并發(fā)送操作請(qǐng)求(OP_REQ)。
2)NN-Agent與M-Namenode中l(wèi)個(gè)在線執(zhí)行體分別建立Connection*并轉(zhuǎn)發(fā)OP_REQ*。
3)各個(gè)Namenode獨(dú)立進(jìn)行消息處理,并將操作響應(yīng)(OP_RESP)返回至NN-Agent。
4)NN-Agent接收到全部OP_RESP*后,通過(guò)內(nèi)部裁決策略進(jìn)行處理得到最終OP_RESP。
5)Client從NN-Agent得到返回的OP_RESP,繼續(xù)與H-Datanode進(jìn)行數(shù)據(jù)交互,完成目標(biāo)操作。
6)如果在第4個(gè)步驟NN-Agent對(duì)多路OP_RESP*進(jìn)行裁決時(shí)發(fā)生了不一致的情況,則將該次裁決的相關(guān)信息通過(guò)反饋消息(FEEDBACK)發(fā)至Scheduler。
7)Scheduler根據(jù)加載的調(diào)度算法處理FEEDBACK并發(fā)送控制消息(CONTROL),實(shí)現(xiàn)系統(tǒng)的動(dòng)態(tài)變換,主要的工作包括:(1)控制NN-Agent停止向異常執(zhí)行體繼續(xù)發(fā)送數(shù)據(jù);(2)控制M-Namenode在線集合中的異常執(zhí)行體下線處理;(3)備用集合中擬上線執(zhí)行體進(jìn)行狀態(tài)和數(shù)據(jù)同步;(4)得到同步確認(rèn)消息(STATE_ACK)后,控制NN-Agent開(kāi)始向新上線執(zhí)行體發(fā)送數(shù)據(jù)。
Mimic-HDFS的交互流程可分為HDFS交互協(xié)議(步驟1、步驟5)和Mimic結(jié)構(gòu)交互協(xié)議(步驟2~步驟4和步驟6、步驟7)兩個(gè)獨(dú)立部分,使M-Namenode內(nèi)部運(yùn)轉(zhuǎn)對(duì)Client和H-Datanode透明化存在,由NN-Agent提供原Namenode的所有元數(shù)據(jù)服務(wù),在提升自身安全性的同時(shí)保證對(duì)原有架構(gòu)的良好兼容。
在M-Namenode中,異構(gòu)冗余的執(zhí)行體集合是提供安全能力的基礎(chǔ)條件。如圖5所示,各個(gè)元數(shù)據(jù)服務(wù)執(zhí)行體(Metadata Service Executor,MSE)由不同的組件構(gòu)成,但開(kāi)放的元數(shù)據(jù)服務(wù)功能是等價(jià)的。所謂等價(jià),是指在相同的OP_REQ消息激勵(lì)下,所得出的OP_RESP是一致的,該條件由HDFS私有RPC協(xié)議的一致性得以保證。
通過(guò)在硬件平臺(tái)、操作系統(tǒng)、運(yùn)行環(huán)境和應(yīng)用程序各組件上的多樣化組合構(gòu)建,M-Namenode期望得到的理想效果為:在非元數(shù)據(jù)功能的請(qǐng)求激勵(lì)下,即基于漏洞和后門(mén)的攻擊請(qǐng)求(AT_REQ),僅單個(gè)或少數(shù)生效的執(zhí)行體給出攻擊響應(yīng)(AT_RESP),其余無(wú)效執(zhí)行體給出正常且一致的OP_RESP,這樣在裁決過(guò)程中就能呈現(xiàn)出多數(shù)一致正確與少數(shù)不一致錯(cuò)誤的情況,從而執(zhí)行交互流程中的步驟6、步驟7,使得系統(tǒng)在提供正常服務(wù)的同時(shí),具有抵御漏洞和后門(mén)的安全能力。
然而現(xiàn)實(shí)情況是,各組件的多樣性是有限的,相互組合也存在一定的兼容性問(wèn)題,因此,M-Namenode各個(gè)MSE之間必然會(huì)存在漏洞或后門(mén)重疊的情況,稱(chēng)之為共模威脅。共模威脅可能會(huì)造成多數(shù)MSE發(fā)生異常,使AT_RESP占據(jù)響應(yīng)中的多數(shù),最終被判定為正確結(jié)果而返回,實(shí)現(xiàn)所謂的“逃逸”。雖然M-Namenode從理論上存在攻擊逃逸的可能,但根據(jù)CMD理論以及目前實(shí)際應(yīng)用的情況來(lái)看,異構(gòu)冗余帶來(lái)的安全增益是顯著的,主要源于以下因素:
1)多MSE相比單MSE而言,攻擊成功的前提從原有的“存在任意可利用的漏洞后門(mén)”變?yōu)椤爸辽俅嬖?個(gè)多數(shù)重疊的共模威脅”,條件變得更加苛刻。
2)即使多MSE的攻擊條件存在,針對(duì)該漏洞后門(mén)的交互過(guò)程必須通過(guò)相同的AT_REQ激勵(lì)得到一致的AT_RESP,否則就會(huì)出現(xiàn)不一致情況而被發(fā)現(xiàn),攻擊實(shí)施的難度也顯著增加。
3)即使能夠?qū)崿F(xiàn)一次AT_RESP逃逸,但APT滲透需要嗅探、滲透、上傳等多個(gè)步驟[20],只要存在一次AT_RESP不一致,那么該過(guò)程就會(huì)被感知到并進(jìn)行相應(yīng)處理,導(dǎo)致前序攻擊成果失效。因此,對(duì)M-Namenode而言,基于漏洞和后門(mén)實(shí)施攻擊的難度明顯增加,原先異攻難守的局面被徹底逆轉(zhuǎn)。
從M-Namenode的防御機(jī)理上看,MSE構(gòu)件的多樣性越豐富及構(gòu)件間的異構(gòu)性越大,則各MSE間出現(xiàn)重疊漏洞和后門(mén)的概率就越低,攻擊的成功率也會(huì)越低。另外,在多樣性能夠滿(mǎn)足的條件下,如果增加在線工作的異構(gòu)MSE數(shù)量(簡(jiǎn)稱(chēng)冗余度),則實(shí)現(xiàn)逃逸的難度也會(huì)增大,使攻擊成功率進(jìn)一步降低,但同時(shí)也會(huì)引入更多的成本和處理開(kāi)銷(xiāo)。
Mimic-HDFS的設(shè)計(jì)以保護(hù)系統(tǒng)關(guān)鍵的元數(shù)據(jù)服務(wù)為核心思想,通過(guò)DHR構(gòu)建M-Namenode,同時(shí)也權(quán)衡了威脅、代價(jià)、有效性等方面對(duì)數(shù)據(jù)節(jié)點(diǎn)進(jìn)行簡(jiǎn)易化的擬態(tài)保護(hù),主要體現(xiàn)在借助于異構(gòu)機(jī)制搭建H-Datanode集群,然后利用冗余機(jī)制放置塊副本,保護(hù)數(shù)據(jù)的完整性和可用性。
對(duì)于上述設(shè)計(jì),由于HDFS本身就提供了副本冗余支持,因此只要配合H-Datanode和有效的副本放置策略即可實(shí)現(xiàn),無(wú)需對(duì)原有Datanode的交互協(xié)議和格式進(jìn)行更改。H-Datanode的異構(gòu)化方式與M-Namenode中異構(gòu)執(zhí)行體類(lèi)似,結(jié)合現(xiàn)有大型數(shù)據(jù)中心建設(shè)的實(shí)際情況來(lái)看,多樣化的平臺(tái)和異構(gòu)系統(tǒng)恰恰是大規(guī)模集群具有的天然屬性,因此,只需要在Namenode程序的放置邏輯中添加有效的算法即可。HDFS默認(rèn)的機(jī)架感知放置策略(Rack-Aware)如圖6所示。對(duì)于單個(gè)數(shù)據(jù)塊的m個(gè)副本{R1,R2,…,Rm},Rack-Aware將R1放置在隨機(jī)的Datanode上,將R2放置在任一不同機(jī)架的任意節(jié)點(diǎn)上,將R3放置在R2相同但機(jī)架不同的任意節(jié)點(diǎn)上,后續(xù)副本放置在與R1~R3不同的隨機(jī)位置上。由于該方法具有一定的隨機(jī)性,因此從理論上具有實(shí)現(xiàn)冗余副本異構(gòu)化放置的能力,本文中不再對(duì)如何更好地利用集群異構(gòu)性展開(kāi)詳細(xì)討論。
圖6 HDFS默認(rèn)的Rack-Aware放置策略
在M-Namenode中,異構(gòu)冗余的執(zhí)行體集合是安全增益的基礎(chǔ),而裁決(Mimic-HDFS交互流程步驟4)與調(diào)度(Mimic-HDFS交互流程步驟7)機(jī)制則是決定安全增益的關(guān)鍵。當(dāng)發(fā)生不一致情況時(shí),裁決機(jī)制需要從OP_RESP*中判定輸出正常的OP_RESP,屏蔽掉AT_RESP,從而切斷攻擊的鏈條。與此同時(shí),調(diào)度機(jī)制需要發(fā)揮作用對(duì)在線MSE集合進(jìn)行調(diào)度變換,使得前序攻擊成果無(wú)法穩(wěn)定保持。
如圖7所示,設(shè)M-Namenode執(zhí)行體全集Θ={MSE1,MSE2,…,MSEM},其中M是執(zhí)行體總數(shù)。設(shè)余度為l,則從一次調(diào)度時(shí)刻ti至下次ti+1的在線集合E(ti,ti+1)={MSEk1,MSEk2,…,MSEkl}。以Υ表示E(Δti),其中,i為調(diào)度序數(shù),Δti可理解為第i次調(diào)度上線集合維持的時(shí)長(zhǎng)。
圖7 裁決與調(diào)度機(jī)制示意圖
(1)
Υ:E(Δti)→E(Δti+1)
(2)
式(1)中的Ψ表示裁決算法,目標(biāo)是要盡可能提升RESPf的正確性;式(2)中的Υ表示調(diào)度算法,目標(biāo)是要確定當(dāng)前第i次調(diào)度后在線集合的維持時(shí)間Δti以及第i+1次調(diào)度時(shí)新的在線集合E(Δti+1),盡可能提升M-Namenode的安全性。
設(shè)當(dāng)前所在時(shí)間區(qū)間為ti~ti+1,FBAS機(jī)制工作流程設(shè)計(jì)如下:
輸出RESPf,Δti,E(Δti+1)
3)判斷cmax是否超過(guò)在線MSE半數(shù)「(l+1)/2?,若是,則RESPf=RESPcmax;否則,調(diào)入W={ωk1,ωk2,…,ωkl}計(jì)算各序號(hào)組的置信度結(jié)果Wc,并輸出置信度最大組對(duì)應(yīng)的結(jié)果RESPf=RESPcWmax。
(3)
4)記錄反饋信息Φi,若步驟3中cmax≥「(l+1)/2?,則對(duì)C-cmax集合中對(duì)應(yīng)序號(hào)的執(zhí)行體信息值加1;若cmax<「(l+1)/2?,則對(duì)在線集合所有執(zhí)行體信息值加1。
5)通過(guò)Φi更新置信度向量W,此處W(Φi)的設(shè)置方法可以根據(jù)實(shí)際情況而定,原則是成反比關(guān)系,本文直接通過(guò)取倒數(shù)的方式即ωx=1/θx得到,其中,當(dāng)θx=0時(shí),可設(shè)置為一個(gè)超過(guò)1的數(shù)值,本文設(shè)為3。
6)通過(guò)Φi聯(lián)動(dòng)更新時(shí)間Δti,Δti(Φi)的設(shè)置方法也是可靈活設(shè)定的,總體原則是當(dāng)異常發(fā)生增加時(shí)應(yīng)加大聯(lián)動(dòng)的效果,加快縮減Δti,從而使結(jié)構(gòu)盡快回到安全狀態(tài)。本文設(shè)定一個(gè)單位縮減時(shí)間tu,調(diào)度時(shí)間更新計(jì)算公式為:
(4)
7)系統(tǒng)內(nèi)部設(shè)置了Δti的觸發(fā)計(jì)時(shí)器,一旦條件t-ti≥Δti(Φi)滿(mǎn)足即會(huì)發(fā)起調(diào)度。根據(jù)攻擊過(guò)程大概率出現(xiàn)不一致的定律,選擇E(Δti)中置信度最低的MSE下線,為保證結(jié)構(gòu)的不確定性,備用的MSE采用隨機(jī)選取上線,確立最終的調(diào)度目標(biāo)集合E(Δti+1)。
在上述步驟中:步驟1~步驟3實(shí)現(xiàn)了裁決機(jī)制的主要工作,其時(shí)間復(fù)雜度為O(2l+2n),由于實(shí)際應(yīng)用中在線MSE的數(shù)量有限,因此時(shí)間開(kāi)銷(xiāo)不會(huì)很大;步驟4~步驟7負(fù)責(zé)更新反饋信息和實(shí)現(xiàn)調(diào)度機(jī)制,其時(shí)間復(fù)雜度為O(4l),同樣也不會(huì)引發(fā)過(guò)大的時(shí)間開(kāi)銷(xiāo)。
通過(guò)上述流程描述可知,FBAS的基本出發(fā)點(diǎn)是充分利用M-Namenode運(yùn)行時(shí)感知到的異常反饋信息,通過(guò)該信息不斷更新在線MSE的置信度,確保在異常發(fā)生時(shí)盡量輸出可信的結(jié)果。同時(shí),通過(guò)對(duì)調(diào)度時(shí)間的聯(lián)動(dòng)更新,在異常頻發(fā)時(shí)縮小調(diào)度間隔時(shí)間,盡快清除異常使系統(tǒng)還原正常狀態(tài),調(diào)度時(shí)參考該周期內(nèi)的置信度表現(xiàn),將異常次數(shù)低的不可信執(zhí)行體調(diào)度下線,使M-Namenode盡可能規(guī)避攻擊者當(dāng)前發(fā)起的攻擊(當(dāng)前攻擊有效的MSE大概率產(chǎn)生較多的異常次數(shù),置信度相對(duì)較低)。
由此可知,M-Namenode對(duì)于漏洞和后門(mén)威脅的防御機(jī)理與現(xiàn)有基于精確特征感知的被動(dòng)方式完全不同,它并不依賴(lài)于龐大的特征庫(kù)和滯后的漏洞修補(bǔ),而是通過(guò)自身結(jié)構(gòu)中MSE的異構(gòu)冗余運(yùn)行、裁決反饋和動(dòng)態(tài)調(diào)度機(jī)制產(chǎn)生安全屬性,因此,無(wú)論對(duì)已知還是未知威脅都有效,并且其防御能力與各MSE自身存在的漏洞數(shù)量弱相關(guān),與組件的異構(gòu)性和多樣性程度強(qiáng)相關(guān)。值得注意的是,基于CMD所得到的安全能力與現(xiàn)有防護(hù)方法可形成良好的互補(bǔ)關(guān)系,體現(xiàn)為:
1)通過(guò)防火墻、系統(tǒng)補(bǔ)丁進(jìn)一步提升單個(gè)MSE的安全性,降低共模威脅的出現(xiàn)概率,這對(duì)M-Namenode的安全性可有指數(shù)級(jí)別的提升效果。
2)通過(guò)適當(dāng)擴(kuò)大CMD保護(hù)邊界,將3A機(jī)制、密鑰生成管理等重要功能或數(shù)據(jù)納入DHR結(jié)構(gòu)中,有助于保證安全機(jī)制自身和依賴(lài)環(huán)境的可靠可信。
本節(jié)將對(duì)Mimic-HDFS原形系統(tǒng)進(jìn)行安全性和性能兩方面測(cè)試評(píng)估,驗(yàn)證擬態(tài)化的防御效果同時(shí)評(píng)估其對(duì)服務(wù)性能造成的影響,為后續(xù)改進(jìn)提供參考依據(jù)。
在異構(gòu)化組件方面,硬件平臺(tái)使用x86、ARM和國(guó)產(chǎn)飛騰,操作系統(tǒng)使用CentOS、Solaris和國(guó)產(chǎn)麒麟,軟件版本為Hadoop 2.7.3。在節(jié)點(diǎn)方面,基于異構(gòu)化組件構(gòu)建物理服務(wù)器,部署4臺(tái)M-Namenode、6臺(tái)H-Namenode、1臺(tái)NN-Agent、1臺(tái)調(diào)度節(jié)點(diǎn)以及相應(yīng)的交換機(jī)、測(cè)試機(jī)和調(diào)測(cè)展示機(jī)共同組成測(cè)試集群,如圖8所示。其中,同時(shí)在線的MSE個(gè)數(shù)設(shè)為3臺(tái),另有1臺(tái)作為備用。為了簡(jiǎn)化安全性測(cè)試過(guò)程中漏洞利用的復(fù)雜性,增強(qiáng)測(cè)試用例的靈活設(shè)置,本文基于java-agent技術(shù)直接在M-Namenode和H-Namenode上注入后門(mén)程序,通過(guò)在測(cè)試機(jī)上運(yùn)行的不同指令模擬差異化的漏洞或后門(mén)的攻擊過(guò)程,并且在調(diào)測(cè)展示機(jī)上同步觀察實(shí)驗(yàn)結(jié)果。性能測(cè)試采用Hadoop專(zhuān)用工具slivertest和TestDFSIO,通過(guò)吞吐率結(jié)果評(píng)估系統(tǒng)的元數(shù)據(jù)服務(wù)和文件讀寫(xiě)兩項(xiàng)性能。
圖8 測(cè)試環(huán)境網(wǎng)絡(luò)拓?fù)?/p>
在MSE1~MSE3上分別設(shè)置后門(mén)程序,該程序能夠通過(guò)在測(cè)試機(jī)上對(duì)應(yīng)運(yùn)行Client1~Client3進(jìn)行觸發(fā),達(dá)到的效果是在/target1~target 3目錄下非法創(chuàng)建、寫(xiě)入或讀取文件。實(shí)驗(yàn)中,在測(cè)試機(jī)上分別嘗試激活各個(gè)MSE上的后門(mén),觀察該攻擊操作是否能夠成功。實(shí)驗(yàn)結(jié)果如表1所示,其中,“√”表示成功,“╳”表示未成功??梢钥闯?在不開(kāi)啟擬態(tài)功能的情況下,MSE1接收到Client1觸發(fā)命令后出現(xiàn)了異常,/target1目錄下被非法創(chuàng)建文件,并且能夠越權(quán)讀數(shù)據(jù);同樣,通過(guò)Client2和Client3發(fā)起攻擊命令也能達(dá)到類(lèi)似效果;還原各節(jié)點(diǎn)狀態(tài),開(kāi)啟擬態(tài)工作模式,Client1~Client3隨機(jī)且獨(dú)立發(fā)送后門(mén)觸發(fā)命令,均無(wú)法實(shí)現(xiàn)越權(quán)操作。本文通過(guò)測(cè)調(diào)節(jié)點(diǎn)進(jìn)入NN-Agent節(jié)點(diǎn)觀察日志文件,發(fā)現(xiàn)MSE1~MSE3實(shí)際受到了測(cè)試命令的干擾,但由于該操作影響較小,因此從整體上看/target1~target3目錄中會(huì)表現(xiàn)出正常的情況,對(duì)外仍然能夠提供正確的服務(wù)。
表1 元數(shù)據(jù)節(jié)點(diǎn)安全性測(cè)試結(jié)果
性能測(cè)試主要用于評(píng)估擬態(tài)功能的開(kāi)啟所導(dǎo)致的性能損失,本文使用基準(zhǔn)測(cè)試程序slivertest測(cè)試系統(tǒng)開(kāi)關(guān)擬態(tài)情況下元數(shù)據(jù)服務(wù)中7種常用基本操作的吞吐速率,比較結(jié)果如圖9所示。
圖9 slivertest吞吐速率測(cè)試結(jié)果
由圖9可知:對(duì)于非互斥類(lèi)的READ、RENAME和DELETE操作,開(kāi)關(guān)擬態(tài)功能對(duì)性能的影響并不大;而對(duì)于WRITE、APPEND、CREATE和MKDIR修改類(lèi)操作,由于存在一定的互斥性,因此本文在原型系統(tǒng)實(shí)現(xiàn)時(shí)采用了鎖機(jī)制保證其一致性,并發(fā)請(qǐng)求的搶鎖操作可能導(dǎo)致性能的下降,WRITE操作、APPEND操作由于交互耗時(shí)較長(zhǎng),因此受到的影響也最大。
測(cè)試工具TestDFSIO用于測(cè)試HDFS系統(tǒng)對(duì)一定數(shù)量、一定大小的文件進(jìn)行讀寫(xiě)的處理性能。本文設(shè)置文件數(shù)量分別為100、300、500、800、1 000的處理任務(wù),單個(gè)文件大小1 024 MB。實(shí)驗(yàn)結(jié)果如圖10所示??梢钥闯?隨著文件處理數(shù)量的增加,擬態(tài)和非擬態(tài)系統(tǒng)的讀寫(xiě)任務(wù)執(zhí)行時(shí)間都呈上升趨勢(shì)。對(duì)于寫(xiě)操作,在任務(wù)量相對(duì)較少時(shí)兩者的差距并不明顯,基本處于同一水平。當(dāng)文件數(shù)量為500時(shí),兩者執(zhí)行時(shí)間差距達(dá)到7 min;當(dāng)文件數(shù)量為1 000時(shí)為15 min,其性能受到了一定程度的影響。對(duì)于讀操作,擬態(tài)和非擬態(tài)系統(tǒng)的處理性能相差很小,不會(huì)對(duì)實(shí)際應(yīng)用造成較大的影響。
圖10 TestDFSIO任務(wù)執(zhí)行時(shí)間測(cè)試結(jié)果
為保障分布式存儲(chǔ)系統(tǒng)中的數(shù)據(jù)安全和系統(tǒng)安全,本文對(duì)系統(tǒng)面臨的主要威脅和攻擊途徑進(jìn)行分析,定位其核心薄弱點(diǎn),結(jié)合防護(hù)的代價(jià)與有效性,以大數(shù)據(jù)存儲(chǔ)HDFS為目標(biāo)對(duì)象,引入擬態(tài)防御動(dòng)態(tài)、異構(gòu)、冗余的安全機(jī)制,設(shè)計(jì)面向元數(shù)據(jù)服務(wù)的擬態(tài)化架構(gòu)Mimic-HDFS,利用元數(shù)據(jù)服務(wù)DHR結(jié)構(gòu)保護(hù)系統(tǒng)核心信息和功能,通過(guò)對(duì)副本的異構(gòu)化放置保護(hù)用戶(hù)數(shù)據(jù)。安全性分析和性能測(cè)試結(jié)果表明,該架構(gòu)能夠增強(qiáng)分布式存儲(chǔ)系統(tǒng)對(duì)漏洞和后門(mén)的防御能力,提升系統(tǒng)安全性。后續(xù)將進(jìn)一步優(yōu)化Mimic-HDFS的實(shí)現(xiàn)過(guò)程,減少互斥元數(shù)據(jù)操作等待搶鎖造成的時(shí)間開(kāi)銷(xiāo),從而避免因擬態(tài)功能造成系統(tǒng)處理性能下降。