?

基于ISSA-LightGBM 的工控入侵檢測研究

2023-11-06 12:34趙志達王華忠
關鍵詞:工控麻雀適應度

趙志達, 王華忠

(華東理工大學能源化工過程智能制造教育部重點實驗室, 上海 200237)

工控系統(ICS)是國家關鍵基礎設施的重要組成部分[1],在確保煉油、化工、電力、食品、水廠、交通、制藥等生產與服務系統穩定運行上起著重要的保障作用[2]。隨著信息技術(IT)與工業控制網絡的不斷融合[3],關鍵基礎設施控制系統已成為互聯網的一部分,更容易受到各種網絡攻擊。ICS 的異?;虮罎⒖赡軒斫洕鷵p失、環境破壞甚至人員生命損失[4],加強ICS 的網絡安全防護十分重要[5]。

工控系統的常見網絡攻擊包括拒絕服務(DOS)攻擊、虛假數據注入(FDI)攻擊、偵察攻擊、重放攻擊等,而入侵檢測可以主動監控網絡流量和主機等設備,發現并阻止網絡攻擊[6]。隨著人工智能技術的發展,機器學習在入侵檢測中的應用越來越廣泛[7],然而,工控系統會產生大量的非線性高維數據。傳統的機器學習方法,如K 最鄰近法(KNN)、支持向量機(SVM)等,雖然算法簡單、訓練時間短,但是檢測準確率相對較低,而且在處理這些工控數據之前需要進行復雜的數據預處理以及人為的特征提取,這需要依靠豐富的經驗和大量的實踐。卷積神經網絡(CNN)、長短期記憶網絡(LSTM)等深度學習方法雖然可以避免復雜的數據預處理,且具有較高的準確性,但會消耗大量計算資源,且訓練時間長,參數調整困難。

近年來,很多研究人員將機器學習算法應用到入侵檢測研究,并取得了一定的成果。黃一鳴等[8]提出了一種基于SVM 的工控入侵檢測模型,通過特征增強的方式提高數據集的質量,改善了模型檢測精度,但是該方法需要進行復雜的特征變換和數據預處理。陳漢宇等[9]提出了基于統一計算設備架構(CUDA)的并行化策略,將串行SVM并行化,把復雜的計算過程移植到GPU 上,大大提高了模型訓練速度,但是該方法成本高、靈活性差。Ling 等[10]提出了一種基于雙向簡單循環單元的入侵檢測模型,使用跳躍連接,通過簡單循環單元(SRU)神經網絡中優化的雙向結構,緩解模型中梯度消失問題,該方法雖然降低了訓練時間,但是犧牲了檢測效果。劉會鵬等[11]提出了一種基于堆疊LSTM 的入侵檢測模型,并采用貝葉斯優化算法對深度學習超參數進行尋優,該方法雖然大大提高了模型檢測性能但是卻占用大量內存和時間。Narayana等[12]將入侵檢測分為兩個階段:第1 階段,采用平滑L1 正則化增強自編碼器的稀疏性,學習特征的稀疏表示;第2 階段,使用深度神經網絡(DNN)對攻擊進行檢測。由于消除了異常的特征,并通過特征提取降低了特征維數,該模型整體性能優于傳統模型。

LightGBM 是Ke 等[13]在2017 年提出的一種改進的梯度提升決策樹(GBDT)模型,能夠高速準確地處理海量數據,在工業環境中具有良好的應用前景:(1)它支持分類特征的直接輸入,在數據預處理階段無需進行one-hot 編碼;(2)它是一種樹模型,無需進行歸一化操作以處理由于輸入變量量綱不同造成的影響;(3)引入EFB 算法進行特征降維,可以省去常規算法要求的特征提??;(4)支持高效的特征并行和數據并行,訓練速度快。

