李建軍
(1.中國電子科技集團公司第三十二研究所,上海 201808;2.國家工程軟件產(chǎn)品質(zhì)量監(jiān)督檢驗中心,上海 201808)
隨著信息化建設步伐的加快,信息系統(tǒng)已成為從互聯(lián)網(wǎng)上獲取信息和服務的主要來源。近年來,惡意網(wǎng)絡攻擊事件頻發(fā),攻擊方式持續(xù)迭代升級,網(wǎng)絡威脅造成的損害不斷增強,網(wǎng)絡信息安全產(chǎn)品和服務需求持續(xù)增長。政府關(guān)注和政策扶持也不斷推動我國信息安全產(chǎn)業(yè)向安全可信、自主可控方向快速發(fā)展。我國在信息安全保障方面正在全面實施網(wǎng)絡安全等級保護制度,通過制度建設推進我國重要信息系統(tǒng)安全水平提升,但通過了網(wǎng)絡安全等級保護測評并不能保證信息系統(tǒng)的高安全性、高可靠性,尤其對于國防、能源、金融等關(guān)鍵信息基礎設施的信息安全來說還遠遠不夠。依賴于傳統(tǒng)安全加固手段無法抵御未知漏洞后門等導致的未知風險或不確定威脅,借鑒生物界的擬態(tài)多樣性,鄔江興院士團隊提出了擬態(tài)防御機制,從擬態(tài)結(jié)構(gòu)本身而不是依賴現(xiàn)有防御手段和方法保證其安全性。市場上的擬態(tài)信息系統(tǒng)應用目前普遍缺少有效的測試驗證手段,研究擬態(tài)信息系統(tǒng)測評方法和測評技術(shù)具有重要的意義。
從研究信息系統(tǒng)攻擊現(xiàn)狀和擬態(tài)防御安全信息系統(tǒng)體系模型入手,建立了基于GB/T 25000質(zhì)量特性、擬態(tài)防御機理、擬態(tài)防御效果、網(wǎng)絡安全等保合規(guī)性測試的、分層的擬態(tài)安全信息系統(tǒng)測評體系,并對擬態(tài)特性的驗證方法提出了技術(shù)思路。
信息系統(tǒng)攻擊者常用四種攻擊手段[1]:分布式拒絕服務攻擊;網(wǎng)絡主機利用型攻擊(攻擊手段包括口令破解、特洛伊木馬、緩沖區(qū)溢出等);信息收集型攻擊(通過掃描系統(tǒng)漏洞、刺探網(wǎng)絡體系結(jié)構(gòu)、社會工程學等手段獲得系統(tǒng)信息,為進一步入侵提供支持);篡改信息攻擊(如偽造通信網(wǎng)絡報文、電子郵件、服務網(wǎng)址重定向等)。在網(wǎng)絡攻防博弈中,攻擊方與防御方處于非對稱的地位。只要攻擊者在信息系統(tǒng)中發(fā)現(xiàn)易受攻擊的點,就可以展開攻擊,而防御者需要進行全面的安全保護;另一方面,防御者很難準確預測攻擊的計劃或發(fā)生,也不能快速定位漏洞并在短時間內(nèi)修補漏洞,導致防御者的被動劣勢。攻擊過程[2]一般可以分為掃描探測、漏洞分析利用、攻擊植入和攻擊保持四個階段。
自信息系統(tǒng)安全技術(shù)發(fā)展以來,出現(xiàn)了許多防御技術(shù),典型的如入侵檢測、入侵防御、入侵容忍和移動目標防御等,這些技術(shù)具備不同的防御特點。在網(wǎng)絡攻防博弈中,防御技術(shù)是對抗網(wǎng)絡攻擊的直接手段。
擬態(tài)安全信息系統(tǒng)采用動態(tài)異構(gòu)冗余(Dynamic Heterogeneous Redundancy,DHR)模型。攻擊者面對基于擬態(tài)架構(gòu)的信息系統(tǒng),由于被攻擊目標的動態(tài)性,已經(jīng)難以通過系統(tǒng)探測、漏洞挖掘、系統(tǒng)突破、系統(tǒng)控制等技術(shù)手段對信息獲取和信息進行控制。擬態(tài)安全信息系統(tǒng)將網(wǎng)絡空間人與人之間博弈的問題轉(zhuǎn)化為攻擊者能否攻破信息系統(tǒng)的概率問題。
圖1 擬態(tài)防御體系抽象模型
擬態(tài)安全信息系統(tǒng)防御機構(gòu)模型如圖1所示,擬態(tài)防御體系是以維護目標對象(如網(wǎng)絡、存儲、系統(tǒng)、配置項、部件、單元等)元服務功能(包括私密信息保護)健壯性與安全可信為目的,以目標系統(tǒng)服務功能與其多元、冗余配置的實現(xiàn)結(jié)構(gòu)或算法間引入不確定性映射關(guān)系為核心,以給定資源條件下異構(gòu)執(zhí)行體的策略調(diào)度和多維動態(tài)重構(gòu)機制提升防御場景的動態(tài)相異性為方法,以非配合條件下輸出矢量多模裁決為中心的閉環(huán)控制機制阻斷、屏蔽非協(xié)同攻擊(或差模失效)為手段,以干擾或隱匿寄生在異構(gòu)執(zhí)行體上漏洞后門的可達性與可利用性為重點,以架構(gòu)自身功效獲得內(nèi)生安全屬性。從擬態(tài)防御模型上可以分析出,擬態(tài)結(jié)構(gòu)的脆弱點在于輸入代理和分發(fā)判決,一旦前端被攻破,則其防御機制受到破壞。
擬態(tài)安全測評需要從測評輸入、測評過程和測評輸出三個方面規(guī)范對擬態(tài)信息系統(tǒng)實施測試評估活動的要求,建立多層次、多粒度、開放性、可定制的擬態(tài)安全測評評估指標體系框架,以保證測評過程、測評結(jié)果和結(jié)論的科學性、正確性和依從性。
擬態(tài)安全信息系統(tǒng)測評需要規(guī)定開展擬態(tài)安全測評過程的基本過程、流程、任務及工作產(chǎn)品等,規(guī)范測評工作人員、組織、機構(gòu)的工作,在擬態(tài)安全測評過程中如何正確使用擬態(tài)安全測評要求中的具體測評方法、步驟和判斷依據(jù)。擬態(tài)安全測評不同于傳統(tǒng)的應用系統(tǒng)或安全防御系統(tǒng)評估,擬態(tài)信息系統(tǒng)需要綜合考慮擬態(tài)特征、擬態(tài)算法效能以及安全防護等多個要素,需要結(jié)合具體的任務需求靈活制定測評方案。
擬態(tài)安全測評需要劃定擬態(tài)界面,擬態(tài)界面所定義功能的完整性、有效性和安全性是擬態(tài)防御有效性的前提條件,擬態(tài)界面未明確定義的功能/操作不屬于擬態(tài)防御的范圍(但也可能存在衍生的保護效應)。根據(jù)擬態(tài)防御要求,可以根據(jù)不同應用場景對安全性與實現(xiàn)代價的綜合需求定義更多的防御等級,在安全性上需要重點考慮以下四方面因素:擬態(tài)防御核心是給攻擊過程造成的各種不確定性;使攻擊者無法在攻擊過程的各個層面獲取防御系統(tǒng)結(jié)構(gòu)或系統(tǒng)反饋的有效信息;使攻擊失去可用的穩(wěn)定性;使基于檢測或攻擊累積的經(jīng)驗不能用作后續(xù)攻擊活動中的先驗知識。
在GB/T 25000.10-2016 《系統(tǒng)與軟件工程系統(tǒng)與軟件質(zhì)量要求和評價(SQuaRE)第10部分:系統(tǒng)與軟件質(zhì)量模型》中詳細定義了軟件產(chǎn)品8個質(zhì)量特性(功能性、性能效率、兼容性、易用性、可靠性、信息安全性、維護性和可移植性)和相應子特性,結(jié)合《GB 17859-1999 計算機信息系統(tǒng)安全等級保護劃分準則》對軟件安全等級的劃分,針對擬態(tài)產(chǎn)品的“動態(tài)異構(gòu)冗余”構(gòu)架,建立一套合適的測評評估體系。體系包括質(zhì)量特性、質(zhì)量子特性、質(zhì)量屬性。擬態(tài)信息系統(tǒng)評估指標體系采用基本要求和分項要求的分層結(jié)構(gòu),總體架構(gòu)如圖2所示。
從評估模型上看,目標層是擬態(tài)信息系統(tǒng)安全防護能力的綜合反映,準則層指標可以進一步分為能力層、能力子層,自上而下對擬態(tài)信息系統(tǒng)安全防護能力進行一步細化、分解。測評指標層則是從對各項能力的指標量化,并進行測試項的劃分,為后續(xù)進行擬態(tài)信息系統(tǒng)測評提供基本要求和為給出測評結(jié)論提供依據(jù)。
圖2 擬態(tài)安全信息系統(tǒng)測評
擬態(tài)信息系統(tǒng)測試采用層次分析法,引入多維度的測試策略,建立多層次的擬態(tài)信息系統(tǒng)評價體系。從四個維度測試評價擬態(tài)信息系統(tǒng):
一是基于GB/T25000軟件質(zhì)量特性的測試,此為傳統(tǒng)信息系統(tǒng)測試方法,不再贅述。
二是擬態(tài)特性驗證,針對擬態(tài)信息系統(tǒng)的擬態(tài)特性進行測評,主要包括:動態(tài)性、異構(gòu)性、冗余性、功能等效性等,驗證擬態(tài)防御機制的相關(guān)模塊是否符合研制要求。
三是防御效能驗證,結(jié)合對擬態(tài)信息系統(tǒng)的質(zhì)量特性測評,對系統(tǒng)功能和防御能力進行評價,主要包括:信息掃描、漏洞檢測、后門利用等,評估被測系統(tǒng)改變固有漏洞和后門的呈現(xiàn)性質(zhì);擾亂漏洞或后門的可鎖定性與攻擊鏈路通達性;是否大幅增加了系統(tǒng)中漏洞和后門的可利用難度。
四是網(wǎng)絡安全等保合規(guī)性,從擬態(tài)信息系統(tǒng)是否滿足網(wǎng)絡安全等級保護的要求進行合規(guī)性匹配檢查。
3.1.1動態(tài)性驗證
擬態(tài)安全信息系統(tǒng)應可以動態(tài)選擇當前執(zhí)行體集,技術(shù)實現(xiàn)上通過預先準備一個異構(gòu)構(gòu)件資源池,并配置動態(tài)選擇算法模塊,這些算法可以使用概率算法、動態(tài)選擇算法使動態(tài)異構(gòu)冗余結(jié)構(gòu)具有動態(tài)性。
動態(tài)也體現(xiàn)在分發(fā)判決器上,通過網(wǎng)絡抓包軟件或日志文件可以驗證分發(fā)的動態(tài)性。
3.1.2異構(gòu)性驗證
擬態(tài)的異構(gòu)性體現(xiàn)為多個層次,硬件平臺架構(gòu)的異構(gòu)性(X86、PowerPC、龍芯等),操作系統(tǒng)的異構(gòu)性(Windows、Linux、UNIX等)、編譯系統(tǒng)的異構(gòu)性(Visual C++、GCC、DEV C++)、中間件的異構(gòu)性(JBoss、Tomcat、Weblogic)、數(shù)據(jù)庫的異構(gòu)性(MySQL、Oracle、SQL Server),這些在開展實際測試時較容易判定,但更為重要的應用程序的異構(gòu)性卻方法相對有限。
多版本系統(tǒng)構(gòu)架下,設計或開發(fā)功能一致的程序版本會導致工作量的成倍增加,程序多樣性通常采用編譯過程的轉(zhuǎn)化、基于二進制目標碼的轉(zhuǎn)換、加載過程中的轉(zhuǎn)化、運行過程中的轉(zhuǎn)化等。針對相同工程代碼采用不同編譯器編譯、或者通過同一編譯器的不同編譯開關(guān)選項來構(gòu)造程序異構(gòu)體的方法,從成本上來說對于開發(fā)多版本非相似軟件是一種比較可行的方案,但從擬態(tài)防御效果來看,通過擬態(tài)編譯生產(chǎn)的軟件多變體存在同源問題,導致軟件變體中存在同一漏洞的概率較高,增加了網(wǎng)絡攻擊成功率。
通過軟件加殼和混淆技術(shù)方式生成不同的軟件變體,理論上并沒有增強其異構(gòu)性??刂屏髌教够⒒ㄖ噶?、標識符混淆、字符串混淆、控制流變換等代碼混淆技術(shù)側(cè)重于增加代碼的迷惑性,降低代碼可讀性;加殼技術(shù)對可執(zhí)行文件進行加密、壓縮,并附加一個外殼,加載時外殼程序首先進行原程序還原操作,并把控制權(quán)還給解壓解密后的原程序[3]。
針對程序異構(gòu)性判定可以使用基于控制流圖的結(jié)構(gòu)對比的驗證方法。對于在源程序級提供異構(gòu)變體的,只要將編譯前的工程源代碼通過一定的方法分析出它的控制流圖[4],進行相互比較即可。對于只提供編譯后的目標二級制代碼的情況,可以通過IDA pro等類似反編譯工具預處理后再分析出控制流圖,在圖論里面,兩個圖同構(gòu)即表示存在頂點之間的雙射,使用同構(gòu)圖的算法可對它們進行對比。
3.1.3冗余驗證
對于高安全高可靠系統(tǒng)來說,在當前的技術(shù)背景下,除了選用高可靠性電子元器件外,通常采用多模冗余的方式提高計算機平臺的可靠性和安全性[5],比如RTCA DO—178B《機載系統(tǒng)和設備合格審定中的軟件考慮》中就提出了使用多版本非相似軟件的設計方案。測試時重點檢查是否滿足冗余要求。
3.1.4功能等效性
對于擬態(tài)安全信息系統(tǒng)中的多個異構(gòu)執(zhí)行體,需要確保其相互之間的功能等效性。擬態(tài)安全信息系統(tǒng)或產(chǎn)品包含若干組定義的規(guī)范和協(xié)議關(guān)鍵服務/操作功能。通過這些標準化協(xié)議或規(guī)范的一致性或一致性測試,可以確定給定服務/操作功能的多個異構(gòu)可執(zhí)行文件的性能等效性。也就是說,擬態(tài)界面的輸入和輸出關(guān)系的一致性測試可用于判斷功能執(zhí)行之間的等效性,包括給定異常處理函數(shù)或性能的一致性。
針對擬態(tài)防御效能測試可采取黑盒測試、注入測試、深度滲透測試、對比測試、人為預置后門激活、預置木馬等測試手段,對擬態(tài)信息系統(tǒng)本身的各項功能正常與否進行測試驗證,并針對不同類別的攻擊,對該擬態(tài)系統(tǒng)的安全防御能力進行測試和分析[6]。
擬態(tài)安全信息系統(tǒng)可從以下兩個維度進行:一是脆弱性測評,從風險控制的角度梳理核查,測試驗證脆弱性漏洞問題;二是安全策略關(guān)聯(lián)數(shù)據(jù)流測評,從應用系統(tǒng)的數(shù)據(jù)流、業(yè)務邏輯流程及安全策略方面進行測評。針對擬態(tài)Web服務器需驗證其安全性和性能。安全性方面主要從防御強度、防御面和安全代價三方面,在掃描探測、漏洞挖掘、攻擊植入和攻擊維持四個階段進行防御能力的評估。
擬態(tài)防御效能測試需要覆蓋以下測試項:(1)擬態(tài)安全信息系統(tǒng)能否隱匿擬態(tài)界內(nèi)的未知漏洞和后門;(2)攻擊者能否利用未知漏洞給擬態(tài)信息系統(tǒng)注入未知病毒木馬;(3)能否顯著降低攻擊或探測經(jīng)驗的可重復利用性;(4)擬態(tài)信息系統(tǒng)內(nèi)是否允許存在病毒或木馬;(5)擬態(tài)信息系統(tǒng)的性能指標下降情況。
根據(jù)網(wǎng)絡安全等級保護2.0相關(guān)標準,從物理和環(huán)境安全、網(wǎng)絡和通信安全、設備和計算安全、應用和數(shù)據(jù)安全以及安全管理等方面開展動態(tài)異構(gòu)冗余結(jié)構(gòu)擬態(tài)信息系統(tǒng)網(wǎng)絡安全等保合規(guī)性測評。
擬態(tài)安全信息系統(tǒng)基于動態(tài)異構(gòu)冗余結(jié)構(gòu),從理論上大幅提高了信息安全防護能力。本文重點研究了擬態(tài)特性驗證方法和技術(shù),并對擬態(tài)防御效能和網(wǎng)絡安全等級保護合規(guī)性測評要點進行了分析,從而為擬態(tài)安全信息系統(tǒng)測評認證提供了一種手段。