胡向東,李之涵
(重慶郵電大學自動化學院/工業(yè)互聯(lián)網學院,重慶 400065)
近年來,工業(yè)互聯(lián)網在智能制造、燃氣供給、電力水利等眾多工業(yè)領域興起[1],成為推動經濟發(fā)展和新一代基礎設施建設不可或缺的新興產業(yè)支撐性技術. 工業(yè)控制網絡原本相對封閉,與外界物理隔離,網絡建設本身更多關注運行穩(wěn)定性和功能安全,缺乏對網絡開放條件下信息安全問題的全面設計. 隨著工業(yè)信息化深度發(fā)展,針對工業(yè)互聯(lián)網的攻擊日益頻繁,破壞性逐漸增大[2]. 典型地,“震網”病毒通過西門子設備漏洞對伊朗核電站的攻擊為工業(yè)互聯(lián)網信息安全敲響了警鐘. 盡管傳統(tǒng)互聯(lián)網中安全產品基于歷史積累和迭代達到了一定成熟度,但限于工業(yè)互聯(lián)網自身的資源特點、運行模式和網絡屬性等,并不能將現(xiàn)有方法直接移植入工業(yè)互聯(lián)網,往往需量身定制針對性解決方案[3].如通過對工業(yè)系統(tǒng)通信模式和加密模式的研究可知,工業(yè)網絡與家庭和辦公室網絡并不兼容,因此普通入侵檢測系統(tǒng)(Intrusion Detection System,IDS)無法直接適應工業(yè)應用[4]. 同時,因為相對獨立,工業(yè)互聯(lián)網中攻擊行為的數(shù)量遠低于傳統(tǒng)互聯(lián)網,這種情況也會給入侵檢測帶來困難.
與此同時,構建IDS 的方法呈現(xiàn)出多樣化發(fā)展趨勢,新思路、新方法不斷涌現(xiàn). 文獻[5]使用熵離散化算法和決策樹構建分類器對多個應用進行分類,而后對其進行了稀疏化處理. 文獻[6]使用OpenPLC平臺以及AES-256 加密模擬數(shù)據(jù)采集與監(jiān)視控制(Supervisory Control and Data Acquisition,SCADA)系統(tǒng),在此基礎上使用無監(jiān)督的k-means 算法對代碼注入攻擊、拒絕服務攻擊和攔截進行了檢測. 文獻[7]利用感知哈希矩陣量化屬性,而后使用K近鄰投票原則完成入侵檢測任務.文獻[5~7]通過人工選取和組合特征的手段完成分類器的構建,普遍存在檢測準確率偏低、系統(tǒng)魯棒性差等問題,特征選取的優(yōu)劣也極大影響了實驗效果.
在淺層學習方法發(fā)展的同時,基于深度學習技術的IDS 也取得了巨大進步. 文獻[8]設計了使用支持向量機和深度信念網絡的混合IDS用于工業(yè)控制系統(tǒng),但該文獻使用了NSL-KDD 數(shù)據(jù)集進行仿真,NSL-KDD 較為老舊,且并不適用于工業(yè)控制系統(tǒng)環(huán)境. 文獻[9]利用基于離差標準化(Min-Max Normalization,MMN)的卷積神經網絡對校園網流量進行分析,該模型開銷較小且易于訓練,很好地解決了參數(shù)選取問題. 但該分類方法結構與LeNet-5 差異較小,結構簡單,難以應對海量復雜數(shù)據(jù)的特征學習. 文獻[10]針對入侵樣本分布不均衡問題,使用基于窗口的實例選擇算法清洗訓練集并基于循環(huán)神經網絡構建了入侵分類模型. 雖然取得了較高的準確率,但實驗使用了復雜的預處理過程,難以體現(xiàn)深度學習隱性提取特征的優(yōu)勢. 文獻[11]使用條件深度信念網絡檢測智能電網中的攻擊,該文獻使用總線測試系統(tǒng)進行仿真,并提供了與人工神經網絡和支持向量機等方法的對比. 這些方法從多角度探討了IDS 的不同方案,但部分方法使用復雜手段處理數(shù)據(jù),難以解決不同分類算法對特征選取的差異性要求.多數(shù)模型結構單一,存在模型收斂慢、樣本分布不均勻時魯棒性差等問題.
2017 年,文獻[12]提出基于向量的膠囊網絡(Cap?sule Network,CapsNet). 該網絡引入了向量膠囊層和動態(tài)路由算法,用膠囊表示神經元的集合,使用動態(tài)路由的方法連接不同隱藏層之間的膠囊以映射不同特征間的相對關系. 膠囊網絡改善了傳統(tǒng)卷積神經網絡對目標位置不敏感的問題. 例如,文獻[13]關于高光譜圖片的分類研究中,即使測試樣本數(shù)量遠大于訓練樣本數(shù)量,膠囊網絡依然取得了較好的分類成績. 但因動態(tài)路由算法無法分享各神經元的權重,膠囊網絡的參數(shù)量遠大于傳統(tǒng)的卷積神經網絡.
通過對上述文獻的分析可知,深度學習有可能從工業(yè)互聯(lián)網數(shù)據(jù)中提取優(yōu)質特征,從而創(chuàng)建更好的模型. 本文受膠囊網絡啟發(fā),在此基礎上引入殘差結構對其進行改進,構建融合殘差塊的膠囊網絡(Residual Capsule Network,RCN)對工業(yè)互聯(lián)網數(shù)據(jù)關聯(lián)特征進行學習,構建入侵檢測模型實現(xiàn)對網絡流量的有效處理. 該方法避免了人工特征提取的復雜流程,很好地提高了入侵樣本分布不均衡背景下的檢測精度,縮短了模型訓練時間.
文獻[12]提出的膠囊網絡是一個淺層神經網絡.其結構如圖1所示.
圖1 膠囊網絡基本結構
膠囊網絡引入動態(tài)路由算法對向量膠囊之間的關系進行迭代. 因參數(shù)量多于傳統(tǒng)卷積神經網絡,在多數(shù)節(jié)點算力有限的場景下,膠囊網絡難以在工業(yè)互聯(lián)網中分布實施. 同時,工業(yè)互聯(lián)網數(shù)據(jù)特性又使得傳統(tǒng)模型性能欠佳. 為了降低膠囊網絡的計算開銷,提高識別精度,本文通過引入殘差結構的方式改進膠囊網絡,其結構如圖2所示.
圖2 融合殘差塊的膠囊網絡結構
RCN 使用殘差結構對流量特征進行降維以提高膠囊輸入質量,令膠囊的預測更加快速精準. 融合殘差塊的膠囊網絡包括由殘差塊、卷積層和池化層構成的殘差網絡模塊以及由主膠囊層和數(shù)字膠囊層構成的膠囊網絡模塊.
微軟研究院的He[14]等人于2016 年提出了深度殘差神經網絡(Deep Residual Network,DRN). DRN 又名ResNet,通過引入殘差塊的方式完成了多達152 層網絡的構建,極大地改善了因網絡深度增加導致的性能退化問題. 同時,DRN在分類步驟前引入一個全局平均池化層提取每個特征圖的均值,可以對數(shù)據(jù)進行降維的同時避免出現(xiàn)過擬合. 本文在DRN 結構的基礎上構建特征提取的殘差網絡模塊,從而提高膠囊網絡的輸入特征質量.
2.1.1 卷積層
卷積層是對圖像進行抽象的主要結構. 卷積層由數(shù)個各異的特征圖組成,卷積層對上層的一小塊區(qū)域進行卷積操作,形成下一層的節(jié)點[15],這塊區(qū)域被稱為卷積核或濾波器. 卷積的具體形式為
因為卷積運算不包含非線性成分,所以經過式(1)計算之后得到的輸出數(shù)據(jù)還需要使用激活函數(shù)進行非線性處理,使網絡具有擬合復雜特征的能力. 在卷積神經網絡中,ReLU 函數(shù)可以大幅提高網絡稀疏性,提高模型效率[16]. 本文采用ReLU作為各層的激活函數(shù).
2.1.2 殘差塊
殘差塊是殘差網絡的主要構成部分,有不同的表示形式,共同特點為引入了捷徑,把輸入傳到輸出作為結果的一部分. 一種典型的殘差塊結構如圖3所示.
圖3 殘差塊結構
若x的維度與殘差函數(shù)的維度不同,為了實現(xiàn)輸入與輸出的融合,利用線性投影矩陣Ws改變維度. 具體公式為
為實現(xiàn)維度轉換,本文在捷徑中使用一組尺寸為1×1×16的卷積核將輸入轉化為合適的形式.
2.1.3 池化層
池化層又稱采樣層,一般應用在卷積層之后,主要作用是對數(shù)據(jù)進行降維,同時對上層特征圖進行壓縮形成新的特征圖. 這種處理方式既降低了網絡的復雜度,又有效保留了原圖像的主要特征信息. 池化層可以表達為
式(4)中,down(?)為次抽樣函數(shù),通常對輸入特征圖局部進行加權求和;β為按需設置的乘性參數(shù);b為偏置.
本文使用最大池化和全局平均池化2種方法,其主要區(qū)別在于使用的次抽樣函數(shù)不同. 在殘差網絡模塊的S1層使用步長為2,采樣核尺寸為2×2 的最大池化層進行數(shù)據(jù)降維,而后對C3層輸出進行全局平均池化處理,得到一組32維的張量作為膠囊網絡模塊的輸入.
傳統(tǒng)的卷積神經網絡通過卷積核抽象圖像特征,使用全連接層輸出分類結果. 其標量化的計算方式對物體空間關系辨識度差. 膠囊網絡使用向量化的神經元(即膠囊)來代替標量神經元節(jié)點,改變了傳統(tǒng)神經網絡標量與標量相鏈接的架構. 每個膠囊攜帶的信息從一維增加到多維,向量的方向代表了圖像中出現(xiàn)的特定實體的多種屬性,例如大小、相對位置、紋路等,向量的長度則表示不同屬性的存在概率. 為了匹配膠囊間反向傳播需求,文獻[12]針對膠囊間迭代關系提出動態(tài)路由算法,其核心思想是膠囊的權重由低層次膠囊輸入與高層次膠囊輸出的相似度決定. 如果低層膠囊的輸入與高層膠囊的輸出具有較高相似度,則這些低級別膠囊的路由即為較高級別的膠囊.
首先,高層膠囊由低層膠囊計算得出. 動態(tài)路由初始階段,L層的第i個膠囊連接到L+1 層的膠囊j的概率公式為
式(5)中,bij是膠囊i連接到膠囊j的先驗概率. 在路由更新時,首先計算L層膠囊i對L+1 層膠囊j的輸出的預測膠囊uj|i,即
式(6)中,Wi|j為轉換矩陣,ui為L層膠囊i. 在計算預測膠囊之后,通過式(7)和式(8)計算高層膠囊,計算vj的過程可以用擠壓函數(shù)表示,即
式(8)中,sj為L層膠囊的總輸入,vj為L+1 層膠囊j的輸出. 將vj和預測膠囊uj|i用于更新bij,從式(5)開始新一輪的循環(huán). 動態(tài)路由算法迭代過程如算法1所示.
① 不留退路,不給未來留下遺憾。② 面對愈來愈近的高考,有些考生卻不急不躁,照玩照鬧,因為他們早已找好退路,若是高考失利,就出國或隨便讀個院校唄。③ 可是,他們沒有想過,那樣的未來有什么意義!④ 胡亂打發(fā)日子,荒廢奮斗的大好青春,當以后回想起高三時光,只有空白。⑤ 不要給自己的人生找退路,那樣只會得到一個蒼白空虛的空殼。⑥ 沒有激情和夢想的灌注,這樣的人生道路又有誰稀罕?⑦ 整理好浮躁情緒,將自己驅向毫無退路的前方,不要給未來留下遺憾,充實人生才是真諦。
算法1 動態(tài)路由算法輸入:迭代次數(shù)n,膠囊層數(shù)l過程:1.初始化bij=0 2.FOR n DO 3. cij=bij exp( )∑jexp( )bij 4.sj=∑jcij×uj|i 5.vj=squash(sj)6.bij ←bij+uj|i ?vj 7.END FOR輸出:vj
膠囊用向量長度來表示其表征內容出現(xiàn)的概率,輸出的概率總和并不等于1. 所以不同于傳統(tǒng)分類任務常用的交叉熵損失,本文采用間隔損失構建網絡的損失函數(shù). 間隔損失函數(shù)可表示為
式(9)中,c表示類別;Tc表示第c類入侵是否存在;vc表示在輸出層膠囊的長度,即樣本屬于第c類的概率;m+為懲罰假陽性的上界,m-為懲罰假陰性的下界;λ為比例相關系數(shù),用于調整兩者比重. 本文分別設置λ,m+和m-的值為0.25,0.9和0.1.
動態(tài)路由算法解決了膠囊層之間的權重更新問題. 但動態(tài)路由僅存在于膠囊之間,為了提高網絡的收斂能力,還需引入反向傳播過程. 本文使用Adam 方法作為損失函數(shù)優(yōu)化算法,通過迭代最小化損失值以更新神經元權重,令RCN平穩(wěn)收斂.
在RCN 的基礎上,本文以工業(yè)互聯(lián)網為對象,提出如圖4所示的入侵檢測模型.
圖4 基于RCN網絡的入侵檢測模型架構
該模型通過預處理強化網絡數(shù)據(jù)映射圖像的相對關系,充分挖掘數(shù)據(jù)信息特征,以RCN 為核心執(zhí)行入侵檢測任務,主要包括以下幾個模塊.
(1)數(shù)據(jù)預處理模塊:將工業(yè)互聯(lián)網數(shù)據(jù)進行標準化、歸一化處理并映射為灰度矩陣. 而后,將其轉換為灰度圖像以便于觀察和處理.
(2)RCN 模塊:將灰度圖像作為模塊輸入,通過殘差網絡結構提取數(shù)據(jù)特征,經過擠壓函數(shù)處理后送入膠囊模塊對特征進行聚合,使用動態(tài)路由算法更新膠囊間權重.
(3)檢測分類模塊:依據(jù)數(shù)據(jù)類別訓練分類器,使用分類器對預處理后的攻擊樣本進行檢測,輸出多維混淆矩陣,通過混淆矩陣可觀察檢測結果.
現(xiàn)階段,工業(yè)互聯(lián)網主要由工廠內部網絡與外部網絡2 部分組成. 外部網絡用于連接工廠和客戶、工廠和供應鏈等,主要由公共互聯(lián)網承擔. 內部網絡主要用于工業(yè)控制,由工控網絡發(fā)展而來,主要包括工業(yè)生產數(shù)據(jù)采集與監(jiān)視控制系統(tǒng)、分布式控制系統(tǒng)、可編程邏輯控制器以及內部生產運營決策支持系統(tǒng)等.
在現(xiàn)代智能工廠等較為復雜的工業(yè)系統(tǒng)中,其控制器通常分布式部署,網絡包括多個實體和大量傳感器連接. 工控網絡中的各種設備通常由不同的制造商供應,使用區(qū)別于傳統(tǒng)互聯(lián)網的特定協(xié)議. 其網絡節(jié)點計算能力差異大,實時性要求高,這些因素使工業(yè)互聯(lián)網與民用網絡存在較大不同[17,18].
此外,工業(yè)互聯(lián)網流量特征在于流量的規(guī)則性和協(xié)議特殊性,具有穩(wěn)定的吞吐量和周期模式,有清晰的數(shù)據(jù)包和可預測的數(shù)據(jù)流向[19]. 這種特點可以進行監(jiān)督學習,適合基于異常的入侵檢測技術的開發(fā)和實施.同時,由于工業(yè)系統(tǒng)的穩(wěn)定性和相對隔離性,每天產生的數(shù)據(jù)是海量的,但網絡攻擊占比較低,在統(tǒng)計上表現(xiàn)為數(shù)據(jù)的嚴重不平衡.
3.1.2 實驗數(shù)據(jù)分析
基于對實驗數(shù)據(jù)的典型性、廣泛接受性、系統(tǒng)性和研究對象適宜性等要求,本文采用美國密西西比州立大學SCADA 實驗室采集的氣體管道數(shù)據(jù)集(gas pipe?line)[20]對檢測模型進行驗證. 該工業(yè)互聯(lián)網數(shù)據(jù)集來源于實驗室規(guī)模應用Modbus/TCP 協(xié)議的氣體管道平臺. 該平臺包括壓縮機、壓力表等傳感器和使用電磁閥控制小型氣密管道,使用比例積分微分控制方案維持管道氣壓. 通過基于RS-232 的網絡數(shù)據(jù)記錄器監(jiān)視和存儲Modbus流量.
該平臺使用線路插件捕獲數(shù)據(jù)日志并進行攻擊注入,通過在VMware 虛擬機上運行的C 程序監(jiān)視串行端口的通信,為流量標記時間戳并記錄在日志文件中. 以命令注入攻擊為例,向平臺發(fā)送惡意命令會嘗試開關壓縮機或調整安全閥的狀態(tài),通過記錄網絡流量特征、過程控制和傳感器狀態(tài)可形成該類攻擊的具體數(shù)據(jù).氣體管道數(shù)據(jù)集將數(shù)據(jù)分為注入攻擊、拒絕服務攻擊、偵查攻擊和正常數(shù)據(jù)4 個大類,其中,注入攻擊又可以分為5 個子類. 數(shù)據(jù)的具體類別及分布情況如表1所示.
表1 氣體管道數(shù)據(jù)集樣本類別分布
由于多種原因,例如不同的晝夜模式、數(shù)據(jù)缺少相關性以及分布的不同,用于描述公共互聯(lián)網流量的現(xiàn)有模型不能直接應用于工業(yè)互聯(lián)網. 與有20 多年歷史的KDD99[21]以及其他數(shù)據(jù)集相比,gas pipeline 更符合工業(yè)互聯(lián)網現(xiàn)狀,其數(shù)據(jù)構建方式更符合真實網絡環(huán)境要求.
為了充分驗證RCN 在工業(yè)互聯(lián)網入侵檢測領域的有效性,采用隨機的方式抽取氣體管道數(shù)據(jù)集50%的數(shù)據(jù)用于模型訓練和測試,并按4∶1的比例隨機劃分訓練集與測試集,二者分布如表2所示.
由表2可知,訓練集和測試集均具有明顯的數(shù)據(jù)不平衡性. 數(shù)據(jù)不平衡引起的分類問題始于二分類中的數(shù)據(jù)偏態(tài),會使檢測器對多數(shù)類樣本產生偏倚[22],當少數(shù)類樣本在一些情況下至關重要時,不能區(qū)分少數(shù)類樣本會使檢測失去實際意義.
表2 氣體管道數(shù)據(jù)集樣本類別分布
以訓練集為例,正常數(shù)據(jù)占數(shù)據(jù)總量比例高達63%,而數(shù)據(jù)量最少的惡意功能命令注入攻擊MFCI 僅占數(shù)據(jù)總量的0.57%,相較于多數(shù)類樣本所占的比重極小,造成少數(shù)類樣本的相對稀缺.
3.2.1 數(shù)據(jù)的標準化和歸一化
氣體管道數(shù)據(jù)樣本中數(shù)值差別大,異常值、離群值數(shù)量多,會對入侵檢測模型的收斂速度和精度造成負面影響,因此需要對數(shù)據(jù)依次進行標準化和歸一化處理. 氣體管道數(shù)據(jù)共有27 類屬性實例,包括26 類數(shù)據(jù)特征和一類標簽屬性. 將標簽分離,首先假設數(shù)據(jù)集可以用n行m列的矩陣T構成,即
令Ai為一類特征,可將Ai表示為
那么矩陣T可以表示為
計算每類特征數(shù)據(jù)的標準差(Standard Deviation,SD). 若SD≥8,則需要對這類特征數(shù)據(jù)進行標準化處理,令A′i為處理后的數(shù)據(jù),Ai為需處理的原始數(shù)據(jù),標準化過程可以表示為
完成標準化處理后的數(shù)據(jù)需進一步歸一化. 若SD<8,則跳過標準化過程直接進行歸一化處理,方法如式(14)所示:
3.2.2 矩陣映射和可視化處理
完成標準化和歸一化處理后得到范圍在[0,1]之間的數(shù)據(jù)集. 為構建合適的輸入形式,使用一個數(shù)值代表一個矩陣中的一個灰度像素點,將數(shù)值乘以255 后,將26 位數(shù)據(jù)特征填充到6×6 大小的灰度矩陣中. 因矩陣維數(shù)大于數(shù)據(jù)特征位數(shù),需要在矩陣末尾進行補零操作.
從各類數(shù)據(jù)中各隨機選取一組,將其映射的灰度矩陣轉化為圖像,得到如圖5 所示的圖片集. 其中,數(shù)據(jù)值越小,對應矩陣位置越接近黑色,反之亦然. 可以看出,不同種類數(shù)據(jù)所映射的圖片之間有較為明顯的區(qū)別,而同種類的數(shù)據(jù)映射的圖片有一定的相似性. 從可視化處理的結果看,預期使用RCN 學習特征可以取得較好的效果.
圖5 不同數(shù)據(jù)種類的可視化表示
為模擬工業(yè)互聯(lián)網環(huán)境,使用一臺工控計算機訓練網絡模型,訓練過程不使用圖形加速卡. 實驗的軟硬件環(huán)境配置如表3所示.
進行參數(shù)組合訓練,依據(jù)測試結果確定模型訓練的超參數(shù)設置如下:每次迭代訓練從訓練集數(shù)據(jù)中選取的數(shù)據(jù)量為256,動態(tài)路由迭代次數(shù)為3.
入侵檢測算法典型的評價指標包括準確率(Acc)、誤報率(False Negative Rate,F(xiàn)NR)和漏報率(False Posi?tive Rate,F(xiàn)PR),但因工業(yè)互聯(lián)網入侵數(shù)據(jù)不平衡性嚴重,占總數(shù)量絕大多數(shù)的正常數(shù)據(jù)會使傳統(tǒng)指標發(fā)生偏移.為保證評估的全面性,本文綜合采用準確率、漏報率、誤報率和F1值作為評價指標,其中,F(xiàn)1值由查全率(Recall)和查準率(Precision)定義. 指標可由式(15)~式(20)定義:
式(15)~式(20)中,TP 代表真正類,表示本屬于攻擊的樣本被正確預測為攻擊的樣本數(shù);FN 代表假負類,表示將攻擊誤報為正常樣本的數(shù)目;FP代表假正類,表示本屬于正常的樣本被錯誤預測為攻擊的樣本數(shù);TN 代表真負類,表示本屬于正常的樣本被準確預測為正常的樣本數(shù).
為了評估RCN 在工業(yè)互聯(lián)網入侵檢測中的指標,除CapsNet 外,本文選取深度學習領域的BiLSTM,GRU,MMN-CNN[9]和傳統(tǒng)機器學習方法PSO-SVM 進行對比實驗.
為評估模型訓練情況,BiLSTM,GRU,MMN-CNN使用交叉熵作為損失函數(shù),CapsNet 和RCN 使用間隔損失函數(shù). 為公平起見,所有模型使用預處理后的數(shù)據(jù),并針對輸入形式做相應變換.
4.3.1 數(shù)據(jù)預處理分析
氣體管道數(shù)據(jù)集離群值多,以氣壓值屬性為例,其最小值為-6.81×1037,最大值為6.15×1036. 如果直接進行歸一化處理,那么這些極值很大的離群值會使其余數(shù)據(jù)過于集中,無法反映數(shù)值的相對大小. 本文在預處理過程中使用反正切函數(shù)對部分數(shù)據(jù)進行標準化處理,減小了數(shù)據(jù)的整體離散性.
圖6為一個NMRI類攻擊數(shù)據(jù)進行標準化處理前后對比圖. 可以看出,標準化處理后的可視化圖像灰度特征變化顯著,有利于進行深度特征提取. 為進一步驗證標準化處理的效果,保持其他步驟不變,使用RCN 和GRU對預處理前后的數(shù)據(jù)進行實驗,結果如圖7所示. 可以直觀地看出,預處理能有效提升對入侵數(shù)據(jù)的檢測效果.
圖6 預處理前后對比圖
圖7 預處理前后指標值變化
4.3.2 模型收斂性分析
上一節(jié)對數(shù)據(jù)預處理效果進行了分析,圖8為不同模型的損失值隨迭代次數(shù)的變化情況. 因為RCN 和CapsNet 采取了間隔損失作為評估函數(shù),所以對其損失值進行單獨比較.
從圖8 中可以觀察出RCN 的訓練損失曲線平穩(wěn)較快收斂. 結合圖9,可以直觀地看出所有檢測模型都有一定程度的檢測能力,但本文方法在收斂速度與精度上均體現(xiàn)出顯著的優(yōu)勢.BiLSTM 和GRU容易陷入局部最優(yōu),曲線波動較大.MMN-CNN 無法對圖像相對位置關系進行處理,訓練精度整體較低. 在引入殘差網絡進行改進后,可以看到RCN 的精度曲線比CapNet 更加平穩(wěn),這說明殘差結構的引入顯著提高了膠囊層分類質量.
圖8 損失值隨迭代次數(shù)變化的曲線
圖9 訓練精度隨迭代次數(shù)變化曲線
4.3.3 檢測指標比較
為從整體上比較各模型的預測能力,訓練各個模型并進行分類測試. 因為深度學習權重初始化具有隨機性,為保證數(shù)據(jù)的可靠性,對所有模型進行多次訓練并取平均值,實驗結果如表4 所示. 和其他檢測模型相比,RCN 的4 項指標均為最高,F(xiàn)1 值達到99.03%,相較于GRU 和CapsNet 分別高出1.03%和1.48%,這說明殘差網絡模塊顯著提高了膠囊層分類質量,充分提取了入侵數(shù)據(jù)特征.BiLSTM 和GRU 可提取時序特征,但漏報率和誤報率相對較高,說明在訓練過程中丟失數(shù)據(jù)特征信息較多. MMN-CNN 和RCN 同屬于卷積神經網絡,但準確率低于RCN,主要原因為膠囊網絡使用向量膠囊作為神經元,保留了豐富的圖像信息.PSO-SVM 各項指標最差,主要原因是支持向量機適用于解決小批量樣本的線性回歸問題,不能滿足IDS對海量數(shù)據(jù)處理的指標要求.
表4 不同算法下的檢測結果
使用充分訓練的模型進行分類測試,最終輸出如圖10所示的8維混淆矩陣.
圖10 混淆矩陣
混淆矩陣顯示了各類測試樣本分類后的結果,其中,用下劃線標識的數(shù)字表示各類數(shù)據(jù)被正確預測的數(shù)量. 將各類數(shù)據(jù)進行整理,得到RCN 對不同攻擊類別的檢測準確率,如表5所示.
表5 不同攻擊類別的檢測準確率
結合F1分數(shù),可以看出,RCN在沒有進行數(shù)據(jù)增強的情況下,對樣本數(shù)據(jù)量較小的各類攻擊取得了優(yōu)秀的檢測效果,這說明RCN 對圖像特征進行了合理聚合,有效地降低了數(shù)據(jù)不平衡帶來的不利影響,泛化性很強.
RCN 雖然能達到預期檢測效果,但因動態(tài)路由算法較為復雜,仍存在改進空間. 經測試,在本文算法中,動態(tài)路由算法耗費了總訓練時間的41%,限制了RCN模型的識別效率.
4.3.4 運行時間分析
本文所指運行時間包括2部分:模型訓練時間和模型預測時間. 模型的運行時間與模型的復雜度和訓練迭代次數(shù)相關. 通過實驗記錄了各網絡模型的運行時間,結果如表6所示.
表6 不同模型的運行時間對比
RCN 與CapsNet 產生的訓練時間差主要來源于動態(tài)路由算法的參數(shù)量.CapsNet 直接將大維度數(shù)據(jù)輸入主膠囊層,極大地增加了訓練時間.GRU 具有2 個門結構,相對于BiLSTM 減少了參數(shù)量.MMN-CNN 檢測速度在所列深度學習方法中最快. 這3 種網絡運行時間較短,但結合表4綜合考慮,總體檢測效果差于RCN.PSOSVM由于結構簡單,執(zhí)行時間代價較低. 但其檢測指標最差,預處理過程需要人工進行特征篩選,且未計入運行時間,難以滿足入侵檢測系統(tǒng)智能化的發(fā)展趨勢.
工業(yè)互聯(lián)網具有區(qū)別于傳統(tǒng)互聯(lián)網的多重特點,針對傳統(tǒng)入侵檢測方法準確性低、難以適應工業(yè)互聯(lián)網組網模式和海量不平衡數(shù)據(jù)等問題,本文提出一種基于膠囊網絡的工業(yè)互聯(lián)網入侵檢測方法. 該方法首先參考DRN 結構,引入殘差塊為主膠囊層提取高質量的特征圖,然后使用動態(tài)路由算法對特征進行聚類,在反向傳播中使用Adam 算法優(yōu)化學習率,使檢測模型平穩(wěn)快速收斂,并在氣體管道數(shù)據(jù)集仿真測試中取得99.28%的檢測準確率. 即使在數(shù)據(jù)分布嚴重不平衡的情況下,實驗測試數(shù)據(jù)結果表明該模型的漏報率、誤報率和F1 值仍然可以達到1.08%,0.51%和99.03%,較其他對比算法有較大優(yōu)勢,能較好適應工業(yè)互聯(lián)網應用環(huán)境.
本文提出的入侵檢測方法是針對工業(yè)互聯(lián)網特點構建的,模型基于監(jiān)督學習模式,需要清晰的數(shù)據(jù)包信息和流量模式. 雖然可取得較好效果,但傳統(tǒng)互聯(lián)網并不能完全滿足這些條件. 同時,動態(tài)路由算法復雜度較高,相對于傳統(tǒng)方法計算開銷較大. 下一步擬對動態(tài)路由算法策略進行改進,以減少動態(tài)路由消耗時間.