

























摘" 要: 為解決攻擊者利用流程工業生產中深度耦合的工序參數進行生產過程攻擊的問題,提出一種基于SSA?LSTM的深度學習算法,對工藝數據進行異常檢測。通過麻雀優化算法優化LSTM神經網絡的迭代次數、學習率和隱藏層節點數三個超參數,實現對工藝數據的準確預測。將預測數據與真實數據進行對比,超出閾值的點定義為異常點,再運用Petri網理論對生產工藝參數間的耦合關系進行建模,確定異常點與入侵點之間的因果關系,為預測結果提供理論支撐。將SWAT水處理系統數據集用于驗證算法效率,證明了所提出的模型在檢測精度和攻擊定位準確性方面優于其他算法模型。實驗結果表明,所提出的算法模型可有效檢測出通過暴力篡改傳感器數據對工業生產造成重大影響的入侵行為。
關鍵詞: 工藝數據; 工業入侵檢測; 攻擊定位; 麻雀優化算法(SSA); LSTM神經網絡; 工業控制系統; 工業網絡安全
中圖分類號: TN911.23?34; TP273" " " " " " " " " "文獻標識碼: A" " " " " " " " " 文章編號: 1004?373X(2024)16?0117?08
Process industry intrusion detection and attack localization based on process data analysis
QIAN Junlei1, 2, JIA Tao1, ZENG Kai1, 2, QU Bin1, DU Xueqiang2
(1. College of Electrical Engineering, North China University of Science and Technology, Tangshan 063210, China; 2. Tangshan Iron and Steel Enterprise Process Control and Optimization Technology Innovation Center (Tangshan ANODE Automation Co., Ltd.), Tangshan 063000, China)
Abstract: In order to solve the problem that attackers can attack the production process by using deeply coupled process parameters in process industrial production, a deep learning algorithm based on SSA?LSTM (sparrow search algorithm?long short term memory) is proposed for the anomaly detection of process data. The SSA is used to optimize three hyperparameters of LSTM neural network: iteration number, learning rate and number of hidden layer nodes, so as to realize the accurate prediction of process data. The predicted data is compared with the real data, and these points exceeding the threshold are defined as anomalous points. Petri net theory is used to model the coupling relationship between the production process parameters to determine the causal relationship between the anomalcus points and the intrusion points, so as to provide theoretically support for the prediction results. The SWAT water treatment system dataset is used to verify the efficiency of the algorithm, and it proves that the proposed model is superior to other algorithm models in terms of detection accuracy and attack localization accuracy. The experimental results show that the proposed algorithm model can effectively detect the intrusion behaviors that has significant impacts on industrial production by violent tampering with sensor data.
Keywords: process data; industrial intrusion detection; attack localization; sparrow search algorithm; LSTM neural network; industrial control system; industrial network security
0" 引" 言
“中國制造2025”的提出,加速了工業控制系統(Industrial Control System, ICS)向智能化、數字化發展的步伐。工業生產的智能化要求產線級、車間級以及工廠級的數據共享和互聯互通,這會使得工廠中的控制系統、控制網絡以及工藝數據顯露于互聯網[1?3]。智能化、數字化水平的提升,給網絡攻擊者入侵工業網絡帶來了便利,給在物理隔離時代很難攻擊的控制層網絡帶來了巨大威脅。生產制造執行系統(Manufacturing Execution System, MES)打通了設備層、控制層、監控層、管理層之間的數據通道,提升了生產的靈活性,給管理者在工廠之外監控生產過程提供了便捷,然而也致使攻擊者入侵控制網絡成為可能。同時,流程工業因為其不間斷生產的特性,軟硬件更新不及時,通信協議不兼容,漏洞更新緩慢,造成了更多的潛在威脅[4?5]。針對ICS網絡的攻擊過程一般是:通過如釣魚網站、被感染的移動存儲設備、暴力破解等手段獲取目標系統的非法訪問權限,一旦成功進入操作系統,攻擊者進行橫向滲透,進而獲取系統控制權;最后,攻擊者控制現場的網絡設備、可編程邏輯控制器(Programmable Logic Controller, PLC)、組態軟件等,通過篡改程序、參數、設定值等,造成如停電、設備損壞、火災之類生產安全事故。
2010年,攻擊者通過社會工程學方式,用匿名U盤將震網病毒帶入伊朗核電站的ICS網絡,導致離心機大規模故障[6],并在對核電站進行攻擊的同時,開啟了黑客對ICS網絡的攻擊。2022年6月,伊朗三家鋼鐵廠同時被攻擊,其中最大的鋼廠現場PLC被黑客控制,黑客通過篡改控制設定值、傳感器信號等行為使連鑄回轉臺非正常旋轉、操作,導致漏鋼事故發生并進一步引發了火災[7]。上述事件的發生表明,針對流程工業網絡安全的研究除了需要關注網絡流量的異常檢測,還需要重視工藝數據的異常檢測。對于“中間人”“重放”“模糊測試”等攻擊,基于協議分析的流量檢測精度并不令人滿意,合法的控制協議中的參數可能會導致錯誤的操作行為,進而導致錯誤的控制邏輯和控制結果,攻擊后果也因此產生。
面對層出不窮的攻擊手段,僅通過網絡流量數據來分析入侵行為是遠遠不夠的。攻擊者的目的是破壞生產,這必然會使得工藝數據發生異常。因此,已有學者引入機器學習和深度學習技術[8],以數據驅動建立基于工藝數據的入侵檢測系統,依據工業生產中ICS的高周期性行為模式,對正常行為模式進行建模,再對工藝數據進行分析、驗證,找出異常行為[9?10]。張云貴等人對ICS系統進行建模,利用非參數CUSUM算法檢測預測的輸出和傳感器測量的差值,進而找出異常點[11]。但該算法需要檢測序列均值,不適合對長時序數據進行檢測,故不適用于真實工業。敖建松等人利用模糊C均值(Fuzzy C Means, FCM)算法對正常狀態空間進行建模,度量出實時狀態偏離正常狀態的程度;通過ARIMA預測后續的工藝數據,建立滑動窗口實現實時數據和預測數據的融合,呈現出實時的安全狀況[12]。但ARIMA預測算法的精度仍有待提高,且沒有定位出攻擊點。O. A.Alimi等人提出使用多層感知器(Multilayer Perceptron, MLP)來檢測入侵,使用支持向量機(Support Vector Machine, SVM)來對數據進行特征提取;再對數據進行歸一化處理,輸入到具有三個隱藏層的MLP神經網絡中進行訓練,預測出工藝數據,與實際數據進行對比以檢測異常點[13]。但MLP神經網絡處理長序列時序數據時會消耗大量算法且浪費時間,對于大樣本數據的檢測精度不高。J. Goh等人提出使用長短期記憶(Long Short Term Memory, LSTM)神經網絡來檢測入侵行為,將數據進行預處理,再輸入到LSTM神經網絡中進行訓練,預測出每個傳感器的數據;最后利用CUSUM計算出每個預測數據的偏差,找出異常點[14]。然而文中并沒提及模型精度,而且部分入侵行為并未檢測出,雖然找到了發生異常的傳感器,但沒有進行攻擊定位并找到入侵點。
本文提出一種SSA?LSTM模型,貢獻在于:使用麻雀優化算法優化長短期記憶神經網絡的網絡超參數,解決LSTM神經網絡模型處理大樣本量數據時預測精度低的問題。此外,利用Petri網理論構建了工藝過程之間的耦合模型,實現了對攻擊發生點的準確定位,不僅提升了LSTM神經網絡在大樣本數據中的預測性能,還為工業網絡安全研究提供了一種可行的攻擊定位手段。
1" 麻雀優化算法
麻雀優化算法(Sparrow Search Algorithm, SSA)受自然界中麻雀捕食和應對危險的反捕食行為所啟發[15]。麻雀群體通常由三種角色組成:發現者、追隨者和警戒者。發現者負責尋找食物,為整個麻雀群體提供食物的位置信息;追隨者則依賴發現者提供的食物位置信息來獲取食物,并持續監視發現者以爭奪食物;在麻雀尋食過程中,一旦警戒者察覺到危險,便會向麻雀群體發出警報,觸發群體立即采取避險措施[16]。
1.1" 發現者的位置更新公式
[Xt+1id=Xtid?exp-iαT," " "R2lt;STXtid+Γ?L," " " " " " "R2≥ST] (1)
式中:[Xtid]表示種群第[t]代中第[i]只麻雀在第[d]維的位置;[T]為最大迭代次數;[α]為(0,1]之間的隨機數;[Γ]為服從標準正態分布的隨機數;[L]表示大小為[1×d]維、元素均為1的矩陣;[R2∈0,1]和[ST∈0.5,1]分別表示預警值和安全值。當[R2≥ST]時,表明警戒者已發現危險,此時種群迅速做出反應,飛向安全區域;而當[R2lt;ST]時,表明當前環境不存在危險,發現者可以進行大范圍的搜索操作,增加發現更多食物的概率。
1.2" 追隨者位置更新公式
[Xt+1id=Γ?expXtwd-Xtdi2," " " " " " " "igt;n2Xt+1pd+Xtid-Xt+1pdA+?L," "otherwise] (2)
式中:[Xtwd]表示第[t]次迭代時麻雀在第[d]維的最劣位置;[Xt+1pd]表示第[t+1]次迭代時麻雀的最優位置;[A]表示各元素為1或-1的[1×d]維矩陣,且[A+=ATAAT-1]。當[igt;n2]時,表明該追隨者處于饑餓狀態,將采取飛往其他位置尋找食物的策略;反之,若追隨者認為自身位于當前最佳位置附近,將在最佳位置周邊隨機尋找食物。
1.3" 警戒者的位置更新公式
[Xt+1id=Xtbd+βXtid-Xtbd," " " " " " " fi≠fgXtid+KXtid-Xtwdfi-fw+δ," " " " fi=fg] (3)
式中:[Xtbd]是當前的全局最優位置;[β]表示步長控制參數;[δ]是方差為1的正態分布的隨機數;[K]是[-1~1]之間的一個隨機數,代表麻雀移動方向,同時也是步長控制參數;[fi]表示第[i]只麻雀的適應度值;[fg]和[fw]分別是當前麻雀種群的最優和最差適應度值。當[fi≠fg]說明麻雀正處于種群邊緣,應當向種群中心移動;當[fi=fg]說明位于最優位置的麻雀察覺到危險,它會采取行動,遷移到更加安全的位置。這個行為是為了確保麻雀的安全并避免潛在的威脅。
2nbsp; LSTM模型
循環神經網絡(Recurrent Neural Network, RNN)由多個鏈式連接的循環單元構成。圖1所示為RNN循環神經網絡中的重復單元結構圖,圖2所示為RNN循環神經網絡基本結構。其中,[xt]表示第[t]時刻的輸入;[st]表示第[t]時刻的記憶,為模型隱藏層的狀態;[ot]表示第[t]時刻的輸出。
[st]計算公式為:
[st=fUxt+Wst-1] (4)
[ot]計算公式為:
[ot=gVst] (5)
式中:[U]表示輸入層到隱藏層的權重矩陣;[W]表示隱藏層上一次的值作為這一次輸入的權重矩陣;[V]表示隱藏層到輸出層的權重矩陣。相比一般的神經網絡來說,RNN能夠處理序列變化的數據。但是人們在長期的實踐中發現,傳統的RNN難以實現信息的長期保存,而且存在梯度消失和梯度爆炸的問題[17]。
長短期記憶神經網絡是遞歸神經網絡(RNN)的一種改進版本,其核心特點在于:將RNN中單一的雙曲正切激活層的重復單元替換為包含4個交互性層的重復單元。這一改進旨在克服傳統RNN在處理長序列數據時所遇到的梯度消失和梯度爆炸問題。LSTM通過引入“門”機制來有效保護和控制細胞狀態,從而實現信息的長期記憶。每個LSTM單元內部都包含三種關鍵門控制器:輸入門(input gate)、輸出門(output gate)以及遺忘門(forget gate),這些門控制器的作用是管理隱藏層之間的信息接收和傳遞過程[18]。圖3為LSTM神經網絡重復單元結構圖,圖4為LSTM神經網絡的基本結構。
[xt]作為LSTM網絡的輸入,輸入到遺忘門中計算輸入信息的保留比重。利用Sigmoid激活函數得到遺忘門的輸出[ft],公式如下:
[ft=σWf?ht-1,xt+bf] (6)
式中:[Wf]和[bf]分別為遺忘門的權重系數矩陣和偏置項;[σ]表示Sigmoid激活函數。
遺忘后的新信息輸入到輸入門進行更新,更新程度由Sigmoid激活函數和[tanh]激活函數共同決定,其中Sigmoid層計算的新信息為[it],[tanh]層計算的新信息為[ct]。[it]、[ct]公式為:
[it=σWi?ht-1,xt+bi] (7)
[ct=tanhWc?ht-1,xt+bc] (8)
式中:[Wi]和[bi]分別為Sigmoid層的權重系數矩陣和偏置項;[Wc]和[bc]分別為[tanh]層的權重系數矩陣和偏置項;[tanh]表示雙曲正切函數。
將遺忘門和輸入門的值進行合并,更新細胞狀態[Ct],公式為:
[Ct=ft?Ct-1+it?ct] (9)
信息傳向輸出門,經過Sigmoid函數和[tanh]函數共同計算生成[ht],即為網絡預測的輸出,具體公式如下:
[ot=σWo?ht-1,xt+bo] (10)
[ht=ot?tanhCt] (11)
式中:[ot]為輸出門的輸出;[Wo]和[bo]分別為輸出門的權重系數矩陣和偏置項。
3" SWAT數據集
SWAT是由新加坡科技設計大學建立的一個根據真實工業水處理廠縮小的六階段水處理系統[19],其通過加入化學試劑、超濾和反滲透等處理實現水的凈化。整個水處理系統通過PLC監控傳感器信息,PLC上層為HMI和SCADA等,使用歷史站記錄數據信息。SWAT的不同生產過程由不同的PLC控制,傳感器、制動器和PLC之間通過有線以太網通信,通信協議為ModBus/TCP、CIP。SWAT水處理平臺是多階段、多點位的實驗平臺,其工作流程如圖5所示,由多個PLC協同工作。SWAT的處理過程為:吸入原水(P1);加入化學物質進行預處理(P2);對預處理的水進行超濾處理(P3);進行紫外線除氯(P4);對水進行反滲透(P5);合格的水進行儲存,不合格的水泵入到反洗裝置中(P6)。SWAT數據集包括7天正常運行的數據和4天攻擊36次的數據,攻擊分為單階段單點攻擊、單階段多點攻擊、多階段單點攻擊和多階段多點攻擊[20]。
4" SSA?LSTM模型
SSA?LSTM的算法流程如圖6所示。本文所用的LSTM網絡含有兩個隱藏層,LSTM網絡的學習率、迭代次數、隱藏層的節點個數由SSA麻雀優化算法對數據集搜索而來。首先使用SSA對數據集進行搜索,使用均方誤差(MSE)作為適應度函數,通過多次實驗確定神經網絡初始權重的搜索空間;再進行迭代搜索,找到LSTM網絡的3個超參數的最優組合;最后將4個超參數輸入到LSTM網絡中進行訓練,使用平均絕對百分比誤差(MAPE)、均方根誤差(RMSE)、平均絕對誤差(MAE)、決定性系數(R2)作為判斷模型精度的指標。由圖7和圖8所示的適應度、損失函數曲線可知,本文提出的SSA?LSTM模型具有收斂快的特點。使用正常數據進行預測,并將SSA?LSTM模型與LSTM神經網絡和MLP多層感知器的模型精度進行對比,結果如圖9、表1所示。
由圖9和表1可知,SSA?LATM模型精度高于另外兩個對比模型,說明本文模型具有良好的預測準確性。再將異常數據輸入到SSA?LSTM模型中,獲得預測數據和真實數據,通過多次實驗確定每個特征的3倍均方差為閾值,將預測數據與真實數據作差,超出閾值的點即為異常點,圖9中各個峰值位置即攻擊發生的時間點。
5" 實驗及結果分析
5.1" 實驗結果
本文將整個正常數據集的51維數據作為網絡的輸入,將其中某一維數據作為網絡的輸出,構成多輸入單輸出的網絡結構。由于整體水處理平臺需要一個啟動時間進入正常的生產過程,所以取T1水箱第一次達到峰值以后的數據作為實驗數據。
在實驗中,每個傳感器和制動器的數字量都作為訓練模型的特征,將所有特征歸一化后輸入到模型中,避免了不同取值范圍的特征互相影響。將正常數據集的80%用于訓練,20%用于驗證。本文實驗共檢測出270次攻擊,且能夠將13次有實際影響的攻擊全部檢測出,整體誤報率僅為0.02%。圖10是部分實驗結果。
5.2" 攻擊定位
以圖11中LIT101的實驗結果為例。
攻擊事件A:從2015?12?28T14:18:42—14:28:02,將FIT401的值設置為0,導致沒有水流向UV401,進而導致UV401關閉,整個紫外線除氯裝置停止工作。整體水處理進度變慢甚至停止,導致T1水箱的水消耗速率變慢,所以LIT101顯示數據異常。
攻擊事件B:從2015?12?29T18:15:23—18:21:54,將AIT504設置為255 μS/cm,導致水處理速率變慢,所以LIT101顯示數據異常。
攻擊事件C:從2015?12?29T10:54:54—23:02:41,關閉UV401。關閉了P501導致沒有水泵入RO反滲透裝置,此攻擊影響了除氯階段和反滲透階段,大大降低了水處理速率,因此T1水箱的水消耗變慢,LIT101顯示數據異常。
攻擊事件D:從2015?12?31T01:48:34—11:15:27,關閉了P302導致經過UF超濾的水無法進入到T4水箱,因此整個后續的水處理階段無法進行,導致T1水箱的消耗速率變慢,LIT101顯示異常。
攻擊事件E:從2015?12?31T15:47:03—16:06:24,將LIT101的值設置為700 mm。令P101保持開啟狀態,MV201保持開啟狀態,即向T3水箱供水。然后MV101認為LIT101仍為700 mm,不開啟供水開關,導致T1水箱觸底。
攻擊事件F:從2016?01?01T14:22:04—14:29:14,把LIT101的值設置為801 mm,即處于即將溢出狀態,所以LIT101顯示數據異常。
攻擊事件G:從2016?01?01T22:17:06—22:25:42,將LIT101的值設置為244 mm,小于最低液位,所以LIT101顯示數據異常。
攻擊事件H:從2016?01?12T11:17:47—11:25:26,攻擊了P501這個向RO反滲透裝置供水的泵,但是并沒能完全關閉P501,使得P501的轉速從10 Hz增加到了28.50 Hz,此時AIT502的值降到了0.8,說明確實降低了水處理的產量,整體水處理速率變慢,導致TI水箱的水消耗率變低,LIT101顯示數據異常。
攻擊事件I:從2016?01?02T11:52:20—11:57:15,將FIT401設置為0,導致UV401關閉,待處理水直接流向RO反滲透裝置,加快了水的消耗速率,導致LIT101顯示數據異常。
5.3" 耦合關系建模
Petri網是用令牌流動的方式描述異步、并發的計算機系統模型。Petri網是一種圖論模型,適合對離散事件進行動態系統建模。Petri網由庫所(place)、變遷(transition)、有向弧(connection)和托肯(token)四個元素構成,圖12為水處理系統的Petri網建模圖。表2為Petri網中的元素含義。[pi,j=1]即為[pi]與[pj]之間有耦合性。[p1]、[p3]、[p5]為T101、T301、T401水箱。水箱液位的高低給系統帶來的影響是不同的,[pi,j=-1]即為水箱液位過低會對相應的[pj]造成影響;[pi,j=1]則為液位過高會對相應的[pj]造成影響,可建立如表3所示的因果矩陣。
根據表3中的因果矩陣,可以找出任意兩個狀態的耦合關系。
圖13表示攻擊事件A的因果關系,根據因果矩陣可知[p6]和[p1]之間存在耦合關系,即攻擊[p6]會給[p1]帶來影響。
圖14表示攻擊事件H的因果關系,根據因果矩陣可知[p8]和[p1]之間存在耦合關系,即攻擊[p8]會給[p1]帶來影響。
6" 結" 論
本文針對流程工業生產中入侵檢測問題,提出了一種基于麻雀優化算法的長短期記憶神經網絡模型,實現了對工藝數據的異常檢測;并利用Petri網理論建立了一種因果關系模型來實現攻擊定位。為了驗證該方法的有效性,以SWAT水處理平臺為例對模型進行仿真。仿真結果證明,SSA?LSTM有極強的入侵檢測能力,能夠將13次造成實際影響的入侵全部檢測出來。模型精度對比結果表明,SSA?LSTM模型精度優于簡單LSTM神經網絡和MLP神經網絡。所建立的因果關系矩陣也證明了各個處理過程的耦合關系。本文方法可迅速定位攻擊點,為工業入侵檢測提供了新的檢測方案。
參考文獻
[1] 李欣格,胡曉婭,周純杰,等.面向工業控制系統全生命周期的脆弱性多維協同分析[J].控制與決策,2022,37(11):2827?2838.
[2] 劉歡,肖蔚,趙長明.基于融合機器學習算法的網絡入侵檢測與定位技術[J].現代電子技術,2023,46(12):182?186.
[3] FENG C, LI T, CHANA D. Multi?level anomaly detection in industrial control systems via package signatures and LSTM networks [C]// 2017 47th Annual IEEE/IFIP International Conference on Dependable Systems and Networks (DSN). Denver, CO, USA: IEEE, 2017: 261?272.
[4] 張戰勝,馬亮.基于彈性搜索的網絡入侵數據防御控制系統[J].現代電子技術,2021,44(23):57?61.
[5] 高冰,顧兆軍,周景賢,等.面向ICS不平衡數據的重疊區混合采樣方法[J].計算機工程與應用,2023,59(19):305?315.
[6] 呂雪峰,謝耀濱.一種基于狀態遷移圖的工業控制系統異常檢測方法[J].自動化學報,2018,44(9):1662?1671.
[7] 安全內參.網絡攻擊迫使伊朗重要鋼鐵公司停產[EB/OL].[2022?06?28].https://www.secrss.com/articles/44055.
[8] 商富博,韓忠華,林碩,等.基于DSCNN?BiLSTM的入侵檢測方法[J].科學技術與工程,2021,21(8):3214?3222.
[9] 林碩,商富博,高治軍,等.基于深度學習的入侵檢測模型[J].控制工程,2021,28(9):1873?1878.
[10] 趙寧.基于神經網絡的三相整流電路故障診斷策略研究[J].國外電子測量技術,2021,40(3):88?93.
[11] 張云貴,趙華,王麗娜.基于工業控制模型的非參數CUSUM入侵檢測方法[J].東南大學學報(自然科學版),2012,42(z1):55?59.
[12] 敖建松,尚文利,趙劍明,等.基于ARIMA預測修正的工控系統態勢理解算法[J].計算機應用研究,2020,37(9):2772?2775.
[13] ALIMI O A, OUAHADA K, ABU?MAHFOUZ A M. Real time security assessment of the power system using a hybrid support vector machine and multilayer perceptron neural network algorithms [J]. Sustainability, 2019, 11(13): 3586.
[14] GOH J, ADEPU S, TAN M, et al. Anomaly detection in cyber physical systems using recurrent neural networks [C]// 2017 IEEE 18th International Symposium on High Assurance Systems Engineering (HASE). [S.l.]: IEEE, 2017: 140?145.
[15] 唐宇,代琪,楊夢園,等.改進麻雀搜索算法優化SVM的異常點檢測[J].計算機工程與科學,2023,45(2):346?354.
[16] 于軍琪,薛志璐,趙安軍,等.基于多策略改進麻雀搜索算法的并聯冷機系統節能優化[J].控制與決策,2024,39(6):1810?1818.
[17] 張瑞成,劉力菲,梁衛征.基于SSAE?LSTM模型的冷連軋機扭振預測[J].鍛壓技術,2023,48(4):193?198.
[18] 鄭宏,劉立群.基于LSTM與XGBoost組合模型電價預測[J].太原科技大學學報,2023,44(2):131?136.
[19] MATHUR A P, TIPPENHAUER N O. SWaT: a water treatment testbed for research and training on ICS security [C]// 2016 International Workshop on Cyber?Physical Systems for Smart Water Networks. Vienna, Austria: IEEE, 2016: 31?36.
[20] ADEPU S, MATHUR A. An investigation into the response of a water treatment system to cyber attacks [C]// 2016 IEEE 17th International Symposium on High Assurance Systems Engineering (HASE). Orlando, FL, USA: IEEE, 2016: 141?148.
[21] 唐鵬,彭開香,董潔.一種新穎的深度因果圖建模及其故障診斷方法[J].自動化學報,2022,48(6):1616?1624.