李建軍
(1.中國電子科技集團公司第三十二研究所,上海 201808;2.國家工程軟件產品質量監督檢驗中心,上海 201808)
隨著信息化建設步伐的加快,信息系統已成為從互聯網上獲取信息和服務的主要來源。近年來,惡意網絡攻擊事件頻發,攻擊方式持續迭代升級,網絡威脅造成的損害不斷增強,網絡信息安全產品和服務需求持續增長。政府關注和政策扶持也不斷推動我國信息安全產業向安全可信、自主可控方向快速發展。我國在信息安全保障方面正在全面實施網絡安全等級保護制度,通過制度建設推進我國重要信息系統安全水平提升,但通過了網絡安全等級保護測評并不能保證信息系統的高安全性、高可靠性,尤其對于國防、能源、金融等關鍵信息基礎設施的信息安全來說還遠遠不夠。依賴于傳統安全加固手段無法抵御未知漏洞后門等導致的未知風險或不確定威脅,借鑒生物界的擬態多樣性,鄔江興院士團隊提出了擬態防御機制,從擬態結構本身而不是依賴現有防御手段和方法保證其安全性。市場上的擬態信息系統應用目前普遍缺少有效的測試驗證手段,研究擬態信息系統測評方法和測評技術具有重要的意義。
從研究信息系統攻擊現狀和擬態防御安全信息系統體系模型入手,建立了基于GB/T 25000質量特性、擬態防御機理、擬態防御效果、網絡安全等保合規性測試的、分層的擬態安全信息系統測評體系,并對擬態特性的驗證方法提出了技術思路。
信息系統攻擊者常用四種攻擊手段[1]:分布式拒絕服務攻擊;網絡主機利用型攻擊(攻擊手段包括口令破解、特洛伊木馬、緩沖區溢出等);信息收集型攻擊(通過掃描系統漏洞、刺探網絡體系結構、社會工程學等手段獲得系統信息,為進一步入侵提供支持);篡改信息攻擊(如偽造通信網絡報文、電子郵件、服務網址重定向等)。在網絡攻防博弈中,攻擊方與防御方處于非對稱的地位。只要攻擊者在信息系統中發現易受攻擊的點,就可以展開攻擊,而防御者需要進行全面的安全保護;另一方面,防御者很難準確預測攻擊的計劃或發生,也不能快速定位漏洞并在短時間內修補漏洞,導致防御者的被動劣勢。攻擊過程[2]一般可以分為掃描探測、漏洞分析利用、攻擊植入和攻擊保持四個階段。
自信息系統安全技術發展以來,出現了許多防御技術,典型的如入侵檢測、入侵防御、入侵容忍和移動目標防御等,這些技術具備不同的防御特點。在網絡攻防博弈中,防御技術是對抗網絡攻擊的直接手段。
擬態安全信息系統采用動態異構冗余(Dynamic Heterogeneous Redundancy,DHR)模型。攻擊者面對基于擬態架構的信息系統,由于被攻擊目標的動態性,已經難以通過系統探測、漏洞挖掘、系統突破、系統控制等技術手段對信息獲取和信息進行控制。擬態安全信息系統將網絡空間人與人之間博弈的問題轉化為攻擊者能否攻破信息系統的概率問題。

