国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于聯(lián)邦學習的網(wǎng)絡(luò)異常檢測

2021-05-12 01:08王麗寶陳駿君
關(guān)鍵詞:準確率卷積參與者

趙 英 王麗寶 陳駿君 滕 建

(北京化工大學 信息科學與技術(shù)學院, 北京 100029)

引 言

隨著網(wǎng)絡(luò)信息技術(shù)的迅猛發(fā)展,互聯(lián)網(wǎng)已成為人們?nèi)粘9ぷ骱蜕钪斜夭豢缮俚囊徊糠?,為人們帶來了極大的便利,但同時也時刻威脅著人們的財產(chǎn)與信息安全,因此,進行網(wǎng)絡(luò)信息安全研究具有重要意義。目前,作為網(wǎng)絡(luò)安全研究的一個重要方向,網(wǎng)絡(luò)入侵檢測方法[1]已經(jīng)成為網(wǎng)絡(luò)安全技術(shù)領(lǐng)域研究的熱點。

近年來,各種機器學習技術(shù)被應(yīng)用于網(wǎng)絡(luò)異常檢測領(lǐng)域[2-4],但由于傳統(tǒng)機器學習需要人工選擇特征,存在特征選擇困難的問題,需要進行多次測試才能獲取分類效果最佳的數(shù)據(jù)特征組合。深度學習技術(shù)是目前解決這一問題的最有效的一種途徑。該技術(shù)能夠自動學習原始數(shù)據(jù)中的特征,不需要進行人工選擇,在自然語言處理、圖像識別以及語音識別等領(lǐng)域都顯示出較為優(yōu)秀的識別分類性能[5]。因此,這一技術(shù)被越來越多的研究者應(yīng)用到網(wǎng)絡(luò)異常檢測模型中,并獲得了較好的效果[6-8]。

目前,缺乏標記數(shù)據(jù)是網(wǎng)絡(luò)異常檢測面臨的重大挑戰(zhàn)之一。如何利用不同數(shù)據(jù)源的網(wǎng)絡(luò)流量數(shù)據(jù)來共同訓練網(wǎng)絡(luò)異常流量檢測模型并保護數(shù)據(jù)隱私是一個亟待解決的問題。聯(lián)邦學習(federated learning)[9]是解決多源數(shù)據(jù)共同訓練模型的一種有效途徑,這一概念是由Bernd等[10]最先提出的。聯(lián)邦學習的宗旨是在不共享隱私數(shù)據(jù)的情況下進行協(xié)同訓練,其不用匯聚模型訓練所需要的數(shù)據(jù)進行集中計算,只是傳遞加密的梯度相關(guān)數(shù)據(jù),利用多源數(shù)據(jù)協(xié)同訓練同一模型[11]。鑒于傳統(tǒng)網(wǎng)絡(luò)異常檢測模型存在的檢測準確率低、誤報率高以及缺乏標簽數(shù)據(jù)等問題,本文提出一種融合聯(lián)邦學習和卷積神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)入侵檢測分類模型(CNN-FL)來檢測網(wǎng)絡(luò)異常。該模型能夠利用多源數(shù)據(jù)協(xié)同訓練同一模型,解決數(shù)據(jù)孤島以及標簽數(shù)據(jù)缺乏的問題;并在NSL-KDD數(shù)據(jù)集上進行實驗驗證,結(jié)果表明,本文模型在二分類以及多分類實驗中具有較高的分類精度,較傳統(tǒng)的機器學習方法具有更好的分類性能。

1 聯(lián)邦學習與卷積神經(jīng)網(wǎng)絡(luò)模型

1.1 聯(lián)邦學習

聯(lián)邦學習作為一項人工智能技術(shù),其設(shè)計目的主要是在保障數(shù)據(jù)交換的同時確保信息安全,保護個人數(shù)據(jù)隱私。聯(lián)邦學習解決了多計算節(jié)點在不交換原始數(shù)據(jù)的情況下,共同訓練全局模型的問題。

