劉金碩,詹岱依,鄧娟,王麗娜
(武漢大學(xué)國家網(wǎng)絡(luò)安全學(xué)院空天信息安全與可信計(jì)算教育部重點(diǎn)實(shí)驗(yàn)室,武漢 430072)
在高速網(wǎng)絡(luò)環(huán)境下,網(wǎng)絡(luò)安全問題層出不窮,網(wǎng)絡(luò)入侵檢測(cè)作為監(jiān)控網(wǎng)絡(luò)潛在攻擊的重要措施[1],需要在海量數(shù)據(jù)環(huán)境下快速且準(zhǔn)確地識(shí)別攻擊事件。因此,提高網(wǎng)絡(luò)入侵檢測(cè)技術(shù)的準(zhǔn)確率與檢測(cè)速度具有十分重要的現(xiàn)實(shí)意義。
近年來,機(jī)器學(xué)習(xí)與深度學(xué)習(xí)算法在圖像和文本識(shí)別、語言翻譯等方面都取得了較大突破,于是很多研究人員也將其運(yùn)用于網(wǎng)絡(luò)入侵檢測(cè)領(lǐng)域。MA等[2]提出一種基于生成對(duì)抗網(wǎng)絡(luò)和雙向長短期記憶(Bidirectional Long Short-Term Memory,Bi-LSTM)網(wǎng)絡(luò)的方法,該方法解決了數(shù)據(jù)集冗余的問題。LI等[3]提出基于卷積神經(jīng)網(wǎng)絡(luò)的入侵檢測(cè)系統(tǒng),該系統(tǒng)將文本數(shù)據(jù)處理轉(zhuǎn)換為圖像數(shù)據(jù)處理,準(zhǔn)確率達(dá)到79.14%,雖然其效果不如其他深度學(xué)習(xí)算法,但是為入侵檢測(cè)方法設(shè)計(jì)提供了一種新思路。此外,ZARAI 等[4]利用長短期記憶(Long Short-Term Memory,LSTM)網(wǎng)絡(luò)來緩解循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)的梯度消失問題,從而改進(jìn)入侵檢測(cè)系統(tǒng)的特征選擇,實(shí)驗(yàn)結(jié)果表明,3 層LSTM 架構(gòu)的入侵檢測(cè)模型對(duì)異常攻擊檢測(cè)更有效。SUWANNALAI 等[5]提出基于強(qiáng)化學(xué)習(xí)的網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng),與遞歸神經(jīng)網(wǎng)絡(luò)相比,該系統(tǒng)在數(shù)據(jù)集中某些類型的攻擊上有優(yōu)異表現(xiàn)。ZHAO 等[6]提出一種基于輕量級(jí)深度神經(jīng)網(wǎng)絡(luò)(Deep Neural Network,DNN)的網(wǎng)絡(luò)入侵檢測(cè)方法,該方法能有效減輕入侵檢測(cè)時(shí)所面臨的內(nèi)存負(fù)擔(dān)。
雖然深度學(xué)習(xí)[7]與機(jī)器學(xué)習(xí)算法在網(wǎng)絡(luò)入侵檢測(cè)領(lǐng)域取得了較好的效果[8-10],但是仍然存在如下問題:1)數(shù)據(jù)安全與數(shù)據(jù)隱私,在大數(shù)據(jù)時(shí)代,數(shù)據(jù)安全與數(shù)據(jù)隱私[11]一直是網(wǎng)絡(luò)入侵檢測(cè)所面臨的一大難題,且在模型訓(xùn)練以及數(shù)據(jù)傳輸過程中往往存在許多隱私泄露等安全問題;2)準(zhǔn)確率與效率,在處理海量數(shù)據(jù)時(shí),較高的準(zhǔn)確率往往伴隨著較大的時(shí)間成本,如何同時(shí)提高數(shù)據(jù)處理效率[12]與模型準(zhǔn)確率也是目前的研究重點(diǎn)。
聯(lián)邦學(xué)習(xí)[13]是2016 年谷歌公司提出的一種分布式機(jī)器學(xué)習(xí)框架,它在服務(wù)器之間通信時(shí)可以實(shí)現(xiàn)數(shù)據(jù)安全,很好地保障了參與方的終端數(shù)據(jù)隱私。同時(shí),還可以使用各種不同的通用模型在多個(gè)參與方之間開展高效率的特征提取與學(xué)習(xí)。FRIHA 等[14]結(jié)合聯(lián)邦學(xué)習(xí)提出一種物聯(lián)網(wǎng)入侵檢測(cè)系統(tǒng),該系統(tǒng)利用混合集成的方法結(jié)合聯(lián)邦學(xué)習(xí)來執(zhí)行局部訓(xùn)練并只聚合模型參數(shù),實(shí)現(xiàn)了較高的召回率。CIREGAN 等[15]使用基于GPU 的加速訓(xùn)練深度神經(jīng)網(wǎng)絡(luò)算法進(jìn)行圖像分類和字符識(shí)別,結(jié)果表明,深度神經(jīng)網(wǎng)絡(luò)的并行計(jì)算能力能夠大幅減少訓(xùn)練所需時(shí)間。
本文基于深度神經(jīng)網(wǎng)絡(luò)和聯(lián)邦學(xué)習(xí)建立一種網(wǎng)絡(luò)入侵檢測(cè)模型DFC-NID。該模型融合聯(lián)邦學(xué)習(xí)框架,通過基于自動(dòng)編碼器優(yōu)化的深度神經(jīng)網(wǎng)絡(luò)算法對(duì)多個(gè)子服務(wù)器節(jié)點(diǎn)的網(wǎng)絡(luò)入侵?jǐn)?shù)據(jù)進(jìn)行模型訓(xùn)練。最后通過實(shí)驗(yàn)驗(yàn)證DFC-NID 模型在耗時(shí)和數(shù)據(jù)安全保障方面的性能。
網(wǎng)絡(luò)入侵檢測(cè)數(shù)據(jù)集包括部分自制數(shù)據(jù)集和一些常用的公測(cè)數(shù)據(jù)集。目前,大多數(shù)入侵檢測(cè)研究使用的標(biāo)準(zhǔn)公共數(shù)據(jù)集為KDDCup99[16-17]和NSLKDD[18-20]。
NSL-KDD 數(shù)據(jù)集是KDDCup99 數(shù)據(jù)集的改進(jìn)版 本。2009 年,TAVALLAEE 等[21]對(duì)KDDCup99 數(shù)據(jù)集進(jìn)行統(tǒng)計(jì)分析,發(fā)現(xiàn)該數(shù)據(jù)集中存在大量冗余記錄,其中,訓(xùn)練數(shù)據(jù)集中就有高達(dá)78%的冗余數(shù)據(jù),測(cè)試數(shù)據(jù)集中有75%的冗余數(shù)據(jù),如此大量的重復(fù)記錄會(huì)導(dǎo)致分類器偏向于學(xué)習(xí)更頻繁出現(xiàn)的記錄,從而造成評(píng)估結(jié)果偏差。TAVALLAEE 等[21]刪除了原始KDDCup99 數(shù)據(jù)集中的這些冗余記錄,創(chuàng)建了一個(gè)更簡(jiǎn)潔高效的入侵檢測(cè)數(shù)據(jù)集NSL-KDD。NSL-KDD 數(shù)據(jù)集包含41 個(gè)正?;蛱囟ü纛愋偷奶卣?,表1 匯總了NSL-KDD 數(shù)據(jù)集中的數(shù)據(jù)類型以及屬于該特定數(shù)據(jù)類型的數(shù)據(jù)集中的特征編號(hào)。
表1 NSL-KDD 數(shù)據(jù)集的數(shù)據(jù)類型及特征編號(hào)Table 1 Data type and feature number of NSL-KDD dataset
表2 歸納了NSL-KDD 數(shù)據(jù)集中4 種不同攻擊類型的屬性值,分別為DoS(Denial of Service)、Probe、R2L(Root to Local)、U2R(Unauthorized to Root):
表2 NSL-KDD 數(shù)據(jù)集的攻擊類型屬性值Table 2 Attack type attribute value of NSL-KDD dataset
1)DoS。拒絕服務(wù)攻擊,攻擊者通過使計(jì)算內(nèi)存資源變得過于繁忙或拒絕合法用戶訪問,使其暫時(shí)或無限期地對(duì)用戶不可用。
2)Probe。攻擊者通過掃描計(jì)算機(jī)(主機(jī))的網(wǎng)絡(luò),收集有關(guān)Web 應(yīng)用程序、操作系統(tǒng)、數(shù)據(jù)庫、網(wǎng)絡(luò)以及與其連接的設(shè)備的信息,從而找到威脅或漏洞并加以利用。
3)R2L。攻擊者從遠(yuǎn)程設(shè)備到本地設(shè)備進(jìn)行未授權(quán)訪問,通過利用一些漏洞來向設(shè)備發(fā)送數(shù)據(jù)包。
4)U2R。攻擊者可以訪問攻擊目標(biāo)中的user,且攻擊者在訪問計(jì)算機(jī)時(shí)可以獲得root 權(quán)限的攻擊,如木馬、勒索軟件等。
上述4 種攻擊類別中共包含22 種不同的子類,這22 個(gè)子類加上normal 共同組成了KDDCup99 中的23 個(gè)標(biāo)簽。在KDDCup99 的41 個(gè)特征中,有38 個(gè)數(shù)字特征和3 個(gè)字符特征,3 個(gè)字符特征分別為protocol_type、service 和flag。
深度神經(jīng)網(wǎng)絡(luò)在處理NSL-KDD、KDDCup99 等規(guī)模龐大數(shù)據(jù)集時(shí)具有較好的并行計(jì)算能力。如圖1 所示,用于入侵檢測(cè)數(shù)據(jù)處理的DNN 由輸入層、隱藏層、輸出層組成[22],各個(gè)層之間的神經(jīng)元完全連通。圖1 的輸入層使用來自NSL-KDD 數(shù)據(jù)集的所有41 個(gè)特征作為神經(jīng)元,經(jīng)過多個(gè)隱藏層之后對(duì)攻擊數(shù)據(jù)和正常數(shù)據(jù)進(jìn)行分類。
圖1 深度神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)Fig.1 Deep neural network structure
聯(lián)邦學(xué)習(xí)的核心思想是基于分布在多個(gè)設(shè)備上的數(shù)據(jù)集建立機(jī)器學(xué)習(xí)模型,同時(shí)防止數(shù)據(jù)泄露[23]。在聯(lián)邦學(xué)習(xí)框架下,每個(gè)設(shè)備不發(fā)送原始數(shù)據(jù)進(jìn)行處理,僅發(fā)送更新后的模型參數(shù)進(jìn)行聚合,其參數(shù)聚合原理類似于分布式機(jī)器學(xué)習(xí)[24]。
如圖2 所示,在聯(lián)邦學(xué)習(xí)框架中,每個(gè)服務(wù)器之間相對(duì)獨(dú)立、互不干預(yù),對(duì)本地?cái)?shù)據(jù)的處理權(quán)限不受中心服務(wù)器控制。每個(gè)子服務(wù)器通過下載通用模型來對(duì)本地?cái)?shù)據(jù)進(jìn)行獨(dú)立訓(xùn)練與測(cè)試,然后通過上傳將本地參數(shù)更新傳輸至中心服務(wù)器。每個(gè)數(shù)據(jù)擁有方都可以在不給出己方數(shù)據(jù)的條件下進(jìn)行訓(xùn)練,從而有效保障數(shù)據(jù)所有者的數(shù)據(jù)安全。在聯(lián)邦學(xué)習(xí)機(jī)制下,多個(gè)子服務(wù)器能夠共同維持一個(gè)最新的全局模型,這個(gè)全局模型是聯(lián)邦學(xué)習(xí)框架中最重要的組成模塊,本文DFC-NID 模型中聯(lián)邦學(xué)習(xí)框架所使用的通用模型是DNN。
圖2 聯(lián)邦學(xué)習(xí)框架Fig.2 Federated learning framework
本文所提網(wǎng)絡(luò)入侵檢測(cè)模型DFC-NID 的總體流程如圖3 所示。
圖3 DFC-NID 流程Fig.3 The procedure of DFC-NID
DFC-NID 總體架構(gòu)分為數(shù)據(jù)預(yù)處理、DNN 通用模型搭建、聯(lián)邦學(xué)習(xí)框架建立3 個(gè)部分。對(duì)于輸入的數(shù)據(jù)集,首先進(jìn)行符號(hào)預(yù)處理以及數(shù)據(jù)歸一化;然后建立DNN 通用模型模塊,利用其對(duì)數(shù)據(jù)集進(jìn)行特征學(xué)習(xí);接著搭建聯(lián)邦學(xué)習(xí)框架,使得多個(gè)服務(wù)器協(xié)作并不斷迭代優(yōu)化參數(shù);最后通過Softmax 層輸出分類預(yù)測(cè)結(jié)果。
由于在使用DNN 進(jìn)行分類時(shí)數(shù)據(jù)只能用數(shù)值來訓(xùn)練和測(cè)試,而NSL-KDD 與KDDCup99 數(shù)據(jù)集包含許多不同的數(shù)據(jù)類型,因此需要對(duì)初始數(shù)據(jù)進(jìn)行預(yù)處理。預(yù)處理過程主要分為以下2 個(gè)步驟:
1)符號(hào)數(shù)據(jù)預(yù)處理,即將非數(shù)值數(shù)據(jù)轉(zhuǎn)換成數(shù)值數(shù)據(jù)。在數(shù)據(jù)集中通常存在非數(shù)值數(shù)據(jù),如表1中的特征2、3 和4(TCP、UDP 和ICMP)。給每個(gè)變量分配特定的值(如TCP=1、UDP=2、ICMP=3),可以將訓(xùn)練數(shù)據(jù)集和測(cè)試數(shù)據(jù)集中的這些特征轉(zhuǎn)換為數(shù)值類型。在預(yù)處理時(shí),將數(shù)據(jù)集的攻擊類與正常類轉(zhuǎn)換為數(shù)字類,如將1、2、3、4分別分配給DoS、Probe、R2L、U2R,將5 分配給normal。
2)數(shù)據(jù)歸一化。NSL-KDD 數(shù)據(jù)集的特征是離散值或連續(xù)值,如果特征值的范圍不同,則它們之間將無法直接進(jìn)行比較。通過使用最小-最大歸一化[25]對(duì)這些特征進(jìn)行處理,將每個(gè)特征的所有不同值都映射到[0,1]范圍。
通用模型是基于聯(lián)邦學(xué)習(xí)的入侵檢測(cè)框架的核心模塊,DFC-NID 選擇深度神經(jīng)網(wǎng)絡(luò)作為該框架的通用模型。
如圖4 所示,輸入層使用來自NSL-KDD 數(shù)據(jù)集的所有41 個(gè)特征作為神經(jīng)元。第一隱藏層是一個(gè)包含20 個(gè)神經(jīng)元的自動(dòng)編碼器,其從輸入數(shù)據(jù)的41 個(gè)特征中選擇20 個(gè)特征;第二隱藏層是一個(gè)包含10 個(gè)神經(jīng)元的自動(dòng)編碼器;第三隱藏層是Softmax層,通過Softmax 層后可以將數(shù)據(jù)分為正常類與4 種不同的攻擊類。
圖4 深度神經(jīng)網(wǎng)絡(luò)通用模型Fig.4 General model of deep neural network
2.2.1 自動(dòng)編碼器
自動(dòng)編碼器[26]是一種可以用于特征降維[27]的無監(jiān)督神經(jīng)網(wǎng)絡(luò)模型,DFC-NID 采用自動(dòng)編碼器作為“預(yù)訓(xùn)練”DNN 的一種方式。自動(dòng)編碼器結(jié)構(gòu)如圖5所示。
圖5 自動(dòng)編碼器結(jié)構(gòu)Fig.5 Auto-encoder structure
自動(dòng)編碼器在對(duì)訓(xùn)練數(shù)據(jù)進(jìn)行預(yù)訓(xùn)練的過程中不使用標(biāo)簽,且自動(dòng)編碼器在輸出處復(fù)制其輸入。在通常情況下,x的數(shù)量與x′相同,當(dāng)隱藏層中的神經(jīng)元數(shù)量h小于x的數(shù)量時(shí),自動(dòng)編碼器會(huì)學(xué)習(xí)x的壓縮表示,下一個(gè)自動(dòng)編碼器再使用這些從訓(xùn)練數(shù)據(jù)中提取生成的特征集進(jìn)行訓(xùn)練。綜上所述,首先通過無監(jiān)督學(xué)習(xí)技術(shù)對(duì)自動(dòng)編碼器進(jìn)行訓(xùn)練,然后利用訓(xùn)練后的自動(dòng)編碼器提取特征。
2.2.2 訓(xùn)練方式
為了使訓(xùn)練過程更加有效,模型一次訓(xùn)練一層DNN,即通過自動(dòng)編碼器來對(duì)每個(gè)隱藏層進(jìn)行訓(xùn)練與微調(diào)。
在第一個(gè)自動(dòng)編碼器訓(xùn)練后,再對(duì)第二個(gè)自動(dòng)編碼器進(jìn)行訓(xùn)練。與訓(xùn)練第一個(gè)自動(dòng)編碼器不同的是,第二個(gè)自動(dòng)編碼器使用的是從第一個(gè)自動(dòng)編碼器中提取的特征,而不是訓(xùn)練集。在這一層中,20 個(gè)特征被進(jìn)一步壓縮為10 個(gè)特征集。經(jīng)過訓(xùn)練后,再從第二個(gè)自動(dòng)編碼器中提取特征。
聯(lián)邦學(xué)習(xí)能夠在保持高效率通信的情況下很好地保護(hù)數(shù)據(jù)隱私。本文DFC-NID 模型構(gòu)建的入侵檢測(cè)聯(lián)邦學(xué)習(xí)框架如圖6 所示。由于同步加載的通信方式具有更高的預(yù)測(cè)精度且使模型收斂更穩(wěn)定,因此本文聯(lián)邦學(xué)習(xí)中心服務(wù)器與子服務(wù)器的通信過程選用同步加載的調(diào)度方式。對(duì)于圖6 中的N個(gè)子服務(wù)器,每個(gè)服務(wù)器都有自己的數(shù)據(jù)集Di,每間隔時(shí)間t展開一輪通信,每一輪通信包括以下4 個(gè)步驟:1)發(fā)送通用模型;2)訓(xùn)練子服務(wù)器;3)上傳子服務(wù)器模型參數(shù);4)模型聚合,生成新的通用模型。
圖6 DFC-NID 模型的聯(lián)邦學(xué)習(xí)框架Fig.6 Federated learning framework for DFC-NID model
中心服務(wù)器將DNN 通用模型發(fā)送到每個(gè)子服務(wù)器,子服務(wù)器使用各自本地的數(shù)據(jù)集進(jìn)行訓(xùn)練,訓(xùn)練完畢后再將得到的訓(xùn)練參數(shù)上傳。在通信時(shí)間t期間,中心服務(wù)器獲得了各個(gè)子服務(wù)器的訓(xùn)練參數(shù),通過式(1)更新模型權(quán)重并進(jìn)行模型聚合:
其中:ni為每個(gè)子服務(wù)器數(shù)據(jù)集的大小;n為所有子服務(wù)器數(shù)據(jù)集ni之和。隨著W值的不斷更新,可以得到一個(gè)新的DNN 通用模型文件Mt+1。最后,將新的DNN 通用模型立即重新分配到每個(gè)子服務(wù)器上,并進(jìn)行迭代處理直到模型收斂,結(jié)束訓(xùn)練。算法1為入侵檢測(cè)系統(tǒng)聯(lián)邦學(xué)習(xí)過程的完整偽代碼。
算法1入侵檢測(cè)系統(tǒng)的聯(lián)邦學(xué)習(xí)算法
DFC-NID 在第一輪通信時(shí)使用一個(gè)小規(guī)模的測(cè)試集對(duì)訓(xùn)練后的子服務(wù)器進(jìn)行性能測(cè)試,若測(cè)試結(jié)果小于設(shè)定的閾值,則該服務(wù)器本輪通信停止上傳參數(shù),從而增強(qiáng)通用模型的聚合效果。除此之外,DFC-NID 還在聚合算法中設(shè)置啟動(dòng)閾值,當(dāng)中心服務(wù)器接收到的參數(shù)個(gè)數(shù)大于閾值時(shí),模型聚合開始,從而有效提高聯(lián)邦學(xué)習(xí)模型的聚合效率。
本文實(shí)驗(yàn)使用NSL-KDD 與10%的KDDCup99作為數(shù)據(jù)集,其中,619 994 條數(shù)據(jù)作為訓(xùn)練集,311 094 條數(shù)據(jù)作為測(cè)試集。各個(gè)特征類別所對(duì)應(yīng)的訓(xùn)練集與測(cè)試集數(shù)據(jù)量如表3 所示。
表3 實(shí)驗(yàn)數(shù)據(jù)集信息Table 3 Experimental dataset information
實(shí)驗(yàn)使用如下指標(biāo)對(duì)DFC-NID 進(jìn)行入侵檢測(cè)性能評(píng)估:
1)準(zhǔn)確率,計(jì)算公式如下:
2)精確率,計(jì)算公式如下:
3)召回率,計(jì)算公式如下:
4)F1 分?jǐn)?shù),計(jì)算公式如下:
3.3.1 先進(jìn)性與有效性實(shí)驗(yàn)
表4 比較了本文DFC-NID 與眾多常用的深度學(xué)習(xí)模型在檢測(cè)性能上的表現(xiàn)。從表4 可以看出,DFC-NID 在準(zhǔn)確率和F1 分?jǐn)?shù)上均優(yōu)于其他模型,其中,準(zhǔn)確率平均提升了3.1%。
表4 不同模型的實(shí)驗(yàn)結(jié)果對(duì)比Table 4 Comparison of experimental results of different models
表5 對(duì)比了DFC-NID 與近兩年提出的網(wǎng)絡(luò)入侵檢測(cè)模型[28-30]的準(zhǔn)確率。從表5 可以看出,與現(xiàn)有模型相比,本文DFC-NID 模型在入侵檢測(cè)中取得了更高的準(zhǔn)確率。
表5 網(wǎng)絡(luò)入侵檢測(cè)模型準(zhǔn)確率對(duì)比Table 5 Comparison of accuracy of network intrusion detection models
結(jié)合表4 與表5 可以得出,本文所提DFC-NID模型在網(wǎng)絡(luò)入侵檢測(cè)中具有先進(jìn)性和有效性。
3.3.2 模型魯棒性實(shí)驗(yàn)
為了驗(yàn)證DFC-NID 的魯棒性,實(shí)驗(yàn)針對(duì)不同的攻擊類別對(duì)不同數(shù)據(jù)集進(jìn)行多分類實(shí)驗(yàn),其中包括正常類與DoS、Probe、U2R、R2L 這4 個(gè)攻擊類。實(shí)驗(yàn)結(jié)果如表6、表7 所示,從中可以看出,在NSLKDD 數(shù)據(jù)集上DoS、Probe 與正常類的準(zhǔn)確率均在0.946~0.977范圍內(nèi),在KDDCup99數(shù)據(jù)集上DoS、Probe 與正常類的準(zhǔn)確率均在0.987~0.998 范圍內(nèi),即在不同數(shù)據(jù)集上DFC-NID 對(duì)于DoS、Probe 與正常類的檢測(cè)都有較高的準(zhǔn)確率,證明DFC-NID 具有良好的魯棒性。
表6 NSL-KDD 數(shù)據(jù)集的五分類結(jié)果Table 6 Five classification results of NSL-KDD dataset
表7 KDDCup99 數(shù)據(jù)集的五分類結(jié)果Table 7 Five classification results of KDDCup99 dataset
從表6、表7 中還可以看出,當(dāng)只考慮2 類(正常類和攻擊類)時(shí),檢測(cè)精確率較高。由于R2L 和U2R可供訓(xùn)練的樣本有限(如表3 所示,R2L 和U2R 的數(shù)據(jù)量都太過稀疏),因此在實(shí)驗(yàn)中取得的結(jié)果不太穩(wěn)定。盡管如此,從實(shí)驗(yàn)結(jié)果中還是可以明顯看出,DFC-NID 模型對(duì)于數(shù)據(jù)量大的攻擊類別能夠取得很高的準(zhǔn)確率、精確率、召回率和F1 分?jǐn)?shù)。
3.3.3 聯(lián)邦學(xué)習(xí)對(duì)比實(shí)驗(yàn)
為了驗(yàn)證DFC-NID 所使用的聯(lián)邦學(xué)習(xí)框架在網(wǎng)絡(luò)入侵檢測(cè)中的優(yōu)越性,實(shí)驗(yàn)將DFC-NID 與不使用聯(lián)邦學(xué)習(xí)框架而只使用DNN 通用模型的情況(稱為NO-FC 模型)進(jìn)行對(duì)比。其中,DFC-NID 中設(shè)置5 個(gè)子服務(wù)器作為參與方,并將數(shù)據(jù)集隨機(jī)分為5 個(gè)部分分別發(fā)送給子服務(wù)器用于各自的本地訓(xùn)練。在網(wǎng)絡(luò)入侵檢測(cè)模型評(píng)估中,時(shí)間效率也是體現(xiàn)模型性能的一個(gè)重要因素,因此,實(shí)驗(yàn)還測(cè)量了DFC-NID模型與對(duì)比模型所需的訓(xùn)練時(shí)間,實(shí)驗(yàn)結(jié)果如表8所示。
表8 聯(lián)邦學(xué)習(xí)對(duì)比實(shí)驗(yàn)結(jié)果Table 8 Comparative experimental results of federated learning
由表8 可以看出,相比不使用聯(lián)邦學(xué)習(xí)框架的NO-FC 模型,DFC-NID 模型在測(cè)試集上的準(zhǔn)確率與召回率有所提升,且DFC-NID 減少了83.9%的訓(xùn)練時(shí)間。因此,DFC-NID 模型可以在保持高準(zhǔn)確率的同時(shí)大幅縮短訓(xùn)練時(shí)間。另外,由于DFC-NID 模型在訓(xùn)練時(shí)只需要傳輸模型參數(shù),數(shù)據(jù)集僅在子服務(wù)器上進(jìn)行訓(xùn)練,因此DFC-NID 模型能更好地保障數(shù)據(jù)的安全性。
為在復(fù)雜網(wǎng)絡(luò)環(huán)境中對(duì)多樣化的網(wǎng)絡(luò)入侵方式進(jìn)行快速準(zhǔn)確的檢測(cè),本文提出一種基于深度神經(jīng)網(wǎng)絡(luò)和聯(lián)邦學(xué)習(xí)的入侵檢測(cè)模型DFC-NID。利用聯(lián)邦學(xué)習(xí)框架使多服務(wù)器協(xié)作參與,在縮短訓(xùn)練時(shí)間的同時(shí)確保數(shù)據(jù)的安全性。使用DNN 作為通用模型自動(dòng)提取并高效學(xué)習(xí)數(shù)據(jù)特征,最后通過Softmax分類器得到預(yù)測(cè)結(jié)果。實(shí)驗(yàn)結(jié)果表明,DFC-NID 的準(zhǔn)確率達(dá)到94.1%,高于MFO-ENSEMBLE、LSTM-GRU等分類模型,在攻擊類DoS與Probe上,DFC-NID 的準(zhǔn)確率最高達(dá)到99.8%與98.7%,取得了很好的檢測(cè)效果。與此同時(shí),相較不使用聯(lián)邦學(xué)習(xí)的對(duì)照模型,DFC-NID 減少了83.9%的訓(xùn)練時(shí)間并能保持較高的準(zhǔn)確率與召回率。在聯(lián)邦學(xué)習(xí)機(jī)制下,每個(gè)參與方之間數(shù)據(jù)不互通,因此,DFC-NID 能夠很好地保證數(shù)據(jù)的安全與隱私。下一步將對(duì)小樣本入侵檢測(cè)問題進(jìn)行研究,提升針對(duì)稀疏數(shù)據(jù)的攻擊類別檢測(cè)效果。