基于LightGBM 算法處理工業數據的潛在優勢,本文提出了一種基于ISSA-LightGBM 的工控系統入侵檢測模型。針對標準麻雀搜索算法的種群多樣性少和跳出局部最優解難的問題,提出了一種改進的麻雀搜索算法:(1)引入離散解碼策略;(2)使用反向學習策略生成初始種群;(3)麻雀位置更新函數中引入自適應控制步長和收斂因子,使算法具有更優的初始種群和全局搜索能力。將改進后的算法用于LightGBM 入侵檢測模型參數的優化,使用密西西比州立大學(MSU)標準工控數據集檢測模型的性能,并與其他方法進行比較,驗證了該方法在處理大量工業數據時具有檢測精度高、訓練時間少等優勢。

1 LightGBM

1.1 LightGBM 基本原理

LightGBM 是一種GBDT 實現,是為解決傳統GBDT 處理大樣本高維數據的難題而被提出的。相對于傳統的GBDT 算法,LightGBM 不僅保證了準確率,而且訓練速度更快[14],內存消耗更低,并且支持分布式并行,可以快速處理海量數據[15],能夠有效解決工控入侵檢測訓練速度慢、占用時間長等問題。LightGBM 的特點和優化算法總結如下。

(1)Leaf-wise 決策樹生長策略

多數決策樹算法使用的是低效的level-wise的決策樹生長策略,同一層的葉子節點不加區分地進行分裂,由于一些葉子節點分裂產生的增益較低,給算法帶來了不必要的消耗。與大多數GBDT 算法不同,LightGBM 采用具有深度限制的高效的leafwise 策略,每次層序遍歷所有當前葉子節點,僅對增益最大的葉子節點進行分裂,而不是所有葉子節點。因此,經過相同的分裂次數,leaf-wise 策略產生的誤差更低,準確率和效率也更高。同時為避免leaf-wise 策略生長出深度比較大的決策樹, LightGBM增加了一個最大深度限制,以防止過擬合,能夠有效提高模型預測的魯棒性。level-wise 策略如圖1 所示,leaf-wise 策略如圖2 所示。

圖1 Level-wise 策略Fig.1 Level-wise algorithm

圖2 Leaf-wise 策略Fig.2 Leaf-wise algorithm

(2)直方圖算法

LightGBM 使用直方圖算法對特征數據進行處理,將連續的特征數據離散化為k個整數作為直方圖的水平坐標,構造一個以k為寬度的直方圖。在遍歷數據時,采用直方圖累積統計值,然后根據離散的特征統計值確定最佳的特征分割點,因此模型特征只需統計1 次,避免了傳統機器學習算法在特征計算時會重復工作的問題。該算法對原始連續特征值進行分箱,并使用這些分箱來構建模型,大大減少了分割點選擇的時間消耗和內存消耗,提高了模型的訓練和預測效率,特別適用于數據量大、數據維數高的問題。

(3)單邊梯度采樣(GOSS)算法

LightGBM 引入了GOSS 算法,通過減少訓練的數據量來提高訓練效率。如果一個訓練樣本的梯度極小,則表明該樣本的訓練誤差極小,訓練已經十分完全,但直接舍棄所有這些梯度較小的樣本會降低模型的精度,因此GOSS 算法在減少訓練量和保證精度之間進行了平衡。將用于訓練的數據根據梯度的大小進行排序,并按一定比例劃分為高梯度訓練樣本和低梯度訓練樣本,保留所有高梯度樣本,對低梯度樣本按照一定比例隨機采樣,舍棄其他低梯度樣本。為了防止這樣的數據處理對樣本分布產生的影響,算法引入放大系數,將保留的低梯度樣本乘以放大系數。通過以上這些處理,算法在計算信息增益時會更加關注高梯度也就是訓練不足的樣本,提高了訓練效率。

(4)互斥特征捆綁(EFB)算法

與GOSS 算法不同,EFB 算法通過特征提取的方法提高模型訓練的速度。通常的特征提取通過剔除一些無效的特征來降低訓練數據的維度,而EFB算法則是通過捆綁互斥的特征來降低訓練數據的特征維度。一般情況下,在高維數據空間中,數據是比較稀疏的,在稀疏的特征空間中,有些特征是互斥的,即這些特征不會同時是非零值,通過將這些互斥的特征捆綁在一起,形成一個單一的特征包,大大降低了模型的計算復雜度。

