999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于GRU-RNN的網絡入侵檢測方法

2021-06-10 05:42:52李俊夏松竹蘭海燕李守政孫建國
哈爾濱工程大學學報 2021年6期
關鍵詞:分類檢測模型

李俊, 夏松竹, 蘭海燕, 李守政, 孫建國

(1.國家工業信息安全發展研究中心,北京 100040; 2.哈爾濱工程大學 計算機科學與技術學院,黑龍江 哈爾濱 150001)

網絡安全包括承載載體的完整性、可用性及機密性。任何企圖破壞機密性或者繞過網絡安全機制的活動都可以視為網絡入侵[1]。網絡入侵檢測系統是一種用于檢測網絡入侵的安全管理系統,是網絡安全系統中不可或缺的一部分[2]。網絡入侵檢測系統通常會抓取檢測特定網絡中全部的出流量及入流量,以確定其中一些數據包是否含有入侵跡象[3]。

近年來,機器學習的許多研究應用在入侵檢測領域。例如,支持向量機、人工神經網絡和遺傳算法在入侵檢測領域取得了不錯的成績。但是由于入侵呈現多樣化,現有的機器學習方法暴露出很多局限性。尤其在自動提取入侵特征和分析中,需要更好的學習方法。

Hinton等[4]研究發現,深度學習被廣泛應用在自然語言處理、圖像識別和天氣預報領域。深度學習中應用高度非線性結構,在處理復雜數據時表現出出色的識別能力。并行計算硬件設施的高速發展也為深度學習算法提供了強有力的硬件支撐。通過設計合理的網絡結構,深度神經網絡可有效控制神經網絡的參數量,確保網絡性能的同時,降低神經網絡的運行成本[5]。

由于訓練和計算復雜性,遞歸神經網絡(recurrent neural network,RNN)在過去的一段時間未能成為主流深度學習的網絡模型。近些年,RNN開始進入快速發展時期,在手寫識別[6]和語音識別[7-8]領域有了廣泛的應用。RNN的特點是同一層中的節點是連通的。因此,隱藏層的輸入不僅包括上層的輸出,還包含最后一個時間點的同一層的輸出[9]。許多入侵行為可以抽象為來自底層網絡的特定時間序列的時間。因此,RNN被認為適合用來構建入侵檢測系統。

本文將門控循環單元(gated recurrent unit,GRU)結構放在RNN神經網絡中進行入侵檢測,模型可以識別具有時序特性的入侵流量。分析并設計模型的層次結構,分析最優的損失函數、分類函數,提出了一種最適用于本文的優化函數,加快模型收斂速度。

1 數據預處理

1.1 數值化

使用歸一化、數值化方法處理元數據。KDD數據集中的數據是多組一維向量組成:

[0,tcp,http,SF,219,1098,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,1,0.00,0.00,0.00,0.00,1.00,0.00,0.00,7,255,1.00,0.00,0.14,0.05,0.00,0.01,0.00,0.00,normal]

每列所代表內容為:

[“duration”,“protocol_type”,“service”,“flag”,“src_bytes”,“dst_bytes”,“land”,“wrong_fragment”,“urgent”,“hot”,“num_failed_logins”,“logged_in”,“num_compromised”,“root_shell”,“su_attempted”,“num_root”,“num_file_creations”,“num_shells”,“num_access_files”,“num_outbound_cmds”,“is_host_login”,“is_guest_login”,“count”,“srv_count”,“serror_rate”,“srv_serror_rate”,“rerror_rate”,“srv_rerror_rate”,“same_srv_rate”,“diff_srv_rate”,“srv_diff_host_rate”,“dst_host_count”,“dst_host_srv_count”,“dst_host_same_srv_rate”,“dst_host_diff_srv_rate”,“dst_host_same_src_port_rate”,“dst_host_srv_diff_host_rate”,“dst_host_serror_rate”,“dst_host_srv_serror_rate”,“dst_host_rerror_rate”,“dst_host_srv_rerror_rate”,“label”]

其中4項是字符型的數據,需要對其進行數值化處理。例如最后一項數據類型label,共有5種,分別是普通行為、拒絕服務攻擊、網絡窺探、越權攻擊、遠程攻擊。此部分數據離散化不能作為GRU-RNN模型的直接輸入,需要將數據重新編碼。可以采用One-hot編碼方式。在用機器學習算法分類時,計算各個特征之間的距離非常重要。One-hot編碼基本思想是將原數據的離散值轉換為歐式空間中的一個點。label分類的轉換可以如表1所示。