圖1 擬態防御體系抽象模型
擬態安全信息系統防御機構模型如圖1所示,擬態防御體系是以維護目標對象(如網絡、存儲、系統、配置項、部件、單元等)元服務功能(包括私密信息保護)健壯性與安全可信為目的,以目標系統服務功能與其多元、冗余配置的實現結構或算法間引入不確定性映射關系為核心,以給定資源條件下異構執行體的策略調度和多維動態重構機制提升防御場景的動態相異性為方法,以非配合條件下輸出矢量多模裁決為中心的閉環控制機制阻斷、屏蔽非協同攻擊(或差模失效)為手段,以干擾或隱匿寄生在異構執行體上漏洞后門的可達性與可利用性為重點,以架構自身功效獲得內生安全屬性。從擬態防御模型上可以分析出,擬態結構的脆弱點在于輸入代理和分發判決,一旦前端被攻破,則其防御機制受到破壞。
擬態安全測評需要從測評輸入、測評過程和測評輸出三個方面規范對擬態信息系統實施測試評估活動的要求,建立多層次、多粒度、開放性、可定制的擬態安全測評評估指標體系框架,以保證測評過程、測評結果和結論的科學性、正確性和依從性。
擬態安全信息系統測評需要規定開展擬態安全測評過程的基本過程、流程、任務及工作產品等,規范測評工作人員、組織、機構的工作,在擬態安全測評過程中如何正確使用擬態安全測評要求中的具體測評方法、步驟和判斷依據。擬態安全測評不同于傳統的應用系統或安全防御系統評估,擬態信息系統需要綜合考慮擬態特征、擬態算法效能以及安全防護等多個要素,需要結合具體的任務需求靈活制定測評方案。
擬態安全測評需要劃定擬態界面,擬態界面所定義功能的完整性、有效性和安全性是擬態防御有效性的前提條件,擬態界面未明確定義的功能/操作不屬于擬態防御的范圍(但也可能存在衍生的保護效應)。根據擬態防御要求,可以根據不同應用場景對安全性與實現代價的綜合需求定義更多的防御等級,在安全性上需要重點考慮以下四方面因素:擬態防御核心是給攻擊過程造成的各種不確定性;使攻擊者無法在攻擊過程的各個層面獲取防御系統結構或系統反饋的有效信息;使攻擊失去可用的穩定性;使基于檢測或攻擊累積的經驗不能用作后續攻擊活動中的先驗知識。
在GB/T 25000.10-2016 《系統與軟件工程系統與軟件質量要求和評價(SQuaRE)第10部分:系統與軟件質量模型》中詳細定義了軟件產品8個質量特性(功能性、性能效率、兼容性、易用性、可靠性、信息安全性、維護性和可移植性)和相應子特性,結合《GB 17859-1999 計算機信息系統安全等級保護劃分準則》對軟件安全等級的劃分,針對擬態產品的“動態異構冗余”構架,建立一套合適的測評評估體系。體系包括質量特性、質量子特性、質量屬性。擬態信息系統評估指標體系采用基本要求和分項要求的分層結構,總體架構如圖2所示。
從評估模型上看,目標層是擬態信息系統安全防護能力的綜合反映,準則層指標可以進一步分為能力層、能力子層,自上而下對擬態信息系統安全防護能力進行一步細化、分解。測評指標層則是從對各項能力的指標量化,并進行測試項的劃分,為后續進行擬態信息系統測評提供基本要求和為給出測評結論提供依據。

