員天佑,劉 金,周小偉,安寶冉
(中國工程物理研究院計算機應(yīng)用研究所,四川 綿陽 621900)
基于多變體的控制軟件異構(gòu)冗余與動態(tài)重構(gòu)技術(shù)研究
員天佑,劉 金,周小偉,安寶冉
(中國工程物理研究院計算機應(yīng)用研究所,四川 綿陽 621900)
針對控制軟件的防篡改問題,從工控安全角度出發(fā),提出了一種利用多變體技術(shù)和虛擬化技術(shù)構(gòu)建控制軟件動態(tài)目標防御體系的新方法;通過多變體的異構(gòu)冗余、動態(tài)重構(gòu)和多模表決實現(xiàn)了軟件層面的主動防御和安全態(tài)勢感知,通過虛擬化技術(shù)實現(xiàn)了多變體執(zhí)行環(huán)境的快速構(gòu)建;著重介紹了技術(shù)路線、系統(tǒng)架構(gòu)、動態(tài)重構(gòu)策略、表決算法和同步機制;研究結(jié)果表明,該技術(shù)在提高控制系統(tǒng)可靠性的同時,使其具備了較強的主動安全防御能力。
多變體;動態(tài)目標防御;工控安全;異構(gòu)冗余;動態(tài)重構(gòu)
工業(yè)控制系統(tǒng)長期遵循COTS原則,強調(diào)開放性、兼容性和可靠性,對信息安全的關(guān)注度不夠[1],在信息化和工業(yè)化融合過程中逐步暴漏出嚴重的安全隱患?!罢鹁W(wǎng)”[2-3]事件的發(fā)生有力證明工業(yè)控制系統(tǒng)逐漸成為網(wǎng)絡(luò)黑客、恐怖分子和敵對國家的重點攻擊對象[4]。由于工業(yè)控制系統(tǒng)遍布工業(yè)、能源、水利、交通、市政和軍工設(shè)施等重要領(lǐng)域,一旦出現(xiàn)問題將給工業(yè)生產(chǎn)、國家經(jīng)濟安全和人民生命財產(chǎn)造成巨大損失。為此工信部、國務(wù)院專門出臺相關(guān)文件要求重視和加強工控系統(tǒng)信息安全。
目前的技術(shù)防護措施大都從傳統(tǒng)信息安全領(lǐng)域繼承而來,期間也不乏有新理論、新思想的提出。美國的動態(tài)目標防御技術(shù)[5-8]和我國科學(xué)家提出的擬態(tài)安全思想,成為顛覆傳統(tǒng)防御思想的典型代表。旨在改變“游戲規(guī)則”,通過目標對象內(nèi)在形態(tài)的多樣化、動態(tài)化和隨機化,使傳統(tǒng)的基于先驗知識和靜態(tài)特性的攻擊難度和成本大幅增加,是對象本身具備主動防御特性。
本文以動態(tài)目標防御和擬態(tài)安全思想為基礎(chǔ)重點探討利用多變體技術(shù)實現(xiàn)控制軟件異構(gòu)冗余和動態(tài)重構(gòu)的技術(shù)途徑。通過在虛擬環(huán)境下構(gòu)件一套支持異構(gòu)冗余、多模表決、動態(tài)重構(gòu)和異常行為感知的多變體執(zhí)行環(huán)境,確保單個控制軟件變體被惡意篡改或出現(xiàn)異常時,控制系統(tǒng)功能不受影響。
軟件多變體是指功能等價,結(jié)構(gòu)不同的軟件個體[9-10],當多個變體同時運行時,通過同步比較它們的行為,可以感知由攻擊導(dǎo)致的系統(tǒng)異常,并通過輸出結(jié)果表決機制避免控制系統(tǒng)出錯。要構(gòu)件這樣一個多元化的系統(tǒng),要有足夠多的變體程序和支撐多變體運行并能對其進行有效監(jiān)控的執(zhí)行環(huán)境。軟件多變體可以通過隨機編譯技術(shù)自動生成,也可以人工編制。
多變體執(zhí)行環(huán)境的結(jié)構(gòu)復(fù)雜,由監(jiān)視器、執(zhí)行器和表決器構(gòu)成,本文擬通過虛擬化技術(shù)進行構(gòu)建,具體方法為:利用內(nèi)核虛擬化技術(shù)構(gòu)建多個虛擬容器,將控制軟件的不同變體置于不同的容器中,它們之間通過通訊中間件進行數(shù)據(jù)訪問、消息傳遞和行為同步,由監(jiān)視器負責多變體控制軟件的執(zhí)行狀態(tài)監(jiān)測與同步控制,由多模表決器負責輸出結(jié)果的仲裁和異常行為識別。系統(tǒng)綜合運用了虛擬化技術(shù)、多變體技術(shù)和多模表決技術(shù),攻擊者很難穿透多個命名空間同時對多個變體進行精確攻擊,使監(jiān)控軟件的安全性得到大幅提升。具體結(jié)構(gòu)如圖1所示。
圖1 系統(tǒng)架構(gòu)圖
多變體執(zhí)行環(huán)境采用類似PLC的循環(huán)結(jié)構(gòu),由數(shù)據(jù)采集開始,經(jīng)過信息輸入,變體執(zhí)行和結(jié)果表決,最終產(chǎn)生正確的控制信號。數(shù)據(jù)采集器負責收集設(shè)備狀態(tài)信息、傳感器信息、運行參數(shù)和控制指令等,將其統(tǒng)一傳遞給多個執(zhí)行器;執(zhí)行器并行運行多個控制軟件的變體程序,通過一系列控制業(yè)務(wù)相關(guān)的復(fù)雜運算產(chǎn)生多個輸出結(jié)果給表決器;表決器通過表決產(chǎn)生唯一正確的控制信號,輸出給被控對象。整個循環(huán)執(zhí)行過程由監(jiān)視器進行監(jiān)測,并通過各種同步信號對數(shù)據(jù)采集器、執(zhí)行器和表決器的行為進行精確控制。系統(tǒng)運行過程中如果有控制程序被惡意篡改,執(zhí)行器將輸出錯誤的運算結(jié)果,通過多模表決可以實現(xiàn)容錯處理,確??刂葡到y(tǒng)穩(wěn)定運行,同時對執(zhí)行器的這一異常行為進行感知,并通過人機接口向操作員發(fā)出報警指示。具體結(jié)構(gòu)如圖2所示。
圖2 多變體執(zhí)行環(huán)境內(nèi)核模型
中間件可在不同虛擬容器之間進行高效通訊,各部組建之間的數(shù)據(jù)及信息傳遞通過它來實現(xiàn)。
該模型中監(jiān)視器發(fā)揮著至關(guān)重要的作用,其它模塊的行為由它通過同步信號進行嚴格控制,其控制行為可通過圖3所示的有限狀態(tài)機加以描述和實現(xiàn)。
S0:初始化,配置各模塊的運行參數(shù),隨機加載多變體程序;
S1:觸發(fā)數(shù)據(jù)采集模塊進行數(shù)據(jù)采集,等待結(jié)果;
S2:將采集數(shù)據(jù)統(tǒng)一傳遞給所有的執(zhí)行器;
S3:觸發(fā)執(zhí)行器運行,等待結(jié)果;
S4:獲取執(zhí)行結(jié)果,將其傳遞給表決器;
S5:觸發(fā)表決器,等待結(jié)果;
S6:獲取表決結(jié)果,將正確結(jié)果輸出;
S7:超時處置;
S8:表決錯誤,輸出安全值;
S9:循環(huán)周期等待。
圖3 監(jiān)視器控制狀態(tài)圖
狀態(tài)遷移過程通過表1中的同步信號進行觸發(fā),在軟件實現(xiàn)時這些信號以消息的形式存在,通過中間件進行傳遞。
表1 同步信號表
本課題主要研究應(yīng)用軟件層面的控制系統(tǒng)動態(tài)重構(gòu)技術(shù)。擬通過兩種方法實現(xiàn):一是在系統(tǒng)啟動過程中隨機選擇多個變體程序進行動態(tài)加載和運行,實現(xiàn)啟動環(huán)節(jié)的動態(tài)重構(gòu)。二是在系統(tǒng)運行態(tài)同時并行運行多個變體,隨機選擇其中3個變體的輸出結(jié)果進行表決,實現(xiàn)運行態(tài)動態(tài)重構(gòu)。這兩種方法可混合使用。為了確保表決器不受攻擊,可通過沙箱進行保護,后期可采用FPGA對表決算法進行硬件化處理。
在工業(yè)控制系統(tǒng)中,運算結(jié)果最終以數(shù)字量和模擬量形式呈現(xiàn),通過I/O模塊輸出到設(shè)備。其表決方法也有所不同。
1)數(shù)字量表決算法。
對于離散量而言,運算結(jié)果有“true”和“false”兩種情況,分別用“1”和“0”表示,其表決算法為:
Out=(Out1&Out2)|(Out2&Out3)|(Out1&Out3)
2)模擬量表決算法
模擬量通過相似度判定法則進行表決,具體方法為:將a,b,c三個運算結(jié)果值看作同一坐標軸上的三個點,求它們之間的歐幾里德距離,通過歐幾里德距離判定它們之間的相似程度。歐幾里德距離計算公式為:
表2 真值表
判定結(jié)果分為相似和非相似兩種情況,通過與一個事先設(shè)定的閾值λ作比較,大于等于該值表示差異較大,小于該值表示相似,判定結(jié)果用&表示,具體表達式如下:
仲裁規(guī)則如下所示,L代表表決后的正確輸出值,m代表安全輸出。本例只考慮3個變體程序中的一個被惡意篡改產(chǎn)生錯誤輸出時的結(jié)果仲裁。當3個變體中有二個以上的變體程序被篡改時仲裁沒有意義。
&ab&ac&bcL
傳統(tǒng)的控制系統(tǒng)冗余大都采取軟硬一體的同構(gòu)、熱備方式,在可靠性方面可以做到故障切換,但很難實現(xiàn)系統(tǒng)級的多模冗余容錯。在信息安全方面完全是一個開放、同構(gòu)、靜態(tài)的系統(tǒng),極易受到攻擊,如果控制程序被惡意篡改產(chǎn)生錯誤的運算結(jié)果和輸出,系統(tǒng)將無法識別。本文所提出的多模異構(gòu)冗余和動態(tài)重構(gòu)技術(shù)雖然僅限于控制軟件層面但能同時兼顧可靠性和安全性。由于系統(tǒng)在啟動和運行過程中能夠動態(tài)重構(gòu),且具備多模冗余表決機制,在單個控制軟件變體被惡意篡改或出現(xiàn)錯誤時系統(tǒng)控制功能不受影響,具備一定的主動安全防御功能。在系統(tǒng)實現(xiàn)方面利用成熟的虛擬化和中間件技術(shù),共享一套硬件資源,成本低、可實現(xiàn)性強。本文研究重點是多變體執(zhí)行環(huán)境構(gòu)建、同步技術(shù)和多模表決機制,給出了模型和算法,軟件實現(xiàn)過程不做詳解,用戶可根據(jù)需要選擇不同的語言進行開發(fā)。
由于采取了多模冗余和表決技術(shù),系統(tǒng)的實時性會有一定影響,但在硬件性能不斷提升的今天,依然能夠滿足大多數(shù)控制系統(tǒng)的應(yīng)用需求。
[1] Dzung D, Naedele M, von Hoff T, et al. Security for industrial communication systems[J]. Proceedings of the IEEE, 2005,93(6):1152-1177.
[2] 華 镕.震網(wǎng)給工業(yè)控制敲響了警鐘[J].儀器儀表標準化與計量,2011(2):30-34.
[3] 嚴宵鳳.震網(wǎng)引發(fā)網(wǎng)絡(luò)安全新思考[J].信息安全與技術(shù),2011,2:17-19.
[4] Shreeve J L. The new breed of cyber terrorist, The Independent,online edition[EB/OL]. http://news.independent.co.uk/world/science technology/article622421.ece, May 2006.
[5] 張曉玉,李振邦.移動目標防御技術(shù)綜述[J].通訊科技,2013(6):111-113.
[6] Sushil J, Anup K G, Vipin S, et.al.Moving Target Defense-Creating Asymmetric Uncertainty for Cyber Threats[M].[s.l]:Springer Press,2011,1.
[7] Matthew D, Stephen F, William U, et.al, MT6D: A Moving Target IPv6 Defense[C].MILCOM.U.S:IEEE Communication Committee,2011,1321-1326.
[8] Jafar H J, Ehab A, Quan Q. Transparent Moving Target Defense Using Software Defined Networking[J].HotSDN,2012(12):127-132.
[9] Cox B, Evans D, Filipi A, et al.N-variant systems:A Secretless Framework for security through Diversity[A]. Proceedings of the 15th USENIX Security Symposium[C]. pages 105-120.USENIX Association,2006.
[10] Salamat B, Jackson T, Wagner G,et al. Run-Time Defense against Code Injection Attacks using Replicated Execution[J]. IEEE Transactions on Dependable and Secure Computing,2011.
Research on Heterogeneous Redundancy and Dynamic Reconfiguration of Control Software Based on Multi-Variant
Yun Tianyou, Liu Jin, Zhou Xiaowei, An Baoran
(Institute of Computer Application, China Academy of Engineering Physics, Mianyang 621900,China)
To meet the anti-tamper requirement for control software, a new method is proposed to construct the moving target defense system of control software based on multi-variant and virtualization. The function of active defense and security situational awareness is achieved by heterogeneous redundancy, Dynamic reconfiguration and multimode voting of variant. multi-variant execution environment is structured by virtualization. The technical route, system architecture, dynamic reconfiguration, voting algorithm and synchronization mechanism are detailed in this paper. The research results show that this technique can improve the reliability and security actively for industrial control systems.
multi-variant;moving target defense;industrial control security;heterogeneous redundancy; dynamic reconfiguration
2016-07-22;
2016-08-24。
國家重點研發(fā)計劃項目(2016YFB0800203);國防基礎(chǔ)科研項目(JCKY2016212C005)。
員天佑(1977-),男,高級工程師,主要從事自動控制、故障診斷和工控安全相關(guān)技術(shù)方向的研究。
1671-4598(2017)01-0105-02
10.16526/j.cnki.11-4762/tp.2017.01.030
TP3
A