表1 攻擊分類one-hot編碼表Table 1 Attack classification one-hot code table

1.2 歸一化

元數據的范圍不一致,例如第一列數據在(0,1)分布,第5列數據理論上可以達到無窮大。不利于神經網絡的處理。如果數值過大會增加計算負擔。所以對數據進行歸一化處理,例如將第5列數據歸一到(0,1),本文采用歸一化式:

(1)

2 GRU-RNN網絡結構

2.1 RNN循環神經網絡

推出RNN的目的是因為人們想要利用帶有順序性的數據。在傳統的神經網絡中,假設所有輸入和輸出互相獨立。但是對于許多的任務處理,這種處理方式得到的模型效果很差。例如某人想要預測句子的下一個單詞,那么他最好知道之前的單詞都是什么,否則無法完成預測。RNN之所以稱之為遞歸,是因為它對序列的每個元素都執行相同的任務,它的輸出受之前運算影響。RNN具有記憶功能,可以捕獲到目前已經計算出來的所有有關的內容。

RNN具有記憶功能,得益于RNN的模型結構設計,可以將之前的信息傳遞到后面的隱含層中,從而達到記憶的效果。RNN能夠記住在時間t處理的信息,在隨后的時間進行計算,RNN模型結構圖如圖1所示。

圖1 遞歸神經網絡結構Fig.1 Recurrent neural network structure diagram

RNN的模型結構比較簡單,由輸入層、隱藏層和輸出層組成。輸入層與隱含層和隱含層與輸出層之間為全連接的狀態,隱含層自身也有一個自循環結構。RNN模型展開圖如圖2所示。

圖2 遞歸神經網絡的層級展開Fig.2 Hierarchical expansion of recurrent neural network

RNN展開圖中t-1,t,t+1代表時間順序。輸入層用x表示,W表示之前樣本的權重矩陣,U表示當前時刻輸入樣本的權重矩陣,V表示輸出的權重矩陣。St表示數據在時間點t的隱藏狀態,其計算過程受上一個時間點計算出來的狀態影響:

St=f(W*St-1+U*Xt)

(2)

其中,f(·)為激活函數,采用tanh函數。

模型一般在t時刻初始化各類初值,其余值初始化階段:

h1=Ux1+Ws0

(3)

s1=f(h1)

(4)

o1=g(Vs1)

(5)

其中g(·)為激活函數,采用SOFTMAX函數,在一次運算完成后,當前的狀態將作為t時刻的狀態參與下一時刻的運算:

h2=Ux2+Ws1

(6)

s2=f(h2)

(7)

o2=g(Vs2)

(8)

由此可知,最終輸出的式為:

ht=Uxt+Wst-1

(9)

st=f(ht)

(10)

ot=g(Vst)

(11)

可以將隱藏狀態視為RNN“內存”。 捕獲t時間點前發生的所有事情,并基于t時間點計算輸出。RNN在所有步驟中共享相同的參數(U,W,V),減少了學習過程中需要學習的參數總數。

2.2 門控制循環單元

門控循環單元(gated recurrent unit,GRU)在多種應用領域中被證明是一種有效的LSTM變體,其結構是LSTM的簡化和提升版[10]。使用復位門和更新門替代LSTM結構中輸入門、遺忘門和輸出門。復位門來計算是否忘記之前計算狀態,更新門決定將上一步多少信息繼續迭代到當前步驟[11]。GRU結構如圖3所示。

圖3 門控循環單元結構Fig.3 gated recurrent unit structure diagram

GRU結構的主要計算式:

rt=σ(Wrxt+Urht-1)

(12)

zt=σ(Wzxt+Urht-1)

(13)

(14)

(15)

GRU結構比LSTM簡單,在運算的速度和性能上比LSTM更有優勢[12],其展開圖如圖4所示。

圖4 門控循環單元展開Fig.4 Hierarchical expansion of gated recurrent unit

2.3 GRU-RNN網絡設計

傳統網絡入侵檢測[13-14]被證明是非常有效的檢測手段,但這類檢測方式只對例如越權攻擊有較好的檢出率[15]。由于網絡入侵有明顯的時序性,例如DDOS攻擊就是在短時間內大量的訪問某服務造成服務不可用的狀態。傳統的檢測方式[16],無法對持續一段時間的攻擊行為進行檢測,會在迭代學習的過程中產生一種梯度消失的現象,即遺忘[17]。所以本文采用RNN循環神經網絡,結合GRU模型,能夠處理具有時序性的攻擊信息。

