• 
    

    
    

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

      基于增量集成學習的動態(tài)自適應SDN入侵檢測

      2021-10-01 16:59:32陳昌娜李昭樺
      計算技術(shù)與自動化 2021年3期
      關(guān)鍵詞:集成學習軟件定義網(wǎng)絡入侵檢測

      陳昌娜 李昭樺

      摘 要:隨著SDN網(wǎng)絡應用的推廣,SDN網(wǎng)絡的安全也越來越受到重視,基于模式識別的網(wǎng)絡入侵檢測由于無法一次性收集完備的訓練數(shù)據(jù)集,使得對未知的入侵行為識別率不高。為提高入侵檢測系統(tǒng)的自適應性,提出了增量集成學習算法,并用該算法解決SDN入侵檢測問題。該算法利用滑動窗口法獲得數(shù)據(jù)塊,對新的數(shù)據(jù)塊進行訓練獲得子分類器,然后依據(jù)在歷史數(shù)據(jù)塊和當前數(shù)據(jù)塊的分類結(jié)果篩選子分類器進行集成,使得分類模型不斷完善從而能夠自適應的識別未知攻擊行為。通過在NSL-KDD數(shù)據(jù)集上的實驗結(jié)果可以看到,該算法可以提高未知攻擊的識別率。

      關(guān)鍵詞:增量學習;集成學習;入侵檢測;軟件定義網(wǎng)絡

      Abstract:With the popularization of SDN network application, the security of SDN network has been paid more and more attention. Because the network intrusion detection method based on pattern recognition cannot collect complete training dataset at one time, the recognition rate of intrusion detection model for unknown intrusion behavior is not high. In order to improve the adaptability of intrusion detection system, this paper proposes an incremental ensemble learning algorithm and uses it to solve the problem of SDN intrusion detection. The proposed algorithm uses sliding window method to obtain data blocks and trains data blocks to obtain sub classifiers. Then it selects sub-classifiers according to the classification results of historical data blocks and current data blocks for integration, so that the classification model is constantly improved and can identify unknown attack behavior adaptively. The experimental results on the NSL-KDD dataset show that the algorithm can improve the recognition rate of unknown attacks.

      Key words:incremental learning; ensemble learning; intrusion detection; software defined network

      軟件定義網(wǎng)絡( Software Defined Network,SDN)是一種新興的網(wǎng)絡架構(gòu),已逐漸成為云計算環(huán)境所依賴的重要技術(shù)之一[1],但SDN 架構(gòu)自身的安全問題也受到國內(nèi)外專家學者的關(guān)注。入侵檢測作為網(wǎng)絡安全的重要技術(shù)之一,也是網(wǎng)絡安全領(lǐng)域的研究熱點[1-6],把機器學習、模式識別用于網(wǎng)絡入侵檢測是該領(lǐng)域的研究熱點之一,也就是把網(wǎng)絡入侵檢測問題轉(zhuǎn)化為分類問題。

      常見的機器學習算法均有學者嘗試用于解決網(wǎng)絡入侵檢測問題,例如支持向量機[2-3]、深度學習[4-6]、決策樹[7]、集成學習[8-10]等分類算法,這些方法都是對已知的訓練數(shù)據(jù)集進行訓練,獲得分類模型,然后對未知的數(shù)據(jù)進行預測,因此訓練數(shù)據(jù)集對算法的影響較大,決定了最終構(gòu)建模型的分類性能,而在實際的網(wǎng)絡入侵檢測中,新的網(wǎng)絡入侵方法不斷涌現(xiàn),也就導致無法一次性的收集到完備的數(shù)據(jù)集進行模型訓練,為解決這樣的問題,許多專家學者探討采用增量學習[2,6]、在線學習[11-16]解決網(wǎng)絡入侵檢測問題,文獻[17]給出了針對SDN網(wǎng)絡的入侵檢測模型,并對模型進行了詳細的介紹。

      集成學習算法由于算法自身的優(yōu)勢備受關(guān)注[8-11],通過某種方法改變訓練數(shù)據(jù)集的分布從而獲得多個訓練子集,訓練后獲得多個子分類器,在預測階段依據(jù)多個子分類器測試結(jié)果進行投票,來確定最終的預測結(jié)果,Boosting和Bagging是兩類最具代表性的集成學習算法,Zhou[11]證明了選擇部分基分類器進行集成要不所有基分類器參與集成,獲得的集成分類器的泛化性能更優(yōu),選擇集成算法的關(guān)鍵是按照一定的方法選擇部分好的基分類器進行集成,問題就轉(zhuǎn)化為如何判斷基分類器的好壞。隨后有許多學者對Boosting和Bagging算法進行改進,用于解決增量學習和在線學習問題[12-16],基本是對后續(xù)達到的數(shù)據(jù)流構(gòu)建訓練數(shù)據(jù)子集,然后訓練獲得對應子分類器,當子分類器達到指定閾值且新的數(shù)據(jù)流到達的時候,從已有的基分類器選擇性能差的基分類器進行替換,因此該算法本質(zhì)是集成學習算法和選擇集成學習算法的改進,使之適用于增量學習或在線學習。這些算法在選擇基分類器的時候依據(jù)對當前數(shù)據(jù)塊的分類性能差的基分類器進行替換,認為已有基分類器缺少對新數(shù)據(jù)的識別能力,但在實際應用中,會有突變的數(shù)據(jù)流(噪聲數(shù)據(jù)),這樣會導致該替換方法不夠準確,因此本文采用結(jié)合歷史數(shù)據(jù)和當前數(shù)據(jù)的準確率來選擇基分類器進行替換。

      基于以上分析,從三方面對集成增量學習算法(Improved Incremental Integrated Learning Algorithm, IIILA)進行改進:(1)為避免噪聲數(shù)據(jù)的影響,對基分類器的評價依據(jù)歷史數(shù)據(jù)和當前數(shù)據(jù)上的平均結(jié)果;(2)傳統(tǒng)集成方法依據(jù)準確率進行基分類器篩選,沒有考慮基分類器之間的差異度,本文采用泛化誤差對基分類器進行篩選;(3)對基分類器權(quán)重的計算不是簡單依據(jù)當前數(shù)據(jù)庫的泛化誤差,而是所有數(shù)據(jù)的泛化誤差。然后把改進的算法應用到SDN的網(wǎng)絡入侵檢測中,通過在NSL-KDD數(shù)據(jù)集上的仿真實驗可以看到,該算法在各項指標上的性能要優(yōu)于決策樹算法C4.5,各項性能逼近AdaBoost算法。

      1 SDN網(wǎng)絡入侵檢測模型

      針對SDN網(wǎng)絡入侵檢測的研究相對較少,主要集中在入侵檢測模型設計上面[17,19-20],由算法的設計過程可以看到,該算法支持并行處理,也就可以進行分布式處理,因此基于增量集成學習算法的SDN網(wǎng)絡入侵檢測模型設計如圖1所示,該模型分為網(wǎng)絡節(jié)點檢測和本地檢測,兩者之間可以相互協(xié)同。

      在本地檢測模塊中,通過多個檢測代理收集網(wǎng)絡數(shù)據(jù)流,根據(jù)OpenFlow協(xié)議[18],每個流表由多個流表項組成,原始的流表項由多個功能部分組成, 并不是所有的部分都可以用于入侵檢測,因此需要對數(shù)據(jù)流進行相應的預處理,包括數(shù)據(jù)統(tǒng)計、特征選擇、歸一化等操作,然后對網(wǎng)絡行為用檢測模型進行預測,確定是否存在網(wǎng)絡攻擊行為,響應模型對網(wǎng)絡攻擊行為進行響應處理,然后用新的數(shù)據(jù)去修正檢測模型(這里假定預測的結(jié)果都是正確的,對于無法確定預測結(jié)果是否正確,可以通過直推式學習來解決)。對于網(wǎng)絡檢測是指多個本地檢測模塊之間可以協(xié)同工作,可以依據(jù)網(wǎng)絡各節(jié)點共同的預測結(jié)果來判斷最終的預測結(jié)果,也可以之用本地檢測模塊實現(xiàn)入侵檢測。

      2 增量集成學習算法

      2.1 基分類器性能評價

      為了保證集成后分類器的性能,對基分類器進行篩選,文獻[13]中證明了集成分類器的性能與基分類器的準確率和基分類器之間的差異度有關(guān),集成分類器的泛化誤差可表示為公式(1):

      2.2 算法過程

      在網(wǎng)絡入侵檢測、醫(yī)療診斷等等實際應用中,由于無法一次性收集完備的數(shù)據(jù)集,導致無法一次性獲得完美的分類模型,因此需要邊收集數(shù)據(jù)邊完善分類模型,即增量學習或者在線學習,較多算法的增量學習算法都被應用到網(wǎng)絡入侵檢測中,例如增量支持向量機算法[2-3]。集成學習算法由于自身的特點和優(yōu)勢,Oza[17]等提出了增量學習版的Boosting和Bagging算法,隨后有許多學者對算法進行了相應的改進,這些算法多是針對流數(shù)據(jù)的在線學習,而本文算法主要是依據(jù)塊的增量學習算法。

      集成學習的增量學習算法主要是把每個數(shù)據(jù)塊看作一個數(shù)據(jù)子集,然后在數(shù)據(jù)子集上構(gòu)建子分類器(基分類器),然后用已獲得的子分類器對當前數(shù)據(jù)子集進行預測,并計算預測準確率,如果子分類器數(shù)目小于超過閾值,則直接加入到子分類器集合中,否則,從當前子分類器集合中選擇對當前數(shù)據(jù)預測性能最差的子分類器進行替換??梢钥吹?,子分類器的選擇是依據(jù)對當前數(shù)據(jù)塊的分類性能進行選擇,也就需要把最新數(shù)據(jù)中所包含的信息學習到分類器中,但是該方法過度依賴對當前數(shù)據(jù)的分類性能,也就容易受到噪聲數(shù)據(jù)的影響,這是因為算法只考慮對當前數(shù)據(jù)的分類性能,而沒有考慮對整體數(shù)據(jù)的分類性能,因此本文算法總和考慮歷史數(shù)據(jù)塊和當前數(shù)據(jù)塊上的分類性能,然后對基分類器進行選擇,算法流程如圖2所示,詳細的算法過程描述如下:

      3 實驗及數(shù)據(jù)分析

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

      NSL-KDD數(shù)據(jù)集消除了KDD99數(shù)據(jù)集中數(shù)據(jù)冗余、重復數(shù)據(jù)記錄等問題,使得分類器的檢測率更加準確,因此在研究入侵檢測問題的時候,NSL-KDD訓練集和測試集的設置是合理的,不同研究工作的評估結(jié)果將是一致的和可比的,因此在做網(wǎng)絡入侵檢測研究中較多的人在NSL-KDD數(shù)據(jù)集上進行仿真實驗,本文的實驗中也將采用NSL-KDD數(shù)據(jù)集。

      NSL-KDD數(shù)據(jù)集的20%的訓練集包括正常數(shù)據(jù)記錄13448,攻擊數(shù)據(jù)記錄數(shù)為11744,NSL-KDD數(shù)據(jù)集的測試集中包括正常數(shù)據(jù)記錄2152,攻擊數(shù)據(jù)記錄數(shù)為9698,本文算法是面向數(shù)字格式文件的,NSL-KDD數(shù)據(jù)集中有數(shù)值屬性和字符屬性兩類,因此先把數(shù)據(jù)集進行數(shù)字化,本文采用簡單的替代法,另外,本文算法主要針對二類分類問題,把數(shù)據(jù)集都轉(zhuǎn)換為二類的數(shù)據(jù)集,正常數(shù)據(jù)類別號為0,攻擊數(shù)據(jù)的類別號為1。

      實驗從NSL-KDD數(shù)據(jù)集20%的訓練集中隨機選擇1100條數(shù)據(jù)作為訓練數(shù)據(jù)集進行仿真實驗,用NSL-KDD數(shù)據(jù)集的測試集進行測試,詳細的實驗數(shù)據(jù)集見表1,可以看到在測試集中出現(xiàn)了12中新的攻擊類型和2587條訓練集中沒有出現(xiàn)過的攻擊數(shù)據(jù)。

      3.2 實驗結(jié)果

      在實際應用中,尤其是是網(wǎng)絡入侵檢測中,網(wǎng)絡入侵方法不斷涌現(xiàn)出新的入侵方法,也就無法一次性收集到完備的訓練數(shù)據(jù)集,各種機器學習算法的增量算法是解決該問題的重要途徑之一,該部分實驗采用模擬數(shù)據(jù)流的方式進行實驗,對以選取的數(shù)據(jù)集采用滑動窗口動態(tài)取數(shù)據(jù)集中的部分數(shù)據(jù)增加的學習模型中,并用前面所提算法中的方法對新生成基分類器與已有基分類進行替換,從而不斷的更新模型。由于該算法是基于決策樹的集成增量學習算法,因此,該部分主要是對本文所提算法與Online Bagging(OBG)算法、C4.5和AdaBoost算法進行算法性能的對比,詳細的實驗結(jié)果見表2和表3及圖3,其中C4.5和AdaBoost算法的實驗結(jié)果是采用全部的1100條訓練數(shù)據(jù)進行訓練,然后對測試集進行測試的實驗結(jié)果,而IILA和OBG采用的是增量學習的方法逐漸進行增量學習,然后對測試集進行測試的實驗結(jié)果。

      從表2、表3的實驗結(jié)果可以看到,本文算法的性能要優(yōu)于C4.5決策樹算法的實驗結(jié)果,這是因為,本文算法是采用集成學習算法的思想,前面的描述中可以看到集成學習算法有不錯的分類性能。從表2、表3和圖3可以看到,算法性能與Online Bagging算法性能接近,但本文算法可以大大減少算法的時間,尤其是選擇較大的窗口的情況下。另外實驗結(jié)果接近AdaBoost算法的實驗結(jié)果,甚至在召回率上優(yōu)于AdaBoost算法,由于AdaBoost算法是對所有訓練數(shù)據(jù)進行訓練,而本文算法是采用的增量學習思想,在訓練的過程中會依據(jù)對當前數(shù)據(jù)塊上的分類性能對基分類器進行替代,其本質(zhì)就是丟棄哪些分類性能差的基分類器,但在丟棄基分類器的過程中,實際就是丟棄部分數(shù)據(jù)塊所包含的信息,對當前數(shù)據(jù)塊的分類性能差表明該基分類器所包含的信息量不足,但在丟棄的過程中仍然會丟棄部分信息,因此造成最終集成分類器的性能不如采用所有數(shù)據(jù)集進行訓練的AdaBoost算法的性能。

      窗口大小對算法性能的影響,為了驗證窗口大小對算法性能的影響,分別采用窗口大小為10、20、30、40、50、100、150進行實驗,詳細的實驗結(jié)果如表4所示。從表3中可以看到,窗口大小為30的時候,各項指標較好,窗口大小為50的時候各項指標最差,可以看到窗口大小對分類算法的性能有影響,但是從表3中看不到有什么規(guī)律。

      另外參數(shù)m對算法的性能也有一定的影響,為了驗證m對算法的影響,分別取數(shù)據(jù)塊的10%、20%、30%、40%、50%、60%、70%、80%、90%個基分類器進行集成,詳細的實驗結(jié)果見表4。在實際應用中,數(shù)據(jù)塊數(shù)是無法確定的,因此選擇比例也就無法確定,該部分實驗目的是驗證選擇參與集成的基分類器的數(shù)量是否影響集成分類器的性能,在實際應用中隨著數(shù)量不斷的到達,即數(shù)據(jù)塊數(shù)量的增加,可以采用動態(tài)調(diào)整該值,動態(tài)適應需求。

      從表5可以看到,隨著選擇比例的增加,集成分類器的性能也有所提高,在選擇40%基分類器的時候達到最優(yōu),然后繼續(xù)增加選取比例時,集成分類器的性能則是下降,各項評價指標在不同選擇比例下詳細的變化情況見圖4所示。

      由上面實驗數(shù)據(jù)可以看到,采用AdaBoost算法、C4.5算法、OBG算法及本文所提算法的實驗結(jié)果都比較差,尤其是準確率較低。從表1實驗數(shù)據(jù)集分布情況可以看到,訓練數(shù)據(jù)集中的正常行為數(shù)據(jù)要要多于異常行為數(shù)據(jù),樣本數(shù)量比約為2:1,而在測試集中,有少量的正常行為數(shù)據(jù)和大量的異常行為數(shù)據(jù),樣本比例約為1:4.5,可以看到訓練數(shù)據(jù)集和測試數(shù)據(jù)的分布存在較大差異,這是導致四種算法分類性能下降的原因,為了驗證在相同分布的數(shù)據(jù)集上四種方法的性能,訓練集不變,然后從20%訓練集中隨機抽取3000作為測試數(shù)據(jù),則得到的ROC曲線如圖5所示,其中AdaBoost和C4.5算法對全部的訓練進行訓練,讓阿輝對3000條測試數(shù)據(jù)進行測試的結(jié)果,而IILA和OBG算法則是用100條作為初始數(shù)據(jù),對剩余1000進行增量學習的實驗結(jié)果??梢钥吹剿姆N算法的分類性能都比較好,AdaBoost和C4.5算法有較好的性能,IILA的實驗性能要優(yōu)于OBG算法,并且本文算法用時要遠遠小于OBG算法。

      4 結(jié) 論

      針對在SND入侵檢測中,新的入侵方法層出不窮,導致檢測系統(tǒng)無法識別新的入侵行為的問題,提出了增量集成學習算法,并把該算法應用到網(wǎng)絡入侵檢測中,通過算法的實驗結(jié)果對比可以看到,在面對動態(tài)收集數(shù)據(jù)的情況下,算法有不錯的分類性能。該算法是基于塊的增量學習,如何實現(xiàn)基于數(shù)據(jù)流的在線學習,并應用到SDN檢測中將是下階段的主要工作。

      參考文獻

      [1] 張朝昆,崔勇,唐翯翯,等.軟件定義網(wǎng)絡(SDN)研究進展[J].軟件學報,2015,26(1):62-81.

      [2] 張燕.基于協(xié)同增量支持向量機的網(wǎng)絡入侵檢測[J].河南科學,2018,36(1):11-16.

      [3] LI Y, XIA J, ZHANG S, et al. An efficient intrusion detection system based on support vector machines and gradually features removal method[J]. Expert Systems with Applications, 2012, 39(1):424-430

      [4] BOHARA B, BHUYAN J, WU F,et al. A survey on the use of data clustering for intrusion detection system in cyber security[J]. International Journal of Network Security & Its Applications, 2020, 12(1):1-18.

      [5] VIJAYANAND R, DEVARAJ D. A novel feature selection method using whale optimization algorithm and genetic operators for intrusion detection system in wireless mesh network[J]. IEEE Access, 2020(99):1-11.

      [6] 張陽玉,呂光宏,李鵬飛.SDN網(wǎng)絡入侵檢測系統(tǒng)的深度學習方法綜述[J].計算機應用,2019,39(S2):147-151.

      [7] 夏景明,李沖,談玲,等.改進的隨機森林分類器網(wǎng)絡入侵檢測方法[J].計算機工程與設計,2019,40(8):2146-2150.

      [8] 黃金超,馬穎華,齊開悅,等.一種基于集成學習的入侵檢測算法[J].上海交通大學學報,2018,52(10):1382-1387.

      [9] 胡健,蘇永東,黃文載,等.基于互信息加權(quán)集成遷移學習的入侵檢測方法[J].計算機應用,2019,39(11):3310-3315.

      [10]張燕,杜紅樂.基于異構(gòu)距離的集成分類算法研究[J].智能系統(tǒng)學報,2019,14(4):733-742.

      [11]ZHOU J X, ZHOU Z H, SHEN X H, et al. A selective constructing approach to neural network ensemble[J].Journal of Calculate Research & Development,2000,37(9):1039-1044

      [12]DU H L, ZHANG Y. Network anomaly detection based on selective ensemble algorithm[J]. Journal of Supercomputing,2020. https://doi.org/10.1007/s11227-020-03374-z

      [13]黎銘,周志華.基于多核集成的在線半監(jiān)督學習方法[J].計算機研究與發(fā)展,2008(12):2060-2068.

      [14]MAURYA C K, TOSHNIWAL D, VENKOPARAO G V. Online anomaly detection via class-imbalance learning[C]. Eighth International Conference on Contemporary Computing. IEEE, 2015.

      [15]SINGH R, KUMAR H, SINGLA R K. An intrusion detection system using network traffic profiling and online sequential extreme learning machine[J]. Expert Systems with Application, 2015, 42(22上):8609-8624.

      [16]DU H L, ZHANG Y, KE G, et al.Online ensemble learning algorithm for imbalanced data stream[J]. Applied Soft Computing,2021,107,https://doi.org/10.1016/j.asoc,2021.107378.

      [17]OZA N C, RUSSELL S. Online bagging and boosting[C].IEEE International Conference on Systems. IEEE, 2006.

      [18]王濤,陳鴻昶,程國振.軟件定義網(wǎng)絡及安全防御技術(shù)研究[J].通信學報,2017,38(11):133-160.

      猜你喜歡
      集成學習軟件定義網(wǎng)絡入侵檢測
      基于稀疏編碼器與集成學習的文本分類
      基于屬性權(quán)重的Bagging回歸算法研究
      業(yè)務功能鏈技術(shù)及其應用探析
      針對大規(guī)模軟件定義網(wǎng)絡的子域劃分及控制器部署方法
      一種新的SDN架構(gòu)下端到端網(wǎng)絡主動測量機制
      基于入侵檢測的數(shù)據(jù)流挖掘和識別技術(shù)應用
      藝術(shù)類院校高效存儲系統(tǒng)的設計
      基于網(wǎng)絡規(guī)劃識別的入侵檢測結(jié)構(gòu)
      超高吞吐率Wi—Fi融合應用新技術(shù)分析
      移動通信(2016年20期)2016-12-10 09:22:49
      基于關(guān)聯(lián)規(guī)則的計算機入侵檢測方法
      隆昌县| 三河市| 乐平市| 濮阳县| 平武县| 澎湖县| 白河县| 山阴县| 太仆寺旗| 晋江市| 通城县| 南江县| 黄陵县| 柯坪县| 崇礼县| 白朗县| 和硕县| 同心县| 拉萨市| 剑河县| 彭州市| 平江县| 德兴市| 睢宁县| 宣武区| 定安县| 来凤县| 玉树县| 攀枝花市| 南雄市| 玉林市| 余江县| 马公市| 温州市| 微博| 绵阳市| 镇沅| 始兴县| 开阳县| 灵台县| 安徽省|