馮峰,周清雷
(鄭州大學信息工程學院,鄭州450001)
當今網(wǎng)絡與信息系統(tǒng)已成為人類社會運轉的基礎設施[1]。然而隨著網(wǎng)絡和信息技術的高速發(fā)展,信息安全問題也變得愈發(fā)嚴峻。因此,信息安全問題也越來越受到世界各個國家的高度重視[2]。針對信息安全問題,傳統(tǒng)的防御技術和手段大都采用亡羊補牢式防御,需要依賴于攻擊技術作為先驗知識來進行有針對性的“點”式防御。而漏洞和后門是攻擊者成功進行攻擊行為的重要入口,但作為防御方卻沒有能力掌握所有的漏洞和后門,傳統(tǒng)防御技術采用對被曝光的漏洞后門進行精準封堵或查殺,顯然對未知漏洞后門束手無策。擬態(tài)防御作為近幾年來國內首創(chuàng)的“改變游戲規(guī)則”的革命性防御技術,能夠有效防御針對未知漏洞后門的攻擊,目前理論和相關技術發(fā)展迅速[3-10]。此外,信息技術作為人類社會先進的生產(chǎn)力,給人類帶來財富的物質形態(tài)就是數(shù)據(jù)。文件、圖像、影音、應用程序等皆屬于數(shù)據(jù),因此,對數(shù)據(jù)的保護是至關重要的。重要數(shù)據(jù)的泄露、篡改、丟失等事件時有發(fā)生,數(shù)據(jù)保護的技術手段五花八門,但較為有效的方法還是通過對數(shù)據(jù)進行加密以達到“一夫當關”的效果。然而對數(shù)據(jù)進行加密的安全性強弱依賴于加密算法和密鑰的復雜度,且由于數(shù)據(jù)加密的復雜性帶來額外開銷的同時其還是屬于靜態(tài)的、單一的防護手段,依然存在被破解的可能。對于信息系統(tǒng)中數(shù)據(jù)的保護,不同種類的數(shù)據(jù)根據(jù)其重要程度應具有不同的防護強度,否則突破對關鍵數(shù)據(jù)的防護甚至會威脅到整個防護體系。因此,對關鍵數(shù)據(jù)的保護處理不當,將成為整個信息系統(tǒng)的安全薄弱環(huán)節(jié)。舉例來說,對于防火墻所維護的訪問控制列表(Access Control Lists,ACL),如果能夠進行惡意竊取和篡改,則訪問控制將失去意義,整個信息系統(tǒng)也將暴露在安全威脅當中。因此,為了方便描述,本文后續(xù)都將以ACL 的保護問題作為背景,來代表針對信息系統(tǒng)中的關鍵數(shù)據(jù)進行保護的問題。
綜上,本文提出一種基于擬態(tài)防御技術針對關鍵數(shù)據(jù)進行保護的架構,通過運用該架構進行數(shù)據(jù)保護能夠極大地提升對被保護數(shù)據(jù)進行竊取、篡改的難度。
網(wǎng)絡空間擬態(tài)防御(Cyber Mimic Defense,CMD)基于相對正確公理,以結構決定安全為核心思想,通過動態(tài)、異構、冗余架構(Dynamic Heterogeneous Redundancy,DHR),使得運用擬態(tài)防御技術的系統(tǒng)能夠應對未知的安全威脅,具有內生的高安全性和高可靠性[11-13]。擬態(tài)防御是新型的主動防御技術,它允許完成業(yè)務功能的執(zhí)行體“有毒、帶菌”,能夠同時有效的應對已知和未知的漏洞后門所帶來的安全威脅,是“面”式防御。擬態(tài)防御通過動態(tài)調度機制和負反饋控制機制保證擬態(tài)防御系統(tǒng)的動態(tài)性、變化性,通過多模裁決機制保證系統(tǒng)的魯棒性和對攻擊行為的主動認知。
擬態(tài)防御的核心架構DHR 如圖1 所示。
圖1 DHR架構
需要被安全防護的功能執(zhí)行體經(jīng)過功能等價的異構冗余實現(xiàn)后,放入異構執(zhí)行體池,擬態(tài)變換器對這些執(zhí)行體進行動態(tài)調度,控制其上下線切換。分發(fā)器負責將系統(tǒng)輸入分發(fā)給“上線”異構執(zhí)行體進行處理,裁決器則對“上線”異構執(zhí)行體的輸出矢量進行多模裁決,分發(fā)器和裁決器被稱為“擬態(tài)括號”(Mimic Bracket,MB)。當攻擊發(fā)生時,輸出矢量若存在不一致則DHR能夠發(fā)現(xiàn)未知攻擊,通過多模裁決產(chǎn)生正確的輸出結果,同時啟動負反饋控制機制,調度異常的“上線”異構執(zhí)行體,并進行相應的清洗處理,整個過程使攻擊者對異構執(zhí)行體中的未知漏洞和后門難以利用,攻擊行為難以湊效。
擬態(tài)防御在具體應用中允許存在不同程度的差異,因此,最終所呈現(xiàn)的機制架構也可進行改進。本文從擬態(tài)防御的DHR 架構出發(fā)對數(shù)據(jù)保護引入了擬態(tài)防御機制來進行擬態(tài)化構建,形成了一種全新、獨特的機制架構,防數(shù)據(jù)攻擊的擬態(tài)防御架構(Mimic Defense Against Data Attack,MDADA),如圖2 所示。
圖2 防數(shù)據(jù)攻擊的擬態(tài)防御架構
以ACL 保護為背景的MDADA 具體工作機制如下:
(1)功能組件
異構冗余執(zhí)行體:所有異構冗余執(zhí)行體構成執(zhí)行體池,這些執(zhí)行體的業(yè)務功能為對數(shù)據(jù)的加解密功能。在此著重強調,這里的異構冗余執(zhí)行體是抽象意義上的,在后文對異構化維度的分析中會說明這一點。
分發(fā)器:包含兩種分發(fā)器,加密分發(fā)器、解密分發(fā)器。
裁決器:進行多模裁決,根據(jù)裁決結果產(chǎn)生正確輸出與拋出問題輸入。
動態(tài)調度器:根據(jù)策略對異構冗余執(zhí)行體進行動態(tài)調度。
(2)組件式過程
①加密過程:明文ACL 經(jīng)由加密分發(fā)器進行復制,復制份數(shù)與“上線”異構執(zhí)行體數(shù)目一致,冗余明文ACL 與“上線”異構執(zhí)行體進行無區(qū)分標記配對,經(jīng)過各“上線”異構執(zhí)行體加密后成為冗余密文ACL,并打上執(zhí)行體區(qū)分標記。
②解密過程:冗余密文ACL 經(jīng)由解密分發(fā)器,根據(jù)執(zhí)行體區(qū)分標記與“上線”異構執(zhí)行體進行配對,經(jīng)過各“上線”異構執(zhí)行體解密后成為冗余明文ACL。
③裁決過程:裁決策略為基于數(shù)據(jù)的Hash 指紋對比,這一過程被封裝在裁決器內。解密后得到的冗余明文ACL 經(jīng)過相同Hash 運算后,得到冗余指紋矢量,然后進行多模裁決。如果冗余指紋矢量存在不一致,說明存在被篡改的ACL,此時將拋出問題ACL 并根據(jù)其他設計進行處理,同時裁決器屏蔽掉篡改帶來的影響,輸出正確的明文ACL。
④動態(tài)調度過程:采用一定的動態(tài)調度策略,對異構加解密執(zhí)行體進行動態(tài)調度,確定“上線”異構執(zhí)行體。
(3)運行激勵
初始化激勵:發(fā)生在MDADA 宿主系統(tǒng)初始化過程中,在其激勵下MDADA 將經(jīng)過的過程是d→a。
訪問控制查詢激勵:發(fā)生在訪問請求被攔截,且需要與ACL 進行對比時,在其激勵下MDADA 將經(jīng)過的過程是b→c→ACL 的查詢對比。
訪問控制修改激勵:發(fā)生在對ACL 的合法修改更新操作時,在其激勵下MDADA 將經(jīng)過的過程是b→c→ACL 的修改更新→a。
動態(tài)調度激勵:發(fā)生在根據(jù)策略對異構冗余執(zhí)行體進行動態(tài)調度時,在其激勵下MDADA 將經(jīng)過的過程是b→(c,d)→a(c 和d 可同時進行)。
MDADA 工作的邏輯原理如圖3 所示。
圖3 MDADA工作的邏輯原理
以ACL 保護為用例。
(1)創(chuàng)新性
擬態(tài)防御能對處在擬態(tài)括號中的異構冗余執(zhí)行體進行防護,僅說明目前擬態(tài)防御的防護對象可以是包裹在擬態(tài)括號內的執(zhí)行體,這是現(xiàn)有擬態(tài)防御理論成果的一個重要基礎。然而,MDADA 可以說明,擬態(tài)防御的防護對象可以突破上述局限性。前文介紹的MDADA 其所防護的對象為數(shù)據(jù),即此時本文中MDADA 使得擬態(tài)防御被用在數(shù)據(jù)保護上。這一創(chuàng)新對擬態(tài)防御理論體系的發(fā)展開辟了一個新的途徑,同時對數(shù)據(jù)保護問題的解決提供了新的思路和手段。
(2)異構化維度
本文給出的加解密異構化維度有三個:加解密算法異構化;加解密密鑰異構化;實現(xiàn)方式異構化(如編程語言、編碼風格等)。根據(jù)于此,在不同維度上進行搭配,能衍生出多種組合異構化向量,使得異構化方式更加豐富,這就是為什么MDADA 中的異構冗余執(zhí)行體具有抽象性,圖4 進行了圖形化示意。
圖4 加解密異構化維度示意
(3)提升手段
MDADA 實際使用時在安全性、性能等方面還有很多提升手段。加強相應算法、密鑰、過程等的復雜度(如采用最新的算法、加大密鑰長度與字符集、增加加密次數(shù)等)可以提升安全性,優(yōu)化相應算法、過程等的實現(xiàn)可以提高性能。此外還可以借助已有技術,舉例來說:在安全性上,冗余密文ACL 的散列存儲及隱藏可以結合一些成熟的技術,例如將其放入“軟件加密狗”中就是一個不錯的選擇;在性能上,加解密算法及輔助的密鑰生成算法等都可以通過FPGA(Field-Programmable Gate Array)方式進行實現(xiàn),這種算法硬件化的方法毫無疑問會提升運算速度,同時硬件邏輯被逆向的可能性要遠遠低于二進制形式的軟件邏輯。
(1)安全性
在此著重強調,擬態(tài)防御理論已闡明,在社會工程學的范疇內其所做的安全防護理論上是可以被突破的,這是擬態(tài)防御及其他防御技術的通性。因此,這里所做的安全性評估是以不包括社會工程學范疇為前提的。
若攻擊者要成功篡改ACL 文件,需要同時具備以下三種能力中的至少前兩種能力。第一種,具有得到大多數(shù)冗余密文ACL 的能力,而上述提及,我們可以利用一些已有的成熟技術對冗余密文ACL 進行散列存儲及隱藏。第二種,具有能夠解密大多數(shù)冗余密文ACL 并將其統(tǒng)一篡改隨后重新加密并替換的能力,這就要求攻擊者能夠逆向出相應的加解密邏輯。第三種,具有針對具體密文ACL 得到其對應密鑰的能力,這就要求攻擊者能夠逆向出密鑰生成邏輯。分析以上三種能力,攻擊者在不具備第三種能力時,通過暴力窮舉的方式獲取密鑰是具備理論保障的,但實際過程中將會付出極大的代價并最終結果未知。攻擊者至少需要具有上述前兩種能力后,才有實現(xiàn)所謂多模表決機制下聯(lián)合逃逸的可能。但獲取這些能力的過程是極其復雜的,再加之動態(tài)調度機制使MDADA 處于動態(tài)變化當中,使得密碼學與動態(tài)性共同作用,密碼學的復雜性使攻擊者短時間內很難具備以上能力,動態(tài)性對攻擊者造成時間上的緊迫性并能使其所作的努力前功盡棄,攻擊者想要攻擊成功是極其艱難的。
(2)性能損耗
與不使用MDADA 的原有信息系統(tǒng)相比較,使用MDADA 的信息系統(tǒng)所增加的性能上的損耗主要由新加入的MDADA 產(chǎn)生。由前述可知,以ACL 保護為用例的MDADA 所產(chǎn)生的性能損耗均發(fā)生在其運行時,它的運行由前述四種運行激勵來驅動。為了得到其運行后所帶來的安全增益,這種性能損耗是不可避免的。但是這種程度的性能損耗是可以接受的,并可以使用一定手段進行降低。
假設原有系統(tǒng)對ACL 的保護是進行單一形式的加解密保護。對比來看,多核環(huán)境下MDADA 的冗余加解密執(zhí)行體是可以并行執(zhí)行的,此時它完成加解密過程的速度取決于其中運行速度最慢的執(zhí)行體,在相同系統(tǒng)過程下拿這一速度與原有系統(tǒng)進行比較,可以看出此時的性能損耗和承載加解密算法的冗余執(zhí)行體的優(yōu)劣強相關。由MDADA 額外帶來的性能損耗還包括裁決過程、分發(fā)配對過程和因動態(tài)調度所引起的過程等,同樣其與實現(xiàn)這些過程的優(yōu)劣強相關。
MDADA 使用的合理性也是影響性能損耗高低的重要因素。前述以ACL 保護為用例的MDADA,其所保護的ACL 是防火墻的“關鍵薄弱環(huán)節(jié)”,ACL 具有特定性和關鍵性。作為對比,若將MDADA 濫用(不綜合考慮硬件性能、文件數(shù)量、文件重要性等)在整個文件系統(tǒng)中,則毫無疑問會帶來成倍增大文件系統(tǒng)體量、難于管理、性能損耗嚴重等缺陷,以此說明架構在具體應用中,其使用的合理性對性能影響較大。
本文提出的防數(shù)據(jù)攻擊的擬態(tài)防御架構,在安全性方面:
(1)通過動態(tài)性調度加解密執(zhí)行體使得數(shù)據(jù)的攻擊表面處在動態(tài)變化當中,解決了傳統(tǒng)靜態(tài)加密可被無限期分析邏輯的缺陷,有效防止數(shù)據(jù)泄露。
(2)通過異構冗余的數(shù)據(jù)加密加上多模裁決的限制使得解密并篡改數(shù)據(jù)的難度較之傳統(tǒng)靜態(tài)加密的單一性破解難度有超出倍數(shù)級的提升。
(3)通過利用冗余思想并結合必要的數(shù)據(jù)散列存儲及隱藏技術,能有效抗擊關鍵數(shù)據(jù)被刪除的毀滅性打擊。
在魯棒性方面:
通過多模裁決的保障使得即使少數(shù)冗余密文出現(xiàn)成功的篡改攻擊也能夠保證關鍵數(shù)據(jù)的正常輸出以及關鍵數(shù)據(jù)的正確性。