摘 要:針對催化裂化(fluid catalytic cracking,F(xiàn)CC)分餾系統(tǒng)在網(wǎng)絡(luò)攻擊和系統(tǒng)故障具有相似特征情況下難以辨識的問題,提出了一種基于跨域因果圖的攻擊故障辨識方法。首先,將數(shù)據(jù)驅(qū)動和拓?fù)渲R融合以構(gòu)建跨域因果圖,涵蓋物理層和信息層的變量節(jié)點(diǎn)和設(shè)備節(jié)點(diǎn);其次,結(jié)合多源異常證據(jù)集,設(shè)計(jì)了基于弗洛伊德的異常因果傳播路徑搜索算法,得到異常節(jié)點(diǎn)間的因果傳播路徑;最后根據(jù)必經(jīng)點(diǎn)約束、單點(diǎn)異常約束、必經(jīng)點(diǎn)最大數(shù)量約束等條件,結(jié)合異常發(fā)生時間,得到異常傳播路徑的最小樹型圖,根據(jù)根節(jié)點(diǎn)位置判斷系統(tǒng)異常類型。該方法在FCC分餾仿真系統(tǒng)上驗(yàn)證了有效性,結(jié)果表明其辨識準(zhǔn)確率為94.84%,對正常工況、故障工況和攻擊工況的檢測召回率分別為97.11%、93.25%、95.30%,相比同類方案,該方法不僅解決了相似特征帶來的辨識難題,還能在保證較高的辨識準(zhǔn)確率的同時,給出異常傳播路徑,為安全防護(hù)提供報警信息。
關(guān)鍵詞:跨域因果圖;路徑搜索;最小樹型圖;攻擊故障辨識;催化裂化
中圖分類號:TP309"" 文獻(xiàn)標(biāo)志碼:A
文章編號:1001-3695(2025)01-037-0269-07
doi:10.19734/j.issn.1001-3695.2024.01.0164
Discrimination between attacks and faults for FCC fractionation system withcross-domain causal diagram
Abstract: To solve the problem that attacks had similar characteristics like faults in physical data,this paper proposed a discrimination method,with cross-domain causal diagram,between attacks and faults for FCC fractionation system.Firstly,the process of cross-domain causal graph construction integrated data-driven method and topological knowledge method,covering the physical layer and information layer.Secondly,combined with the multi-source anomaly evidence,this paper presented a causal path search method based on Floyd algorithm to obtain the causal paths between abnormal nodes.Finally it obtained the minimum fork tree of the anomaly propagation path according to the dominators constraint,the single point anomaly constraint,the maximum number constraint of dominators,along with the occurrence time of abnormal nodes.This method determined the root cause of anomaly according to the position of the root node.The test on a simulated FCC fractionation system validated the effectiveness of the proposed method.The results show that the identification accuracy of this method is 94.84%,and the recall rates of normal,fault and attack conditions are 97.11%,93.25% and 95.30%.Compared with similar schemes,this method not only solves the identification problems caused by similar features,but also provides the abnormal propagation path and provides alarm information for security protection while ensuring high identification accuracy.
Key words:cross-domain causal diagram;path search;minimum fork tree;attacks and faults identification;fluid catalytic cracking
0 引言
催化裂化分餾系統(tǒng)是石油煉化過程的重要組成部分,若系統(tǒng)發(fā)生異常,輕則影響產(chǎn)品質(zhì)量,重則造成重大安全事故。隨著工業(yè)互聯(lián)網(wǎng)的普及,F(xiàn)CC分餾系統(tǒng)引入了網(wǎng)絡(luò)攻擊,其最終也會導(dǎo)致物理過程發(fā)生異常。網(wǎng)絡(luò)攻擊造成的系統(tǒng)異常在過程變量上的特征與生產(chǎn)現(xiàn)場的偶發(fā)性故障具有相似性[1],而應(yīng)對網(wǎng)絡(luò)攻擊和系統(tǒng)故障的防護(hù)策略截然不同,所以辨識出異常發(fā)生的根本原因(攻擊故障辨識)是互聯(lián)網(wǎng)環(huán)境下控制裝置安全防護(hù)亟待解決的問題。
近年來,已有學(xué)者提出一些攻擊故障辨識方法,主要研究方向分為兩類:一類利用物理過程數(shù)據(jù)實(shí)現(xiàn)辨識[2,3],另一類則綜合利用物理過程數(shù)據(jù)[4~6]和通信網(wǎng)絡(luò)數(shù)據(jù)[7~9]實(shí)現(xiàn)辨識。在第一類研究中,Gupta等人[10]提出了一種非侵入式的電力電子系統(tǒng)異常診斷方法,將局部測量電壓和頻率通過物理經(jīng)驗(yàn)規(guī)律映射到某平面上,再利用軌跡窗口檢測各區(qū)域內(nèi)的軌跡情況,以實(shí)現(xiàn)對FDI攻擊和配電線路故障的辨別。Zhang等人[11]提出了一種結(jié)合自適應(yīng)估計(jì)的特制水印算法,通過自適應(yīng)觀測器預(yù)估系統(tǒng)輸出,再設(shè)計(jì)集成水印算法的兩種信號處理器來生成重放攻擊和傳感器故障下的殘差和閾值,實(shí)現(xiàn)辨別。Wang等人[12]針對智能電網(wǎng)在無故障時受到測量竄改攻擊出現(xiàn)的虛假故障問題,設(shè)計(jì)了基于記憶脈沖神經(jīng)P系統(tǒng)及其通用矩陣推理算法的方法。以上研究無論是基于模型的方法,還是數(shù)據(jù)驅(qū)動的方法,都只利用了物理過程數(shù)據(jù)實(shí)現(xiàn)攻擊故障辨識, 沒有充分利用通信網(wǎng)絡(luò)數(shù)據(jù)及相關(guān)信息,忽略了跨域攻擊在通信網(wǎng)絡(luò)中的痕跡,難以區(qū)分具有相似物理數(shù)據(jù)特征的網(wǎng)絡(luò)攻擊和系統(tǒng)故障。在第二類研究中,F(xiàn)arajzadeh-Zanjani等人[13]引入一種新的生成對抗網(wǎng)絡(luò)ACIL來學(xué)習(xí)少數(shù)類分布和多數(shù)類分布,實(shí)現(xiàn)對電力信息物理系統(tǒng)的攻擊、故障分類。Eslami等人[14]分別使用了馬爾可夫鏈模型和混合編碼及消息認(rèn)證方法來檢測故障和數(shù)據(jù)注入攻擊,并設(shè)計(jì)了綜合檢測方案以同時檢測攻擊和故障。雖然上述研究綜合采用了故障診斷技術(shù)和入侵檢測技術(shù),但仍未解決物理數(shù)據(jù)特征相似造成的攻擊故障辨識難題,區(qū)分開攻擊和故障后也不支持異常溯源,難以進(jìn)行異常根因定位,不利于開展安全防護(hù)和維修工作。
針對上述問題,本文提出基于跨域因果圖的攻擊故障辨識方法。首先,該方法綜合利用物理過程數(shù)據(jù)和通信拓?fù)浣Y(jié)構(gòu)構(gòu)建跨域因果圖,實(shí)現(xiàn)對物理域和信息域的覆蓋,為跨域異常溯源和異常根因定位提供因果關(guān)系。其中,為構(gòu)建物理域因果圖,本文創(chuàng)新性地提出了基于時滯互信息的變量因果分析方法。傳統(tǒng)互信息分析方法只能衡量變量間的相關(guān)關(guān)系,由于缺乏方向性而無法衡量因果關(guān)系。因此,本文方法在其基礎(chǔ)上,引入時滯參數(shù)來計(jì)算得到變量間的時滯互信息曲線,通過判斷兩曲線的超前滯后關(guān)系確定變量之間的信息流方向,彌補(bǔ)了互信息在非對稱性上的不足,并能用于異常傳播路徑識別。計(jì)算變量間信息流方向的原則是自變量發(fā)生在因變量之前[15]。在跨域因果圖基礎(chǔ)上,提出基于改進(jìn)弗洛伊德算法的最小樹型圖生成方法,用于實(shí)現(xiàn)攻擊故障辨識。該方法利用物理過程數(shù)據(jù)和通信報文數(shù)據(jù)充分挖掘網(wǎng)絡(luò)攻擊和系統(tǒng)故障在物理域和信息域中的行為特征,再基于改進(jìn)弗洛伊德算法得到異常傳播路徑,具有完整跨域異常傳播路徑的樣本即為攻擊場景下的樣本,而異常根因點(diǎn)處于物理域則判定為故障樣本,以此應(yīng)對物理數(shù)據(jù)特征相似造成的攻擊故障辨識難題。本文在實(shí)驗(yàn)章節(jié)設(shè)計(jì)了兩組具有物理反應(yīng)過程相似異常現(xiàn)象的實(shí)驗(yàn)場景,用于驗(yàn)證上述方法。
1 催化裂化分餾系統(tǒng)及攻擊故障辨識框架
1.1 催化裂化分餾系統(tǒng)
FCC分餾系統(tǒng)作為煉油工藝的重要組成部分,是一個典型的工業(yè)控制系統(tǒng),既包含信息層,又包含物理層,如圖1所示。信息層分為控制層和監(jiān)控層,其中,控制層部署了四臺可編程邏輯控制器(PLC)用于接收監(jiān)控層的指令,采集反應(yīng)過程數(shù)據(jù)和控制反應(yīng)進(jìn)行;監(jiān)控層包括操作員站、工程師站、人機(jī)界面(HMI)和歷史數(shù)據(jù)庫服務(wù)器,實(shí)現(xiàn)對生產(chǎn)過程的監(jiān)督控制;另外為應(yīng)對海量數(shù)據(jù)存儲及實(shí)時異常檢測需求,在 PLC和監(jiān)控層主機(jī)間設(shè)置了實(shí)時數(shù)據(jù)庫服務(wù)器。物理層則包括FCC分餾反應(yīng)過程及各類傳感器和執(zhí)行器等設(shè)備,反應(yīng)過程包括分餾塔、油氣分離器和汽提塔等部分[16]。
1.2 攻擊故障辨識框架
本文以經(jīng)典的結(jié)焦和沖塔[17]為例設(shè)計(jì)故障場景,以常見的竄改攻擊和虛假數(shù)據(jù)注入攻擊(1 data injection attack,F(xiàn)DIA)為例設(shè)計(jì)攻擊場景。圖2給出了基于跨域因果圖的FCC分餾系統(tǒng)攻擊故障辨識框架,由跨域因果圖構(gòu)建和異常根因識別兩部分組成。
跨域因果圖構(gòu)建過程融合了數(shù)據(jù)驅(qū)動方法和拓?fù)渲R方法,分別構(gòu)建物理域變量因果圖和信息域設(shè)備因果圖,再根據(jù)物理域和信息域間的通信關(guān)系連接兩圖即可構(gòu)建跨域因果圖。
在異常根因識別方面,首先從前期工作所得的多源異常證據(jù)中提取出異常節(jié)點(diǎn),并根據(jù)跨域因果圖提供的因果關(guān)系去除不可達(dá)點(diǎn),剩余節(jié)點(diǎn)作為弗洛伊德算法的必經(jīng)節(jié)點(diǎn)約束條件;之后考慮到異常傳播具有快速性以及本實(shí)驗(yàn)環(huán)境均為單點(diǎn)異常場景,因此利用弗洛伊德算法計(jì)算各節(jié)點(diǎn)間的最短路徑,并施加單點(diǎn)異常約束;最后結(jié)合必經(jīng)點(diǎn)最大數(shù)量約束,篩選出最有可能的幾種異常傳播路徑及對應(yīng)根節(jié)點(diǎn),對比以上情況的根節(jié)點(diǎn)異常發(fā)生時間,發(fā)生異常時刻最早的即為最終異常根源點(diǎn),給出對應(yīng)的異常傳播路徑。根據(jù)異常根源點(diǎn)位置及異常傳播路徑的完整性即可確定異常是由攻擊導(dǎo)致的還是由故障導(dǎo)致的。
2 基于數(shù)據(jù)和知識的跨域因果圖構(gòu)建
定量的數(shù)據(jù)驅(qū)動方法可以提高跨域因果圖構(gòu)建效率,而定性的拓?fù)渲R方法則可以去除跨域因果圖的冗余錯誤關(guān)系,兩者結(jié)合以構(gòu)建包含物理層和信息層的跨域因果圖,可以有效應(yīng)對復(fù)雜工業(yè)生產(chǎn)過程安全風(fēng)險。
2.1 基于時滯互信息的變量因果分析
格蘭杰因果分析方法[18]在大規(guī)?;み^程中會給出大量冗余的偽相關(guān)的非直接因果關(guān)系,加之工業(yè)系統(tǒng)本身變量因果關(guān)系復(fù)雜的特性[19],都給建模成本和異常傳播路徑識別帶來了困難。因此,本文使用基于互信息的相關(guān)性分析方法,再結(jié)合時滯參數(shù)計(jì)算變量間的信息流方向,得到局部變量因果圖?;バ畔ⅲ╩utual information,MI)基于信息熵理論,是變量間相互依賴性的量度,可以表示某變量中包含另一變量的信息量?;バ畔⑹欠秦?fù)值,即I(X,Y)≥0,而且是對稱的,即I(X,Y)=I(Y,X)。
文獻(xiàn)[20]給出了一種基于K-近鄰統(tǒng)計(jì)量的互信息估計(jì)方法,式(1)給出X與Y兩個時序變量之間的互信息計(jì)算方法,式(2)給出了式(1)中部分算式的說明。
I(X,Y)=ψ(k)-〈ψ(nx(i)+1)+ψ(ny(i)+1)〉+ψ(N)(1)
其中:ψ(k)是digamma函數(shù);k為鄰居數(shù);N為樣本數(shù);nx(i)是以k為鄰居數(shù)、xi為中心點(diǎn)的點(diǎn)zi=(xi,yi)數(shù)量,同理可得ny(i),〈…〉表示X、Y所有樣本點(diǎn)i∈[1,…,N]的平均值。
互信息只能衡量相關(guān)關(guān)系,不能提供信息流方向,因此在計(jì)算互信息基礎(chǔ)上,考慮加入時滯參數(shù)彌補(bǔ)不對稱性的需求。因此,在文獻(xiàn)[20]基礎(chǔ)上,加入時滯參數(shù)計(jì)算如下:
I1:X[t:t+n],Y[t+i:t+n+i],i=0~Tmax(3)
I2:Y[t:t+n],X[t+i:t+n+i],i=0~Tmax(4)
其中:Tmax表示最大時滯值,最小為信號周期。
式(3)計(jì)算滯后Y變量對X變量的時滯互信息I1,該曲線表示I1關(guān)于時滯參數(shù)i∈[0,Tmax]的變化情況。式(4)則表示相反的含義。比較I1和I2曲線的關(guān)系,若I1超前于I2,則可以認(rèn)為X超前于Y,因果關(guān)系為X→Y。
以一個例子來進(jìn)行說明,對于某周期約為T(由于有小信號噪聲)的函數(shù)x,以及在x基礎(chǔ)上受到干擾后存在滯后t_delay時刻的函數(shù)y,周期大致仍為T。取t=0,n=4×T,令Tmax=2×T,計(jì)算I1和I2,容易知道,I1達(dá)到第一個極大值的時刻大概為t_delay,而I2達(dá)到第一個極大值的時刻大概為T-t_delay。當(dāng)Tgt;gt;t_delay時,顯然可以通過判斷I1和I2的超前或滯后關(guān)系來得到x與y的信息流方向。
由于FCC分餾系統(tǒng)的過程變量呈現(xiàn)非周期性,所以可視為T→∞,這種情況下取某一時段內(nèi)的數(shù)據(jù)計(jì)算時滯互信息,有且僅有一個極大值,所以分別取I1和I2的峰值時刻比較大小即可判斷變量間的信息流方向。
2.2 基于拓?fù)渲R的模塊關(guān)聯(lián)分析和跨域因果分析
為連接各局部反應(yīng)過程的變量因果子圖,并與信息域設(shè)備銜接起來,本文利用FCC分餾系統(tǒng)工藝圖和仿真模型結(jié)構(gòu),基于拓?fù)渲R挖掘物理反應(yīng)過程各模塊間的因果關(guān)系,并構(gòu)建控制層和監(jiān)控層的設(shè)備因果圖。
如圖1所示,F(xiàn)CC分餾物理過程分為催化裂化分餾主塔、油氣分離器、汽提塔、分餾塔底油漿循環(huán)四個模塊。各模塊之間通過關(guān)鍵管道或設(shè)備進(jìn)行連接,下面予以詳細(xì)分析。分餾主塔和油氣分離器通過塔頂閥門FV01連通,因此,F(xiàn)V01對油氣分離器內(nèi)的壓強(qiáng)PI03和底部液位LI03有直接強(qiáng)作用,但由于FV01受PC01控制器控制,所以FV01受分餾主塔的影響更強(qiáng),受PI03和LI03的作用較小。考慮到FCC分餾系統(tǒng)多變量之間耦合關(guān)系強(qiáng)且復(fù)雜,為避免引入過多的低相互作用關(guān)系,這里將上述模塊間因果關(guān)系處理為FV01→PI03、FV01→LI03。同理,處理其他模塊間的連接關(guān)系,結(jié)果如表1所示。
關(guān)于控制層和監(jiān)控層,可以根據(jù)通信網(wǎng)絡(luò)的信息流方向來構(gòu)建設(shè)備因果圖。本文所設(shè)計(jì)的仿真系統(tǒng)在控制層部署了4臺PLC(P1~P4),用于接收操作員站(operator station,OS)的指令和工程師站(engineer station,ES)的組態(tài)來控制反應(yīng)過程進(jìn)行,并將現(xiàn)場數(shù)據(jù)上傳至實(shí)時數(shù)據(jù)庫服務(wù)器(real-time database server,RTDBS);工程師站除下發(fā)組態(tài)給PLC外,還可以配置操作員站;實(shí)時數(shù)據(jù)庫服務(wù)器將采集的數(shù)據(jù)發(fā)送給操作員站、工程師站和人機(jī)界面(HMI);HMI實(shí)現(xiàn)對生產(chǎn)過程的實(shí)時數(shù)據(jù)展示,并存入歷史數(shù)據(jù)庫服務(wù)器(history database server,HDBS)中。以上因果關(guān)系分析如表2所示。
2.3 構(gòu)建流程
在構(gòu)建跨域因果圖時,首先按照模塊化思想將系統(tǒng)分為信息層和物理層,對信息層做基于拓?fù)渲R的設(shè)備因果圖構(gòu)建,詳見表2,對物理層按照工藝區(qū)域分為四部分,對各部分分別做數(shù)據(jù)驅(qū)動的變量因果圖構(gòu)建,參照式(1)~(4);其次,根據(jù)物理層各工藝段之間的關(guān)鍵聯(lián)系,組建變量因果子圖成為完整的物理域變量因果圖,見表1;最后,根據(jù)表3中的控制層和被控變量的對應(yīng)關(guān)系將物理域因果圖和信息域因果銜接起來,構(gòu)成跨域因果圖。
所構(gòu)建的跨域因果圖如圖3所示,覆蓋物理層、控制層和監(jiān)控層的變量節(jié)點(diǎn)和設(shè)備節(jié)點(diǎn)。
3 基于異常因果傳播路徑搜索的攻擊故障辨識
攻擊故障辨識可以從尋找異常傳播路徑和確定異常根因點(diǎn)位置的角度出發(fā),利用多源異常證據(jù)集得到關(guān)鍵異常節(jié)點(diǎn)狀態(tài),利用跨域因果圖得到異常節(jié)點(diǎn)間的因果關(guān)系,在此基礎(chǔ)上,提出基于異常因果傳播路徑的搜索算法,可以準(zhǔn)確定位系統(tǒng)異常的根因點(diǎn)位置,并識別出異常的根本原因是攻擊還是故障。
3.1 基于弗洛伊德算法的異常因果傳播路徑搜索
異常因果傳播路徑搜索旨在確定異常節(jié)點(diǎn)間的因果關(guān)系。當(dāng)兩節(jié)點(diǎn)均處于異常狀態(tài)時,且存在因果關(guān)系,那么兩點(diǎn)及兩點(diǎn)間的因果方向即組成一條異常傳播路徑,將其擴(kuò)展為涵蓋物理域和信息域的n個異常節(jié)點(diǎn),那么就能得到各節(jié)點(diǎn)間的異常傳播路徑。要完成上述工作,首先需要得到多源異常證據(jù)集和跨域因果圖。多源異常證據(jù)集源自于前期工作所設(shè)計(jì)的綜合異常檢測方法,如表4所示,每個樣本包含46個節(jié)點(diǎn)的狀態(tài),其中有9個信息域設(shè)備節(jié)點(diǎn),依次為HMI、HDBS、RTDBS、OS、ES、PLC(P1~P4),以及37個物理域過程變量節(jié)點(diǎn),依次為FV01~FV10、FI01~FI09、FI11~FI14、TI01~TI07、PI01~PI04、LI01~LI03。其中,節(jié)點(diǎn)狀態(tài)為0表示正常,為1則表示異常。至于跨域因果圖,第2章的變量因果分析方法彌補(bǔ)了化工過程高耦合高復(fù)雜性造成的機(jī)理缺失缺陷,所計(jì)算出的因果關(guān)系在設(shè)備未失效情況下可以作為異常傳播的參考方向,而基于拓?fù)渲R的分析可直接作為異常傳播的參考方向。據(jù)此,下面提出基于弗洛伊德算法的異常因果傳播路徑搜索流程。
首先從多源異常證據(jù)集某樣本Evi中提取出非0狀態(tài)的變量節(jié)點(diǎn)作為該樣本的證據(jù)集AbEvi={n1,n2,…,nm},判斷其是否存在異常點(diǎn):
其中:l表示異常傳播路徑;len(AbEvi)表示非0狀態(tài)節(jié)點(diǎn)個數(shù)。
若不存在異常點(diǎn),則可以直接判斷該樣本為正常狀態(tài),l={-1},以便與節(jié)點(diǎn)編號區(qū)分開;若僅有1個異常節(jié)點(diǎn),考慮到節(jié)點(diǎn)自身存在可達(dá)性,可能該樣本處于異常剛發(fā)生階段,因此認(rèn)為l={n1}。若存在2個及以上的異常節(jié)點(diǎn),則需要先進(jìn)行可達(dá)性判斷,用于減小異常檢測誤報帶來的影響??蛇_(dá)性判斷的原理是去除與其他點(diǎn)距離均為inf的節(jié)點(diǎn),這里需要提及的是,所有有直接因果關(guān)系的節(jié)點(diǎn)間的距離都處理為1,不存在因果關(guān)系的節(jié)點(diǎn)間距離則設(shè)為一個無窮大值,即inf=9999999999,那么跨域因果圖就轉(zhuǎn)變?yōu)橛邢蛴袡?quán)圖。按式(6)進(jìn)行可達(dá)性判斷并得到不可達(dá)點(diǎn)序列delete_id={n1,n2,…,ni}。
其中:graph[ni][nj]表示ni→nj的邊權(quán)值,graph[nj][ni]相反。
從AbEvi中去除delete_id中的節(jié)點(diǎn)后得到剩余節(jié)點(diǎn)集AbEvi′,考慮到異常傳播具有快速性特點(diǎn),且本問題屬于多源路徑搜索問題,因此利用弗洛伊德算法計(jì)算各節(jié)點(diǎn)間的最短路徑,并令A(yù)bEvi′作為必經(jīng)節(jié)點(diǎn)約束。這里需要注意的是,去除不可達(dá)點(diǎn)后需要再執(zhí)行一次式(5),不同的是,當(dāng)節(jié)點(diǎn)數(shù)量多于1個時,執(zhí)行弗洛伊德算法,原理如下:
節(jié)點(diǎn)ni到達(dá)節(jié)點(diǎn)nj(i≠j)有兩種方式:a)無中轉(zhuǎn)節(jié)點(diǎn):ni→nj;b)有中轉(zhuǎn)節(jié)點(diǎn)(1或多個):ni→nk1→…→nj。
找到ni到nj的最短距離,只需要比較兩條路徑的長短,即判斷graph[ni][nj]與graph[ni][nk]+graph[nk][nj]的大小,前者表示ni到nj的當(dāng)前距離,后者表示從ni先到中轉(zhuǎn)節(jié)點(diǎn)nk再到nj的距離之和。若后者更小,則更新graph[ni][nj],并更新父節(jié)點(diǎn)parent[ni][nj]為parent[nk][nj],以便回溯ni到nj的異常傳播路徑。
由于方式b)可能經(jīng)過多個中轉(zhuǎn)節(jié)點(diǎn),所以為得到ni到nj的最終最短距離,需要對所有除ni和nj以外的節(jié)點(diǎn)都做一次判斷,將之?dāng)U展到每個ni到每個nj的最短距離求解問題,那么對ni和nj以及中轉(zhuǎn)節(jié)點(diǎn)nk都做n次循環(huán)處理即可。輸出結(jié)果為異常傳播路徑集path={l1,l2,…,lp},lp:ni→nk1→…→nj。
算法1 因果路徑搜索算法
輸入:多源異常證據(jù)集樣本Evi、有向有權(quán)圖graph及父節(jié)點(diǎn)parent。
輸出:異常傳播路徑集path。
AbEvi.add(Evi[i]),if Evi[i]!=‘0’/*提取非0狀態(tài)節(jié)點(diǎn)組成證據(jù)集*/
if len(AbEvi)==0 then l={-1}
elif len(AbEvi)==1 then l={n1}
else delete_id=judge_access(AbEvi,graph)
AbEvi′=remove delete_id from AbEvi //去除不可達(dá)點(diǎn)
do 2~3(AbEvi′) else Floyd(AbEvi′,graph,parent) /*執(zhí)行約束條件下的弗洛伊德算法*/
for nk in AbEvi’ do
for ni in AbEvi’ do
for nj in AbEvi’ do
if |ni,nk|+|nk,nj|lt;|ni,nj|then
renew graph[i][j],parent[i][j]
end if
get path from parent //遞歸回溯父節(jié)點(diǎn)得到路徑
end if
3.2 基于異常根因定位的攻擊故障辨識
考慮單點(diǎn)異常場景,即故障和攻擊均由單個變量節(jié)點(diǎn)或單個設(shè)備節(jié)點(diǎn)注入并影響到多個節(jié)點(diǎn),因此可以對異常傳播路徑集path={l1,l2,…,lp}施加單點(diǎn)異常約束條件,得到若干個可能的異常傳播路徑集pathi={l1,l2,…,lq},i表示根節(jié)點(diǎn)為ni,意味著pathi中的任意路徑l的根節(jié)點(diǎn),或者也可以稱之為起始點(diǎn),均為ni。式(7)(8)展示了兩個路徑集的區(qū)別。
l:ni→nk1→…→nj;l∈path;i,k1,j∈AbEvi′(7)
l:ni→nk1→…→nj;l∈pathi;i,k1,j∈AbEvi′(8)
由于每次ni到nj的路徑都更新為最小值,所以再通過該節(jié)點(diǎn)的路徑都能保證是最短的,也就相當(dāng)于保證了兩節(jié)點(diǎn)間不存在冗余路徑,對pathi內(nèi)的若干條路徑l,只需要將各路徑中的相同節(jié)點(diǎn)重合起來即可得到完整的系統(tǒng)異常傳播路徑li,li是單起點(diǎn)多終點(diǎn)路徑,呈最小樹型圖結(jié)構(gòu),如圖4所示。
由于正確的異常傳播路徑遵循因果關(guān)系,應(yīng)與必經(jīng)節(jié)點(diǎn)約束AbEvi′最大程度相匹配,所以對若干條系統(tǒng)異常傳播路徑li施加必經(jīng)節(jié)點(diǎn)最大數(shù)量約束,以0.8×amount(AbEvi′)為篩選閾值,篩選出最有可能的一或幾種異常傳播路徑及對應(yīng)根節(jié)點(diǎn)。最后根據(jù)根節(jié)點(diǎn)異常發(fā)生時間的先后,發(fā)生異常時刻最早的即為最終異常根源點(diǎn)root,并給出對應(yīng)的異常傳播路徑l_end。根據(jù)異常根源點(diǎn)位置及異常傳播路徑的完整性即可確定異常是由攻擊導(dǎo)致的還是由故障導(dǎo)致的。在異常傳播路徑完整性得以保障的情況下,異常根源點(diǎn)位置處于信息域則判定為攻擊,處于物理域則判定為故障。
算法2 異常根因定位算法
輸入:必經(jīng)節(jié)點(diǎn)約束集AbEvi′、有向有權(quán)圖graph。
輸出:異常根源點(diǎn)位置root、異常傳播路徑l_end。
get pathi from path,i∈AbEvi′ //提取某固定根的路徑
li ← merge_path(pathi) //合并路徑得到最小樹型圖
for nj in li do (i≠j)
if |ni,nj| !=inf then amount_li++
end if
end for
root_list.add(ni) if amount_ligt;=0.8×amount(AbEvi′) /*篩選出符合必經(jīng)點(diǎn)最大數(shù)量約束條件的異常傳播路徑*/
if len(root_list)==0 then root=-1,l_end=1
else root←judge_time(root_list) //結(jié)合異常發(fā)生時間
end if
l_end←li,ni=root
4 實(shí)驗(yàn)結(jié)果與分析
4.1 實(shí)驗(yàn)場景
設(shè)計(jì)的FCC分餾仿真系統(tǒng)如圖5所示,覆蓋物理層和信息層。其中,物理層使用化工建模軟件Aspen Plus Dynamics構(gòu)建FCC分餾過程模型,并將其內(nèi)置的PID控制器進(jìn)行解耦完成外置處理:基于Python編寫10條控制回路的PID邏輯,并按劃分的工藝段歸屬于PLC1~PLC4。進(jìn)一步地,各工藝段內(nèi)的現(xiàn)場數(shù)據(jù)由對應(yīng)PLC采集并上傳至監(jiān)控層??刂茖雍捅O(jiān)控層之間通過編寫的Modbus TCP通信協(xié)議來交互數(shù)據(jù)。監(jiān)控層設(shè)備均部署在本機(jī)上,使用虛擬IP完成基本業(yè)務(wù)行為。
本文設(shè)計(jì)了兩組在物理反應(yīng)過程上具有相似異?,F(xiàn)象的實(shí)驗(yàn)場景,分別為沖塔故障和竄改攻擊,以及換熱器結(jié)焦故障和虛假數(shù)據(jù)注入攻擊。前兩者主要會造成分餾塔塔頂溫度和分餾塔中段塔板溫度偏高,影響側(cè)線產(chǎn)物質(zhì)量;后兩者則會造成分餾塔塔底油漿循環(huán)部分溫度偏高,加劇結(jié)焦過程。下面介紹四種實(shí)驗(yàn)場景的模擬方法。
a)沖塔故障。令中段循環(huán)回流流量調(diào)節(jié)閥FV04保持不變來保證分餾塔中段塔板內(nèi)氣液含量基本不變,用于模擬中段回流斷流;另外令中段循環(huán)的熱負(fù)荷絕對值減小,即降低冷卻水溫度,用以模擬分餾塔的熱平衡失衡效果。
b)竄改攻擊。攻擊者利用系統(tǒng)漏洞獲得工程師站ES的操作權(quán)限,并對PLC1下發(fā)配置指令以修改分餾塔頂溫度控制回路TC01和分餾塔中段塔板溫度控制回路TC02的設(shè)定值sp,影響效果與沖塔故障類似。
c)換熱器結(jié)焦故障。降低油漿上返塔熱負(fù)荷絕對值,令冷卻水的降溫效果變差。
d)虛假數(shù)據(jù)注入攻擊。竄改PLC4上傳的分餾塔底溫度TI06,通過構(gòu)造TI06+δ=355,δ∈Euclid Math TwoRAp導(dǎo)致操作員站或工程師站下發(fā)錯誤策略,使塔底溫度控制回路TC03設(shè)定值偏離正常值。
4.2 實(shí)驗(yàn)結(jié)果分析
本實(shí)驗(yàn)采集了正常工況、兩種故障工況以及兩種攻擊工況下各415個樣本,樣本描述見表4。之后利用上述方法進(jìn)行攻擊故障辨識,所得異常傳播路徑、異常根源點(diǎn)位置以及辨識結(jié)果陳述如下:
a)沖塔故障。該故障下的異常傳播路徑如圖6所示。該故障使用中段循環(huán)回流流量調(diào)節(jié)閥FV04來模擬中段回流斷流現(xiàn)象,因此該變量為異常根源點(diǎn),并引發(fā)其他變量產(chǎn)生異常,該節(jié)點(diǎn)在圖6中進(jìn)行了加粗表示。中段回流斷流導(dǎo)致分餾塔熱平衡失衡,首先會影響分餾塔第15層塔板溫度TI04,接著分別影響三部分區(qū)域:(a)分餾塔頂溫度TI01異常,受其影響油氣分離器部分溫度也會異常,進(jìn)而影響粗汽油干點(diǎn),導(dǎo)致產(chǎn)物質(zhì)量降低;(b)回?zé)捰突亓髁髁縁I06異常,進(jìn)而導(dǎo)致分餾塔底部溫度TI05異常;(c)側(cè)線產(chǎn)物柴油質(zhì)量異常,這一點(diǎn)主要體現(xiàn)在汽提塔各主要變量異常,例如塔頂流量閥FV03、汽提蒸汽輸入流量FI11、塔底液位LI02以及柴油產(chǎn)出流量FI12。
b)竄改攻擊。該攻擊下的異常傳播路徑如圖7所示。
類似于沖塔故障,該工況主要影響分餾塔塔頂溫度TI01、第15層塔板溫度TI04以及回?zé)捰突亓髁髁縁I06,其根源點(diǎn)為工程師站。從圖7可以看出,精心設(shè)計(jì)的攻擊區(qū)別于故障,可以實(shí)現(xiàn)小范圍內(nèi)的特定路徑影響效果,同時能在物理域變量上營造出類似于故障的異常現(xiàn)象。
c)換熱器結(jié)焦故障。
異常傳播路徑如圖8所示。該故障通過降低油漿上返塔熱負(fù)荷絕對值來實(shí)現(xiàn)模擬。由于用于冷卻油漿上返塔部分的冷卻水溫度降低,所以為了保證分餾塔內(nèi)熱平衡穩(wěn)定,系統(tǒng)會使返塔油漿流速增快,即油漿返塔流量FI08異常,進(jìn)而影響其他變量。主要影響三部分工藝:(a)影響塔底油漿溫度并加劇結(jié)焦問題,該過程通過影響油漿外甩量及閥門開度FI09、FV07,進(jìn)一步影響塔底液位LI01,最終導(dǎo)致分餾塔底部溫度TI05異常;(b)影響側(cè)線產(chǎn)物柴油質(zhì)量,油漿返塔流量FI08波及上返塔流量調(diào)節(jié)閥開度FV06,并使32層塔板溫度TI06異常,進(jìn)而影響汽提塔部分工藝,異常表現(xiàn)與沖塔故障類似,不再贅述;(c)影響分餾塔塔頂溫度TI01及粗汽油干點(diǎn)TI02,該部分是由汽提塔部分的影響過渡而來。
d)虛假數(shù)據(jù)注入攻擊。類似于換熱器結(jié)焦故障,該工況主要影響塔底32層塔板溫度TI06、油漿返塔量FI08及油漿外甩量FI09,其根源點(diǎn)為PLC4。從圖9也可以看出,精心設(shè)計(jì)的FDIA是有目的、有針對性地實(shí)施小范圍內(nèi)的特定節(jié)點(diǎn)攻擊,同時達(dá)到類似于換熱器結(jié)焦故障的異常現(xiàn)象。
除上述正確檢測結(jié)果以外,還存在少量辨識錯誤結(jié)果,這些情況是由異常檢測誤報、漏報問題,以及偶然網(wǎng)絡(luò)故障造成的丟包問題所導(dǎo)致的。最后,給出評估本方法辨識效果的各個指標(biāo)及對應(yīng)含義。如圖10所示,本文屬于三分類問題。
圖中,N表示樣本,第一個下標(biāo)字母表示樣本真實(shí)標(biāo)簽,第二個下標(biāo)字母表示辨識標(biāo)簽,n表示正常工況normal;a:a1、a2表示攻擊工況attack;f:f1、f2表示故障工況fault。根據(jù)準(zhǔn)確率A(accuracy)、精確率P(precision)、召回率R(recall)及調(diào)和平均值F1的定義,計(jì)算各工況類別的檢測指標(biāo)如下:
對Pa1和Pa2計(jì)算均值可得到攻擊工況下的Pa,同理得到Pf、Ra、Rf。再對Pn、Pa、Pf計(jì)算均值可得到P,同理得到R,計(jì)算如下:
表5給出了本方法的分辨指標(biāo)結(jié)果,驗(yàn)證了本方法的有效性,檢測準(zhǔn)確率為94.84%。
為表明本方法的特點(diǎn)和優(yōu)勢,對比同類辨識方法如表6所示。
本方法在構(gòu)建跨域因果圖時即考慮了物理過程變量數(shù)據(jù)和通信網(wǎng)絡(luò)拓?fù)?,該圖包括物理域變量節(jié)點(diǎn)和信息域設(shè)備節(jié)點(diǎn),因此支持跨域異常溯源,而同類方法只實(shí)現(xiàn)檢測而不支持溯源及定位。另外,考慮到攻擊故障辨識的難點(diǎn)在于兩者具有相似的物理異常特征,因此本實(shí)驗(yàn)設(shè)計(jì)了兩組在物理反應(yīng)過程上具有相似異常現(xiàn)象的實(shí)驗(yàn)場景,而同類方法沒有提及此問題。
5 結(jié)束語
針對FCC分餾系統(tǒng)難以分辨具有相似物理特征的跨域攻擊和系統(tǒng)故障問題,本文提出一種基于跨域因果圖的攻擊故障辨識方法。該方法綜合利用拓?fù)渲R和數(shù)據(jù)驅(qū)動來構(gòu)建跨域因果圖,其中數(shù)據(jù)驅(qū)動方法中提出考慮時滯參數(shù)來彌補(bǔ)互信息在非對稱性上的不足;之后基于多源異常證據(jù)集,設(shè)計(jì)了基于弗洛伊德的異常因果路徑搜索算法,用于生成異常傳播路徑,并確定異常根源點(diǎn)位置,實(shí)現(xiàn)攻擊故障辨識。最后,F(xiàn)CC分餾仿真系統(tǒng)的測試結(jié)果驗(yàn)證了本方法的有效性和可行性。本方法充分考慮了跨域攻擊在信息域中的行為特征,并能較好地分辨出正常、故障和攻擊三種工況,所給出的異常傳播路徑也能為系統(tǒng)維修和防御提供參考。
未來研究工作將致力于兩方面內(nèi)容:a)研究時滯互信息分析方法的抗干擾能力,使其在高密度小鋸齒信號下仍能準(zhǔn)確衡量因果關(guān)系;b)研究攻擊故障辨識對于工業(yè)控制系統(tǒng)的一般性框架,不局限于區(qū)分某幾類攻擊和故障。
參考文獻(xiàn):
[1]Khan M A,Bharath Kurukuru V S,Sahoo S,et al.From physics to data oriented cyber attack profile emulation in grid connected PV systems[C]//Proc of the 22nd IEEE Workshop on Control and Modelling of Power Electronics.Piscataway,NJ:IEEE Press,2021:1-8.
[2]Hemmati R,F(xiàn)araji H.Identification of cyber-attack/outage/fault in zero-energy building with load and energy management strategies[J].Journal of Energy Storage,2022,50:104290.
[3]Agrawal A,Affijulla S.A concept for discrimination of electrical fault from cyber attack in smart electric grid[J].Journal of Electrical Engineering,2022,73(4):299-304.
[4]Tian Wende,Wang Shaochen,Sun Suli,et al.Intelligent prediction and early warning of abnormal conditions for fluid catalytic cracking process[J].Chemical Engineering Research and Design,2022,181:304-320.
[5]Taira G R,Park S W,Zanin A C,et al.Fault detection in a fluid catalytic cracking process using Bayesian recurrent neural network[J].IFAC-PapersOnLine,2022,55(7):715-720.
[6]Amin Md T,Imtiaz S,Khan F.Process system fault detection and diagnosis using a hybrid technique[J].Chemical Engineering Science,2018,189:191-211.
[7]Zhang Yichi,Yang Chunhua,Huang Keke,et al.Intrusion detection of industrial Internet-of-Things based on reconstructed graph neural networks[J].IEEE Trans on Network Science and Engineering,2023,10(5):2894-2905.
[8]Xu Hao,Sun Zihan,Cao Yuan,et al.A data-driven approach for intrusion and anomaly detection using automated machine learning for the Internet of Things[J].Soft Computing,2023,27(19):14469-14481.
[9]Alkadi O,Moustafa N,Turnbull B,et al.A deep blockchain framework-enabled collaborative intrusion detection for protecting IoT and cloud networks[J].IEEE Internet of Things Journal,2021,8(12):9463-9472.
[10]Gupta K,Sahoo S,Mohanty R,et al.Distinguishing between cyber attacks and faults in power electronic systems—a noninvasive approach[J].IEEE Journal of Emerging and Selected Topics in Power Electronics,2023,11(2):1578-1588.
[11]Zhang Kangkang,Keliris C,Parisini T,et al.Identification of sensor replay attacks and physical faults for cyber-physical systems[J].IEEE Control Systems Letters,2022,6:1178-1183.
[12]Wang Tao,Liu Wei,Cabrera L V,et al.A novel fault diagnosis method of smart grids based on memory spiking neural P systems considering measurement tampering attacks[J].Information Sciences,2022,596:520-536.
[13]Farajzadeh-Zanjani M,Hallaji E,Razavi-Far R,et al.Generative-adversarial class-imbalance learning for classifying cyber-attacks and faults—a cyber-physical power system[J].IEEE Trans on Depen-dable and Secure Computing,2022,19(6):4068-4081.
[14]Eslami A,Abdollahi F,Khorasani K.Stochastic fault and cyber-attack detection and consensus control in multi-agent systems[J]. International Journal of Control,2022,95(9):2379-2397.
[15]Granger C W J.Testing for causality:a personal viewpoint[J].Journal of Economic Dynamics and Control,1980,2:329-352.
[16]齊從政.催化裂化分餾及吸收穩(wěn)定系統(tǒng)的動態(tài)模擬[D].北京:北京化工大學(xué),2021.(Qi Congzheng.Dynamic simulation of catalytic cracking fractionation and absorption stabilization system[D].Beijing:Beijing University of Chemical Technology,2021.)
[17]胡瑾秋,蔡爽,張來斌.基于多尺度建模的煉油化工過程報警根源分析[J].石油學(xué)報(石油加工),2018,34(2):341-353.(Hu Jinqiu,Cai Shuang,Zhang Laibin.Alarm root cause analysis in refinery process based on multi-scale modeling[J].Acta Petrolei Sinica(Petroleum Processing Section),2018,34(2):341-353.)
[18]任偉杰,韓敏.多元時間序列因果關(guān)系分析研究綜述[J].自動化學(xué)報,2021,47(1):64-78.(Ren Weijie,Han Min.Survey on causality analysis of multivariate time series[J].Acta Automatica Sinica,2021,47(1):64-78.)
[19]郭小萍,洪升園,李元.基于簡化因果圖的工業(yè)過程故障根本變量診斷[J].計(jì)算機(jī)應(yīng)用研究,2022,39(12):3720-3723.(Guo Xiao-ping,Hong Shengyuan,Li Yuan.Root variable diagnosis of industrial process fault based on simplifying causality diagram[J].Application Research of Computers,2022,39(12):3720-3723.
[20]Kraskov A,Stgbauer H,Grassberger P.Estimating mutual information[J].Physical Review E,2004,69(6):066138.