此外,LightGBM 算法支持類別特征的直接輸入,不需要進行額外的0 / 1 展開;它支持數據并行和特征并行[16]。這些優化使LightGBM 算法具有更高的效率。

1.2 LightGBM 主要超參數

在機器學習算法中,模型的分類性能好壞與模型超參數的選擇有很大的關系,不同超參數組合的模型其表現有很大的差別。LightGBM 模型有較多的超參數,為了獲得LightGBM 模型的最優性能,需要對模型參數進行優化。LightGBM 模型的主要超參數如表1 所示。

表1 LightGBM 模型的主要超參數Table 1 LightGBM main hyperparameters

不同參數尋優方法得到的最優超參數往往不同,目前常用的有人工搜索法、隨機搜索法、網格搜索法等等。人工搜索法需要手動嘗試各種可能的參數組合,成本極高且效率低下。網格搜索法采用超參數所有的可能值進行組合,當超參數的變量數和范圍增加時,該方法效率會急速下降。隨機搜索法使用一系列隨機超參數組合,相對于網格搜索算法成本降低,但在測試新的超參數組合時,會忽略前一次組合的效果,導致搜索的效率極低。機器學習模型的超參數優化問題是一種黑盒問題,智能優化算法是解決此類優化問題的十分有效的方法,本文采用改進的麻雀搜索算法進行LightGBM 的超參數優化。

2 改進麻雀搜索算法(ISSA)

2.1 麻雀搜索算法(SSA)

SSA 是Xue 等[17]提出的一種群體智能優化算法,受麻雀的群居智慧啟發,參考麻雀的覓食等行為提出的。在SSA 算法中,將麻雀分為生產者、拾荒者和捕食者3 種個體。其中生產者主要為整個種群尋找食物來源,拾荒者則跟隨生產者拾取食物,捕食者負責監視覓食的區域。在覓食過程中,不斷更新三者位置,完成食物的獲取。

在算法中,通過個體模擬麻雀尋找食物。由所有個體組成的種群位置X可由式(1)的矩陣表示:

其中:n表示麻雀種群的數量;d表示待優化變量的維度。

所有個體對應的適應度函數FX可由式(2)的向量表示:

其中FX每一行的函數表示每個個體的適應度值。

2.1.1 生產者位置更新 在SSA 中,適應度較優的生產者在搜索過程中優先覓食,同時,生產者需要為拾荒者尋找食物并引導拾荒者的流動,因此生產者比拾荒者在更廣的范圍內尋找食物。生產者的位置更新公式如式(3)所示:

其中:t表示迭代次數;j=1,2,...,d;表示第i只適應度較好的麻雀在迭代時的第j維值; α ∈[0,1] ;itermax表示最大迭代次數;R2(R2∈[0,1]) 和ST(ST ∈[0.5, 1.0])分別表示報警值和安全閾值;Q是服從正態分布的隨機數,L是 1×d的全1 矩陣。當R2<ST時,意味著周圍沒有危險,生產者可以廣泛搜索食物;當R2≥ST 時,說明麻雀意識到了危險,需飛到安全區域。

2.1.2 拾荒者位置更新 拾荒者的位置更新公式如式(4)所示:

2.1.3 捕食者位置更新 根據算法的設定,捕食者占種群比例的10%~20%。捕食者的位置更新公式如式(5)所示:

2.2 ISSA 算法的實現

2.2.1 離散策略的引入 標準的SSA 算法用來解決連續優化相關問題,不適合用來解決離散優化問題。LightGBM 模型的主要超參數中存在數據類型是整形的,賦予超參數上下界的限制后,其可能的取值是有限的,數據是離散的。在更新麻雀位置的過程中存在參數有小數的問題,為了解決此問題,本文在算法中加入了離散策略。每只麻雀個體是一個1×9 的向量,前6 個變量對應非整型的超參數,采用改進麻雀搜索算法的位置更新方式進行迭代;后3 個變量對應整型的超參數,在麻雀位置更新后,引入離散解碼策略,該策略的解碼過程如圖3 所示。

