?

邊云協同環境下智能家居物聯網入侵檢測方法

2022-06-08 07:09呂正林段煉朱龍岳巖巖劉斌吳正坤
移動通信 2022年5期
關鍵詞:離線時序邊緣

呂正林,段煉,朱龍,岳巖巖,劉斌,吳正坤

(中移信息技術有限公司,廣東 深圳 518048)

0 引言

“萬物互聯”時代形成的海量數據讓我們不得不面對數據處理的實時性、智能型、安全性和隱私性問題。根據互聯網數據中心預測,到2025 年,全球的數據總量將達到180 ZB,而當前集中處理的方式遠遠不能滿足海量數據傳輸的需求[1]。在這樣的背景下,邊緣計算順應需求、應運而生,與云計算共同處理海量的數據,形成邊云協同處理數據的局面。邊云協同計算將云計算的能力下沉到邊緣側、設備側,就近為底層設備提供近端服務,將數據的存儲、傳輸、計算和安全交給邊緣節點來處理,實現更快的網絡響應服務、更短的處理時延,滿足各行各業實時業務、應用智能、安全與隱私保護等各方面的需求[2]。邊緣計算雖然滿足了用戶業務實時性和安全與隱私方面的需求,但由于其引入了開放應用編程接口(API,Application Programming Interface)、開放的網絡功能虛擬化技術(NFV,Network Functions Virtualization),因此邊緣服務器面臨一定的安全風險問題[3]。本文研究的重點是面向大規模物聯網的安全檢測,針對傳統中心化物聯網平臺入侵檢測模型可用性和擴展性差,難以為海量物聯網設備動態接入服務提供安全保障,不能滿足邊緣側物聯網應用服務安全需求等問題,本文提出一種在線集成學習的方法來在線更新入侵檢測模型,通過不斷學習的新知識來應對新數據和新應用的安全檢測要求,進而提升入侵檢測模型的識別精度。

1 入侵檢測方法

當前的入侵方式包括主機入侵和網絡入侵,主機入侵時是通過主機的軟件行為和主機的日志判斷的,而網絡入侵則是通過判斷數據流的特征、與主機連接次數來識別外部攻擊。但是,當前的入侵檢測方法大多數通過提取入侵行為特征并將其存入特征庫,將主機的日志或者數據流量的關鍵特征與特征庫進行比對從而判斷網絡系統是否存在入侵行為。這種基于匹配的入侵檢測方法在面對海量數據時往往存在誤報率高、泛化性弱等問題。因此,入侵檢測模型必須具有良好的高可用性、高精度檢測性和擴展性,才能滿足海量網絡數據流的入侵檢測場景。當前已有不少學者采用機器學習的方法來處理系統日志或者海量流量的特征,從而達到從海量數據中自動提取關鍵的信息特征,進而提升安全檢測的精度。當前的入侵檢測模型具體可分為幾大類:

(1)支持向量機

支持向量機(SVM,Support Vector Machine)是一種二分類算法,該算法由于利用了核函數的方法解決數據線性不可分的難題,不僅有效處理非線性數據,又能限制過學習,因此在小樣本下存在最好的分類效果和泛化能力。Mohammadi 等人[4]通過介紹基于支持向量機的入侵檢測與特征選擇系統的綜合研究,證明了支持向量機在入侵檢測的有效性,同時也提出SVM 分類器在動態IDS 環境中,舊的超平面無法準確識別正常和入侵活動。為了應對這個問題,需要定期更新支持向量機的模型。Al-Qatf 等人[5]提出一種基于自學框架的入侵檢測方法,該方法使用稀疏自動編碼器機制建立一種無監督的新特征重建方法,并將新的特征輸入到支持向量機中進行訓練,結果表明,該方法能夠有效提高入侵檢測的能力。Safaldin 等人[6]提出一種改進的二進制灰太狼入侵檢測系統支持向量機優化器,該優化器旨在通過增加狼群的數量和使用多目標函數來提高預測系統的整體性能,從而提高GWO-IDS 在無線傳感器網絡中的性能,實驗表明,該優化器在可靠性評估特征、執行時間、誤報率和檢測率等方面較其他算法有很好的優越性。

