楊忠君,鄭志權(quán),敖 然,王國(guó)剛,宗學(xué)軍,李鵬程
(1.沈陽(yáng)化工大學(xué) 信息工程學(xué)院,遼寧 沈陽(yáng)110142;2.遼寧省計(jì)量科學(xué)研究院,遼寧 沈陽(yáng)110006)
隨著信息化時(shí)代的推進(jìn),智能信息化技術(shù)與各行業(yè)不斷交叉融合,在帶來(lái)便捷的同時(shí)危險(xiǎn)也悄然來(lái)臨。以伊朗“震網(wǎng)”病毒事件為爆發(fā)點(diǎn),多年來(lái)工控安全事件不斷出現(xiàn)[1],已經(jīng)影響了國(guó)家基礎(chǔ)建設(shè)和民生安全,工業(yè)控制網(wǎng)絡(luò)安全問(wèn)題已迫在眉睫[2]。
在工業(yè)控制網(wǎng)絡(luò)安全的研究中,入侵檢測(cè)技術(shù)一直是研究的熱點(diǎn)。入侵檢測(cè)的實(shí)現(xiàn)機(jī)制為根據(jù)正常操作行為與攻擊入侵行為的模式差別,提取可反映系統(tǒng)行為的深層特征,再通過(guò)設(shè)計(jì)的入侵檢測(cè)算法對(duì)系統(tǒng)行為進(jìn)行判別分類(lèi)[3]。領(lǐng)域內(nèi)學(xué)者面向各種工控環(huán)境設(shè)計(jì)出各類(lèi)檢測(cè)模型,極大地緩解了工控網(wǎng)絡(luò)的安全問(wèn)題。Xue等人[4]設(shè)計(jì)了一種內(nèi)部模塊為NBI-Net的CNN-SVM模型,分類(lèi)準(zhǔn)確率得到小幅度提升。宋宇等人[5]針對(duì)工控系統(tǒng)遭受的ARP攻擊設(shè)計(jì)了一種CNN與BiLSTM結(jié)合的混合檢測(cè)模型。Song等人[6]提出了一種深度卷積神經(jīng)網(wǎng)絡(luò)檢測(cè)方法,通過(guò)提取數(shù)據(jù)的深層特征來(lái)提高模型的檢測(cè)效果。Gu等人[7]為了解決傳感器時(shí)延誤差提出了一種基于粒子群算法(PSO)優(yōu)化SVM參數(shù)來(lái)提高檢測(cè)精度的方法。蘇明等人[8]提出了一種基于蟻群算法優(yōu)化神經(jīng)網(wǎng)絡(luò)參數(shù)的入侵檢測(cè)模型,檢測(cè)性能得到較高的提升。根據(jù)以上研究成果可知,多數(shù)檢測(cè)模型的設(shè)計(jì)核心是如何搭建高精度的分類(lèi)模型結(jié)構(gòu),卻忽略了如何從原始數(shù)據(jù)中選取最為合適特征的問(wèn)題。在入侵檢測(cè)過(guò)程中,針對(duì)不同的檢測(cè)模型和數(shù)據(jù)樣本選取合適的數(shù)據(jù)特征,會(huì)對(duì)最終分類(lèi)的結(jié)果有直接影響,并且對(duì)數(shù)據(jù)特征進(jìn)行約簡(jiǎn)后將使得算法的計(jì)算量呈指數(shù)級(jí)減小,極大地縮短檢測(cè)時(shí)間。
基于以上成果分析,本文設(shè)計(jì)了一種利用麻雀優(yōu)化算法尋優(yōu)特征子集,并與非線性孿生支持向量機(jī)相結(jié)合的工控入侵檢測(cè)方法。通過(guò)結(jié)合混沌因子和動(dòng)態(tài)權(quán)重來(lái)平衡算法的全局和局部搜索能力,同時(shí)在算法迭代過(guò)程中融合對(duì)位差分思想和柯西變異因子,對(duì)最優(yōu)解進(jìn)行擾動(dòng),極大程度上彌補(bǔ)了群智能算法易早熟、易陷入局部最優(yōu)的缺點(diǎn)。本文提出的ISSA-TWSVM入侵檢測(cè)算法在工控標(biāo)準(zhǔn)入侵檢測(cè)數(shù)據(jù)集上與基本麻雀搜索算法和多種經(jīng)典工控入侵檢測(cè)模型進(jìn)行性能對(duì)比后,證明了本文算法具有優(yōu)秀的檢測(cè)性能。
麻雀搜索算法(Sparrow Search Algorithm,SSA)[9]是受自然界麻雀種群的覓食行為的啟發(fā)而提出的,覓食過(guò)程中包含發(fā)現(xiàn)者與追隨者,并且還加入了危險(xiǎn)情景下的種群反捕食機(jī)制,隨機(jī)抽取個(gè)體負(fù)責(zé)偵察警戒。當(dāng)種群處于危險(xiǎn)環(huán)境下受到天敵威脅時(shí),則放棄當(dāng)前覓食,迅速逃生保證自身安全。SSA算法中種群初始位置表示為:
其中d為待優(yōu)化變量的維數(shù),n為麻雀種群的數(shù)量。麻雀的適應(yīng)度矩陣表示為:
式(2)表示個(gè)體的適應(yīng)度值,在種群初始化后適應(yīng)度值相對(duì)較好的麻雀?jìng)€(gè)體作為發(fā)現(xiàn)者帶領(lǐng)種群向食物源方向趨近。覓食行為迭代過(guò)程中,發(fā)現(xiàn)者的位置更新公式如下:
其中,t為當(dāng)前迭代次數(shù),itermax為最大迭代次數(shù),α∈Random(0,1],Q是 服 從[0,1]正 態(tài) 分 布 的 隨 機(jī)數(shù),L為1×d的矩陣,R2∈[0,1]與ST∈[0.1,1.0]分別表示預(yù)警值和安全閾值。
追隨者的位置更新公式如下:
種群反捕食機(jī)制中,隨機(jī)從種群中抽取10%~20%的個(gè)體執(zhí)行偵察警戒任務(wù),其位置更新公式如下:
孿生支持向量機(jī)(Twin Support Vector Machine,TWSVM)作為傳統(tǒng)SVM的一種改進(jìn)方法[10-11],分別構(gòu)建正負(fù)兩個(gè)超平面進(jìn)行數(shù)據(jù)分類(lèi),非常適合處理不平衡的近似類(lèi)型數(shù)據(jù)樣本,并且容錯(cuò)能力優(yōu)秀,分類(lèi)效率高。工控環(huán)境下的數(shù)據(jù)一般都呈現(xiàn)為非線性,因此選取非線性TWSVM為本文入侵檢測(cè)方法的分類(lèi)器。
非線性TWSVM的具體實(shí)現(xiàn)形式為對(duì)式(6)和式(7)優(yōu)化問(wèn)題的求解:
其中K為映射核函數(shù),ω1、ω2為超平面的法向量,b1、b2為超平面偏移向量,C1、C2為懲罰因子參數(shù),e1、e2為 單 位 列 向 量,ξ1、ξ2為 松 弛 變 量。
對(duì)上述規(guī)劃問(wèn)題求解,TWSVM的兩個(gè)超平面可以表示為:
因此對(duì)新樣本分類(lèi)時(shí),計(jì)算其對(duì)正負(fù)超平面的歐式距離,從而劃分判斷。超平面分類(lèi)決策函數(shù)為:
考慮到工控?cái)?shù)據(jù)的復(fù)雜非線性,TWSVM采用的核函數(shù)為混合核函數(shù),由Gauss徑向基核函數(shù)和Sigmoid核函數(shù)組成,其數(shù)學(xué)表達(dá)為:
群智能優(yōu)化算法領(lǐng)域內(nèi)的學(xué)者研究發(fā)現(xiàn),優(yōu)化算法迭代初期,由于搜索視野有限,極易陷入局部?jī)?yōu)值空間[12]。作為群智能優(yōu)化算法的SSA同樣有易陷入局部最優(yōu)的缺點(diǎn)。對(duì)于此問(wèn)題的解決,本文的ISSA在種群初始化和算法迭代過(guò)程中都進(jìn)行了改進(jìn)。
在種群初始化時(shí),為了擴(kuò)大搜索視野,引入具有隨機(jī)性和規(guī)律性特點(diǎn)的立方映射混沌算子,映射公式如下:
初始化的麻雀種群由n個(gè)d維麻雀?jìng)€(gè)體組成,立方映射初始化的具體實(shí)現(xiàn)為:隨機(jī)生成一個(gè)每維變量都處于[-1,1]的d維個(gè)體作為起始個(gè)體,然后利用式(11)對(duì)起始個(gè)體迭代得到其余的(n-1)個(gè)個(gè)體后,使用式(12)將產(chǎn)生的個(gè)體映射到麻雀初始種群完成初始化。
其中X′為麻雀?jìng)€(gè)體經(jīng)立方混沌映射后的初始化種群,y為立方映射向量。
在麻雀算法的發(fā)現(xiàn)者位置迭代公式中,考慮到上一代最優(yōu)解對(duì)尋優(yōu)的影響,引入了動(dòng)態(tài)慣性因子ω動(dòng)態(tài)調(diào)整權(quán)重系數(shù),使得算法迭代更加貼合求解多維復(fù)雜問(wèn)題中駝峰變化趨勢(shì),并且強(qiáng)化了麻雀算法的全局搜索能力。改進(jìn)后的發(fā)現(xiàn)者位置迭代公式如式(14)所示:
其中,r∈Random(0,1),Pi,j為上一代全局最優(yōu)個(gè)體位置。
差分進(jìn)化算法[13]是基于遺傳算法提出的,而對(duì)位差分進(jìn)化算法[14-15]是差分進(jìn)化算法的改進(jìn)。對(duì)位差分進(jìn)化通過(guò)對(duì)位公式得到對(duì)位個(gè)體后進(jìn)行變異雜交操作,從而豐富種群多樣性。為了避免算法迭代末期種群多樣性降低而導(dǎo)致陷入局部?jī)?yōu)值空間的問(wèn)題,本文將對(duì)位差分策略融合到SSA算法,在迭代過(guò)程中對(duì)當(dāng)前最優(yōu)解進(jìn)行擾動(dòng),實(shí)現(xiàn)過(guò)程如下:
生成對(duì)位個(gè)體:
在變異操作中,變異算子選擇標(biāo)準(zhǔn)柯西分布函數(shù),使得變異個(gè)體具有更廣的散布性,進(jìn)一步豐富種群,公式實(shí)現(xiàn)如下:
選擇操作:
經(jīng)對(duì)位差分進(jìn)化后的變異個(gè)體位置并不一定就優(yōu)于原最佳個(gè)體位置,因而此處本文采用貪婪判斷規(guī)則,比較二者適應(yīng)度值,選取適應(yīng)度值更大的個(gè)體位置,來(lái)確定更新最優(yōu)個(gè)體位置,公式實(shí)現(xiàn)如下:
入侵檢測(cè)過(guò)程中,從原始數(shù)據(jù)中選取合適的特征是極為重要的環(huán)節(jié)。對(duì)于不同檢測(cè)分類(lèi)模型而言,數(shù)據(jù)特征集合的選取會(huì)對(duì)檢測(cè)性能造成直接的影響。在本文提出的入侵檢測(cè)方法中,首先,采用ISSA算法對(duì)工控原始數(shù)據(jù)的最佳特征子集進(jìn)行尋優(yōu),之后,根據(jù)最優(yōu)特征子集約簡(jiǎn)數(shù)據(jù),最后,利用TWSVM分類(lèi)器進(jìn)行工控?cái)?shù)據(jù)判別。本文模型的適應(yīng)度函數(shù)f(x)為:
其中Acc為T(mén)WSVM分類(lèi)器準(zhǔn)確率,x為優(yōu)化算法中選取的特征個(gè)數(shù),allf為原始特征集中的所有特征個(gè)數(shù)。
本文提出的ISSA-TWSVM工控入侵檢測(cè)方法的具體實(shí)現(xiàn)步驟如下:
Start
(1)以專(zhuān)家標(biāo)記的所有原始工控?cái)?shù)據(jù)特征作為原始特征集合,對(duì)其進(jìn)行歸一化操作,并采用二進(jìn)制方式對(duì)全部特征個(gè)體進(jìn)行編碼。
(2)初始化種群數(shù)量n、最大迭代次數(shù)itermax等算法參數(shù),并利用式(12)立方混沌映射初始化種群。
(3)計(jì)算麻雀?jìng)€(gè)體的適應(yīng)度值,確定最優(yōu)、最差適應(yīng)度值及其位置。
(4)選取部分適應(yīng)度值較優(yōu)的麻雀?jìng)€(gè)體作為發(fā)現(xiàn)者,并利用式(14)進(jìn)行迭代。
(5)其余麻雀作為跟隨者,并利用式(4)進(jìn)行迭代。
(6)隨機(jī)選取10%~20%麻雀?jìng)€(gè)體作為警戒者,并利用式(5)進(jìn)行迭代。
(7)迭代過(guò)程中利用式(17)對(duì)當(dāng)前最優(yōu)解變異擾動(dòng),生成適應(yīng)度值更好的最優(yōu)解個(gè)體。
(8)根據(jù)式(18)判斷是否更新最優(yōu)個(gè)體位置。
};
(9)達(dá)到最大迭代次數(shù)后,選取種群最優(yōu)個(gè)體。
(10)根據(jù)最優(yōu)個(gè)體得到工控?cái)?shù)據(jù)集的最優(yōu)特征子集,并對(duì)原始工控?cái)?shù)據(jù)樣本進(jìn)行簡(jiǎn)化。
(11)使用十折交叉驗(yàn)證在TWSVM分類(lèi)器上對(duì)樣本進(jìn)行判別分類(lèi)。
End
為驗(yàn)證本文改進(jìn)后的ISSA的優(yōu)秀性能,以多種經(jīng)典的群智能搜索算法進(jìn)行仿真對(duì)比。對(duì)比算法包括粒子群算法(PSO)[16]、灰狼算法(GWO)[17]、飛蛾火焰算法(MFO)[18]以及基本麻雀算法(SSA)。對(duì)比實(shí)驗(yàn)基于6個(gè)基準(zhǔn)測(cè)試函數(shù),其中包含單峰標(biāo)準(zhǔn)函數(shù)f1~f3和多峰標(biāo)準(zhǔn)函數(shù)f4~f6,維度都為30,并且種群數(shù)量設(shè)置為30,迭代次數(shù)都為500次,各自獨(dú)立運(yùn)行50次。各優(yōu)化搜索算法的具體參數(shù)設(shè)置如表1所示,6個(gè)基準(zhǔn)測(cè)試函數(shù)的描述如表2所示。
表1 參數(shù)設(shè)置表
表2 基準(zhǔn)測(cè)試函數(shù)表
由表3分析可知,本文提出的ISSA算法相較于其他經(jīng)典算法,無(wú)論是在單峰標(biāo)準(zhǔn)函數(shù)還是多峰標(biāo)準(zhǔn)函數(shù)上求解得到的平均值都最為接近理論上的最優(yōu)解。從多峰函數(shù)f4~f6所得的結(jié)果可以看出本文的ISSA算法均可以快速地跳出局部最優(yōu),求得全局最優(yōu)解,證明本文在算法改進(jìn)過(guò)程中融合變異擾動(dòng)的有效性。在標(biāo)準(zhǔn)差方面,本文的ISSA的值最小,說(shuō)明算法最為穩(wěn)定,魯棒性最好。經(jīng)以上分析說(shuō)明本文的ISSA相較于其他算法可以更快地尋得最優(yōu)解。
表3 各算法優(yōu)化結(jié)果
圖1 (a)~(f)為各個(gè)尋優(yōu)算法分別在6個(gè)基準(zhǔn)測(cè)試函數(shù)上測(cè)試的收斂曲線。各個(gè)子圖中的橫坐標(biāo)都代表算法迭代次數(shù),縱坐標(biāo)都代表適應(yīng)度的log對(duì)數(shù)值。從圖1可以清楚地看出各個(gè)算法的收斂性能的好壞以及跳出局部最優(yōu)的能力,得出本文的ISSA算法更快達(dá)到收斂拐點(diǎn),曲線更光滑,證明了本文ISSA算法的性能要遠(yuǎn)優(yōu)于其他算法。
圖1 基準(zhǔn)測(cè)試函數(shù)收斂曲線
本實(shí)驗(yàn)運(yùn)行環(huán)境平臺(tái)配置:計(jì)算機(jī)CPU為Intel?CroeTMi7-10700 CPU@2.90 GHz,內(nèi)存為8 GB,NVIDIA GTX 1660 Ti GPU 6 GB,操作系統(tǒng)為Windows 10 64位操作系統(tǒng)。操作實(shí)驗(yàn)基于Anaconda Navigator平臺(tái)下TensorFlow2.0開(kāi)發(fā)框架實(shí)現(xiàn)。
為評(píng)估ISSA-TWSVM檢測(cè)方法在工控網(wǎng)絡(luò)入侵檢測(cè)上的性能,本文選取2014年MSU基礎(chǔ)設(shè)施保護(hù)中心建立的工控標(biāo)準(zhǔn)入侵檢測(cè)數(shù)據(jù)集,其原始數(shù)據(jù)是密西西比州立大學(xué)內(nèi)部SCADA實(shí)驗(yàn)室設(shè)計(jì)的天然氣管道系統(tǒng)收集的真實(shí)數(shù)據(jù)。數(shù)據(jù)集是SCADA系統(tǒng)隨著時(shí)間變化抓取的數(shù)據(jù)流量,包括35種攻擊方式,對(duì)應(yīng)7種攻擊類(lèi)型,26個(gè)原始數(shù)據(jù)特征,是評(píng)估工控入侵檢測(cè)的標(biāo)準(zhǔn)數(shù)據(jù)集。為了簡(jiǎn)化實(shí)驗(yàn)計(jì)算過(guò)程,選取10%數(shù)據(jù)集進(jìn)行實(shí)驗(yàn),數(shù)據(jù)類(lèi)型分布和原始特征如表4和表5所示。
表4 數(shù)據(jù)集類(lèi)型分布
表5 原始數(shù)據(jù)特征
利用數(shù)據(jù)集中專(zhuān)家標(biāo)記的26個(gè)原始數(shù)據(jù)特征組成原始特征集合,進(jìn)行歸一化處理后作為ISSATWSVM算法的輸入。為了讓實(shí)驗(yàn)數(shù)據(jù)集更貼合實(shí)際工控網(wǎng)絡(luò)環(huán)境的流量分布情況,本文使用SMOTE算法[19]對(duì)數(shù)據(jù)集的Normal數(shù)據(jù)過(guò)采樣,并對(duì)各類(lèi)攻擊數(shù)據(jù)進(jìn)行隨機(jī)均比抽取組成異常數(shù)據(jù),重新構(gòu)造的實(shí)驗(yàn)數(shù)據(jù)分布如表6所示。
表6 重構(gòu)數(shù)據(jù)集數(shù)據(jù)分布
為了更為直觀地與其他入侵檢測(cè)模型的檢測(cè)性能進(jìn)行對(duì)比,本文選取評(píng)價(jià)指標(biāo)主要有準(zhǔn)確率(Accuracy,Acc)以及算法執(zhí)行時(shí)間t。準(zhǔn)確率計(jì)算公式如下:其中,TP為正確識(shí)別的正常數(shù)據(jù)數(shù)量;TN為正確識(shí)別的異常數(shù)據(jù)數(shù)量;FP為未正確識(shí)別的異常數(shù)據(jù)數(shù)量;FN為未正確識(shí)別的正常數(shù)據(jù)數(shù)量。
利用基本SSA算法與本文提出的ISSA算法對(duì)工控?cái)?shù)據(jù)的最優(yōu)特征子集進(jìn)行尋優(yōu),使用TWSVM作為分類(lèi)器,算法中的適應(yīng)度函數(shù)都設(shè)定為式(19),最終通過(guò)最佳適應(yīng)度個(gè)體選取出最優(yōu)特征子集。實(shí)現(xiàn)結(jié)果如圖2所示。使用SSA算法與ISSA算法對(duì)最優(yōu)特征尋優(yōu)過(guò)程中,隨著特征數(shù)量的增加,訓(xùn)練所需用時(shí)和分類(lèi)的準(zhǔn)確度也隨之增加,二者最終都在特征數(shù)量為10時(shí)達(dá)到收斂。對(duì)比于基本SSA算法,本文ISSA算法的搜索時(shí)間僅為其一半,且在搜索過(guò)程中可以看到并未出現(xiàn)陷入局部?jī)?yōu)值空間的狀況,證明了ISSA算法的尋優(yōu)能力要優(yōu)于基本SSA算法。
在數(shù)據(jù)特征選取實(shí)驗(yàn)中選取的最佳特征子集如表7所示。
表7 最佳特征子集
為了說(shuō)明ISSA-TWSVM進(jìn)行最佳特征子集尋優(yōu)后的工控網(wǎng)絡(luò)入侵的檢測(cè)結(jié)果,實(shí)驗(yàn)采用十折交叉驗(yàn)證并對(duì)各個(gè)模型進(jìn)行30次迭代。選取了基本SSA-TWSVM算 法、SVM算 法[20]、CNN算 法[21]、LSTM算法[22]作為實(shí)驗(yàn)對(duì)照,各算法實(shí)驗(yàn)結(jié)果如表8所示。
表8 各算法實(shí)驗(yàn)對(duì)照
根據(jù)表8可知,在準(zhǔn)確率上,本文算法分別優(yōu)于SVM、CNN、LSTM此 類(lèi) 經(jīng) 典 檢 測(cè) 模 型9.26%、4.73%、5.59%,不僅如此,相比于利用基本SSA算法選取特征子集的SSA-TWSVM算法同樣要高出2.71%。在執(zhí)行時(shí)間方面,可以看出本文算法遙遙領(lǐng)先,快于SSA-TWSVM算法132.33 ms。由此說(shuō)明,本文利用ISSA智能優(yōu)化算法選取最佳數(shù)據(jù)特征子集后,可使工控入侵檢測(cè)的檢測(cè)效率得到大幅度的提升,所以本文提出的ISSA-TWSVM檢測(cè)方法有著很好的收斂性和檢測(cè)性能。
針對(duì)復(fù)雜多樣的工控入侵?jǐn)?shù)據(jù)中的最優(yōu)特征選擇問(wèn)題,本文提出了一種結(jié)合改進(jìn)麻雀算法和非線性孿生支持向量機(jī)的工控入侵檢測(cè)方法。經(jīng)本文改進(jìn)后的ISSA全局和局部搜索能力都得到大幅度提高,將其與TWSVM分類(lèi)器結(jié)合,對(duì)工控入侵?jǐn)?shù)據(jù)進(jìn)行檢測(cè)識(shí)別,實(shí)驗(yàn)結(jié)果證明本文改進(jìn)的ISSA具有優(yōu)秀的檢測(cè)性能且ISSA-TWSVM算法在工控入侵檢測(cè)中可達(dá)到理想效果。
網(wǎng)絡(luò)安全與數(shù)據(jù)管理2021年12期