圖3 離散超參數解碼過程Fig.3 Discrete hyperparameter decoding process

2.2.2 種群初始化 反向學習策略是群智能優化的一種改進策略,主要思想是根據當前群體產生一個反向群體,比較兩個群體的適應度值,擇優組成新的群體。針對采取隨機生成初始種群個體的標準麻雀搜索算法,引入反向學習策略,有助于提高種群多樣性和算法的全局搜索能力。種群初始化步驟如下:

(1)采用隨機策略生成n個初始麻雀個體。

(2)生成初始種群的反向種群,反向種群的生成公式如式(6)所示:

其中:pi,j表示初始種群中第i個個體的第j維值;Ubj和 Lbj分別表示第j維變量范圍的上下限;Pi,j表示反向種群中第i個個體的第j維值。

(3)對初始種群和反向種群進行整體適應度評估,選取適應度值較優的前n個個體作為算法的初始種群。

2.2.3 改進生產者位置更新方式 標準SSA 算法中,生產者在安全閾值內的位置信息會隨著迭代次數的增加逐漸向更小值逼近,忽視了反方向的位置信息,使算法具有很強的局部搜索能力,用于解決極值點在零點的問題時具有很強的優勢,而超參數的搜索空間一般都大于零。為了解決上述問題,本文去除了其收斂于零的部分,增加一個正態分布隨機數,使超參數上下浮動。同時為了保留原收斂因子的特性,設計了正態分布隨機數的方差 σ2,如式(7)所示,其中pop 為種群大小。適應度越好,參數浮動就越??;適應度越差,參數浮動就越大,有助于平衡算法的全局和局部搜索能力。

在SSA 算法中,生產者在安全閾值外位置信息的控制步長為0~1 的數,然而不同超參數的上下界差異過大,采用相同的控制步長會錯過一些重要的位置信息。因此,本文引入了自適應步長K,如式(8)所示,每個變量的控制步長由變量的范圍決定。

改進后的生產者位置更新如式(9)所示:

3 基于ISSA 優化LightGBM 超參數的入侵檢測模型

本文構建了基于ISSA-LightGBM 的工控入侵檢測模型。選擇LightGBM 模型作為入侵檢測的分類模型,采用改進的麻雀搜索算法通過驗證集的準確率高低對LightGBM 模型的超參數進行持續的迭代調整,將優化后得到的最優超參數用于構建LightGBM模型,最后將訓練集輸入給LightGBM 進行模型訓練,得到最優分類模型,用以檢測工控系統中的攻擊。建立基于ISSA-LightGBM 入侵檢測模型的流程如圖4 所示。

圖4 ISSA-LightGBM 入侵檢測模型流程圖Fig.4 Flow chart of ISSA-LightGBM intrusion detection model

建立基于ISSA-LightGBM 的入侵檢測模型具體步驟如下:

(1)數據劃分。將原始數據集按照7∶1∶2 的比例隨機抽取,劃分為訓練集、驗證集、測試集。訓練集用于訓練模型;驗證集用于在模型超參數的優化過程中評價模型的適應度值;測試集則用于評估最終模型的檢測性能。

(2)參數初始化。初始化ISSA 參數(種群大小、迭代次數等),確定LightGBM 待優化的超參數的范圍,初始化LightGBM 模型的其他超參數。

(3)初始化種群。采用反向學習策略生成麻雀的初始種群。

(4)位置更新。根據式(9)、式(4)、式(5)更新麻雀種群的位置信息。

(5)離散數據解碼。根據離散解碼策略對種群位置信息的后3 個變量進行解碼。

(6)計算適應度。計算新種群的適應度值,并與上一代進行比較,更新最佳適應度和最佳位置。

(7)判斷麻雀種群的最佳適應度值。如果滿足終止條件,則停止迭代;否則,返回步驟(4)重新開始迭代。

(8)保存并輸出ISSA 的優化結果。最優的麻雀位置信息被用作表格1 中的LightGBM 超參數。

