顧凌云
(上海冰鑒信息科技有限公司,上海 200120)
網(wǎng)絡(luò)安全維護(hù)是一項非常復(fù)雜的系統(tǒng)工程,僅靠傳統(tǒng)單一的防御手段和低級別的技術(shù)手段難以達(dá)到理想效果,借助更高水平的網(wǎng)絡(luò)入侵檢測技術(shù)解決此類問題的趨勢不可阻擋。筆者在此解析了網(wǎng)絡(luò)入侵及檢測、機(jī)器學(xué)習(xí)的概念,分析了支持向量機(jī)、蟻群算法等原理,然后構(gòu)建基于機(jī)器學(xué)習(xí)的網(wǎng)絡(luò)入侵模型,最后對模型檢測質(zhì)量予以實(shí)驗(yàn)驗(yàn)證。
網(wǎng)絡(luò)入侵是以網(wǎng)絡(luò)為渠道的非法侵害行為。當(dāng)前較為常見的網(wǎng)絡(luò)入侵路徑主要包括經(jīng)協(xié)議缺陷入侵、經(jīng)系統(tǒng)漏洞入侵和以病毒程序寄生系統(tǒng)。所謂的網(wǎng)絡(luò)入侵檢測,是專門針對網(wǎng)絡(luò)入侵行為做出的反應(yīng),即監(jiān)測、發(fā)現(xiàn)存在的各種已知和未知的網(wǎng)絡(luò)訪問異常并對其做出警示,其入侵檢測系統(tǒng)(IDS)主要由數(shù)據(jù)包嗅探、數(shù)據(jù)預(yù)處理器、網(wǎng)絡(luò)檢測引擎、報警和日志模塊四部分構(gòu)成(見圖1)。數(shù)據(jù)包嗅探主要負(fù)責(zé)監(jiān)聽網(wǎng)絡(luò)數(shù)據(jù)包,對網(wǎng)絡(luò)行為進(jìn)行數(shù)據(jù)采集;數(shù)據(jù)預(yù)處理器對網(wǎng)絡(luò)數(shù)據(jù)包內(nèi)容進(jìn)行初步提煉,發(fā)現(xiàn)原始數(shù)據(jù)中的“異?,F(xiàn)象”,形成可供分析的結(jié)構(gòu)化的數(shù)據(jù)內(nèi)容;檢測引擎依據(jù)預(yù)先設(shè)置的相關(guān)規(guī)則來檢查數(shù)據(jù)包,一旦發(fā)現(xiàn)異常立即反饋給報警模塊;報警和日志模塊就是存儲引擎提供的異常信號并發(fā)出警示[1]。
圖1 網(wǎng)絡(luò)入侵檢測系統(tǒng)結(jié)構(gòu)圖
機(jī)器學(xué)習(xí)(Machine Learning)是一種基于大數(shù)據(jù)環(huán)境的計算機(jī)模擬人類學(xué)習(xí)行為的過程。它可以在一定程序設(shè)定下進(jìn)行類人學(xué)習(xí)活動并且具備自動重組已有知識結(jié)構(gòu)實(shí)現(xiàn)功能升級的能力。機(jī)器學(xué)習(xí)涉及眾多算法,任務(wù)和學(xué)習(xí)理論,從任務(wù)類型來看,機(jī)器學(xué)習(xí)模型可包括回歸模型、分類模型和結(jié)構(gòu)化學(xué)習(xí)模型;從學(xué)習(xí)方法層面來看,機(jī)器學(xué)習(xí)可分為線性模型和非線性模型,非線性模型包括SVM、KNN等傳統(tǒng)模型和深度學(xué)習(xí)模型;此外根據(jù)學(xué)習(xí)理論還可以將其劃分為有監(jiān)督學(xué)習(xí)、半監(jiān)督學(xué)習(xí)、無監(jiān)督學(xué)習(xí)、遷移學(xué)習(xí)和強(qiáng)化學(xué)習(xí)幾種[2]。
支持向量機(jī)(SupportVectorMachine,SVM)是一種二分類模型,它的基本模型是定義在特征空間上的間隔最大的線性分類器,其學(xué)習(xí)策略便是間隔最大化;SVM最基本的應(yīng)用是分類,其學(xué)習(xí)算法就是求解凸二次規(guī)劃的最優(yōu)化算法,即求解最優(yōu)的分類面[3]。SVM性能優(yōu)異屬于專門針對小樣本的機(jī)器學(xué)習(xí)算法,其工作原理類似于神經(jīng)網(wǎng)絡(luò),是基于結(jié)構(gòu)風(fēng)險最小化理論之上在特征空間構(gòu)建最優(yōu)分隔超平面,以此讓學(xué)習(xí)器實(shí)現(xiàn)全局最優(yōu)化,并且在整個樣本空間的期望風(fēng)險以某個概率滿足一定上界,其原理如圖2所示。
圖2 最優(yōu)分類平面的示意圖
以函數(shù)φ(x)對具有n個樣本的集合{(x1,y1),…,(xi,yi),…,}(xn,yn)進(jìn)行映射處理,樣本劃分也在映射空間進(jìn)行,以關(guān)系式表示:
該算式中以w作為權(quán)值,以b表示閾值。通過找到最優(yōu)的w值和b值從而確立最優(yōu)分類平面,但是要想以直接求解算式(1)而得出最優(yōu)的w與b值并不容易,可以依據(jù)結(jié)構(gòu)風(fēng)險最小化原理,設(shè)置約束關(guān)系式:
處于快速建??紤],可以采用松弛變量ξi來折中處理分類精度及分類誤差,得到如下形式的最優(yōu)分類平面:
針對上式的越約束條件為:
其約束條件設(shè)置為:
然后基于非線性分類相關(guān)問題,將核函數(shù)k(xi,xj)引入算式(5)則可以得到:
選擇徑向基函數(shù),由此得到:
上面算式中σ代表核寬度參數(shù)值。
結(jié)合以上支持向量機(jī)的工作原理,經(jīng)過分析我們可以發(fā)現(xiàn),參數(shù)核寬度參數(shù)σ和測算誤差懲罰參數(shù)C能夠?qū)C(jī)器的學(xué)習(xí)性能產(chǎn)生一定影響。在此選擇一批訓(xùn)練樣本,對其不同參數(shù)條件下的網(wǎng)絡(luò)入侵檢測準(zhǔn)確度進(jìn)行分析,得到如表1所示結(jié)果。
表1 參數(shù)C與參數(shù)σ對支持向量機(jī)學(xué)習(xí)性能的影響情況
由對表1數(shù)據(jù)的分析可以發(fā)現(xiàn),即便在相同環(huán)境和數(shù)據(jù)條件下,不同參數(shù)的入侵檢測效果依然會出現(xiàn)較大差異,所以必須選擇最優(yōu)的C和σ參數(shù)值。
螞蟻在覓食過程中分工明確,工蟻會在覓食路線和食物附近留下具有自身獨(dú)特辨識性的生物信息素,從而便于其他螞蟻跟從,留下的信息素濃度越高則越便于蟻群識別,并將食物順利搬入巢穴[4]。蟻群算法就是基于這種生物特征的一種非常形象的信號線索優(yōu)化算法。該算法的基本工作原理詳見圖3所示。
圖3 蟻群算法的工作原理
如果假設(shè)螞蟻數(shù)量為m,可以得到以下計算公式:
算式中bi(t)指的是 節(jié)點(diǎn)i上的螞蟻數(shù)量。那么在t時刻,i節(jié)點(diǎn)和j節(jié)點(diǎn)上的路徑 (i,j) 所留下的螞蟻信息素濃度可以表示如下:
其中τij(t)就是( i,j)路徑上的信息素濃度。
當(dāng)蟻群算法初始點(diǎn)τij(t)(0)= 0,那么螞蟻對于下一個節(jié)點(diǎn)選擇的轉(zhuǎn)移概率可以按照以下算式進(jìn)行計算:
上式中:ηj表示從i節(jié)點(diǎn)轉(zhuǎn)移到j(luò)節(jié)點(diǎn)的局部啟發(fā)信息;allowed k代表沒有訪問的節(jié)點(diǎn)集合;α與β則代表權(quán)重參數(shù)。經(jīng)過一段時間蟻群在完成一次路徑搜索后開始尋找新的路徑信息素,可以表示為以下關(guān)系式:
算式中Q是一個常量;LK表示的是該次循環(huán)的總時間數(shù)。
結(jié)合上述算法原理,采用如下算法邏輯對網(wǎng)絡(luò)入侵檢測中的參數(shù)進(jìn)行優(yōu)化:
網(wǎng)絡(luò)入侵檢測步驟如下:
步驟一:收集有關(guān)于網(wǎng)絡(luò)狀態(tài)的所有信息并從中提取出網(wǎng)絡(luò)入侵檢測特征,然后對這些特征進(jìn)行以下處理:
步驟二:以支持向量機(jī)中(c,σ)作為一種蟻群爬行路徑,結(jié)合各組參數(shù)中的網(wǎng)絡(luò)入侵檢測訓(xùn)練樣本構(gòu)建檢測模型,從而可以獲得不同的檢測準(zhǔn)確率。
步驟三:根據(jù)更新操作蟻群信息素以及節(jié)點(diǎn)轉(zhuǎn)移,以此實(shí)現(xiàn)路徑爬行,然后按照路徑最優(yōu)原則找到最佳的(c,σ)參數(shù)組合。
步驟四:利用得到的最佳(c,σ)參數(shù)組合來構(gòu)建最優(yōu)的網(wǎng)絡(luò)入侵檢測模型。鑒于支持向量機(jī)僅有兩種類型的劃分,而網(wǎng)絡(luò)入侵行為多種多樣,文章中的多分類器使用“一對一”的方式來構(gòu)建。
本次實(shí)驗(yàn)測試對象為KDD Cup網(wǎng)絡(luò)入侵檢測數(shù)據(jù)集,其主要的網(wǎng)絡(luò)入侵行為:包括DoS、U2R、R2L幾種。我們從該龐大數(shù)據(jù)集中隨機(jī)選取其1/10數(shù)據(jù)進(jìn)行實(shí)驗(yàn)。為測試本文構(gòu)建的(ACO-SVM)模型效果,將其與BP神經(jīng)網(wǎng)絡(luò)(BPNN)和遺傳算法SVM(GA-SVM)網(wǎng)絡(luò)入侵檢測模型進(jìn)行對比,并進(jìn)行評價:
加強(qiáng)網(wǎng)絡(luò)入侵檢測是確保網(wǎng)絡(luò)安全的重要手段,以機(jī)器學(xué)習(xí)為核心的網(wǎng)絡(luò)入侵檢測模型相比于傳統(tǒng)網(wǎng)絡(luò)防控技術(shù)具有獨(dú)特的技術(shù)優(yōu)勢。通過試驗(yàn)證實(shí)以機(jī)器學(xué)習(xí)為主的網(wǎng)絡(luò)入侵檢測模型,不但可以更加準(zhǔn)確地檢測出多種復(fù)雜入侵行為,而且檢測的效率更高,因此具有極其廣闊的應(yīng)用和發(fā)展前景。