在聯(lián)邦學習中,全局模型通過分布式的方式在大量參與者中進行訓練。為了避免服務(wù)器訪問本地數(shù)據(jù),參與者只在本地訓練模型,并且只與服務(wù)器共享模型參數(shù)來更新全局模型,這一技術(shù)對于許多分布式學習場景來說具有很大的優(yōu)勢。典型的聯(lián)邦學習體系結(jié)構(gòu)如圖1所示。假設(shè)在聯(lián)邦學習中有K個具有相同目標的參與者聯(lián)合訓練一個模型,在每一次迭代時,服務(wù)器將全局模型M分發(fā)給參與者,參與者通過本地數(shù)據(jù)單獨訓練模型。在本地訓練完成后,每個參與者將模型參數(shù)發(fā)送回服務(wù)器,服務(wù)器通過平均各參與者的模型參數(shù)來更新全局模型。全局模型的更新過程如式(1)所示。

圖1 聯(lián)邦學習體系結(jié)構(gòu)Fig.1 Federated learning architecture

(1)

1.2 卷積神經(jīng)網(wǎng)絡(luò)

卷積神經(jīng)網(wǎng)絡(luò)(CNN)的概念最先是由LeCun等[12]提出的,LeCun首次將反向傳播技術(shù)應(yīng)用于神經(jīng)網(wǎng)絡(luò),并將其命名為卷積神經(jīng)網(wǎng)絡(luò)。但由于當時計算能力有限,無法滿足反向傳播技術(shù)所需要的巨大計算量,導致對卷積神經(jīng)網(wǎng)絡(luò)的研究一直停滯不前。隨著半導體技術(shù)的飛速發(fā)展,計算能力不斷提高,基于卷積神經(jīng)網(wǎng)絡(luò)的圖像識別算法在各類競賽中均取得了較好的識別效果,由此卷積神經(jīng)網(wǎng)絡(luò)技術(shù)逐漸被人們所熟知。近年來,越來越多的研究者將卷積神經(jīng)網(wǎng)絡(luò)技術(shù)應(yīng)用于圖像和語音識別領(lǐng)域,并取得了顯著的研究成果[13-14]。同時,這一技術(shù)也被越來越多的公司應(yīng)用到最新的研發(fā)產(chǎn)品中,包括Google的Google Net以及人工智能領(lǐng)域極為熱門的Alpha Go。

圖2為CNN的網(wǎng)絡(luò)結(jié)構(gòu)圖。CNN模型通過卷積和池化操作對相鄰像素點進行處理,為了增強圖片信息的連續(xù)性,CNN模型只處理圖片中每一塊的小像素集,不再單獨對每一個像素點進行處理。在圖像識別中,CNN模型能夠去除圖片中大量無關(guān)的參數(shù),保留圖片中較為關(guān)鍵的數(shù)據(jù)特征,以獲取較好的識別效果。CNN方法處理過程如式(2)所示,首先將輸入的初始圖像與線性濾波器進行卷積運算,然后加上偏置項,最后再經(jīng)過激活函數(shù)來獲取特征圖。

圖2 卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)Fig.2 Convolutional neural network structure

(2)

式中,hk為給定層上第k個特征映射,Wk為濾波權(quán)重,x為給定灰度圖中相應(yīng)區(qū)域的像素值矩陣,bk為偏置,tanh為激活函數(shù)。

1.3 基于CNN的網(wǎng)絡(luò)異常檢測方法

在網(wǎng)絡(luò)異常檢測領(lǐng)域,CNN模型在獲取局部特征以及處理具有統(tǒng)計平穩(wěn)性和局部關(guān)聯(lián)性的數(shù)據(jù)方面較其他機器學習方法具有更加優(yōu)良的特性[15]。 CNN模型通常是由輸入層、卷積層、池化層、全連接層以及輸出層這5部分組成?;贑NN的網(wǎng)絡(luò)異常檢測模型原理圖如圖3所示。

圖3 基于 CNN 的網(wǎng)絡(luò)異常檢測模型原理圖Fig.3 Block diagram of the CNN-based network intrusion detection system

2 基于CNN-FL的網(wǎng)絡(luò)異常檢測方法

