石樂(lè)義,侯會(huì)文,徐興華,許翰林,陳鴻龍
(1.中國(guó)石油大學(xué)(華東) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,山東 青島 266580;2.中國(guó)石油大學(xué)(華東) 海洋與空間信息學(xué)院,山東 青島 266580;3.中國(guó)石油大學(xué)(華東) 控制科學(xué)與工程學(xué)院,山東 青島 266580))
工業(yè)控制系統(tǒng)(industrial control system,ICS)是用于工業(yè)生產(chǎn)的控制系統(tǒng)的統(tǒng)稱[1],由各種工業(yè)設(shè)備組件構(gòu)成,負(fù)責(zé)工業(yè)生產(chǎn)流程中的監(jiān)測(cè)控制和資源調(diào)度,實(shí)現(xiàn)設(shè)備的自動(dòng)化運(yùn)行,為現(xiàn)代化工業(yè)提供支撐,是國(guó)家基礎(chǔ)設(shè)施建設(shè)的重要組成部分。近年來(lái),針對(duì)工業(yè)控制系統(tǒng)的安全事件頻發(fā),如伊朗震網(wǎng)病毒、火焰病毒、WannaCry勒索病毒事件等,對(duì)國(guó)家經(jīng)濟(jì)和社會(huì)都帶來(lái)了嚴(yán)重的危害。
工業(yè)控制系統(tǒng)安全事件揭示了所面臨的安全問(wèn)題,究其原因主要有以下幾個(gè)方面:首先,工業(yè)控制系統(tǒng)的軟硬件設(shè)備固有的安全漏洞和在更新迭代過(guò)程中產(chǎn)生的安全漏洞使黑客有可乘之機(jī);其次,現(xiàn)代化的工業(yè)控制系統(tǒng)網(wǎng)絡(luò)環(huán)境日趨開(kāi)放,更具有開(kāi)放性和共享性,使入侵途徑增多,攻擊風(fēng)險(xiǎn)大大增加;最后,工業(yè)控制系統(tǒng)的重要性日益顯現(xiàn),也使其逐步成為網(wǎng)絡(luò)攻擊的首要目標(biāo)。
為應(yīng)對(duì)日益嚴(yán)峻的工業(yè)控制系統(tǒng)安全形勢(shì),如何保護(hù)工業(yè)控制系統(tǒng)的安全已成為亟待解決的問(wèn)題。安全領(lǐng)域研究人員已經(jīng)提出了防火墻、訪問(wèn)控制、信息加密等防御策略,但以上安全方案因自身安全防御策略的不足,雖能抵御攻擊入侵,但不能快速、高效地實(shí)現(xiàn)安全防御。入侵檢測(cè)是一種對(duì)流量數(shù)據(jù)進(jìn)行檢測(cè)并異常報(bào)警的安全防護(hù)技術(shù),能夠發(fā)現(xiàn)潛在的惡意活動(dòng)或入侵,是對(duì)其他安全技術(shù)方案的升級(jí),能夠有效地實(shí)現(xiàn)對(duì)工業(yè)控制系統(tǒng)的實(shí)時(shí)監(jiān)測(cè),保證工業(yè)控制系統(tǒng)的安全運(yùn)行。
深度學(xué)習(xí)技術(shù)作為機(jī)器學(xué)習(xí)領(lǐng)域的前沿技術(shù),模型的學(xué)習(xí)能力會(huì)隨著模型深度的增加而呈指數(shù)增長(zhǎng),在計(jì)算機(jī)視覺(jué)[2]、自然語(yǔ)言處理[3]、語(yǔ)音識(shí)別[4]等領(lǐng)域得到廣泛的應(yīng)用。在入侵檢測(cè)領(lǐng)域,Liu等[5]提出一種新的兩級(jí)檢測(cè)框架,一級(jí)檢測(cè)采用CNN進(jìn)行特征提取,二級(jí)檢測(cè)提出狀態(tài)轉(zhuǎn)移算法,將CNN模型提取的特征作為算法的輸入,建立ICS的正常狀態(tài)的轉(zhuǎn)換方程,有效地實(shí)現(xiàn)了入侵檢測(cè)。Mirza等[6]使用LSTM處理計(jì)算機(jī)網(wǎng)絡(luò)數(shù)據(jù),能夠同時(shí)處理固定長(zhǎng)度和可變長(zhǎng)度的數(shù)據(jù)序列。石樂(lè)義等[7]利用相關(guān)信息熵進(jìn)行特征選擇,運(yùn)用CNN–BiLSTM并融合多頭注意力機(jī)制進(jìn)行入侵檢測(cè),取得了較低的漏報(bào)率。Chawla等[8]提出一種基于遞歸神經(jīng)網(wǎng)絡(luò)的高效計(jì)算的入侵檢測(cè)系統(tǒng),將堆疊CNN和GRU相結(jié)合以檢測(cè)異常。Yan等[9]構(gòu)建了一種基于自動(dòng)編碼器和LSTM的入侵檢測(cè)模型,將深度學(xué)習(xí)方法用于特征提取。以上方法通過(guò)對(duì)大量流量數(shù)據(jù)進(jìn)行訓(xùn)練,能夠及時(shí)地發(fā)現(xiàn)入侵攻擊行為,大幅提升了模型的檢測(cè)效果,但這些方法也有一定的局限性,帶來(lái)了更大的系統(tǒng)開(kāi)銷和更長(zhǎng)的模型訓(xùn)練時(shí)間。同時(shí),面對(duì)復(fù)雜多變的安全威脅,在收集到的攻擊流量數(shù)據(jù)不足、數(shù)據(jù)集規(guī)模小時(shí),深度學(xué)習(xí)模型無(wú)法進(jìn)行有效的訓(xùn)練,使入侵檢測(cè)性能降低。
針對(duì)流量數(shù)據(jù)不足,數(shù)據(jù)集規(guī)模小等問(wèn)題,Mathew等[10]結(jié)合遷移學(xué)習(xí)方法,使用Inception模型作為初始模型進(jìn)行微調(diào),在專有的ATM監(jiān)控訓(xùn)練集上訓(xùn)練模型,獲得了更好的準(zhǔn)確率。遷移學(xué)習(xí)(transfer learning,TL)被設(shè)計(jì)成利用數(shù)據(jù)、模型和任務(wù)之間的相似性,將從源域中學(xué)習(xí)到的知識(shí)遷移到目標(biāo)域,來(lái)幫助目標(biāo)域訓(xùn)練,能夠有效地解決目標(biāo)域訓(xùn)練數(shù)據(jù)不足的問(wèn)題,具有更廣泛的應(yīng)用前景[11]。然而,在工業(yè)控制系統(tǒng)入侵檢測(cè)領(lǐng)域,系統(tǒng)通過(guò)訪問(wèn)時(shí)間戳順序收集流量數(shù)據(jù)信息,致使采集到的流量數(shù)據(jù)具有強(qiáng)烈的時(shí)間特性,僅將遷移學(xué)習(xí)引入到工業(yè)控制系統(tǒng)入侵檢測(cè)中不能充分利用工業(yè)控制系統(tǒng)流量數(shù)據(jù)的時(shí)間特性為入侵檢測(cè)帶來(lái)更好的效果。
針對(duì)時(shí)間序列檢測(cè),循環(huán)神經(jīng)網(wǎng)絡(luò)獲得了廣泛的應(yīng)用,但大部分存在梯度消失、并行性差、模型難以收斂等問(wèn)題,導(dǎo)致入侵檢測(cè)的精度較低。相比于傳統(tǒng)的循環(huán)神經(jīng)網(wǎng)絡(luò),時(shí)間卷積網(wǎng)絡(luò)(temporal convolution network,TCN)被用于時(shí)間序列分析時(shí),具有更好的性能表現(xiàn)[12],可以為工業(yè)控制系統(tǒng)入侵檢測(cè)帶來(lái)更好的檢測(cè)效果。
由于工業(yè)控制系統(tǒng)需要處理大量的數(shù)據(jù)導(dǎo)致采集的流量數(shù)據(jù)具有特征冗余和特征不相關(guān)特性,不僅增加了模型的復(fù)雜度,降低了檢測(cè)速度,而且需要消耗大量的計(jì)算資源[13]。針對(duì)該問(wèn)題,許多研究者采用特征選擇的方法實(shí)現(xiàn)數(shù)據(jù)降維并達(dá)到去除數(shù)據(jù)冗余的目的。利用特征選擇算法尋找最優(yōu)的特征子集以實(shí)現(xiàn)數(shù)據(jù)降維,不僅可以提高入侵檢測(cè)效率還可以降低系統(tǒng)的開(kāi)銷,節(jié)約成本,這對(duì)工業(yè)控制系統(tǒng)入侵檢測(cè)至關(guān)重要。Chen等[14]提出一種基于主成分分析(PCA)、決策樹(shù)和樸素貝葉斯的自適應(yīng)網(wǎng)絡(luò)入侵檢測(cè)模型,使用PCA去除不重要信息,實(shí)現(xiàn)數(shù)據(jù)降維。唐成華等[15]通過(guò)FCM算法全局搜索,利用信息增益算法進(jìn)行特征排序,結(jié)合約登指數(shù)刪減冗余特征。Jadhav等[16]提出一種信息增益定向特征選擇算法(IGDF),利用信息增益執(zhí)行特征的排序篩選。上述方法由于僅采用單一的特征選擇方法,不能同時(shí)兼顧特征本身及特征之間的聯(lián)系導(dǎo)致特征選擇效果并沒(méi)有達(dá)到最優(yōu)。
針對(duì)上述工業(yè)控制系統(tǒng)流量數(shù)據(jù)不足、特征冗余等問(wèn)題,為更好地處理工業(yè)控制系統(tǒng)數(shù)據(jù)流量,提高模型的檢測(cè)能力,本文結(jié)合遷移學(xué)習(xí)提出一種工業(yè)控制系統(tǒng)入侵檢測(cè)方法。首先,結(jié)合IGR–PCA特征選擇算法對(duì)數(shù)據(jù)進(jìn)行預(yù)處理,在降維的同時(shí)提高源域數(shù)據(jù)集質(zhì)量。其次,在較大規(guī)模數(shù)據(jù)集上利用時(shí)間卷積網(wǎng)絡(luò)搭建源域TCN預(yù)訓(xùn)練模型學(xué)習(xí)源域知識(shí)。最后,在源域TCN預(yù)訓(xùn)練模型的基礎(chǔ)上,引入遷移學(xué)習(xí)的思想,在較小規(guī)模數(shù)據(jù)集上對(duì)模型進(jìn)行微調(diào),搭建目標(biāo)域TCN–TL入侵檢測(cè)模型,減少訓(xùn)練過(guò)程的時(shí)間消耗。
為降低工業(yè)控制系統(tǒng)數(shù)據(jù)集的特征冗余,實(shí)現(xiàn)對(duì)流量數(shù)據(jù)的有效檢測(cè),本文建立了工業(yè)控制系統(tǒng)入侵檢測(cè)模型,該模型整體流程如圖1所示。本文模型整體流程主要包含5個(gè)部分:數(shù)據(jù)預(yù)處理模塊、特征選擇模塊、源域TCN預(yù)訓(xùn)練模型、目標(biāo)域TCN–TL入侵檢測(cè)模型、入侵檢測(cè)結(jié)果輸出模塊。
圖1 本文模型整體流程Fig.1 Overall process of the proposed model
在工業(yè)控制系統(tǒng)中,數(shù)據(jù)采集與監(jiān)控系統(tǒng)(SCADA)負(fù)責(zé)對(duì)現(xiàn)場(chǎng)設(shè)備節(jié)點(diǎn)進(jìn)行集中監(jiān)測(cè)和遠(yuǎn)程控制,利用傳感器收集流量數(shù)據(jù)信息,其中,包括報(bào)警信息、過(guò)程狀態(tài)數(shù)據(jù)等,對(duì)數(shù)據(jù)的采集發(fā)揮著重要的作用。在工控系統(tǒng)中,網(wǎng)絡(luò)攻擊會(huì)使傳感器測(cè)量值嚴(yán)重越界,明顯超出警報(bào)點(diǎn)設(shè)置范圍的過(guò)程測(cè)量值,從而產(chǎn)生異常值;同時(shí),SCADA通常用于監(jiān)測(cè)流量必經(jīng)的鏈路并進(jìn)行數(shù)據(jù)采集,因此獲得的數(shù)據(jù)流量中正常的樣本總是占多數(shù),某些攻擊類型的樣本數(shù)量偏少,存在樣本不平衡問(wèn)題;另外,采集到的數(shù)據(jù)參數(shù)數(shù)值范圍不同,存在數(shù)值量差異大的問(wèn)題。因此,需要先對(duì)數(shù)據(jù)集進(jìn)行數(shù)據(jù)預(yù)處理。
1.1.1 異常值處理
在工控?cái)?shù)據(jù)集中,“measurement”特征表示天然氣管道壓力,響應(yīng)注入攻擊(MRI)和偵察攻擊(RECO)會(huì)造成該特征異常,如該特征數(shù)值為8.66E+26,數(shù)值大小明顯異常。從工業(yè)控制系統(tǒng)實(shí)際情況出發(fā),為特征“measurement”設(shè)定閾值,超出正常壓力范圍則重新賦值。數(shù)據(jù)流量二分類時(shí), 可考慮將“measurement”數(shù)據(jù)異常直接判定為異常流量;數(shù)據(jù)流量多分類時(shí),為該特征大小設(shè)定閾值,結(jié)合其他數(shù)據(jù)流量特征繼續(xù)細(xì)分攻擊類別,以便更好地進(jìn)行安全防護(hù)。
1.1.2 不平衡數(shù)據(jù)集處理
在工控?cái)?shù)據(jù)集中存在著樣本不平衡問(wèn)題,為解決數(shù)據(jù)樣本不平衡,本文使用SMOTE–Tomek Links方法[17],先使用SMOTE方法對(duì)少數(shù)類樣本進(jìn)行過(guò)采樣處理,再結(jié)合數(shù)據(jù)清洗技術(shù)Tomek Links解決SMOTE方法在生成少數(shù)類樣本時(shí)容易產(chǎn)生樣本重疊的問(wèn)題,使合成后的樣本數(shù)據(jù)更加合理。
SMOTE–Tomek Links的過(guò)程為:
1)首先,隨機(jī)選擇少數(shù)類樣本Vi;然后,從數(shù)據(jù)中設(shè)置K近鄰,在樣本Vi和隨機(jī)選擇的K近鄰之間生成合成數(shù)據(jù),將合成樣本添加到少數(shù)類中,重復(fù)此步驟,直到達(dá)到所需的少數(shù)類樣本比例,新樣本合成如式(1)所示:
式中,Vj為選出的鄰近點(diǎn),δ表示范圍為[0,1]的隨機(jī)數(shù)。
2)尋找并刪除Tomek Links對(duì)。
設(shè)d(Vm,Vn)表示Vm與Vn之間的歐幾里得距離,其中,Vm為少數(shù)類的樣本,Vn為多數(shù)類的樣本;如果沒(méi)有樣本Vk滿足d(Vm,Vk)d(Vm,Vn)或d(Vn,Vk)d(Vm,Vn),則(Vm,Vn)對(duì)是Tomek Links對(duì),應(yīng)刪除Tomek Links對(duì)。
1.1.3 歸一化處理
工控?cái)?shù)據(jù)集在異常值處理后,還存在著數(shù)據(jù)差異大的問(wèn)題,采用歸一化方法可以消除不同特征之間的差異,本文采用MinMax歸一化方法將特征值映射到區(qū)間[0,1]之間:
式中,x′為 經(jīng)過(guò)歸一化之后的數(shù)據(jù),xmin為該特征數(shù)據(jù)的最小值,xmax為該特征數(shù)據(jù)的最大值。
工業(yè)控制系統(tǒng)數(shù)據(jù)維度更高,特征之間存在相關(guān)性且有冗余特征,會(huì)增加模型復(fù)雜度,降低分類精度。基于此背景,為篩選出最優(yōu)特征子集,實(shí)現(xiàn)數(shù)據(jù)的降維,本文提出一種基于混合信息增益率(information gain ratio,IGR)和主成分分析(principal component analysis,PCA)的IGR–PCA特征選擇算法。
信息增益被廣泛用于特征選擇,信息增益率相比于信息增益,引入分裂信息能夠?qū)S度較高的特征進(jìn)行懲罰,減少對(duì)維度較高特征的傾向[18]。假設(shè)工控?cái)?shù)據(jù)集X={x1,x2,x3,···,xn},其中n為樣本總數(shù);數(shù)據(jù)集特征集合F={f1,f2,f3,···,fm},其中m為特征種類的數(shù)量,則信息熵的計(jì)算可表示為:
式中:k為根據(jù)特征f劃分子集數(shù)量的種類;fi為第i類子集的數(shù)量;SplitInfo(X,f)表示將數(shù)據(jù)按照特征f劃分為k個(gè)子集的分裂信息,其公式如下:
通過(guò)信息增益率去除冗余特征,篩選出對(duì)分類影響較大的特征,初步實(shí)現(xiàn)數(shù)據(jù)的降維,但在降維過(guò)程中忽略了特征之間的相關(guān)性。為保留數(shù)據(jù)的原始信息,減少特征相關(guān)性對(duì)流量數(shù)據(jù)分類的影響,接下來(lái)使用主成分分析進(jìn)行降維。主成分分析是有效的數(shù)據(jù)分析方法,能夠最大限度地在保留原始數(shù)據(jù)信息的基礎(chǔ)上,實(shí)現(xiàn)高維數(shù)據(jù)向低維數(shù)據(jù)的轉(zhuǎn)換[19]。主成分分析的主要步驟如下:
1)標(biāo)準(zhǔn)化樣本數(shù)據(jù):
式中,xs為標(biāo)準(zhǔn)化后的樣本數(shù)據(jù),μ為特征數(shù)據(jù)的均值,σ為特征數(shù)據(jù)的標(biāo)準(zhǔn)差。
2)計(jì)算協(xié)方差矩陣C:
式中,Xs為標(biāo)準(zhǔn)化后的樣本矩陣,N為變量的個(gè)數(shù)。
3)計(jì)算協(xié)方差矩陣C的特征值λj與特征向量ui,根據(jù)特征值計(jì)算主成分的貢獻(xiàn)率和累計(jì)貢獻(xiàn)率,選取前k個(gè)累計(jì)貢獻(xiàn)率達(dá)85%的特征值對(duì)應(yīng)的特征向量構(gòu)成特征變換矩陣T。
4)根據(jù)標(biāo)準(zhǔn)化后的樣本數(shù)據(jù)Xs和特征變換矩陣T計(jì)算獲得新的樣本矩陣Y。
IGR–PCA算法的基本思想:使用信息增益率從數(shù)據(jù)集特征中篩選出重要的特征,引入主成分分析法,去除重要特征之間的相關(guān)性,再次降低維度,實(shí)現(xiàn)特征選擇,從而提高模型的訓(xùn)練速度。IGR–PCA特征選擇算法的詳細(xì)內(nèi)容如下:
算 法基于IGR–PCA的特征選擇算法
輸入:工控?cái)?shù)據(jù)集X,流量特征集合F
輸出:特征選擇后的特征矩陣Y
1. For eachfi∈F
2. 根據(jù)式(3)計(jì)算fi的信息熵;
3. 根據(jù)式(4)計(jì)算fi的信息增益率;
4. 數(shù)據(jù)按照IGR降序排列,篩選重要特征;
5. 得到新的樣本矩陣FIGR;
6. End For
7. 根據(jù)式(6)對(duì)FIGR進(jìn) 行標(biāo)準(zhǔn)化處理得到矩陣Xs;
8. 根據(jù)式(7)計(jì)算協(xié)方差矩陣C;
9. 計(jì)算C的特征值λj與特征向量ui,按照累計(jì)貢獻(xiàn)率選取前k個(gè)特征向量構(gòu)成特征變換矩陣T;
10. 獲得新的樣本矩陣Y;
11. 返回Y。
為解決時(shí)間序列預(yù)測(cè)問(wèn)題,TCN引入1維卷積、因果卷積、擴(kuò)張卷積和殘差塊等,在時(shí)間序列中表現(xiàn)優(yōu)異[20]。本文將依據(jù)工業(yè)控制系統(tǒng)數(shù)據(jù)流量的時(shí)間序列特性,構(gòu)建TCN入侵檢測(cè)模型,利用TCN對(duì)時(shí)間序列的優(yōu)異表現(xiàn),將TCN模型作為源域預(yù)訓(xùn)練模型,TCN網(wǎng)絡(luò)模型圖如圖2所示。
圖2 TCN模型圖Fig.2 TCN model diagram
時(shí)間卷積網(wǎng)絡(luò)使用1維全卷積網(wǎng)絡(luò)(FCN)架構(gòu),網(wǎng)絡(luò)產(chǎn)生與輸入相同長(zhǎng)度的輸出;使用因果卷積,在t時(shí)刻的入侵檢測(cè)報(bào)警輸出只與時(shí)間t或者更早的時(shí)間序列進(jìn)行卷積,不會(huì)丟失歷史數(shù)據(jù),能夠保存較長(zhǎng)時(shí)間的數(shù)據(jù)流量信息,工業(yè)控制系統(tǒng)的數(shù)據(jù)流量相對(duì)固定,當(dāng)出現(xiàn)相同類型的攻擊流量時(shí),能夠更好地進(jìn)行檢測(cè)。
TCN的體系結(jié)構(gòu)可以簡(jiǎn)單描述為1維全卷積網(wǎng)絡(luò)和因果卷積網(wǎng)絡(luò)的組合,在處理時(shí)間序列時(shí),期望獲得較長(zhǎng)時(shí)間的數(shù)據(jù)流量信息,為使模型獲得更大范圍的感受野,引入擴(kuò)張卷積。對(duì)于1維序列x∈Rn,濾波器g:{0,1,···,w?1}→R,擴(kuò)張卷積運(yùn)算G定義為:
式中,gd為帶有擴(kuò)張因子d的卷積操作,w為卷積核大小,s–d·i為過(guò)去的方向。
擴(kuò)張卷積通過(guò)擴(kuò)張因子大小來(lái)控制感受野的大小,當(dāng)擴(kuò)張因子d=1時(shí),變成普通卷積。圖3描述了當(dāng)擴(kuò)張因子d=1,2,4和卷積核大小為3時(shí)的擴(kuò)張因果卷積。使用更大的擴(kuò)張因子可以增加感受野,也可以在參數(shù)量不變的情況下減少網(wǎng)絡(luò)深度。
圖3 擴(kuò)張因果卷積圖Fig.3 Diagram of dilated causal convolution
殘差塊使用跳躍連接,通過(guò)一系列變換φ,將輸出添加到輸入x中獲得最終的輸出結(jié)果o:
式中,Activation( )為激活函數(shù)。
使用殘差塊代替卷積層,以較少的層獲得較長(zhǎng)的依賴關(guān)系,使網(wǎng)絡(luò)更加易于訓(xùn)練和收斂,避免了深度學(xué)習(xí)模型中梯度消失的問(wèn)題。如圖2所示,本文提出的并行結(jié)構(gòu)殘差塊,殘差塊包含兩層擴(kuò)張的因果卷積和參數(shù)化線性修正單元(PReLU)。在擴(kuò)張卷積層后,使用正則化減少過(guò)擬合;同時(shí)為確保輸入和輸出具有相同的寬度,使用額外的1維卷積來(lái)確保輸出具有相同形狀的張量,增加系統(tǒng)的穩(wěn)定性。
遷移學(xué)習(xí)通過(guò)遷移源域中的知識(shí)來(lái)提高目標(biāo)域的表現(xiàn)[21],可以將訓(xùn)練好的模型參數(shù)遷移到新的模型來(lái)幫助新的模型訓(xùn)練,將遷移學(xué)習(xí)應(yīng)用于入侵檢測(cè)領(lǐng)域,可以減輕深度學(xué)習(xí)模型對(duì)大量數(shù)據(jù)的依賴,更好地實(shí)現(xiàn)檢測(cè)。
將源域(source domain)表示為DS,源域數(shù)據(jù)可表示為DS:(XS,YS)={(XS1,YS1),(XS2,YS2),···,(XSn,YSn)};將目標(biāo)域(target domain)表示為DT,目標(biāo)域數(shù)據(jù)可表示為DT:(XT,YT)={(XT1,YT1),(XT2,YT2),···,(XTn,YTn)}。將TCN作為源域預(yù)訓(xùn)練模型,利用遷移學(xué)習(xí)微調(diào)策略,對(duì)源域預(yù)訓(xùn)練模型進(jìn)行微調(diào),構(gòu)建目標(biāo)域TCN–TL模型,構(gòu)建過(guò)程如圖4所示。具體步驟為:1)以TCN模型當(dāng)作源域特征提取層,獲取TCN預(yù)訓(xùn)練模型的權(quán)值。2)對(duì)時(shí)間卷積網(wǎng)絡(luò)較淺的層數(shù)進(jìn)行凍結(jié),不再參與后續(xù)模型的訓(xùn)練;在凍結(jié)部分網(wǎng)絡(luò)的基礎(chǔ)上微調(diào)網(wǎng)絡(luò)模型。3)使用目標(biāo)領(lǐng)域的數(shù)據(jù)集進(jìn)行訓(xùn)練,使用Adam算法進(jìn)行參數(shù)更新;當(dāng)模型精度不再變化,保留模型新的參數(shù)和結(jié)構(gòu),模型訓(xùn)練完畢。
圖4 TCN–TL模型構(gòu)建過(guò)程Fig.4 TCN–TL model building process
實(shí)驗(yàn)環(huán)境:Windows10操作系統(tǒng)、Intel(R) Core(TM)i7–7700 CPU、24 GB內(nèi)存,基于Tensorflow2.0和Python3.6實(shí)現(xiàn)。使用密西西比州立大學(xué)于2014年公開(kāi)的工控入侵檢測(cè)數(shù)據(jù)集[22],數(shù)據(jù)集中包含正常網(wǎng)絡(luò)流量和7種攻擊網(wǎng)絡(luò)流量,詳細(xì)類別描述如表1所示。
表1 數(shù)據(jù)集類別描述Tab.1 Dataset category description
該數(shù)據(jù)集總共包含4個(gè)數(shù)據(jù)集,為最大程度地減少內(nèi)存需求和處理時(shí)間,使用精簡(jiǎn)的10%天然氣數(shù)據(jù)集。該天然氣數(shù)據(jù)集中包含10 619條樣本數(shù)據(jù),每條樣本數(shù)據(jù)中包含26個(gè)流量特征和1個(gè)類別標(biāo)簽。為獲得較大規(guī)模的源域數(shù)據(jù)集和較小規(guī)模的目標(biāo)域數(shù)據(jù)集,以滿足實(shí)驗(yàn)要求,對(duì)天然氣數(shù)據(jù)集進(jìn)行拆分,天然氣數(shù)據(jù)集劃分如表2所示。源域的數(shù)據(jù)集DS進(jìn)行了樣本不平衡處理,最終獲取9 320條數(shù)據(jù);目標(biāo)域數(shù)據(jù)集DT未做樣本不平衡處理,最終獲取1 598條數(shù)據(jù)。
表2 天然氣數(shù)據(jù)集和劃分Tab.2 Gas Pipeline dataset and partition
為評(píng)估本文模型的檢測(cè)性能,使用準(zhǔn)確率(Accuracy)、精確率(Precision)、召回率(Recall)、F1值(F1-measure)作為評(píng)價(jià)指標(biāo),具體公式如下:
式中,Tp為 正確分類正常行為,Tn為正確分類攻擊行為,F(xiàn)p為 錯(cuò)誤分類攻擊行為,F(xiàn)n為錯(cuò)誤分類正常行為。
為了驗(yàn)證數(shù)據(jù)處理的有效性,本文進(jìn)行多組對(duì)比實(shí)驗(yàn),包括異常值處理前后效果對(duì)比、使用SMOTE–Tomek Links方法處理樣本不平衡前后效果對(duì)比。
2.2.1 異常值處理前后效果
在工業(yè)控制系統(tǒng)中,惡意響應(yīng)注入攻擊會(huì)使傳感器測(cè)量值嚴(yán)重越界,明顯超出警報(bào)設(shè)置點(diǎn)范圍的過(guò)程測(cè)量值,因此產(chǎn)生了一些特征異常值。為說(shuō)明數(shù)據(jù)異常值處理的必要性進(jìn)行了對(duì)比實(shí)驗(yàn),異常值處理前后的實(shí)驗(yàn)結(jié)果如表3所示。
表3 異常值處理前后結(jié)果對(duì)比Tab.3 Comparison of results before and after outlier processing
由表3可知:對(duì)特征“measurement”進(jìn)行異常值處理后,在準(zhǔn)確率、精確率、召回率、F1值方面均獲得了明顯提升,大幅提高了檢測(cè)效果。這是因?yàn)椋禾卣鳟惓V滴催M(jìn)行處理時(shí),特征數(shù)據(jù)之間差異極大,在對(duì)數(shù)據(jù)進(jìn)行歸一化,會(huì)造成正常流量樣本和攻擊流量樣本差異過(guò)小,使攻擊流量樣本被誤分類為正常流量樣本。
2.2.2 樣本不平衡處理效果對(duì)比
僅對(duì)源域數(shù)據(jù)集進(jìn)行樣本不平衡處理,采用SMOTE–Tomek Links方法對(duì)少數(shù)類攻擊樣本進(jìn)行過(guò)采樣并進(jìn)行數(shù)據(jù)清洗。僅對(duì)MSCI、MFCI、DoS這3類樣本進(jìn)行樣本不平衡處理。表4是利用初始配置的TCN模型對(duì)樣本不平衡處理前后的源域數(shù)據(jù)集進(jìn)行對(duì)比實(shí)驗(yàn)的結(jié)果。
表4 樣本不平衡處理前后結(jié)果對(duì)比Tab.4 Comparison of results before and after sample imbalance handling
由表4可知:通過(guò)SMOTE–Tomek Links算法對(duì)數(shù)據(jù)集進(jìn)行處理后,提高了數(shù)據(jù)集的質(zhì)量;SMOTE–Tomek Links算法可以有效地提升召回率和F1值,準(zhǔn)確率和精確率也得到相應(yīng)提升。
利用信息增益率進(jìn)行初步的特征篩選,信息增益率越大表示該特征對(duì)分類的貢獻(xiàn)度越高,通過(guò)排序選取了18個(gè)特征構(gòu)成新的數(shù)據(jù)集X。在PCA降維階段,對(duì)數(shù)據(jù)集X的18維特征進(jìn)行分析,最終選取了貢獻(xiàn)度最高的14個(gè)主成分,即k=14,構(gòu)成最優(yōu)特征子集。本文采用基于IGR–PCA的特征選擇算法進(jìn)行特征選擇,并與其他特征選擇算法IGR、PCA、KPCA算法進(jìn)行對(duì)比實(shí)驗(yàn),結(jié)果如圖5所示。圖5中,None表示未采用任何特征選擇算法。
由圖5可知,數(shù)據(jù)經(jīng)本文提出的特征選擇算法處理后,其準(zhǔn)確率、召回率和F1值得到了明顯的提升,其中,對(duì)準(zhǔn)確率的提升最為明顯,其準(zhǔn)確率為98.55%,相較于僅經(jīng)過(guò)IGR處理的方法準(zhǔn)確率提升了1.38%。實(shí)驗(yàn)結(jié)果表明,本文提出的基于IGR–PCA的特征選擇算法在降低數(shù)據(jù)維度減少模型計(jì)算量的同時(shí)仍能保持良好的檢測(cè)效果。
圖5 不同特征選擇算法實(shí)驗(yàn)結(jié)果對(duì)比Fig.5 Comparison of experimental results of different feature selection algorithms
為了取得較好的模型參數(shù)配置,首先,進(jìn)行多組參數(shù)設(shè)置測(cè)試;其次,為了驗(yàn)證本文提出的源域TCN預(yù)訓(xùn)練模型的有效性,與其他入侵檢測(cè)方法進(jìn)行檢測(cè)效果對(duì)比;最后,采用本文源域TCN模型進(jìn)行源域數(shù)據(jù)多分類測(cè)試。
2.4.1 參數(shù)設(shè)置測(cè)試
為獲得最佳的模型參數(shù)配置,對(duì)模型進(jìn)行了多組參數(shù)設(shè)置測(cè)試,主要影響參數(shù)包括擴(kuò)張因子d和卷積核大小w。實(shí)驗(yàn)評(píng)價(jià)指標(biāo)包括準(zhǔn)確率、精確率、召回率和F1值,同時(shí),考慮模型訓(xùn)練時(shí)間t,將其作為新的評(píng)價(jià)指標(biāo)。對(duì)參數(shù)d、w采用不同設(shè)置進(jìn)行測(cè)試的實(shí)驗(yàn)結(jié)果如表5所示。
表5 參數(shù)d、w的不同設(shè)置的測(cè)試結(jié)果Tab.5 Test results for different setting of parameters d and w
由表5可知:當(dāng)本文源域TCN預(yù)訓(xùn)練模型的擴(kuò)張因子d取8,卷積核大小w取1時(shí),準(zhǔn)確率、召回率、F1值的效果最好。隨著擴(kuò)張因子d的增加,模型的層數(shù)和參數(shù)量在遞增,造成訓(xùn)練時(shí)間變長(zhǎng)。綜合考慮,本文選取了擴(kuò)張因子d=8,卷積核大小w=1的參數(shù)配置。
深度學(xué)習(xí)模型中良好的參數(shù)設(shè)置能夠有效提升檢測(cè)分類的性能,經(jīng)多組參數(shù)設(shè)置實(shí)驗(yàn),最終確立了源域TCN預(yù)訓(xùn)練模型的參數(shù)配置,模型參數(shù)設(shè)置如表6所示。
表6 源域TCN模型參數(shù)設(shè)置Tab.6 Parameter settings of source domain TCN model
2.4.2 源域的不同模型對(duì)比實(shí)驗(yàn)分析
為了驗(yàn)證本文提出的源域TCN預(yù)訓(xùn)練模型的檢測(cè)性能,將RNN、LSTM[23]、BiLSTM、OCC–eSNN[24]、CNN–LSTM[25]、PPO2[26]、HCIPSO–OCSVM[27]在入侵檢測(cè)中的相關(guān)方法及本文的源域TCN模型進(jìn)行檢測(cè)效果對(duì)比實(shí)驗(yàn),結(jié)果如表7所示。
表7 源域的不同深度學(xué)習(xí)模型檢測(cè)效果Tab.7 Detection effect of different deep learning models in source domain
從表7可知:本文的源域TCN模型在擁有較大規(guī)模數(shù)據(jù)集的源域上分類準(zhǔn)確度和精確度最高,分別達(dá)到99.25%和99.52%;對(duì)于時(shí)間序列數(shù)據(jù),時(shí)間卷積網(wǎng)絡(luò)保存較長(zhǎng)時(shí)間的數(shù)據(jù)信息,更好地進(jìn)行特征提取,能夠滿足工控系統(tǒng)的安全需求。從召回率和F1值看出,本文模型明顯優(yōu)于傳統(tǒng)的循環(huán)神經(jīng)網(wǎng)絡(luò)RNN和LSTM,因?yàn)镽NN和LSTM在訓(xùn)練過(guò)程中容易出現(xiàn)梯度爆炸,降低了檢測(cè)性能。在訓(xùn)練時(shí)間消耗方面,本文模型具有更短的訓(xùn)練時(shí)間,能夠滿足工控系統(tǒng)對(duì)時(shí)間的需求。
2.4.3 源域數(shù)據(jù)多分類結(jié)果測(cè)試
為了說(shuō)明本文源域TCN預(yù)訓(xùn)練模型對(duì)Normal(正常流量)及NMRI、CMRI、MSCI、MPCI、MFCI、DoS、RECO 7種攻擊類型的檢測(cè)效果,圖6展示了本文的源域TCN模型在源域數(shù)據(jù)集各類樣本上的檢測(cè)效果。
圖6 本文模型的源域多分類結(jié)果Fig.6 Source domain multiple classification results of the proposed model
從圖6可知:本文模型對(duì)MFCI和RECO兩種攻擊類型具有最好的檢測(cè)性能;對(duì)MSCI和DoS兩種攻擊類型檢測(cè)效果欠佳;對(duì)NMRI攻擊類型的召回率較低,召回率為90.74%。
本文使用源域的TCN預(yù)訓(xùn)練模型,結(jié)合遷移學(xué)習(xí)的微調(diào)策略,學(xué)習(xí)源域模型的權(quán)重,將源域?qū)W習(xí)到的知識(shí)遷移到目標(biāo)域。使用1 598條樣本數(shù)據(jù)進(jìn)行實(shí)驗(yàn),先對(duì)目標(biāo)域的不同模型的檢測(cè)效果進(jìn)行對(duì)比,再進(jìn)行目標(biāo)域數(shù)據(jù)多分類測(cè)試。
2.5.1 目標(biāo)域的不同模型對(duì)比實(shí)驗(yàn)分析
參照源域?qū)嶒?yàn)設(shè)置,在目標(biāo)域數(shù)據(jù)集上進(jìn)行檢測(cè)效果實(shí)驗(yàn),利用RNN、LSTM[23]、BiLSTM、CNN–LSTM[25]、未采用遷移學(xué)習(xí)的TCN模型與本文采用遷移學(xué)習(xí)的目標(biāo)域TCN–TL模型進(jìn)行檢測(cè)效果測(cè)試對(duì)比實(shí)驗(yàn),結(jié)果如表8所示。
表8 目標(biāo)域的不同深度學(xué)習(xí)模型檢測(cè)效果Tab.8 Detection effect of different deep learning models in target domain
由表8可知:本文的TCN–TL模型在較小規(guī)模的目標(biāo)域數(shù)據(jù)集上的檢測(cè)效果最好;RNN、LSTM等深度學(xué)習(xí)模型需要干凈的大規(guī)模數(shù)據(jù)集,在較小規(guī)模的目標(biāo)域數(shù)據(jù)集上表現(xiàn)差。其原因是:本文的TCN–TL模型使用遷移學(xué)習(xí)的方法,降低了深度學(xué)習(xí)模型對(duì)大規(guī)模數(shù)據(jù)集的要求,提升了模型的適應(yīng)性;同時(shí),本文模型使用遷移學(xué)習(xí)微調(diào)策略,繼承了源域TCN模型參數(shù),相比于原始的TCN模型,其訓(xùn)練時(shí)間節(jié)省7.1 s,在數(shù)據(jù)集訓(xùn)練階段的時(shí)間消耗上耗時(shí)最少,更加符合工業(yè)控制系統(tǒng)入侵檢測(cè)的要求。
2.5.2 目標(biāo)域數(shù)據(jù)多分類結(jié)果測(cè)試
為了驗(yàn)證本文目標(biāo)域TCN–TL模型對(duì)Normal(正常流量)及NMRI、CMRI、MSCI、MPCI、MFCI、DoS、RECO 7種攻擊類型的檢測(cè)效果,對(duì)目標(biāo)域數(shù)據(jù)集各類樣本的精確率、召回率和F1值進(jìn)行了統(tǒng)計(jì),目標(biāo)域模型的多分類結(jié)果如圖7所示。
圖7 本文模型的目標(biāo)域多分類結(jié)果Fig.7 Target domain multiple classification results of the proposed model
從圖7可以看出,本文的目標(biāo)域模型對(duì)MSCI、MPCI、MFCI和RECO 4種攻擊類型具有最好的檢測(cè)性能,對(duì)NMRI攻擊類型的檢測(cè)效果欠佳,對(duì)MFCI攻擊樣本的檢測(cè)效果最差。其原因是在目標(biāo)域測(cè)試階段,MFCI只有一個(gè)樣本用于測(cè)試集測(cè)試,本文目標(biāo)域TCN–TL模型對(duì)該樣本分類錯(cuò)誤,導(dǎo)致精確率、召回率和F1值均為0。對(duì)多分類的實(shí)驗(yàn)結(jié)果綜合考慮,本文模型取得了較好的分類效果,但對(duì)小樣本攻擊數(shù)據(jù)的檢測(cè)有待進(jìn)一步提升。
本文提出一種基于特征選擇和時(shí)間卷積網(wǎng)絡(luò)的工業(yè)控制系統(tǒng)入侵檢測(cè)方法。針對(duì)流量數(shù)據(jù)特征冗余,將IGR–PCA特征算法應(yīng)用于工控系統(tǒng)數(shù)據(jù)降維,篩選出最優(yōu)特征子集。針對(duì)工業(yè)控制系統(tǒng)的時(shí)間特性,為更好地實(shí)現(xiàn)對(duì)小規(guī)模數(shù)據(jù)集的檢測(cè),結(jié)合遷移學(xué)習(xí)微調(diào)策略,依次構(gòu)建了源域TCN預(yù)訓(xùn)練模型和目標(biāo)域TCN–TL模型。實(shí)驗(yàn)結(jié)果表明,本文模型在源域和目標(biāo)域上都具有較好的檢測(cè)效果,針對(duì)目標(biāo)域的小規(guī)模數(shù)據(jù)集,采用遷移學(xué)習(xí)方法,利用源域數(shù)據(jù)集進(jìn)行預(yù)訓(xùn)練,能夠有效地降低對(duì)訓(xùn)練樣本數(shù)量的依賴,在提升模型檢測(cè)性能的同時(shí)減少訓(xùn)練時(shí)間的消耗。在未來(lái)的研究工作中,將考慮源域數(shù)據(jù)與目標(biāo)域數(shù)據(jù)的分布特征,構(gòu)建合適的遷移算法,提升模型的適應(yīng)性和泛化能力,更好地提高檢測(cè)性能;同時(shí),對(duì)小樣本攻擊數(shù)據(jù)的檢測(cè)也需要進(jìn)一步研究。