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