為了優(yōu)化網(wǎng)絡(luò)異常檢測模型,提高網(wǎng)絡(luò)異常檢測模型的準確率,降低誤報率,同時為了解決缺乏標簽的訓練數(shù)據(jù)的問題,本文提出一種融合聯(lián)邦學習和卷積神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)入侵檢測模型。使用聯(lián)邦學習來解決數(shù)據(jù)稀缺問題并保護用戶數(shù)據(jù)隱私,使多位參與者在不共享隱私數(shù)據(jù)的情況下協(xié)作訓練一個全局模型。對于每一位參與者,首先需要對本地數(shù)據(jù)進行預處理,然后利用CNN-FL模型進行特征提取。每一位參與者與服務(wù)器只傳遞加密的梯度相關(guān)數(shù)據(jù),最后通過SoftMax分類器獲得分類結(jié)果。該算法的原理圖見圖4。

圖4 基于CNN-FL的網(wǎng)絡(luò)入侵檢測原理框圖Fig.4 Block diagram of the CNN-FL-based network intrusion detection principle

如圖4所示,每一位模型參與者首先對本地原始數(shù)據(jù)集進行數(shù)值化操作,通過one-hot編碼方式將字符型特征轉(zhuǎn)換為數(shù)值型特征,然后采用min-max方法對數(shù)據(jù)集以列為單位進行標準化處理,使數(shù)據(jù)統(tǒng)一映射到[0,1]區(qū)間上,之后將處理后的特征映射至矩陣中并生成灰度圖,最后通過CNN-FL模型對特征進行提取,并通過SoftMax分類器獲取分類結(jié)果。

圖5 CNN-FL模型結(jié)構(gòu)Fig.5 CNN-FL model structure

算法1CNN-FL模型訓練

1 for Iteration t do

/*服務(wù)器端: */

3 sendωtto each participant;

/*參與者 */

4 for Participantkdo

6 for Local epoch e do

8 end

9 end

10 end

如圖5和算法1所示,每位模型參與者使用本地數(shù)據(jù)集訓練CNN模型,在每次迭代過程中,每位模型參與者首先將當前的模型梯度相關(guān)系數(shù)上傳至服務(wù)器,服務(wù)器通過平均每位參與者最新的梯度相關(guān)系數(shù)來更新全局模型,每一位參與者在下一次迭代中通過下載最新的全局模型參數(shù),并利用本地數(shù)據(jù)來訓練CNN模型。不斷循環(huán)迭代,直至整體模型達到最優(yōu),使得CNN-FL模型對每一位模型參與者本地的數(shù)據(jù)集都具有較好的檢測效果。

3 實驗結(jié)果與分析

3.1 數(shù)據(jù)集與環(huán)境

目前在網(wǎng)絡(luò)檢測和網(wǎng)絡(luò)攻擊領(lǐng)域,通常采用KDDcup99數(shù)據(jù)集作為算法和模型的測試與評價標準。鑒于KDDcup99數(shù)據(jù)集中存在包含大量重復數(shù)據(jù)以及未區(qū)分訓練集與測試集等問題,本文采用NSL-KDD數(shù)據(jù)集作為實驗數(shù)據(jù)集。NSL-KDD數(shù)據(jù)集針對KDDcup99數(shù)據(jù)集中存在的問題進行的一系列優(yōu)化如下。

1) NSL-KDD數(shù)據(jù)集針對KDDcup99數(shù)據(jù)集中需要人為劃分訓練集和測試集的問題,區(qū)分了訓練集和測試集。

2) NSL-KDD訓練數(shù)據(jù)集整理并清除了KDDcup99數(shù)據(jù)集中冗余的部分。

3) NSL-KDD數(shù)據(jù)集數(shù)據(jù)量的大小更加合理,訓練集中共有125 973條數(shù)據(jù),測試集中共有22 544條數(shù)據(jù)。

