朱世松,巴夢龍,王 輝,申自浩
(河南理工大學(xué)計算機(jī)科學(xué)與技術(shù)學(xué)院,河南 焦作 454000)
當(dāng)前,網(wǎng)絡(luò)安全威脅日益突出,網(wǎng)絡(luò)安全風(fēng)險不斷向政治、經(jīng)濟(jì)、文化、社會、生態(tài)、國防等領(lǐng)域滲透,國家互聯(lián)網(wǎng)應(yīng)急中心CNCERT(National Internet Emergency Center)于2018年發(fā)布的互聯(lián)網(wǎng)網(wǎng)絡(luò)安全態(tài)勢綜述中顯示[1,2],2018年全年CNCERT共協(xié)調(diào)處置網(wǎng)絡(luò)安全事件約10.6萬起,云平臺成為發(fā)生網(wǎng)絡(luò)攻擊的重災(zāi)區(qū),給網(wǎng)民人身安全、財產(chǎn)安全帶來了安全隱患。如何更有效地檢測入侵者攻擊行為,保護(hù)數(shù)據(jù)的安全越來越受到重視。
入侵檢測系統(tǒng)IDS(Intrusion Detection System)能夠及時發(fā)現(xiàn)入侵行為,通過采集并分析計算機(jī)網(wǎng)絡(luò)關(guān)鍵節(jié)點的活動信息,即可判斷網(wǎng)絡(luò)或系統(tǒng)是否遭到入侵[3]。按入侵檢測技術(shù)基礎(chǔ)可分為異常檢測和誤用檢測,即正常特征白名單技術(shù)與入侵特征黑名單技術(shù),異常檢測通常需要建立龐大的正常特征庫,容易造成較高誤警率。誤用檢測針對已知的入侵行為建立模型,易實現(xiàn),誤報率低、檢測快,但無法檢測未知的入侵行為,因此過舊的檢測模型會使得誤檢率上升從而造成重大損失。如何提升模型分類精度,降低模型誤檢率,已成為研究的熱點。
研究人員將機(jī)器學(xué)習(xí)技術(shù)融入IDS,訓(xùn)練機(jī)器學(xué)習(xí)檢測模型應(yīng)對復(fù)雜的網(wǎng)絡(luò)環(huán)境。常用的經(jīng)典分類算法有支持向量機(jī)SVM(Support Vector Machine)、隨機(jī)森林、邏輯回歸LR(Logistics Regression)、決策樹DT(Decision Tree)和樸素貝葉斯NB(Naive Bayes)等,國內(nèi)外學(xué)者針對入侵檢測不斷改進(jìn)算法模型。
王春東等[4]提出基于特征相似度的貝葉斯網(wǎng)絡(luò)入侵檢測方法。利用相似度對網(wǎng)絡(luò)連接數(shù)據(jù)的屬性特征進(jìn)行選擇,抽取其關(guān)鍵特征,并降低屬性的冗余度,以優(yōu)化樸素貝葉斯的分類性能。但是,其數(shù)據(jù)集中缺少新的網(wǎng)絡(luò)流量和低占用率攻擊,已經(jīng)不適合作為現(xiàn)代入侵檢測特征數(shù)據(jù)集。
Bivens等[5]使用DARPA(Defense Advanced Research Projects Agency)1999數(shù)據(jù)集構(gòu)建了基于多層感知神經(jīng)網(wǎng)絡(luò)的入侵檢測系統(tǒng)。該系統(tǒng)使用時間滑動窗口對多個數(shù)據(jù)包進(jìn)行檢測,能夠檢測持續(xù)時間較長的攻擊類型。實驗結(jié)果表明,該系統(tǒng)對正常行為識別率達(dá)100%,但對未知攻擊行為的檢測效果不佳,誤檢率高達(dá)76%。
王琳琳等[6]基于算法級聯(lián)的思想,提出了一種結(jié)合極限學(xué)習(xí)機(jī)和改進(jìn)的K-means算法的混合式入侵檢測方法。在NSL-KDD(Data Mining and Knowledge Discovery)數(shù)據(jù)集上的仿真實驗結(jié)果表明,所提出的入侵檢測方法可以提高對入侵攻擊的檢測效率。但是,由于NSL-KDD數(shù)據(jù)集缺少基于入侵檢測網(wǎng)絡(luò)的公共數(shù)據(jù)集,所以NSL-KDD數(shù)據(jù)集并不能貼近現(xiàn)有真實網(wǎng)絡(luò)。
Al-Yaseen 等[7]提出了基于SVM分類器與極限學(xué)習(xí)機(jī)結(jié)合的多級入侵檢測模型。該模型使用KDD 1999數(shù)據(jù)集,將改進(jìn)后的K-means用于減少訓(xùn)練數(shù)據(jù)集中的特征數(shù)量,對經(jīng)過轉(zhuǎn)換和標(biāo)準(zhǔn)化的訓(xùn)練和測試數(shù)據(jù)集進(jìn)行預(yù)處理,以使其適合于SVM分類器與極限學(xué)習(xí)機(jī)。該模型與基于相同數(shù)據(jù)集的其他方法相比,具有較高的攻擊檢測效率。但是,由于用于訓(xùn)練的數(shù)據(jù)集中缺失未知攻擊樣本,從而導(dǎo)致誤檢率較高。
Khor等[8]提出了基于貝葉斯網(wǎng)絡(luò)與決策樹C4.5分類器結(jié)合的多級入侵檢測模型。該模型著力解決數(shù)據(jù)集中攻擊類別分布不均勻的狀況,并提出了一種二分法。該模型先將稀有類別從訓(xùn)練數(shù)據(jù)集中分離出來,減小主要攻擊類別對分類器的影響,然后訓(xùn)練級聯(lián)分類器以處理稀有類別和其他類別,從而提高了稀有攻擊類別的檢測率。但是,由于實驗數(shù)據(jù)集中未知攻擊類別的收錄并不完全,仍存在較高的誤檢率。
入侵檢測系統(tǒng)已成為檢測網(wǎng)絡(luò)域中各種惡意活動的重要機(jī)制。基于前面的研究,本文提出了一種基于NBSR(Naive Bayes and Softmax Regression)模型的入侵檢測技術(shù)。首先針對ReliefF特征選擇算法存在的缺點,引入Pearson相關(guān)系數(shù)計算特征之間的相關(guān)性,提出Relieff-P算法;其次利用Relieff-P算法對UNSW-NB15數(shù)據(jù)集進(jìn)行處理,去除無關(guān)特征,得到新的特征子集,用于訓(xùn)練模型;然后將樸素貝葉斯分類器和Softmax回歸分類器級聯(lián)構(gòu)成NBSR分類器。最后,結(jié)合仿真實驗測試,實驗數(shù)據(jù)結(jié)果顯示,本文方法在入侵檢測中對入侵事件分類的精度和誤檢率方面都具有較強(qiáng)的優(yōu)勢,尤其是與其他入侵檢測技術(shù)進(jìn)行比較發(fā)現(xiàn),本文方法在準(zhǔn)確率方面有較為明顯的提升。
數(shù)據(jù)處理對機(jī)器學(xué)習(xí)的訓(xùn)練和研究具有重要的意義。未經(jīng)處理的數(shù)據(jù)存在噪聲,各特征間的關(guān)聯(lián)性不大,且冗余數(shù)據(jù)的存在會使算法開銷增大甚至結(jié)果產(chǎn)生偏差。
ReliefF特征選擇算法通過計算相同類別與不相同類別的相鄰樣本評估樣本的相關(guān)性和冗余度[9],在處理目標(biāo)屬性為連續(xù)值的回歸問題時,先從原始數(shù)據(jù)集中隨機(jī)選出樣本子集;再從樣本子集的同類樣本集中找出n個近鄰樣本;最后從與樣本子集類別不同的樣本集中找出n個近鄰樣本,分別計算特征權(quán)重值然后更新。迭代此過程,直到計算出每個樣本的類別與特征的相關(guān)度。然后,依據(jù)特征權(quán)重的值對特征降序排列,篩選出特征權(quán)值小于給定閾值的特征,選擇大于給定閾值的部分特征用于構(gòu)成新的特征子集。
ReliefF僅考慮了特征與類別之間的相關(guān)性程度,沒有考慮特征之間的相關(guān)性,本文提出一種相關(guān)系數(shù)定義的Relieff-P算法。引入Pearson相關(guān)系數(shù)來度量特征之間的相關(guān)性程度,其計算步驟如下:
從原始數(shù)據(jù)集中隨機(jī)選擇1個樣本子集Si;從Si的同類樣本集找到n個最近鄰Hj(j=1,2,…,n)。計算樣本子集Si和Hj在特征L上的差:
(1)
從Si不同類樣本集中,找到n個最近鄰Mj(C),計算樣本子集Si和Mj(C)在特征L上的差:
(2)
式(1)與式(2)中diff(L,S1,S2)表示樣本子集S1和樣本子集S2在特征L上的差,其計算公式如下所示:
diff(L,S1,S2)=
(3)
更新特征L的權(quán)重值,公式如下所示:
(4)
其中,P(C)為該類別的比例,class(Si)為樣本子集Si的類別,P(class(Si))為隨機(jī)選取樣本子集Si類別的比例,Mj(C)表示類C?class(Si)中第j個最近鄰樣本。經(jīng)過歸一化處理后,每個特征的取值都轉(zhuǎn)換到[0,1]。
2個屬性特征之間的相關(guān)性系數(shù)的計算如式(5)所示:
(5)

