蘇思達,陳永樂,周自強,楊大哲,郭 浩+
(1.太原理工大學 信息與計算機學院,山西 晉中 030600; 2.國網山西省電力公司電力科學研究院 電網技術中心,山西 太原 030000)
基于深度學習(DL)的入侵檢測系統通過在流量數據集中進行特征學習以實現對工業控制系統的實時保護。由于流量數據抓取和標簽化的成本限制,現有DL模型在監控設備、協議、威脅類型等持續變化的工控通訊網絡中往往性能受限,并且,在一種工控網絡的標簽化數據中訓練的DL模型難以適用于對另一種網絡實施檢測[1-4]。現有研究嘗試采用域對抗訓練網絡(DANN)[5]以減少DL模型訓練所需標簽化數據的數量,DANN在域適應(DA)的基礎上利用生成式對抗網絡(GAN)[6]的博弈原理來學習不同數據集間的域不變性映射。然而,DANN將每條流量數據籠統地視作一個整體進行傳輸,沒有利用其細粒度結構。對于一條流量數據而言,并非所有的特征都是可遷移的,不同特征在遷移任務中所發揮的作用也并非完全相同的。并且,由于不同流量數據特征之間的數值及分布差異,單條流量數據的整體可遷移性也存在著強弱之分。
為了應對上述挑戰,構建了一個對抗性DA網絡來訓練工控入侵檢測DL模型,并將域適應的可遷移注意力(TADA)[7]引入以實現流量數據的跨域細粒度對齊。TADA在DANN的基礎上,實現了基于多個局部域判別器的局部注意力以及基于全局域判別器的全局注意力。這兩種注意力是互補的,局部注意力被用于突出流量數據中可遷移或在域遷移時影響系數更高的特征字段;全局注意力被用于從整體上強調可遷移性更強的單條流量數據。此外,PCA被用于實現數據特征的維度映射,這使DA網絡同樣適用于源域和目標域特征空間異構的情況。
工控入侵檢測系統根據數據來源可以劃分為基于主機的入侵檢測系統和基于流量的入侵檢測系統[8],后者得益于深度神經網絡的成功獲得了更好的發展。Tiwari等[9]較為全面地評估了神經網絡、支持向量機等方法在構建入侵檢測系統時的性能表現。Kalech等[10]通過SCADA系統輸入輸出信號的時間序列建立系統行為模型,采用隱馬爾可夫模型和神經網絡進行異常行為判別。然而這些方法都假設所提出的模型在足夠多的標簽化數據上完成訓練,并未考慮數據缺乏這樣更為嚴格的現實環境。
Singla等[11]評估了利用Fine-tune方法以少量的訓練數據構建入侵檢測模型的可能性,他們首先在足夠多的源域數據集上進行訓練,然后在目標域上對模型進行微調,然而,他們不僅假設了源域和目標域具有相同特征空間的理想場景,而且其效果會受到模型復雜度的影響。Zhao等提出了CeHTL等[12]和HeTL等[13]遷移學習框架,將其用于訓練目標域中沒有標簽化數據的NID模型,他們的框架適用于同構和異構的DA案例,但是在目標數據集上的檢測精度并不高。得益于對抗思想對訓練過程的增強,DANN能夠在一定程度上提高模型的精度。Zhang等[14]采用DANN訓練入侵檢測系統并將其應用于智能電網中以檢測惡意攻擊;類似地,Singla等[15]在跨域數據特征空間類似和不同兩種情況下利用DANN訓練了一個高精度的入侵檢測DL模型,并在NSL-KDD數據集上評估了其表現。然而,他們的方法所建立的跨域傳輸通道是粗粒度的,并未考慮工控通訊網絡的復雜性。
據我們所知,在工控領域,本文是第一個使用對抗性DA的方法在數據集有限的情況下訓練入侵檢測DL模型,并針對流量數據實現了跨域細粒度對齊的。
工控系統的SCADA網絡層數據特征可分為網絡流量特征和有效負載特征。通過對Modbus RTU協議和工業生產系統的分析,我們發現,由于不同工控系統的SCADA系統所面向的數據以及所監控設備的不同,其Modbus RTU協議中的有效負載特征通常是異構的,這就造成了源域和目標域特征空間的不對齊,無法應用于DA訓練。因此,在數據經過清洗、標簽化以及標準化之后,本方法采用主成分分析(PCA)的方法對特征進行維度變換,PCA[16]是一種特征提取技術,它執行從高維特征空間到低維特征空間的線性映射。PCA將數據集中n個特征轉換為一組新的線性不相關特征,即主成分。然后按照方差降序來選擇前k個主成分來表征數據,即降維后的新特征,這個過程會去除最不重要的主成分。圖1是一個PCA轉換的示例,假設f1和f2是數據集中方差幾乎相等的兩個特征,PCA將這兩個特征轉換為兩個主成分pc1和pc2, 其中pc2相較于pc1方差非常小,因此可以刪除pc2, 由此,PCA將包含f1和f2的數據集轉換成了一個只含有pc1特征的數據集。類似地,我們可以使用 PCA 來轉換具有更多特征的數據集并減少數據集的維數,以構造同構特征空間,同時保留數據集中的有效信息。

