耿志強,曾榮甫,徐圓,韓永明,顧祥柏,3
(1 北京化工大學信息科學與技術學院,北京100029; 2 智能過程系統工程教育部工程研究中心,北京100029;3 中石化煉化工程(集團)股份有限公司,北京100029)
近幾年來,信息化浪潮席卷全球,信息通信技術與制造技術兩方面交叉融合。在工業方面,隨著信息化和工業化的融合互補,工業控制系統逐漸地使用標準化的網絡協議和公開化的應用軟件,這給了不法分子可乘之機,也為入侵檢測和故障診斷帶來了新挑戰[1-4]。以伊朗爆發的“震網(Stuxnet)”病毒為例,各國或多或少地出現了工業控制系統遭到破壞的情況[5-6];因而入侵檢測技術開始成為工控信息安全防護技術的重要構成之一,為國內外研究人員所重視[7]。在對入侵進行檢測的過程中,檢測算法往往要面對體量大、維度高的數據集,因而檢測出不正常數據的過程往往伴隨著較大的計算復雜度,并需要較大的硬件容量[8]。然而并不是所有數據特征對檢測都是有幫助的,因此對數據特征進行選擇是一種提高檢測效率的有效方法[9-11]。優化算法常被用于解決特征選擇問題。常用的優化算法有遺傳(genetic algorithm, GA)算法[12-13]、二進制粒子群優化(binary particle swarm optimization, BPSO)算 法[14]、蟻群優化(ant colony optimization, ACO)算法[15]、飛蛾撲火優化(moth-flame optimization, MFO)算法[16]等。但這些算法在特征選取中隨機性較大或者容易陷入局部最優[17]。
灰狼優化(grey wolf optimization,GWO)算法是由Mirjalili 等[18]在2014 年提出的一種元啟發式生物智能算法,通過模擬狼群捕食機制對最優值進行求解。在實際應用中,由于尋優種群的各個候選解是根據3 匹頭狼的位置進行確定,所以會出現陷入局部最優的情況。為解決這個問題,Zhou 等[19]使用差分進化算法對GWO 算法的種群進行初始化,通過增強初始種群多樣性來加強算法的局部搜索能力。Li等[20]通過融合非線性收斂因子和自適應位置更新策略,對GWO 算法的位置更新過程進行優化,擴大了GWO 算法的搜索范圍。Wu等[21]引進了精英對抗學習策略來避免GWO 算法的過早收斂,使GWO 算法的性能得到了提升,這些方法在實際應用中還是有點不足。
因而,本文提出了一種融合隨機黑洞策略的灰狼優化(grey wolf optimization integrated random black hole, RBHGWO)算法,通過隨機黑洞策略對種群的候選解的擾動,使灰狼優化算法跳出局部最優解的能力得到加強。然后通過標準測試函數驗證,與粒子群優化(particle swarm optimization, PSO)算法、隨機黑洞粒子群優化(particle swarm optimization integrated random black hole,RBHPSO)算法、GWO 算法和優勝劣汰的灰狼優化(survival of fitness grey wolf optimization, SFGWO)算法對比,收斂速度較快和尋優精度較好。算法應用于工控系統入侵檢測過程中,通過對檢測數據特征的優化選擇,以提高工控系統入侵檢測的效率。
2008 年,Zhang 等[22]基于黑洞模型提出了隨機黑洞(random black hole,RBH)策略,并將其應用于粒子群優化算法,使其得到了更好的優化效果。RBH策略模擬自然界的黑洞對周圍物質的吸引過程,依據自然界的黑洞模型,種群中的粒子有可能會被黑洞吸引,同時也具備一定的概率從黑洞中逃逸;在搜索種群中,將當前全局最優粒子周圍的一個粒子當作黑洞,其他粒子則被當作相對應的星體,這些粒子的適應度被視為相對應的引力。黑洞模型如圖1所示。

圖1 隨機黑洞模型Fig.1 Random black hole model
其中,r 為黑洞的半徑;X(t)為當前搜索粒子;X(t+1)為下一代搜索粒子;XgB為當前全局最優粒子;l為區間[0,1]的隨機數;s為粒子距離黑洞的距離;p為人為設置的區間[0,1]的常數閾值,表示黑洞吸引X(t+1)的概率,通常設置為0.1 或0.3 能夠得到較好的結果[22]。在每一次的迭代過程中,以XgB作為中心形成黑洞,如果l≤p,則該粒子被黑洞吸引,反之則按照原來的方式進行更新。當粒子被黑洞吸引時,位置更新公式如下

