郝秦霞,李慧敏
(西安科技大學 通信與信息工程學院,陜西 西安 710054)
隨著工業智能科學技術的不斷推進,工業物聯網(Industrial Internet of Things,IIoT)作為新一代信息通信技術與現代工業技術深度融合的產物,已成為全球新一輪產業競爭的制高點[1]。國家發展改革委等八部委聯合印發《關于加快煤礦智能化發展的指導意見》,帶頭大力推動煤礦網絡安全與智能化信息建設,加快IIoT 在煤礦行業的應用。然而煤礦IIoT 由于其自身環境、生產條件等因素約束,煤礦IIoT 設備存在嚴重安全隱患。煤礦IIoT 設備受自身設計和性質限制,通常為計算與存儲資源受限設備,難以采用強密碼協議與復雜的認證機制進行安全防護[2-4],攻擊者通過分析網絡通信流量,對特定漏洞設備發起針對性網絡攻擊,可能造成敏感數據泄露或惡意篡改,嚴重威脅煤礦IIoT 的安全穩定。精準識別煤礦IIoT 設備可完善煤礦設備資產信息庫,有效管理并維護設備正常運轉,為提高設備的安全防護能力提供依據,對保障煤礦安全穩定生產具有重要意義。
現有設備識別研究主要集中在物聯網(Internet of Things,IoT)設備識別算法。M.Miettinen 等[5]提出了IoT Sentinel,利用隨機森林構建分類模型識別IoT 設備,對潛在易受攻擊設備采取必要防護措施。A.Sivanathan 等[6]開發了一種多階段機器學習(Machine Learning,ML)[7]分類算法模型,基于網絡流量分組和統計特征,精準識別各類設備。但上述2 種模型均需手動提取流量特征,IoT 設備類型眾多,特征構造復雜,不適用于具有復雜巨系統的煤礦IIoT 環境。深度學習(Deep Learning,DL)將輸入數據映射至特定標簽[8],自動學習數據特征。J.Ortiz等[9]提出了概率框架DeviceMien,采用堆疊的長短期記憶網絡(Long Short Term Memory,LSTM)自動編碼器學習流量特征,利用聚類方法建模各類設備,可精準區別IoT 與Non-IoT 設備,并有效識別未知設備。Yin Feihong 等[10]采用端到端的IoT 設備識別方法,對設備流量執行向量化操作,輸入到卷積神經網絡(Convolutional Neural Network,CNN)、LSTM/門控循環單元、CNN+雙向LSTM 這3 類模型中識別IoT 設備。J.Kotak 等[11]將原始流量有效載荷預處理為灰度圖像,利用多層感知機(Multilayer Perceptron,MLP)自動提取流量特征、分類設備并識別未處于白名單的IoT 設備。DL 雖解決了人工提取特征困難的問題,但隨之帶來的密集內存與高計算需求使其難以部署在計算能力有限的IoT 設備中。
輕量化神經網絡方法(如組卷積[12]、深度可分離卷積(Depthwise Separable Convolution,DSC)[13]、神經網絡結構搜索[14]、權值共享[15]與量化[16]等)能夠在資源受限設備上保持良好網絡性能的同時,避免存儲空間和能耗對傳統神經網絡的限制[17]。因此,本文提出了一種煤礦IIoT 設備識別模型,主要創新如下:
1)為避免煤礦IIoT 海量數據包引發的處理瓶頸問題,對網絡出口節點處采集的原始流量進行切分及截取操作。
2)為降低煤礦IIoT 流量數據復雜度,采用DSC 與卷積塊注意力模塊(Convolutional Block Attention Module,CBAM)[18]搭建復合卷積層,從而構建DSC-CBAM 模型以過濾Non-IIoT 設備。
3)為避免煤礦IIoT 設備傳輸流量不平衡導致的設備誤識別問題,利用帶有階段懲罰的Wasserstein生成對抗網絡(Wasserstein Generative Adversarial Network with Gradient Penalty,WGAN-GP)[19]對流量較少的IIoT 設備進行數據擴充,達到平衡偏移流量數據的目的。
4)為捕獲IIoT 設備內部細微的流量行為模式,引入多尺度特征融合(Multi-scale Feature Fusion,MFF)技術與Mish 激活函數[20]優化DSC-CBAM 模型,構建優化混合模態識別(MFF-DSC-CBAM-Mish,MDCM)模型,從而精確識別煤礦IIoT 設備。
煤礦IIoT 設備識別模型分為原始流量切分與截取、Non-IIoT 設備過濾、偏移流量數據平衡、煤礦IIoT 設備識別4 個部分,如圖1 所示。