本文對TADA做出針對流量數據的適用性改進以實現不同工控系統SCADA網絡層數據的跨域細粒度對齊。相較于DANN,TADA中的可遷移注意力更注重跨域數據的相似性和區別,以此來推理數據以及其特征在遷移過程中的影響力權重,這使得整個DA網絡能夠有選擇地強調特征信息,并具備動態校準的能力。基于可遷移注意力的對抗性DA網絡概覽如圖2所示,我們將從局部、全局和網絡整體可遷移注意力3個部分進行描述。

(1)

(2)

(3)
通過局部注意力,更具有可遷移性的維度將被更大的注意力值加權,從而使DA模型重點關注更為重要的維度。由于每一維度的注意力值是根據其可遷移性生成的,因此這種局部注意力自然可以跨域遷移。
與局部可遷移注意力模塊中專注于每一維度的可遷移性以實現細粒度遷移不同,全局可遷移注意力進一步關注單條流量數據整體的可遷移性。流量數據具有復雜的特征空間,并且在數據準備的過程中,單條流量數據經過了多次變換,這可能使域判別器找到更少的維度進行對齊,但是,該條流量數據并不一定具有更小的遷移價值,因此,全局對抗模塊的引入是十分有必要的。
本方法將全局對抗模塊添加至特征Gb(hi), 并將其結果作為整體輸入分類器Gy,全局域判別器的損失函數可被形式化為
(4)
其中,Gb為瓶頸層,di是xi的域標簽,Ld是全局域判別器的交叉熵損失函數。
(5)
(6)
其中,c是攻擊標簽數,pi,j是xi屬于標簽j的概率。通過這種方式,全局判別器的輸出被用于突出能在特征空間中更好地遷移的單條流量數據的熵。通過迭代最小化熵懲罰,DL模型對這些流量數據的檢測分類準確率逐漸收斂于一個穩定值,從而提高了分類器的性能。由于每條流量數據的注意力值是根據其可遷移性生成的,因此這種全局注意力自然可以跨域遷移。
通過局部可遷移注意力和全局可遷移注意力,流量數據每一維度的負遷移被減輕,單條流量數據的正遷移被增強,基于不同維度的多對抗DA網絡實現了從源域到目標域的細粒度傳輸路徑,而集成于全局特征的全局注意力模塊能使分類器在流量數據經過復雜變換后正確地預測其流量類型。和大多數DA方法類似,分類器的損失函數可在標簽化的源域數據DS上被形式化為
(7)
其中,Ly是交叉熵損失函數,Gy是被用于最終進行預測的分類器,即入侵檢測模型。本文采用基于可遷移注意力的DA方法實現針對流量數據的更細粒度的無監督DA,它能夠通過在一個端到端的深度架構中集成深度特征學習、全局DA、局部DA和可遷移注意力機制來聯合學習可遷移流量特征并訓練自適應的入侵檢測DL模型。最終,基于可遷移注意力的DA模型被表示為
(8)