(9)采用最優超參數建立基于LightGBM 的入侵檢測模型,并用測試集進行驗證,計算各項性能指標并輸出。

4 實例分析

4.1 實驗環境和數據集

本文實驗在Intel(R) Core(TM) i7-4720HQ CPU @2.60 GHz 和Windows10 64 位操作系統的設備上進行,運行環境為python 3.0。為驗證本文所提方法的檢測效果,使用密西西比州立大學在2014 年提出的天然氣管道標準工業數據集[18]。該數據集是從基于Modbus-TCP 通信協議的天然氣管道ICS 中收集。數據集包含正常數據樣本和7 類攻擊數據樣本共97 019 條,其中正常數據61 156 條,攻擊數據35 863條,具體如表2 所示。

表2 天然氣管道數據集的描述[18]Table 2 Description of natural gas pipeline dataset[18]

為了充分驗證本文所提算法的檢測效果,選擇全部原始數據集作為實驗數據,且不預先進行任何特征處理或非平衡數據處理。將實驗數據按照比例劃分為訓練集、驗證集和測試集,其中訓練樣本67 910條,約占70%,驗證樣本9 701 條,約占10%,測試樣本19 408 條,約占20%。數據集的每個樣本都由26 個特征屬性和1 個類別標簽組成。

4.2 評價指標

準確率(ACC)可以評估系統的整體性能,誤報率(FPR)表示正常流量的錯誤分類,漏報率(FNR)表示異常流量的錯誤分類,它們的定義分別如式(10)~(12)所示。本文選擇這3 個評價指標來與其他入侵檢測模型的性能進行對比。

其中:TP 表示攻擊數據的識別數;TN 表示正常數據的識別數;FP 表示正常數據識別為攻擊數據的樣本數;FN 表示攻擊數據識別為正常數據的樣本數。

4.3 結果分析

4.3.1 ISSA 性能評估 為了評估ISSA 參數尋優的性能,本文將該算法與基于粒子群算法(PSO)、基于鯨魚優化算法(WOA)和基于SSA 算法搭建的LightGBM 入侵檢測模型進行了比較。由于優化算法每次迭代的每個個體的適應度評價都需要進行建模,為提高效率,在測試優化算法性能的實驗中,本文隨機均勻地選擇10%的數據作為實驗數據來測試。在每次實驗中,種群大小設置為30,迭代次數30 次。PSO 算法的參數c1=c2=1.5,ω=0.73 ,WOA算法的參數 α 從2 線性遞減到0。每種模型獨立運行30 次,然后取平均結果,實驗結果如表3 所示。迭代過程中各算法的適應度收斂曲線如圖5 所示。

從表3 可以看出,總體上LightGBM 模型都具有良好的檢測精度,而ISSA 算法搜索到的參數可以更好地優化LightGBM 模型,其入侵檢測的準確率為98.92%,誤報率為0.67%,漏報率為1.77%,檢測精度比其他算法都好,誤報率和漏報率也更低,優化所耗費的時間也最少。與SSA-LightGBM 算法相比,ISSA-LightGBM 算法準確率提高0.14%,檢測時間減少約25 s。從圖5 可以看出,ISSA 算法最優適應度和收斂速度均優于其他算法,雖然在迭代初期,SSA 收斂較快,但由于初始種群的優化,在后續迭代中,ISSA 算法的適應度值均高于其他算法,同時在第8 次迭代時跳出局部最優區域,達到更高的檢測精度,這說明本文改進的策略有效提高了SSA 算法跳出局部最優的能力。通過ISSA 算法尋優得到的LightGBM 模型最優超參數如表4 所示。

表4 ISSA-LightGBM 模型的最優超參數Table 4 Optimal hyperparameters of ISSA-LightGBM model

4.3.2 ISSA-LightGBM 入侵檢測模型檢測效果分析 為了評估本文所提算法在工控入侵檢測多分類問題中的性能,采用在表4 中通過ISSA 算法尋優得到的最優超參數建立基于LightGBM 的工控入侵檢測模型。選取全部97 019 條數據作為實驗數據,得到了該模型的混淆矩陣如圖6 所示。