圖1 煤礦IIoT 設備識別模型結構Fig.1 Structure of coal mine IIoT equipment recognition model
1)原始流量切分與截取。將支持TCP/IP 協議傳輸的流量數據切分為雙向會話流,去除會話流中無關MAC/IP 地址字段,并刪除會話流中應用層空/重復文件,將每個會話流截取定長字段后轉為IDX[21]格式進行存儲。
2)Non-IIoT 設備過濾。利用輕量級DSC 替代傳統卷積提取流量特征,結合CBAM 校正通道、空間權重,搭建DSC-CBAM 模型過濾Non-IIoT 設備。
3)偏移流量數據平衡。采用WGAN-GP 模型平衡流量較少類煤礦IIoT 設備流量數據,將平衡后數據并入原有設備數據集中共同作為煤礦IIoT 設備增強數據集。
4)煤礦IIoT 設備識別。將經過平衡后的數據輸入MDCM 模型,實現煤礦IIoT 設備精準識別。
定義煤礦IIoT 網絡接口處采集到的支持TCP/IP協議傳輸的流量數據為原始流量P,是數據包pi(i=1,2,…,Q,Q為數據包個數)的集合。
pi包含五元組信息ai、數據包長度li等不同字段。
ai包括源IP 地址、目的IP 地址、源端口、目的端口及傳輸層協議,可唯一標志一條網絡通信連接,了解網絡數據流傳輸規律及特性。擁有相同ai的所有pi稱為一個單向流f j(j=1,2,…,n,n為單向流個數)[22],即將P劃分為包含f j的集合F,每個f j內數據包pi按時間排序。
五元組ai源、目的互換即為雙向流,雙向流組成的所有pi稱為一個會話流。
結合上述流量信息,原始流量切分與截取步驟如下:
1)流量切分。利用SplitCap 工具將P按單向流/會話流粒度切分,每個單向流/會話流由若干個pi組成,包含更豐富的設備通信流量行為特征(如pi間字節的緊密關系程度、pi大小及個數、pi內信息的空間關系等),能有效提高設備識別準確率,實現精準防控。切分默認保留pi中OSI 模型所有層信息。本文選擇文獻[23]中流量切分的最佳表示組合,即將P切分為會話,保留pi所有層信息。
2)無關字段和文件清洗。鑒于網絡層IP 地址和數據鏈路層MAC 地址字段在DL 模型中會占據較大權重,干擾特征提取與模型分類,對字段執行流量匿名化[24]。煤礦IIoT 設備同一時刻可能傳輸大量相同數據,為降低數據量,避免模型識別偏移,對相同流量予以去重。
3)流量截取和IDX 格式轉換。流量數據需保持相同維度輸入DL 模型,將所有流量截取固定的L個字節,若長度大于L,僅截取前L個字節,若小于L,則在其后補充0x00 至L個字節。文獻[25]對比了不同數據集的流量截取長度,認為選取600~800 byte時實驗效果良好。因此本文將流量截取長度定義為784 byte,將截取后相同格式的流量數據轉換為IDX文件格式進行存儲。
煤礦IIoT 環境下設備類型復雜多樣,為降低流量數據復雜度,應剔除無關的Non-IIoT 設備[26]。為降低模型復雜度,以輕量級神經網絡為基礎,搭建DSC-CBAM 模型以實現Non-IIoT 設備過濾,如圖2所示。

圖2 DSC-CBAM 模型結構Fig.2 Structure of DSC-CBAM model
DSC-CBAM 模型網絡架構如下:
1)標準卷積層。為保證全局特征的提取精度,使用標準卷積層捕獲輸入數據淺層特征。
式中:Fk為第k層特征圖;σ(·)為ReLU 激活函數;Wk為第k層權重;bk為第k層偏置。
設置標準卷積層的通道為32、卷積核大小為3×3。
2)池化層1。利用最大池化層(卷積核大小為2×2,步長為2)進行下采樣,將特征圖壓縮減半,去除冗余信息,降低參數量。
式中maxpool(·)為最大池化操作。
3)復合卷積層1。復合卷積層為DSC-CBAM模型的核心,其結構如圖3 所示。