本節詳細說明了我們實驗的數據集信息,實驗的參數、設計信息以及評判標準等。此外,我們還分析了兩種注意力機制在本方法中所發揮的作用。
我們使用了密西西比州立大學建立的工控入侵檢測標準數據集來評估本研究提出的方法[17]。數據來源為天然氣管道控制系統(G)和儲水箱控制系統(W)的SCADA網絡層數據。這兩個工控系統均采用Modbus RTU協議進行通信。數據集中的屬性值均是由十進制和十六進制數構成。其中G中含有97 019條數據,每條數據包含26個特征,W中含有236 179條數據,每條數據包含23個特征,G和W的數據特征空間是異構的。這兩個數據集的攻擊類型均為四大類:指令注入攻擊、響應注入攻擊、拒絕服務攻擊和偵察攻擊。這四大類攻擊還可以細化成7類攻擊。數據集的詳細攻擊描述及分類標簽見表1。

表1 攻擊類型詳細描述及仿真標簽
我們采用簡單設計的DL模型作為實驗中的基線模型,并且采用Zhang等[14]的DANN模型與所提出的方法進行比較,基線模型同時也作為DANN和本方法中的DL分類模型。注意,之前的研究[15]已經論證了Fine-Tune[11]方法在目標域數據量較小時的性能不足以及在異構遷移學習時的局限性,因此本方法不再將Fine-Tune作為重點討論對象。
為了全面地評估我們所提出方法的適用性,我們在實驗中考慮了如下兩種場景:
場景1:我們評估了在一個工控系統網絡層數據上訓練的入侵檢測DL模型針對另一系統的檢測情況。出于客觀性考慮,我們將分別在G→W和W→G 兩個流量數據遷移任務上評估所有的方法。在G→W中,參與評估的方法將在帶標簽的G中訓練,在去標簽的W中測試。源域和目標域在W→G中與在G→W中相反。
場景2:我們將在該場景中分析一種更為典型的情況,例如,某電力工控系統網絡層包含了8種類型的流量數據,其入侵檢測DL模型基于這些數據訓練并且分類精度良好,隨后該網絡空間出現了一種新的攻擊流量,該系統僅能從這個攻擊類別中收集數量有限的數據樣本。我們將在場景2中評估3種方法所訓練的DL模型能否對新的攻擊流量做出正確識別。我們將在擁有更多數據量的W中實施場景2的實驗。
我們采用開源庫Pytorch訓練所提出的方法以及其它對比方法。我們使用100個epoch來訓練基線模型,并將批大小設置為32,對于本方法,我們訓練10 000次迭代,同樣將批大小設置為32。我們為神經網絡模型和所提出的DA方法采用自適應學習率優化算法Adam進行梯度優化,并將起始學習率設置為0.001,β1=0.9,β2=0.999。 在整個實驗過程中,我們將式(8)中的平衡參數設置為λ=1.0,γ=0.1。 此外,為了同構G和W的特征空間,我們采用PCA的方法將兩個數據集降維至d=20。
為了描述經過訓練的分類模型性能,我們使用精度(ACC)評判正確預測所占的比重
(9)
并采用F-score(F1)作為準確率和召回率的調和平均,較為全面地評價模型性能
(10)
其中,TP為正確分類的良性樣本數,TN為正確分類的攻擊樣本數,FP為錯誤分類的良性樣本數,FN為錯誤分類的攻擊樣本數, P=TP/(TP+FP) 為精確率, R=TP/(TP+FN) 為召回率。
我們用于對比的基線模型共由9層組成,其中有3組全連接層、一個批量歸一化層和一個相互堆疊的reLU激活層,全連接層依次具有64、32、16個神經元,輸出層具有兩個神經元并由soft-max函數激活,用于給出給定樣本屬于攻擊或良性類別的預測概率,即DL模型被訓練為能區分良性和攻擊樣本的二分類模型。在場景1中,基線模型在源域中訓練,在目標域中測試以評估其整體跨域表現;而在場景2具體情境中,基線模型將在目標域中進行訓練。
4.4.1 場景1
我們在W→G和G→W兩個流量數據遷移任務中評估了基線模型、DANN,以及本方法對表1中的7種攻擊流量和正常流量跨域檢測的性能表現,其結果見表2。無論是從精度還是F-score上都可以看出,本方法在跨域任務中的優越性是明顯的。值得注意的是,在G→W中,源域中多類流量數據的數量都遠小于目標域數據,這意味著模型從源域中學習特征的難度更大,從特征中獲取的域遷移信息更少,因此,相較于W→G,在G→W中3種模型的性能表現有所下降,其中,由于基線模型沒有為跨域檢測做任何的準備,下降幅度最大,而由于本方法采用的兩種注意力機制使模型能夠有效地執行特征的動態重校準,能夠在全局和局部匹配源和目標流量數據分布的復雜多模態結構,從更困難的環境中學習更多的可遷移特征,因此本方法能夠將在兩個任務中的準確度差值保持在1.7%以內,F-score差值保持在0.4%以內,均領先于DANN和基線模型,具有更強的穩定性。這種數據量的差異所產生的影響在3種DL模型對包括良性樣本在內的每種流量的檢出率中體現得更為直觀,如圖3所示。從圖中明顯可以看出,基線模型和DANN對NMRI、MSCI、MFCI的檢出率具有比本方法更為劇烈的下降幅度。

