石凱
(西南交通大學(xué)信息科學(xué)與技術(shù)學(xué)院,成都611756)
隨著計(jì)算機(jī)網(wǎng)絡(luò)的日益普及和計(jì)算機(jī)服務(wù)的快速發(fā)展,其背后暴露的安全問題也更加突出。為了解決網(wǎng)絡(luò)安全的問題,提出了能針對(duì)網(wǎng)絡(luò)攻擊而主動(dòng)采取反應(yīng)措施的入侵檢測(cè)系統(tǒng)(Intrusion Detection System,IDS)[1]。IDS 能監(jiān)視并分析主機(jī)和網(wǎng)絡(luò),一旦發(fā)現(xiàn)異常情況,將馬上采取相應(yīng)的措施并提供防護(hù)[2]。為了減少基于異常情況的IDS 的漏報(bào)率和誤報(bào)率,相關(guān)研究人員利用機(jī)器學(xué)習(xí)技術(shù)在大量的數(shù)據(jù)中提取特征和分類靈活快速的優(yōu)勢(shì),對(duì)未知攻擊數(shù)據(jù)集歸類。然而,現(xiàn)今研究仍然有以下問題:
(1)當(dāng)目標(biāo)網(wǎng)絡(luò)遭受攻擊時(shí),大量的底層網(wǎng)絡(luò)數(shù)據(jù)包所包含的特征重要性不同,所以需要準(zhǔn)確的對(duì)特征定性,并且剔除不重要或者可能降低檢測(cè)性能的特征。
(2)現(xiàn)今基于機(jī)器學(xué)習(xí)的未知攻擊檢測(cè)都需要大量的已有標(biāo)記的數(shù)據(jù)進(jìn)行訓(xùn)練。在遭受攻擊時(shí),大量的未知攻擊數(shù)據(jù)將產(chǎn)生,人工標(biāo)注將降低檢測(cè)效率。
針對(duì)上述問題,本文提出一種基于相關(guān)性、冗余度和半監(jiān)督學(xué)習(xí)的入侵檢測(cè)方案。主要貢獻(xiàn)有3 個(gè)方面:
(1)針對(duì)準(zhǔn)確定性不同的特征,區(qū)分不同特征的重要性,使用改進(jìn)的過濾算法,引入相關(guān)性、冗余度來確定不同特征對(duì)系統(tǒng)檢測(cè)性能的影響程度,從而減少多余特征的干擾,達(dá)到定量選取重要特征、加快檢測(cè)速度的目的;同時(shí),使用相關(guān)性、冗余度也[3]可以定量的區(qū)分不同流量特征對(duì)于攻擊分類的重要程度。
(2)針對(duì)缺乏已標(biāo)記數(shù)據(jù)的問題。為了很好地利用已有標(biāo)記的數(shù)據(jù),并且更好的得到未標(biāo)記數(shù)據(jù)的標(biāo)記,采用新型的CPLE 半監(jiān)督學(xué)習(xí)利用數(shù)據(jù)特征相似性標(biāo)記未標(biāo)記的數(shù)據(jù),從而得到大量可以參與訓(xùn)練的已標(biāo)記數(shù)據(jù),達(dá)到增加檢測(cè)準(zhǔn)確率的目的。
(3)NSL-KDD[4]數(shù)據(jù)集是KDD99 數(shù)據(jù)集的改進(jìn),解決了KDD99 很多潛在的問題,是網(wǎng)絡(luò)入侵檢測(cè)的標(biāo)準(zhǔn)數(shù)據(jù)。本方案在NSL-DD 上進(jìn)行對(duì)比實(shí)驗(yàn),驗(yàn)證了本方案的有效性。
機(jī)器學(xué)習(xí)在海量數(shù)據(jù)的處理上有著天然的優(yōu)勢(shì),所以在入侵檢測(cè)信息分析階段可以很流暢的引入機(jī)器學(xué)習(xí)的方法。Duan Xindong 等[5],提出了在云計(jì)算環(huán)境中設(shè)計(jì)一種新的非法用戶入侵行為檢測(cè)模型。利用主成分分析選擇非法用戶入侵行為的特征,并采用最小二乘支持向量機(jī)對(duì)入侵行為特征進(jìn)行分類和檢測(cè),采用粒子群優(yōu)化算法確定最小二乘支持向量機(jī)的參數(shù)。Du Shao-Bo 等[6],針對(duì)入侵檢測(cè)算法的獨(dú)立冗余屬性導(dǎo)致入侵檢測(cè)算法檢測(cè)速度慢,檢測(cè)率低的問題,提出了一種基于鄰域距離的入侵特征選擇方法。
在大數(shù)據(jù)時(shí)代,依靠人工專家標(biāo)注的數(shù)據(jù)仍然太少,較少的有效數(shù)據(jù)將極大的降低檢測(cè)系統(tǒng)的效率。在對(duì)攻擊數(shù)據(jù)特征進(jìn)行篩選時(shí),有效快速地選取特征十分重要,如果沒有很好地特征選擇,將減少接下來分類的準(zhǔn)確率,所以如何在減少特征維數(shù)時(shí)速度更快、更準(zhǔn)確變得尤為重要。
因此,本文提出一種基于最大相關(guān)最小冗余和半監(jiān)督學(xué)習(xí)的入侵檢測(cè)方案,在更快速地降低網(wǎng)絡(luò)攻擊特征維數(shù)的同時(shí),選取檢測(cè)更準(zhǔn)確的特征,去除干擾檢測(cè)的特征,同時(shí),自動(dòng)化的標(biāo)記以降低標(biāo)注成本,盡可能多地保留分類信息以更準(zhǔn)確的檢測(cè)未知攻擊。
為了提升檢測(cè)系統(tǒng)的效率,篩選出妨礙檢測(cè)的特征,本方案首先采用改進(jìn)的最大相關(guān)最小冗余的方法,對(duì)數(shù)據(jù)集的特征進(jìn)行選擇。之后為了應(yīng)對(duì)未知攻擊檢測(cè)以及訓(xùn)練數(shù)據(jù)集的規(guī)模較小的挑戰(zhàn),采用半監(jiān)督學(xué)習(xí)的方法利用少量標(biāo)注的數(shù)據(jù)生成大量的訓(xùn)練數(shù)據(jù)集進(jìn)行訓(xùn)練。
本文引入了一種基于距離函數(shù)的方法來度量每個(gè)特征的獨(dú)立性。距離越遠(yuǎn),獨(dú)立性越高。MRMD 的主要關(guān)注點(diǎn)是搜索一種特征排序度量,它包含兩個(gè)方面:一是特征子集與目標(biāo)類之間的相關(guān)性,二是特征子集的冗余度。在本文中,Pearson 相關(guān)系數(shù)[6]被用來衡量相關(guān)性,利用三種距離函數(shù)來計(jì)算冗余度。
為了便于理解,我們將作如下規(guī)定。D 表示數(shù)據(jù)集,N 表示數(shù)據(jù)集D 數(shù)據(jù)的數(shù)量,M 表示數(shù)據(jù)集有M個(gè)特征。在F={ fi,i=1,2,3…,M }中,F(xiàn) 表示特征集合,其中fi代表各種不同的特征,c 表示分類目標(biāo),我們的目標(biāo)是找到m 個(gè)特征(F 的特征子集),能夠使得盡可能多的數(shù)據(jù)符合分類目標(biāo)c。
(1)最大相關(guān)性
對(duì)目標(biāo)類條件進(jìn)行分類的最大貢獻(xiàn)通常意味著最小的分類錯(cuò)誤,最小誤差通常需要分類目標(biāo)y 與F 的子空間有最大相關(guān)性,這要求我們選擇的特征子空間是與分類目標(biāo)y 具有最高相關(guān)性的特征集。Pearson 相關(guān)系數(shù)可以測(cè)量正相關(guān)和負(fù)相關(guān),因此選擇Pearson 相關(guān)系數(shù)作為特征與目標(biāo)類c 之間的相關(guān)度量。給定兩個(gè)向量和,Pearson 相關(guān)系數(shù)的計(jì)算為:
xk、yk分別是向量和的第k 個(gè)元素,向量X→和都是數(shù)據(jù)集D 中所有例子的屬于一個(gè)特征或者分類目標(biāo)的值所組成的向量。最大相關(guān)則定義為:
(2)最大距離
使用最大距離來測(cè)量?jī)蓚€(gè)特征向量之間的相似度。為了綜合考慮各種維度的距離,選擇了歐氏距離,余弦相似度和Tanimoto 系數(shù)。計(jì)算方式分別為:
每個(gè)特征根據(jù)以下公式,我們可以得到第i 個(gè)特征的歐氏距離,余弦相似度和Tanimoto 系數(shù):
根據(jù)公式(12-14)可得到平均距離。
(3)本方案第一個(gè)模塊特征選擇
組合上述兩個(gè)約束的標(biāo)準(zhǔn)稱為“最大相關(guān)、最大距離”(MRMD)。假設(shè)我們選擇了具有m-1 個(gè)特征的子特征集。接下來的任務(wù)是從剩余特征集中選擇第m 個(gè)特征。該算法選擇最優(yōu)特征的條件為:
即選擇相關(guān)性與距離之和的最大值為下一個(gè)選擇的特征。以上兩小節(jié)組成了入侵檢測(cè)方案的第一個(gè)模塊,特征選擇模塊。
本小節(jié)將介紹最初的基于CPLE 的方案[7]。
半監(jiān)督學(xué)習(xí)是監(jiān)督和無監(jiān)督組合的一種學(xué)習(xí)方法,并試圖通過合并標(biāo)記和無標(biāo)記的數(shù)據(jù)提供改進(jìn)的分類。訓(xùn)練集表示為表示xi是d維向量,表示為每個(gè)樣本的標(biāo)記值。生成模型的對(duì)數(shù)可能性損失函數(shù)L 定義為:
Nk表示分類標(biāo)簽為k 的樣本數(shù)量,且表示為所有樣本數(shù)量。Θ 表示分類器的參數(shù)集,最大似然估計(jì)通常用于優(yōu)化監(jiān)督學(xué)習(xí)中的損失函數(shù)。最佳參數(shù)表示為:
半監(jiān)督學(xué)習(xí)中的參數(shù)通過使用來估計(jì)標(biāo)記和未標(biāo)記的樣品。未標(biāo)記的樣品表示為ui表示未標(biāo)記樣本的特征,vi表示未觀察的響應(yīng)變量,M 是未標(biāo)記樣本數(shù)量。半監(jiān)督分類器通過最大化可能性來優(yōu)化的參數(shù):
對(duì)于給定的q,相對(duì)改進(jìn)半監(jiān)督的對(duì)比似然CL 相對(duì)于受監(jiān)督的參數(shù)估計(jì)θ可以表示為:
LOOG[8]提出q 的“悲觀”選擇,估計(jì)未知的軟標(biāo)簽q 以達(dá)到之后優(yōu)化的目的,即選擇q,能使CL 最小化,因此,CPL 目標(biāo)函數(shù)變?yōu)椋?/p>
為了確保判別可能性的悲觀最小化,引入一個(gè)新的函數(shù),表示如下:
其中g(shù)( x;θ)=p( f=1 ]x,θ)表示后驗(yàn)概率預(yù)測(cè)分類器,y'是基于后驗(yàn)證的未標(biāo)記的樣本預(yù)測(cè)的硬標(biāo)簽,公式(23)可以通過以下步驟優(yōu)化。
(1)初始化一個(gè)分類器C0,并且生成軟標(biāo)簽q0
(2)對(duì)第i 次迭代(i=1,2,3,…,N):
①計(jì)算未標(biāo)記數(shù)據(jù)硬標(biāo)簽,計(jì)算公式為:
(3)迭代了N 次時(shí),以CN為最終分類器。對(duì)于之后無標(biāo)簽的樣本,使用分類器CN進(jìn)行標(biāo)簽預(yù)測(cè)或者分類。
本方案第二個(gè)模塊將接著利用第一個(gè)模塊選擇的特征,已經(jīng)剔除不需要的特征及相關(guān)特征的數(shù)據(jù)。圖1為CPLE 半監(jiān)督模塊模型。
在圖1 中,第一步,將已經(jīng)過特征選擇的數(shù)據(jù)分裂為訓(xùn)練集和測(cè)試集。第二步,使用在第一步中準(zhǔn)備的可接受數(shù)據(jù)集構(gòu)建監(jiān)督分類器。使用來自接受和拒絕數(shù)據(jù)集的樣本訓(xùn)練模型。第三步,將第二步中得出的分類規(guī)則是適用于測(cè)試集。第四步,重復(fù)以上步驟50次評(píng)估模型性能。
圖1 N-CPLE半監(jiān)督模型
采用最新的NSL-KDD 數(shù)據(jù)集,實(shí)驗(yàn)環(huán)境為Intel i7 6700K,編譯環(huán)境為Pycharm。該方案對(duì)數(shù)據(jù)集進(jìn)行歸一化處理,采用max-min 標(biāo)準(zhǔn)化法,將數(shù)據(jù)值映射到[0,1],計(jì)算方法為:
其中xcriterion是某個(gè)特征數(shù)據(jù)值標(biāo)準(zhǔn)化處理后的數(shù)據(jù),xinitial是某個(gè)特征標(biāo)準(zhǔn)化前的原始樣本值,xmin是某個(gè)特征原始樣本中最小值,xmax是某個(gè)特征原始樣本中最大值。
分別將基于MRMD,信息增益,相關(guān)系數(shù)的特征選擇方案利用SMO、貝葉斯,隨機(jī)樹分類器,在選擇8、20、30 個(gè)特征和使用完整特征的情況下,對(duì)分類準(zhǔn)確率進(jìn)行比較。實(shí)驗(yàn)結(jié)果如圖2、圖3、圖4 所示。
圖2 基于SMO分類器在各特征數(shù)下準(zhǔn)確率
圖3 基于貝葉斯分類器在各特征數(shù)下準(zhǔn)確率
圖4 基于隨機(jī)樹分類器在各特征數(shù)下準(zhǔn)確率
圖2 、3、4 分別表示在各種分類器下的分類準(zhǔn)確率比較,在較低特征數(shù)時(shí),基于相關(guān)系數(shù)的方式無法取得有效的效果?;谛畔⒃鲆娴姆绞?,雖然各種特征數(shù)都有較好的分類準(zhǔn)確率,但是分類準(zhǔn)確率較MRMD 的方式更低,所以驗(yàn)證了本方案對(duì)少量特征地選擇的有效性。
分別將基于MRMD、信息增益、相關(guān)系數(shù)的特征選擇方案利用SMO、貝葉斯、隨機(jī)樹分類器,在選擇8、20、30 個(gè)特征的情況下運(yùn)行時(shí)間如表1 所示。
表1 各種分類器下不同特征數(shù)運(yùn)行時(shí)間
在表1 中,運(yùn)行時(shí)間單位為秒(s),可以看到特征數(shù)越多,運(yùn)行時(shí)間越長(zhǎng)的特點(diǎn),所以在選擇少量特征時(shí),可以達(dá)到檢測(cè)的高效率,提高檢測(cè)速度的目的。
本方案1000 次在有標(biāo)記樣本和無標(biāo)記樣本比分別為:1:1、1:3、1:5、1:7、1:10、1:20、1:100、1:1000 得到的準(zhǔn)確率如圖5 所示。
圖5 N-CPLE各比例準(zhǔn)確率
由上圖所示,本方案并沒有隨著樣本比值的減少準(zhǔn)確率一直下降,而是呈現(xiàn)一定波動(dòng),在1:1 和1:10 取得最大值。說明了本方案的有效性。并且我們將在1:10 的數(shù)據(jù)比值下進(jìn)行特征選擇,得到的結(jié)果如圖6所示。
為了同時(shí)比較各特征數(shù)對(duì)準(zhǔn)確率和運(yùn)行時(shí)間造成的影響,取運(yùn)行時(shí)間的1/10 在圖上表示(例如全特征運(yùn)行時(shí)間為1302.4s,但是表示為130.24(十秒)。隨著特征數(shù)減少,運(yùn)行時(shí)間持續(xù)減少,這是因?yàn)閰⑴c判斷的特征數(shù)量得到有效減少,從而增加了檢測(cè)速度。但是隨著特征減少,準(zhǔn)確率先增大后減少,并且在特征數(shù)為35的時(shí)候達(dá)到高于全特征數(shù)的準(zhǔn)確率,所以驗(yàn)證了本方案的有效性,在減少特征數(shù)從而增大檢測(cè)速率的同時(shí),對(duì)檢測(cè)準(zhǔn)確率也有一定提高。
圖6 各特征數(shù)準(zhǔn)確率和運(yùn)行時(shí)間
本文提出了一種基于相關(guān)性冗余度和半監(jiān)督學(xué)習(xí)的入侵檢測(cè)方案,針對(duì)準(zhǔn)確選擇網(wǎng)絡(luò)流量特征并且定性、定量分析以及缺少可靠標(biāo)記流量數(shù)據(jù)而導(dǎo)致檢測(cè)率較低的問題,采用MRMD 特征選擇算法篩選重要特征,并改進(jìn)CPLE 半監(jiān)督方法,達(dá)到對(duì)未知攻擊的檢測(cè)。通過實(shí)驗(yàn)對(duì)比,驗(yàn)證了本方案的有效性,并且分析了不同規(guī)模數(shù)據(jù)集合和特征的選擇對(duì)檢測(cè)的影響以及檢測(cè)效率的影響。