楊忠君,鄭志權,敖 然,王國剛,宗學軍,李鵬程
(1.沈陽化工大學 信息工程學院,遼寧 沈陽110142;2.遼寧省計量科學研究院,遼寧 沈陽110006)
隨著信息化時代的推進,智能信息化技術與各行業不斷交叉融合,在帶來便捷的同時危險也悄然來臨。以伊朗“震網”病毒事件為爆發點,多年來工控安全事件不斷出現[1],已經影響了國家基礎建設和民生安全,工業控制網絡安全問題已迫在眉睫[2]。
在工業控制網絡安全的研究中,入侵檢測技術一直是研究的熱點。入侵檢測的實現機制為根據正常操作行為與攻擊入侵行為的模式差別,提取可反映系統行為的深層特征,再通過設計的入侵檢測算法對系統行為進行判別分類[3]。領域內學者面向各種工控環境設計出各類檢測模型,極大地緩解了工控網絡的安全問題。Xue等人[4]設計了一種內部模塊為NBI-Net的CNN-SVM模型,分類準確率得到小幅度提升。宋宇等人[5]針對工控系統遭受的ARP攻擊設計了一種CNN與BiLSTM結合的混合檢測模型。Song等人[6]提出了一種深度卷積神經網絡檢測方法,通過提取數據的深層特征來提高模型的檢測效果。Gu等人[7]為了解決傳感器時延誤差提出了一種基于粒子群算法(PSO)優化SVM參數來提高檢測精度的方法。蘇明等人[8]提出了一種基于蟻群算法優化神經網絡參數的入侵檢測模型,檢測性能得到較高的提升。根據以上研究成果可知,多數檢測模型的設計核心是如何搭建高精度的分類模型結構,卻忽略了如何從原始數據中選取最為合適特征的問題。在入侵檢測過程中,針對不同的檢測模型和數據樣本選取合適的數據特征,會對最終分類的結果有直接影響,并且對數據特征進行約簡后將使得算法的計算量呈指數級減小,極大地縮短檢測時間。
基于以上成果分析,本文設計了一種利用麻雀優化算法尋優特征子集,并與非線性孿生支持向量機相結合的工控入侵檢測方法。通過結合混沌因子和動態權重來平衡算法的全局和局部搜索能力,同時在算法迭代過程中融合對位差分思想和柯西變異因子,對最優解進行擾動,極大程度上彌補了群智能算法易早熟、易陷入局部最優的缺點。本文提出的ISSA-TWSVM入侵檢測算法在工控標準入侵檢測數據集上與基本麻雀搜索算法和多種經典工控入侵檢測模型進行性能對比后,證明了本文算法具有優秀的檢測性能。
麻雀搜索算法(Sparrow Search Algorithm,SSA)[9]是受自然界麻雀種群的覓食行為的啟發而提出的,覓食過程中包含發現者與追隨者,并且還加入了危險情景下的種群反捕食機制,隨機抽取個體負責偵察警戒。當種群處于危險環境下受到天敵威脅時,則放棄當前覓食,迅速逃生保證自身安全。SSA算法中種群初始位置表示為:

其中d為待優化變量的維數,n為麻雀種群的數量。麻雀的適應度矩陣表示為:

式(2)表示個體的適應度值,在種群初始化后適應度值相對較好的麻雀個體作為發現者帶領種群向食物源方向趨近。覓食行為迭代過程中,發現者的位置更新公式如下:

其中,t為當前迭代次數,itermax為最大迭代次數,α∈Random(0,1],Q是 服 從[0,1]正 態 分 布 的 隨 機數,L為1×d的矩陣,R2∈[0,1]與ST∈[0.1,1.0]分別表示預警值和安全閾值。
追隨者的位置更新公式如下:

種群反捕食機制中,隨機從種群中抽取10%~20%的個體執行偵察警戒任務,其位置更新公式如下:

孿生支持向量機(Twin Support Vector Machine,TWSVM)作為傳統SVM的一種改進方法[10-11],分別構建正負兩個超平面進行數據分類,非常適合處理不平衡的近似類型數據樣本,并且容錯能力優秀,分類效率高。工控環境下的數據一般都呈現為非線性,因此選取非線性TWSVM為本文入侵檢測方法的分類器。
非線性TWSVM的具體實現形式為對式(6)和式(7)優化問題的求解:

其中K為映射核函數,ω1、ω2為超平面的法向量,b1、b2為超平面偏移向量,C1、C2為懲罰因子參數,e1、e2為 單 位 列 向 量,ξ1、ξ2為 松 弛 變 量。
對上述規劃問題求解,TWSVM的兩個超平面可以表示為:

因此對新樣本分類時,計算其對正負超平面的歐式距離,從而劃分判斷。超平面分類決策函數為:

考慮到工控數據的復雜非線性,TWSVM采用的核函數為混合核函數,由Gauss徑向基核函數和Sigmoid核函數組成,其數學表達為:

群智能優化算法領域內的學者研究發現,優化算法迭代初期,由于搜索視野有限,極易陷入局部優值空間[12]。作為群智能優化算法的SSA同樣有易陷入局部最優的缺點。對于此問題的解決,本文的ISSA在種群初始化和算法迭代過程中都進行了改進。
在種群初始化時,為了擴大搜索視野,引入具有隨機性和規律性特點的立方映射混沌算子,映射公式如下:

初始化的麻雀種群由n個d維麻雀個體組成,立方映射初始化的具體實現為:隨機生成一個每維變量都處于[-1,1]的d維個體作為起始個體,然后利用式(11)對起始個體迭代得到其余的(n-1)個個體后,使用式(12)將產生的個體映射到麻雀初始種群完成初始化。

其中X′為麻雀個體經立方混沌映射后的初始化種群,y為立方映射向量。
在麻雀算法的發現者位置迭代公式中,考慮到上一代最優解對尋優的影響,引入了動態慣性因子ω動態調整權重系數,使得算法迭代更加貼合求解多維復雜問題中駝峰變化趨勢,并且強化了麻雀算法的全局搜索能力。改進后的發現者位置迭代公式如式(14)所示:

其中,r∈Random(0,1),Pi,j為上一代全局最優個體位置。
差分進化算法[13]是基于遺傳算法提出的,而對位差分進化算法[14-15]是差分進化算法的改進。對位差分進化通過對位公式得到對位個體后進行變異雜交操作,從而豐富種群多樣性。為了避免算法迭代末期種群多樣性降低而導致陷入局部優值空間的問題,本文將對位差分策略融合到SSA算法,在迭代過程中對當前最優解進行擾動,實現過程如下:
生成對位個體:

在變異操作中,變異算子選擇標準柯西分布函數,使得變異個體具有更廣的散布性,進一步豐富種群,公式實現如下:

選擇操作:

經對位差分進化后的變異個體位置并不一定就優于原最佳個體位置,因而此處本文采用貪婪判斷規則,比較二者適應度值,選取適應度值更大的個體位置,來確定更新最優個體位置,公式實現如下:

入侵檢測過程中,從原始數據中選取合適的特征是極為重要的環節。對于不同檢測分類模型而言,數據特征集合的選取會對檢測性能造成直接的影響。在本文提出的入侵檢測方法中,首先,采用ISSA算法對工控原始數據的最佳特征子集進行尋優,之后,根據最優特征子集約簡數據,最后,利用TWSVM分類器進行工控數據判別。本文模型的適應度函數f(x)為:

其中Acc為TWSVM分類器準確率,x為優化算法中選取的特征個數,allf為原始特征集中的所有特征個數。
本文提出的ISSA-TWSVM工控入侵檢測方法的具體實現步驟如下:
Start
(1)以專家標記的所有原始工控數據特征作為原始特征集合,對其進行歸一化操作,并采用二進制方式對全部特征個體進行編碼。
(2)初始化種群數量n、最大迭代次數itermax等算法參數,并利用式(12)立方混沌映射初始化種群。

(3)計算麻雀個體的適應度值,確定最優、最差適應度值及其位置。
(4)選取部分適應度值較優的麻雀個體作為發現者,并利用式(14)進行迭代。
(5)其余麻雀作為跟隨者,并利用式(4)進行迭代。
(6)隨機選取10%~20%麻雀個體作為警戒者,并利用式(5)進行迭代。
(7)迭代過程中利用式(17)對當前最優解變異擾動,生成適應度值更好的最優解個體。
(8)根據式(18)判斷是否更新最優個體位置。
};
(9)達到最大迭代次數后,選取種群最優個體。
(10)根據最優個體得到工控數據集的最優特征子集,并對原始工控數據樣本進行簡化。
(11)使用十折交叉驗證在TWSVM分類器上對樣本進行判別分類。
End
為驗證本文改進后的ISSA的優秀性能,以多種經典的群智能搜索算法進行仿真對比。對比算法包括粒子群算法(PSO)[16]、灰狼算法(GWO)[17]、飛蛾火焰算法(MFO)[18]以及基本麻雀算法(SSA)。對比實驗基于6個基準測試函數,其中包含單峰標準函數f1~f3和多峰標準函數f4~f6,維度都為30,并且種群數量設置為30,迭代次數都為500次,各自獨立運行50次。各優化搜索算法的具體參數設置如表1所示,6個基準測試函數的描述如表2所示。

表1 參數設置表