表2 場景1中3種模型的性能表現
我們在10 000次迭代內觀察并分析了3種方法的收斂效率。與基線模型相比,本方法的優勢在訓練過程初期就十分明顯,即使是在學習成本相對較低的W→G中,基線模型與本方法的精度差異在1500次迭代時就達到了0.047,并且其差值仍在逐漸增加。DANN在約4000次迭代之前與本方法的精度差異維持在0.009~0.018之間,然而,由于本方法對特征更深層次的提取,在第4500次迭代后,DANN的收斂效率明顯降低。此外,本方法在約9000次迭代后就逐漸收斂,基線模型和DANN仍未趨于穩定,這表明我們對可遷移特征的處理是輕量級的。
場景1的結果還揭示了一個現象,像基線模型這一類在傳統入侵檢測中具有較淺層機器學習模型更出色的檢驗效果的深層DL模型,在相對較少的流量數據中訓練后仍然無法在遷移任務中保持較高的精度,這驗證了即使深層DL模型在特征學習中更具優勢,也無法有效地消除跨域差異,這意味著現有工控系統在仍然具有安全隱患,也驗證了我們所做工作的意義。
4.4.2 場景2
我們將W分為源域數據和目標域數據,其中,源域數據包含來自6個攻擊樣本的標簽化數據,目標域則包含來自其余一個攻擊樣本的去標簽數據,目標域和源域都含有正常的攻擊流量。為了保證實驗結果的通用性,我們在W中的四大類攻擊中分別選擇一種并重復上述操作,其中包括指令注入攻擊MPCI、響應注入攻擊CMRI、拒絕服務攻擊DoS和偵察攻擊Recon。我們還針對不同的目標域數據量執行此操作,以顯示數據量的大小對目標模型精度的影響,由于這4種攻擊樣本在W中的總數不同,我們對數據量的劃分終點也有所不同,為了保證對比的有效性,我們對4種攻擊劃分的前4個量級都分別為100,200,500,1000。圖4展示了在場景2中基線模型、DANN以及本方法對CMRI、Recon、MPCI、DoS的檢測精度和F-score。x軸表示用于訓練的目標數據集樣本數,y 軸表示在目標測試數據集上測試分類模型時的準確率和 F-score值。對于響應注入攻擊CMRI來說,在目標域樣本量只有100的時候,我們觀察到本方法在精度方面分別優于基線模型和DANN8.08%和2.33%,在F-score值方面分別優于基線模型和DANN9.12%和4.33%。在其它3個攻擊類別中,我們觀察到了類似的結果。當使用少量數據樣本訓練時,相較于DANN和本方法,基線模型明顯的低性能表現是由于其極度過擬合現象。在少量數據樣本上訓練的DL模型能夠對訓練集進行有效分類,但是無法很好地泛化到其它未知數據上。而DANN和本方法本質上使用源數據集樣本來擴充目標數據集并將它們投影到一個公共的潛在子空間中,從而緩解了由于訓練數據量非常少而導致的過擬合問題。
此外,相比于DANN,在目標域樣本量越少的情況下,本方法的優勢就更加明顯,這是由于本方法通過局部和全局注意力更有效地從數據中掌握域遷移的關鍵信息,并減少不相關信息的干擾,以更小的學習成本獲得更好的性能。
在場景2中,我們觀察到,當目標域樣本數足夠(大于1000)時,DANN和本方法具有與場景1類似的收斂效率表現,而當目標域樣本量不充分時,DANN即使在訓練初期也難以與本方法維持類似的精度,這意味著當未知攻擊出現時,DANN對攻擊的響應實時性更差,而本方法則能夠通過少量迭代做出更準確的判斷,具有更強的適用性。
我們還測試了DANN和本方法在針對上述4類攻擊訓練后在源域數據集上的表現,即DL模型在包含除測試樣本外的6類良性和攻擊樣本的舊數據集上的準確率。由于在目標域上訓練的基線模型在源域上的分類表現太差,不具有參考價值,所以我們未將其考慮在內,我們將在之后用一種樸素的方式對其進行評估。用DANN和本方法訓練的分類模型的精度結果見表3,我們觀察到,本方法在源域上保持了88%~94%的精度,而DANN的表現是相對不穩定的。這表明我們的方法不僅在目標域上表現良好,而且在源域上也非常準確,意味著其能夠檢測在目標域中看到的新攻擊以及在源域中看到的舊攻擊,更具實用價值。
為了更加全面的對基線模型做出評估,我們將源域和目標域數據結合為單個訓練集,用于基線模型的訓練,此基礎上,我們進行了額外的實驗。結果表明,在這種不考慮域遷移的情況下,基線模型在源域上獲得了出色的檢測精度和F-score,盡管如此,當目標域數據量很小的時候,基線模型的性能和本方法具有一定的差距。當使用源域數據集和目標域數據集的100個樣本進行CMRI、Recon、MPCI、DoS組合訓練時,在目標域數據的精度方面,本方法分別優于基線模型8.12%、7.56%、5.91%和7.04%。注意,這種評估方式實質上模擬了一種傳統情況:當出現了新的攻擊類型時,工控系統抓取少量該攻擊的流量數據并將其簡單標記為攻擊流量,然后將這些數據加入訓練集并對DL模型重新進行訓練、部署以從正常流量中識別出這些攻擊流量。我們的實驗結果表明這種簡單做法是存在風險的,也驗證了在工控系統中對流量數據進行域遷移的必要性。
為了進一步探究并區分局部和全局可遷移注意力在流量數據遷移中的作用,我們用DA(局部)表示本方法中基線模型、局部注意力模塊以及熵模塊的組合;用DA(全局)表示本方法中基線模型、全局注意力模塊以及熵模塊的組合,并在場景2中對偵察攻擊Recon進行了實驗,同樣地,我們將結果與基線模型和DANN進行比較,見表4。

