李志峰,高玉琢
(寧夏大學 信息工程學院,寧夏 銀川 750000)
網(wǎng)絡攻擊會給用戶帶來巨大的損失,其影響范圍廣、危害大,有些損失和破壞甚至不可恢復,入侵攻擊就是其中最主要的網(wǎng)絡攻擊[1-2]。保護計算機免受攻擊的主要方法是利用入侵檢測系統(tǒng)進行異常檢測和響應(如圖1所示),確保網(wǎng)絡環(huán)境的安全。
圖1 入侵檢測響應流程
入侵檢測數(shù)據(jù)集數(shù)據(jù)規(guī)模較為龐大,數(shù)據(jù)的維度也很高,而系統(tǒng)的檢測性能很大一部分依賴于數(shù)據(jù)樣本的特征選擇。在機器學習中,高維度的數(shù)據(jù)常常會加大模型計算的復雜度,一些不重要的特征也會干擾模型的準確率,所以在入侵檢測的相關技術研究中,很多研究者都對入侵檢測的數(shù)據(jù)特征進行了分析處理。在入侵檢測中對特征的處理一般分為兩個方向,一是,在原始數(shù)據(jù)的基礎上構建具有代表性的新特征;二是,使用機器學習中常使用到的特征選擇方法。其作用是通過特定的算法選擇出最優(yōu)的特征子集,利用該子集構建分類模型,從而使模型能夠實現(xiàn)相較于原始模型更好的預測精度,提高模型的計算效率和泛化能力。該種方法在實際的應用中更為廣泛,特征選擇基本框架如圖2所示。
圖2 特征選擇基本框架
常用的特征選擇算法分為過濾式、包裹式和嵌入式。過濾式方法是通過計算直接對所有特征進行篩選,選擇出相對較優(yōu)的特征構建特征子集,然后將特征子集送給后續(xù)的模型進行訓練。該種方法的特征選擇與具體的模型無關,僅關注入侵數(shù)據(jù)的特征本身。包裹式方法是根據(jù)后續(xù)模型的分類性能來進行數(shù)據(jù)特征的選擇,需要通過不斷的訓練進行最優(yōu)的特征子集構建,選出的特征子集較過濾式更優(yōu),缺點是進行特征選擇的時候需要反復的訓練模型,計算開銷較大且模型訓練時間較長。同時該方法泛化能力差,一旦更換后續(xù)的模型,需要重新進行新的特征子集選擇。嵌入式方法是模型在訓練過程中自動地進行特征選擇。
在實際的應用中,根據(jù)所使用的檢測模型可以合理地選擇不同的特征選擇方法和算法,從而有效地提高檢測效果。
按照檢測方法的不同可以將入侵檢測分為異常檢測和誤用檢測。異常檢測需根據(jù)用戶的正常行為特征建立特征數(shù)據(jù)庫,在實際中根據(jù)獲得的用戶行為與數(shù)據(jù)庫中的特征進行比較,如果偏離到閾值范圍之外就判定為異常。誤用檢測是根據(jù)存儲在特征庫的入侵行為來判斷獲得的用戶行為的性質,特征庫里包含的攻擊特征作為檢測的判斷依據(jù)。
異常檢測通過生成異常行為的集合,從中檢測真正的攻擊行為,但是在實際情況下,檢測到的異常行為或者正常行為不一定準確,會出現(xiàn)不是攻擊行為但表現(xiàn)出不正常的情況,或者是攻擊行為但沒有被檢測出來被系統(tǒng)誤判為正常的情況等。異常檢測模型如圖3所示。異常檢測的優(yōu)點是一定程度上可以檢測出新的入侵類型,因為它的判斷依據(jù)與入侵流量的特征無關,而缺點就是誤檢率較高,因為不能準確定義系統(tǒng)中的正常行為模式,同時它不能分辨具體攻擊類型,只能檢測出是否異常。
圖3 異常檢測模型
誤用檢測是根據(jù)已知攻擊行為具備的相應特征來判斷攻擊類別。首先對已知的攻擊行為進行分析,接著將提取的規(guī)則建成一個入侵規(guī)則庫,對收集的數(shù)據(jù)進行分析時就將該數(shù)據(jù)信息與入侵規(guī)則庫中的規(guī)則進行匹配,如果符合就判定為攻擊行為[3]。誤用檢測模型如圖4所示。誤用檢測優(yōu)點突出,該方法的準確率高,對于已知攻擊的檢測較為準確,但這種方法檢測的效果與數(shù)據(jù)庫是否足夠完備密切相關,需要即時更新入侵檢測數(shù)據(jù)庫以提高檢測率,缺點是這種檢測方法無法發(fā)現(xiàn)未知的攻擊行為。
圖4 誤用檢測模型
網(wǎng)絡入侵數(shù)據(jù)中混雜著多種類型的數(shù)據(jù),對數(shù)據(jù)進行處理分類時,使用單一的分類器很難進行準確的分類,且單一的分類器研究不能在當前數(shù)據(jù)海量且復雜的入侵攻擊環(huán)境中起到良好的檢測效果,存在較高的誤報率。在檢測性能方面,當前已有一些較好的研究可以針對特定類型的入侵攻擊有較高的檢測準確率,但模型難以檢測到新的未知類型的攻擊,模型缺乏良好的泛化能力。為此,采用混合級聯(lián)的方法可在一定程度上解決以上問題。
針對入侵檢測數(shù)據(jù)維度高,各特征屬性之間存在較大的相關性,數(shù)據(jù)冗余導致檢測效率低,影響算法時空復雜度等問題,可以在特征降維方面進行研究。從特征選擇角度出發(fā),采用基于機器學習的特征選擇方法,如過濾式方法中的CFS算法、Fisher方法、Relief方法;包裹式方法中的LVW方法、FFSR方法和序列搜索算法等去除與分類效果不相關的冗余特征屬性[4],實現(xiàn)特征擇優(yōu),從而提高檢測效率。
針對現(xiàn)有的算法大多不能在檢測率和誤報率之間找到一個很好的權衡點,算法泛化能力差,對未知類型的攻擊檢測存在大量漏報,從而導致算法的整體性能下降的問題,可以從多個分類器混合級聯(lián)的角度出發(fā),將基于異常和基于誤用的檢測方法采用混合級聯(lián)的方法應用在入侵檢測系統(tǒng)中,從而兼顧這兩種檢測方法的優(yōu)點。在實際應用中,首先,采用合適的特征選擇方法選出最優(yōu)的特征子集。然后,考慮采用分類效果較好的分類器進行基于誤用的檢測,如基于信息增量的隨機森林分類方法,將異常的數(shù)據(jù)初步篩出,但在該部分檢測出的正常數(shù)據(jù)中還存在著未被檢測出的異常數(shù)據(jù),對此構建混合級聯(lián)的檢測方式,將第一步檢測出的認為正常的數(shù)據(jù)送入級聯(lián)的分類器中重新檢測,確保第一個分類器在分類誤報率較高的情況下,通過第二個分類器進行分類后能達到較高的檢測準確率以及較低的誤報率。最后,結合第一級分類器的部分分類結果,得到最終的全部分類結果。
實驗主要采用KDD cup99和UNSW_NB15數(shù)據(jù)集,實驗中一般選取檢測準確率(ACC)、精確率(PRE)、召回率(RE)、誤報率(FAR)4個評價指標。計算公式如下:
其中,True Positive(TP)為正確識別的正樣本數(shù),True Negative(TN)為正確識別的負樣本數(shù),False Positive(FP)為錯誤識別的正樣本數(shù),False Negative(FN)為錯誤識別的負樣本數(shù)。
此外,還可以通過分析F1值,即精確值和召回率的調和均值來評判所提算法的綜合性能,計算公式如下:
采用合適的特征選擇算法和級聯(lián)分類器的方法在一定程度上能夠提高算法的檢測性能,但也可能會增加檢測時間。在實際研究中,可嘗試選擇AdaBoost等強分類器,也可以從算法優(yōu)化的角度,對特征選擇算法和分類算法進行優(yōu)化改進,從而實現(xiàn)在保證算法性能的同時縮短時間。