圖6 ISSA-LightGBM 模型的混淆矩陣Fig.6 Confusion matrix of ISSA-LightGBM model

從圖6 中的混淆矩陣可以看出,本文模型的整體性能十分良好,能夠準確有效地識別出絕大多數的攻擊。部分正常樣本被誤報為標簽為1、2、4 類型的攻擊,同時部分標簽為1、2、4 類型的攻擊被識別為正常數據,為更準確地驗證本文所提模型用于工控系統入侵檢測的有效性,實驗未對數據集進行任何數據預處理。通過對訓練集的分析發現,出現此問題的原因包括兩個方面:(1)正常數據中存在一些噪聲,導致了正常樣本的誤報;(2)這幾種攻擊樣本數量較少,樣本的不平衡性導致攻擊的漏報。盡管如此,本文所提的模型仍表現出了極好的檢測性能。

4.3.3 不同機器學習方法比較 為了更全面地評估模型的檢測性能,將本文的入侵檢測模型(ISSALGB)與KNN、SVM、文獻[9]中的CNN 和文獻[10]中的SLSTM 共5 種工控入侵檢測模型進行對比實驗,對比結果如表5 所示。從表5 中可以看出,本文所提算法模型的檢測性能最好,準確率高達98.93%,誤報率和漏報率低至0.85%、1.45%,遠好于傳統的機器學習算法,不弱于深度學習算法。模型對近10 萬條數據進行訓練建模與分類預測,總共耗費時間為6.05 s。在分類準確率上,本文與文獻[10]十分接近,但為更準確地驗證模型性能,本文全部采用原始數據集,而文獻[10]采用SMOTE 算法進行了不平衡數據處理。同時本文用于訓練與檢測的數據量是文獻[10]中數據的近6 倍,是其他模型的近10 倍,雖然文獻[10]中的檢測時間加上了模型參數優化的時間,但本文模型的檢測時間遠小于其模型,在檢測時間上具有極大的優勢。實驗結果驗證了本文算法能夠在保證較高的分類準確率以及較低的誤報率、漏報率的同時,擁有較短的訓練和預測時間,能夠很好地滿足工業控制系統的實時性要求。

表5 模型性能對比Table 5 Model performance comparison

圖7 示出了本文算法模型與對比算法模型對各類攻擊數據的檢測性能圖。從圖7 可以看出,各類算法識別正常和攻擊數據都有較好的檢測效果,但是對NMRI、MSCI、MFCI 的識別效果不佳。本文所建立的模型對所有攻擊都有較高的識別率,具有很好的可靠性。對于7 種攻擊樣本,本文模型的識別準確率均最高,尤其對于來自NMRI、MSCI、MFCI 的攻擊,本文模型比其他算法具有極其明顯的優勢和十分可靠的安全性能。

圖7 各類攻擊檢測性能Fig.7 Detection performance of various attacks

5 結束語

本文針對工控網絡入侵檢測在處理海量數據時高精度和高實時性的要求,提出了一種基于ISSALightGBM 的入侵檢測模型。ISSA 引入離散策略保證了參數的合法性,同時改進了初始種群和麻雀的位置更新函數,提高了種群多樣性,增強了全局搜索能力,以獲取LightGBM 最優超參數。將超參數優化后的ISSA-LightGBM 入侵檢測模型與其他基于傳統機器學習和基于深度學習的入侵檢測算法進行了對比實驗,結果表明,本文算法無需復雜的數據預處理,不僅可以更加高效處理海量工控網絡數據,而且具有更好的檢測性能。

猜你喜歡
工控麻雀適應度
改進的自適應復制、交叉和突變遺傳算法
拯救受傷的小麻雀
1958年的麻雀
麻雀
工控速派 一個工控技術服務的江湖
工控速浱 一個工控技術服務的江湖
熱點追蹤 工控安全低調而不失重要
基于空調導風板成型工藝的Kriging模型適應度研究
基于攻擊圖的工控系統脆弱性量化方法
緊盯著窗外的麻雀
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合