圖3 復合卷積層結構Fig.3 Structure of composite convolutional layer
復合卷積層由DSC 與注意力機制2 個部分組成。DSC 將標準卷積分解為逐通道(Depthwise,DW)與逐點(Pointwise,PW)卷積。DW 卷積將單個卷積濾波器應用于輸入的單個通道,PW 卷積采用多個1×1 大小卷積核收割DW 卷積不同通道的輸出信息,通過線性組合構建新特征,可有效彌補標準卷積帶來的參數多、計算量龐大問題,顯著降低模型大小。但DSC 降低參數量的同時會破壞輸出通道與卷積核的相互作用[27],造成模型性能下降,因此本文在DW 卷積后引入注意力機制校正輸出特征權重,捕獲重要特征信息。
常用注意力機制包括壓縮和激勵網絡(Squeezeand-Excitation Networks,SENet)[28]、深度卷積神經網絡的高效通道注意力模塊(Efficient Channel Attention for Deep Convolutional Neural Networks,ECANet)[29]、GENet[30]、選擇性內核網絡(Selective Kernel Network,SKNet)[31]、CBAM 等。SENet 利用擠壓激勵模塊收集全局信息,捕獲通道之間關系,ECANet 在此基礎上對激勵模塊進行改進,降低模型復雜性,但兩者均未考慮復雜的全局特征信息;GENet 從特征圖中提取更有效的空間信息并對其進行調控,但忽略了通道對特征提取的貢獻;SKNet 允許神經元根據輸入信息自適應調整感受野大小,但使用SK 卷積替換標準卷積時,精度提升較?。籆BAM 將通道注意力模塊與空間注意力模塊進行級聯,順序捕獲輸入特征通道、空間信息,模型訓練穩定且精度提升較大。綜上,選擇CBAM 注意力機制調整流量特征權重,同時引入Hard Sigmoid 激活函數替換Sigmoid 激活函數,可在硬件受限設備上保持較高識別準確率的同時,減少計算成本。
CBAM 中通道注意力模塊采用全局平均、最大池化層收集目標對象區域獨特信息,輸入共享網絡MLP 生成通道注意力圖,經Hard Sigmoid 激活函數合并輸出特征向量。空間注意力模塊對通道輸出特征圖采用全局平均、最大池化操作,沿通道維度合并,采用7×7 大小卷積核與Hard Sigmoid 激活函數得到最終細化的注意力輸出。
師資的安排:中韓結合。由專任教師承擔基礎詞句語法講授,由韓籍教師承擔聽說教學,以夯實基礎,強化聽說技能綜合運用。
復合卷積層1 使用DW 卷積提取池化層輸出特征,并引入CBAM 自適應調整DW 層輸出特征權重大小,將校正后特征圖送入由64 個1×1 大小卷積核組成的PW 卷積層中,通過線性組合生成高維特征圖。
4)復合卷積層2。網絡結構設置與復合卷積層1 相同。為進一步降低內存占用,引入線性瓶頸層[32]將高維特征投影回具有線性卷積的低維表示,即使用卷積核大小為1×1 的PW 卷積線性組合成低維特征。線性激活函數可避免折疊通道時丟失部分特征信息,保留特征多樣性。
5)池化層2。參數設置與池化層1 相同。
6)全連接層。全連接層神經元與上一層所有神經元相連,將池化層2 的卷積結果轉換為一維向量以用于最終分類。
7)輸出層。使用Softmax 激活函數,輸出IIoT/Non-IIoT 二分類結果。
煤礦生產涉及人-機-環-管多方面因素,造成煤礦IIoT 設備流量數據存在嚴重不平衡。為有效平衡流量數據,將流量較少的IIoT 設備流量數據轉為二維灰度圖,引入在圖像生成、偏移數據補齊方面具有極大優勢的生成對抗網絡,采用其變體WGAN-GP平衡偏移流量數據。
使用DSC-CBAM 模型精準分離Non-IIoT 設備后,只需對流量較少的IIoT 設備進行數據擴充,偏移數據平衡后可有效避免煤礦IIoT設備誤識別、漏識別問題。
使用WGAN-GP 擴充煤礦IIoT 設備流量數據集流程如下:
1)輸入流量較少的煤礦IIoT 設備灰度圖像,圖像大小為28×28,共784 維,作為真實數據分布Ddata。
3)構建判別器,均勻采樣Ddata與Dfake間數據,計算正則化項Gradient Penalize,懲罰系數 λ=10,添加到判別器目標函數中,強制約束判別器滿足1-Lipschitz 分布。
4)將Ddata與Dfake分別輸入判別器中,輔以正則化項,計算損失函數,執行梯度反向傳播,更新判別器參數。
5)將判別器訓練ncritic次(ncritic為每更新1 次生成器時判別器需迭代的次數)后,再次將100 維高斯隨機噪聲輸入生成器中,將生成的虛假數據分布輸入判別器中,計算損失函數并更新生成器參數。
6)生成器和判別器經過多次訓練博弈達到均衡后,將平衡后數據擴充至原有設備數據集,轉換為IDX格式數據輸入MDCM 模型中。
煤礦IIoT 設備各自采用不同協議與服務器開放端口交互信息,傳輸流量呈相異的行為模式。為直觀展示設備內部行為特征,將設備流量數據轉為二維灰度圖形式,如圖4 所示,其中設備名稱均采用縮寫。圖4(a)中顯示Nws 設備內部流量模式完全一致,LBLSB、IC 設備雖呈2 種流量模式,但內部仍保持較高一致性。圖4(b)中顯示異類IIoT 設備灰度圖紋理大多各不相同,內部呈相異的流量模式,可以肉眼方式有效區分,但部分設備差別細微,難以通過人眼視覺方式捕捉。