4) NSL-KDD數(shù)據(jù)集較其他數(shù)據(jù)集更能體現(xiàn)出網(wǎng)絡(luò)異常檢測模型的泛化能力。在NSL-KDD數(shù)據(jù)集中,訓練集中存在的攻擊類型有22種,測試集中存在的攻擊類型有39種,有17種網(wǎng)絡(luò)攻擊類型在訓練集中是不存在的,因此網(wǎng)絡(luò)異常檢測模型在NSL-KDD數(shù)據(jù)集中識別效果的好壞能更好地體現(xiàn)出模型是否具有較強的泛化能力。

在NSL-KDD數(shù)據(jù)集中,每一條網(wǎng)絡(luò)流量數(shù)據(jù)均由42維特征組成,其中包括38維數(shù)值型特征、3維字符型特征以及1維標記特征。NSL-KDD數(shù)據(jù)集中的攻擊類型分為Dos、Probe、R2L和U2R這4種類型。本文實驗中訓練集及測試集的數(shù)據(jù)類別、數(shù)量與比例如表1、2所示,實驗環(huán)境配置如表3所示。

表1 訓練集的類別、數(shù)量與比例Table 1 Types, quantities and proportions of the training set

表2 測試集的類別、數(shù)量與比例Table 2 Types, quantities and proportions of the test set

表3 實驗環(huán)境配置Table 3 Experimental environment configuration

3.2 評價指標

本文通過準確率、精確率和召回率等網(wǎng)絡(luò)異常檢測中常用的指標對實驗結(jié)果進行評價分析,這些指標可以用真陽性(TP)、假陽性(FP)、真陰性(TN)和假陰性(FN)4個度量標準來表示。

真陽性(TP):分類結(jié)果屬于i預測的結(jié)果也屬于i。

假陽性(FP):分類結(jié)果不屬于i預測的結(jié)果屬于i。

真陰性(TN):分類結(jié)果屬于i預測的結(jié)果不屬于i。

假陰性(FN):分類結(jié)果不屬于i預測的結(jié)果不屬于i。

準確率A、精確率P和召回率R的定義如式(3)~(5)所示。

(3)

(4)

(5)

式中,nTP為屬于真陽性情況的數(shù)據(jù)條數(shù),nTN為屬于真陰性情況的數(shù)據(jù)條數(shù),nFP為屬于假陽性情況的數(shù)據(jù)條數(shù),nFN為屬于假陰性情況的數(shù)據(jù)條數(shù)。

3.3 實驗方案

為了測試所提出模型,我們模擬了CNN-FL模型訓練所需要的環(huán)境。實驗步驟如下。

1) 數(shù)據(jù)擴充 NSL-KDD數(shù)據(jù)集中有125 973條訓練數(shù)據(jù),為了便于拆分以供K位參與者訓練模型使用,補充27條正常流量數(shù)據(jù),使訓練數(shù)據(jù)擴展到126 000條。

2)數(shù)據(jù)數(shù)值化 由于NSL-KDD數(shù)據(jù)集中存在字符型特征,需要對其進行數(shù)值化操作。數(shù)據(jù)集每一條網(wǎng)絡(luò)流量數(shù)據(jù)均包含3維字符型特征,分別為“protocol_type”、“service”和“flag”,需要對這3維特征進行one-hot編碼,將字符型特征轉(zhuǎn)換為數(shù)值型特征,以其中的“flag”為例,其對應(yīng)的one-hot編碼如表4所示。

表4 Flag屬性one-hot編碼Table 4 Flag attribute one-hot encoding

3)數(shù)據(jù)標準化 由于NSL-KDD數(shù)據(jù)集中數(shù)值差異較大,因此對訓練集以及測試集均采min-max方法,以列為單位進行標準化處理,使數(shù)據(jù)統(tǒng)一映射到[0,1]區(qū)間上。

4)生成圖片 為了便于后續(xù)使用卷積神經(jīng)網(wǎng)絡(luò)處理數(shù)據(jù),將經(jīng)過步驟3)處理后的122維特征映射到12×12的矩陣中,不足的部分用0填充。為了生成12×12的灰度圖,需要將矩陣中的數(shù)值乘以255,從而獲得圖片中各個點的像素值。圖6為生成的部分樣本圖片。

