周政雷, 陳 俊, 潘俊濤, 袁培森
(1. 廣西電網(wǎng)有限責(zé)任公司 計量中心, 南寧 530024; 2. 南京農(nóng)業(yè)大學(xué) 人工智能學(xué)院, 南京 210031)
隨著新一代電力系統(tǒng)的不斷升級改造, 智能化電網(wǎng)接入數(shù)據(jù)的種類及數(shù)量呈現(xiàn)幾何級倍數(shù)增長的態(tài)勢. 隨著配用電領(lǐng)域業(yè)務(wù)的深化應(yīng)用與創(chuàng)新, 各類新設(shè)備、新功能對配用電終端的智能化程度與靈活擴展能力提出了更高的要求, 但也大幅增加了針對配用電無線專網(wǎng)的異常流量入侵風(fēng)險[1]. 由于配用電通信網(wǎng)絡(luò)與居民、工商業(yè)用戶的生產(chǎn)生活息息相關(guān), 網(wǎng)絡(luò)攻擊事件極有可能會引發(fā)用戶側(cè)的異常斷電, 造成重大安全生產(chǎn)事故與經(jīng)濟損失[2].
配用電終端采用《電能信息采集與管理系統(tǒng) 第4–5 部分: 通信協(xié)議—面向?qū)ο蟮臄?shù)據(jù)交換協(xié)議》(DL/T 698.45—2017, 簡稱《面向?qū)ο蟮臄?shù)據(jù)交換協(xié)議》) 、《遠動設(shè)備及系統(tǒng) 第5 部分: 傳輸規(guī)約第102 篇: 電力系統(tǒng)電能累計量傳輸配套標準》 (DL/T 719—2000, 簡稱《電力系統(tǒng)電能累計量傳輸配套標準》) 等通信規(guī)約接入無線電力專網(wǎng). 電力無線信道隨著業(yè)務(wù)變動、通信質(zhì)量波動存在通信延遲、流量多變等情況. 因此, 通信流量具有特征維度高、非線性變化的特點[3], 這對異常檢測處理的時效性與準確性提出了巨大的挑戰(zhàn). 針對此, 現(xiàn)有研究大多對報文流量特征進行分析, 從而診斷異常流量[4], 采用數(shù)據(jù)挖掘技術(shù)對正常模式與異常入侵模式的偏差進行判別. 張嘉譽等[5]基于報文特點提出了一種融合物理信息和差分序列方差的智能過程層變電站網(wǎng)絡(luò)異常流量檢測方法, 通過攻擊條件閾值計算和識別異常流量; Qiang 等[6]提出了一種通過閾值模型來表征變電站通信網(wǎng)絡(luò)流量, 實現(xiàn)了對網(wǎng)絡(luò)流量突增等異常情形的檢測, 并針對通用面向?qū)ο笞冸娬臼录岢隽水惓P袨榉纸M方法;Robert 等[7]提出了一種入侵檢測方法, 即基于監(jiān)控行為規(guī)則, 檢測網(wǎng)絡(luò)中存在的異常流量. 以上這些方法屬于使用預(yù)先建立的規(guī)則進行閾值和規(guī)則的匹配, 然而實際運行中, 配電網(wǎng)絡(luò)流量的波動會造成這些方法存在漏檢、誤判風(fēng)險高、閾值的不準確設(shè)定等不足. 部分學(xué)者使用人工智能相關(guān)技術(shù)研究網(wǎng)絡(luò)流量異常檢測問題[8]. 呂政權(quán)等[9]提出了一種基于門控循環(huán)神經(jīng)網(wǎng)絡(luò)和卷積神經(jīng)網(wǎng)絡(luò)提取流量特征,結(jié)合softmax 分類器來實現(xiàn)異常流量檢測; 田偉宏等[10]研究了采用注意力機制的長短期記憶神經(jīng)網(wǎng)絡(luò)算法, 結(jié)合卷積神經(jīng)網(wǎng)絡(luò)與長短期記憶遞歸神經(jīng)網(wǎng)絡(luò)的優(yōu)勢提取多維度特征, 實現(xiàn)了電力接入專網(wǎng)流量的異常檢測; 付子爔等[11]結(jié)合支持向量機和k最鄰近(k-nearest neighbor,kNN)設(shè)計了一種快速流量分類算法, 降低了異常流量辨別的計算資源與時間消耗; 舒斐等[12]構(gòu)建的深度置信網(wǎng)絡(luò)模型, 完成了多個流量特征之間關(guān)聯(lián)特性的深度挖掘, 采用隨機森林算法對電網(wǎng)工控系統(tǒng)流量進行預(yù)警; 楊永嬌等[13]使用注意力機制對流量正常狀態(tài)估計, 通過對比估計得到正常狀態(tài)流量與實際流量的殘差分布情況, 進而判別流量是否異常; 陶應(yīng)亮[14]提出了基于三支決策理論和深度學(xué)習(xí)的入侵檢測模型, 對分布式拒絕服務(wù)攻擊進行了檢測.
上述研究大致存在兩方面的不足: ① 現(xiàn)有研究在網(wǎng)絡(luò)流量特征提取方面具有一定局限性, 其通常僅提取時域統(tǒng)計特征, 未充分利用隱藏于頻域的異常特征信息; ② 大量研究將深度神經(jīng)網(wǎng)絡(luò)用于異常檢測的分類, 因而構(gòu)建分類模型時需要樣本數(shù)量多、算力要求高、參數(shù)對效果影響大, 這類模型難以滿足電能計量自動化系統(tǒng)對海量終端通信鏈接開展異常流量檢測的要求.
為解決上述不足, 本文將深度森林算法用于配用電通信網(wǎng)絡(luò)異常流量的檢測. 深度森林算法具有依賴樣本數(shù)量少、調(diào)參工作量小等優(yōu)點[15]. 同時, 針對配用電網(wǎng)絡(luò)流量的數(shù)量大、種類多、速度快、價值密度低等特性導(dǎo)致異常流量監(jiān)測運行時間長、內(nèi)存占用多的問題, 本文結(jié)合并行計算的思想和分布式計算模型, 對并行深度森林的構(gòu)建方法開展研究. 本文主要工作: ① 提出了基于自適應(yīng)冗余提升多小波變換的流量頻域特征提取方法, 設(shè)計了配用電網(wǎng)絡(luò)流量的時域特征提取方法, 在此基礎(chǔ)上構(gòu)建了時頻域融合的配用電網(wǎng)絡(luò)流量特征; ② 提出了結(jié)合分布式計算的深度森林并行計算優(yōu)化方法, 以提升異常流量檢測模型的運行效率. 仿真實驗結(jié)果表明, 本文提出的檢測模型對不同類型的異常流量具有較優(yōu)秀的分類能力.
多小波分析以多分辨率分析為理論基礎(chǔ), 在小波分析的基礎(chǔ)上采用多個小波基函數(shù)匹配信號中的多特征波形, 設(shè)r重多尺度函數(shù)為Φ(t)=[φ1(t),φ2(t),··· ,φr(t)] , 相應(yīng)的r重多小波函數(shù)為Ψ(t)=[ψ1(t),ψ2(t),··· ,ψr(t)] , 滿足兩尺度矩陣方程
其中,Lpass,k、Hpass,k分別為r×r的多小波低通濾波器稀疏矩陣和多小波高通濾波器稀疏矩陣,D為尺度函數(shù)的長度.
多小波包分解為
其中,s2j-1,n、s2j,n分別為第 2j-1 頻帶、第 2j頻帶的第n個樣本點. 則多小波包的重構(gòu)公式為
由于多小波分解與重構(gòu)的濾波器系數(shù)為r×r的矩陣形式, 因此需要對實際的一維輸入信號進行預(yù)處理, 將其轉(zhuǎn)變成r個矢量信號. 可采用平衡多小波的方法解決信號矢量化中高/低頻信號混疊的問題[16]. 為了能夠從多個維度描述信號中的異常特征信息, 本文改進了多小波后處理方法, 直接輸出分解后的多維矢量信號[17].
本文在多小波理論的基礎(chǔ)上, 采用第二代小波分解的方法對多小波變換進行自適應(yīng)冗余提升, 消除了傅里葉變換的計算過程; 根據(jù)信號的本身特點設(shè)計預(yù)測器和更新器, 實現(xiàn)了對信號自身特點的高度匹配, 且計算方法更為簡單. 具體操作如下.
1) 計算第l層分解的初始預(yù)測器P
設(shè)初始預(yù)測器P=[p0,p1,··· ,pN-1]T包含N個預(yù)測器系數(shù), 構(gòu)建范德蒙德矩陣V. 相應(yīng)公式為
其中,i=1,2,··· ,N -1,j=1,2,··· ,N.該矩陣需滿足
其中,sl-1表示第l-1 層近似信號, 腳標 o 、e 分別表示信號的奇數(shù)位和偶數(shù)位. 第l層的初始預(yù)測器為式(5)和式(6)聯(lián)立求解的矩陣P.
2) 計算第l層初始更新器U
設(shè)初始更新器U=[u0,u1,··· ,uM-1]T包含M個更新器系數(shù), 構(gòu)建矩陣W. 相應(yīng)公式為
其中,n=-N -M+2,-N -M+3,··· ,N+M -2,m=0,1,··· ,M -1.該矩陣需滿足條件
其中g(shù)為 2N+2M -3 維向量, 其定義為
根據(jù)式(8)求解可得初始更新器U.
3) 自適應(yīng)冗余提升方法
第l層冗余預(yù)測器Pl構(gòu)建方法為
其中,i=1,2,··· ,2l-1N,Pn為第l層初始預(yù)測器的第n個元素.
第l層冗余更新器Ul的構(gòu)建方法為
其中,j=1,2,··· ,2lM,Um為第l層初始更新器的第m個元素.
本文根據(jù)信號特征自適應(yīng)構(gòu)造初始預(yù)測和更新算子; 采用插值補零的方法, 在不同層計算預(yù)測和更新算子; 采用二重多小波包兩層分解. 具體過程如圖1 所示. 圖1 中, 虛線框部分是對分解過程的補充解釋,s(t) 表示通信流量,scl表示第l層信號,scl(even) 表示第l層信號偶數(shù)位,scl(odd) 表示第l層信號奇數(shù)位,scH,l+1表示第l+1 層高頻信號,scL,l+1表示第l+1 層低頻信號.
圖1 自適應(yīng)冗余提升二重小波包變換Fig. 1 Adaptive redundant lifting double wavelet packet transform
通信流量s(t) 的時序特征通??梢栽诹髁砍霈F(xiàn)顯著異常的情況下對異常信息進行有效的描述, 而微小的異常流量往往隱藏在大量的正常數(shù)據(jù)流下, 流量數(shù)據(jù)的時域特征難以全面地描述異常流量的特點. 在小波包分解的過程中, 計算量大小與分解層數(shù)多少呈正相關(guān), 本文基于自適應(yīng)提升冗余多小
波包變換的方法, 根據(jù)實際需求選擇兩層分解, 求解出各節(jié)點的小波包系數(shù)用于提取流量的頻譜特征,構(gòu)建時頻域融合的通信流量特征提取方法.
1.3.1 頻域特征
頻域特征:s(t) 經(jīng)分解后可得各頻段信號sij, 其中i=1,2,j=1,2,3,4.計算以下頻域特征.
(1)各頻段信號的能量占比系數(shù)ERi,j.相應(yīng)公式為
其中N為信號sij的長度. 共提取8 個特征, 通過各頻段的能量占比表征能量方面的特征.
(2) 最大均值對比系數(shù)Pmax.用前3 d 同一時段的通信流量均值時間序列sref(t) 作為參考, 對待測流量與參考流量分別進行分解, 在多小波包分解后的每個頻段上均構(gòu)建長度為W的滑動窗口, 步長為L(L 其中,σs,k、σsref,k分別為同一時間窗口下檢測流量與參考流量的小波包分解后的系數(shù)均值,k=1,2,··· ,K. 將每個頻段上的頻域統(tǒng)計均值與過去3 d 的差異作為頻域統(tǒng)計方面的特征,Pmax越大, 該頻段的待檢流量與參考流量的差異就越大. 本文對待檢流量數(shù)據(jù)進行了兩層多小波包分解, 按照上述特征提取流程, 共獲取8 個特征. 1.3.2 時域特征 時域特征由均值參考評分、標準差參考評分和通信業(yè)務(wù)特征組成. 1) 均值參考評分 流量的均值反應(yīng)了流量相對于均值的波動情況. 設(shè)μ為待測時段流量的均值,μref為前3 d 相同時段的流量均值, 則計算方法為 2) 標準差參考評分 通過待檢測時段流量的標準差σ與前3 d 相同時段流量均值的標準差σref的比值, 可反映該時段流量數(shù)據(jù)的離散程度的變化. 其計算方法為 3) 通信業(yè)務(wù)特征 待檢驗時段內(nèi), 從配用電無線專網(wǎng)業(yè)務(wù)層面選擇6 個指標: ① 與待檢測鏈路具有終端設(shè)備地址的連接數(shù)Nlink; ② 與待檢測鏈路具有相同網(wǎng)絡(luò)地址的連接數(shù)量Nclient; ③ 與規(guī)定的終端通信協(xié)議不一致的報文數(shù)量Ntype; ④ 終端通信協(xié)議符合規(guī)定但內(nèi)容異常無法解析的報文數(shù)量Nprotocol; ⑤ 待檢測鏈路傳輸層DNS 數(shù)據(jù)包的數(shù)量NDNS; ⑥ 待檢測鏈路網(wǎng)絡(luò)層ICMP 數(shù)據(jù)包的數(shù)量NICMP. 采用上述頻域、時域提取的特征, 構(gòu)建24 維融合特征. 其具體內(nèi)容是8 個頻段能量占比特征, 8 個最大均值對比系數(shù)特征與時域特征的均值參考評分、標準差參考評分, 6 個通信業(yè)務(wù)特征. 本文在對配用電網(wǎng)絡(luò)時頻域特征提取的基礎(chǔ)上, 結(jié)合深度森林算法構(gòu)建異常流量檢測模型: 先采用多粒度掃描的增強原始特征的表征能力; 再采用級聯(lián)結(jié)構(gòu)實現(xiàn)逐層表征學(xué)習(xí); 結(jié)合大數(shù)據(jù)并行計算框架構(gòu)建深度森林并行計算模型. 在多粒度掃描階段, 采用多種長度的滑動窗口對樣本集進行掃描, 獲得增強的特征集. 對于本文提出的流量特征向量, 滑動窗口對于空間上鄰近的特征掃描次數(shù)較多, 因而具備較好的增強效果; 對于特征向量兩端的特征掃描的次數(shù)較少, 可能會遺失重要信息, 降低兩端特征的重要性. 針對上述問題, 本文在多粒度掃描階段增加了特征組合過程, 采用一段與原始特征相同的特征向量與原始特征首尾相接, 獲取組合特征向量后; 再采用滑動窗口采樣獲取特征向量片段, 并在此基礎(chǔ)上分別構(gòu)造了一個隨機森林和完全隨機森林進行訓(xùn)練和預(yù)測分類, 將輸出的分類概率向量拼接獲得表征增強向量. 本文的多粒度掃描過程見圖2. 圖2 多粒度掃描過程Fig. 2 Multi-grained scanning process 經(jīng)過多粒度掃描獲得增強特征后, 利用增強特征構(gòu)建級聯(lián)森林, 類似于深度神經(jīng)網(wǎng)絡(luò)的層疊結(jié)構(gòu),級聯(lián)森林中每層的輸出用于下一層的輸入特征向量, 以訓(xùn)練新一層的隨機森林模型. 在層級擴展后,采用驗證集對級聯(lián)的性能增益進行評價, 在分類精度沒有顯著提升的情況下, 停止增加層級并完成級聯(lián)森林的訓(xùn)練. 目前, 大數(shù)據(jù)環(huán)境下并行構(gòu)建深度森林并行化計算主要結(jié)合MapReduce 或Spark 框架進行研究,在并行計算的處理場景中, 級聯(lián)森林訓(xùn)練任務(wù)的分割方法與計算調(diào)度的方法研究較少. 基于以上原因,本文結(jié)合電力大數(shù)據(jù)平臺廣泛應(yīng)用的Flink 并行計算框架, 構(gòu)建并行化的級聯(lián)森林階段每層N個隨機森林分類器, 具體分為以下4 個步驟. (1) 將多粒度掃描階段提取的測試樣本的增強特征劃分成N個大小相同的有重復(fù)的樣本子集, 每個樣本子集用于一個森林的訓(xùn)練. (2) 將每一層的N個隨機森林分類器的訓(xùn)練作為獨立的任務(wù), 向Flink 提交計算任務(wù). 每個隨機森林訓(xùn)練的過程中通過K折交叉驗證的方式對森林中的各個決策樹進行訓(xùn)練, 決策樹訓(xùn)練完成后采用鍵值對 (Fn,TD,t) 進行表述, 其中Fn為該決策樹所屬森林序號,TD,t為該決策樹模型, 森林訓(xùn)練完成后將訓(xùn)練完成標識及構(gòu)建好的森林模型保存至分布式緩存. 當(dāng)N個分類器的訓(xùn)練全部完成后, 緩存中的所有森林的集合即為本層級聯(lián)森林的模型. (3) 向各個森林n提交驗證樣本集合S進行預(yù)測, 對于集合中的單個樣本s預(yù)測的結(jié)果采用〈sid,n,vn〉數(shù)據(jù)結(jié)構(gòu)在分布式緩存中保存, 其中sid,n表示在第n個森林中編號為id的樣本s,vn表示在第n個森林中該樣本的類概率向量. (4) 從分布式緩存中合并各個森林n對各個樣本s的類概率向量, 計算其各森林輸出的該樣本類概率向量均值, 基于驗證樣本集合S的分類情況求解本層級模型的準確性, 對分類精度進行評價, 如果精度存在顯著提升則將分布式緩存中保存的類概率向量與本層輸入向量進行拼接, 繼續(xù)下一層級的森林訓(xùn)練, 否則中斷級聯(lián)森林過程, 確定學(xué)習(xí)深度. 上述并行化深度森林的構(gòu)建方法如圖3 所示. 級聯(lián)森林每一層的各個隨機森林分類器的訓(xùn)練、分類預(yù)測的過程作為獨立的任務(wù)交由Flink 集群并行執(zhí)行. 大數(shù)據(jù)平臺Flink 集群通常采用容器化部署方式, 任務(wù)調(diào)度器(JobManager)和任務(wù)管理器(TaskManager)運行于服務(wù)器集群不同的容器中. 圖3 并行級聯(lián)森林訓(xùn)練過程Fig. 3 Paralleled cascading forest process 本文提出的并行化深度森林算法, 將模型訓(xùn)練、分類預(yù)測作為計算量基本一致的計算任務(wù), 提交至JobManager, 由JobManager 采用一定的調(diào)度方法將任務(wù)分配至各個TaskManager 執(zhí)行. 在實際并行化計算過程中, 需考慮到每個服務(wù)器節(jié)點上的容器數(shù)量不同、容器部署不均等情況帶來的節(jié)點間的性能差別, 若采用Flink 默認的輪詢策略, 會造成任務(wù)在節(jié)點上分布不均衡, 難以充分發(fā)揮并行化級聯(lián)森林效率的優(yōu)勢. 為此, 本文設(shè)計了基于計算資源評分的并行化深度森林平滑輪詢調(diào)度策略(parallelized deep forest smooth polling strategy), 通過收集容器的資源使用情況, 在對JobManager 所在容器性能權(quán)重評價的基礎(chǔ)上, TaskManager 在分配任務(wù)的過程中, 優(yōu)先選擇性能權(quán)重高的節(jié)點執(zhí)行任務(wù), 隨后適當(dāng)調(diào)低已選節(jié)點的權(quán)重避免連續(xù)重復(fù)選中導(dǎo)致任務(wù)積壓, 使任務(wù)能夠依據(jù)節(jié)點的負載進行均衡的分配,如圖4 所示. 具體過程如下: 設(shè)可用的計算節(jié)點數(shù)量為P, 節(jié)點p的內(nèi)存可用率為AMem,p, 節(jié)點p的CPU 可用率為ACPU,p, 則基于內(nèi)存和CPU 使用情況計算節(jié)點的有效權(quán)重ωpE. 相應(yīng)計算公式為 圖4 基于Flink 的級聯(lián)森林并行計算邏輯架構(gòu)Fig. 4 Logical architecture of paralleled cascading forest process based on the Apache Flink framework 其中,α、β分別表示CPU 可用率、內(nèi)存可用率在有效權(quán)重中所占的比例, 且α+β=1.由于Flink 容器集群對CPU 資源敏感性遠大于內(nèi)存資源敏感性,α、β可分別取值為0.9、0.1. 在對一次級聯(lián)森林并行計算任務(wù)調(diào)度的過程中, 設(shè)待訓(xùn)練的森林個數(shù)為N, 對于每個森林訓(xùn)練任務(wù)在被分配前, 均計算各節(jié)點當(dāng)前權(quán)重ωpC, 將任務(wù)分配至當(dāng)前權(quán)重最大的節(jié)點.ωpC的計算公式為 這里ωlCast,p是節(jié)點p在上一輪分配任務(wù)時得到的節(jié)點權(quán)重. 本文通過每次分配前對各個容器節(jié)點權(quán)重進行計算, 采用不斷累加權(quán)重表征節(jié)點的可用性, 權(quán)重越大, 說明這個節(jié)點一直沒有被分配到任務(wù), 下一次分配時就越有可能分配到這個節(jié)點上. 當(dāng)擁有最大當(dāng)前權(quán)重的節(jié)點p被選中后, 為了避免被連續(xù)選中造成訓(xùn)練任務(wù)積壓, 造成并行訓(xùn)練效率降低, 需削減被選中節(jié)點的當(dāng)前評分. 相應(yīng)計算公式為 本文首先從流量數(shù)據(jù)中提取特征, 構(gòu)建時頻域融合的特征樣本, 再采用并行化處理的深度森林對提取的樣本進行學(xué)習(xí)訓(xùn)練, 流程如圖5 所示. 圖5 異常流量檢測流程Fig. 5 Abnormal traffic detection flowchart 圖5 展示了異常流量檢測流程的詳細過程: ① 對流量樣本采用自適應(yīng)冗余提升的CL (chuilian)多小波包變換進行分解, 從分解后的各頻帶中提取最大均值對比系數(shù)作為樣本的頻域特征; ② 從流量樣本中提取時域特征, 采用均值參考評分、標準差參考評分、通信業(yè)務(wù)特征作為樣本的時域特征; 將時域特征、頻域特征進行組合, 構(gòu)建流量樣本的24 維時頻域融合特征向量; ③ 將特征向量首尾組合后再進行多粒度掃描, 采用多尺度滑動窗口從原始特征中進一步提取增強表征信息; ④ 構(gòu)建一層級聯(lián)森林分類模型, 將每個隨機森林分類器的訓(xùn)練過程采用本文所述的Flink 優(yōu)化調(diào)度策略分配到各服務(wù)器節(jié)點上執(zhí)行; ⑤ 用本層訓(xùn)練得到的各個隨機森林對訓(xùn)練樣本進行分類, 分類精度在分布式緩存中匯聚, 并計算訓(xùn)練精度, 若分類準確度存在顯著提升則將各個樣本分布式緩存中的分類概率向量與輸入特征向量拼接, 重復(fù)步驟④進行下一層森林的訓(xùn)練, 否則停止增加層級并結(jié)束訓(xùn)練過程; ⑥ 對測試樣本進行多粒度掃描增強特征, 并將增強后的特征分發(fā)到各服務(wù)器節(jié)點上, 由各個隨機森林生成分類概率向量并保存在分布式緩存中; ⑦ 對分類概率向量進行匯聚并研判分類結(jié)果, 計算本文算法的分類性能指標. 為驗證本文提出的異常流量檢測方法的有效性, 本文實驗數(shù)據(jù)來源于正常流量數(shù)據(jù)取自某省電力公司計量自動化系統(tǒng)的實際流量數(shù)據(jù); 通信協(xié)議方面包括低壓臺區(qū)設(shè)備使用的《電力用戶用電信息采集系統(tǒng)通信協(xié)議: 第1 部分 主站與采集終端通信協(xié)議》 (Q/GDW 1376.1—2012) 、《面向?qū)ο蟮臄?shù)據(jù)交換協(xié)議》(DL/T 698.45—2017), 以及中高壓設(shè)備使用的《電力系統(tǒng)電能累積量傳輸配套標準》(DL/T 719—2000)、TEC 60870–5–104—2000《電力遠動規(guī)約》(IEC104 規(guī)約); 異常流量數(shù)據(jù)取自經(jīng)典的網(wǎng)絡(luò)異常檢測數(shù)據(jù)集 (DARPA1999, 包含服務(wù)器在DOS、Probe、R2L、U2R 等攻擊下捕獲網(wǎng)絡(luò)流量) 、加拿大網(wǎng)絡(luò)安全研究所發(fā)布的DDoS 入侵檢測公共數(shù)據(jù)集(CICDDoS2019, 包含服務(wù)器在DDoS 攻擊下捕獲的網(wǎng)絡(luò)流量), 本文選用的異常流量類型包括DDoS (distributed denial of service)、Probe、U2R (user to root attack)和R2L (remote to local). 將上述正常流量與異常流量按照時間戳進行聚合, 構(gòu)建本文實驗異常流量檢測數(shù)據(jù)集. 利用本文提出的頻域特征提取方法, 采用自適應(yīng)冗余提升CL 多小波包對采集得到的流量進行二層分解: 滑動窗口提取頻域統(tǒng)計特征的方法示意圖如圖6(a)所示; 對二層多小波包分解后得到的8 個頻段, 從每個頻段中計算最大均值對比系數(shù)Pmax的方法如圖6(b)所示. 圖6(a) 滑動窗口提取頻域特征示意圖Fig. 6(a) Schematic diagram of extracting frequency domain features based on a sliding window 圖6(b) 各頻段最大均值對比系數(shù)PmaxFig. 6(b) Pmax of each frequency band 采用本文提出的流量特征提取方法提取時頻域流量特征數(shù)據(jù)集, 提取正常流量樣本11 832 例,DDoS、Probe、U2R、R2L 各類型異常流量樣本各5 000 例. 構(gòu)建異常流量檢測模型的訓(xùn)練集的測試集比例為7∶3. 為了對時頻域特征提取與深度森林算法結(jié)合的異常流量檢測方法的有效性進行評估, 本文從準確率 (accuracy,A) 、召回率(recall,R)和誤報率(false positve ratio,F)這3 個指標進行分析. 指標的計算方法為 式(19)中:PT為正確檢出的異常流量樣本數(shù)量;NT為正確檢出的正常流量樣本數(shù)量;PF為被誤判為異常流量的樣本數(shù)量;NF為被誤判為正常流量樣本數(shù)量. 將本文所提的改進深度森林算法(Improved-DF (deep forest)) 、混合卷積神經(jīng)網(wǎng)絡(luò) (convolutional neural network, CNN)和門控循環(huán)單元(gated recurrent unit, GRU)的神經(jīng)網(wǎng)絡(luò)預(yù)測模型(GRU-CNN)[9]、人工蜂群優(yōu)化支持向量機 (ABC(artificial bee colony)-SVM (support vector machine))[18]的測試結(jié)果, 以及傳統(tǒng)的隨機森林 (random forest, RF) 方法的測試結(jié)果進行對比, 不同分類器異常流量檢測方法對比結(jié)果詳見表1. 表1 不同分類器異常流量檢測方法對比Tab. 1 Comparison of abnormal traffic detection methods for different classifiers 由表1 所示的對比結(jié)果可知, 在時頻域融合特征提取方法的基礎(chǔ)上, 本文提出的Improved-DF 較其他分類算法在準確率、檢出率、誤報率這3 個指標上均顯現(xiàn)出較明顯的優(yōu)勢, 特別在準確率、誤報率方面優(yōu)于其他幾種算法, 分別達到了98.29%和2.63%. 各算法對于不同類型流量的檢出情況詳見表2. 表2 各類型流量分類性能對比Tab. 2 Comparison of abnormal traffic detection methods for different traffic types 由表2 可知, 本文提出的結(jié)合流量時頻域特征提取與改進深度森林的異常流量檢測模型(Improved-DF)對于各類異常的檢測召回率較高, 其對于正常流量、DDoS、R2L 類型的異常流量, 召回率均達到98%以上, 并且誤報率較低. 與GRU-CNN 相比, 對于正常流量, 召回率提高了4.25%, 誤判率降低了0.74%; 對于DDoS 類型異常流量, 召回率提高了5.79%, 誤判率降低了0.94%; 對于Probe 類型異常流量, 召回率提高了4.66%, 誤判率降低了2.51%; 對于U2R 類型異常流量, 召回率提高了3.85%, 誤判率降低了1.15%; 對于R2L 類型異常流量, 召回率提高了2.91%, 誤判率降低了1.25%. 綜上, 本文所提的配用電異常流量檢測方法在準確性方面具有較明顯的優(yōu)勢. 本文對深度森林并行化算法訓(xùn)練與分類過程進行了串并行運行時間對比測試, 通過對不采用并行加速的深度森林算法、基于Flink 框架不同并行度下采用默認調(diào)度方法與改進調(diào)度方法對深度森林算法并行加速這3 種場景的訓(xùn)練分類時長進行對比, 結(jié)果如表3 所示, 其中, 加速比 表示采用原始深度森林算法與Flink 改進調(diào)度方法的并行計算耗時的比值, 加速比 表示采用Flink 默認調(diào)度方法與Flink 改進調(diào)度方法的并行計算耗時的比值. 表3 并行深度森林加速性能對比Tab. 3 Performance comparison of parallel deep forest and original deep forest algorithms 由表3 可知, 深度森林經(jīng)并行化處理后, 整個異常流量檢測模型訓(xùn)練分類的時長隨著并行度的增加顯著縮短; 改進并行調(diào)度的深度森林算法較原始深度森林串行計算的加速比最高可達4.01, 較默認并行調(diào)度的深度森林加速比在最高可達1.22; 改進調(diào)度算法的并行深度森林算法在執(zhí)行效率方面的提升可達9% ~ 22%, 如圖7(a)所示. 圖7 優(yōu)化并行深度森林調(diào)度算法效果Fig. 7 Performance of the improved scheduling algorithm for the parallel deep forest process 本文用于執(zhí)行訓(xùn)練和分類任務(wù)的3 臺Flink 服務(wù)器節(jié)點的平均CPU 占用百分比和內(nèi)存占用對比分別如圖7(b)和 圖7(c)所示, 它們對比了并行深度森林和改進調(diào)度算法的深度森林資源占用情況.從圖中可見, 經(jīng)改進調(diào)度算法的深度森林在3 臺Flink 服務(wù)器節(jié)點上, CPU 占用分別為68.2%和 S原始S默認69.3%, 內(nèi)存占用分別為1.37 GB 和1.42 GB, 資源分配較原始調(diào)度算法更加均衡. 由此可知, 通過將深度森林訓(xùn)練與分類過程并行化處理, 結(jié)合改進的Flink 調(diào)度算法, 可將計算任務(wù)均衡地分配在各個服務(wù)器節(jié)點上, 有效降低了算法整體運行時間. 本文基于并行深度森林構(gòu)建了配用電通信網(wǎng)絡(luò)異常流量檢測模型, 相比較其他傳統(tǒng)方法, 在設(shè)計的配用電通信流量時域特征提取方法的基礎(chǔ)上, 利用自適應(yīng)冗余提升小波提取通信流量頻域特征, 利用深度森林模型對時頻域融合特征進行分類檢測; 提出了基于Flink 框架優(yōu)化調(diào)度的并行深度森林算法, 大幅提升深度森林訓(xùn)練與分類效率. 實驗結(jié)果表明, 本文方法具備更短的執(zhí)行時間、更高的準確率和更低的誤判率, 因此可以準確快速地對配用電通信網(wǎng)絡(luò)異常狀況進行檢測, 支撐配用電通信網(wǎng)絡(luò)安全態(tài)勢感知, 保障電網(wǎng)安全可靠運行.2 并行深度森林異常流量檢測方法
2.1 改進多粒度掃描
2.2 并行化級聯(lián)森林
2.3 并行深度森林異常流量檢測方法
3 實驗驗證
4 結(jié)束語