(2)神經網絡

神經網絡(NNS,Neural Networks)通過模仿動物行為特征、借助大量相互連接的內部節點之間的關聯關系構建起模型,從而識別攻擊者的攻擊行為。在大規模數據面前,大量的神經元在學習過程中學習效率不高,泛化性能也存在一定程度的限制。因此,很多學者對神經網絡進行改進,以便能更好適應網絡檢測的問題。Vinayakumar 等[7]采用多層感知器(MLP)、CNN、CNN 等有監督學習方法,實現網絡流量的檢測。Khan 等人[8]提出基于混合卷積遞歸神經網絡構建網絡入侵檢測系統,該系統通過遞歸神經網絡創建深度學習的混合入侵框架,用于預測并對網絡中的惡意網絡攻擊進行分類,該方法采用卷積神經網絡來捕捉網絡流量的空間特征,采用遞歸神經網絡來捕捉網絡流量的時間特征,從而實現網絡流量時空特征的有效捕捉,提升了入侵系統監測的有效性。Kan 等人[9]提出一種基于自適應粒子群優化卷積神經網絡的方法用于監測物聯網入侵檢測,該方法采用改變慣性權重的粒子群優化算法對CNN的參數進行自適應優化,提升了網絡入侵監測的準確性。

(3)決策樹

決策樹作為一種典型的監督學習的分類與回歸算法,通過逼近離散函數值的方法對數據進行劃分,因此,決策樹的模型呈現出樹的結果,一般包括根節點、子節點和葉子節點三部分。決策樹作為一種構建簡單、分類精度高、對噪音干擾數據又較好健壯性的分類算法,在入侵監測領域受到了廣泛的應用。Ahmim 等人[10]提出一種基于決策樹和規則模型的分層入侵檢測系統,該方法將三種不同分類器組合的分層模型用于入侵檢測,大大提升了入侵檢測的準確率。Nancy 等人[11]提出一種智能模糊時態決策樹分類算法的入侵檢測系統,該方法采用一種新的特征選擇算法——動態遞歸特征選擇算法來選擇最佳數量的特征,并通過擴展決策樹和卷積神經網絡實現模糊狀態下的入侵檢測。

現有研究表明,應用單一的機器學習算法已經無法很好地檢測入侵檢測,而是采用多機器學習集成的方法,比如CNN 融合RNN、不同分類器組合的分層模型等。除此之外,當前主流的入侵檢測產品存在一些問題,包括:(1)IDS 檢測不能有效應用于當前共享環境,攻擊者通常繞過網絡IDS,在主機側發動攻擊,帶來極大的安全隱患;(2)現有的入侵方法不能滿足攻擊行為動態變化的需求,重復地分析和處理數據不能對已有的攻擊行為進行有效的防護。

基于上述分析,本文通過建立一套自適應學習的入侵檢測方法,采用在線集成學習的入侵檢測方法實現知識的自更新,提高模型動態適應的能力。

2 基于在線集成學習的入侵檢測方法

當前邊云協同開放性的環境下,海量邊緣的安全接入在這種新型架構中的性能開銷問題變得日益突出。為了確保終端接入的可信性問題,研究一種輕量級的入侵檢測系統不僅可以對網絡安全進行全局化指導,還能減輕網絡通信傳輸的壓力,加快入侵檢測的響應速度。但是這種方法不能有效抵御攻擊,這是因為黑客的攻擊行為變化多端,系統只有持續更新入侵檢測的系統,才能有效抵御黑客的入侵檢測。因此,本文采用在線集成學習的方法,通過在線學習集成技術滿足入侵系統對數據時效性的要求,進而提高系統的可靠性和時效性。

本文首先利用深度學習模型訓練離線數據,構建離線基學習器;然后,根據不斷補充的數據構建多組在線基學習器,在線基學習器是通過在線增量訓練得出的,通過迭代離線基學習器來強化在線基學習器能力;再次,結合多組在線基學習器的性能,提出一種基于時序性能加權的在線集成方案,降低在線學習模型的方差,提高入侵檢測系統的可靠性和穩定性。