圖6 部分樣本圖片F(xiàn)ig.6 Some sample pictures

5)數(shù)據(jù)拆分 將步驟4)中生成的圖片隨機均勻分成K份,用于K位參與者訓練模型使用。

6)模型訓練 在實際訓練中,參與者與服務(wù)器只交換加密的梯度相關(guān)系數(shù)。

本文將從以下兩個方面對CNN-FL模型在網(wǎng)絡(luò)異常檢測中的可行性進行驗證。

(1)從整體角度出發(fā) 以網(wǎng)絡(luò)異常檢測二分類為例設(shè)置了6個不同的場景K{5,10,20,50,100,1 000}來研究不同參與者模型訓練的準確率并與基于卷積神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)異常檢測模型(K=1)進行對比,詳細結(jié)果如圖7所示。

圖7 不同參與者模型準確率Fig.7 Model accuracy for different participants

從圖7可以明顯看出,隨著參與者數(shù)量的不斷增加,CNN-FL模型的準確率逐步下降。與CNN模型相比,CNN-FL模型準確率雖有所下降,但準確率基本相近(迭代100次后,CNN模型的準確率為94.26%,CNN-FL模型(K=100)的準確率為91.88%)。同時CNN-FL模型解決了缺乏標注的訓練數(shù)據(jù)的問題,該模型能夠使用多源數(shù)據(jù)訓練同一模型,并保護數(shù)據(jù)隱私。因此,CNN-FL模型在網(wǎng)絡(luò)異常檢測中是可行的。

(2)從個體角度出發(fā) 將數(shù)據(jù)集中的數(shù)據(jù)隨機均勻分成K份,分別代表每位用戶所擁有的數(shù)據(jù)集。同樣設(shè)置6個不同的場景K{5,10,20,50,100,1 000},以二分類為例研究在不同數(shù)據(jù)規(guī)模的情況下,每位用戶僅使用本地數(shù)據(jù)訓練的CNN網(wǎng)絡(luò)檢測模型的識別準確率,并取均值。隨后與相同場景下基于聯(lián)邦學習的檢測模型的識別準確率進行對比,結(jié)果如圖8所示。

圖8 不同數(shù)據(jù)規(guī)模準確率對比Fig.8 Comparison of accuracy of different data scales

K值越大,代表每位用戶擁有的數(shù)據(jù)集規(guī)模越小。圖8可以明顯反映出隨著每位用戶擁有的數(shù)據(jù)集規(guī)模不斷減小,其使用CNN-FL模型以及僅使用本地數(shù)據(jù)訓練的CNN網(wǎng)絡(luò)的檢測模型準確率均不斷下降。但在同等數(shù)據(jù)集規(guī)模的情況下,用戶使用CNN-FL模型的識別準確率要高于僅使用本地數(shù)據(jù)訓練的CNN網(wǎng)絡(luò)檢測模型的識別準確率。在多分類情況下,由于某些攻擊類型的數(shù)據(jù)較少,每位用戶本地數(shù)據(jù)集中該類型數(shù)據(jù)較少或不存在該類型數(shù)據(jù),如果僅使用本地數(shù)據(jù)集訓練模型,會造成模型識別準確率較低甚至無法訓練模型的問題,對比效果將會更加明顯。因此,在相同數(shù)據(jù)規(guī)模下,用戶通過使用CNN-FL模型能夠獲得更好的識別效果,充分驗證了該模型在入侵檢測領(lǐng)域的可行性。

3.4 績效評估

本文設(shè)計了兩個實驗來研究CNN-FL模型(K=100)的二分類(Normal,Anomaly)和五分類(Normal,Dos, Probe,R2L和U2R)性能。為了與其他機器學習方法進行比較,同時還設(shè)計了對比實驗,將CNN-FL模型的分類性能與C4.5決策樹、隨機森林、隨機樹、支持向量機、循環(huán)神經(jīng)網(wǎng)絡(luò)等機器學習方法進行了對比。

3.4.1二分類