其中,X(t+1)為更新后的粒子位置向量;Xbest為當前全局最優粒子位置向量;r1為一個[0,1]的隨機數,用于控制更新粒子的位置。
GWO 算法模擬了自然界里灰狼種群面對獵物時的捕獵機制和領導等級制。在一個灰狼種群中,根據嚴格的等級制度將灰狼種群分為4部分:α、β、δ和γ。同時,整個灰狼種群狩獵過程分為3 個階段:搜尋獵物、圍捕獵物和攻擊獵物。
在灰狼種群的狩獵過程中,根據上述等級制度建立對應的算法數學模型,選定α狼為狼群最優解,β 狼和δ 狼分別為次優解和季優解,而γ 狼設定為灰狼種群的候選解。在表現最好的3 匹狼α、β 和δ(通常稱為頭狼)的領導下,候選解γ 狼向最優區域逼近并搜索最優解。每輪迭代中,不斷通過α、β 和δ 這3個解來更新候選解γ 的位置,從而預測最優解可能存在的位置。搜索獵物過程中,灰狼種群追逐位置更新如下

其中,Xp表示當前獵物的位置向量;X 表示灰狼的位置向量;A 是隨著系數a 變化的隨機變量,用于控制灰狼種群的擴大與縮??;C 表示更新位置時對獵物(最優解)預測位置的擾動系數,表達公式如下

其中,r2和r3是在[0,1]范圍內的隨機數;系數a是在[0,2]范圍內隨著迭代次數增加而線性遞減的控制系數;l 為當前迭代次數;maxiter 為最大迭代次數。
在GWO 算法開始階段,以式(2)~式(5)為基礎,首先對3 匹頭狼的位置進行更新。3 匹頭狼的位置在算法模型中被視為當前最有可能成為獵物位置,也就是狼群搜索中的最好解。每次迭代過程中,通過更新3 匹頭狼的位置,并求解3 匹頭狼與剩下的γ狼之間的相對距離,對剩下的γ狼的位置進行調整。相對位置的求解公式如下

其中,Xα、Xβ和Xδ分別是指3 匹頭狼當前的位置;dα、dβ和dδ分別是通過求解得到的當前γ 狼(當前解)位置向3 匹頭狼(當前最好解)位置趨近的近似距離。通過該距離可以進一步得到當前解更新后的位置,求解公式如下

其中,t 為當前迭代次數。式(12)通過當前表現最好的3 匹頭狼所在的位置來估計獵物所在的區域,即在算法模型中通過當前的3 個最好解的值來預測最優解的值。和其他元啟發式生物智能算法相比,3 匹頭狼的綜合考慮要比單個粒子的估計要好,這在很大程度上有效地降低了種群在前期陷入局部極值的可能性。
特征選擇是為了盡可能減少冗余特征和噪音對結果的影響,從而達到既提升算法的速度又提升算法的準確率的目的。傳統方法通常直接使用準確率accuracy 作為適應度值,這缺乏對特征個數的探究。當使用優化算法對特征進行選擇時,有可能出現由于函數維度的原因,只出現個位數甚至只有一個特征的結果;這種結果在進行入侵檢測的仿真實驗中,顯然是不符合實際的。本文第二部分實驗使用文獻[23]的方法構造了一個適應度函數,同時反映特征個數和準確率之間的關系,具體公式如下

其中,fitness 表示適應度函數的結果,λ 表示分類算法使用的特征個數。
RBHGWO算法的流程描述如下。
(1)初始化灰狼種群。根據式(4)、式(5)初始化系數向量a、A和C,隨機生成灰狼種群位置。
(2)計算種群的適應度值,選擇當前適應度值相對較小的3匹狼作為α、β和δ狼。
(3)融合RBH策略更新狼群位置。使用式(6)~式(11)計算各參數的值,根據計算得到進入隨機黑洞的概率,通過式(1)或式(12)更新γ狼的位置。
(4)更新GWO算法的參數系數向量a、A和C。
(5)判斷算法是否達到迭代終止條件。如果達到終止條件,結束搜索并將α狼作為最優解輸出;反之返回步驟(2)繼續搜索。
為驗證本文提出的RBHGWO 算法的優化性能,首先選擇了6個經典的單多峰測試函數,對該算法進行測試實驗并將實驗結果和PSO 算法、RBHPSO 算 法、GWO 算 法 和SFGWO 算 法 相 比 較。表1 列出了用于實驗的測試函數,f1、f2和f3是單峰標準測試函數,f4、f5、f6是多峰標準測試函數。

表1 測試函數參數表Table 1 Test function parameter table
用于實驗的5種智能種群優化算法的初始種群數量均為30,測試函數的維度均為30,PSO 算法的參數參考文獻[24]。表2 列出了用于仿真實驗各算法的參數設置,其中SFGWO 算法狼群優劣的邊界Bound=0.618;本文提出的RBHGWO 算法的黑洞吸引概率p=0.1,黑洞半徑R=0.01。
依照上述初始條件對6種測試函數進行仿真實驗,5 種優化算法互不干擾地迭代500 次,實驗結果如圖2 所示。從圖2 可以看出,與PSO、RBHPSO、GWO 和SFGWO 算法相比,本文提出的RBHGWO 算法能夠達到最優的迭代精度,并表現出了更快的收斂速度。其中在多峰二次的Rastrigin函數和具有大量局部最優值的多峰Griewank 函數測試中,RBHGWO 算法分別在200代和130代左右便收斂到實際最優值,體現了其優越性。