2.1 離線學習方案設計

為了保持入侵檢測模型的多樣性,本文將離線數據分割成多份時序數據,然后采用深度學習的方法對流量序列進行學習,這個過程的學習是采用歷史流量序列構建入侵檢測模型,對時間的要求不太高,在對各時序數據的特征獲取基礎上,將特征進行融合后形成當前流量序列的離線基學習器,進而形成離線入侵檢測模型,因此可用采用深度學習的方式訓練入侵檢測模型。

如圖1所示,離線學習方案主要采用CNN(Convolutional Neural Networks,卷積神經網絡)來處理海量的入侵數據,并對上述的數據進行分類。

圖1 離線學習方案設計

具體步驟為:

(1)在獲得時序序列之后,需要對時序序列轉換為數字型,并對所有的數字進行歸一化處理,以保證所有屬性在特征提取過程中不會受到數字大小的影響。

(2)本文采用門控卷積思想,剔除時序序列中無效與重復的信息,采用兩個不同卷積方式所得到的值經過相乘運算后獲得最終的卷積層,表示如下:

其中,E表示步驟(1)中經過歸一化處理的時序序列,W和V分別表示不同卷積層中的權重參數向量,b和c分別表示神經元中的偏執向量,?表示兩個不同卷積方式所得到的值相乘,Relu 函數表示卷積神經網絡的激活函數。

(3)經過卷積層對時序序列進行特征提取后,采用池化的方式對數據特征進行壓縮,剔除大量需要訓練的權重參數,從而提高檢測系統的訓練效率。

(4)經過池化處理后,將池化后的特征連接到全連接層上,全連接層將前面所有的數據x進行最后的整合后傳輸到輸出層,輸出層采用soft 函數對數據進行分類,選出概率最大的一種作為分類結果。Soft 函數的回歸表達式為:

其中,x(i)表示第i個時序序列在全連接層進行整合后傳輸到輸出層的數據,y(i)表示經過Soft 函數激活后的第i個時序序列的激活值,p(y(i))=1 表示第i個時序序列的激活值的分類結果為第1 類的概率,θ表示Soft 函數中的參數。

由步驟(1)-(4)可知,在對多個時序數據集進行訓練后,卷積神經網絡對離線數據的訓練完成后構建出多個離線入侵檢測模型。邊云協同環境下不同時間段的數據分布一般有較大的差異,單個時序的離線入侵模型往往存在泛化能力不足、魯棒性不強等問題。因此,本文在獲得多個離線檢測模型構建的基礎上,采用加權平均集成學習的方式對多個離線檢測模型進行集合,構建離線基學習器。

2.2 在線學習方案設計

在獲取離線入侵檢測模型的基礎上,通過陸續補充在線時序數據的方法,來對真實環境增量數據進行模擬,每一個邊緣節點都能夠構建在線基學習器,為后續的集成提供基礎。

圖2 是一個針對邊緣節點在線學習設計方案,其思想是:將新的時序序列根據時間分塊,每個數據塊將產生m個基分類器,將測試數據放進m個基分類器和離線基學習器中進行測試,結合m個基分類器的性能對離線基學習器的參數進行微調。

具體步驟包括:

(1)用測試數據塊對離線基學習器和m個基分類器進行測試,將分類器對應的分類準確率更新其投票權重a,更新公式為:

(2)結合m個基分類器投票權重構建在線基學習器,公式為:

2.3 集成學習方案設計

本文提出一種基于模型性能的平均改進集成方法,對每一個邊緣節點產生的在線基學習器進行在線集成,得到一個在線集成模型,該在線集成學習方案設計有兩個優點:(1)在線集成能夠克服傳統入侵模型系統時效性不高的問題,由于采用在線增量訓練的方式來構建在線基學習器,因此,能夠在很大程度上滿足現有數據分布的要求;(2)克服單個邊緣節點在線基學習器由于數據波動導致模型方差偏大的問題,單個邊緣節點的數據分布與數據的總體分布有可能存在偏差過大的現象,因此,單個邊緣節點所產生的在線基學習器會存在一定的偏差,所以采用基于模型性能平均改進集成的方法,能夠在很大程度上保證模型的有效性。

