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