圖4 IIoT 設備灰度圖Fig.4 Grayscale image of IIoT equipment
為捕捉異類煤礦IIoT 設備內部細微的流量模式,引入MFF 替換DSC-CBAM 模型中的標準卷積層,捕獲輸入流量數據不同感受野特征信息,如圖5所示。

圖5 多尺度特征融合Fig.5 Multi-scale feature fusion
將C×W×H(通道數×寬×高)大小的輸入特征圖送入通道數為C1、卷積核大小為5×5 和3×3 的標準卷積中,并行執行多個卷積運算,將卷積結果合并成大小為C2×W×H(C2為輸出特征圖通道數)的高維輸出特征圖,可有效提高網絡內部計算資源利用率。
由于DSC 卷積核較小,極易在非線性激活函數作用下使輸出趨近于0,以致卷積核失活。復合卷積層所用ReLU 激活函數過于脆弱且對異常值敏感,若接收的輸入不在常值范圍內,更新參數時梯度將被置0,神經元出現永久性死亡,無法良好適用于DSC 中。Mish 激活函數保留少量負權重,可在神經元負輸入狀態具有非零梯度,從而允許參數更新,保證信息流不丟失,具有良好的泛化能力。因此,本文使用Mish 激活函數替換DSC-CBAM 模型復合卷積層中ReLU 激活函數,從而構建MDCM 模型以實現煤礦IIoT 設備精準識別。
MDCM 模型網絡結構見表1。

表1 MDCM 模型網絡結構Table 1 Network structure of MDCM model
煤礦IIoT 中包含支持WiFi、ZigBee、低功耗藍牙等自組網絡協議傳輸的流量數據。為有效解決流量數據協議異構、設備互聯互通困難等問題,將流量數據轉換為支持TCP/IP 協議傳輸的數據格式。但目前沒有公開的煤礦設備流量數據集,為保證數據的有效性和真實性,選用IoT Sentinel[5]和UNSW[6]數據集及陜西某煤礦部分工作現場流量數據組成本文實驗數據集。
將DSC-CBAM 模型與現有表現較好的設備過濾模型進行對比,結果見表2。其中,文獻[11]僅采用全連接層構建MLP 網絡區分2 類設備;文獻[33]對流量數據進行卷積、池化、展平操作后,輸入多隱層神經網絡中以獲取最佳分類結果。從表2 可看出,文獻[11]和文獻[33]所提模型均可準確過濾Non-IIoT 設備,但文獻[11]模型參數量大,文獻[33]模型本身規模龐大;而DSC-CBAM 模型具有最高的準確率、精確率、召回率、F1-score 及最低的參數量,可快速、精準過濾Non-IIoT 設備。這是由于DSC-CBAM 模型引入的DSC 可顯著降低模型復雜度,減輕網絡訓練負擔,且CBAM 可有效校正特征權重,提高模型表征能力。

表2 Non-IIoT 設備過濾結果對比Table 2 Comparison of filtering results of Non-IIoT equipment
為驗證偏移流量數據平衡對識別IIoT 設備的必要性,將經WGAN-GP 平衡前后的IIoT 設備數據集分別輸入MDCM 模型中,對比結果見表3,其中設備HB 和HC 支持ZigBee 自組網絡協議,設備DLDS 為支持Z-Ware 協議的D-Link 門窗傳感器,上述設備流量數據經協議轉換操作后轉為支持TCP/IP 協議傳輸的流量數據,其余設備流量數據均支持TCP/IP 協議。