圖2 擬態安全信息系統測評
擬態信息系統測試采用層次分析法,引入多維度的測試策略,建立多層次的擬態信息系統評價體系。從四個維度測試評價擬態信息系統:
一是基于GB/T25000軟件質量特性的測試,此為傳統信息系統測試方法,不再贅述。
二是擬態特性驗證,針對擬態信息系統的擬態特性進行測評,主要包括:動態性、異構性、冗余性、功能等效性等,驗證擬態防御機制的相關模塊是否符合研制要求。
三是防御效能驗證,結合對擬態信息系統的質量特性測評,對系統功能和防御能力進行評價,主要包括:信息掃描、漏洞檢測、后門利用等,評估被測系統改變固有漏洞和后門的呈現性質;擾亂漏洞或后門的可鎖定性與攻擊鏈路通達性;是否大幅增加了系統中漏洞和后門的可利用難度。
四是網絡安全等保合規性,從擬態信息系統是否滿足網絡安全等級保護的要求進行合規性匹配檢查。
3.1.1動態性驗證
擬態安全信息系統應可以動態選擇當前執行體集,技術實現上通過預先準備一個異構構件資源池,并配置動態選擇算法模塊,這些算法可以使用概率算法、動態選擇算法使動態異構冗余結構具有動態性。
動態也體現在分發判決器上,通過網絡抓包軟件或日志文件可以驗證分發的動態性。
3.1.2異構性驗證
擬態的異構性體現為多個層次,硬件平臺架構的異構性(X86、PowerPC、龍芯等),操作系統的異構性(Windows、Linux、UNIX等)、編譯系統的異構性(Visual C++、GCC、DEV C++)、中間件的異構性(JBoss、Tomcat、Weblogic)、數據庫的異構性(MySQL、Oracle、SQL Server),這些在開展實際測試時較容易判定,但更為重要的應用程序的異構性卻方法相對有限。
多版本系統構架下,設計或開發功能一致的程序版本會導致工作量的成倍增加,程序多樣性通常采用編譯過程的轉化、基于二進制目標碼的轉換、加載過程中的轉化、運行過程中的轉化等。針對相同工程代碼采用不同編譯器編譯、或者通過同一編譯器的不同編譯開關選項來構造程序異構體的方法,從成本上來說對于開發多版本非相似軟件是一種比較可行的方案,但從擬態防御效果來看,通過擬態編譯生產的軟件多變體存在同源問題,導致軟件變體中存在同一漏洞的概率較高,增加了網絡攻擊成功率。
通過軟件加殼和混淆技術方式生成不同的軟件變體,理論上并沒有增強其異構性。控制流平坦化、花指令、標識符混淆、字符串混淆、控制流變換等代碼混淆技術側重于增加代碼的迷惑性,降低代碼可讀性;加殼技術對可執行文件進行加密、壓縮,并附加一個外殼,加載時外殼程序首先進行原程序還原操作,并把控制權還給解壓解密后的原程序[3]。
針對程序異構性判定可以使用基于控制流圖的結構對比的驗證方法。對于在源程序級提供異構變體的,只要將編譯前的工程源代碼通過一定的方法分析出它的控制流圖[4],進行相互比較即可。對于只提供編譯后的目標二級制代碼的情況,可以通過IDA pro等類似反編譯工具預處理后再分析出控制流圖,在圖論里面,兩個圖同構即表示存在頂點之間的雙射,使用同構圖的算法可對它們進行對比。
3.1.3冗余驗證
對于高安全高可靠系統來說,在當前的技術背景下,除了選用高可靠性電子元器件外,通常采用多模冗余的方式提高計算機平臺的可靠性和安全性[5],比如RTCA DO—178B《機載系統和設備合格審定中的軟件考慮》中就提出了使用多版本非相似軟件的設計方案。測試時重點檢查是否滿足冗余要求。
3.1.4功能等效性
對于擬態安全信息系統中的多個異構執行體,需要確保其相互之間的功能等效性。擬態安全信息系統或產品包含若干組定義的規范和協議關鍵服務/操作功能。通過這些標準化協議或規范的一致性或一致性測試,可以確定給定服務/操作功能的多個異構可執行文件的性能等效性。也就是說,擬態界面的輸入和輸出關系的一致性測試可用于判斷功能執行之間的等效性,包括給定異常處理函數或性能的一致性。
針對擬態防御效能測試可采取黑盒測試、注入測試、深度滲透測試、對比測試、人為預置后門激活、預置木馬等測試手段,對擬態信息系統本身的各項功能正常與否進行測試驗證,并針對不同類別的攻擊,對該擬態系統的安全防御能力進行測試和分析[6]。
擬態安全信息系統可從以下兩個維度進行:一是脆弱性測評,從風險控制的角度梳理核查,測試驗證脆弱性漏洞問題;二是安全策略關聯數據流測評,從應用系統的數據流、業務邏輯流程及安全策略方面進行測評。針對擬態Web服務器需驗證其安全性和性能。安全性方面主要從防御強度、防御面和安全代價三方面,在掃描探測、漏洞挖掘、攻擊植入和攻擊維持四個階段進行防御能力的評估。
擬態防御效能測試需要覆蓋以下測試項:(1)擬態安全信息系統能否隱匿擬態界內的未知漏洞和后門;(2)攻擊者能否利用未知漏洞給擬態信息系統注入未知病毒木馬;(3)能否顯著降低攻擊或探測經驗的可重復利用性;(4)擬態信息系統內是否允許存在病毒或木馬;(5)擬態信息系統的性能指標下降情況。
根據網絡安全等級保護2.0相關標準,從物理和環境安全、網絡和通信安全、設備和計算安全、應用和數據安全以及安全管理等方面開展動態異構冗余結構擬態信息系統網絡安全等保合規性測評。
擬態安全信息系統基于動態異構冗余結構,從理論上大幅提高了信息安全防護能力。本文重點研究了擬態特性驗證方法和技術,并對擬態防御效能和網絡安全等級保護合規性測評要點進行了分析,從而為擬態安全信息系統測評認證提供了一種手段。