徐丙鳳 鐘志成 何高峰
摘 要:針對(duì)信息物理融合系統(tǒng)(CPS)中的網(wǎng)絡(luò)安全攻擊會(huì)導(dǎo)致系統(tǒng)失效的問題,提出一種基于動(dòng)態(tài)故障樹的CPS風(fēng)險(xiǎn)建模及分析方法。首先,對(duì)動(dòng)態(tài)故障樹和攻擊樹集成建模,構(gòu)建攻擊動(dòng)態(tài)故障樹(Attack-DFTs)模型;然后,分別采用二元決策圖和輸入輸出馬爾可夫鏈給出攻擊動(dòng)態(tài)故障樹中的靜態(tài)子樹和動(dòng)態(tài)子樹的形式化模型,并在此基礎(chǔ)上給出攻擊動(dòng)態(tài)故障樹的定性分析方法,即分析網(wǎng)絡(luò)安全攻擊導(dǎo)致系統(tǒng)失效的基本事件路徑;最后,通過一個(gè)典型的排污系統(tǒng)應(yīng)用實(shí)例對(duì)方法的有效性進(jìn)行驗(yàn)證。案例分析結(jié)果表明,所提方法能夠分析CPS中由于網(wǎng)絡(luò)安全攻擊導(dǎo)致系統(tǒng)失效的事件序列,有效實(shí)現(xiàn)了CPS的綜合安全評(píng)估。
關(guān)鍵詞:信息物理融合系統(tǒng);動(dòng)態(tài)故障樹;攻擊樹;風(fēng)險(xiǎn)分析;二元決策圖
中圖分類號(hào): TP311.5軟件工程
文獻(xiàn)標(biāo)志碼:A
Abstract: In order to solve the problem that network security attacks against the Cyber-Physical System (CPS) will cause a system failure, a CPS risk modeling and analysis method based on dynamic fault tree was proposed. Firstly, the integrated modeling was performed to dynamic fault tree and dynamic attack tree to build the Attack-Dynamic Fault Trees (Attack-DFTs) model. Then, the formal models of static subtree and dynamic subtree in Attack-DFTs were given by binary decision graph and input-out Markov chain respectively. On this basis, the qualitative analysis method of Attack-DFTs was given to analyze the basic event path of the system failure caused by network security attacks. Finally, the effectiveness of the proposed method was verified by the typical case study of a pollution system. The case analysis results show that, the proposed method can analyze the event sequence of system failure caused by network security attack in CPS, and effectively realize the formal safety assessment of CPS.
Key words: Cyber-Physical System (CPS); dynamic fault tree; attack tree; risk analysis; binary decision diagram
0 引言
信息物理融合系統(tǒng)(Cyber-Physical System, CPS)通過計(jì)算進(jìn)程和物理進(jìn)程相互影響的反饋循環(huán)實(shí)現(xiàn)系統(tǒng)的智能感知、自主判斷與自動(dòng)執(zhí)行,是工業(yè)4.0、中國制造2025等下一代智能制造的基礎(chǔ)形態(tài),與人們的日常生活和國家經(jīng)濟(jì)運(yùn)行密切相關(guān)[1]。針對(duì)CPS的網(wǎng)絡(luò)安全攻擊不僅會(huì)破壞系統(tǒng)的完整性、機(jī)密性和可用性,甚至?xí)鹕?cái)產(chǎn)的損失和環(huán)境的破壞[2]。如:2015年烏克蘭電力網(wǎng)絡(luò)遭受魚叉式網(wǎng)絡(luò)釣魚(Spear phishing)攻擊,黑客以含有惡意宏的Microsoft Office文件為攻擊載體,清空數(shù)據(jù)采集和監(jiān)控(Supervisory Control And Data Acquisition, SCADA)系統(tǒng)數(shù)據(jù),致使烏克蘭西部地區(qū)約70萬戶居民用戶停電數(shù)小時(shí)[3];2016年出現(xiàn)了多起由于醫(yī)院醫(yī)療設(shè)備遭到黑客攻擊而造成的嚴(yán)重安全事故[4],特別是2017年WannaCry病毒大規(guī)模爆發(fā),導(dǎo)致醫(yī)療系統(tǒng)的攻擊事件日益增多,直接威脅到病人的生命安全[5]。因此,分析網(wǎng)絡(luò)攻擊可能導(dǎo)致的系統(tǒng)失效問題已成為當(dāng)前學(xué)術(shù)界和工業(yè)界共同關(guān)注的熱點(diǎn)。
為了解決該問題,現(xiàn)有的工作主要從面向過程的方法[6]和基于模型的方法[7]兩個(gè)方面進(jìn)行。其中,面向過程的方法考慮防危性(safety)和安全性(security)的生命周期,依賴防危性/安全性標(biāo)準(zhǔn)規(guī)定的要求,主要應(yīng)用于系統(tǒng)工程的早期階段,特別是在概念和需求階段;而基于模型方法的基本思想是基于系統(tǒng)的功能/非功能的形式化或半形式化表示,以統(tǒng)一的模型建模系統(tǒng)的防危性和安全性,能應(yīng)用于系統(tǒng)開發(fā)的所有階段。因此,本文重點(diǎn)研究基于模型的方法。
基于模型的CPS風(fēng)險(xiǎn)建模及分析框架近年來被廣泛研究,即基于統(tǒng)一的模型建模系統(tǒng)的防危性和安全性,并實(shí)現(xiàn)分析。其中,基于故障/攻擊樹集成的方法[8-9]以防危性模型為基礎(chǔ),對(duì)網(wǎng)絡(luò)安全攻擊步驟進(jìn)行擴(kuò)展,實(shí)現(xiàn)防危性和安全性的集成建模。其基本思想是引入擴(kuò)展故障樹,攻擊樹[10]被集成到一個(gè)預(yù)先存在的故障樹中,將惡意攻擊視為系統(tǒng)失效的因素之一。該方法既支持定性分析,也支持定量分析,且所使用的故障樹技術(shù)和攻擊樹技術(shù)已在工業(yè)界廣泛應(yīng)用,因而正成為工業(yè)界和學(xué)術(shù)界共同關(guān)注的研究課題。但如文獻(xiàn)[11]綜述中所強(qiáng)調(diào)的,現(xiàn)有的集成故障樹和攻擊樹模型的信息物理融合系統(tǒng)風(fēng)險(xiǎn)分析模型均基于靜態(tài)模型進(jìn)行,難以建模軟件控制系統(tǒng)的動(dòng)態(tài)和時(shí)序等特性,無法有效建模系統(tǒng)故障事件發(fā)生之后失效(即意外或者惡意失效)的傳播路徑,從而無法推導(dǎo)網(wǎng)絡(luò)安全攻擊所導(dǎo)致的最終影響。
因此,本文針對(duì)CPS安全風(fēng)險(xiǎn)建模與分析進(jìn)行深入研究,提出了一種基于動(dòng)態(tài)故障樹(Dynamic Fault Trees, DFTs)的CPS風(fēng)險(xiǎn)建模和分析方法。主要工作包括:首先,通過集成動(dòng)態(tài)故障樹和攻擊樹,提出攻擊動(dòng)態(tài)故障樹(Attack-Dynamic Fault Trees, Attack-DFTs),構(gòu)建網(wǎng)絡(luò)安全攻擊所導(dǎo)致的CPS失效場景模型;在此基礎(chǔ)上基于二元決策圖和輸入/輸出交互馬爾可夫鏈模型分別建立Attack-DFTs的靜態(tài)子樹和動(dòng)態(tài)子樹的分析模型,進(jìn)而進(jìn)行Attack-DFTs的定性分析。最后,通過案例分析驗(yàn)證了本文方法的有效性。
1 相關(guān)工作
CPS風(fēng)險(xiǎn)分析包括防危性和安全性兩個(gè)方面。防危性旨在保護(hù)系統(tǒng)避免意外失效,僅考慮意外的組件故障和人為錯(cuò)誤所導(dǎo)致的風(fēng)險(xiǎn);而安全性旨在保護(hù)系統(tǒng)免受故意攻擊,處理有意識(shí)的人類行為造成的故意/惡意威脅[12]。傳統(tǒng)的風(fēng)險(xiǎn)標(biāo)準(zhǔn)關(guān)注防危性(Safety)或者安全性(Security),如:防危性分析方法主要有失效模式效應(yīng)和關(guān)鍵性分析(Failure Mode, Effect and Criticality Analysis, FMECA)[13]、針對(duì)SAE(Society of Automotive Engineers)標(biāo)準(zhǔn)語言AADL(Architecture Analysis and Design Language)添加錯(cuò)誤附注的分析方法[14];安全性分析的方法主要有FAIR(Factor Analysis of Information Risk)[15]和基于統(tǒng)一建模語言(Unified Modeling Language, UML)的CORAS[16]等。而在最新的ISO 26262標(biāo)準(zhǔn)[17]和近年來歐洲的研究項(xiàng)目[18]中,充分論證了CPS中集成防危性和安全性分析的必要性。文獻(xiàn)[12]針對(duì)防危性和安全性集成的研究進(jìn)展進(jìn)行了綜述。
其中,集成故障樹與攻擊樹的信息物理融合系統(tǒng)風(fēng)險(xiǎn)識(shí)別、評(píng)估和分析方法最早由文獻(xiàn)[8]給出,其基本思想是引入擴(kuò)展故障樹,攻擊樹[10]被集成到一個(gè)預(yù)先存在的故障樹中,以擴(kuò)展傳統(tǒng)風(fēng)險(xiǎn)分析包括惡意風(fēng)險(xiǎn)?;谠撍枷?,文獻(xiàn)[19]綜合故障樹和攻擊樹的邏輯符號(hào)建立CPS系統(tǒng)的風(fēng)險(xiǎn)模型,并提供了定量分析方法;文獻(xiàn)[20]在構(gòu)件故障樹基礎(chǔ)上擴(kuò)展了攻擊樹模型用于建模安全攻擊造成系統(tǒng)失效的場景,并且提供了失效事件的概率分析方法;文獻(xiàn)[21]在狀態(tài)事件故障樹的基礎(chǔ)上集成建模攻擊流程,用于CPS系統(tǒng)安全建模,并提供了概率分析方法。這些基于靜態(tài)故障樹和攻擊樹的方法都存在共同的不足,即所有的邏輯門都只有靜態(tài)依賴,無法有效建模CPS等復(fù)雜系統(tǒng)中軟件控制系統(tǒng)的動(dòng)態(tài)行為和失效傳播路徑。
因此,本文的基本思想是設(shè)計(jì)一種基于動(dòng)態(tài)故障樹的信息物理融合系統(tǒng)風(fēng)險(xiǎn)建模及分析方法。具體做法是以動(dòng)態(tài)故障樹模型為基礎(chǔ),以攻擊樹作為系統(tǒng)安全攻擊模型,集成這兩種模型的優(yōu)勢進(jìn)行CPS系統(tǒng)風(fēng)險(xiǎn)場景的綜合建模與分析。
2 Attack-DFTs模型
攻擊樹(Attack Trees, ATs)通常描述在系統(tǒng)上未經(jīng)授權(quán)的操作,即產(chǎn)生意料之外的事件。而動(dòng)態(tài)故障樹通常描述基本事件發(fā)生導(dǎo)致最終系統(tǒng)失效發(fā)生的失效因果鏈。因此,可以考慮增加導(dǎo)致DFTs中的基本或中間事件發(fā)生的惡意行為(由攻擊樹建模)豐富DFTs的語義,這就意味著攻擊者可以利用系統(tǒng)中的某些故障,最終導(dǎo)致DFTs頂層事件的發(fā)生。也就是說,當(dāng)且僅當(dāng)存在以DFTs中的事件作為攻擊樹的攻擊目標(biāo)時(shí),DFTs才能與攻擊樹集成。基于該思想,本文構(gòu)造攻擊動(dòng)態(tài)故障樹模型。
2.1 DFTs的形式化描述
動(dòng)態(tài)故障樹集成了故障樹分析和馬爾可夫鏈的優(yōu)點(diǎn),通過引入表征動(dòng)態(tài)特性的邏輯門建立動(dòng)態(tài)系統(tǒng)的失效因果鏈,目前已經(jīng)廣泛應(yīng)用于工業(yè)控制系統(tǒng)中。動(dòng)態(tài)故障樹是一種由事件和邏輯門組成的有向無環(huán)圖[22],用于描述基本事件發(fā)生引起系統(tǒng)失效的失效因果鏈。其中,事件用來描述元部件和系統(tǒng)的狀態(tài),分為基本事件(原子事件)、頂事件(位于動(dòng)態(tài)故障樹的頂部)和中間事件(由一個(gè)或多個(gè)其他事件導(dǎo)致)。動(dòng)態(tài)故障樹的邏輯門除了包含傳統(tǒng)的靜態(tài)故障樹的與門(AND)、或門(OR)之外,還定義了一組動(dòng)態(tài)邏輯門描述失效優(yōu)先順序、相關(guān)性及功能相關(guān)性等動(dòng)態(tài)失效特征,包括優(yōu)先與門(Priority-AND Gate, PAND)、功能相關(guān)門(Functional DEPendency gate, FDEP)和備件門(SPARE, SP)三種典型的動(dòng)態(tài)邏輯門。
1)優(yōu)先與門(PAND)失效機(jī)理:當(dāng)觸發(fā)事件按照從左至右的順序發(fā)生時(shí),輸出事件發(fā)生。
2)功能相關(guān)門(FDEP)失效機(jī)理:當(dāng)觸發(fā)事件發(fā)生時(shí),所有相關(guān)事件被強(qiáng)制發(fā)生。
3)備件門(SPARE)的失效機(jī)理:用功能相同的備件替代系統(tǒng)中故障的部件,當(dāng)備件的數(shù)量小于系統(tǒng)所需的最小數(shù)量時(shí),頂事件發(fā)生。
圖1是一個(gè)描述處理器失效場景的動(dòng)態(tài)故障樹,系統(tǒng)由兩個(gè)處理器P1和P2組成,每個(gè)處理器都帶有自己的備件,分別是S1和S2。圖1描述的失效場景是當(dāng)且僅當(dāng)處理器P1先故障,備件S1故障,然后處理器P2故障且備件S2也故障時(shí),系統(tǒng)故障發(fā)生。
在動(dòng)態(tài)故障樹分析方面,實(shí)際系統(tǒng)的動(dòng)態(tài)故障樹分析往往計(jì)算量巨大。因此,在對(duì)動(dòng)態(tài)故障樹進(jìn)行分析的過程中,通常將動(dòng)態(tài)故障樹劃分成獨(dú)立的靜態(tài)子樹和動(dòng)態(tài)子樹模塊,然后靜態(tài)子樹用二元決策圖求解,動(dòng)態(tài)子樹則用馬爾可夫鏈模型求解[23]。通過模塊化的處理結(jié)果,可以直接降低動(dòng)態(tài)故障樹分析的復(fù)雜度。
2.2 攻擊樹的形式化描述
攻擊樹采用結(jié)構(gòu)化的方式建模網(wǎng)絡(luò)攻擊。以攻擊目標(biāo)作為根節(jié)點(diǎn)(即頂層事件),以部分攻擊作為中間節(jié)點(diǎn)或葉節(jié)點(diǎn),事件之間的組合采用與門(AND)、或門(OR)和順序與門(SAND)進(jìn)行表達(dá)。任何一條從葉節(jié)點(diǎn)到根節(jié)點(diǎn)的路徑表示一次完整的攻擊過程。