廖文璇,梁旭清,杜 鑫,周純杰
(華中科技大學(xué) 人工智能與自動(dòng)化學(xué)院,武漢 430074)
隨著工業(yè)互聯(lián)網(wǎng)和5G等技術(shù)的發(fā)展和應(yīng)用,工業(yè)控制系統(tǒng)逐漸由封閉、孤立轉(zhuǎn)向開放互聯(lián),在網(wǎng)絡(luò)化、智能化的同時(shí)也面臨著更多網(wǎng)絡(luò)攻擊的威脅。例如,2010年“震網(wǎng)病毒”攻擊伊朗核設(shè)施,導(dǎo)致大量離心機(jī)損壞[1];2016年烏克蘭電網(wǎng)遭遇黑客攻擊,造成大范圍停電[2]。風(fēng)險(xiǎn)評(píng)估技術(shù)能夠定量或定性分析攻擊對(duì)整個(gè)系統(tǒng)造成的風(fēng)險(xiǎn),在攻擊引發(fā)嚴(yán)重后果之前發(fā)現(xiàn)潛在風(fēng)險(xiǎn),從而起到告警的作用并輔助決策者采取防護(hù)措施[3]。
面向工業(yè)控制系統(tǒng)信息層的攻擊往往具有較強(qiáng)的隱蔽性,攻擊一旦經(jīng)過信息層傳播至物理層,可對(duì)生產(chǎn)過程造成巨大的破壞[4],因此對(duì)風(fēng)險(xiǎn)從信息層向物理層之間的傳播過程進(jìn)行分析預(yù)測(cè)是工控系統(tǒng)安全防護(hù)研究的重點(diǎn)。文獻(xiàn)[5]中通過分析電力CPS系統(tǒng)的信息物理結(jié)構(gòu)和運(yùn)行機(jī)理,建立信息物理一體化的CPS風(fēng)險(xiǎn)傳遞模型,從而評(píng)估信息風(fēng)險(xiǎn)對(duì)配電網(wǎng)設(shè)備的影響。但是這種方法復(fù)雜度較高,不適用于更加復(fù)雜的系統(tǒng)。文獻(xiàn)[6]中結(jié)合專家知識(shí)和歷史數(shù)據(jù)建立貝葉斯網(wǎng)絡(luò),通過先驗(yàn)概率推理網(wǎng)絡(luò)攻擊入侵概率以及對(duì)物理設(shè)備造成的影響。但是這種方法未結(jié)合系統(tǒng)的控制過程,不能準(zhǔn)確描述風(fēng)險(xiǎn)從信息層向物理層傳播的具體過程。
因此,基于工業(yè)控制系統(tǒng)的典型信息物理架構(gòu),本文提出基于IEC61499標(biāo)準(zhǔn)[7]建立系統(tǒng)的控制層模型,通過系統(tǒng)的控制層模型對(duì)網(wǎng)絡(luò)攻擊風(fēng)險(xiǎn)的跨域傳播過程進(jìn)行分析。最后以催化裂化裝置為對(duì)象驗(yàn)證本文給出的風(fēng)險(xiǎn)跨域傳播分析方法的有效性。
工業(yè)控制系統(tǒng)是信息層與物理層緊密結(jié)合的系統(tǒng),典型的工業(yè)控制系統(tǒng)架構(gòu)可以劃分為5層,如圖1所示。工業(yè)控制系統(tǒng)的企業(yè)層、管理層和監(jiān)控層統(tǒng)屬于信息層,設(shè)備層以及系統(tǒng)的受控對(duì)象屬于物理層。信息層設(shè)備主要負(fù)責(zé)決策、生產(chǎn)管理、調(diào)度執(zhí)行以及現(xiàn)場(chǎng)數(shù)據(jù)的監(jiān)控與處理;物理層設(shè)備主要負(fù)責(zé)執(zhí)行信息層指令,根據(jù)實(shí)時(shí)性要求正確、高效地完成生產(chǎn)制造工作。工業(yè)控制系統(tǒng)中信息物理層高度耦合,物理層的傳感器采集到的數(shù)據(jù)會(huì)被采集到信息層中進(jìn)行監(jiān)控和處理,信息層下發(fā)的指令也會(huì)通過控制層作用于物理層,對(duì)物理設(shè)備的運(yùn)行產(chǎn)生影響。
圖1 工業(yè)控制系統(tǒng)典型架構(gòu)示意圖
由于工業(yè)控制系統(tǒng)信息物理域高度耦合,從信息層設(shè)備入侵的網(wǎng)絡(luò)攻擊造成的風(fēng)險(xiǎn)很可能從信息域跨域傳播至物理域。以2010年“震網(wǎng)病毒”攻擊伊朗核濃縮工廠事件為例:病毒首先從工廠的辦公電腦入侵,并經(jīng)信息層設(shè)備最終傳播至PLC;然后,病毒修改PLC內(nèi)部程序,從而修改離心機(jī)的旋轉(zhuǎn)頻率,同時(shí)上傳偽造的正常工作數(shù)據(jù)導(dǎo)致監(jiān)控層設(shè)備未能發(fā)現(xiàn)離心機(jī)工作異常;最后攻擊者成功讓工廠中的大量離心機(jī)因疲勞工作而報(bào)廢。由此可見,網(wǎng)絡(luò)攻擊對(duì)信息層發(fā)起攻擊之后,可在信息層中傳播并通過影響控制層設(shè)備使風(fēng)險(xiǎn)傳播至物理層設(shè)備,最終影響物理生產(chǎn)過程并造成巨大的損失。
本文提出的工業(yè)控制系統(tǒng)跨域攻擊風(fēng)險(xiǎn)傳播分析框架如圖2所示,主要分為兩個(gè)部分:基于IEC61499標(biāo)準(zhǔn)的工業(yè)控制系統(tǒng)控制層建模和基于控制層模型的跨域攻擊風(fēng)險(xiǎn)傳播分析。前者基于IEC61499標(biāo)準(zhǔn)構(gòu)建工業(yè)控制系統(tǒng)的控制層模型;后者使用控制層模型替代系統(tǒng)的控制層設(shè)備,并將網(wǎng)絡(luò)攻擊經(jīng)過信息層傳播最終對(duì)控制層的影響作為該模型的輸入,預(yù)測(cè)此時(shí)控制層對(duì)物理層設(shè)備的影響,從而得出攻擊風(fēng)險(xiǎn)跨信息物理域的傳播過程。
圖2 跨域攻擊風(fēng)險(xiǎn)傳播分析方法框架
IEC61499是用于分布式工業(yè)過程測(cè)量與控制系統(tǒng)功能塊的標(biāo)準(zhǔn),它提供了將控制系統(tǒng)模塊化處理的新思路。IEC61499標(biāo)準(zhǔn)定義了以功能塊(Function Block,F(xiàn)B)作為分布式應(yīng)用的主要模塊,功能塊將控制算法進(jìn)行封裝,系統(tǒng)設(shè)計(jì)者可根據(jù)控制功能的需要選擇特定功能塊,并按照IEC61499標(biāo)準(zhǔn)將輸入輸出互連,從而形成完整的工業(yè)應(yīng)用[8]。
IEC61499標(biāo)準(zhǔn)對(duì)功能塊和應(yīng)用的定義如下:功能塊由執(zhí)行控制邏輯和內(nèi)置算法組成,功能塊接收的數(shù)據(jù)與事件相互綁定,執(zhí)行控制邏輯依據(jù)功能塊接收的事件來(lái)執(zhí)行對(duì)應(yīng)的內(nèi)置算法,內(nèi)置算法讀取事件綁定的數(shù)據(jù)進(jìn)行處理;應(yīng)用由多個(gè)功能塊組成,以完成某個(gè)特定的功能,構(gòu)成同一個(gè)應(yīng)用的各個(gè)功能塊可部署到不同的設(shè)備之中。幾種常見的功能塊結(jié)構(gòu)及其功能見如表1所示。
表1 幾種常見的功能塊
基于IEC61499標(biāo)準(zhǔn)構(gòu)建工業(yè)控制系統(tǒng)控制層模型的主要步驟如下:
1)將整個(gè)控制層劃分為多個(gè)控制回路;
2)對(duì)于控制回路,將其作為一個(gè)應(yīng)用來(lái)設(shè)計(jì),可將其劃分為控制器功能塊、時(shí)鐘功能塊、模擬輸入(Analog Input,AI)功能塊、模擬輸出(Analog Output,AO)功能塊等;
3)對(duì)于每個(gè)功能塊,按照IEC61499標(biāo)準(zhǔn)來(lái)對(duì)其進(jìn)行設(shè)計(jì),根據(jù)其需要完成的功能分別設(shè)計(jì)執(zhí)行控制邏輯以及內(nèi)置的算法。
基于IEC61499標(biāo)準(zhǔn)功能塊模型構(gòu)建的一個(gè)PID控制回路如圖3所示。
圖3 基于IEC61499構(gòu)建的控制回路
工業(yè)控制系統(tǒng)具有特定的生產(chǎn)目標(biāo),信息層負(fù)責(zé)根據(jù)實(shí)時(shí)的生產(chǎn)目標(biāo)對(duì)物理層設(shè)備進(jìn)行調(diào)控,并實(shí)時(shí)監(jiān)測(cè)物理層設(shè)備的狀態(tài)。但是,信息層設(shè)備一般不直接與物理設(shè)備交互,而是向控制層設(shè)備下發(fā)指令,通過控制層設(shè)備來(lái)間接控制物理設(shè)備。因此,本文通過控制層模型來(lái)分析網(wǎng)絡(luò)攻擊風(fēng)險(xiǎn)從信息域向物理域的傳播過程。
如圖4所示,信息層的攻擊風(fēng)險(xiǎn)通過控制層跨域傳播至物理層的路徑主要包括三種:
圖4 跨域攻擊風(fēng)險(xiǎn)傳播過程示意圖
1)攻擊者通過中間人攻擊或者拒絕訪問攻擊等手段使得控制層設(shè)備無(wú)法接受到信息層的調(diào)控指令或者接受到錯(cuò)誤的調(diào)控指令,從而做出錯(cuò)誤或者不及時(shí)的響應(yīng)。
2)攻擊通過信息層設(shè)備進(jìn)行傳播并最終篡改控制層設(shè)備,導(dǎo)致其對(duì)物理層下發(fā)攻擊者期望的錯(cuò)誤指令。
3)攻擊篡改控制層設(shè)備采集到的物理層設(shè)備的生產(chǎn)數(shù)據(jù),使得控制層對(duì)物理層設(shè)備的狀態(tài)產(chǎn)生錯(cuò)判,最終導(dǎo)致控制層下發(fā)錯(cuò)誤的控制指令。
對(duì)于攻擊路徑2,控制層向物理層下發(fā)的錯(cuò)誤控制指令即為攻擊對(duì)物理層造成的影響;對(duì)于攻擊路徑1和攻擊路徑3,通過控制層模型預(yù)測(cè)攻擊影響下控制層向物理層下發(fā)的錯(cuò)誤指令,從而得出攻擊對(duì)物理層造成的影響。
本文選取催化裂化裝置仿真平臺(tái)中的精餾塔及其控制層作為實(shí)驗(yàn)對(duì)象。催化裂化是石油煉制過程之一,催化裂化裝置是主要的汽油生產(chǎn)裝置,其安全對(duì)整個(gè)煉油行業(yè)都起著舉足輕重的作用[9]。本文根據(jù)石油化工行業(yè)催化裂化的一般流程搭建了一個(gè)簡(jiǎn)化的仿真平臺(tái),抽象形成的拓?fù)鋱D如圖5所示。
圖5 催化裂化裝置拓?fù)鋱D
該仿真平臺(tái)中精餾塔對(duì)象的控制層主要包含五個(gè)控制回路,分別為兩個(gè)液位控制回路、一個(gè)流量控制回路、一個(gè)壓力控制回路和一個(gè)溫度控制回路,如表2所示。
表2 精餾塔控制層中的控制回路
本文使用Java語(yǔ)言對(duì)IC61499標(biāo)準(zhǔn)的功能塊進(jìn)行實(shí)現(xiàn)。由功能塊組成的控制回路的工作流程如下:首先,各個(gè)功能塊接收初始化事件,完成初始化動(dòng)作;然后,時(shí)鐘功能塊定時(shí)使能AI功能塊,AI功能塊采集過程變量的值發(fā)送給PID功能塊;接著,PID功能塊通過內(nèi)置控制算法計(jì)算操縱變量的更新值并將其發(fā)送給AO功能塊;最后,AO功能塊等待時(shí)鐘功能塊使能,將操縱變量更新到物理對(duì)象。
將基于IEC61499標(biāo)準(zhǔn)構(gòu)建的控制回路組成的控制層模型對(duì)物理設(shè)備直接進(jìn)行控制,整體結(jié)構(gòu)如圖6所示。
圖6 控制層模型結(jié)合物理對(duì)象示意圖
運(yùn)行控制層模型并啟動(dòng)物理設(shè)備,對(duì)物理設(shè)備的受控參數(shù)如冷凝器和再沸器液位、進(jìn)料摩爾流量和冷凝器壓力等進(jìn)行實(shí)時(shí)控制,結(jié)果如圖7所示。實(shí)驗(yàn)結(jié)果表明,基于IEC61499標(biāo)準(zhǔn)所構(gòu)建的控制層模型可以替換控制層設(shè)備與物理設(shè)備進(jìn)行對(duì)接,控制算法使得各個(gè)物理設(shè)備能夠穩(wěn)定工作在期望的狀態(tài)下。
圖7 基于IEC61499的控制模型的控制效果
本文設(shè)計(jì)了兩種攻擊場(chǎng)景,分別是網(wǎng)絡(luò)攻擊導(dǎo)致信息層向PLC下發(fā)錯(cuò)誤指令,以及網(wǎng)絡(luò)攻擊導(dǎo)致PLC采集到的過程變量數(shù)據(jù)被篡改,兩種攻擊場(chǎng)景的具體說明如表3所示。
表3 兩種攻擊場(chǎng)景的說明
在實(shí)驗(yàn)平臺(tái)中預(yù)設(shè)兩種攻擊場(chǎng)景,然后使用3.2中構(gòu)建的控制層模型對(duì)攻擊風(fēng)險(xiǎn)從信息層向物理層的傳遞過程進(jìn)行仿真,結(jié)果如圖8所示。第一種攻擊場(chǎng)景下,預(yù)設(shè)網(wǎng)絡(luò)攻擊入侵信息層,并控制信息層設(shè)備在t1時(shí)向PLC下發(fā)錯(cuò)誤指令,導(dǎo)致PLC中再沸器液位的期望值從51%修改為47%,此時(shí)由于過程變量期望值被修改,PLC會(huì)下發(fā)控制指令使得過程變量的值與攻擊者的期望值相符,導(dǎo)致精餾塔的運(yùn)行偏離正常工作狀態(tài),到t2時(shí)攻擊風(fēng)險(xiǎn)已完全從信息層傳遞到物理設(shè)備;在第二種攻擊場(chǎng)景下,預(yù)設(shè)網(wǎng)絡(luò)攻擊入侵信息層,并最終在t3時(shí)刻篡改PLC采集到的過程變量的值。由于采集到的過程變量的值為篡改后的值,與PLC預(yù)設(shè)的期望值不符,PLC會(huì)下發(fā)控制指令進(jìn)行調(diào)節(jié),但是此時(shí)過程變量的實(shí)際值即為期望值,在受到調(diào)節(jié)之后反而會(huì)偏離期望值,如t3至t4所示,攻擊風(fēng)險(xiǎn)因此從信息層傳遞到物理設(shè)備。
圖8 跨域攻擊風(fēng)險(xiǎn)分析實(shí)驗(yàn)結(jié)果
實(shí)驗(yàn)結(jié)果表明,基于控制層模型可以準(zhǔn)確地分析網(wǎng)絡(luò)攻擊造成的風(fēng)險(xiǎn)如何通過控制層從信息層跨域傳播至物理層,并預(yù)測(cè)物理層設(shè)備受到的影響。
針對(duì)工業(yè)控制系統(tǒng)網(wǎng)絡(luò)攻擊風(fēng)險(xiǎn)跨信息物理域傳播的問題,本文提出了一種基于控制層模型的分析方法。首先,基于IEC61499標(biāo)準(zhǔn)構(gòu)建系統(tǒng)的控制層模型;然后,通過控制層模型預(yù)測(cè)網(wǎng)絡(luò)攻擊的風(fēng)險(xiǎn)如何向物理層傳播。實(shí)驗(yàn)結(jié)果表明,所建立的模型能夠控制物理對(duì)象穩(wěn)定工作;在該模型的基礎(chǔ)上,所提出的方法可以分析信息層攻擊風(fēng)險(xiǎn)向物理層的傳播過程,提前預(yù)測(cè)物理層受到的影響。