表3 偏移流量數據平衡前后設備識別指標對比Table 3 Comparison of equipment recognition indicators before and after offset flow data balancing %
從表3 可看出,設備WAsss 和WSBM 由于樣本數目過小,在偏移流量數據平衡前全部被誤識別為其他設備,但經偏移流量數據平衡后,WAsss 和WSBM 均可被正確識別;偏移流量數據平衡后,大多煤礦IIoT 設備識別指標相較于平衡前得到有效提升,其中各類煤礦IIoT 設備識別精確率、F1-score 均高于99%,部分設備召回率較未平衡前提升100%。
通過消融實驗驗證MDCM 模型中DSC,CBAM,MFF,Mish 對優化煤礦IIoT 設備識別效果的有效性。CNN 模型基礎網絡架構由標準卷積組成,其中包括32 個5×5 與64 個3×3 大小的卷積核,輔以池化層降低維度,經全連接層分類輸出;DSC 模型將CNN 模型第2 個標準卷積替換為DSC;DSC-CBAM模型在DSC 模型基礎上添加CBAM;MDC 模型在DSC-CBAM 模型基礎上引入MFF;MDCM 模型在MDC 模型基礎上增加Mish 激活函數。所有模型共訓練15 輪,從模型損失、準確率、精確率、召回率、F1-score 及參數量6 個維度進行對比,結果如圖6所示。

圖6 消融實驗結果Fig.6 Ablation experiment results
從圖6 可看出,CNN 模型收斂速度中等,各評價指標保持在99.960%左右,但參數量高達228 318 個,模型復雜度較高;DSC 模型參數量顯著降低到CNN 模型的16.6%,精確率、召回率等評價指標略有損失,表明DSC 確實會破壞卷積核與輸出通道的相互作用,但各項評價指標仍能保持在99.955%以上;DSC-CBAM 模型收斂速度慢于CNN 模型,除參數量略增大外,其他各項評價指標均優于上述模型,表明采用CBAM 校正特征權重可極大提升模型識別性能;MDC 模型收斂速度進一步加快,各項評價指標顯著提升至99.970%以上;MDCM 模型收斂速度最快,準確率、召回率、精確率與F1-score 指標均最優,高達99.975%以上,而參數增加量幾乎可忽略不計。
為驗證本文所提設備識別模型的優越性,在UNSW 數據集上與文獻[6]、文獻[10]、文獻[11]、文獻[34]中所提模型進行對比,結果見表4。

表4 不同模型對比實驗結果Table 4 Comparison of experimental results of different models
從表4 可看出,文獻[6]構建ML 模型識別設備類型,準確率達99.88%,但人工手動提取流量特征耗費人力物力,成本較高,不適用于大規模IIoT 數據處理;文獻[10]將流量截取2 500 byte 長度,采用CNN+雙向LSTM 提取設備時間與空間特征,識別準確率高達99.91%,但流量截取字節長度過長,且模型復雜度過高,難以部署;文獻[11]僅將流量數據切分至應用層,忽略了數據包OSI 模型其他層特征信息,識別結果不夠精確,且模型參數量較多;文獻[34]采用128 個5×5 與64 個3×3 大小的卷積核提取流量特征,雖達到最高識別精度,但模型參數量最大;本文所提MDCM 模型準確率、精確率、召回率與F1-score 指標均達到最優,且參數量最小。
1)提出了一種煤礦IIoT 設備識別模型:將網絡接口處采集的原始流量切分為多個子流集合,獲取更豐富的設備通信流量行為特征;在此基礎上通過DSC-CBAM 模型過濾Non-IIoT 設備,降低煤礦生產流量數據復雜度;使用WGAN-GP 模型對流量較少的IIoT 設備進行數據擴充,平衡偏移流量數據;將平衡后的數據輸入MDCM 模型,實現煤礦IIoT 設備精準識別。
2)實驗結果表明,該模型收斂速度快,準確率、召回率、精確率與F1-score 指標均最優,高達99.98%,且參數量最小,能精準、高效識別煤礦IIoT 設備。
3)但該模型僅提取、分析設備流量的空間特征,下一步工作將考慮提取流量時序特征,以實現更精確的設備識別。