3 模型部署與實驗驗證

3.1 分布式數據平臺搭建

本文在實驗室環境下搭建用于部署分布式數據平臺,集群包括5 臺服務器,每臺服務器都配備CPU 計算單元和GPU 圖形運算單元。將其中1 臺服務器作為云端服務器,云端服務器配置為:8 GB 內存/8CPU 核心/500 G 硬盤/千兆網卡。對其他4 臺服務器進行虛擬化,每臺服務器虛擬化成4 個虛擬服務器,將虛擬服務器作為邊緣節點,總共得到16 個邊緣節點;虛擬服務器配置為:2 GB 內存/2CPU核心/125 G 硬盤/千兆網卡。將4 個物理服務器進行虛擬化,可在部署服務應用時更加靈活,可針對邊云協同下不同計算任務時分配不同的節點進行處理計算。

3.2 模型部署

本文基于Hadoop 分布式計算系統部署離線訓練的分布式架構,以構建離線基學習器,除此之外,采用實時計算引擎實現在線增量學習并構建在線基學習器,最后,采用Hadoop的分布式計算系統來集成在線基學習器并形成在線集成模型,將在線集成模型下發到邊緣節點側,實現對邊緣節點流量進行實時監測,以應對入侵監測的需求。離線基學習器采用CNN 深度學習模型進行構建,該模型結構包括5 個卷積層、5個池化層、1 個全連接層、1 個ReLU 激活層以及1 個輸出層。5 個卷積層的卷積核數目分別為16、32、64、64、64,卷積核采用一維卷積核,在每一個卷積層的特征圖后,都連接1 個池化層,以獲取流量數據的特征不變性,大大降低特征維數,提高計算效率;5 個池化層區域大小為2×1,池化函數采用最大值池化;池化層后是一個包含300 個神經元的隱含層,ReLU 激活層則對全連接層的結果進行處理;最后一層是包含9 類的Softmax 輸出層,包括8 大攻擊類別和1 個正常類別。

3.3 實驗環境

本文借鑒物聯網“感知層、傳輸層、應用層”三層架構進行實驗驗證。感知層包括家居電器傳感器、燈光檢測傳感器、燃氣檢測傳感器??紤]到實驗室條件有線,本文通過無線Wi-Fi 搭建無線傳輸網絡將感知層數據往上傳到網關,網關將采集信息傳輸到邊緣節點進行數據預處理,對數據進行分布式在線學習,形成在線基學習器。最后一層是應用層,邊緣節點將數據通過有線傳輸的方式將數據傳到云端服務器,云端服務器通過對數據進行訓練建模、在線集成獲得最終模型后,在云端服務器部署入侵監測的應用,本文的主要應用是入侵監測。整個實驗環境的拓撲圖如圖3 所示。

圖3 物聯網實驗環境拓撲圖

3.4 實驗數據

本文通過IXIA 工具生成網絡流量數據集,使用IXIA Perfect Storm 工具生成8 大攻擊類型的數據,每一條數據包含dur、proto、service、state、spkts、dpkts、sbytes、dbytes、rate、sttl、dttl 等42 維度。攻擊類別數及類別描述如表1 所示。

表1 攻擊類別數及類別描述

首先,通過將上面的數據集隨機分成16 份數據集,將每一份數據集隨機發到邊緣節點中;其次,將每一份數據集按照5:2:2:1 的方式劃分成離線訓練集、離線測試集、在線學習訓練集、在線學習測試集;再次,對每一條數據的42 個維度經過Z-score 標準化處理,放進深度學習分類器中學習離線訓練模型相關的參數;然后,將在線學習訓練集分成5 個數據塊,通過增量學習來對離線模型的參數進行微調,形成在線基學習器;最后,將多個邊緣節點的在線基學習器進行加權平均集成,得到在線集成模型。

3.5 實驗結果分析