表3 用DANN和本方法訓練的DL模型在源數據集上的準確度表現

表4 5種模型所訓練的DL模型對Recon的檢測精度表現
結果表明,DA(局部)和DA(全局)都比基線模型具有顯著提升,但是在更困難的情況下(目標域樣本過少)DA(局部)比DA(全局)和DANN的表現要更差。局部注意力關注流量數據遷移的細粒度的維度信息,而在目標域樣本數量較少的情況下,數據能夠提供給局部注意力模塊的信息略顯匱乏,而全局注意力能夠更快地從整體強調流量數據的可遷移信息,很好地彌補了局部注意力的不足。因此,將兩種注意力結合使用,使其相互補足的本方法擁有最出色的表現。
隨著工控系統的發展以及攻擊手段的多樣化,傳統入侵檢測技術在動態的工控網絡環境中性能的局限性日益突出。遷移學習中的相關技術手段對入侵檢測模型適應性的改進是明顯的,然而,現有研究忽視了工控流量數據結構的復雜性,導致域遷移的效果十分有限。本文基于遷移學習中的DA技術,構建了一個對抗性DA網絡來訓練入侵檢測DL模型,并將TADA引入,分別在數據的維度和整體兩個層面對流量域遷移過程進行優化以構建更細粒度的遷移通道。在跨層檢測和未知攻擊檢測兩種場景中的實驗結果表明,本方法不僅嚴格保障了檢測精度,也更能滿足工控入侵檢測系統對于實時性和穩定性的要求。未來,我們將開展DA網絡中特征提取器的相關研究,旨在從多個層面增強流量特征信息的表征能力,進一步提升工控入侵檢測模型的性能。