趙建華1,2,劉 寧
(1.商洛學(xué)院數(shù)學(xué)與計(jì)算機(jī)應(yīng)用學(xué)院,陜西 商洛 726000; 2.西北工業(yè)大學(xué)計(jì)算機(jī)學(xué)院,陜西 西安 710072;3. 商洛學(xué)院經(jīng)濟(jì)與管理學(xué)院,陜西 商洛 726000)
·計(jì)算機(jī)軟件理論、技術(shù)與應(yīng)用·
結(jié)合主動(dòng)學(xué)習(xí)和半監(jiān)督學(xué)習(xí)的網(wǎng)絡(luò)入侵檢測(cè)算法
趙建華1,2,劉 寧3
(1.商洛學(xué)院數(shù)學(xué)與計(jì)算機(jī)應(yīng)用學(xué)院,陜西 商洛 726000; 2.西北工業(yè)大學(xué)計(jì)算機(jī)學(xué)院,陜西 西安 710072;3. 商洛學(xué)院經(jīng)濟(jì)與管理學(xué)院,陜西 商洛 726000)
為提高網(wǎng)絡(luò)入侵檢測(cè)的分類效率,提出一種結(jié)合主動(dòng)學(xué)習(xí)和半監(jiān)督學(xué)習(xí)的入侵檢測(cè)算法。結(jié)合入侵檢測(cè)實(shí)際,對(duì)主動(dòng)學(xué)習(xí)算法進(jìn)行簡(jiǎn)化,用有標(biāo)記樣本訓(xùn)練生成2個(gè)分類器,實(shí)現(xiàn)對(duì)未標(biāo)記樣本的預(yù)測(cè);將2個(gè)分類器預(yù)測(cè)不一致的未標(biāo)記樣本作為信息量豐富的樣本,使用半監(jiān)督學(xué)習(xí)算法進(jìn)行標(biāo)記;最后, 把新增加的新標(biāo)記樣本添加到主動(dòng)學(xué)習(xí)和半監(jiān)督學(xué)習(xí)的訓(xùn)練集中,訓(xùn)練各自分類器, 反復(fù)迭代直到未標(biāo)記樣本集為空, 并用最新的有標(biāo)記樣本集訓(xùn)練形成最終的分類器。使用KDD CUP 99數(shù)據(jù)集進(jìn)行入侵檢測(cè)實(shí)驗(yàn),其結(jié)果表明,與SVM方法相比,其分類率提高了4.3%,且較好地縮減了問(wèn)題規(guī)模。
主動(dòng)學(xué)習(xí);半監(jiān)督學(xué)習(xí);入侵檢測(cè)
入侵檢測(cè)(intrusion detection, ID)技術(shù)是繼“防火墻”等傳統(tǒng)安全保護(hù)措施后發(fā)展起來(lái)的新一代安全保障技術(shù),被譽(yù)為繼防火墻之后第2道網(wǎng)絡(luò)安全防線[1]。作為一種主動(dòng)的網(wǎng)絡(luò)防御技術(shù),入侵檢測(cè)能夠全面監(jiān)控計(jì)算機(jī)網(wǎng)絡(luò)或主機(jī)上的各種應(yīng)用程序,對(duì)系統(tǒng)中多種入侵行為進(jìn)行主動(dòng)地識(shí)別和響應(yīng),有效地提高了網(wǎng)絡(luò)的安全性[2-5]。
機(jī)器學(xué)習(xí)在入侵檢測(cè)中的應(yīng)用成為當(dāng)前入侵檢測(cè)的一個(gè)熱點(diǎn),它提高了檢測(cè)率,降低了誤報(bào)率。早期的基于機(jī)器學(xué)習(xí)的入侵檢測(cè)算法大多是基于有監(jiān)督機(jī)器學(xué)習(xí)的。它的主要缺點(diǎn)是無(wú)法有效地檢測(cè)到未知攻擊,而且要求訓(xùn)練集中的所有訓(xùn)練樣本被標(biāo)記為正常或異常[6-7]?;跓o(wú)監(jiān)督的網(wǎng)絡(luò)入侵檢測(cè),誤報(bào)率高,不能充分利用有標(biāo)記入侵?jǐn)?shù)據(jù)的類別信息[8]。
半監(jiān)督學(xué)習(xí)能夠充分利用蘊(yùn)含在無(wú)標(biāo)記訓(xùn)練樣本中的信息,在分類的正確性和有標(biāo)記訓(xùn)練樣本較少數(shù)目之間取得了較好的折中[9-10]。為解決入侵檢測(cè)中有標(biāo)記數(shù)據(jù)獲取難度大的問(wèn)題,不少研究者將半監(jiān)督學(xué)習(xí)引入到入侵檢測(cè)領(lǐng)域,通過(guò)半監(jiān)督學(xué)習(xí)挖掘無(wú)標(biāo)記樣本的信息,擴(kuò)充有標(biāo)記樣本的數(shù)目,訓(xùn)練分類器,實(shí)現(xiàn)對(duì)大量入侵?jǐn)?shù)據(jù)的檢測(cè),取得了較好的分類效果[11-12];然而,由于網(wǎng)絡(luò)入侵檢測(cè)中數(shù)據(jù)流量大,對(duì)數(shù)據(jù)的實(shí)時(shí)處理要求較高,對(duì)分類器的處理能力要求也較高。如果對(duì)所有的未標(biāo)記入侵?jǐn)?shù)據(jù)都進(jìn)行半監(jiān)督學(xué)習(xí)和標(biāo)記,費(fèi)時(shí)費(fèi)力,入侵檢測(cè)性能將會(huì)大打折扣[8]。
為有效提高入侵檢測(cè)性能和效率,本文將主動(dòng)學(xué)習(xí)和半監(jiān)督學(xué)習(xí)結(jié)合起來(lái),提出一種結(jié)合主動(dòng)學(xué)習(xí)和半監(jiān)督學(xué)習(xí)的分類算法Active CV-S3VM,并將其應(yīng)用到入侵檢測(cè)領(lǐng)域。首先,Active CV-S3VM對(duì)主動(dòng)學(xué)習(xí)算法進(jìn)行簡(jiǎn)化,使用簡(jiǎn)化的主動(dòng)學(xué)習(xí)選取信息含量高的無(wú)標(biāo)記樣本,這樣僅僅對(duì)信息量高的無(wú)標(biāo)記樣本進(jìn)行標(biāo)記,提高主動(dòng)學(xué)習(xí)效率,減少半監(jiān)督學(xué)習(xí)工作量;接著,使用半監(jiān)督學(xué)習(xí)算法對(duì)主動(dòng)學(xué)習(xí)選取的無(wú)標(biāo)記樣本進(jìn)行標(biāo)記,挖掘無(wú)標(biāo)記樣本隱含信息;最后通過(guò)KDD CUP 99入侵檢測(cè)數(shù)據(jù)集進(jìn)行半監(jiān)督分類實(shí)驗(yàn),以證明該方案的有效性。
在主動(dòng)學(xué)習(xí)中,從候選樣本集選取樣本時(shí),每次都是選擇最有利于提高分類器性能的樣本,提供給專家進(jìn)行人工標(biāo)記,并將這些標(biāo)記好的樣本以一定的方式加入到訓(xùn)練集中。選擇樣本的基本思路就是考慮不同樣本對(duì)分類器的作用不同, 即信息量越豐富的樣本,對(duì)分類界面的確定越重要[13]。
委員會(huì)投票選擇算法(query by committee, QBC)是一種有效的主動(dòng)學(xué)習(xí)方法。它首先根據(jù)已有的有標(biāo)記數(shù)據(jù)集建立委員會(huì),利用這個(gè)委員會(huì)對(duì)無(wú)標(biāo)記樣本進(jìn)行標(biāo)記預(yù)測(cè)、投票,然后選擇投票最不一致的樣本作為候選樣本。投票最不一致的樣本包含的信息量最豐富。這種方法不需要對(duì)預(yù)測(cè)的樣本進(jìn)行偽標(biāo)記,也不需要在整個(gè)樣本空間中進(jìn)行檢測(cè)。其學(xué)習(xí)速度快,能夠使用較少的訓(xùn)練樣本達(dá)到較好的分類精度[13-14]。
基于熵的主動(dòng)學(xué)習(xí)方法中,利用熵來(lái)確定樣本的不確定性, 熵越大, 分類的不確定就越大, 包含的信息就越豐富, 用戶對(duì)熵最大的樣本進(jìn)行人工標(biāo)記,然后添加到訓(xùn)練集。基于熵的主動(dòng)學(xué)習(xí)樣本選擇策略[13]可表示為
(1)
式中:U表示無(wú)標(biāo)記樣本集;Y表示所有可能的類別標(biāo)記的集合;P(yi|xi) 表示樣本xi屬于類別yi的概率。
通過(guò)熵來(lái)度量委員會(huì)中各成員投票的不一致性,可將委員會(huì)投票選擇算法QBC分為2種:一種是基于投票熵(vote entropy,簡(jiǎn)稱VE) 的方法來(lái)度量委員會(huì)投票差異性;一種是基于相對(duì)熵(又稱KL散度,簡(jiǎn)稱KLD)的方法來(lái)度量委員會(huì)投票差異性。
在基于投票熵VE的QBC算法中,通過(guò)計(jì)算無(wú)標(biāo)記樣本的投票熵來(lái)表示各個(gè)委員會(huì)的投票不一致性,投票熵越大,說(shuō)明委員會(huì)成員的投票差異性越大,所包含的信息量越豐富,選取投票熵最大的樣本交由專家進(jìn)行標(biāo)記。投票熵的計(jì)算可表示為
(2)
式中:D(e) 表示委員會(huì)成員對(duì)樣本e的投票差異性;k表示委員會(huì)成員的數(shù)目;C表示樣本的類別數(shù)目;V(c,e) 表示委員會(huì)成員對(duì)樣本e的類別c投票的數(shù)目。
2.1算法思想
本文對(duì)基于投票熵的主動(dòng)學(xué)習(xí)進(jìn)行簡(jiǎn)化,以提高分類效率。其思路是:通過(guò)有標(biāo)記樣本訓(xùn)練生成2個(gè)分類器;通過(guò)2個(gè)分類器實(shí)現(xiàn)對(duì)未標(biāo)記樣本進(jìn)行預(yù)測(cè),將預(yù)測(cè)不一致的樣本選做熵最大的樣本,即蘊(yùn)含信息量最豐富的樣本;將信息量最豐富的未標(biāo)記樣本提交給半監(jiān)督學(xué)習(xí)算法進(jìn)行標(biāo)記,并將新增加的有標(biāo)記樣本添加到有標(biāo)記樣本集中,擴(kuò)充有標(biāo)記樣本的數(shù)目;使用新的有標(biāo)記集繼續(xù)訓(xùn)練主動(dòng)學(xué)習(xí)和半監(jiān)督學(xué)習(xí)分類器。如此反復(fù)迭代,直到未標(biāo)記樣本集為空。
2.2算法步驟
算法主要包括3個(gè)部分:主動(dòng)學(xué)習(xí)、半監(jiān)督學(xué)習(xí)和入侵檢測(cè)。入侵檢測(cè)算法流程如圖1所示,實(shí)線表示有標(biāo)記樣本的流向,虛線表示無(wú)標(biāo)記樣本的流向。在主動(dòng)學(xué)習(xí)過(guò)程中,主要是用有標(biāo)記樣本集L訓(xùn)練生成2個(gè)分類器,用分類器1和分類器2分別對(duì)無(wú)標(biāo)記樣本進(jìn)行預(yù)測(cè),將2個(gè)分類器預(yù)測(cè)結(jié)果不一致的樣本作為主動(dòng)學(xué)習(xí)的結(jié)果。半監(jiān)督學(xué)習(xí)主要使用基于交叉驗(yàn)證的半監(jiān)督學(xué)習(xí)方法CV-S3VM[15],實(shí)現(xiàn)對(duì)主動(dòng)學(xué)習(xí)選取的、信息量豐富的樣本進(jìn)行標(biāo)記,并將標(biāo)記生成的新樣本添加到L中,擴(kuò)充L。入侵檢測(cè)主要使用KDD CUP 99數(shù)據(jù)集,通過(guò)半監(jiān)督學(xué)習(xí)標(biāo)記后的新標(biāo)記樣本集L訓(xùn)練分類器,實(shí)現(xiàn)對(duì)測(cè)試集的測(cè)試。詳細(xì)步驟如下。
圖1 基于主動(dòng)學(xué)習(xí)和半監(jiān)督學(xué)習(xí)的入侵檢測(cè)
步驟1: 對(duì)網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行歸一化。
選取KDD CUP 99 數(shù)據(jù)集進(jìn)行入侵檢測(cè)實(shí)驗(yàn),將數(shù)據(jù)集分為訓(xùn)練集和測(cè)試集。將訓(xùn)練集分為有標(biāo)記數(shù)據(jù)集和無(wú)標(biāo)記數(shù)據(jù)集。為便于統(tǒng)計(jì)測(cè)試的正確率,測(cè)試集全部選用有標(biāo)記數(shù)據(jù)。為方便實(shí)現(xiàn)對(duì)數(shù)據(jù)的訓(xùn)練和測(cè)試,對(duì)樣本中數(shù)據(jù)屬性(離散值)進(jìn)行數(shù)值化處理[12]。為取消各維數(shù)據(jù)間數(shù)量級(jí)差別,利用歸一化函數(shù)對(duì)輸入樣本的特征值進(jìn)行數(shù)據(jù)歸一化處理,將其歸一化到[0,1]之間。
步驟2: 標(biāo)記集L和無(wú)標(biāo)記集U的選取。
從有標(biāo)記數(shù)據(jù)集中選取部分?jǐn)?shù)據(jù)作為有標(biāo)記集L,從步驟1歸一化后的數(shù)據(jù)集中,選取部分?jǐn)?shù)據(jù)形成無(wú)標(biāo)記數(shù)據(jù)集U。
步驟3: 主動(dòng)學(xué)習(xí)選取信息量大的樣本。
由于網(wǎng)絡(luò)數(shù)據(jù)流量較大,為提高入侵檢測(cè)效率,對(duì)基于投票熵的主動(dòng)學(xué)習(xí)算法進(jìn)行改進(jìn),簡(jiǎn)化了主動(dòng)學(xué)習(xí)過(guò)程。通過(guò)訓(xùn)練2個(gè)分類器,實(shí)現(xiàn)對(duì)未標(biāo)記樣本進(jìn)行預(yù)測(cè),選取2個(gè)分類器預(yù)測(cè)不一致的樣本作為信息量大的未標(biāo)記樣本。其具體過(guò)程如下。
1) 生成2個(gè)分類器。將有標(biāo)記樣本集L分為2等份L1和L2,分別作為訓(xùn)練集訓(xùn)練SVM,生成2個(gè)分類器SVM1和SVM2。為了提高2個(gè)分類器SVM1和SVM2的差異性,在選取L1和L2的過(guò)程中,要保證在二者中各種類型樣本的比例一致,2個(gè)訓(xùn)練集中的樣本不重復(fù),相似度小。
2) 選取信息量豐富的樣本。使用SVM1和SVM2對(duì)U中的樣本w分別進(jìn)行預(yù)測(cè)。若二者相等,即認(rèn)為該樣本是信息量比較小的樣本,進(jìn)行丟棄處理;若不相等,即認(rèn)為是信息量豐富的樣本。
3) 結(jié)果處理。將選取的信息量豐富的樣本作為主動(dòng)學(xué)習(xí)選取的結(jié)果,交給交叉驗(yàn)證半監(jiān)督分類算法CV-S3VM[15],對(duì)其進(jìn)行標(biāo)記。
步驟4: 使用交叉驗(yàn)證半監(jiān)督學(xué)習(xí)算法CV-S3VM對(duì)無(wú)標(biāo)記樣本進(jìn)行標(biāo)記[15]。具體過(guò)程如下。
1) 假設(shè)對(duì)樣本進(jìn)行m分類(m≥2),對(duì)于從步驟3U中選取的無(wú)標(biāo)記樣本w,使用Mi(取值為1,2,…,m-1,m)分別對(duì)其進(jìn)行偽標(biāo)記,共形成m個(gè)分類假設(shè)。對(duì)任意一個(gè)分類假設(shè),將(w,Mi)添加到有標(biāo)記集L中,形成新的有標(biāo)記集。
2) 對(duì)于每個(gè)新的有標(biāo)記樣本集L,將其分為k組。每次都將每組的子樣本集做1次驗(yàn)證集,其余的K-1組子樣本集作為訓(xùn)練集,得到k種數(shù)據(jù)模型。在這K種數(shù)據(jù)模型中,每次都使用訓(xùn)練集訓(xùn)練SVM,使用驗(yàn)證集進(jìn)行驗(yàn)證,每種數(shù)據(jù)模型對(duì)應(yīng)一個(gè)分類準(zhǔn)確率。使用式(3)計(jì)算k個(gè)模型的分類準(zhǔn)確率均值,并根據(jù)式(4)計(jì)算對(duì)應(yīng)的誤差率。
(3)
式中:acci表示使用偽標(biāo)記Mi后的分類準(zhǔn)確率;acci(j)表示第j個(gè)分類器的分類正確率。
ei=1-acci。
(4)
式中ei表示使用偽標(biāo)記Mi后的誤差。
選取使得誤差率最小的標(biāo)記Mx,將其作為w的最終標(biāo)記,并將標(biāo)記后的(w,Mx)添加到L中,擴(kuò)充有標(biāo)記集L。
步驟5: 反復(fù)迭代。
將新增加的標(biāo)記樣本添加到有標(biāo)記樣本集L中,形成新的有標(biāo)記樣本集,重復(fù)步驟3,反復(fù)迭代,直到未標(biāo)記樣本集U為空。
步驟6: 生成最終的半監(jiān)督分類器。
使用最終的有標(biāo)記樣本集L訓(xùn)練SVM,生成最終的半監(jiān)督分類器。
步驟7: 實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)數(shù)據(jù)的入侵檢測(cè)。
使用步驟6生成的半監(jiān)督分類器實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)數(shù)據(jù)的入侵檢測(cè)。按照式(5)統(tǒng)計(jì)實(shí)驗(yàn)結(jié)果,求分類正確率,同時(shí)統(tǒng)計(jì)迭代次數(shù)。
正確分類率=
(5)
2.3算法實(shí)現(xiàn)
算法的具體實(shí)現(xiàn)如圖2所示,主要包括選取信息量豐富的未標(biāo)記樣本、用半監(jiān)督學(xué)習(xí)算法對(duì)未標(biāo)記樣本進(jìn)行標(biāo)記和入侵檢測(cè)3個(gè)部分。
圖2 算法偽代碼
實(shí)驗(yàn)平臺(tái)選用PC進(jìn)行,其中軟硬件環(huán)境如下:CPU為Intel Core2 Duo 2.0GHz、內(nèi)存2.0GB,安裝Windows XP 操作系統(tǒng)和MATLAB R2009b軟件。SVM選用臺(tái)灣大學(xué)林智仁等開發(fā)的libsvm-mat-2.89-3。
采用KDD CUP 99數(shù)據(jù)集進(jìn)行半監(jiān)督分類實(shí)驗(yàn)。其中:無(wú)標(biāo)記訓(xùn)練集由從KDD CUP 99的“10% KDD”數(shù)據(jù)集中隨機(jī)抽取的500條正常數(shù)據(jù)和500 條攻擊類型數(shù)據(jù)組成;有標(biāo)記訓(xùn)練數(shù)據(jù)集是從KDD CUP 99 的“10% KDD”數(shù)據(jù)集中隨機(jī)抽取36條數(shù)據(jù)組成;測(cè)試數(shù)據(jù)集由從KDD CUP 99 的“Corrected KDD”數(shù)據(jù)集中隨機(jī)抽取的500條正常數(shù)據(jù)和500條攻擊類型數(shù)據(jù)組成。
有標(biāo)記數(shù)據(jù)中每個(gè)樣本有41 個(gè)不同的屬性(其中32個(gè)連續(xù)屬性和9個(gè)離散屬性)和1個(gè)攻擊類型(可分為正常或異常,也可按照攻擊類型進(jìn)行細(xì)分);無(wú)標(biāo)記集數(shù)據(jù)中,每個(gè)樣本有41 個(gè)不同的屬性。為了方便實(shí)現(xiàn)對(duì)數(shù)據(jù)的訓(xùn)練和測(cè)試,對(duì)樣本中數(shù)據(jù)屬性(離散值)進(jìn)行數(shù)值化處理,具體的講就是使用數(shù)字對(duì)其進(jìn)行編號(hào)。比如將攻擊類型分為正常數(shù)據(jù)和攻擊數(shù)據(jù),分別用0和1進(jìn)行編號(hào),對(duì)服務(wù)類型aol、auth、…、 whois等使用1、2、…、68等進(jìn)行編號(hào),對(duì)協(xié)議TCP、UDP、ICMP等分別用1、2、3等進(jìn)行編號(hào),以實(shí)現(xiàn)數(shù)值化[12,16-18]。
實(shí)驗(yàn)數(shù)據(jù)中,有標(biāo)記樣本訓(xùn)練集的組成如表1所示,Normal代表正常的數(shù)據(jù),DOS、R2L、U2R和Probe分別代表異常數(shù)據(jù)。有標(biāo)記樣本訓(xùn)練集,作為分類器的初始化訓(xùn)練集。實(shí)驗(yàn)根據(jù)有標(biāo)記樣本集選取數(shù)目的不同分3類分別進(jìn)行。
對(duì)于3類半監(jiān)督分類實(shí)驗(yàn)數(shù)據(jù)集,分別使用普通的SVM方法(即訓(xùn)練集僅使用初始的有標(biāo)記樣本集)和Active CV-S3VM方法(本文提出的、結(jié)合主動(dòng)學(xué)習(xí)和半監(jiān)督學(xué)習(xí)的分類算法,使用主動(dòng)學(xué)習(xí)縮減無(wú)標(biāo)記樣本規(guī)模,使用半監(jiān)督學(xué)習(xí)挖掘無(wú)標(biāo)記樣本信息)進(jìn)行入侵檢測(cè)實(shí)驗(yàn)。每種實(shí)驗(yàn)各自進(jìn)行3次,然后求平均值,每次實(shí)驗(yàn)按照式(5) 計(jì)算正確分類率。
表1 實(shí)驗(yàn)數(shù)據(jù)集
表2 實(shí)驗(yàn)結(jié)果
對(duì)比SVM和Active CV-S3VM2種分類方法的分類正確率和迭代次數(shù),實(shí)驗(yàn)結(jié)果如表2所示。其中分類正確率通過(guò)圖3進(jìn)一步形象地反映出來(lái)。
通過(guò)表2可以看出,Active CV-S3VM使用主動(dòng)學(xué)習(xí)對(duì)無(wú)標(biāo)記樣本進(jìn)行篩選,僅選取信息量豐富的樣本數(shù)目進(jìn)行標(biāo)記,這大大減少了半監(jiān)督學(xué)習(xí)的工作量,需要進(jìn)行樣本標(biāo)記的次數(shù)減少(表2中提到的迭代次數(shù)),從實(shí)驗(yàn)集中所需要的1 000次降低到4.33次,問(wèn)題規(guī)??s減到原來(lái)的0.433%,算法的工作效率得到了較好提高。
通過(guò)表2和圖3可以看出, Active CV-S3VM使用半監(jiān)督學(xué)習(xí)方法挖掘未標(biāo)記樣本的信息,對(duì)無(wú)標(biāo)記數(shù)據(jù)進(jìn)行標(biāo)記,擴(kuò)充了有標(biāo)記樣本的數(shù)據(jù),用新的訓(xùn)練集訓(xùn)練生成分類器,其對(duì)應(yīng)的分類率明顯比SVM要高,平均提高了4.30%,且具有穩(wěn)定性。 可見,主動(dòng)學(xué)習(xí)能較好地降低網(wǎng)絡(luò)數(shù)據(jù)規(guī)模,與半監(jiān)督學(xué)習(xí)相結(jié)合,選取信息量高的數(shù)據(jù)進(jìn)行標(biāo)記,能較好地提高網(wǎng)絡(luò)入侵檢測(cè)性能。
圖3 入侵檢測(cè)正確率對(duì)比圖
本文對(duì)主動(dòng)學(xué)習(xí)算法進(jìn)行簡(jiǎn)化,將簡(jiǎn)化后的主動(dòng)學(xué)習(xí)和半監(jiān)督學(xué)習(xí)進(jìn)行結(jié)合,并將其應(yīng)用到網(wǎng)絡(luò)入侵檢測(cè)領(lǐng)域。通過(guò)KDD CUP 99數(shù)據(jù)集進(jìn)行半監(jiān)督入侵檢測(cè)實(shí)驗(yàn),其結(jié)果表明,該算法操作簡(jiǎn)單,能有效地縮減樣本規(guī)模,提高分類率,有效地提高網(wǎng)絡(luò)入侵檢測(cè)性能。
[1]McHugh J, Christie A, Allen J. Defending Yourself:The Role of Intrusion Detection Systems[J]. Software, IEEE, 2000, 17(5): 42-51.
[2]蔣建春, 馬恒太, 任黨恩, 等. 網(wǎng)絡(luò)安全入侵檢測(cè): 研究綜述[J]. 軟件學(xué)報(bào), 2000, 11: 1460-1466.
[3]趙曦濱, 井然哲, 顧明. 基于粗糙集的自適應(yīng)入侵檢測(cè)算法[J]. 清華大學(xué)學(xué)報(bào):自然科學(xué)版, 2008, 48(7): 1165-1168.
[4]彭宏,吳鐵峰,張東娜.粗糙模糊模型及其在入侵檢測(cè)中的應(yīng)用[J].西華大學(xué)學(xué)報(bào):自然科學(xué)版,2005,24(3):1-3.
[5]王翼,劉興偉.基于免疫算法的入侵檢測(cè)系統(tǒng)[J].西華大學(xué)學(xué)報(bào):自然科學(xué)版,2006,25(5):48-50.
[6]黃艷秋. IA-SVM 算法在網(wǎng)絡(luò)入侵檢測(cè)中的研究[J]. 計(jì)算機(jī)仿真, 2011, 28(1): 182-185.
[7]夏戰(zhàn)國(guó), 萬(wàn)玲, 蔡世玉,等. 一種面向入侵檢測(cè)的半監(jiān)督聚類算法[J]. 山東大學(xué)學(xué)報(bào):工學(xué)版,2012,42(6):1-6.
[8]李永忠, 胡翰. 基于主動(dòng)學(xué)習(xí)的半監(jiān)督聚類入侵檢測(cè)算法[J]. 江蘇科技大學(xué)學(xué)報(bào): 自然科學(xué)版, 2010, 24(2): 160-163.
[9]陸悠,李偉,羅軍舟,等. 一種基于選擇性協(xié)同學(xué)習(xí)的網(wǎng)絡(luò)用戶異常行為檢測(cè)方法[J].計(jì)算機(jī)學(xué)報(bào),2014,37(1):28-41.
[10]Li M, Zhou Z H. Improve Computer-aided Diagnosis with Machine Learning Techniques using Undiagnosed Samples[J]. Systems, Man and Cybernetics, Part A: Systems and Humans, IEEE Transactions on, 2007, 37(6): 1088-1098.
[11]PACHGHARE V K, KHATAVKAR V K,KULKARNIP. Performance Anaysis of Semi-supervised Intrusion Detection System[J]. International Journal of Computer Applications,2011,NSC(4):15-19.
[12]趙建華. 半監(jiān)督學(xué)習(xí)在網(wǎng)絡(luò)入侵分類中的應(yīng)用研究[J]. 計(jì)算機(jī)應(yīng)用研究, 2014, 31(6): 1874-1876.
[13]趙悅,穆志純. 基QBC 的主動(dòng)學(xué)習(xí)研究及其應(yīng)用[J].計(jì)算機(jī)工程,2006,32(24):23-25.
[14]Melville P, Mooney R J. Diverse Ensembles for Active Learning[C]//Proceedings of the 21st International Conference on Machine Learning. New York:ACM Press,2004:584-591.
[15]趙建華. 一種基于交叉驗(yàn)證思想的半監(jiān)督分類方法[J].西南科技大學(xué)學(xué)報(bào):自然科學(xué)版,2014,29(1):34-38.
[16]趙建華, 李偉華. 有監(jiān)督SOM神經(jīng)網(wǎng)絡(luò)在入侵檢測(cè)中的應(yīng)用[J]. 計(jì)算機(jī)工程, 2012, 38 (12): 110-111.
[17]陽(yáng)時(shí)來(lái), 楊雅輝, 沈晴霓, 等. 一種基于半監(jiān)督 GHSOM 的入侵檢測(cè)方法[J]. 計(jì)算機(jī)研究與發(fā)展, 2013, 50(11): 2375-2382.
[18]錢燕燕, 李永忠, 余西亞. 基于多標(biāo)記與半監(jiān)督學(xué)習(xí)的入侵檢測(cè)方法研究[J]. 計(jì)算機(jī)科學(xué), 2015, 42(2): 134-136.
(編校:饒莉)
NetworkIntrusionDetectionAlgorithmBasedonActiveLearningandSemi-supervisedLearning
ZHAO Jian-hua1,2,Liu Ning3
(1.SchoolofMathematicsandComputerApplication,ShangluoUniversity,Shangluo726000China;2.CollegeofComputer,NorthwesternPolytechnicalUniversity,Xi’an710072China;3.FacultyofEconomicsandManagement,ShangluoUniversity,Shangluo726000China)
In order to improve the classification performance of network intrusion detection, a kind of intrusion detection algorithm is proposed based on active learning and semi-supervised. The active learning algorithm was simplified, and two classifiers were trained with labeled samples to predict the unlabeled sample. The unlabeled samples that were predicted differently by the two classifiers were considered as rich information samples, and were labeled using a semi-supervised learning algorithm and were added to the training set of active learning and semi supervised learning to train classifier. The iteration was repeated until the unlabeled set was empty. The final classifier was trained and generated by the newest labeled training set. The experiment was carried out on KDD CUP 99 data set. The results show that the classification rate increased by 4.3% and the problem scale was reduced greatly .
active learning; semi-supervised learning; intrusion detection
2015-04-23
陜西省自然科學(xué)基礎(chǔ)研究計(jì)劃資助項(xiàng)目(2015JM6347);商洛學(xué)院博士啟動(dòng)基金項(xiàng)目(14SKY026)。
趙建華(1982—),男,副教授,博士,主要研究方向?yàn)榘氡O(jiān)督學(xué)習(xí)、網(wǎng)絡(luò)安全。E-mail:zhaojh2009@aliyun.com
TP181; TP393.08
:A
:1673-159X(2015)06-0053-05
10.3969/j.issn.1673-159X.2015.06.011