張汝云,李合元,李順斌
(之江實驗室,浙江 杭州 311121)
當前網絡空間安全存在4個本源性問題:一是受軟/硬件構件設計水平的局限,信息系統設計缺陷的漏洞難以避免;二是在“你中有我,我中有你”的開放生態環境中,信息系統軟硬件后門的可能性長期存在;三是依托現階段的科學技術尚無法徹查所有漏洞后門;四是產品和系統的信息安全質量難以得到有效控制。
為了能在“有毒帶菌”的環境下構筑網絡安全,鄔江興院士基于共識機制提出了擬態防御理論[1],通過在“動態-異構-冗余”的DHR(dynamic heterogeneous redundancy)架構上引入多模裁決機制,對攻擊者形成測不準防御迷霧,有效地將網絡空間的不確定威脅問題歸一化為利用魯棒控制理論能解決的工程技術問題。Ma等[2]基于馬爾可夫模型建立了可描述分析DHR架構核心特征的模型,通過蒙特卡羅仿真驗證了冗余度、可用異構資源與擬態防御系統安全防御能力之間的關系。在系統冗余度越高、執行體異構度越大,系統防御性能則越強的普遍共識下,針對擬態防御理論的多模裁決機制和擬態調度策略研究,則是進一步增強系統防御效果,提升最大化資源利用效率的關鍵。為此,學術界展開了大量的研究。
馬海龍等[3]在基于動態異構冗余機制的路由器擬態防御體系結構中提出了基于執行體可信度的隨機調度策略和基于執行體性能權重的隨機調度策略,該策略將可信度、性能權重應用于執行體上線階段,以達到可信度高、性能好的執行體優先上線的效果;吳春明等[4]也提出了基于信譽度與相異度相結合的自適應擬態控制器,利用相異度指標衡量各執行體之間的差異,從而得到異構程度最高的執行體;利用信譽度指標衡量執行體的脆弱程度,從而決定執行體在多模裁決中的作用程度;然而,上述算法的決定執行體上線的參考因素相對固定且缺少對運行環境的自適應迭代更新機制,策略可能存在選出的執行體缺乏隨機性的缺陷。陳利躍等[5]提出了基于K-means 聚類算法的執行體調度策略,一定程度平衡了執行體上線的針對性與隨機性問題,但其算法需要用到特征分解等復雜操作,在工業控制場景的嵌入式設備中較難推廣。
伴隨理論研究的不斷深入,擬態防御技術已經廣泛用于路由器、防火墻、數據中心、域名服務器等關鍵網元設備,賦予設備內生安全的功能。安全設計者的目光焦點從理論研究逐步轉移到實際場景中的設備擬態化改造上,更加關注工程可實現性、投入費效比的衡量上。魏帥等[6]認為,在單處理機故障率小于1%的情況下,四余度擬態處理機與三余度擬態處理機相比整體的錯誤故障率降低幅度并不明顯,三余度擬態處理機明顯具有更高的費效比。
此外,在工業控制領域,工業應用的生態資源相對封閉,許多應用場景可能無法在較低的成本、較短的時間內生成多個異構化程度較大的執行體集合。在許多場合,可用的異構資源數量可能只有6個,遠小于參考文獻[2]中假定的最小可用異構資源數量20。在異構執行體資源受限的條件下,如何設計適用于工業控制系統的擬態裁決算法并進行可量化安全性評估,是值得研究的一個問題。
本文針對當前應用最為廣泛的三余度的DHR架構,提出了一種基于置信度和勝任系數的工業控制系統擬態調度方法,將執行體的當前狀態與歷史表現狀態轉化為可量化的指標來實施擬態調度。本文的主要貢獻有以下3點。
(1)本文所提出的擬態調度策略,能夠根據運行環境自適應選擇合適的執行體上線。在低強度攻擊時,每個執行體上線的概率趨于平均,保持了隨機性;在高強度攻擊時,優先選中可靠性更強(漏洞分布更少)的執行體上線,以提升系統可用概率。
(2)本文所提出的擬態調度策略,對三余度擬態系統可能存在的所有異常狀態做了針對性分類,引入了執行體上線保護寄存器、周期清洗定時器等專用結構分別應對N-1模與N模攻擊。實驗結果表明,系統只需要執行2次清洗操作即可杜絕N-1模攻擊逃逸行為,只需要執行3次清洗即可杜絕N模攻擊逃逸行為。
(3)針對應用生態受限的客觀條件,本文建立基于攻擊強度的仿真模型,驗證了在異構執行體數量只有6個的極端約束條件下,擬態防御系統在對抗高強度攻擊時仍能保持99.24%的高可用概率。給擬態系統設計的成本規劃提供了新思路。
根據擬態防御理論:擬態防御系統包含由多個獨立的異構執行體;執行體根據時間(或環境)動態切換成上線或清洗備用狀態;系統的輸入通過輸入代理模塊分發至在運行的多個執行體中并獲得多個輸出結果;多模裁決模塊通過對比執行體的輸出結果,判定各執行體的安全狀態,動態調控執行體的狀態。由于系統架構采用嚴格的單向聯系機制,攻擊者無法直接觸碰到由輸入代理與輸出裁決模塊組成的擬態括號。實現攻擊逃逸的唯一方式,即對擬態括號內由多個異構執行體實現非配合下的盲協同攻擊。可見,基于擬態防御系統的安全性很大程度上依賴于執行體相互間的異構化程度。倘若執行體完全異構,則采用簡單的擇多判決即可保證系統安全可信。
然而受當前應用生態發展現狀的約束,異構執行體之間存在共模漏洞是不可避免的事實。因此,擬態防御理論并不強調絕對的靜態安全,而是通過引入多模裁決策略對受到攻擊的執行體進行動態清洗切換。即使攻擊者耗費巨大精力在非配合條件下成功構造出盲協同攻擊,也會被系統識別并清洗。指數量級地提升攻擊難度并且使得攻擊效果不可持續,是擬態防御的兩大顯著效果。
區別于擬態防御理論中的一般化描述,本文對工業控制系統的安全調度模型做出如下理論假設。
(1)假設擬態工業控制系統采用費效比最高的三余度DHR架構。因為同時在線運行的執行體數量必須大于或等于3個,才能對輸出結果的進行裁決。
(2)擬態工業控制系統的可用異構執行體的數量最小值設置為6。6個執行體是三余度DHR架構系統在遭受N模攻擊后通過裁決清洗操作可恢復到正常狀態并實現攻擊面轉移的最低條件[1]。
(3)每個執行體均存在漏洞,且漏洞分為兩大類。第一類漏洞后門依賴于該執行體所獨有運行環境,稱之為“差模漏洞”,觸發該漏洞僅會造成差模攻擊效果,觸發概率值用Pdiff表示;第二類漏洞后門與執行體所獨有運行環境無關,稱之為“共模漏洞”,多執行體同時觸發該漏洞將造成N-1模或N模攻擊效果,執行體單體觸發概率值用Pcomm表示。
(4)在系統執行體啟動前為每個執行體分配一個勝任系數值Tc,Tc∈ (0,1)。該執行體勝任系數,由用戶結合執行體應用生態情況以及執行體相互間異構化程度綜合評定。
· 執行體應用生態越好,對安全防護考慮越多,漏洞越少,則勝任系數值越高。
· 執行體與其他異構執行體的差異度越大,則勝任系數值越高;執行體的差異度可借助相似性度量工具評估[7];擬態調度算法偏向于選擇異構化程度大的執行體上線,以達到提升抗盲協同攻擊難度的效果。
· 執行體勝任系數Tc是一個時變參數,根據執行體在實際工作環境中的表現自適應動態更新。
(5)假設系統內所有執行體均能通過下線清洗的方法消除漏洞或使漏洞不再處于被激活狀態。所有漏洞后門都需要經過觸發加載惡意指令才能生效。執行體下線后,其存儲數據被重置,因而該假設充分且合理。
(6)由于不同執行體輸出結果不同步的超時問題已經被參考文獻[8]提出的基于回歸樣條的自適應超時機制解決,故本文僅就執行體輸出結果的異同展開討論,假定異構執行體對相同輸入會在給定時間段內“同時”輸出各自的結果。
由于系統構造復雜、執行體不完全異構、攻擊行為不可預測,有限資源條件下的擬態工業控制系統遭受N-1模以及N模攻擊時必然存在一定的逃逸概率,可能需要多次清洗才能徹底消除攻擊帶來的影響。因此如何在有限異構資源約束條件下,有效地降低異構冗余構造的逃逸概率和逃逸時間是本文的主要目標。
本節提出一種基于置信度與勝任系數的擬態調度算法,其中置信度V是執行體在運行環境中的綜合表現評價(包括歷史表現行為與當前風險抵御能力),用于判別該執行體是否需要進行清洗;勝任系數Tc是執行體原始屬性(包括執行體應用生態、清洗成本、執行體間異構化程度等)與歷史表現行為的綜合評價,用作表征該執行體上線運行的勝任能力。有限異構資源約束條件下的擬態調度器如圖1所示,包含采集器、比較器、裁決器、清洗器(含周期清洗定時器C)等。
基于置信度和勝任系數的工業控制系統擬態調度算法如圖2所示,具體工作流程描述如下。

