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