呂正林,段煉,朱龍,岳巖巖,劉斌,吳正坤
(中移信息技術(shù)有限公司,廣東 深圳 518048)
“萬(wàn)物互聯(lián)”時(shí)代形成的海量數(shù)據(jù)讓我們不得不面對(duì)數(shù)據(jù)處理的實(shí)時(shí)性、智能型、安全性和隱私性問(wèn)題。根據(jù)互聯(lián)網(wǎng)數(shù)據(jù)中心預(yù)測(cè),到2025 年,全球的數(shù)據(jù)總量將達(dá)到180 ZB,而當(dāng)前集中處理的方式遠(yuǎn)遠(yuǎn)不能滿足海量數(shù)據(jù)傳輸?shù)男枨骩1]。在這樣的背景下,邊緣計(jì)算順應(yīng)需求、應(yīng)運(yùn)而生,與云計(jì)算共同處理海量的數(shù)據(jù),形成邊云協(xié)同處理數(shù)據(jù)的局面。邊云協(xié)同計(jì)算將云計(jì)算的能力下沉到邊緣側(cè)、設(shè)備側(cè),就近為底層設(shè)備提供近端服務(wù),將數(shù)據(jù)的存儲(chǔ)、傳輸、計(jì)算和安全交給邊緣節(jié)點(diǎn)來(lái)處理,實(shí)現(xiàn)更快的網(wǎng)絡(luò)響應(yīng)服務(wù)、更短的處理時(shí)延,滿足各行各業(yè)實(shí)時(shí)業(yè)務(wù)、應(yīng)用智能、安全與隱私保護(hù)等各方面的需求[2]。邊緣計(jì)算雖然滿足了用戶業(yè)務(wù)實(shí)時(shí)性和安全與隱私方面的需求,但由于其引入了開放應(yīng)用編程接口(API,Application Programming Interface)、開放的網(wǎng)絡(luò)功能虛擬化技術(shù)(NFV,Network Functions Virtualization),因此邊緣服務(wù)器面臨一定的安全風(fēng)險(xiǎn)問(wèn)題[3]。本文研究的重點(diǎn)是面向大規(guī)模物聯(lián)網(wǎng)的安全檢測(cè),針對(duì)傳統(tǒng)中心化物聯(lián)網(wǎng)平臺(tái)入侵檢測(cè)模型可用性和擴(kuò)展性差,難以為海量物聯(lián)網(wǎng)設(shè)備動(dòng)態(tài)接入服務(wù)提供安全保障,不能滿足邊緣側(cè)物聯(lián)網(wǎng)應(yīng)用服務(wù)安全需求等問(wèn)題,本文提出一種在線集成學(xué)習(xí)的方法來(lái)在線更新入侵檢測(cè)模型,通過(guò)不斷學(xué)習(xí)的新知識(shí)來(lái)應(yīng)對(duì)新數(shù)據(jù)和新應(yīng)用的安全檢測(cè)要求,進(jìn)而提升入侵檢測(cè)模型的識(shí)別精度。
當(dāng)前的入侵方式包括主機(jī)入侵和網(wǎng)絡(luò)入侵,主機(jī)入侵時(shí)是通過(guò)主機(jī)的軟件行為和主機(jī)的日志判斷的,而網(wǎng)絡(luò)入侵則是通過(guò)判斷數(shù)據(jù)流的特征、與主機(jī)連接次數(shù)來(lái)識(shí)別外部攻擊。但是,當(dāng)前的入侵檢測(cè)方法大多數(shù)通過(guò)提取入侵行為特征并將其存入特征庫(kù),將主機(jī)的日志或者數(shù)據(jù)流量的關(guān)鍵特征與特征庫(kù)進(jìn)行比對(duì)從而判斷網(wǎng)絡(luò)系統(tǒng)是否存在入侵行為。這種基于匹配的入侵檢測(cè)方法在面對(duì)海量數(shù)據(jù)時(shí)往往存在誤報(bào)率高、泛化性弱等問(wèn)題。因此,入侵檢測(cè)模型必須具有良好的高可用性、高精度檢測(cè)性和擴(kuò)展性,才能滿足海量網(wǎng)絡(luò)數(shù)據(jù)流的入侵檢測(cè)場(chǎng)景。當(dāng)前已有不少學(xué)者采用機(jī)器學(xué)習(xí)的方法來(lái)處理系統(tǒng)日志或者海量流量的特征,從而達(dá)到從海量數(shù)據(jù)中自動(dòng)提取關(guān)鍵的信息特征,進(jìn)而提升安全檢測(cè)的精度。當(dāng)前的入侵檢測(cè)模型具體可分為幾大類:
(1)支持向量機(jī)
支持向量機(jī)(SVM,Support Vector Machine)是一種二分類算法,該算法由于利用了核函數(shù)的方法解決數(shù)據(jù)線性不可分的難題,不僅有效處理非線性數(shù)據(jù),又能限制過(guò)學(xué)習(xí),因此在小樣本下存在最好的分類效果和泛化能力。Mohammadi 等人[4]通過(guò)介紹基于支持向量機(jī)的入侵檢測(cè)與特征選擇系統(tǒng)的綜合研究,證明了支持向量機(jī)在入侵檢測(cè)的有效性,同時(shí)也提出SVM 分類器在動(dòng)態(tài)IDS 環(huán)境中,舊的超平面無(wú)法準(zhǔn)確識(shí)別正常和入侵活動(dòng)。為了應(yīng)對(duì)這個(gè)問(wèn)題,需要定期更新支持向量機(jī)的模型。Al-Qatf 等人[5]提出一種基于自學(xué)框架的入侵檢測(cè)方法,該方法使用稀疏自動(dòng)編碼器機(jī)制建立一種無(wú)監(jiān)督的新特征重建方法,并將新的特征輸入到支持向量機(jī)中進(jìn)行訓(xùn)練,結(jié)果表明,該方法能夠有效提高入侵檢測(cè)的能力。Safaldin 等人[6]提出一種改進(jìn)的二進(jìn)制灰太狼入侵檢測(cè)系統(tǒng)支持向量機(jī)優(yōu)化器,該優(yōu)化器旨在通過(guò)增加狼群的數(shù)量和使用多目標(biāo)函數(shù)來(lái)提高預(yù)測(cè)系統(tǒng)的整體性能,從而提高GWO-IDS 在無(wú)線傳感器網(wǎng)絡(luò)中的性能,實(shí)驗(yàn)表明,該優(yōu)化器在可靠性評(píng)估特征、執(zhí)行時(shí)間、誤報(bào)率和檢測(cè)率等方面較其他算法有很好的優(yōu)越性。
(2)神經(jīng)網(wǎng)絡(luò)
神經(jīng)網(wǎng)絡(luò)(NNS,Neural Networks)通過(guò)模仿動(dòng)物行為特征、借助大量相互連接的內(nèi)部節(jié)點(diǎn)之間的關(guān)聯(lián)關(guān)系構(gòu)建起模型,從而識(shí)別攻擊者的攻擊行為。在大規(guī)模數(shù)據(jù)面前,大量的神經(jīng)元在學(xué)習(xí)過(guò)程中學(xué)習(xí)效率不高,泛化性能也存在一定程度的限制。因此,很多學(xué)者對(duì)神經(jīng)網(wǎng)絡(luò)進(jìn)行改進(jìn),以便能更好適應(yīng)網(wǎng)絡(luò)檢測(cè)的問(wèn)題。Vinayakumar 等[7]采用多層感知器(MLP)、CNN、CNN 等有監(jiān)督學(xué)習(xí)方法,實(shí)現(xiàn)網(wǎng)絡(luò)流量的檢測(cè)。Khan 等人[8]提出基于混合卷積遞歸神經(jīng)網(wǎng)絡(luò)構(gòu)建網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng),該系統(tǒng)通過(guò)遞歸神經(jīng)網(wǎng)絡(luò)創(chuàng)建深度學(xué)習(xí)的混合入侵框架,用于預(yù)測(cè)并對(duì)網(wǎng)絡(luò)中的惡意網(wǎng)絡(luò)攻擊進(jìn)行分類,該方法采用卷積神經(jīng)網(wǎng)絡(luò)來(lái)捕捉網(wǎng)絡(luò)流量的空間特征,采用遞歸神經(jīng)網(wǎng)絡(luò)來(lái)捕捉網(wǎng)絡(luò)流量的時(shí)間特征,從而實(shí)現(xiàn)網(wǎng)絡(luò)流量時(shí)空特征的有效捕捉,提升了入侵系統(tǒng)監(jiān)測(cè)的有效性。Kan 等人[9]提出一種基于自適應(yīng)粒子群優(yōu)化卷積神經(jīng)網(wǎng)絡(luò)的方法用于監(jiān)測(cè)物聯(lián)網(wǎng)入侵檢測(cè),該方法采用改變慣性權(quán)重的粒子群優(yōu)化算法對(duì)CNN的參數(shù)進(jìn)行自適應(yīng)優(yōu)化,提升了網(wǎng)絡(luò)入侵監(jiān)測(cè)的準(zhǔn)確性。
(3)決策樹
決策樹作為一種典型的監(jiān)督學(xué)習(xí)的分類與回歸算法,通過(guò)逼近離散函數(shù)值的方法對(duì)數(shù)據(jù)進(jìn)行劃分,因此,決策樹的模型呈現(xiàn)出樹的結(jié)果,一般包括根節(jié)點(diǎn)、子節(jié)點(diǎn)和葉子節(jié)點(diǎn)三部分。決策樹作為一種構(gòu)建簡(jiǎn)單、分類精度高、對(duì)噪音干擾數(shù)據(jù)又較好健壯性的分類算法,在入侵監(jiān)測(cè)領(lǐng)域受到了廣泛的應(yīng)用。Ahmim 等人[10]提出一種基于決策樹和規(guī)則模型的分層入侵檢測(cè)系統(tǒng),該方法將三種不同分類器組合的分層模型用于入侵檢測(cè),大大提升了入侵檢測(cè)的準(zhǔn)確率。Nancy 等人[11]提出一種智能模糊時(shí)態(tài)決策樹分類算法的入侵檢測(cè)系統(tǒng),該方法采用一種新的特征選擇算法——?jiǎng)討B(tài)遞歸特征選擇算法來(lái)選擇最佳數(shù)量的特征,并通過(guò)擴(kuò)展決策樹和卷積神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)模糊狀態(tài)下的入侵檢測(cè)。
現(xiàn)有研究表明,應(yīng)用單一的機(jī)器學(xué)習(xí)算法已經(jīng)無(wú)法很好地檢測(cè)入侵檢測(cè),而是采用多機(jī)器學(xué)習(xí)集成的方法,比如CNN 融合RNN、不同分類器組合的分層模型等。除此之外,當(dāng)前主流的入侵檢測(cè)產(chǎn)品存在一些問(wèn)題,包括:(1)IDS 檢測(cè)不能有效應(yīng)用于當(dāng)前共享環(huán)境,攻擊者通常繞過(guò)網(wǎng)絡(luò)IDS,在主機(jī)側(cè)發(fā)動(dòng)攻擊,帶來(lái)極大的安全隱患;(2)現(xiàn)有的入侵方法不能滿足攻擊行為動(dòng)態(tài)變化的需求,重復(fù)地分析和處理數(shù)據(jù)不能對(duì)已有的攻擊行為進(jìn)行有效的防護(hù)。
基于上述分析,本文通過(guò)建立一套自適應(yīng)學(xué)習(xí)的入侵檢測(cè)方法,采用在線集成學(xué)習(xí)的入侵檢測(cè)方法實(shí)現(xiàn)知識(shí)的自更新,提高模型動(dòng)態(tài)適應(yīng)的能力。
當(dāng)前邊云協(xié)同開放性的環(huán)境下,海量邊緣的安全接入在這種新型架構(gòu)中的性能開銷問(wèn)題變得日益突出。為了確保終端接入的可信性問(wèn)題,研究一種輕量級(jí)的入侵檢測(cè)系統(tǒng)不僅可以對(duì)網(wǎng)絡(luò)安全進(jìn)行全局化指導(dǎo),還能減輕網(wǎng)絡(luò)通信傳輸?shù)膲毫?,加快入侵檢測(cè)的響應(yīng)速度。但是這種方法不能有效抵御攻擊,這是因?yàn)楹诳偷墓粜袨樽兓喽耍到y(tǒng)只有持續(xù)更新入侵檢測(cè)的系統(tǒng),才能有效抵御黑客的入侵檢測(cè)。因此,本文采用在線集成學(xué)習(xí)的方法,通過(guò)在線學(xué)習(xí)集成技術(shù)滿足入侵系統(tǒng)對(duì)數(shù)據(jù)時(shí)效性的要求,進(jìn)而提高系統(tǒng)的可靠性和時(shí)效性。
本文首先利用深度學(xué)習(xí)模型訓(xùn)練離線數(shù)據(jù),構(gòu)建離線基學(xué)習(xí)器;然后,根據(jù)不斷補(bǔ)充的數(shù)據(jù)構(gòu)建多組在線基學(xué)習(xí)器,在線基學(xué)習(xí)器是通過(guò)在線增量訓(xùn)練得出的,通過(guò)迭代離線基學(xué)習(xí)器來(lái)強(qiáng)化在線基學(xué)習(xí)器能力;再次,結(jié)合多組在線基學(xué)習(xí)器的性能,提出一種基于時(shí)序性能加權(quán)的在線集成方案,降低在線學(xué)習(xí)模型的方差,提高入侵檢測(cè)系統(tǒng)的可靠性和穩(wěn)定性。
為了保持入侵檢測(cè)模型的多樣性,本文將離線數(shù)據(jù)分割成多份時(shí)序數(shù)據(jù),然后采用深度學(xué)習(xí)的方法對(duì)流量序列進(jìn)行學(xué)習(xí),這個(gè)過(guò)程的學(xué)習(xí)是采用歷史流量序列構(gòu)建入侵檢測(cè)模型,對(duì)時(shí)間的要求不太高,在對(duì)各時(shí)序數(shù)據(jù)的特征獲取基礎(chǔ)上,將特征進(jìn)行融合后形成當(dāng)前流量序列的離線基學(xué)習(xí)器,進(jìn)而形成離線入侵檢測(cè)模型,因此可用采用深度學(xué)習(xí)的方式訓(xùn)練入侵檢測(cè)模型。
如圖1所示,離線學(xué)習(xí)方案主要采用CNN(Convolutional Neural Networks,卷積神經(jīng)網(wǎng)絡(luò))來(lái)處理海量的入侵?jǐn)?shù)據(jù),并對(duì)上述的數(shù)據(jù)進(jìn)行分類。
圖1 離線學(xué)習(xí)方案設(shè)計(jì)
具體步驟為:
(1)在獲得時(shí)序序列之后,需要對(duì)時(shí)序序列轉(zhuǎn)換為數(shù)字型,并對(duì)所有的數(shù)字進(jìn)行歸一化處理,以保證所有屬性在特征提取過(guò)程中不會(huì)受到數(shù)字大小的影響。
(2)本文采用門控卷積思想,剔除時(shí)序序列中無(wú)效與重復(fù)的信息,采用兩個(gè)不同卷積方式所得到的值經(jīng)過(guò)相乘運(yùn)算后獲得最終的卷積層,表示如下:
其中,E表示步驟(1)中經(jīng)過(guò)歸一化處理的時(shí)序序列,W和V分別表示不同卷積層中的權(quán)重參數(shù)向量,b和c分別表示神經(jīng)元中的偏執(zhí)向量,?表示兩個(gè)不同卷積方式所得到的值相乘,Relu 函數(shù)表示卷積神經(jīng)網(wǎng)絡(luò)的激活函數(shù)。
(3)經(jīng)過(guò)卷積層對(duì)時(shí)序序列進(jìn)行特征提取后,采用池化的方式對(duì)數(shù)據(jù)特征進(jìn)行壓縮,剔除大量需要訓(xùn)練的權(quán)重參數(shù),從而提高檢測(cè)系統(tǒng)的訓(xùn)練效率。
(4)經(jīng)過(guò)池化處理后,將池化后的特征連接到全連接層上,全連接層將前面所有的數(shù)據(jù)x進(jìn)行最后的整合后傳輸?shù)捷敵鰧?,輸出層采用soft 函數(shù)對(duì)數(shù)據(jù)進(jìn)行分類,選出概率最大的一種作為分類結(jié)果。Soft 函數(shù)的回歸表達(dá)式為:
其中,x(i)表示第i個(gè)時(shí)序序列在全連接層進(jìn)行整合后傳輸?shù)捷敵鰧拥臄?shù)據(jù),y(i)表示經(jīng)過(guò)Soft 函數(shù)激活后的第i個(gè)時(shí)序序列的激活值,p(y(i))=1 表示第i個(gè)時(shí)序序列的激活值的分類結(jié)果為第1 類的概率,θ表示Soft 函數(shù)中的參數(shù)。
由步驟(1)-(4)可知,在對(duì)多個(gè)時(shí)序數(shù)據(jù)集進(jìn)行訓(xùn)練后,卷積神經(jīng)網(wǎng)絡(luò)對(duì)離線數(shù)據(jù)的訓(xùn)練完成后構(gòu)建出多個(gè)離線入侵檢測(cè)模型。邊云協(xié)同環(huán)境下不同時(shí)間段的數(shù)據(jù)分布一般有較大的差異,單個(gè)時(shí)序的離線入侵模型往往存在泛化能力不足、魯棒性不強(qiáng)等問(wèn)題。因此,本文在獲得多個(gè)離線檢測(cè)模型構(gòu)建的基礎(chǔ)上,采用加權(quán)平均集成學(xué)習(xí)的方式對(duì)多個(gè)離線檢測(cè)模型進(jìn)行集合,構(gòu)建離線基學(xué)習(xí)器。
在獲取離線入侵檢測(cè)模型的基礎(chǔ)上,通過(guò)陸續(xù)補(bǔ)充在線時(shí)序數(shù)據(jù)的方法,來(lái)對(duì)真實(shí)環(huán)境增量數(shù)據(jù)進(jìn)行模擬,每一個(gè)邊緣節(jié)點(diǎn)都能夠構(gòu)建在線基學(xué)習(xí)器,為后續(xù)的集成提供基礎(chǔ)。
圖2 是一個(gè)針對(duì)邊緣節(jié)點(diǎn)在線學(xué)習(xí)設(shè)計(jì)方案,其思想是:將新的時(shí)序序列根據(jù)時(shí)間分塊,每個(gè)數(shù)據(jù)塊將產(chǎn)生m個(gè)基分類器,將測(cè)試數(shù)據(jù)放進(jìn)m個(gè)基分類器和離線基學(xué)習(xí)器中進(jìn)行測(cè)試,結(jié)合m個(gè)基分類器的性能對(duì)離線基學(xué)習(xí)器的參數(shù)進(jìn)行微調(diào)。
具體步驟包括:
(1)用測(cè)試數(shù)據(jù)塊對(duì)離線基學(xué)習(xí)器和m個(gè)基分類器進(jìn)行測(cè)試,將分類器對(duì)應(yīng)的分類準(zhǔn)確率更新其投票權(quán)重a,更新公式為:
(2)結(jié)合m個(gè)基分類器投票權(quán)重構(gòu)建在線基學(xué)習(xí)器,公式為:
本文提出一種基于模型性能的平均改進(jìn)集成方法,對(duì)每一個(gè)邊緣節(jié)點(diǎn)產(chǎn)生的在線基學(xué)習(xí)器進(jìn)行在線集成,得到一個(gè)在線集成模型,該在線集成學(xué)習(xí)方案設(shè)計(jì)有兩個(gè)優(yōu)點(diǎn):(1)在線集成能夠克服傳統(tǒng)入侵模型系統(tǒng)時(shí)效性不高的問(wèn)題,由于采用在線增量訓(xùn)練的方式來(lái)構(gòu)建在線基學(xué)習(xí)器,因此,能夠在很大程度上滿足現(xiàn)有數(shù)據(jù)分布的要求;(2)克服單個(gè)邊緣節(jié)點(diǎn)在線基學(xué)習(xí)器由于數(shù)據(jù)波動(dòng)導(dǎo)致模型方差偏大的問(wèn)題,單個(gè)邊緣節(jié)點(diǎn)的數(shù)據(jù)分布與數(shù)據(jù)的總體分布有可能存在偏差過(guò)大的現(xiàn)象,因此,單個(gè)邊緣節(jié)點(diǎn)所產(chǎn)生的在線基學(xué)習(xí)器會(huì)存在一定的偏差,所以采用基于模型性能平均改進(jìn)集成的方法,能夠在很大程度上保證模型的有效性。
本文在實(shí)驗(yàn)室環(huán)境下搭建用于部署分布式數(shù)據(jù)平臺(tái),集群包括5 臺(tái)服務(wù)器,每臺(tái)服務(wù)器都配備CPU 計(jì)算單元和GPU 圖形運(yùn)算單元。將其中1 臺(tái)服務(wù)器作為云端服務(wù)器,云端服務(wù)器配置為:8 GB 內(nèi)存/8CPU 核心/500 G 硬盤/千兆網(wǎng)卡。對(duì)其他4 臺(tái)服務(wù)器進(jìn)行虛擬化,每臺(tái)服務(wù)器虛擬化成4 個(gè)虛擬服務(wù)器,將虛擬服務(wù)器作為邊緣節(jié)點(diǎn),總共得到16 個(gè)邊緣節(jié)點(diǎn);虛擬服務(wù)器配置為:2 GB 內(nèi)存/2CPU核心/125 G 硬盤/千兆網(wǎng)卡。將4 個(gè)物理服務(wù)器進(jìn)行虛擬化,可在部署服務(wù)應(yīng)用時(shí)更加靈活,可針對(duì)邊云協(xié)同下不同計(jì)算任務(wù)時(shí)分配不同的節(jié)點(diǎn)進(jìn)行處理計(jì)算。
本文基于Hadoop 分布式計(jì)算系統(tǒng)部署離線訓(xùn)練的分布式架構(gòu),以構(gòu)建離線基學(xué)習(xí)器,除此之外,采用實(shí)時(shí)計(jì)算引擎實(shí)現(xiàn)在線增量學(xué)習(xí)并構(gòu)建在線基學(xué)習(xí)器,最后,采用Hadoop的分布式計(jì)算系統(tǒng)來(lái)集成在線基學(xué)習(xí)器并形成在線集成模型,將在線集成模型下發(fā)到邊緣節(jié)點(diǎn)側(cè),實(shí)現(xiàn)對(duì)邊緣節(jié)點(diǎn)流量進(jìn)行實(shí)時(shí)監(jiān)測(cè),以應(yīng)對(duì)入侵監(jiān)測(cè)的需求。離線基學(xué)習(xí)器采用CNN 深度學(xué)習(xí)模型進(jìn)行構(gòu)建,該模型結(jié)構(gòu)包括5 個(gè)卷積層、5個(gè)池化層、1 個(gè)全連接層、1 個(gè)ReLU 激活層以及1 個(gè)輸出層。5 個(gè)卷積層的卷積核數(shù)目分別為16、32、64、64、64,卷積核采用一維卷積核,在每一個(gè)卷積層的特征圖后,都連接1 個(gè)池化層,以獲取流量數(shù)據(jù)的特征不變性,大大降低特征維數(shù),提高計(jì)算效率;5 個(gè)池化層區(qū)域大小為2×1,池化函數(shù)采用最大值池化;池化層后是一個(gè)包含300 個(gè)神經(jīng)元的隱含層,ReLU 激活層則對(duì)全連接層的結(jié)果進(jìn)行處理;最后一層是包含9 類的Softmax 輸出層,包括8 大攻擊類別和1 個(gè)正常類別。
本文借鑒物聯(lián)網(wǎng)“感知層、傳輸層、應(yīng)用層”三層架構(gòu)進(jìn)行實(shí)驗(yàn)驗(yàn)證。感知層包括家居電器傳感器、燈光檢測(cè)傳感器、燃?xì)鈾z測(cè)傳感器??紤]到實(shí)驗(yàn)室條件有線,本文通過(guò)無(wú)線Wi-Fi 搭建無(wú)線傳輸網(wǎng)絡(luò)將感知層數(shù)據(jù)往上傳到網(wǎng)關(guān),網(wǎng)關(guān)將采集信息傳輸?shù)竭吘壒?jié)點(diǎn)進(jìn)行數(shù)據(jù)預(yù)處理,對(duì)數(shù)據(jù)進(jìn)行分布式在線學(xué)習(xí),形成在線基學(xué)習(xí)器。最后一層是應(yīng)用層,邊緣節(jié)點(diǎn)將數(shù)據(jù)通過(guò)有線傳輸?shù)姆绞綄?shù)據(jù)傳到云端服務(wù)器,云端服務(wù)器通過(guò)對(duì)數(shù)據(jù)進(jìn)行訓(xùn)練建模、在線集成獲得最終模型后,在云端服務(wù)器部署入侵監(jiān)測(cè)的應(yīng)用,本文的主要應(yīng)用是入侵監(jiān)測(cè)。整個(gè)實(shí)驗(yàn)環(huán)境的拓?fù)鋱D如圖3 所示。
圖3 物聯(lián)網(wǎng)實(shí)驗(yàn)環(huán)境拓?fù)鋱D
本文通過(guò)IXIA 工具生成網(wǎng)絡(luò)流量數(shù)據(jù)集,使用IXIA Perfect Storm 工具生成8 大攻擊類型的數(shù)據(jù),每一條數(shù)據(jù)包含dur、proto、service、state、spkts、dpkts、sbytes、dbytes、rate、sttl、dttl 等42 維度。攻擊類別數(shù)及類別描述如表1 所示。
表1 攻擊類別數(shù)及類別描述
首先,通過(guò)將上面的數(shù)據(jù)集隨機(jī)分成16 份數(shù)據(jù)集,將每一份數(shù)據(jù)集隨機(jī)發(fā)到邊緣節(jié)點(diǎn)中;其次,將每一份數(shù)據(jù)集按照5:2:2:1 的方式劃分成離線訓(xùn)練集、離線測(cè)試集、在線學(xué)習(xí)訓(xùn)練集、在線學(xué)習(xí)測(cè)試集;再次,對(duì)每一條數(shù)據(jù)的42 個(gè)維度經(jīng)過(guò)Z-score 標(biāo)準(zhǔn)化處理,放進(jìn)深度學(xué)習(xí)分類器中學(xué)習(xí)離線訓(xùn)練模型相關(guān)的參數(shù);然后,將在線學(xué)習(xí)訓(xùn)練集分成5 個(gè)數(shù)據(jù)塊,通過(guò)增量學(xué)習(xí)來(lái)對(duì)離線模型的參數(shù)進(jìn)行微調(diào),形成在線基學(xué)習(xí)器;最后,將多個(gè)邊緣節(jié)點(diǎn)的在線基學(xué)習(xí)器進(jìn)行加權(quán)平均集成,得到在線集成模型。
(1)在線集成學(xué)習(xí)訓(xùn)練
本文將在線訓(xùn)練數(shù)據(jù)集分了5 個(gè)數(shù)據(jù)塊后,采用增量學(xué)習(xí)的方法對(duì)離線模型的參數(shù)進(jìn)行微調(diào)。由圖4 可知,通過(guò)增量訓(xùn)練后,在線學(xué)習(xí)模型會(huì)出現(xiàn)震蕩的現(xiàn)象,但經(jīng)過(guò)一定次數(shù)的振蕩后,模型整體損失會(huì)出現(xiàn)穩(wěn)定狀態(tài)。本文設(shè)定每一個(gè)數(shù)據(jù)塊下在線增量學(xué)習(xí)模型迭代的次數(shù)為200 次,不同顏色的損失曲線代表不同的批次,以此來(lái)驗(yàn)證多批次時(shí)序數(shù)據(jù)在線學(xué)習(xí)的情況。
圖4 展示了第1~5 數(shù)據(jù)塊放進(jìn)增量模型進(jìn)行迭代后的損失圖,每個(gè)數(shù)據(jù)塊迭代次數(shù)為200 次,不同顏色的曲線表示不同批次,可見,模型的損失值呈現(xiàn)振蕩下降的趨勢(shì),在第3 個(gè)數(shù)據(jù)塊的增量學(xué)習(xí)中,模型的損失趨于穩(wěn)定。因此,在后續(xù)的模型中,在線增量學(xué)習(xí)訓(xùn)練模型時(shí),在邊緣節(jié)點(diǎn)可以指定補(bǔ)充3 個(gè)數(shù)據(jù)塊進(jìn)行在線增量訓(xùn)練,不僅能降低模型的計(jì)算復(fù)雜度,還能降低數(shù)據(jù)傳輸?shù)膸挕?/p>
圖4 增量學(xué)習(xí)中多批次數(shù)據(jù)訓(xùn)練損失圖
(2)在線集成模型與其他方法性能對(duì)比
本文從模型的準(zhǔn)確率和F1 值兩個(gè)評(píng)估指標(biāo)對(duì)模型的性能進(jìn)行測(cè)試,參與本文在線集成模型對(duì)比的參照模型有組合支持向量機(jī)和決策樹的集成學(xué)習(xí)模型。測(cè)試將利用不同批次的訓(xùn)練數(shù)據(jù)對(duì)模型進(jìn)行訓(xùn)練,分別進(jìn)行在線集成(本文算法)和傳統(tǒng)集成(組合支持向量機(jī)和決策樹的集成)得到最終模型,最后將訓(xùn)練集和測(cè)試集的性能指標(biāo)參數(shù)進(jìn)行對(duì)比,得到的測(cè)試結(jié)果。
1)準(zhǔn)確率
從圖5 可知,本文算法的訓(xùn)練集和測(cè)試機(jī)的準(zhǔn)確率較組合支持向量機(jī)和決策樹的集成學(xué)習(xí)模型高,并且本文算法的表現(xiàn)性能更加接近,意味著本文模型對(duì)數(shù)據(jù)分布的方差進(jìn)行了一定程度的控制,通過(guò)對(duì)邊緣節(jié)點(diǎn)訓(xùn)練的在線增量模型進(jìn)行集成使得最終的模型表現(xiàn)得更加穩(wěn)定。
圖5 不同算法準(zhǔn)確率對(duì)比圖
2)F1 值
作為能夠綜合精確率和召回率的F1 值,能夠較好評(píng)估數(shù)據(jù)不平衡所帶來(lái)的性能評(píng)估誤差。
從圖6 可知,本文算法的訓(xùn)練集和測(cè)試機(jī)的F1 值較組合支持向量機(jī)和決策樹的集成學(xué)習(xí)模型高,并且隨著在線增量學(xué)習(xí)的訓(xùn)練,模型表現(xiàn)更加穩(wěn)定。由于組合支持向量機(jī)和決策樹的集成學(xué)習(xí)模型是采用靜態(tài)權(quán)重的方式集成學(xué)習(xí)器,因此,當(dāng)數(shù)據(jù)存在較大波動(dòng)時(shí),模型會(huì)存在較大的抖動(dòng),尤其是第4 個(gè)數(shù)據(jù)塊的數(shù)據(jù)分布與前面幾次數(shù)據(jù)分布出現(xiàn)較大偏差時(shí),靜態(tài)集成的模型就會(huì)出現(xiàn)較大幅度的抖動(dòng)。由此可知,本文在線集成學(xué)習(xí)模型較傳統(tǒng)靜態(tài)集成的模型具有更好的可靠性和實(shí)用性。
圖6 不同算法F1值對(duì)比圖
隨著入侵技術(shù)的演進(jìn),一套動(dòng)態(tài)自適應(yīng)更新的入侵監(jiān)測(cè)方法是值得探索的。在線增量學(xué)習(xí)作為一種能夠解決數(shù)據(jù)分布不斷改變的模型構(gòu)建技術(shù),能夠讓邊緣側(cè)分布式模型實(shí)現(xiàn)動(dòng)態(tài)更新;而集成學(xué)習(xí)作為一種能夠保證模型的穩(wěn)定性的模型構(gòu)建技術(shù),能夠滿足云端中心總體模型泛化性要求。本文將上述兩種方法進(jìn)行融合,通過(guò)在線增量學(xué)習(xí)模型保證模型的時(shí)效性,通過(guò)集成模型,希望模型的泛化能力不會(huì)因?yàn)樵隽繑?shù)據(jù)的分布偏差而導(dǎo)致模型出現(xiàn)不穩(wěn)定的現(xiàn)象。實(shí)驗(yàn)證明,本文的方法能夠適用于邊云協(xié)同環(huán)境下的物聯(lián)網(wǎng)入侵監(jiān)測(cè),該方法將模型部署到分布式系統(tǒng)中,通過(guò)邊緣節(jié)點(diǎn)和中心節(jié)點(diǎn)的相互協(xié)同,實(shí)現(xiàn)模型的實(shí)時(shí)更新,保證模型滿足入侵監(jiān)測(cè)時(shí)效性的要求。