算法1Relieff-P算法
Input:入侵檢測訓(xùn)練樣本集U。
Output:新的特征集Fu。
φ=0;
for eachiinm;
U→Si;//隨機(jī)選取樣本子集Si。
U→nearSi→C∈class(Si);
for eachC∈class(Si);
計算A(L);
end;
U→nearSi→C?class(Si);
for eachC?class(Si);
計算B(L);
end;
計算φ[L];
end;
for eachiinL;
Fu=max{ρLi,Lj};
outputFu
訓(xùn)練集中各個類別的樣本分布不均勻時,分類器容易傾向于大類別而忽略小類別[10,11]。本文將此特性應(yīng)用于NBSR模型中,利用第1階段樸素貝葉斯分類器將小樣本過濾至第2階段Softmax回歸分類器。Softmax回歸算法是1種用于解決多分類問題的機(jī)器學(xué)習(xí)算法,具有模型簡單、可泛化、解釋性強(qiáng)等特點,用于估計某種事物的可能性[12]。若處理多分類問題則需要計算每個樣本歸屬于每個類別的概率。把輸入映射為0~1的實數(shù),并且歸一化保證和為1,因此多分類的概率之和也剛好為1。
通過對網(wǎng)絡(luò)入侵?jǐn)?shù)據(jù)集及上述分類器特性的分析,本文將改進(jìn)后的Relieff-P算法應(yīng)用于數(shù)據(jù)處理當(dāng)中,將樸素貝葉斯分類器和邏輯回歸分類器組合成級聯(lián)分類器。基于NBSR模型的入侵檢測流程如下所示:
(1)網(wǎng)絡(luò)入侵?jǐn)?shù)據(jù)集預(yù)處理。
預(yù)處理主要是對原始數(shù)據(jù)集進(jìn)行預(yù)處理,主要包括數(shù)據(jù)變換和數(shù)據(jù)標(biāo)準(zhǔn)化,從而達(dá)到適用于機(jī)器學(xué)習(xí)的目的。首先將原始數(shù)據(jù)集中的非數(shù)值型數(shù)據(jù)進(jìn)行轉(zhuǎn)換;然后對所有的數(shù)值型數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化、歸一化處理。因數(shù)據(jù)集中異常數(shù)據(jù)對Pearson相關(guān)系數(shù)方法有影響,因此使用箱線圖剔除離群數(shù)據(jù)。
(2)最優(yōu)特征子集。
Relieff-P特征選擇算法為數(shù)據(jù)集中每個樣本種類選擇最優(yōu)特征子集,最優(yōu)子集為各子集的并集。在計算特征間的相關(guān)性時,重復(fù)的數(shù)據(jù)項只選其一參與Pearson相關(guān)性計算,又因樸素貝葉斯方法通過先驗概率決策,故待相關(guān)性計算結(jié)束時,重復(fù)的數(shù)據(jù)項仍用來訓(xùn)練模型。將最優(yōu)子集分別送入級聯(lián)的分類器訓(xùn)練。特征選擇過程無需在應(yīng)用階段運(yùn)行,分類器只需使用其在訓(xùn)練階段得到的最優(yōu)特征子集即可。
(3)第1階段樸素貝葉斯分類模型。
NB分類器訓(xùn)練主要是使用NB算法對包含F(xiàn)uzzers、DoS、Exploits、Generic、Reconnaissance和Normal 6類數(shù)據(jù)的訓(xùn)練集進(jìn)行訓(xùn)練,得到分類模型。
第1階段分類模型的算法步驟如下所示:
Step1將樣本X={A1,A2,…,An}表示為n維特征向量。
Step2假設(shè)有m個類別C1,C2,…,Cm。將X作為未知入侵行為樣本,即沒有類別標(biāo)簽。樸素貝葉斯分類將未知網(wǎng)絡(luò)行為分配給Ci類別,并且只有在P(Ci|X)>P(Cj|X)的條件下才屬于最大可能類別,此處1 (6) 由于P(X)和C的取值無關(guān),因此只需要根據(jù)訓(xùn)練集數(shù)據(jù)來估計所有的P(X|Ci)P(Ci)即可。 Step3若數(shù)據(jù)集具有多個屬性,P(X|Ci)的計算開銷將會巨大。為了減少計算開銷,進(jìn)行條件獨(dú)立性假設(shè)(Conditional Independence)。假設(shè)已經(jīng)給出了樣本類別標(biāo)簽,不同維度特征的取值之間是相互獨(dú)立的,這意味著任何2個屬性之間沒有依賴關(guān)系: (7) Step4通過訓(xùn)練樣本來估計概率P(X|C1),P(X|C2),…,P(X|Cm)。由式(7)可知,如果存在P(Ck|X)=max{P(C1|X),P(C2|X),…,P(Cm|X)},則X∈Ck。 Step5由上述結(jié)果得到NBSR第1階段的分類器: (8) (4)第2階段Softmax回歸分類模型。 Softmax回歸分類器訓(xùn)練主要是使用Softmax回歸對包含Normal、Backdoors、Analysis、Shellcode和Worms 5類數(shù)據(jù)的訓(xùn)練集進(jìn)行訓(xùn)練,得到分類模型。 第2階段模型的算法步驟如下所示: Step1現(xiàn)有樣本Ai∈{A1,A2,…,An},以及訓(xùn)練樣本集的類別標(biāo)簽y。 Step2假設(shè)標(biāo)簽y總共有K個類別,對于給定的測試樣本Ai,需要使用1個假設(shè)函數(shù)估計樣本Ai屬于j類別的概率,概率最大的類別就是該樣本的類別。對應(yīng)的Softmax 函數(shù)形式如下所示: (9) Step3對應(yīng)的似然函數(shù)L(θ)表示為: (10) 其中,1(y=j)是一個指示性函數(shù),1{true}=1,1{false}=0。 Step4對似然函數(shù)L(θ)取對數(shù),可以得到所謂的對數(shù)似然函數(shù)l(θ): (11) Step5損失函數(shù)為: (12) Step6由上述結(jié)果得到NBSR第2階段的分類器: (13) (5)NBSR分類器結(jié)構(gòu)。 NBSR分類器通過級聯(lián)2個不同的分類算法進(jìn)行分類,每個分類器用于分類的類別不同,級聯(lián)2個分類器的結(jié)構(gòu)如圖1所示。 Figure 1 NBSR classifier structure圖1 NBSR分類器結(jié)構(gòu) 這里NB分類器將數(shù)據(jù)分為6類,被分為Normal的數(shù)據(jù)進(jìn)入Softmax回歸分類器,Softmax回歸分類器再進(jìn)行后續(xù)分類。由于Backdoors、Analysis、Shellcode、Worms這4類樣本數(shù)無論在訓(xùn)練集還是測試集中所占比例都較小,且樸素貝葉斯對不平衡數(shù)據(jù)的處理效果欠佳,正是由此將錯分的類別送入下1級分類器,故將NB分類器當(dāng)做第1分類器,Softmax回歸分類器為第2分類器,最終得到9個入侵攻擊大類的分類結(jié)果。 整個NBSR模型共分為訓(xùn)練和應(yīng)用2個階段。在訓(xùn)練階段,通過Relieff-P對帶標(biāo)簽的訓(xùn)練樣本集提取特征,得到新的特征子集用于訓(xùn)練NBSR分類器;在應(yīng)用階段,將數(shù)據(jù)處理后送入訓(xùn)練好的NBSR分類器進(jìn)行分類。通過一系列入侵檢測流程的處理,最終得出合理的網(wǎng)絡(luò)事件歸類集合。該模型的入侵檢測流程如圖2所示。 Figure 2 Improved intrusion detection process圖2 改進(jìn)的入侵檢測流程 本文選用UNSW-NB15數(shù)據(jù)集訓(xùn)練入侵檢測模型。KDD CUP 1999 Data是1999年舉行KDD競賽時采用的數(shù)據(jù)集,距今有20年歷史,網(wǎng)絡(luò)攻擊樣本中缺少已知的入侵行為,且未知的入侵行為會使誤用檢測模型提高誤檢率。而UNSW-NB15數(shù)據(jù)集的原始網(wǎng)絡(luò)數(shù)據(jù)包是由澳大利亞網(wǎng)絡(luò)安全中心(Australian Centre for Cyber Security)網(wǎng)絡(luò)范圍實驗室于2015年創(chuàng)建的,利用Tcpump工具捕獲100 GB的原始流量[13,14],最大的特點就是包含了當(dāng)代隱蔽攻擊方式,能夠比較完全地反映當(dāng)代網(wǎng)絡(luò)流量的真實狀況。表1是2種數(shù)據(jù)集的對比。 Table 1 KDD CUP 1999 Date vs.UNSW-NB15表1 KDD CUP 1999 Date與UNSW-NB15對比 UNSW-NB15數(shù)據(jù)集有9個系列的攻擊:Backdoorsh、Exploits、Shellcode、Fuzzers、DoS、Generic、Analysis、Worms 和Reconnaissance。表2所示為UNSW-NB15數(shù)據(jù)集中的攻擊種類分布。 由表1數(shù)據(jù)可知,UNSW-NB15數(shù)據(jù)集的攻擊環(huán)境更具有真實性。表2所示為UNSW-NB15數(shù)據(jù)集網(wǎng)絡(luò)事件中9種類型的記錄數(shù)目以及分別在UNSW-NB15入侵檢測數(shù)據(jù)集的Training-set和Testing-set中的分布情況。 針對本次實驗搭建的環(huán)境平臺所使用的操作系統(tǒng)為64位Windows 7 旗艦版sp1,CPU頻率為2.4 GHz,內(nèi)存為4 GB,300 GB硬盤存儲,編程工具為Python 3.6,入侵檢測數(shù)據(jù)集則使用上述的UNSW-15數(shù)據(jù)集,實驗結(jié)果如表3所示。 Table 2 Distribution of attack types in Training-set and Testing-set datasets表2 Training-set和Testing-set數(shù)據(jù)集中攻擊種類分布 Table 3 Processed feature subsets表3 處理后的特征子集 表3所示為處理后的特征子集,實驗結(jié)果表明Relieff-P算法能有效地對數(shù)據(jù)進(jìn)行降維。 基于NBSR模型的入侵檢測技術(shù)的檢測效率分析以及改進(jìn)前后算法的準(zhǔn)確率TP(True Positive Rate)比較結(jié)果如圖3和圖4所示。 由圖3和圖4可看出,本文方法在Analysis、Backdoors、Worms、Shellcode、Exploits和Reconnaissance等類別中,準(zhǔn)確率有明顯的提升。 將本文提出的入侵檢測技術(shù)與基于其他分類模型的入侵檢測技術(shù)做了系統(tǒng)比較,從表4的實驗數(shù)據(jù)中可以看出,NBSR模型與其他入侵模型相比,在精度(Precision)、F1值和誤檢率FPR(False Positive Rate)方面,都表現(xiàn)出了更好的效果。 Figure 3 Comparison of true positive rate (TP) before and after the first stage of the improved algorithm 圖3 第1階段改進(jìn)前后算法的準(zhǔn)確率(TP)比較 Figure 4 Comparison of true positive rate (TP) before and after the second stage of the improved algorithm 圖4 第2階段改進(jìn)前后算法的準(zhǔn)確率(TP)比較 Table 4 Efficiency comparison intrusion detectionbetween this method and other methods MethodsPrecisionRecallF1 ScoreFPRLR82.2795.3789.3422.65NB72.7991.2080.7838.62DT81.2296.3489.1124.36SVM73.5095.1883.8941.54本文方法87.3993.6891.6215.62 Relieff-P特征選擇算法將特征之間的相關(guān)性加入到特征的評價中,當(dāng)?shù)螖?shù)或最近鄰樣本數(shù)發(fā)生改變時,不相關(guān)特征的權(quán)重始終保持不變。Relieff-P特征選擇算法能較好地去除無關(guān)特征,具有穩(wěn)定、易擴(kuò)展、有效性強(qiáng)、運(yùn)行效率高的特點。 針對互聯(lián)網(wǎng)中海量而復(fù)雜的網(wǎng)絡(luò)攻擊事件,入侵檢測行為其實是一系列不確定性行為過程的1個組合,鑒于樸素貝葉斯定理最適合解決概率性事件,將樸素貝葉斯決策理論分類器運(yùn)用到入侵檢測技術(shù)當(dāng)中是完全可行的。本文將Softmax回歸分類器與樸素貝葉斯分類器級聯(lián),提出了基于NBSR模型的入侵檢測技術(shù),通過實驗測試表明其可以取得較好的分類效果,與其它分類方法的分類效果進(jìn)行比較時,也表現(xiàn)出了較好的優(yōu)勢。但是,本文方法各方面的性能仍然有很大的提升空間,如何能夠更準(zhǔn)確地識別未知攻擊類型需要進(jìn)一步研究。


4 仿真實驗與分析
4.1 UNSW-NB15數(shù)據(jù)集

4.2 實驗結(jié)果與分析




表4 本文方法與其他幾種方法的入侵檢測效率比較%
5 結(jié)束語