表2 基準測試函數表
由表3分析可知,本文提出的ISSA算法相較于其他經典算法,無論是在單峰標準函數還是多峰標準函數上求解得到的平均值都最為接近理論上的最優解。從多峰函數f4~f6所得的結果可以看出本文的ISSA算法均可以快速地跳出局部最優,求得全局最優解,證明本文在算法改進過程中融合變異擾動的有效性。在標準差方面,本文的ISSA的值最小,說明算法最為穩定,魯棒性最好。經以上分析說明本文的ISSA相較于其他算法可以更快地尋得最優解。

表3 各算法優化結果
圖1 (a)~(f)為各個尋優算法分別在6個基準測試函數上測試的收斂曲線。各個子圖中的橫坐標都代表算法迭代次數,縱坐標都代表適應度的log對數值。從圖1可以清楚地看出各個算法的收斂性能的好壞以及跳出局部最優的能力,得出本文的ISSA算法更快達到收斂拐點,曲線更光滑,證明了本文ISSA算法的性能要遠優于其他算法。

圖1 基準測試函數收斂曲線
本實驗運行環境平臺配置:計算機CPU為Intel?CroeTMi7-10700 CPU@2.90 GHz,內存為8 GB,NVIDIA GTX 1660 Ti GPU 6 GB,操作系統為Windows 10 64位操作系統。操作實驗基于Anaconda Navigator平臺下TensorFlow2.0開發框架實現。
為評估ISSA-TWSVM檢測方法在工控網絡入侵檢測上的性能,本文選取2014年MSU基礎設施保護中心建立的工控標準入侵檢測數據集,其原始數據是密西西比州立大學內部SCADA實驗室設計的天然氣管道系統收集的真實數據。數據集是SCADA系統隨著時間變化抓取的數據流量,包括35種攻擊方式,對應7種攻擊類型,26個原始數據特征,是評估工控入侵檢測的標準數據集。為了簡化實驗計算過程,選取10%數據集進行實驗,數據類型分布和原始特征如表4和表5所示。

表4 數據集類型分布

表5 原始數據特征
利用數據集中專家標記的26個原始數據特征組成原始特征集合,進行歸一化處理后作為ISSATWSVM算法的輸入。為了讓實驗數據集更貼合實際工控網絡環境的流量分布情況,本文使用SMOTE算法[19]對數據集的Normal數據過采樣,并對各類攻擊數據進行隨機均比抽取組成異常數據,重新構造的實驗數據分布如表6所示。

表6 重構數據集數據分布
為了更為直觀地與其他入侵檢測模型的檢測性能進行對比,本文選取評價指標主要有準確率(Accuracy,Acc)以及算法執行時間t。準確率計算公式如下:其中,TP為正確識別的正常數據數量;TN為正確識別的異常數據數量;FP為未正確識別的異常數據數量;FN為未正確識別的正常數據數量。

利用基本SSA算法與本文提出的ISSA算法對工控數據的最優特征子集進行尋優,使用TWSVM作為分類器,算法中的適應度函數都設定為式(19),最終通過最佳適應度個體選取出最優特征子集。實現結果如圖2所示。使用SSA算法與ISSA算法對最優特征尋優過程中,隨著特征數量的增加,訓練所需用時和分類的準確度也隨之增加,二者最終都在特征數量為10時達到收斂。對比于基本SSA算法,本文ISSA算法的搜索時間僅為其一半,且在搜索過程中可以看到并未出現陷入局部優值空間的狀況,證明了ISSA算法的尋優能力要優于基本SSA算法。
在數據特征選取實驗中選取的最佳特征子集如表7所示。

表7 最佳特征子集
為了說明ISSA-TWSVM進行最佳特征子集尋優后的工控網絡入侵的檢測結果,實驗采用十折交叉驗證并對各個模型進行30次迭代。選取了基本SSA-TWSVM算 法、SVM算 法[20]、CNN算 法[21]、LSTM算法[22]作為實驗對照,各算法實驗結果如表8所示。

表8 各算法實驗對照
根據表8可知,在準確率上,本文算法分別優于SVM、CNN、LSTM此 類 經 典 檢 測 模 型9.26%、4.73%、5.59%,不僅如此,相比于利用基本SSA算法選取特征子集的SSA-TWSVM算法同樣要高出2.71%。在執行時間方面,可以看出本文算法遙遙領先,快于SSA-TWSVM算法132.33 ms。由此說明,本文利用ISSA智能優化算法選取最佳數據特征子集后,可使工控入侵檢測的檢測效率得到大幅度的提升,所以本文提出的ISSA-TWSVM檢測方法有著很好的收斂性和檢測性能。
針對復雜多樣的工控入侵數據中的最優特征選擇問題,本文提出了一種結合改進麻雀算法和非線性孿生支持向量機的工控入侵檢測方法。經本文改進后的ISSA全局和局部搜索能力都得到大幅度提高,將其與TWSVM分類器結合,對工控入侵數據進行檢測識別,實驗結果證明本文改進的ISSA具有優秀的檢測性能且ISSA-TWSVM算法在工控入侵檢測中可達到理想效果。