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