將GRU與RNN結合,構建GRU-RNN網絡入侵檢測模型。如圖5所示,該系統由數據預處理模塊、過采樣模塊、GRU模塊、RNN模塊和輸出模塊組成。預處理模塊負責將原數據轉換為適合神經網絡輸入的數值;GRU模塊由2個GRU層組成,每層含2個GRU結構存儲數據,是系統的核心部分;RNN模塊含15層隱含層,對GRU模塊的輸出執行非線性映射,最終做出非線性的分類決策。KDD數據集共有5種行為,分別是普通行為、拒絕服務攻擊、網絡窺探、越權攻擊、遠程攻擊。所以輸出層采用SOFTMAX函數對結果進行分類處理,可標準化分類概率并將其輸出為最終結果。

圖5 GRU-RNN網絡結構Fig.5 GRU-RNN network structure diagram

在這些組件當中,GRU和RNN模塊是2種不同的神經網絡模型。GRU結構復雜,計算量大。RNN結構簡單,可以進行快速的計算且易于堆疊。所以本文采用2層GRU和15層RNN隱含層來實現。兩者構成一個深層網絡,實現更優化的結果。

輸入層具有41個輸入神經元,輸入層連接到2個記憶模塊的隱含層,輸入層的神經元與隱含層是全連接的關系。

1)輸入層設計。

將KDD-99數據集中的元數據數值化和歸一化后輸入GRU-RNN模型。其中protocol_type、service、flag和label元數據為字符型,利用One-hot編碼成為標量。對src_bytes、dst_bytes等數據歸一化成為(0,1)標量。元數據共41個維度,處理后對應41個輸入神經元的輸入層將元數據輸入GRU-RNN。

2)GRU與RNN隱含層設計。

由2層記憶層組成,該部分負責存儲數據,即模型最核心的創新點“記憶功能”。用于識別持續時間較長的攻擊行為。然后將數據導入一個15層的RNN隱含層進行特征識別。

3)輸出層。

該KDD-99數據集中共有5種行為被標識,所以本系統采用一個5個輸出神經元的輸出層。

3 實驗

3.1 測量方法

對于分類問題,分類結果可以是正確的或不正確的,所有可能的結果可以分為表2中4個情況。

表2 性能指標分類表Table 2 Measure classification

TP表示模型檢測出攻擊流量的數目,且該檢測結果是正確的;FN表示檢出為攻擊流量的數目,但其檢測結果錯誤,這些流量實際是正常流量;TN表示檢出為正常流量的數目,且檢測結果是正確的;FP表示檢出為正常流量的數目,但其檢測結果錯誤,實際該流量是攻擊流量。其中,FP和FN稱為誤報。

根據以上4個參數,通常可以得出4個指標衡量一個模型的實際性能。

準確率:

(16)

檢出率:

(17)

正確檢出率:

(18)

漏報率:

(19)

相關系數:

(20)

其中,式(16)代表正確判斷所有入侵流量和正常流量的概率;式(17)、(18) 代表攻擊流量的檢出率;式(19)代表攻擊流量被當成正常流量的誤報率;式(20)是衡量模型總體指標的衡量函數。

3.2 數據集

KDD數據集是美國空軍模擬空軍基地局域網,收集7個星期的訓練數據和2個星期的測試數據。手機的數據總數包含200多個實例。

流量被分類為正常流量或某種攻擊類型。攻擊被分成4個攻擊類別:拒絕服務攻擊(DOS)、網絡探測(Probe)、遠程攻擊(R2L)和越權攻擊(U2R)。

3.3 GRU-RNN網絡結構實驗

為進一步驗證本文提出的GRU-RNN網絡模型性能。與其他文獻中入侵檢測模型進行比較,包括不平衡學習、支持向量機、DNN等學習方法[18-19]。此外在本實驗中,使用NSL-KDD數據集進行實驗,作為KDD數據集的改進版,解決了KDD-CUP-99數據集s一些固有問題[20]。但總體仍然存在一些問題,通常將2種數據集一起使用。

如表3~5所示,實驗測試了不同模型的整體檢測性能。

表3 與其他不平衡算法性能比較Table 3 Comparison with other imbalance algorithms

表4 與其他傳統算法性能比較Table 4 Compared with other traditional algorithms

表5 與其他深度學習算法性能比較Table 5 Comparison with other deep learning algorithms

