謝文軍,付 曉,于振華,韓 林
(空軍工程大學(xué)信息與導(dǎo)航學(xué)院,西安710077)
信息物理融合系統(tǒng)(Cyber-Physical System,CPS)是一種集成計(jì)算、通信與控制功能的新型智能嵌入式系統(tǒng),系統(tǒng)中計(jì)算進(jìn)程和物理進(jìn)程在開放環(huán)境下持續(xù)交互、深度融合,從而實(shí)現(xiàn)大規(guī)模物理系統(tǒng)的實(shí)時(shí)感知、遠(yuǎn)程精確控制和信息服務(wù)[1],并在國(guó)防安全、航空航天、智能電網(wǎng)、醫(yī)療設(shè)備等多個(gè)領(lǐng)域得到了廣泛應(yīng)用。
不同于傳統(tǒng)的計(jì)算機(jī)控制系統(tǒng)和傳感器網(wǎng)絡(luò),首先,CPS是動(dòng)態(tài)、自治、異構(gòu)的復(fù)雜系統(tǒng);其次,CPS包含傳感器節(jié)點(diǎn)(Sensors)、執(zhí)行器節(jié)點(diǎn)(Actuators)和控制器節(jié)點(diǎn)(Controllers),各節(jié)點(diǎn)間通過有線或無線網(wǎng)絡(luò)連接實(shí)現(xiàn)節(jié)點(diǎn)間的高效協(xié)作、精確控制、資源的動(dòng)態(tài)組織與協(xié)調(diào)分配、體系結(jié)構(gòu)重配置等功能[2]。CPS的最終目標(biāo)是實(shí)現(xiàn)信息世界和物理世界的完全融合,構(gòu)建一個(gè)可控、可信、可擴(kuò)展且安全高效的 CPS網(wǎng)絡(luò),進(jìn)而改變?nèi)伺c物理世界交互的方式[3]。
軟件是CPS的靈魂,其在CPS中所起的作用也越來越大。由于CPS主要應(yīng)用于安全關(guān)鍵系統(tǒng)中,生存環(huán)境惡劣,極易遭受感染與攻擊,且其功能需求也在不斷增加,導(dǎo)致CPS軟件日趨龐大化、復(fù)雜化,并不可避免地產(chǎn)生了越來越多的缺陷及漏洞,這也使得CPS愈發(fā)脆弱,一旦系統(tǒng)失效或發(fā)生故障,將造成難以挽回的巨大損失。2010年爆發(fā)的“震網(wǎng)”病毒是首例針對(duì)工業(yè)控制系統(tǒng)的惡意代碼,可突破CPS的物理域限制直接對(duì)物理世界中的工業(yè)設(shè)施造成破壞,伊朗核電站便因遭受“震網(wǎng)”攻擊而被迫推遲發(fā)電;2012年,“火焰”(Flame)爆發(fā),“火焰”能夠使用服務(wù)器遠(yuǎn)程控制受感染的計(jì)算機(jī),并通過錄音、截圖及記錄網(wǎng)絡(luò)消息等手段來盜取機(jī)密文件、聯(lián)系人數(shù)據(jù)等重要信息[4]。因此,我們必須提高CPS軟件的可信性,防止軟件漏洞及系統(tǒng)內(nèi)部缺陷被惡意攻擊所利用,這對(duì)CPS的安全性和有效性至關(guān)重要[5]。雖然目前采用了防火墻技術(shù)、主動(dòng)防御技術(shù)、入侵檢測(cè)技術(shù)等多種防護(hù)手段來保障軟件的運(yùn)行安全,但這些傳統(tǒng)的安全防護(hù)技術(shù)只能較好地對(duì)抗外部入侵,而從內(nèi)部發(fā)起的攻擊與竊密仍舊防不勝防。為了解決這一問題,美國(guó)國(guó)家自然科學(xué)基金自2005年起便組織了一系列關(guān)于CPS可信軟件的研討會(huì)及國(guó)際會(huì)議[6],探討了CPS在航空、汽車、鐵路等安全關(guān)鍵系統(tǒng)的應(yīng)用、構(gòu)建高可信軟件的方法與技術(shù)及所面臨的挑戰(zhàn)。我國(guó)學(xué)術(shù)界也對(duì)此展開了研究,文獻(xiàn)[7]對(duì)網(wǎng)絡(luò)時(shí)代的軟件可信演化進(jìn)行了研究,提出了可信軟件演化論;文獻(xiàn)[8]建立了基于軟件行為可信性的軟件動(dòng)態(tài)可信理論模型,并用于軟件動(dòng)態(tài)可信評(píng)測(cè)。
由于CPS軟件通常在惡劣環(huán)境中長(zhǎng)期運(yùn)行,這一過程中其可信性持續(xù)演化,不斷變化,這往往導(dǎo)致原本可信的軟件不再可信,因此需要對(duì)其可信性演化規(guī)律進(jìn)行研究和分析。然而現(xiàn)有的形式化方法、軟件驗(yàn)證技術(shù)[5,9]等僅在描述靜態(tài)CPS軟件時(shí)表現(xiàn)良好,并不適合對(duì)CPS軟件可信性動(dòng)態(tài)演化規(guī)律進(jìn)行描述和分析。通過研究可發(fā)現(xiàn),CPS軟件在復(fù)雜環(huán)境中動(dòng)態(tài)行為演化的統(tǒng)計(jì)特性與軟件可信性特征屬性存在對(duì)應(yīng)關(guān)系[10]。綜合這些統(tǒng)計(jì)特性,本文利用非線性動(dòng)力學(xué)理論與方法建立CPS軟件行為演化動(dòng)力學(xué)模型,為CPS軟件可信性的判定提供一定參考。
可信性是在可靠性、正確性、安全性、時(shí)效性、可用性、可預(yù)測(cè)性、可控性、私密性、高效性、可生存性等概念基礎(chǔ)上發(fā)展而來的一個(gè)新概念。目前,學(xué)術(shù)界對(duì)于軟件可信性的定義仍有爭(zhēng)議,一個(gè)被廣泛認(rèn)可的定義是:所謂“可信軟件”,通常是指那些運(yùn)行行為及其結(jié)果總是符合人們預(yù)期,并在受到干擾時(shí)仍能提供連續(xù)服務(wù)的軟件[11]。本文認(rèn)為CPS可信軟件應(yīng)具備一定的抗病毒、抗攻擊能力,即在惡意攻擊下能夠保持穩(wěn)定運(yùn)行、異常狀態(tài)可控、行為符合預(yù)測(cè),可得到預(yù)期結(jié)果。
文獻(xiàn)[12]從資源共享、資源能力提供、局部性能和整體性能這3個(gè)角度出發(fā)將可信研究劃分為身份可信問題、能力可信問題和行為可信問題,在此基礎(chǔ)上,本文根據(jù)CPS軟件的特點(diǎn),將CPS軟件可信研究進(jìn)一步分為功能可信、能力可信、身份可信、數(shù)據(jù)可信、行為可信。其中,功能可信著眼于用戶需求,保證CPS軟件能夠滿足用戶所提出的要求;能力可信著眼于CPS軟件實(shí)現(xiàn)其功能的能力,強(qiáng)調(diào)了CPS軟件執(zhí)行任務(wù)能力的可靠性及高效性;身份可信對(duì)CPS軟件進(jìn)行約束以確保CPS軟件總是在規(guī)則允許的范圍之內(nèi)對(duì)相應(yīng)資源進(jìn)行訪問和利用;數(shù)據(jù)可信立足于數(shù)據(jù),從數(shù)據(jù)層面來保證CPS軟件的可信性,數(shù)據(jù)是軟件執(zhí)行任務(wù)的基礎(chǔ),只有確保數(shù)據(jù)安全,防止數(shù)據(jù)泄露,才能保證CPS軟件的安全可信;行為可信則確保CPS軟件在其行為演化過程中的可信性,是CPS軟件可信性的核心問題,也是本文研究的重點(diǎn)所在。
在CPS軟件數(shù)據(jù)完整的前提下,如何確保CPS軟件的行為總是以預(yù)期的方式朝著預(yù)期的目標(biāo)運(yùn)行,這就是CPS軟件動(dòng)態(tài)行為可信問題[13],CPS軟件的動(dòng)態(tài)行為可信性是衡量其可信與否的重要依據(jù),是行為可信的核心問題。若CPS軟件的動(dòng)態(tài)行為可信性無法得到保證,會(huì)引發(fā)如軟件失效、運(yùn)行異常、數(shù)據(jù)泄露、遠(yuǎn)程操控等問題,甚至引發(fā)重大安全事故。
隨著CPS軟件需求進(jìn)一步多樣化、新技術(shù)的不斷出現(xiàn)、新功能的不斷拓展以及人們對(duì)CPS軟件生存性的要求進(jìn)一步提高,其在內(nèi)部因素及外部因素的雙重作用下不斷演化,可將處于開放、復(fù)雜環(huán)境中的CPS軟件視為一個(gè)動(dòng)力學(xué)系統(tǒng)。
在持續(xù)運(yùn)行過程中,即使CPS軟件不受任何外部因素影響,其內(nèi)部缺陷也會(huì)隨著時(shí)間推移不斷增加,并導(dǎo)致其性能衰退、功能失效甚至崩潰;為了延長(zhǎng)軟件的生命周期,不但要在軟件研發(fā)階段進(jìn)行嚴(yán)格的測(cè)試,而且需要不斷地對(duì)軟件進(jìn)行維護(hù)、數(shù)據(jù)更新、版本升級(jí)。此外,由于CPS軟件一般應(yīng)用于安全關(guān)鍵系統(tǒng),對(duì)可能引發(fā)事故的重大軟件缺陷應(yīng)為“零容忍”,反映在其可信性演化曲線上即是CPS軟件的可信性不低于人為設(shè)置的臨界點(diǎn),一旦其可信性低于安全線,將自動(dòng)切換為安全模式以滿足最低限度的安全需求。
根據(jù)以上分析,結(jié)合非線性動(dòng)力學(xué)理論,我們將CPS軟件自身演化過程稱為自然演化,將其受人為因素影響的演化過程稱為人為演化,將其處于安全模式下的演化過程稱為生存演化[10]。
在自然演化過程中,給定CPS軟件的初始狀態(tài),這也就確立了一個(gè)動(dòng)力系統(tǒng)的初態(tài)。隨著時(shí)間推移,CPS軟件的可信性演化過程可用其特征屬性隨時(shí)間變化而形成的軌道[14]進(jìn)行描述。
在人為演化過程中,加入人為因素如發(fā)布補(bǔ)丁、更新軟件數(shù)據(jù)庫(kù)等,這通常使得軟件可信程度發(fā)生一個(gè)明顯的變化,此種情況下,其可信性演化曲線將是一個(gè)由多個(gè)局部自然演化曲線組成的具有階躍特性的演化曲線,人為演化對(duì)應(yīng)著“類動(dòng)力系統(tǒng)”。
在生存演化過程中,CPS軟件內(nèi)部發(fā)生嚴(yán)重錯(cuò)誤或遭遇高強(qiáng)度惡意攻擊,為了保證安全關(guān)鍵系統(tǒng)最低限度的安全需求,CPS軟件將自動(dòng)切換為安全模式。此模式下,CPS軟件僅實(shí)現(xiàn)核心功能,可信性大幅增強(qiáng)并能在較長(zhǎng)時(shí)間內(nèi)處于一個(gè)較穩(wěn)定的狀態(tài),此時(shí)可對(duì)CPS軟件進(jìn)行人工維護(hù)、升級(jí)等操作,以提升其可信性。將這些嚴(yán)重影響CPS軟件可信性的因素表示為控制參量,其可信性演化曲線將在這些控制參量的作用下出現(xiàn)分支(Bifurcation),這對(duì)應(yīng)著動(dòng)力系統(tǒng)中的分支理論。
CPS可信軟件的行為演化軌跡應(yīng)是有規(guī)律、可預(yù)測(cè)的。由于CPS軟件行為難以直接觀測(cè),但其行為變化會(huì)引起與其直接相關(guān)的特征量發(fā)生相應(yīng)變化,因此我們通過選取CPS軟件的特征屬性及影響CPS軟件運(yùn)行的外部因素來刻畫CPS軟件的演化規(guī)律。將所選的CPS軟件可信性特征屬性與相應(yīng)外部因素作為參數(shù)[10],可以建立起與之對(duì)應(yīng)的動(dòng)力學(xué)模型,便于對(duì)CPS軟件可信性的演化特性進(jìn)行分析。
下面以一個(gè)應(yīng)用于工業(yè)控制系統(tǒng)的CPS軟件為例說明其非線性動(dòng)力學(xué)建模與分析過程,該CPS軟件同時(shí)受內(nèi)部因素(終端連接數(shù))及外部因素(病毒攻擊)綜合影響。
假設(shè) i時(shí)刻該 CPS軟件占用的網(wǎng)絡(luò)帶寬為x(i),終端連接數(shù)為y(i)。軟件穩(wěn)定運(yùn)行時(shí),所占用的網(wǎng)絡(luò)帶寬應(yīng)與上一時(shí)刻所占用的網(wǎng)絡(luò)帶寬大致相同,即x(i+1)≈x(i);若有病毒入侵,由于入侵該軟件的病毒間存在相互競(jìng)爭(zhēng),致使抵消的網(wǎng)絡(luò)帶寬占用量正比于x(i)的平方,其比例系數(shù)為a;該軟件的終端用戶也需占用一定的網(wǎng)絡(luò)帶寬,終端連接數(shù)與占用的網(wǎng)絡(luò)帶寬大小間的比例系數(shù)為b,并設(shè)終端連接數(shù)與上一時(shí)刻的網(wǎng)絡(luò)帶寬占用量成正比,比例系數(shù)為c。
由上述假設(shè),根據(jù)非線性動(dòng)力學(xué)理論與方法,結(jié)合生物模型中著名的Logistic映射[15],可列出相應(yīng)的微分方程對(duì)該模型進(jìn)行描述。為了便于計(jì)算機(jī)仿真,將該微分方程離散化,得到的模型如下:
在CPS軟件動(dòng)態(tài)行為演化過程中,可通過較少次數(shù)的測(cè)試得到終端連接數(shù)與網(wǎng)絡(luò)帶寬占用量間的比例系數(shù)b、c,而病毒間的競(jìng)爭(zhēng)系數(shù)a也可通過類似方法測(cè)得。確定了參加測(cè)試的病毒及軟件后,a、c也隨之確定。下面以 a=1.6、c=1.5為例,對(duì)上述模型進(jìn)行分析。
(1)當(dāng)0.332<b<0.346 時(shí),CPS 軟件行為演化趨于一個(gè)確定狀態(tài),其網(wǎng)絡(luò)帶寬占用量與終端連接數(shù)的關(guān)系較為明確,其可信性也是可以預(yù)測(cè)的,如圖1所示;
圖 1 參數(shù)取 a=1.6、b=0.334、c=1.5 時(shí)系統(tǒng)相軌圖Fig.1 Bandwidth versus number of users when a=1.6,b=0.334,c=1.5
(2)當(dāng)0.346<b<0.446 時(shí),CPS 軟件行為演化曲線出現(xiàn)分支,這意味著相關(guān)特征屬性在若干狀態(tài)間跳動(dòng),演化特性趨于復(fù)雜化,CPS軟件的不可信度也隨之增高;
(3)當(dāng)0.446<b<0.578 時(shí),CPS 軟件行為演化曲線進(jìn)入了混沌狀態(tài),這意味著CPS軟件的行為演化完全不可預(yù)測(cè),軟件行為充滿了不確定性,即軟件不再可信,如圖2所示。
圖 2 參數(shù)取 a=1.6、b=0.556、c=1.5 時(shí)的系統(tǒng)相軌圖Fig.2 Bandwidth versus number of users when a=1.6,b=0.556,c=1.5
由圖1和圖2可知,通過分析終端連接數(shù)與軟件所占用網(wǎng)絡(luò)帶寬間的關(guān)系,該模型能夠準(zhǔn)確反映出CPS軟件運(yùn)行過程中的動(dòng)態(tài)演化過程并形象地展示出來,有利于分析CPS軟件當(dāng)前狀態(tài),為CPS軟件可信性研究提供了一種新手段。
本文在CPS可信軟件相關(guān)技術(shù)的基礎(chǔ)上,結(jié)合非線性動(dòng)力學(xué)的思想與相關(guān)方法,針對(duì)CPS軟件行為演化特性進(jìn)行建模與分析,并從中導(dǎo)出相應(yīng)判定機(jī)制:動(dòng)力系統(tǒng)的軌道對(duì)應(yīng)著CPS軟件的行為演化過程;其分支現(xiàn)象則表示CPS軟件在控制因素影響下的行為演化。利用這一方法,可通過提取CPS軟件特征屬性對(duì)其行為演化過程進(jìn)行模擬仿真,為人們判斷CPS軟件是否可信提供重要支撐。
目前本文所做的僅限于CPS軟件可信性演化分析,在實(shí)際應(yīng)用中存在只能分析而無法控制的問題,接下來將進(jìn)一步研究CPS軟件可信性演化動(dòng)力學(xué)模型的穩(wěn)定性并著重分析在內(nèi)部、外部因素影響下模型的分支現(xiàn)象及分支類型。
[1]National Science Foundation of the United States.Cyberphysical system(CPS)program solicitation[EB/OL].[2013-10-10].http://www.nsf.gov/pubs/2010/nsf10515/htm.
[2]王中杰,謝璐璐.信息物理融合系統(tǒng)研究綜述[J].自動(dòng)化學(xué)報(bào),2011,37(10):1157-1166.WANG Zhong-jie,XIE Lu-lu.Cyber-physical Systems:A Survey [J].Acta Automatica Sinica,2011,37(10):1157-1166.(in Chinese)
[3]Rajkumar R,Lee I,Sha L,et al.Cyber-Physical Systems:the Next Computing Revolution[C]//Proceedings of the 47th ACM/IEEE Conference on Design Automation.Anaheim,California,USA:IEEE,2010:731-736.
[4]蔣建春,文偉平,張?jiān)迫?“震網(wǎng)”、“火焰”惡意代碼警示—信息物理系統(tǒng)安全問題與挑戰(zhàn)[J].中國(guó)計(jì)算機(jī)學(xué)會(huì)通訊,2012,8(7):75-78.JIANG Jian-chun,WEN Wei-ping,ZHANG Yunquan.The Warning of“Stuxnet”and“flames”—Cyber-Physical Systems'Safety and Challenge[J].Communications of the CCF,2012,8(7):75-78.(in Chinese)
[5]Lee I,Sokolsky O,Chen S,et al.Challenges and Research Directions in Medical Cyber-Physical Systems[J].Proceedings of the IEEE,2012,100(1):75-90.
[6]National Workshop on High-Confidence Transportation Cyber-Physical Systems:Automotive,Aviation and Rail[EB/OL].[2013-10-10].http://www.ee.washington.edu/reserach/nsl/aar-cps/NOC_June_2009.pdf,2009.
[7]王懷民,尹剛.網(wǎng)絡(luò)時(shí)代的軟件可信演化[J].中國(guó)計(jì)算機(jī)學(xué)會(huì)通訊,2010(2):28-35.WANG Huai-min,YIN Gang.Software Trustworthiness Evolution in Network Era[J].Communications of the CCF,2010(2):28-35.(in Chinese)
[8]楊曉暉.軟件行為動(dòng)態(tài)可信理論模型研究[D].合肥:中國(guó)科學(xué)技術(shù)大學(xué),2010.YANG Xiao-h(huán)ui.Researches on Dynamic Trusted Theories and Models of Software Behavior[D].Hefei:University of Science and Technology of China,2010.(in Chinese)
[9]Bruce R A,McMillin M.Mode-Checking BNDC Properties in Cyber Physical Systems[C]//Proceedings of the 33rd Annual IEEE International Computer Software and Applications Conference.Seattle,WA,USA:IEEE,2009:660-663.
[10]鄭志明,馬世龍,李未,等.軟件可信性動(dòng)力學(xué)特征及其演化復(fù)雜性[J].中國(guó)科學(xué) E輯:信息科學(xué),2009,39(9):946-950.ZHENG Zhi-ming,MA Shi-long,LI Wei,et al.The Dynamic Characteristics and Complexity of Software Trustworthiness Evolution[J].Science China(Series E),2009,39(9):946-950.(in Chinese)
[11]劉克,單志廣,王戟,等.“可信軟件基礎(chǔ)研究”重大研究計(jì)劃綜述[J].中國(guó)科學(xué)基金,2008(3):145-151.LIU Ke,SHAN Zhi-guang,WANG Ji,et al,Overview on Major Research Plan of Trustworthy Software[J].Bulletin of National Natural Science Foundation of China,2008(3):145-151.(in Chinese)
[12]王懷民,唐揚(yáng)斌,尹剛,等.互聯(lián)網(wǎng)軟件的可信機(jī)理[J].中國(guó)科學(xué) E 輯:信息科學(xué),2006,36(10):1156-1169.WANG Huai-min,TANG Yang-bin,YIN Gang,et al.The Trustworthiness Mechanism of Network Software[J].Science China(Series E),2006,36(10):1156-1169.(in Chinese)
[13]張煥國(guó),趙波.可信計(jì)算[M].武漢:武漢大學(xué)出版社,2011.ZHANG Huan-guo,ZHAO Bo.Trusted Computing[M].Wuhan:Wuhan University Press,2011.(in Chinese)
[14]Smale S.Differentiable Dynamical Systems[J].Bulletin of the American Mathematical Society,1967,73(6):747-817.
[15]Benedicks M,Carleson L.On Iterations of 1-ax2 on(-1,1)[J].Annals of Mathematics,1985,122(1):1-25.