• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于Fisher-PCA 和深度學(xué)習(xí)的入侵檢測方法研究

      2020-10-23 06:37:42張鑫杰任午令
      數(shù)據(jù)采集與處理 2020年5期
      關(guān)鍵詞:誤報率特征選擇降維

      張鑫杰,任午令

      (浙江工商大學(xué)計算機(jī)與信息工程學(xué)院,杭州,310018)

      引 言

      互聯(lián)網(wǎng)技術(shù)的發(fā)展正潛移默化地改變著人們的生活方式,拉近了人與人之間的距離,給人們的生活帶來了許多方便,但是任何事情都有兩面性,隨著網(wǎng)絡(luò)的普及,通過網(wǎng)絡(luò)進(jìn)行攻擊犯罪的事件也越來越多,一些勒索攻擊在生活中已經(jīng)屢見不鮮。面對日益嚴(yán)峻的攻擊行為,人們需要研究并部署安全系統(tǒng)來保護(hù)自己的電腦和相關(guān)的服務(wù)器,而入侵檢測系統(tǒng)(Intrusion detection systems,IDS)[1-2]作為一種檢測是否存在外界入侵行為的預(yù)防手段,對維護(hù)計算機(jī)系統(tǒng)安全、確保網(wǎng)絡(luò)的正常運行有著十分重要的意義[3-4]。

      隨著技術(shù)的發(fā)展,運用于入侵檢測的方法也越來越多,從以前的基于規(guī)則進(jìn)行檢測[5]到傳統(tǒng)的機(jī)器學(xué)習(xí)[6],再到現(xiàn)在的深度學(xué)習(xí),學(xué)者們已經(jīng)做了大量的研究。比如文獻(xiàn)[7]中提出通過遺傳算法來尋找最合適的反向傳播(Back propagation,BP)神經(jīng)網(wǎng)絡(luò)權(quán)值,對傳統(tǒng)的BP 神經(jīng)網(wǎng)絡(luò)進(jìn)行了改進(jìn),提升了整個網(wǎng)絡(luò)的性能,但是在實際場景中數(shù)據(jù)的維數(shù)并不是固定不變的,如果數(shù)據(jù)的維數(shù)過高,冗余量大會導(dǎo)致整個網(wǎng)絡(luò)的計算復(fù)雜度大大增加從而使檢測的時間增加;文獻(xiàn)[8]提出將模糊C 均值聚類(Fuzzy C-means,F(xiàn)CM)應(yīng)用于入侵檢測中,可以有效地檢測出部分未知的攻擊,并且適用于動態(tài)的網(wǎng)絡(luò)環(huán)境,但是當(dāng)數(shù)據(jù)類別較多時需要很長的計算時間;文獻(xiàn)[9]提出通過信息增益(Information gain,IG)和主成分分析法(Principal component analysis, PCA)方法相結(jié)合進(jìn)行特征提取,通過這種方法進(jìn)行數(shù)據(jù)的降維有效地提高了分類模型的檢測率,但在降低誤檢率上效果并不是很理想;文獻(xiàn)[10]中提出使用Fisher-FCBF 算法來進(jìn)行特征提取,雖然大大降低了模型的計算時間,但在準(zhǔn)確率和誤報率方面并沒有提高;文獻(xiàn)[11]中先根據(jù)屬性比率數(shù)據(jù)特征提取方法進(jìn)行數(shù)據(jù)處理,然后進(jìn)行高斯混合聚類,最后使用隨機(jī)森林進(jìn)行分類,提高了準(zhǔn)確率,但是聚類時k 值難以確定,聚類的好壞對分類結(jié)果有較大的影響;文獻(xiàn)[12]提出通過獨立成分分析(Independent component analysis,ICA)算法來進(jìn)行特征提取,消除特征的冗余性,使模型具有更好的特征學(xué)習(xí)能力和更精確的分類能力。

      綜上所述,現(xiàn)有的入侵檢測方法對數(shù)據(jù)進(jìn)行特征提取后往往只對分類模型的準(zhǔn)確率、誤報率和檢測時間等的某一方面做了改善,同時一些具有學(xué)習(xí)功能的方法在運行性能上也存在著不足。為此,本文提出了一種基于Fisher-PCA 和深度學(xué)習(xí)的入侵檢測方法。通過改進(jìn)的Fisher-PCA 特征提取方法,提高了入侵檢測分類模型的準(zhǔn)確率、檢測率,降低了誤報率;通過搭建具有收斂速度快、學(xué)習(xí)能力強(qiáng)等特征的深度神經(jīng)網(wǎng)絡(luò)(Deep neural networks, DNN)對數(shù)據(jù)進(jìn)行分類,進(jìn)一步提高了模型的運行性能;最后使用公開的KDD99 數(shù)據(jù)集對該入侵檢測算法進(jìn)行了測試,以驗證算法的有效性。

      1 基于Fisher-PCA 和深度學(xué)習(xí)的入侵檢測模型

      本文提出的一種基于Fisher-PCA 和深度學(xué)習(xí)的入侵檢測模型,能夠有效處理那些維度高、冗余量大的數(shù)據(jù),并且在準(zhǔn)確率和誤報率上有較好的表現(xiàn),其基本流程圖如圖1 所示。

      首先對測試集和訓(xùn)練集中的數(shù)據(jù)進(jìn)行預(yù)處理,將每條報文數(shù)據(jù)的符號特征數(shù)字化(包括類別),再對數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化處理,然后進(jìn)行數(shù)據(jù)的Fisher 特征選擇和PCA 降維,將其輸入到設(shè)計好的DNN 神經(jīng)網(wǎng)絡(luò)中進(jìn)行訓(xùn)練,多次訓(xùn)練后模型達(dá)到最優(yōu)化,最后輸入測試集得到結(jié)果并對結(jié)果進(jìn)行規(guī)范化處理做出反應(yīng)。

      1.1 Fisher 特征選擇

      Fisher 特征選擇算法的大體思路是借鑒了線性判別分析(Linear discriminant analysis,LDA)算法。LDA 是Fisher 于1936 年提出的一種有監(jiān)督學(xué)習(xí)的降維方法,其思想是將樣本點投影到一條直線上,使同類的樣本點盡可能地集中,而使不同類的樣本點盡量分離。下面給出如何找到這條直線的數(shù)學(xué)公式。

      圖1 基本流程圖Fig.1 Basic flow chart

      定義Sw、Sb和St分別表示類內(nèi)、類間和總體散度矩陣,滿足St=Sb+Sw,線性空間的某一條直線為向量W,則目標(biāo)函數(shù)可定義為[13]

      求解出J(W)的極大值W?,則向量W?就是所要求解的這條直線。

      根據(jù)LDA 算法的思想可以得出如下結(jié)論:在同一特征下,當(dāng)滿足類間相似度越大,而類內(nèi)相似度越小,說明該特征對于分類的有效性更高,該特征也就更加重要。Fisher 特征選擇算法的偽代碼如下。

      輸入:訓(xùn)練樣本數(shù)據(jù)集。

      輸出:重新排列后的數(shù)據(jù)集。

      (1)計算輸入數(shù)據(jù)集的特征數(shù)n,類別數(shù)m。

      fori=1:n

      計算出每個特征的所有數(shù)據(jù)的平均值

      forj=1:m

      計算該特征值的所有類別各自方差,并把他們相加,表示類內(nèi)方差temp1;

      計算該特征值下每一類數(shù)據(jù)的平均值和樣本總平均值的方差,將這些方差相加為類間方差temp2;

      (2)計算特征重要性=temp2/(temp1+0.01)(避免temp1 為0)。

      (3)按特征重要性降序排列。

      1.2 PCA 降維

      PCA[14]是一種統(tǒng)計學(xué)方法,其目的是如何以最少的信息丟失將原有的變量濃縮成少數(shù)幾個因子(主成分),其具體的步驟如下。

      (1)數(shù)據(jù)標(biāo)準(zhǔn)化,以消除量綱對數(shù)據(jù)的干擾。

      式中:xij為矩陣中第i行第j列的值,μj和σj分別為第j維向量的均值和標(biāo)準(zhǔn)差,每個數(shù)據(jù)標(biāo)準(zhǔn)化后的結(jié)果為Zij。

      (2)計算協(xié)方差矩陣S

      (3)根據(jù)協(xié)方差矩陣S計算出對應(yīng)的特征值(λ1,λ2,…,λp)和特征向量a1,a2,…,ap。

      (4)根據(jù)得到的特征值計算貢獻(xiàn)率η和累計貢獻(xiàn)率∑η。

      (5)確定累計貢獻(xiàn)率大于某一值時滿足要求,取出前k個特征值對應(yīng)的特征向量a1,a2,…,ak組成p行k列的變換矩陣Q。

      (6)得到降維后的k維數(shù)據(jù)矩陣T

      1.3 DNN 深度神經(jīng)網(wǎng)絡(luò)模型設(shè)計

      首先確定網(wǎng)絡(luò)結(jié)構(gòu),設(shè)計了包含4 個隱藏層的DNN 模型,其中每一個隱藏層分別含有64 個隱藏單元,每一層訓(xùn)練的結(jié)果都作為下一層的輸入。

      使用線性整流函數(shù)(Rectified linear unit,ReLU)作為模型中間層的激活函數(shù)。引入激活函數(shù)的目的是為了增加神經(jīng)網(wǎng)絡(luò)各層之間的非線性關(guān)系而不是簡單的矩陣相乘。與sigmoid 等其他一些激活函數(shù)相比,此激活函數(shù)不僅節(jié)省了計算時間,而且很好地解決了反向傳播時常常出現(xiàn)的不穩(wěn)定和梯度消失問題,其數(shù)學(xué)表達(dá)式為[15]

      即當(dāng)x≥0 時,f(x)=x;當(dāng)x<0 時,f(x)= 0,如圖2 所示。

      使用一種好的優(yōu)化算法是深度學(xué)習(xí)模型的關(guān)鍵,本模型使用Adam 優(yōu)化算法[16]來代替?zhèn)鹘y(tǒng)的梯度下降算法,與其他算法主要的區(qū)別在于為不同的參數(shù)設(shè)計獨立的自適應(yīng)學(xué)習(xí)率,其有著收斂的速度更快,所需內(nèi)存更小,損失函數(shù)波動較小等優(yōu)勢,適合解決包含大規(guī)模數(shù)據(jù)和參數(shù)的優(yōu)化問題。Adam 算法的核心步驟如下:

      (1)計算開始t時間步的梯度

      圖2 ReLU 激活函數(shù)Fig.2 ReLU activation function

      (2)計算梯度均值

      (3)計算梯度平方均值

      (4)對梯度均值mt偏差進(jìn)行糾正,以降低對訓(xùn)練初期的影響

      (5)對梯度平方均值vt偏差糾正

      (6)更新梯度值(α為學(xué)習(xí)率,ε為默認(rèn)常數(shù))

      最后一層采用Softmax 分類器,它是一種多類別分類器,將多個神經(jīng)元的輸出映射到[0,1]區(qū)間內(nèi),這些值的累加和為1(滿足概率性質(zhì)),最后選取出概率最大的結(jié)點作為分類結(jié)果。

      2 實驗過程及結(jié)果分析

      2.1 實驗環(huán)境

      實驗環(huán)境的各項指標(biāo)為,CPU:3.30 GHz;內(nèi)存:8 GB;顯卡:Intel(R) HD Graphics 4600 (2112 MB);OS:Windows7.0;開發(fā)環(huán)境:Pycharm 2019.1.2。

      2.2 實驗數(shù)據(jù)集

      實驗所使用的數(shù)據(jù)集是由KDD Cup99[17]提供的10% 訓(xùn)練樣本和corrected 的測試樣本,訓(xùn)練集數(shù)據(jù)共494 021 條,測試集數(shù)據(jù)共311 029 條。數(shù)據(jù)集中各個類型的數(shù)據(jù)分布如表1 所示。

      2.3 數(shù)據(jù)預(yù)處理及結(jié)果分析

      2.3.1 符號特征數(shù)字化

      由于KDD99 數(shù)據(jù)樣本的42 維特征中,某些特征的值不是數(shù)值類型,所以要將其先轉(zhuǎn)為數(shù)字特征,通過如下方式處理:

      表1 實驗數(shù)據(jù)類型的分布情況表Table 1 Distribution of experimental data types

      (1)協(xié)議類型:共有3 種,將其從0 開始遞增順序?qū)ζ渚幋a,即

      Protocol_type={“icmp”:0;“tcp”:1;“udp”:2}

      (2)目標(biāo)主機(jī)的網(wǎng)絡(luò)服務(wù)類型:共有70 種,從0 開始遞增順序?qū)ζ渚幋a,即

      Service_type={“IRC”:0;“X11”:1;“Z39_50”:2;…}

      (3)連接正?;蝈e誤的狀態(tài):共有11 種,從0 開始遞增順序?qū)ζ渚幋a,即

      Connection_type={“OTH”:0;“REJ”:1;“RSTO”:2;…}

      (4)攻擊類型:即第42 維的攻擊類型標(biāo)簽,將其分為5 大類,從0 開始遞增序列對其編碼,即

      Lable_type={“Normal”:0;“Dos”:1;“Probe”:2;“U2R”:3;“R2L”:4}

      原數(shù)據(jù)樣例:

      0,tcp,http,SF,181,5 450,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,8,8,0.00,0.00,0.00,0.00,1.00,0.00,0.00,9,9,1.00,0.00,0.11,0.00,0.00,0.00,0.00,0.00,normal

      數(shù)字化后的數(shù)據(jù)樣例:

      0,1,22,9,181,5 450,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,8,8,0.00,0.00,0.00,0.00,1.00,0.00,0.00,9,9,1.00,0.00,0.11,0.00,0.00,0.00,0.00,0.00,0

      2.3.2 數(shù)據(jù)標(biāo)準(zhǔn)化

      因為數(shù)據(jù)之間的量綱和數(shù)值的量級不一樣,所以如果不進(jìn)行標(biāo)準(zhǔn)化會對模型訓(xùn)練時間和檢測性能產(chǎn)生不小的影響。數(shù)據(jù)的標(biāo)準(zhǔn)化方法有很多種,本文所使用的標(biāo)準(zhǔn)化方法為min-max 方法,描述如下:定義序列x1,x2,…,xn公式為

      yi的范圍在0 到1 之間,且沒有量綱。

      標(biāo)準(zhǔn)化后的數(shù)據(jù)樣例:

      0,5.000 000 00e-01,3.333 333 43e-01,8.999 999 76e-01,2.610 417 77e-07,1.057 130 05e-03, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.565 557 72e-02, 1.565 557 72e-02, 0, 0, 0, 0, 1, 0, 0,3.529 411 93e-02,3.529 411 93e-02,1,0,1.099 999 99e-01,0,0,0,0,0,0

      2.3.3 Fisher 特征選擇

      使用Fisher 特征選擇算法對訓(xùn)練集進(jìn)行特征選擇,得到每個特征索引號對應(yīng)的評價函數(shù)值,然后根據(jù)所得的評價函數(shù)值由高到底對相對應(yīng)的特征索引號進(jìn)行排序如下: [20,21,23,12,24,2,36,32,3,29,39,25,26,38,4,31,37,34,35,1,33,6,22,19,8,10,30,17,18,14,16,15,11,41,27,28,13,7,9,40,5],本實驗選取前35 個特征,組成新的35 維的訓(xùn)練數(shù)據(jù)集,對測試集也選取對應(yīng)的特征集組成新的測試集。

      2.3.4 PCA 降維處理

      通過PCA 降維方法對Fisher 特征選擇后的訓(xùn)練數(shù)據(jù)集進(jìn)行降維,得到的累計貢獻(xiàn)率與維數(shù)的關(guān)系如圖3 所示。為了在降維的同時盡量保留原始記錄的信息,取累計貢獻(xiàn)率為99.9%,即取陣的前20 維作為新的訓(xùn)練數(shù)據(jù)集,保留了幾乎全部原始數(shù)據(jù)集特征信息的同時達(dá)到降維目的,然后將訓(xùn)練數(shù)據(jù)集降維得到的變換矩陣對特征選擇后的測試集降維。

      2.3.5 實驗結(jié)果及分析

      采用準(zhǔn)確率AC、檢測率DR 和誤報率FA 來作為評價指標(biāo),其計算公式為

      圖3 累計貢獻(xiàn)率與維數(shù)關(guān)系圖Fig.3 Relationship between cumulative contribution rate and the dimension

      其中公式中各變量的含義如表2 所示。

      這里將本文設(shè)計的DNN 模型命名為NDNN,將帶有Fisher-PCA 特征處理功能的模型命名為FP_NDNN,時間為檢測時間。這兩種模型的指標(biāo)對比如表3 所示。

      表2 評價指標(biāo)中各變量的含義Table 2 Meaning of the variables in the evaluation index

      表3 NDNN 和FP_NDNN 模型的指標(biāo)比較Table 3 Index comparison between NDNN and FP_NDNN models

      由表3 對比可知,經(jīng)過Fisher 和PCA 進(jìn)行特征處理后的模型在準(zhǔn)確率和檢測率上有較小的提升,但在入侵檢測中的重要指標(biāo)誤報率上有較大的降低,相比于NDNN 模型的誤報率相對降低了77.2%。檢測時間下降了25%。

      FP_NDNN 模型與其他模型的指標(biāo)對比如表4 所示。

      表4 FP_NDNN 模型與其他模型的指標(biāo)比較Table 4 Index comparison between FP_NDNN and other models

      由表4 對比可知,本文模型FP_NDNN 與傳統(tǒng)的機(jī)器學(xué)習(xí)算法支持向量機(jī)(Support vector machine, SVM)和傳統(tǒng)的人工神經(jīng)網(wǎng)絡(luò)(Artificial neural network, ANN)相比,在各個性能上都有大幅度的提高;與通過PCA 對數(shù)據(jù)進(jìn)行處理并結(jié)合卷積神經(jīng)網(wǎng)絡(luò)的PCA-CNN 算法相比,在準(zhǔn)確率和檢測率上不相上下,但是誤報率下降了36%;與DBN4 算法相比可能在準(zhǔn)確率和檢測率上略有不足,但在誤報率上下降了63%。

      本文所采用的模型結(jié)構(gòu)為64—64—64—64,不同的模型結(jié)構(gòu)對實驗結(jié)果可能會有不同的影響,一些不同的模型結(jié)構(gòu)的指標(biāo)比較如表5 所示。

      表5 不同模型結(jié)構(gòu)的指標(biāo)比較Table 5 Index comparison of different model structures

      由表5 對比可知:模型結(jié)構(gòu)越復(fù)雜,其檢測所需的時間也越長;在準(zhǔn)確率和檢測率上,第3 和第4 種模型要略好于第1 和第2 種;在誤報率方面,不同的模型結(jié)構(gòu)差別還是比較大,并不是越復(fù)雜的模型結(jié)構(gòu)誤報率越低,4 種模型結(jié)構(gòu)中第3 種誤報率最低,也是本文所采用的。

      上述所分析的是模型對正常數(shù)據(jù)和攻擊數(shù)據(jù)的檢測效果,使用FP_NDNN 模型對不同攻擊類型進(jìn)行檢測并與其他模型進(jìn)行比較的結(jié)果如表6 和7 所示,評價指標(biāo)與前面不同,這里所使用的準(zhǔn)確率和漏報率的計算公式分別為

      準(zhǔn)確率=預(yù)測的攻擊類型和實際的攻擊類型相同的數(shù)目/預(yù)測為該攻擊類型的數(shù)目

      漏報率=把某類攻擊樣本預(yù)測為正常樣本的數(shù)量/該類攻擊樣本的數(shù)量。

      表6 對不同攻擊類型檢測的準(zhǔn)確率Table 6 Detection accuracy of different attack types %

      表7 對不同攻擊類型檢測的漏報率Table 7 False negative rates of different attack types of detection %

      由表6 和7 結(jié)果對比可知:對于Dos 攻擊類型的檢測,3 種模型的檢測效果都不錯,并且指標(biāo)也不相上下;對于Probe 攻擊類型地檢測,本文方法與GBDT 模型不相上下,要優(yōu)于文獻(xiàn)[20]的方法;對于U2R攻擊類型的檢測,GBDT 模型的檢測效果最差,本文方法略優(yōu)于文獻(xiàn)[20];對于R2L 攻擊類型的檢測,文獻(xiàn)[20]在準(zhǔn)確率方面要優(yōu)于GBDT 模型和本文方法,但是在漏報率方面,本文方法要略好于其他兩種模型。

      3 結(jié)束語

      由于現(xiàn)在網(wǎng)絡(luò)上的攻擊數(shù)據(jù)維度高、噪聲大,如果不進(jìn)行特征的提取,當(dāng)模型進(jìn)行學(xué)習(xí)時,不僅效率和性能低下,而且分類的結(jié)果也不是特別理想。本文通過Fisher 方法進(jìn)行特征的選擇,再用PCA 進(jìn)行特征降維。在不改變數(shù)據(jù)特征信息的同時,能夠有效地減少模型的檢測時間。實驗表明,通過Fisher和PCA 進(jìn)行特征提取能夠使NDNN 深度神經(jīng)網(wǎng)絡(luò)模型在提高準(zhǔn)確率和檢測率的同時,大大地降低誤報率。與其他一些模型相比,本文模型在誤報率上有明顯的優(yōu)勢。但是,此方法可能不是最好的提取特征的方法,NDNN 神經(jīng)網(wǎng)絡(luò)模型的性能也存在著進(jìn)一步提升的空間,而要更加充分學(xué)習(xí)數(shù)據(jù)特征之間的關(guān)系。在后續(xù)工作中,可進(jìn)一步研究更好的特征提取方法,與分類模型有效地融合,并改進(jìn)模型的優(yōu)化算法,將此入侵檢測算法應(yīng)用于實際的網(wǎng)絡(luò)中進(jìn)行實驗并不斷改進(jìn)。

      猜你喜歡
      誤報率特征選擇降維
      基于GRU-LSTM算法的物聯(lián)網(wǎng)數(shù)據(jù)入侵檢測分析
      基于SSA-SVM的網(wǎng)絡(luò)入侵檢測研究
      混動成為降維打擊的實力 東風(fēng)風(fēng)神皓極
      車主之友(2022年4期)2022-08-27 00:57:12
      家用燃?xì)鈭缶髡`報原因及降低誤報率的方法
      煤氣與熱力(2021年6期)2021-07-28 07:21:40
      降維打擊
      海峽姐妹(2019年12期)2020-01-14 03:24:40
      Kmeans 應(yīng)用與特征選擇
      電子制作(2017年23期)2017-02-02 07:17:06
      聯(lián)合互信息水下目標(biāo)特征選擇算法
      神經(jīng)網(wǎng)絡(luò)技術(shù)在網(wǎng)絡(luò)入侵檢測模型及系統(tǒng)中的應(yīng)用
      拋物化Navier-Stokes方程的降維仿真模型
      計算物理(2014年1期)2014-03-11 17:00:18
      基于特征聯(lián)合和偏最小二乘降維的手勢識別
      潼南县| 黄龙县| 海淀区| 开阳县| 闵行区| 新丰县| 泰顺县| 永新县| 崇文区| 保亭| 新干县| 五常市| 奎屯市| 微山县| 财经| 社旗县| 客服| 静安区| 灵石县| 德保县| 平顺县| 北海市| 内丘县| 烟台市| 庐江县| 荥经县| 德令哈市| 泌阳县| 织金县| 峨山| 泗阳县| 射洪县| 广安市| 会宁县| 邯郸县| 拜泉县| 邵武市| 福清市| 招远市| 江西省| 榆树市|