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