金志剛, 吳 桐
(天津大學(xué)電氣自動(dòng)化與信息工程學(xué)院, 天津 300072)
近年來(lái),網(wǎng)絡(luò)空間安全形勢(shì)日益復(fù)雜嚴(yán)峻,網(wǎng)絡(luò)攻擊手段日趨智能化、自動(dòng)化。據(jù)Distil Networks發(fā)布的《2020惡意機(jī)器流量報(bào)告》[1],在2019年,全網(wǎng)流量中只有62.8%為人類流量,而在機(jī)器產(chǎn)生的流量中,惡意流量占全網(wǎng)流量的24.1%,其中高級(jí)別惡意機(jī)器流量(advanced persistent bots,APBs)通過(guò)混合使用如隨機(jī)IP地址、匿名代理等各種偽裝方法實(shí)現(xiàn)自動(dòng)化攻擊,占惡意流量的73.7%。
目前,采取數(shù)據(jù)加密、身份認(rèn)證、訪問(wèn)控制、防火墻等技術(shù)建立的傳統(tǒng)靜態(tài)安全模型逐漸暴露出其局限性,而入侵檢測(cè)技術(shù)可在計(jì)算機(jī)系統(tǒng)中或者若干網(wǎng)絡(luò)節(jié)點(diǎn)上收集網(wǎng)絡(luò)實(shí)時(shí)數(shù)據(jù)信息和主機(jī)數(shù)據(jù)信息,并采取主動(dòng)干預(yù)的響應(yīng)手段,可在入侵行為發(fā)生或造成危害之前,及時(shí)識(shí)別攻擊者和入侵行為并采取響應(yīng)措施[2]。
盡管入侵檢測(cè)技術(shù)目前已得到廣泛應(yīng)用,但其在事件分析和警報(bào)處理的過(guò)程中仍存在一定的缺陷[3]。入侵檢測(cè)規(guī)則一般由安全人員手動(dòng)匹配設(shè)置,通常為了保證高捕獲率就會(huì)降低檢測(cè)規(guī)則匹配的門檻,這導(dǎo)致入侵檢測(cè)系統(tǒng)可能依據(jù)固定規(guī)則產(chǎn)生大量警報(bào),入侵檢測(cè)系統(tǒng)的誤報(bào)率和漏報(bào)率因此增加,并且處理高誤報(bào)率的安全事件也需要耗費(fèi)大量的時(shí)間精力,增加人力成本。與此同時(shí),機(jī)器學(xué)習(xí)技術(shù)在近年來(lái)快速發(fā)展[4-5],在自然語(yǔ)言處理[6]、圖像分割[7]、目標(biāo)檢測(cè)[8]等領(lǐng)域都有相應(yīng)成果落地實(shí)踐,并取得良好的效果。因此,針對(duì)上述應(yīng)用場(chǎng)景,為提高入侵檢測(cè)中的檢測(cè)率和適應(yīng)性,目前網(wǎng)絡(luò)安全領(lǐng)域中學(xué)術(shù)界和工業(yè)界的重點(diǎn)研究趨勢(shì)便是將機(jī)器學(xué)習(xí)與入侵檢測(cè)技術(shù)相結(jié)合[9-10],以提高系統(tǒng)的可用性和對(duì)不同攻擊場(chǎng)景的靈活適應(yīng)能力,進(jìn)一步保障網(wǎng)絡(luò)空間安全。
李元兵[11]等人提出將神經(jīng)網(wǎng)絡(luò)應(yīng)用于異常入侵檢測(cè)系統(tǒng),通過(guò)對(duì)程序行為進(jìn)行動(dòng)態(tài)建模,并使用Apache服務(wù)器進(jìn)行驗(yàn)證。Kim[12]等人使用長(zhǎng)短期記憶(long short term memory, LSTM)網(wǎng)絡(luò)模型并使用超參數(shù)調(diào)優(yōu)技術(shù),在KDD CUP 99數(shù)據(jù)集上得到的檢測(cè)率為98.88%,準(zhǔn)確率為96.93%,但同時(shí)誤報(bào)率達(dá)到了10.04%。Putchala[13]通過(guò)將門控循環(huán)單元(gated recurrent unit,GRU)模型應(yīng)用于物聯(lián)網(wǎng)領(lǐng)域的惡意流量檢測(cè),準(zhǔn)確率高于99%,但僅在KDD CUP 99數(shù)據(jù)集上進(jìn)行測(cè)試。高妮[14]等人提出將深度信念網(wǎng)絡(luò)應(yīng)用于入侵檢測(cè)系統(tǒng)中,基于NSL-KDD數(shù)據(jù)集的準(zhǔn)確率約為98%。Aygun[15]等人將隨機(jī)去噪自編碼器應(yīng)用于惡意流量檢測(cè),得到的準(zhǔn)確率較低,為88.65%,無(wú)法滿足當(dāng)前形勢(shì)下對(duì)惡意流量的檢測(cè)需求。饒鮮[16]等人提出一種基于信息熵的入侵檢測(cè)特征選擇方法,可減少系統(tǒng)的內(nèi)存占用,但其使用的KDD CUP 99數(shù)據(jù)集過(guò)于陳舊,同時(shí)系統(tǒng)性能也有所下降。針對(duì)CIC-IDS-2018數(shù)據(jù)集,Hooge[17]等人對(duì)比了多種監(jiān)督學(xué)習(xí)算法,并在模型屬性的特征空間中使用了特征縮放技術(shù),最終使用基于決策樹的XGBoost模型作為分類器,準(zhǔn)確率高達(dá)99%,但同時(shí)召回率只有79%。Kim[18]等人使用卷積神經(jīng)網(wǎng)絡(luò)同時(shí)訓(xùn)練來(lái)自KDD CUP 99和CIC-IDS-2018數(shù)據(jù)集中的Dos數(shù)據(jù),取得了99.99%的精準(zhǔn)率,但準(zhǔn)確率和召回率較低,分別只達(dá)到81.75%和82.25%。Lin[19]等人將注意力機(jī)制與LSTM相結(jié)合,自動(dòng)提取與目標(biāo)結(jié)果最相關(guān)的信息并賦予權(quán)重,同時(shí)引入了欠采樣和過(guò)采樣技術(shù),最終模型準(zhǔn)確率為96.2%,精準(zhǔn)率和召回率為96%。
為解決目前入侵檢測(cè)技術(shù)中數(shù)據(jù)集維數(shù)過(guò)高、數(shù)據(jù)冗余度較高導(dǎo)致機(jī)器學(xué)習(xí)模型計(jì)算量大、入侵檢測(cè)系統(tǒng)效率下降等問(wèn)題[20],本文提出了一種基于相關(guān)性分析的特征選取(feature selection based on correlation analysis, FSCA)和樹狀Parzen估計(jì)(tree Parzen estimator, TPE)優(yōu)化的隨機(jī)森林入侵檢測(cè)(簡(jiǎn)稱為FSCA-TPE-RF)方法,主要分為3個(gè)階段:首先,通過(guò)皮爾遜相關(guān)系數(shù)(Pearson correlation coefficient, PCC)[21]計(jì)算特征數(shù)據(jù)相關(guān)性矩陣,對(duì)數(shù)據(jù)集特征關(guān)系進(jìn)行深入分析,通過(guò)缺失值比率、低方差濾波和高相關(guān)濾波3種特征選取方法對(duì)數(shù)據(jù)集進(jìn)行降維。同時(shí),使用基于序列模型優(yōu)化(sequential model-based global optimization, SMBO)算法的TPE算法,優(yōu)化隨機(jī)森林算法的超參數(shù),并根據(jù)數(shù)據(jù)權(quán)重調(diào)整樣本數(shù)量。綜上,本文提出了一種FSCA-TPE-RF方法,并通過(guò)多組對(duì)比實(shí)驗(yàn)對(duì)算法效果進(jìn)行了驗(yàn)證。
CIC-IDS-2018數(shù)據(jù)集[22-23]由Canadian Institute for Cybersecurity采集發(fā)布,其特點(diǎn)在于使用了亞馬遜計(jì)算平臺(tái)(Amazon web services, AWS)中常見的網(wǎng)絡(luò)拓?fù)?位于AWS上的服務(wù)器集群中共有5個(gè)子網(wǎng),共計(jì)420臺(tái)計(jì)算機(jī)和30臺(tái)服務(wù)器,涵蓋了大部分網(wǎng)絡(luò)設(shè)備及包括Windows和Ubuntu在內(nèi)的常見操作系統(tǒng)的不同版本。
針對(duì)現(xiàn)有數(shù)據(jù)集暴露出來(lái)的各種缺陷和問(wèn)題,Gharib[24]等人于2016年提出一個(gè)全面完整的入侵檢測(cè)數(shù)據(jù)集評(píng)估框架(intrusion detection dataset evaluation framework, IDDEF),而CIC-IDS-2018數(shù)據(jù)集與KDD CUP 99等其他入侵檢測(cè)數(shù)據(jù)集相比,滿足了所有11種指標(biāo),其數(shù)據(jù)更加接近真實(shí)世界的網(wǎng)絡(luò)流量。
本文使用PCC計(jì)算特征對(duì)之間的相關(guān)程度。協(xié)方差定義為E{[X-E(X)][Y-E(Y)]},記作Cov(X,Y),即兩個(gè)變量X和Y與各自期望之差的乘積的期望,期望在離散型數(shù)據(jù)中通常為均值。再利用二者分別和E(X)與E(Y)的差求協(xié)方差。相關(guān)系數(shù)為Cov(X,Y)/[σ(X)σ(Y)],記作ρX,Y,其中σ(X)和σ(Y)分別表示X和Y的標(biāo)準(zhǔn)差,因此相關(guān)系數(shù)即為協(xié)方差與標(biāo)準(zhǔn)差的商值,值域?yàn)閇-1,1]。總體相關(guān)系數(shù)的計(jì)算公式為
(1)
接下來(lái),計(jì)算數(shù)據(jù)集中每個(gè)特征同所有特征之間的協(xié)方差,得到協(xié)方差矩陣,矩陣中的每個(gè)元素都對(duì)應(yīng)特征間的協(xié)方差。協(xié)方差矩陣進(jìn)一步計(jì)算后得到相關(guān)系數(shù)矩陣,如圖1所示,該數(shù)據(jù)集中體現(xiàn)多對(duì)特征對(duì)間擁有的高度相關(guān)性,這些特征即為冗余特征,在使用時(shí)不會(huì)增強(qiáng)模型訓(xùn)練效果,但可能會(huì)引入噪聲干擾。
圖1 相關(guān)系數(shù)矩陣Fig.1 Correlation coefficient matrix
本文所使用的算法模型流程圖如圖2所示。首先,對(duì)數(shù)據(jù)集進(jìn)行數(shù)據(jù)清洗,篩選掉機(jī)器學(xué)習(xí)模型中無(wú)法使用的數(shù)據(jù);接下來(lái),通過(guò)可視化分析結(jié)果,對(duì)數(shù)據(jù)集進(jìn)行基于相關(guān)性分析的特征選取,包括缺失值比率、低方差濾波和高相關(guān)濾波3個(gè)過(guò)程,生成數(shù)據(jù)集的特征子集;最后,針對(duì)數(shù)據(jù)集特征子集,使用TPE算法優(yōu)化隨機(jī)森林參數(shù),并根據(jù)模型性能最佳時(shí)的參數(shù)組對(duì)性能指標(biāo)進(jìn)行分析。
圖2 算法流程圖Fig.2 Algorithm flow chart
算法中的FSCA流程包括數(shù)據(jù)清洗和特征選取兩部分,數(shù)據(jù)清洗部分包括對(duì)空值、空行、無(wú)窮大值以及無(wú)用特征在內(nèi)的無(wú)用數(shù)據(jù)進(jìn)行清洗,對(duì)非數(shù)值字符特征進(jìn)行數(shù)值化替換等操作。特征選取部分依據(jù)數(shù)據(jù)集特征分析結(jié)果[25],共包含缺失值比率、低方差濾波和高相關(guān)濾波3個(gè)步驟。
(1) 缺失值比率。數(shù)據(jù)集缺失是數(shù)據(jù)分析中常見問(wèn)題之一。其中共有6列特征數(shù)據(jù)中含有缺失值,由于其中單一文件中包含的4列特征流ID、源IP、目的IP和源端口在其他文件中沒有出現(xiàn),無(wú)法用于整體模型的訓(xùn)練,因此刪除相關(guān)特征列。同時(shí),流字節(jié)率和流數(shù)據(jù)包速率特征中包含無(wú)窮值,占總數(shù)據(jù)的比率分別為2.16%和5.74%,因此使用平均值填充的方法,根據(jù)該特征其他對(duì)象取值的平均值對(duì)該缺失特征值進(jìn)行補(bǔ)齊填充。
(2) 低方差濾波。低方差濾波假定變化非常小的特征列包含的信息量也相對(duì)較小,即當(dāng)特征的自方差很小或?yàn)?時(shí),這些特征數(shù)據(jù)將不會(huì)對(duì)目標(biāo)變量的預(yù)測(cè)產(chǎn)生任何影響,對(duì)于模型訓(xùn)練來(lái)說(shuō)沒有價(jià)值[26]。對(duì)數(shù)據(jù)集中所有特征的自方差進(jìn)行計(jì)算,并過(guò)濾出8個(gè)自方差值為0的特征,分別為平均正向數(shù)據(jù)塊速率、平均反向數(shù)據(jù)塊速率、平均正向字節(jié)塊速率、平均反向字節(jié)塊速率、平均正向數(shù)據(jù)包數(shù)量、平均反向數(shù)據(jù)包數(shù)量、反向傳播數(shù)據(jù)包中PSH標(biāo)志次數(shù)和反向傳播數(shù)據(jù)包中URG標(biāo)志次數(shù)。由于自方差為0的特征不攜帶任何可用信息,因此將相關(guān)特征列從數(shù)據(jù)集中刪除。
(3) 高相關(guān)濾波。若數(shù)據(jù)集中兩列特征之間高度相關(guān),即變化趨勢(shì)相似,這意味著其可能包含相似的信息,在訓(xùn)練中只需保留相似列中的一列即可滿足機(jī)器學(xué)習(xí)分類器的需要。為了解決這類問(wèn)題,首先計(jì)算特征之間的相關(guān)性,并根據(jù)計(jì)算結(jié)果設(shè)置一個(gè)閾值,若相關(guān)性系數(shù)超過(guò)該閾值,則刪除其中一個(gè)特征。
本文使用層次聚類樹狀圖[27]的方式,對(duì)特征對(duì)的距離進(jìn)行可視化操作。層次聚類為聚類算法的一種,該方法的基本思想為:將n個(gè)數(shù)據(jù)分為一類,計(jì)算數(shù)據(jù)之間的距離和類間的距離,合并距離最近的兩類,并計(jì)算合并出的新類與其他類的距離;重復(fù)以上步驟,每次可減少一類,直至所有的樣品合并為一類,即通過(guò)計(jì)算每個(gè)特征對(duì)之間的距離創(chuàng)建一個(gè)有層次的嵌套樹。
(2)
將簇距離閾值設(shè)置為1,用于從特征簇中選取高相關(guān)特征對(duì),并剝離冗余特征,最終數(shù)據(jù)集特征降至30維,重新繪制特征相關(guān)性系數(shù)矩陣圖,如圖3所示。其中橫軸和縱軸均為降維后數(shù)據(jù)集不同種類的特征,可以看出,移除冗余特征后,數(shù)據(jù)集特征對(duì)的相關(guān)性得到明顯下降。
圖3 特征子集相關(guān)系數(shù)矩陣Fig.3 Feature subset correlation coefficient matrix
模型優(yōu)化是機(jī)器學(xué)習(xí)中最重要的環(huán)節(jié)之一,機(jī)器學(xué)習(xí)理論大部分分支都致力于對(duì)模型的優(yōu)化[28]。超參數(shù)是機(jī)器學(xué)習(xí)中模型訓(xùn)練前需要提前設(shè)置的參數(shù),與可通過(guò)訓(xùn)練得到的權(quán)重、偏差等模型參數(shù)不同,超參數(shù)定義的是機(jī)器學(xué)習(xí)模型的模型復(fù)雜性和學(xué)習(xí)能力等更高層次的概念。超參數(shù)優(yōu)化就是尋找機(jī)器學(xué)習(xí)模型在驗(yàn)證數(shù)據(jù)集上性能最佳時(shí)超參數(shù)的過(guò)程,其過(guò)程對(duì)模型優(yōu)化有重要影響,超參數(shù)優(yōu)化的公式為
(3)
式中:F(x)代表機(jī)器學(xué)習(xí)的目標(biāo)函數(shù);x*是F(x)取得最好結(jié)果時(shí)的參數(shù)。
常見的超參數(shù)優(yōu)化方法包括隨機(jī)搜索調(diào)參、手動(dòng)調(diào)參、網(wǎng)格化尋優(yōu)調(diào)參以及自動(dòng)超參數(shù)調(diào)優(yōu)。自動(dòng)超參數(shù)調(diào)優(yōu)相比其他調(diào)參方法,可通過(guò)形成超參數(shù)值與模型性能之間關(guān)系的知識(shí),并利用先驗(yàn)知識(shí)對(duì)下一組超參數(shù)的選擇進(jìn)行推斷,從而在尋找最佳超參數(shù)值的組合時(shí),盡量減少試驗(yàn)的次數(shù),提升實(shí)驗(yàn)效率。
目前大多數(shù)自動(dòng)超參數(shù)調(diào)優(yōu)方法都基于SMBO算法[29]。SMBO算法主要有如下幾個(gè)步驟。
步驟 1基于評(píng)估域H=(x1,F(x1),x2,F(x2),…,xn,F(xn)),確定超參數(shù)搜索空間,計(jì)算模型分布。
步驟 2確定機(jī)器學(xué)習(xí)模型的目標(biāo)函數(shù)F(x),該目標(biāo)函數(shù)應(yīng)與超參數(shù)密切相關(guān),每個(gè)超參數(shù)組都會(huì)在模型的目標(biāo)函數(shù)中取得一個(gè)分值,超參數(shù)優(yōu)化的目的即將這個(gè)分值最大化或最小化。
步驟 3建立目標(biāo)函數(shù)的替代函數(shù)。
步驟 4建立替代函數(shù)的指標(biāo),通常情況下為選擇函數(shù)(expected improvement, EI)標(biāo)準(zhǔn),評(píng)估超參數(shù)組在替代函數(shù)上的得分F(x*),作為選擇超參數(shù)的標(biāo)準(zhǔn)。
步驟 5將超參數(shù)組應(yīng)用到機(jī)器學(xué)習(xí)模型的訓(xùn)練中,并將(x*,F(x*))加入域H,更新模型分布;
步驟 6重復(fù)步驟4和步驟5,不斷推介x*,直到達(dá)到預(yù)設(shè)最大迭代次數(shù)或最大時(shí)長(zhǎng)?;赟MBO算法目前廣泛應(yīng)用于適應(yīng)度函數(shù)代價(jià)較大的場(chǎng)景中,例如適應(yīng)度函數(shù)F:χ→R的復(fù)雜度較高,而近似值F可通過(guò)最大化替代點(diǎn)x*計(jì)算,并可作為真實(shí)評(píng)估值時(shí)的可能取值。
本文使用TPE算法[30]作為評(píng)估域H生成目標(biāo)函數(shù)f的建模過(guò)程。TPE將超參數(shù)空間轉(zhuǎn)換為非參數(shù)密度分布,對(duì)p(x|y)過(guò)程進(jìn)行建模。轉(zhuǎn)換方式共有均勻分布轉(zhuǎn)換為截?cái)喔咚够旌戏植肌?duì)數(shù)均勻分布轉(zhuǎn)換為指數(shù)截?cái)喔咚够旌戏植己碗x散分布轉(zhuǎn)換為重加權(quán)離散分布3種。通過(guò)在非參數(shù)密度中使用不同的觀測(cè)值(x1,x2,…,xk)做替換處理,TPE的超參數(shù)組可以使用不同密度的學(xué)習(xí)算法。TPE使用兩種密度定義p(x|y),即
(4)
式中:l(x)由觀測(cè)值{xi}的目標(biāo)函數(shù)F(x)小于y*的部分組成;g(x)由觀測(cè)值{xi}的目標(biāo)函數(shù)F(x)大于等于y*的部分組成。TPE算法傾向于使用大于最佳觀測(cè)結(jié)果F(x)的y*,并使用y*作為觀測(cè)值y的分位點(diǎn)γ,使p(y (5) 最后,將γ=p(y γl(x)+(1-γ)g(x) (6) (7) 使用TPE算法對(duì)隨機(jī)森林進(jìn)行超參數(shù)調(diào)優(yōu),將精準(zhǔn)率作為TPE算法的目標(biāo)函數(shù),并將迭代次數(shù)設(shè)置為100。本文選取的超參數(shù)、取值范圍和最終取值結(jié)果如表1所示。 表1 超參數(shù)組取值范圍及結(jié)果 其中,超參數(shù)nr_estimators為隨機(jī)森林模型中決策樹的最大數(shù)量,超參數(shù)criterion為隨機(jī)森林模型對(duì)特征的評(píng)價(jià)標(biāo)準(zhǔn),超參數(shù)max_depth為決策樹的最大深度,超參數(shù)min_samples_leaf為隨機(jī)森林模型中葉子最少樣本數(shù),超參數(shù)min_samples_split為內(nèi)部節(jié)點(diǎn)再劃分所需最小樣本數(shù),超參數(shù)max_features為隨機(jī)森林允許單個(gè)決策樹適用的最大特征數(shù)量。 本文采取入侵檢測(cè)算法中常用的混淆矩陣作為評(píng)估分類性能的指標(biāo)?;煜仃囀且环N評(píng)價(jià)分類模型的形象化展示工具。混淆矩陣的每一列表示模型預(yù)測(cè)的樣本類別,每一行表示樣本的真實(shí)類別,一共有4個(gè)元素:真正類(true positive, TP),正常流量的正常樣本數(shù)量;假負(fù)類(false negative, FN),惡意流量的惡意樣本數(shù)量;假正類(false positive, FP),惡意流量的正常樣本數(shù)量,即誤報(bào);真負(fù)類(true negative, TN),正常流量的惡意樣本數(shù)量,即漏報(bào)。 基于混淆矩陣中的元素,本文使用以下指標(biāo)對(duì)檢測(cè)進(jìn)行評(píng)估,準(zhǔn)確率A、精準(zhǔn)率P、查全率R,F1值F1,所用公式為 (8) (9) (10) (11) 本文實(shí)驗(yàn)所使用的軟硬件平臺(tái)配置為Intel i7-8700 3.20GHz處理器,32G內(nèi)存,操作系統(tǒng)為Windows 10 Pro。 為驗(yàn)證本文提出的FSCA-TPE-RF方法的可行性,本文第1個(gè)實(shí)驗(yàn)首先通過(guò)scikit-learn機(jī)器學(xué)習(xí)庫(kù)中的Dummy Classifier函數(shù)構(gòu)建基線分類器,作為數(shù)據(jù)集分類器的性能基線,對(duì)比模型包括樸素貝葉斯、邏輯回歸、自適應(yīng)提升算法、RF等經(jīng)典機(jī)器學(xué)習(xí)算法,及文獻(xiàn)[17-19]中提出的入侵檢測(cè)模型,以準(zhǔn)確率(A)、精準(zhǔn)率(P)、查全率(R)和F1值作為模型性能的評(píng)價(jià)指標(biāo)。結(jié)果如表2所示。 表2 算法實(shí)驗(yàn)結(jié)果對(duì)比 可以看出FSCA-TPE-RF方法相比經(jīng)典機(jī)器學(xué)習(xí)算法,在各項(xiàng)指標(biāo)上均有不同程度提升。其中A分別提升了16.87%、3.20%、2.11%和2.11%,P分別提升了8.89%、7.70%、4.26%和3.16%,R分別提升了16.87%、11.49%、4.30%和3.19%,F1分別提升了14.12%、8.99%、3.19%和2.11%。相比對(duì)比文獻(xiàn)中提出的機(jī)器學(xué)習(xí)模型,整體指標(biāo)更加均衡,實(shí)用性更強(qiáng)。這是由于特征選擇過(guò)程中剔除的是對(duì)RF分類器影響不大的冗余特征,保留了對(duì)RF分類器影響較大的關(guān)鍵特征,并在結(jié)合TPE優(yōu)化后,選取了最適合的超參數(shù)組合進(jìn)一步提高模型性能。為驗(yàn)證FSCA可縮短機(jī)器學(xué)習(xí)模型的訓(xùn)練時(shí)間和測(cè)試時(shí)間,提升模型的檢測(cè)效率,本文第2個(gè)實(shí)驗(yàn)將FSCA-TPE-RF與其他經(jīng)典機(jī)器學(xué)習(xí)算法檢測(cè)效率進(jìn)行對(duì)比,訓(xùn)練集與測(cè)試集的數(shù)據(jù)數(shù)量分布與表2相同,實(shí)驗(yàn)結(jié)果如圖4所示,其中橫軸為不同的機(jī)器學(xué)習(xí)算法種類,縱軸為算法訓(xùn)練和測(cè)試所需的時(shí)間長(zhǎng)度,由于對(duì)比文獻(xiàn)中所使用數(shù)據(jù)集數(shù)據(jù)比例不完全相同,無(wú)法直接橫向比較,因此不納入對(duì)比范圍。 圖4 不同算法所需時(shí)間對(duì)比Fig.4 Comparison of the time reguired by different algorithm 可以看出,FSCA-TPE-RF方法相比于傳統(tǒng)RF,可將訓(xùn)練時(shí)間和測(cè)試時(shí)間分別縮短39.46%和60%,模型的檢測(cè)效率大幅提升,訓(xùn)練時(shí)間和測(cè)試時(shí)間也大幅低于線性回歸算法、自適應(yīng)提升算法等機(jī)器學(xué)習(xí)算法。因此,該方法更適用于當(dāng)前大規(guī)模高并發(fā)網(wǎng)路拓?fù)湎碌慕鼘?shí)時(shí)入侵檢測(cè)場(chǎng)景。需要注意的是,由于樸素貝葉斯算法默認(rèn)數(shù)據(jù)集特征之間相互獨(dú)立,邏輯和算法都相對(duì)簡(jiǎn)單穩(wěn)定,因此其訓(xùn)練時(shí)間和測(cè)試時(shí)間中都為最低。但如表2所示,樸素貝葉斯算法各項(xiàng)分類指標(biāo)均落后于FSCA-TPE-RF在內(nèi)的其他機(jī)器學(xué)習(xí)模型,尤其是精準(zhǔn)率只有0.83,與基線分類器相同,性能無(wú)法滿足真實(shí)的入侵檢測(cè)場(chǎng)景。 為驗(yàn)證所提出方法在不同訓(xùn)練數(shù)據(jù)比例下的魯棒性,本文第3個(gè)實(shí)驗(yàn)設(shè)置了不同的訓(xùn)練集和驗(yàn)證集比例進(jìn)行對(duì)比,訓(xùn)練渠∶驗(yàn)證渠分別為50%∶50%、10%∶90%、5%∶95%和2%∶98%。并將FSCA-TPE-RF與其他經(jīng)典機(jī)器學(xué)習(xí)算法性能進(jìn)行對(duì)比,實(shí)驗(yàn)結(jié)果如圖5所示。本文提出的FSCA-TPE-RF方法在不同的訓(xùn)練集和測(cè)試集比例下的模型性能相比其他機(jī)器學(xué)習(xí)算法更加穩(wěn)定,普適性較強(qiáng),應(yīng)用于入侵檢測(cè)場(chǎng)景時(shí),需要的標(biāo)注數(shù)據(jù)集數(shù)量相對(duì)更少,可以減輕研究人員標(biāo)注的壓力,提升入侵檢測(cè)系統(tǒng)的實(shí)用性。 圖5 不同數(shù)據(jù)集比例實(shí)驗(yàn)結(jié)果Fig.5 Experimental results of different data set proportions 本文以CIC-IDS-2018入侵檢測(cè)數(shù)據(jù)集為研究對(duì)象進(jìn)行深入分析。針對(duì)該數(shù)據(jù)集的特征模式,本文提出一種基于FSCA與TPE優(yōu)化的入侵檢測(cè)檢測(cè)方法,主要包括以下幾點(diǎn):分析CIC-IDS-2018數(shù)據(jù)集特征特性,根據(jù)數(shù)據(jù)集特征分布規(guī)律,針對(duì)性地使用了缺失值比率、低方差濾波和高相關(guān)濾波3種基于相關(guān)性分析的特征選取方法;結(jié)合離差平方和法計(jì)算數(shù)據(jù)集的層次聚類,將數(shù)據(jù)集從80維降到30維;通過(guò)基于TPE算法的超參數(shù)調(diào)優(yōu)技術(shù),對(duì)隨機(jī)森林進(jìn)行參數(shù)優(yōu)化;并通過(guò)設(shè)計(jì)3個(gè)實(shí)驗(yàn),分別驗(yàn)證了模型的有效性、效率和在不同的訓(xùn)練集和測(cè)試集比例下算法的魯棒性。通過(guò)以上實(shí)驗(yàn)可以發(fā)現(xiàn),本文提出的FSCA-TPE-RF方法在提升模型效率的同時(shí),在少樣本場(chǎng)景下也能保持其分類器的性能,各項(xiàng)性能指標(biāo)均取得良好結(jié)果。未來(lái)工作將注重優(yōu)化檢測(cè)方法在多分類場(chǎng)景下的分類檢測(cè)以及在其他入侵檢測(cè)數(shù)據(jù)集上的泛化能力。3 實(shí)驗(yàn)仿真
3.1 評(píng)估指標(biāo)
3.2 模型評(píng)估
4 結(jié) 論