周穎
如今人們的生活越來(lái)越離不開(kāi)網(wǎng)絡(luò),網(wǎng)絡(luò)安全的重要性日益凸顯,而網(wǎng)絡(luò)入侵檢測(cè)是網(wǎng)絡(luò)安全的重中之重,已經(jīng)成為許多現(xiàn)代網(wǎng)絡(luò)應(yīng)用的重要安全工具。入侵檢測(cè)系統(tǒng)入侵檢測(cè)系統(tǒng)的任務(wù)是識(shí)別、分類,并對(duì)惡意的、可疑的或偏離公認(rèn)標(biāo)準(zhǔn)的活動(dòng)做出反應(yīng),入侵檢測(cè)系統(tǒng)包含特征選擇和訓(xùn)練樣本兩個(gè)模塊。有效的特征選擇(Feature Selection,F(xiàn)S)可為入侵檢測(cè)從海量數(shù)據(jù)中篩除大量的噪聲,選出有效的關(guān)鍵特征,在訓(xùn)練樣本中使用不同的算法對(duì)于不同量級(jí)的數(shù)據(jù)集會(huì)有顯著差異。為了提高入侵檢測(cè)系統(tǒng)的性能,采用PCA和KNN算法進(jìn)行特征選擇,在KDD-CPU99入侵檢測(cè)的大量實(shí)驗(yàn)結(jié)果表明,KNN算法表現(xiàn)優(yōu)異,可提高入侵檢測(cè)系統(tǒng)的準(zhǔn)確性、降低誤報(bào)率。
網(wǎng)絡(luò)級(jí)的入侵檢測(cè)可以分為數(shù)據(jù)包的捕獲、預(yù)處理以及對(duì)數(shù)據(jù)包進(jìn)行攻擊檢測(cè)的過(guò)程。系統(tǒng)通過(guò)分析網(wǎng)絡(luò)流量或系統(tǒng)審計(jì)紀(jì)錄等,來(lái)發(fā)現(xiàn)網(wǎng)絡(luò)或系統(tǒng)中是否有違反安全策略的攻擊行為,以便系統(tǒng)管理員采取有效的措施。因系統(tǒng)要對(duì)網(wǎng)絡(luò)中的海量數(shù)據(jù)進(jìn)行分析,必然會(huì)影響系統(tǒng)處理的實(shí)時(shí)性,降低了系統(tǒng)的檢測(cè)速度,影響系統(tǒng)的檢測(cè)效果,因此在保證檢測(cè)準(zhǔn)確率的前提下,如何提高入侵檢測(cè)速度成為當(dāng)前研究熱點(diǎn)。
特征選擇是有效檢測(cè)的重要技術(shù)之一,F(xiàn)S的重要性可以從兩方面來(lái)看:第一個(gè)方面是濾除噪聲,消除無(wú)關(guān)和冗余特征,由于數(shù)據(jù)集中有大量嘈雜、不相關(guān)或誤導(dǎo)性的特征,F(xiàn)S是強(qiáng)制性的;另一方面,F(xiàn)S可以被認(rèn)為是一個(gè)優(yōu)化問(wèn)題,其特征的最優(yōu)子集可更好地滿足期望??梢允褂媚承┰u(píng)估標(biāo)準(zhǔn)來(lái)衡量FS優(yōu)化的質(zhì)量,由于FS是一個(gè)難題,所以目前沒(méi)有完全適用的方法來(lái)找到它的最佳特征子集。
針對(duì)入侵檢測(cè)的特征選擇,研究人員已經(jīng)做了大量的研究工作,有人提出了基于粒子群優(yōu)化(Partical Swarm Optimization, PSO)算法的入侵檢測(cè)特征選擇方法;有人對(duì)網(wǎng)絡(luò)數(shù)據(jù)的特征選擇采用基于距離準(zhǔn)則的適應(yīng)度函數(shù)指導(dǎo)PSO的方法,此方法提高了分類算法質(zhì)量;有人將PSO算法與免疫思想相結(jié)合應(yīng)用于特征選擇,在一定程度上提高了PSO算法的收斂速度;有人提出基于量子粒子群優(yōu)化(Quantum Partical Swarm Optimization, QPSO)的入侵特征選擇方法,實(shí)現(xiàn)網(wǎng)絡(luò)入侵特征子集的優(yōu)化選擇,主要依靠QPSO算法有較好的全局尋優(yōu)能力;有人提出基于KNN算法及禁忌搜索算法的特征選擇方法在入侵檢測(cè)中的應(yīng)用研究;有人分別將入侵檢測(cè)中的特征選擇問(wèn)題看作多目標(biāo)優(yōu)化問(wèn)題來(lái)處理,該方法在顯著提高檢測(cè)算法效率的同時(shí),檢測(cè)精度也得到提高;有人提出的入侵檢測(cè)特征選擇算法是基于遺傳算法的,算法在保證特征分類精度和確保入侵檢測(cè)漏檢率、誤檢率盡量小的前提下明顯提高了入侵檢測(cè)的效率。但以上特征選擇算法均存在容易陷入局部最優(yōu)、迭代后期收斂速度慢的缺陷。
KDD-CPU99入侵檢測(cè)方法采用蟻群優(yōu)化算法和分類器來(lái)選擇識(shí)別新入侵的重要特征,解決了入侵檢測(cè)問(wèn)題領(lǐng)域的降維問(wèn)題。實(shí)驗(yàn)是在NSL-KDD數(shù)據(jù)集上進(jìn)行和確定的,該方法從41個(gè)特征中選擇了24個(gè),準(zhǔn)確率為98.9 %,誤報(bào)率為2.59 %。結(jié)果表明該模型對(duì)入侵檢測(cè)系統(tǒng)是有效的。
參考以上可以得出結(jié)論,一些特征在入侵檢測(cè)中非常重要,此外證明,沒(méi)有單一的通用分類器能夠?qū)λ泄纛愋瓦M(jìn)行分類。相反,在某些情況下,特定的分類器比其他分類器性能更好。因此,這些工作促進(jìn)了入侵檢測(cè)模型采用多分類器集成和融合,所以KDD-CPU99數(shù)據(jù)集作為入侵檢測(cè)模型的樣本數(shù)據(jù),并選擇BP神經(jīng)網(wǎng)絡(luò)等常用入侵檢測(cè)方法進(jìn)行性能對(duì)比分析,是兩種特征選擇與分類器融合選擇中的較優(yōu)模型。
KDD-CPU99數(shù)據(jù)集是在入侵檢測(cè)領(lǐng)域中廣泛使用的數(shù)據(jù)集,主要分為訓(xùn)練數(shù)據(jù)集和測(cè)試數(shù)據(jù)集兩部分。該數(shù)據(jù)集提供了從一個(gè)模擬美國(guó)空軍局域網(wǎng)上采集的9個(gè)星期的網(wǎng)絡(luò)連接數(shù)據(jù),其中訓(xùn)練數(shù)據(jù)集包含了7個(gè)星期的大約500萬(wàn)條連接記錄,測(cè)試數(shù)據(jù)集包含了2個(gè)星期的大約200萬(wàn)條連接記錄,其中每個(gè)記錄包含41個(gè)特征。
由于KDD-CPU99數(shù)據(jù)集規(guī)模比較大,在普通的筆記本電腦上運(yùn)行計(jì)算耗時(shí)過(guò)長(zhǎng),為此,選擇KDD官方網(wǎng)站提供的抽取10%的數(shù)據(jù)集(kddcup.testdata.unlabeled_10_percent.csv)和測(cè)試子集(corrected)進(jìn)行仿真實(shí)驗(yàn)。實(shí)驗(yàn)運(yùn)行的機(jī)器環(huán)境如下:Intel酷睿i5-10210U處理器,1.6 GHz基礎(chǔ)頻率,睿頻4.2 GHz,運(yùn)算性能為4核8線程。
神經(jīng)網(wǎng)絡(luò)訓(xùn)練結(jié)果為Instructions for updating:this property should not be used in TensorFlow 2.0, as updates are applied automatically.0.0008896411208646513 0.99004745。其中Epoch代表迭代次數(shù),在第9層神經(jīng)網(wǎng)絡(luò)中已經(jīng)達(dá)到丟失數(shù)據(jù)率為0.21 %,準(zhǔn)確率達(dá)到97.56 %。
KNN訓(xùn)練后準(zhǔn)確率達(dá)到了100 %,宏平均是對(duì)每個(gè)類別的精準(zhǔn)、召回和F1加和求平均,達(dá)到了70 %。
從以上實(shí)驗(yàn)可以發(fā)現(xiàn),使用PCA進(jìn)行特征選擇和BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練樣本進(jìn)行預(yù)測(cè),與使用KNN進(jìn)行特征選擇與樣本預(yù)測(cè)均在KDD官方網(wǎng)站提供的抽取10 %的數(shù)據(jù)集上有良好的表現(xiàn)。KNN的表現(xiàn)較為優(yōu)秀,可能由于實(shí)驗(yàn)采用的數(shù)據(jù)集僅抽取了KDDcup99數(shù)據(jù)集中的一小部分,而通過(guò)以往的文獻(xiàn)可知,KNN在數(shù)據(jù)集較小時(shí)表現(xiàn)更為優(yōu)異,神經(jīng)網(wǎng)絡(luò)在大數(shù)據(jù)集下表現(xiàn)更為突出。
在網(wǎng)絡(luò)入侵檢測(cè)建模過(guò)程中,特征和訓(xùn)練樣本的選擇對(duì)于網(wǎng)絡(luò)檢測(cè)效果具有重要的影響。為此,在小數(shù)據(jù)集的情況下,對(duì)比基于TensorFflow平臺(tái)的BP神經(jīng)網(wǎng)絡(luò)和PCA特征選取與KNN分類器組合的網(wǎng)絡(luò)入侵檢測(cè)模型,實(shí)驗(yàn)結(jié)果表明,PCA-KNN提高了入侵檢測(cè)的正確率,宏平均達(dá)到了70%,證明了該方法的有效性和可行性。