(1)在線集成學習訓練

本文將在線訓練數據集分了5 個數據塊后,采用增量學習的方法對離線模型的參數進行微調。由圖4 可知,通過增量訓練后,在線學習模型會出現震蕩的現象,但經過一定次數的振蕩后,模型整體損失會出現穩定狀態。本文設定每一個數據塊下在線增量學習模型迭代的次數為200 次,不同顏色的損失曲線代表不同的批次,以此來驗證多批次時序數據在線學習的情況。

圖4 展示了第1~5 數據塊放進增量模型進行迭代后的損失圖,每個數據塊迭代次數為200 次,不同顏色的曲線表示不同批次,可見,模型的損失值呈現振蕩下降的趨勢,在第3 個數據塊的增量學習中,模型的損失趨于穩定。因此,在后續的模型中,在線增量學習訓練模型時,在邊緣節點可以指定補充3 個數據塊進行在線增量訓練,不僅能降低模型的計算復雜度,還能降低數據傳輸的帶寬。

圖4 增量學習中多批次數據訓練損失圖

(2)在線集成模型與其他方法性能對比

本文從模型的準確率和F1 值兩個評估指標對模型的性能進行測試,參與本文在線集成模型對比的參照模型有組合支持向量機和決策樹的集成學習模型。測試將利用不同批次的訓練數據對模型進行訓練,分別進行在線集成(本文算法)和傳統集成(組合支持向量機和決策樹的集成)得到最終模型,最后將訓練集和測試集的性能指標參數進行對比,得到的測試結果。

1)準確率

從圖5 可知,本文算法的訓練集和測試機的準確率較組合支持向量機和決策樹的集成學習模型高,并且本文算法的表現性能更加接近,意味著本文模型對數據分布的方差進行了一定程度的控制,通過對邊緣節點訓練的在線增量模型進行集成使得最終的模型表現得更加穩定。

圖5 不同算法準確率對比圖

2)F1 值

作為能夠綜合精確率和召回率的F1 值,能夠較好評估數據不平衡所帶來的性能評估誤差。

從圖6 可知,本文算法的訓練集和測試機的F1 值較組合支持向量機和決策樹的集成學習模型高,并且隨著在線增量學習的訓練,模型表現更加穩定。由于組合支持向量機和決策樹的集成學習模型是采用靜態權重的方式集成學習器,因此,當數據存在較大波動時,模型會存在較大的抖動,尤其是第4 個數據塊的數據分布與前面幾次數據分布出現較大偏差時,靜態集成的模型就會出現較大幅度的抖動。由此可知,本文在線集成學習模型較傳統靜態集成的模型具有更好的可靠性和實用性。

圖6 不同算法F1值對比圖

4 結束語

隨著入侵技術的演進,一套動態自適應更新的入侵監測方法是值得探索的。在線增量學習作為一種能夠解決數據分布不斷改變的模型構建技術,能夠讓邊緣側分布式模型實現動態更新;而集成學習作為一種能夠保證模型的穩定性的模型構建技術,能夠滿足云端中心總體模型泛化性要求。本文將上述兩種方法進行融合,通過在線增量學習模型保證模型的時效性,通過集成模型,希望模型的泛化能力不會因為增量數據的分布偏差而導致模型出現不穩定的現象。實驗證明,本文的方法能夠適用于邊云協同環境下的物聯網入侵監測,該方法將模型部署到分布式系統中,通過邊緣節點和中心節點的相互協同,實現模型的實時更新,保證模型滿足入侵監測時效性的要求。

猜你喜歡
離線時序邊緣
基于Sentinel-2時序NDVI的麥冬識別研究
異步電機離線參數辨識方法
呼吸閥離線檢驗工藝與評定探討
淺談ATC離線基礎數據的準備
離線富集-HPLC法同時測定氨咖黃敏膠囊中5種合成色素
基于FPGA 的時序信號光纖傳輸系統
一張圖看懂邊緣計算
一種毫米波放大器時序直流電源的設計
DPBUS時序及其設定方法
在邊緣尋找自我
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合