表2 算法參數表Table 2 Algorithm parameter table
為得到更加易于對比的數值結果,將上述實驗重復進行30次,對實驗結果求平均值和標準差。表3 和表4 分別展示了5 種優化算法迭代結果的平均值和標準差。從表中實驗結果可以看出,本文提出的RBHGWO 算法可以使測試函數尋優的精度提高。在測試函數維度為30 的前提下,對f1函數的測試平均值要優于GWO 算法26 個數量級,對f2函數的測試平均值要優于GWO算法14個數量級,對f6函數的測試平均值要優于GWO 算法3 個數量級。尤其在對多峰函數f4和f6的實驗中,RBHGWO 算法的結果很快收斂于0。實驗結果說明,本文提出的RBHGWO 算法有著較好的收斂精度和穩定性,并且具有跳出局部最優解的能力。
田納西-伊斯曼(Tennessee-Eastman,TE)過程由Downs等[25]在1993年提出并創建。其原型為一個真實的化工流程,過程中的主要部件包括分析器、反應器、冷凝器、汽提塔、壓縮機和氣液分離器等。各個部件之間的反應和協同工作包含12個操縱變量,并產生41 個測量變量,這也導致TE 過程是一個多變量,數據維度高的復雜控制系統。本實驗使用的是由Ricker 提出的MATLAB 仿真模型[26],控制策略按照文獻[27]的描述進行。仿真數據由SIMULINK模塊產生,仿真時間設為50 h,每小時產生100 組數據,共5000 組數據。TE 過程具體的工藝流程如圖3所示。

表3 實驗結果平均值Table 3 Average of experimental results

圖2 優化函數迭代結果Fig.2 Iterative results of optimization algorithm

表4 實驗結果標準差Table 4 Standard deviation of experimental results

圖3 TE過程工藝流程圖Fig.3 TE process flow chart
本文實驗使用的隱蔽攻擊方式來自文獻[28]使用的隱蔽攻擊模型,如

其中,c 為常數,說明偏置注入的程度;si(t)為t時間段的狀態,類型為偏置注入的隱蔽攻擊模型在SIMULINK 中實現。為了模擬隱蔽攻擊,在反應器溫度控制回路中添加了一個時間設置為20 h 的延時模塊,并選用c=1 時的反應器溫度變化作為測試數據。在運行到20 h 時,反應器遭到了來自偏置注入信號的攻擊,溫度從123℃左右突然降至122℃左右,隨后穩定在122℃左右繼續進行反應,變化過程如圖4 所示。模擬上述偏置注入攻擊后,隨著反應器溫度的變化,其他測量變量也隨之變化,由此得到了對應的仿真實驗數據集。

圖4 反應器溫度變化的過程Fig.4 Process of reactor temperature change
用于仿真實驗的各優化算法參數設置見表2,5種智能種群優化算法的初始種群數量均為10,互不干擾地迭代50 次。實驗選用了常用的機器學習算法作為檢測異常的分類器:KNN[29]、NBC[30]和DT[31],表5~表7 分別記錄著5 種優化算法對3 種分類器進行特征選擇后的實驗結果,仿真實驗進行的次數為20次。

表5 KNN分類器的實驗結果Table 5 Experimental results of KNN classifier

表6 NBC分類器的實驗結果Table 6 Experimental results of NBC classifier

表7 DT分類器的實驗結果Table 7 Experimental results of DT classifier
本文第一部分實驗使用PSO、RBHPSO、GWO、SFGWO、RBHGWO 共5 種優化算法,通過對6 種測試函數進行測試。實驗結果表明,本文提出RBHGWO 算法在保持GWO 算法較快的收斂速度的同時,又能跳出局部最優解的陷阱,具有較好的收斂精度和全局搜索能力。
第二部分實驗使用上述5 種優化算法,分別采用KNN、NBC、DT三種分類器,利用模擬隱蔽攻擊的入侵檢測數據集進行仿真實驗。實驗證明了RBHGWO 算法相對于傳統的PSO 算法,能夠大幅度縮短運行時間。而對于GWO 算法而言,在采用DT 分類器進行實驗時,雖然RBHGWO 算法的運行時間略長于GWO 算法,但求解效果卻要好于GWO算法,因而,改進算法具有較好的收斂精度和穩定性。
文本提出了一種融合隨機黑洞策略的灰狼優化算法,通過隨機黑洞策略對每一次種群位置更新進行擾動,增強了迭代過程中的種群多樣性,彌補了GWO 算法在迭代過程中缺乏全局搜索能力、易早熟而收斂于局部最優解的缺點。結合工控系統入侵檢測的仿真實驗,實驗結果也表明RBHGWO算法在收斂精度、穩定性和運行效率上具有較好的效果。因此本文提出的RBHGWO 算法在工控系統入侵檢測中具有較好的實用性和有效性。