表5顯示了二分類實驗中測試集上CNN-FL模型的分類效果。實驗表明,經(jīng)過100次迭代后,CNN-FL模型具有較高的檢測準確率,訓練集中準確率為97.44%,測試集中準確率為91.88%,如圖9所示。

圖9 二分類模型在訓練集、測試集上的檢測準確率Fig.9 Detection accuracy of the binary classification model for the training set and test set

表5 二分類實驗中CNN-FL模型的分類效果Table 5 Classification effect of the CNN-FL model in the binary classification experiment

與之前研究人員提出的C4.5決策樹、隨機森林、隨機樹、支持向量機、循環(huán)神經(jīng)網(wǎng)絡(luò)等方法在同一基準數(shù)據(jù)集(NSL-KDD)上進行比較的結(jié)果如圖10所示。很明顯,在二分類實驗中,CNN-FL模型的各項性能均優(yōu)于其他分類算法。

圖10 二分類各模型性能對比Fig.10 Performance comparison chart of each model in the binary classification test

3.4.2五分類

在五分類實驗中,CNN-FL網(wǎng)絡(luò)檢測模型在訓練集上的準確率達到97.47%,在測試集上的準確率達到82.40%。CNN-FL模型在測試集上的效果如表6所示。表7顯示了不同攻擊類型的檢測精確率和召回率。

表6 五分類實驗中CNN-FL模型的分類效果Table 6 Classification effect of the CNN-FL model in the five-category experiment

表7 不同攻擊類型的檢測精確率與召回率Table 7 Detection accuracy and recall ratio of different attack types

如圖11所示,CNN-FL模型的檢測準確率較C4.5決策樹、隨機森林、隨機樹、支持向量機、循環(huán)神經(jīng)網(wǎng)絡(luò)等分類算法所獲得的準確率要高。由于數(shù)據(jù)集中樣本分布不均勻,與二分類相比,五分類的模型檢測準確率有所下降。

圖11 五分類各模型準確率Fig.11 Accuracy of each model in the five classification test

4 結(jié)束語

針對目前網(wǎng)絡(luò)異常檢測技術(shù)還存在著檢測準確率低、誤報率高以及缺乏標簽數(shù)據(jù)等問題,本文提出了CNN-FL網(wǎng)絡(luò)異常檢測模型。在CNN-FL模型中,參與者不會將他們的訓練數(shù)據(jù)共享給第三方,只是傳遞加密的梯度相關(guān)數(shù)據(jù),從而保護了數(shù)據(jù)隱私,同時解決了數(shù)據(jù)孤島以及缺乏標簽數(shù)據(jù)的問題。在實驗中CNN-FL模型具有強大的入侵檢測建模能力,在二分類和多分類中均具有較高的準確率、精確率和召回率,優(yōu)于傳統(tǒng)的分類方法。在未來的工作中,將進一步拓展聯(lián)邦學習的使用領(lǐng)域,并研究長短期記憶網(wǎng)絡(luò)(LSTM)、雙向循環(huán)神經(jīng)網(wǎng)絡(luò)(雙向RNNs)等深度學習算法與聯(lián)邦學習模型結(jié)合在網(wǎng)絡(luò)異常檢測領(lǐng)域的分類性能。

猜你喜歡
準確率卷積參與者
基于全卷積神經(jīng)網(wǎng)絡(luò)的豬背膘厚快速準確測定
基于圖像處理與卷積神經(jīng)網(wǎng)絡(luò)的零件識別
門限秘密分享中高效添加新參與者方案
一種基于卷積神經(jīng)網(wǎng)絡(luò)的地磁基準圖構(gòu)建方法
基于3D-Winograd的快速卷積算法設(shè)計及FPGA實現(xiàn)
乳腺超聲檢查診斷乳腺腫瘤的特異度及準確率分析
多層螺旋CT技術(shù)診斷急性闌尾炎的效果及準確率分析
不同序列磁共振成像診斷脊柱損傷的臨床準確率比較探討
頸椎病患者使用X線平片和CT影像診斷的臨床準確率比照觀察
當心,說謊會上癮!