王亞楠,王華忠,顏秉勇
(華東理工大學(xué) 化工過程先進(jìn)控制和優(yōu)化技術(shù)教育部重點(diǎn)實(shí)驗(yàn)室, 上海 200237)
石化、電力等工業(yè)生產(chǎn)規(guī)模越來越大,生產(chǎn)過程的異?;蚬收嫌锌赡茉斐芍卮蟮慕?jīng)濟(jì)損失、環(huán)境災(zāi)難甚至人員傷亡.長期以來,工業(yè)界十分重視安全生產(chǎn),在技術(shù)和管理上有一系列的保障措施,工業(yè)生產(chǎn)過程的故障檢測、狀態(tài)監(jiān)控及各種健康診斷系統(tǒng)就屬于一類典型的技術(shù)手段,這些系統(tǒng)對生產(chǎn)過程狀態(tài)進(jìn)行監(jiān)控,及時(shí)發(fā)現(xiàn)各種生產(chǎn)異常、設(shè)備故障,從而能快速完成檢修及后續(xù)維護(hù),確保安全生產(chǎn)[1].長期以來,故障檢測系統(tǒng)主要是針對非人為攻擊控制系統(tǒng)引起的設(shè)備失效、故障或工藝參數(shù)異常情況.然而,隨著控制系統(tǒng)與信息系統(tǒng)的集成度不斷提高,大型工業(yè)生產(chǎn)過程的工控系統(tǒng)甚至成為互聯(lián)網(wǎng)中的一部分.因此,廣泛存在于IT系統(tǒng)的信息安全問題也出現(xiàn)在工業(yè)控制系統(tǒng).特別是近年來網(wǎng)絡(luò)攻擊手段越來越多樣化、越來越隱蔽,出現(xiàn)的工業(yè)控制系統(tǒng)攻擊事件不斷增多,造成較大的損失甚至嚴(yán)重后果,促使國內(nèi)外十分關(guān)注控制系統(tǒng)的信息安全.
作為一類有效的安全防護(hù)措施,工控系統(tǒng)攻擊檢測已成為工控系統(tǒng)信息安全研究重要的組成部分,日益受到重視[2].目前該領(lǐng)域的研究主要可分為兩大類研究.一種是基于工控系統(tǒng)上位機(jī)上的實(shí)時(shí)/歷史數(shù)據(jù),采用狀態(tài)監(jiān)控及故障檢測算法開展研究.如Amin等人[3]就對水利灌溉SCADA系統(tǒng)進(jìn)行了欺騙攻擊的研究,通過建立被控系統(tǒng)狀態(tài)模型對攻擊檢測進(jìn)行監(jiān)控.研究表明,上位機(jī)無異常警告的情況下,入侵者能打開排水渠閥門偷水. Teixeira等人[4]對電力系統(tǒng)進(jìn)行研究,發(fā)現(xiàn)攻擊者可以躲過狀態(tài)監(jiān)測系統(tǒng)而對電力看系統(tǒng)展開攻擊.另外一類研究則是把工控系統(tǒng)也作一種特殊的信息系統(tǒng),采用傳統(tǒng)信息安全防護(hù)中常用的主機(jī)及網(wǎng)絡(luò)入侵檢測算法來研究工控系統(tǒng)的攻擊檢測.由于工控網(wǎng)絡(luò)具有的確定、靜態(tài)和數(shù)據(jù)流可以預(yù)測等特性[5],十分有利于入侵檢測.目前研究較多的是異常檢測算法[6]和基于特征的入侵檢測算法[7].這類研究主要是從工控網(wǎng)絡(luò)上提取工控系統(tǒng)關(guān)鍵信息.由于工控系統(tǒng)中協(xié)議眾多,還存在許多私有協(xié)議,因此存在難以從工控網(wǎng)絡(luò)中獲取有效數(shù)據(jù)的困難,限制了該方法的應(yīng)用.本文重點(diǎn)研究了基于主元分析的故障檢測算法對于三類攻擊場景的性能.
假設(shè)攻擊者能夠接入工控系統(tǒng),進(jìn)而改變系統(tǒng)中的傳感變量和控制變量,并且不考慮攻擊者對控制器中控制邏輯的篡改.在給定上述假設(shè)的情況下,就可以在控制系統(tǒng)中引入簡化的攻擊變量,即只考慮傳感變量和控制變量輸出的攻擊.
攻擊建模包括物理傳感變量攻擊建模和控制變量建模兩部分.
1) 傳感變量攻擊建模
2) 控制變量攻擊模型
Huang等人[8]提出的控制系統(tǒng)攻擊建模有很多種,包括縮放攻擊,添加攻擊,替換攻擊,最大值、最小值攻擊等,這里可以通過改變常量參數(shù)來實(shí)現(xiàn).本文將使用添加攻擊和替換攻擊,以公式(1)為例,令A(yù)=0,B=1,若D=0,則為添加函數(shù)攻擊,若C=0,則為常量添加攻擊,此時(shí),
令A(yù)=B=0,則描述了替換攻擊,此時(shí)
田納西-伊斯曼(Tennessee Eastman,TE)過程是一個(gè)實(shí)際化工過程的仿真模擬,是一個(gè)復(fù)雜的非線性過程.TE過程是由Downs和Vogel根據(jù)伊斯曼化學(xué)品公司基于一個(gè)真實(shí)工業(yè)工程創(chuàng)建的,通過對其實(shí)際工藝流程作少許修改后用于評價(jià)過程控制和監(jiān)控方法提供一個(gè)現(xiàn)實(shí)的工業(yè)過程,被廣泛應(yīng)用于過程控制研究[9].有大量文獻(xiàn)引用TE模型作為數(shù)據(jù)源,進(jìn)行過程監(jiān)控與故障診斷等研究[10].
TE過程模型主要由反應(yīng)器、氣液分離器、汽提塔、循環(huán)壓縮機(jī)及產(chǎn)品冷凝器五個(gè)設(shè)備組成.氣態(tài)反應(yīng)物進(jìn)入反應(yīng)器中反應(yīng)生成液態(tài)產(chǎn)物.反應(yīng)器通過冷凝水降溫,移除反應(yīng)產(chǎn)生的能量.出來的產(chǎn)物是氣態(tài)的還混合有未反應(yīng)物.TE過程模型共有12個(gè)操縱變量,41個(gè)測量變量,包括15種已知擾動(dòng),有 6 種運(yùn)行模式.該過程是一個(gè)大樣本的復(fù)雜非線性化工系統(tǒng),它包括21種預(yù)先設(shè)定好的故障,分別代表階躍、隨機(jī)、變化、慢漂移、黏滯和恒定位置等故障類型.
為了更真實(shí)地模擬工控系統(tǒng)及對其實(shí)施的攻擊分析,構(gòu)建了TE過程控制器硬件在環(huán)測試床,即MATLAB中只對TE過程模型部分進(jìn)行仿真,而控制回路則在西門子S7-300 PLC中實(shí)現(xiàn).系統(tǒng)主要的控制回路包括反應(yīng)器溫度、反應(yīng)器壓力和反應(yīng)器液位等.整個(gè)系統(tǒng)結(jié)構(gòu)很好地模擬了實(shí)際工控系統(tǒng)結(jié)構(gòu),包括TE模型仿真、OPC服務(wù)器、S7-300 PLC以及用WinCC開發(fā)的人機(jī)界面,其結(jié)構(gòu)如圖1所示.
圖1 TE過程控制器硬件在環(huán)控制系統(tǒng)結(jié)構(gòu)Fig. 1 Hardware in the loop control system structure of TE process
人機(jī)界面、OPC服務(wù)器及模型仿真在不同的計(jì)算機(jī)上運(yùn)行,各個(gè)部分通過以太網(wǎng)進(jìn)行數(shù)據(jù)交換.模擬的欺騙攻擊發(fā)生在控制層,假設(shè)攻擊者能接入控制網(wǎng)絡(luò),從而操縱或修改傳感器或執(zhí)行器參數(shù).
主元分析法是基于數(shù)據(jù)驅(qū)動(dòng)的一類典型的故障檢測算法,被廣泛應(yīng)用于工業(yè)控制系統(tǒng)故障檢測,它具有不依賴于過程模型、易于實(shí)施的特點(diǎn)[11-12].其基本原理是構(gòu)造原變量的線性組合,以產(chǎn)生一系列互不相干的新變量,從中選取幾個(gè)新變量,使它們含有盡可能多的信息.PCA將正常工作情況下采集的數(shù)據(jù)建立主元模型,當(dāng)控制系統(tǒng)中的數(shù)據(jù)與主元模型不相符時(shí),則系統(tǒng)可能有異常.本文采用的檢測方法是HotellingT2統(tǒng)計(jì)法和SPE法(平方預(yù)測誤差,Square Prediction Error).T2是主元向量的標(biāo)準(zhǔn)平方和,代表每個(gè)采樣在變化趨勢和幅值上偏離模型的程度,如式(5).
T2=tT∧-1t=
[t1,t2,…,tp]∧-1[t1,t2,…,tp]T.
(5)
SPE表示每個(gè)采樣在變化趨勢上與統(tǒng)計(jì)模型之間的誤差,是模型外部數(shù)據(jù)變化的一種測度,如式(6).
SPE=‖φ(x)-φp(x)‖2=
‖φN(x)-φp(x)‖2=
正常生產(chǎn)狀態(tài)下,T2和SPE都應(yīng)小于其置信限,若有一個(gè)統(tǒng)計(jì)量超出置信限,則系統(tǒng)有異常.
對TE過程中反應(yīng)器液位y1進(jìn)行常量添加攻擊,攻擊值為5%,攻擊時(shí)間從t=5 h到t=72 h.添加攻擊后傳感器監(jiān)測值增加到70%,高于設(shè)定值65%,導(dǎo)致反應(yīng)器流速減小,液位下降至60%左右,最后停留在一個(gè)低于正常運(yùn)行狀態(tài)值的穩(wěn)態(tài)值上.此時(shí)PCA檢測系統(tǒng)將其當(dāng)成是系統(tǒng)故障,能夠很好地檢測出異常,并一直處于告警狀態(tài),如圖2所示.隨著攻擊值的加大,PCA統(tǒng)計(jì)值超出閾值越多,表明檢測統(tǒng)計(jì)量對此類攻擊非常靈敏.
對TE模型[9]中A進(jìn)料流量(y2)進(jìn)行添加攻擊,添加值為0.05 km3(25%).(y2)在t=5 h遭到添加攻擊后,A進(jìn)料流量開始驟降,但控制回路能夠補(bǔ)償這個(gè)變化,使流1中A的進(jìn)料流量返回到設(shè)置點(diǎn)(即使攻擊在系統(tǒng)中持續(xù)存在),大約10 h后逐漸恢復(fù)到穩(wěn)態(tài).
PCA統(tǒng)計(jì)量的攻擊檢測結(jié)果如圖3所示,顯示出了很高的漏檢率.統(tǒng)計(jì)量在攻擊發(fā)生后17 h便回歸到閾值以下,而檢測統(tǒng)計(jì)量的持續(xù)性是很重要的,設(shè)備操作員通常需要花一定量的時(shí)間來追蹤出異常過程運(yùn)行的原因.當(dāng)定位一個(gè)異常源的時(shí)間超過檢測統(tǒng)計(jì)量的持續(xù)時(shí)間時(shí),設(shè)備操作員可能會(huì)得到系統(tǒng)已經(jīng)“自動(dòng)修正”的結(jié)論,并認(rèn)為過程又運(yùn)轉(zhuǎn)在正常運(yùn)行狀態(tài).這種類型的系統(tǒng)行為會(huì)掩飾故障,使得檢測系統(tǒng)很難分離系統(tǒng)真正的異常情況,攻擊就有可能騙過檢測系統(tǒng)而持續(xù)對生產(chǎn)設(shè)備造成危害.
圖2 反應(yīng)器液位添加攻擊PCA統(tǒng)計(jì)量Fig.2 PCA statistics of add attack on reactor level
將常量添加攻擊換成鋸齒波攻擊,檢測結(jié)果見圖4.最大值依然為0.05 km3,如式(7)所示.
此時(shí)PCA統(tǒng)計(jì)量在t=7 h左右檢測到異常,并且直到t=24 h才恢復(fù)正常值.也就是說,PCA統(tǒng)計(jì)量檢測到系統(tǒng)異常到攻擊結(jié)束之間的時(shí)間只有3 h.攻擊結(jié)束之后PCA統(tǒng)計(jì)量反而大幅度上升并持續(xù)了14 h,持續(xù)的檢測統(tǒng)計(jì)量會(huì)繼續(xù)通知操作員過程異常.這說明緩慢增大的添加攻擊PCA統(tǒng)計(jì)量更難以發(fā)現(xiàn),并且在攻擊結(jié)束后的漏檢率和誤檢率很高,這將對操作員造成很大干擾.
圖3 流1中A的進(jìn)料流量常量添加攻擊PCA統(tǒng)計(jì)量Fig. 3 PCA statistics of add constant on flow A
圖4 流1中A的進(jìn)料流量鋸齒波添加攻擊PCA統(tǒng)計(jì)量Fig. 4 PCA statistics of add sawtooth wave on flow A
對控制變量輸出值進(jìn)行攻擊,從t=5 h開始添加一個(gè)鋸齒波,最大值為5 km3/h(16.7%),如式(8)所示.
如圖5所示,PCA檢測系統(tǒng)在攻擊時(shí)段內(nèi)沒有任何反應(yīng),但是在攻擊結(jié)束后1.8 h PCA統(tǒng)計(jì)量顯示異常,該現(xiàn)象將對操作員產(chǎn)生干擾.
圖5 分離器罐液流量添加攻擊PCA統(tǒng)計(jì)量Fig. 5 PCA statistics of add attack on separator tank liquid
PCA用于故障檢測時(shí)表現(xiàn)出了良好的性能,但對于部分故障PCA統(tǒng)計(jì)量漏檢率較高,接下來對TE模型[9]中所預(yù)設(shè)的故障4進(jìn)行欺騙攻擊測試.故障4涉及反應(yīng)器冷卻水入口溫度的一個(gè)階躍變化,這個(gè)溫度是不可測量的,它會(huì)引起反應(yīng)器冷卻水流速的階躍變化.故障發(fā)生后,反應(yīng)器中溫度會(huì)突然增高,冷卻水流速會(huì)突然增大,其余50個(gè)測量變量和控制變量基本保持穩(wěn)定.此時(shí),對反應(yīng)器溫度和反應(yīng)器壓力進(jìn)行替換攻擊,將原先會(huì)增加的值替換成無故障時(shí)候的值,冷卻水流速將保持不變.如式(9)和式(10)所示.
此時(shí)再用PCA統(tǒng)計(jì)量進(jìn)行檢測,結(jié)果見圖6.
圖6 故障4欺騙攻擊PCA檢測Fig. 6 PCA statistics of Fault 4 detection
PCA未能檢測出故障的存在,攻擊將系統(tǒng)本身的故障隱藏了,PCA檢測系統(tǒng)一直顯示無異常,而持續(xù)存在的故障將對生產(chǎn)造成很大傷害.
構(gòu)建了控制器硬件在環(huán)的測試床來更真實(shí)地模擬工控系統(tǒng)及開展相關(guān)的工控信息安全研究.雖然對于傳感器和執(zhí)行器的人為攻擊導(dǎo)致的被控過程參數(shù)變化與這類設(shè)備故障有一定的相似性,故障檢測系統(tǒng)在一定情況下仍能做出生產(chǎn)異常的判斷,但對于更加復(fù)雜多變的人為攻擊,故障檢測系統(tǒng)就存在顯著的誤判和漏判,對于安全生產(chǎn)的指導(dǎo)意義大大降低,甚至?xí)?dǎo)致操作人員錯(cuò)誤操作,從而造成安全生產(chǎn)事故.此外,由于欺騙攻擊的存在,上位機(jī)上的應(yīng)用層數(shù)據(jù)存在被篡改的可能,基于這些數(shù)據(jù)開展的在線優(yōu)化及其他先進(jìn)控制算法的實(shí)現(xiàn)也面臨較大的風(fēng)險(xiǎn).因此,在工控系統(tǒng)也成為攻擊目標(biāo)后,非常有必要加強(qiáng)控制系統(tǒng)攻擊檢測及防護(hù)研究,通過建立邊界隔離、主機(jī)防御以及安全管理平臺(tái)等措施來降低工控系統(tǒng)受到攻擊的風(fēng)險(xiǎn),減少控制系統(tǒng)受到攻擊后的損失.