















摘要:提出了一種基于Q學習的網絡入侵檢測方法,將強化學習與深度前饋神經網絡方法相結合,為網絡環境提供了持續的自主學習能力.同時,使用自動試錯方法檢測不同類型的網絡入侵,并不斷增強其檢測能力.此外,還提供了微調深度Q學習模型中涉及的不同超參數的細節,以實現更有效的自適應學習.基于NSL-KDD數據集的大量實驗結果表明,提出的深度Q學習模型能效檢測不同的網絡入侵類型,檢測準確率優于其他機器學習方法.
關鍵詞:深度Q學習;網絡入侵檢測;強化學習
中圖分類號:TP391.44 文獻標志碼:A
A Reinforcement Learning Method forNetwork Intrusion Detection Based on Deep Q-Learning
WEI Ming-rui
(College of Engineering, Hefei University of Economics, Hefei 230011, China)
Abstract:A network intrusion detection method based on Q-learning is proposed, which combines reinforcement learning with deep feedforward neural network method to provide continuous autonomous learning ability for network environment, and automatic trial and error methods are applied to detect different types of network intrusions and continuously enhance their detection capabilities. The details of different hyperparameter involved in the fine-tuning depth Q-learning model are provided to achieve more effective adaptive learning. A large number of experimental results based on the NSL-KDD dataset indicate that the proposed deep Q-learning model is very effective in detecting different types of network intrusions and outperforms other machine learning methods.
Key words:deep Q-learning; network intrusion detection; reinforcement learning
0 引言
新一代的網絡系統亟需自動化和智能化的入侵檢測策略來應對網絡環境中日益增多的攻擊帶來的威脅[1-3].例如,對基于自主代理的入侵檢測解決方案有很高的需求,該解決方案需要盡可能少的人工干預,同時能夠不斷進化和改進自身,對新的潛在威脅[4]也具備更好的魯棒性.強化學習已經成為使用自動代理檢測和分類不同攻擊的主流方法.代理能夠了解針對特定環境發生攻擊的不同行為.強化學習方法可以通過在接收到來自環境的反饋之后獎勵或懲罰其行為來提高其保護環境的能力,同時,代理能夠隨著時間的推移不斷增強其能力.針對這種情況,研究者們提出了幾種基于強化學習的入侵檢測技術,以在各種環境下為不同的應用場景(如物聯網、無線網絡等)提供自主的網絡防御解決方案[5-8].代理能夠在學習過程中基于其觀察到的信息來實現自學習,而不需要人類專家知識的任何監督[9].
然而,大多數現有的方法在檢測合法網絡流量方面存在不確定性,并且還缺乏處理大數據集的能力.這是因為代理通常需要處理非常大的學習狀態,并且會遇到狀態爆炸問題.近年來,深度強化學習技術開始被提出,該技術能夠在具有難以管理的大量狀態的環境中進行學習,以解決現有強化學習技術的主要缺點.通過在學習過程中利用深度神經網絡,如深度Q學習的技術等已經被證明是處理狀態爆炸問題的可靠方法[10].
現有基于深度強化學習的網絡入侵檢測技術,利用不同類型的入侵數據集來對模型進行訓練和評估[11].然而,大部分現有方法僅僅關注如何增強它們的檢測能力和性能,而沒有提供如何更好地為網絡環境開發和實現基于深度強化學習的入侵檢測方法的全面研究,例如如何基于強化學習理論來制定深度Q學習代理,或者如何微調超參數以更有效地自學習,并與底層網絡環境交互.本文研究用于網絡入侵檢測的下一代深度Q學習方法的設計、開發和實施策略的細節來彌補這些缺點.
1 基于深度Q學習的異常檢測
1.1 深度Q網絡介紹
強化學習的最有效類型之一是Q學習,通過在強化學習中使用諸如神經網絡或深度神經網絡的函數近似器作為Q函數來估計函數值.與深度神經網絡集成的Q函數可以稱為深度Q學習(Deep Q-Learning,DQL).DQL中的Q學習代理可以表示為Q(s,a;θ).Q函數由一些參數組成,如模型的狀態s、動作a和獎勵r值.DQL代理可以選擇動作a并且相應地接收針對該特定動作的獎勵.在時間t,與Q網絡中的每一層相關的神經網絡權重由θ參數表示.此外,si+1或s′表示DQL模型的下一個狀態.DQL代理基于先前狀態s和s中執行的動作a移動到下一狀態.使用深度神經網絡作為深度Q網絡來估計和預測目標Q值.然后,可以通過在當前和先前狀態上獲得的Q值來確定每個學習活動的損失函數.在某些情況下,僅使用一個神經網絡來估計Q值.在這種情況下,構建反饋回路來估計目標Q值,從而周期性地更新深度神經網絡的目標權重.深度Q網絡代理使用NSL-KDD的環境.在第一步中,需要初始化算法和模型的參數.NSL-KDD的特征值表示深度Q網絡的狀態變量.深度Q網絡處理的批處理大小為500,即對于每個狀態,NSL-KDD的500條記錄都會從內存中取出,并輸入到一個狀態(S)中.共有41個特征作為狀態變量,每個特征可以具有不同的值.因此,隨著狀態值對的數量變得很大的時候,不可能將它們保存在Q表(或查找表)中.因此,深度Q網絡代理利用DNN作為函數近似器來基于狀態和動作信息計算出Q值.
1.2 深度Q學習過程
標準Q學習和深度Q網絡可以通過每個狀態-動作對的Q值估計方法以及使用函數Q(s,Q)對廣義狀態-動作近似Q值的方式來進行區分.深度Q學習的流程圖如圖1所示.
圖1顯示了使用代理的深度Q學習的總體步驟.首先,將標準化的NSL-KDD數據集輸入到環境中,深度Q學習代理初始化Q值的向量、狀態變量、根據批量大小設置的行為、DNN參數和權重等.然后,基于Epsilon-Greedy方法迭代訓練深度Q網絡.外部迭代表示學習過程的不同回合(episode),并且在每次迭代之后,狀態的值將被再次初始化.同時,保留訓練的DNN參數,并且對于每個回合的迭代都不會再初始化.每個離散狀態Sn由訓練樣本給出.在每一回合的結尾,都會在結束狀態時獲得一個完整的狀態序列、獎勵和動作.在訓練開始期間,代理接收第一批數據(來自環境的500個記錄),這是環境的開始狀態S1.
在內部迭代過程中,深度Q網絡代理基于深度Q學習執行探索、動作選擇和模型訓練等步驟.每次迭代都會調整DNN的Q函數近似器.在標準Q學習中,保留一個值表,并且代理單獨更新每個狀態值對.然而,深度Q網絡利用深度學習方法來估計Q函數.利用深度神經網絡作為Q函數的函數近似器,由4層深度神經網絡組成,所有層都經過ReLU激活,以確保Q值為正.其中,第一層是輸入層,包括41個神經元,用于接受每次迭代中輸入的狀態變量.兩個大小為100的隱藏層以及一個大小為5的輸出層,對應于每個攻擊類別的相關Q值.在每次訓練迭代之后,輸出層中預測的q值將被傳遞到Q向量中.
在深度Q網絡學習過程中,應該在開發和探索之間進行適當的權衡.在第一輪學習中,探索率ε應設置為接近1的值,并使用誘餌率(Decoy Rate)來逐漸降低,如圖2所示.
探索過程是基于Epsilon-Greedy方法進行的.Epsilon-Greedy策略是一種基于強化學習定義的訓練策略,它可以幫助代理探索所有可能的行動,并隨著探索次數的增加逐漸找到最優策略.通過應用Epsilon-Greedy方法來選擇動作,該方法選擇概率為ε的隨機動作或預測概率為(1-ε)的動作.
每個狀態的批量大小記為bs,即bs個隨機動作將被輸入到動作向量(AV)中,作為AVi=Rnd(1,5),?i∈bs,其中1~5分別表示Norman、Probe、DoS、U2R和R2L等5種攻擊類型.如圖2所示,在第一組迭代中,選擇隨機操作的概率很高,但隨著時間的推移,通過Epsilon-Greedy方法,這種概率會逐漸降低.在概率為1-ε的情況下,深度Q學習代理使用當前狀態來預測動作(環境中的bs條記錄表示當前狀態).當前狀態的特征被送入到DNN架構的輸入層,并且基于輸出層中的DNN參數和權重來預測Q值.在當前狀態下,為每個記錄i選擇具有最高Q值的動作,即AVi=argmax(QVi),?i∈bs,這可以是正常的,也可以是惡意的(4種攻擊類型).
在下一步中,由隨機動作(即在第一次迭代中的高探索率)或使用深度Q網絡預測的動作(即一段時間后的高探索率)填充的動作向量(AV)被輸入到獎勵函數中,將AVi與數據集中對應數據記錄的標簽進行比較來計算獎勵,如圖1中的獎勵函數所示.然后,深度Q學習代理需要計算下一個狀態的Q向量和動作向量,表示為Q′Vi和A′Vi(i∈bs),從而完成深度Q學習的訓練過程.
接著,基于獎勵、未來獎勵的折扣率和預測的Q向量來計算目標Q(表示為QT):
QTi=RVi+γ\5Q′Vi.(1)
其中,QTi的結果被進一步輸入到深度Q網絡中,用于訓練和計算損失函數,如圖1中的學習改進階段所示.神經網絡的訓練是在神經網絡以當前狀態估計的Q值和目標Q值之間的均方誤差(MSE)為優化目標下進行的,目標Q值是通過將當前獎勵和下一狀態的Q值乘以折扣因子γ后的值求和而獲得的.根據當前狀態和目標網絡計算深度Q網絡在每次迭代后的損失值.總損失可以表示為:
一旦完成了模型的訓練,就可以使用訓練好的神經網絡進行預測.對于每個狀態,Q函數為該特定狀態的每個可能動作提供相關的Q值,最終預測的動作是基于最大Q值來確定的.該模型經過多次迭代和事件的訓練,這些迭代和事件足以覆蓋整個數據集.
2 DQL模型驗證實驗
2.1 實驗設置和參數
使用Python在Tensorflow框架中驗證本文提出的模型,并在NSL-KDD數據集上分析深度Q學習模型的性能.NSL-KDD數據集的訓練部分包括網絡特征的各種樣本和具有不同可能值(如二進制或多類異常)的入侵標簽.將網絡特征視為狀態,將標簽值視為使這些元素適應深度Q網絡概念的動作.
與深度Q學習模型相關的參數和值如表1所列.對于全連接的網絡架構,除了輸入層和輸出層之外,還使用了兩個具有ReLU激活函數的隱藏層.在訓練過程中,應確定和檢查各種主要參數,以找到適合和理想的模型最佳值.在訓練的開始步驟,探索率ε被設置為0.9,以便代理基于一定程度的隨機性進行探索,誘餌率為0.99.根據不同的值來評估深度Q學習模型的性能,以及通過改變折扣因子值來檢驗所提出的深度Q學習代理的行為.這從本質上決定了深度Q學習代理如何提高基于未來獎勵的學習性能.基于深度Q網絡代理學習過程中獲得的結果,發現較低的折扣因子往往會產生較低的損失值,從而在學習模型方面獲得更好的結果,尤其是當事件數較小時.
2.2 性能指標
使用不同的性能指標來評估本文提出的用于網絡入侵檢測的深度Q學習模型的性能,如準確性、精度、召回率和F1分數等.然而,模型的性能不能僅依賴于準確性值,因為它只評估了分類正確樣本的百分比,而忽略了分類錯誤的樣本.為了進行更好的評估,還基于其他性能指標對實驗結果進行了分析,分別是準確性、精度、召回和F1得分.
準確性是評估和判斷模型最常見的指標之一.它測量了模型所有預測中的正確預測總數.它可以根據真陽性(TP)值、真陰性(TN)率、假陽性(FP)率和假陰性(FN)值獲得.準確性指標的計算方式為:
精度可以根據陽性實例占預測陽性實例總數的百分比來獲得精度評估.在這種情況下,分母是TP和FP的總和,表示從整個數據集執行的模型預測為正.精度的計算方式為:
召回顯示了陽性實例占實際陽性實例總數的百分比.分母是TP和FN值的總和,這是數據集中呈現的正實例的實際數量.召回的計算方式為:
精確度和召回率值的調和平均值被視為F1分數,它考慮了這兩種評價指標的貢獻.因此,F1分數越高,表示結果越好.如果精度或召回率值變低,F1分數的最終值也會顯著降低.基于F1分數的較高值,可以得出一個更優的模型.F1得分的計算方式為:
2.3 性能評估
根據表1中設置的參數評估了深度Q網絡在測試階段的性能,并按照200次回合進行了訓練.基于0.001和0.9這兩個不同折扣因子的深度Q學習模型的混淆矩陣如圖3所示.混淆矩陣代表了在測試數據集上模型分類好壞的評估.混淆矩陣中的行表示預測的類,列表示真實的類.主對角線上的混淆矩陣單元格數字顯示了正確分類的百分比,如已分類為TP或TN的百分比.然而,錯誤分類的部分位于非對角線單元格中,如FN和FP值.位于最后一列(最右邊的列)的值表示與每個類別相對應的錯誤分類預測的百分比.
從圖3中可以看出,對于γ=0.001,正常、DoS和Probe類別的真陽性率分別從0.96下降到0.83和0.68,對于γ=0.9,從0.93下降到089和0.57.結果表明,與較大的折扣因子值(如γ=0.9)相比,深度Q學習代理在折扣因子γ=0001時表現更好.然而,由于每個類別的樣本數量分布不平衡,R2L的少數類別的結果非常低.
提出模型在正確估計(TP和TN)以及基于樣本數量的FP和FN值方面的性能如圖4所示.在執行200次代理學習后,以γ=0.001的折扣因
子來獲取結果.可以觀察到,Normal、DoS和Probe類的正確預測結果較高,而由于類樣本的不平衡分布,少數類的預測值較低.
根據不同訓練次數的準確性和時間來評估深度Q學習模型的性能同,不同回合深度Q學習的結果如圖5所示.
從圖5中可以發現,準確率結果從第100個回合到第250個回合有明顯的上升趨勢.然而,這一數值到第300個回合時逐漸下降,且訓練持續時間超過20分鐘.它表明,深度Q學習代理用于訓練的最佳回合數是250,這大約需要17 min的執行時間.
基于深度Q學習訓練過程中兩種不同折扣系數的總體性能如表2所列.從表2可以看出,折扣系數γ=0.001時,所有性能指標的值都較高.深度Q學習模型在經過200次回合訓練后,折扣因子γ=0.001時每個類別的性能指標如表3所列.
2.4 與其他方法的比較
將提出的深度Q學習模型獲得的結果與各種常見的基于機器學習的模型進行比較,包括自組織映射(SOM)、支持向量機(SVM)、隨機森林(RF)、樸素貝葉斯(NB)、卷積神經網絡(CNN)以及一些混合模型(如BiLSTM和CNN BiLSTM模型)等進行了比較.
根據準確度、精度、召回率、F1分數等性能指標對結果進行比較.在準確性和訓練時間(以分鐘為單位)方面本文方法與其他研究的比較結果如表4所列.可以發現,與其他方法相比,本文方法具有更高的精度和更短的訓練時間.通過SVM方法獲得的準確度最差,約為68%.BiLSTM和CNN BiLSTM混合方法的準確率相比本文方法偏高,分別為79%和83%.但是,這些方法比本文方法具有更長的訓練時間.
將本文方法在所有分類結果的F1得分情況與其他方法進行了比較,結果如表5所列.F1分數被稱為召回和精度之間的平衡點,是召回和精度的調和平均值.根據表5中的對比結果,可以觀察到Normal類的F1得分約為81%,而CNN和CNN-BiLSTM混合方法的F1得分更高,約為90%.與其他機器學習方法和混合方法相比,本文方法在其他攻擊類別(如DoS、Probe、R2L)方面獲得更高的F1得分.
3 結語
提出了一種基于深度Q學習的強化學習模型來檢測和分類不同的網絡入侵攻擊類別.以標記的數據集作為輸入,提供了一種基于深度Q網絡的深度強化學習策略.在提出的模型中,深度Q學習方法將強化學習與深度前饋神經網絡相結合,與網絡環境進行交互.在網絡環境中,深度Q學習代理使用自動試錯策略,在不需要人工知識的情況下,捕獲和分析網絡流量,以自學習的方式檢測惡意網絡有效載荷.實驗結果表明,所提方法以自主的方式有效地從環境中進行學習,并且能夠高精度地對不同的網絡入侵攻擊類型進行分類.通過對參數微調的大量實驗結果表明,在250次回合學習的情況下,提出方法的最佳折扣因子為0.001.
參考文獻:
[1] 張小云,康曉霞.基于決策樹算法的網絡入侵檢測系統設計與評估[J].信息技術,2023,47(2):117-122.
[2] 蘇明.無線傳感網絡中的自適應入侵檢測算法[J].導航定位學報,2020,8(4):106-110.
[3] 鄒柏林,吳奕盈.基于深度學習的網絡入侵檢測技術綜述[J].網絡安全技術與應用,2023(8):3-8.
[4] 谷朝陽,王亮亮,李晉國,等.基于分層自適應主動學習策略的入侵檢測系統[J].計算機工程與設計,2023,44(3):699-706.
[5] 張蕾,崔勇,劉靜,等.機器學習在網絡空間安全研究中的應用[J].計算機學報,2018,41(9):1943-1975.
[6] 孫鵬宇,張恒巍,譚晶磊,等.基于時機博弈的網絡安全防御決策方法[J].計算機工程,2022,48(11):145-151.
[7] SETHI K,KUMAR R,MOHANTY D,et al.Robust adaptive cloud intrusion detection system using advanced deep reinforcement learning[C]//Security,Privacy,and Applied Cryptography Engineering:10th International Conference,SPACE 2020,Kolkata,India,December 17-21.Kolkata:Springer International Publishing,2020:66-85.
[8] SETHI K,KUMAR R,PRAJAPATI N,et al.Deep reinforcement learning based intrusion detection system for cloud infrastructure[C]//2020 International Conference on COMmunication Systems amp; NETworkS(COMSNETS).Bangalore:IEEE,2020:1-6.
[9] SETHI K,SAI RUPESH E,KUMAR R,et al.A context-aware robust intrusion detection system:a reinforcement learning-based approach[J].International Journal of Information Security,2020,19:657-678.
[10] CAPPART Q,MOISAN T,ROUSSEAU L M,et al.Combining reinforcement learning and constraint programming for combinatorial optimization[C]//Proceedings of the AAAI Conference on Artificial Intelligence.New York:ACM,2021:3677-3687.
[11] MA X,SHI W.Aesmote:Adversarial reinforcement learning with smote for anomaly detection[J].IEEE Transactions on Network Science and Engineering,2020,8(2):943-956.
[責任編輯:李 嵐]