圖1 有限異構資源約束條件下的工業控制系統擬態調度器
(1)系統啟動復位。從執行體倉庫中選擇3個勝任系數最高的執行體上線,并將所有剛上線執行體的初始置信度均為最大值Vmax。周期清洗定時器C復位為零。
(2)執行體輸出結果采集。執行體采集器采集3個在線執行體的輸出結果分別為R1、R2、R3。
(3)執行體裁決。3個執行體輸出結果兩兩比較(共3次):
· 當執行體輸出結果一致時,兩個執行體的置信度都增加D。
· 當輸出結果不一致時,兩個執行體的置信度都減少D。
· 比較結束后,若單個執行的置信度大于Vmax,則令其等于Vmax。
(4)執行體清洗。選擇判斷需要下線的執行體并選擇置信度最高的執行體作為系統的輸出。
· 遍歷所有在線執行體當前的置信度V,選擇置信度小于或等于0的執行體作為備選清洗對象。
· 如果有多個執行體置信度≤0,選擇則置信度最小的執行體作為清洗對象。
· 如果有多個執行體置信度相等且≤0,選擇勝任系數較小的作為清洗對象。
· 如果有多個執行體置信度相等且≤0,勝任系數亦相同,隨機選擇其一作為清洗對象。

圖2 基于置信度和勝任系數的工業控制系統擬態調度算法
· 檢查執行體上線保護寄存器Creg(保護剛上線執行體,對抗N-1模攻擊)。清洗對象與上線保護寄存器Creg記錄一致,隨機清洗選擇另外兩個執行體中的一個;清洗對象與上線保護寄存器Creg記錄不一致,更新執行體上線保護寄存器的值;若執行體上線保護寄存器經過3次裁決周期未發生變化,清空該寄存器的值。
(5)定時器更新(引入擾動,對抗基于0-day漏洞的共模攻擊)。
· 如果所有執行體的置信度均為Vmax,周期清洗定時器加1。
· 如果執行體發生過清洗行為,周期清洗定時器C復位為零。
· 當周期清洗定時器C的值大于指定閾值,隨機選擇其中一個執行體進行清洗。
(6)執行體上線。選擇倉庫內勝任系數最高的執行體上線運行,同時將下線清洗的執行體勝任系數乘以系數P(0
要對擬態防御系統的安全性進行有效評估,必須準確刻畫系統裁決切換的流程。其中,異構執行體的隨機性故障模型表征是核心。在缺乏攻擊者先驗信息的前提條件下(這也是擬態防御理論所直面的問題),擬態防御系統中執行體發生故障的時間點呈現隨機性,執行體兩兩之間發生故障的表現形式的差異也呈現隨機性。本文首先需要為執行體建立隨機性故障模型,然后采用數值仿真的方法,對所提出的基于置信度與勝任系數的擬態調度算法安全性能進行分析。隨機性故障模型建立如下。
(1)模型采用Pdiff表征執行體運行過程中差模漏洞的觸發概率。
(2)模型采用Pcomm表征執行體運行過程中共模漏洞的觸發概率。
(3)模型采用“0/1/2”3個值,分別表征單個執行體處于正常/差模漏洞生效/共模漏洞生效3種狀態。仿真過程中的每次迭代,若執行體狀態值為“0”,則概率進入狀態“1”或者“2”;若執行體狀態值已經為“1”或者“2”,則保持原值,直至被清洗。
擬態工業控制系統的安全狀態與編碼見表1。
本文的實驗仿真平臺為MATLAB 2017b。根據參考文獻[9]基于美國國家脆弱性數據庫(national vulnerability database, NVD)對11種操作系統的漏洞分析,來自于相同家族操作系統(如Windows 2003與Windows 2008)之間的共模漏洞數量會比較多,而來自于不同家族操作系統(如BSD-Windows)之間的共模漏洞數量很少,對于一般攻擊而言,其異常輸出矢量一致的比例可以設置為一個合理的較小值10-4,在具體產品開發時,采用與開發飛行控制系統類似的工程管理方法,能夠保證該參數的實際取值遠遠小于10-4[10]。根據第2節所述的有限異構資源條件,為6個執行體的脆弱性仿真模型賦予高/中/低3檔的仿真參數,見表2。

表1 擬態工業控制系統的安全狀態與編碼

表2 執行體脆弱性仿真模型(高/中/低強度攻擊)
在不同的攻擊強度下,設置初始置信度4,檢測到異常時置信度扣分差值D設置為1。隨機模擬仿真1 000次,每次模擬仿真包含100 000次迭代。統計不同仿真參數條件下,擬態調度器干預下的運行結果。
(1)最多只需要3次清洗,即可將系統恢復到正常狀態
高強度攻擊下的系統安全狀態轉移如圖3所示。在第5到第6個時鐘周期間,執行體2被觸發了1次漏洞。系統經過積分累計在2個時鐘周期內將其置信度降低到0并清洗,系統輸出正常,攻擊無感移除;在第56個時鐘周期,執行體2與執行體3同時被觸發了共模漏洞,系統進入N-1模攻擊狀態。系統首先判定執行體1出現問題,經56、57兩個時鐘周期進行積分累計將執行體1清洗下線并更換另一個執行體;58、59兩個時鐘周期積分累計發現清洗后狀態仍未恢復,做出執行體3下線的決策,使得系統在第60個時鐘周期退化到差模攻擊狀態。在時鐘周期80~110則呈現了受定時機制保護下的N模攻擊恢復狀態轉移。由于引入了執行體上線保護寄存器Creg,即使遭受N模攻擊,系統僅需要3次清洗操作即可恢復正常。

圖3 高強度攻擊下的系統安全狀態轉移
(2)具備環境自適應特性的執行體上線替換機制
不同攻擊強度下執行體上線概率情況見表3。本文假設可用的執行體只有6個,且不同執行體在抗攻擊性能上具有差異。在高攻擊強度下,系統更傾向于根據執行體的實際表現情況選擇對系統環境適應性更強(表現為漏洞分布更少、更難被觸發)的執行體上線。如表3所示,在高強度攻擊模型下,執行體1上線的概率要比執行體6高69.71%。在低強度攻擊仿真條件下,由于各執行體表現差異不大,所以上線概率呈現平均分布的現象。值得注意的是,執行體的初始勝任系數憑人工經驗設置,可以讓執行體在系統的初始階段獲得更高的上線優先級,但該值會在系統調度的迭代過程中不斷更新。盡管在實驗參數中將執行體6的初始勝任系數設置為0.95,但在高強度攻擊模型下,該執行體的上線概率依然與執行體實際漏洞后門的分布情況緊密相關。綜上分析表明,所提出的基于置信度與勝任系數的擬態調度方法,其執行體上線替換機制具備環境的自適應特性。

表3 不同部攻擊強度下執行體上線概率
(3)在高強度攻擊下,系統仍可保持99.24%的高可用概率
不同攻擊強度下系統的平均清洗概率與平均可用概率見表4。其中,平均清洗概率由執行體清洗下線次數除以總迭代次數得出;平均可用概率為系統處于正常狀態(case1)與可定位故障執行體的差模攻擊狀態(case2),兩種狀態在系統運行過程中所有狀態的比重。可見在高強度攻擊下,盡管系統只有有限的6個可用執行體,系統平均可用概率依然可以達到99.24%;而在低強度攻擊下,系統可用概率高達99.87%。實驗數據表明,所提出的基于置信度與勝任系數的擬態調度方法,能為有限異構資源條件下的擬態系統構造提供高效的解決方案。

表4 不同攻擊強度下系統的平均清洗概率與平均可用概率
針對當前工業控制應用生態局限性的約束條件,本文提出了有限異構資源條件下的擬態調度算法,并且基于數值仿真的方案建立了安全評估仿真模型。實驗結果表明,所提出的工業控制系統擬態調度算法,最多只需要3次清洗,即可將擬態系統從N-1模攻擊狀態、N模攻擊狀態恢復到正常狀態;執行體上線替換機制具備環境的自適應特性;即使在高強度攻擊下,系統仍可保持99.24%的高可用概率。
擬態防御是基于內生性安全機制的一種創新網絡防御,其安全效果可量化設計,可驗證度量。本文從適應應用、節約成本、簡化擬態調度策略的角度出發,評估了當前應用最廣泛的三余度DHR架構在有限異構資源條件下系統可用概率,給擬態系統設計的成本規劃提供了新思路。