與其他的不平衡學習方法相比,本文提出的GRU-RNN模型使用最少的樣本來獲得最佳性能。在準確率和正確檢出率方面,I-NGSA與CANN+SMOTE模型在不平衡學習模型中取得了比較好的效果。相比之下,本文提出的GRU-RNN模型效果略遜色于上述2種模型,但由于均達到99%以上的檢出率。所以可以忽略本部分的劣勢,可以視為是較好的檢測水平。

與淺層學習相比,GA-LR在淺層學習中所有指標均表現良好,總體效果要略好于本文提出的模型。但由于GA-LR模型所需要的訓練數據集大小為本模型的7倍。因此,在相同的數據量下,本模型的收斂性比GA-LR模型好。表現出本算法在少量數據的時候,就能達到最優狀態。

與其他深度學習模型[21-22]相比,結果顯示其他深度模型均有較好的性能。其中,CNN-LSTM與DNN模型總體上檢測效果要好于本模型,與GA-LR模型具有同樣的問題,需要的數據量遠大于本模型。S-NADE模型,整體性能較差,需要的數據量也遠超本模型。SCDNN模型,正確檢出率極低。

4 結論

1)實驗結果驗證了基于GRU網絡記憶模塊的GRU-RNN入侵檢測系統,能夠解決傳統的入侵檢測模型普遍無法對具有時序特征(尤其是持續時間較長的攻擊)檢出率不高的問題。

2)對KDD數據集的仿真實驗表明,該模型能夠在使用較少數據集的條件下,達到99%以上的準確率,且具有較好的準確率、檢出率和漏報率。

本文對所提出的模型主要進行了理論驗證,為了驗證該模型的實際應用,需要投入到大量的工程中運行。下一步的研究重點是優化模型,使其能夠應用在網絡入侵檢測的實際場景中。

猜你喜歡
分類檢測模型
一半模型
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
分類算一算
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
分類討論求坐標
數據分析中的分類討論
教你一招:數的分類
主站蜘蛛池模板: 永久免费av网站可以直接看的| 久久77777| 好吊色妇女免费视频免费| 国产免费人成视频网| 国产亚洲欧美在线视频| 欧美日韩国产高清一区二区三区| 全色黄大色大片免费久久老太| 亚洲一区色| 成人毛片免费观看| 久热中文字幕在线观看| 国产情精品嫩草影院88av| 亚洲成A人V欧美综合| 久精品色妇丰满人妻| 狼友视频一区二区三区| 女人毛片a级大学毛片免费| 就去色综合| 亚洲最大综合网| 欧美综合在线观看| 欧美自慰一级看片免费| 国产h视频在线观看视频| 激情国产精品一区| 午夜少妇精品视频小电影| 成年人国产视频| 国产午夜精品鲁丝片| 精品福利网| 精品无码一区二区三区电影| 国产H片无码不卡在线视频| 日韩免费毛片视频| 欧美成人一级| 国产第一福利影院| 日本精品影院| 蜜臀AV在线播放| 久久精品国产91久久综合麻豆自制| 在线日本国产成人免费的| 亚洲乱码在线视频| 2021最新国产精品网站| 亚洲V日韩V无码一区二区| 欧美激情第一区| 成人午夜精品一级毛片| 免费看a级毛片| 国产亚洲欧美在线视频| 亚洲人成人无码www| 啪啪永久免费av| 日本人妻一区二区三区不卡影院| 五月天天天色| 日本午夜影院| 亚洲成人在线网| 成人福利在线视频| 久久精品嫩草研究院| 国产爽歪歪免费视频在线观看| 亚洲精品人成网线在线| 91视频免费观看网站| 欧美亚洲国产一区| 国产xx在线观看| 无码免费视频| 国产香蕉在线视频| 青青草91视频| 一级做a爰片久久免费| 亚洲精品你懂的| 四虎国产永久在线观看| 91www在线观看| 精品黑人一区二区三区| 日本五区在线不卡精品| 久久国产精品嫖妓| 99精品福利视频| 91麻豆精品国产高清在线| 成人综合网址| 这里只有精品国产| 三区在线视频| 国产精品漂亮美女在线观看| 亚洲男人的天堂网| а∨天堂一区中文字幕| 亚洲人成网站观看在线观看| 欧美性色综合网| 国产一区二区三区精品欧美日韩| 香蕉久久国产超碰青草| 亚洲人成网站在线观看播放不卡| 99er这里只有精品| 中文字幕首页系列人妻| 国产成人免费观看在线视频| 欧洲熟妇精品视频| 亚洲性视频网站|