曹明巖
(福州大學 數(shù)學與計算機學院,福建 福州 350108)
隨著計算機技術(shù)的發(fā)展,基于網(wǎng)絡(luò)連接的安全問題也日益突出,所以,對日益猖獗的入侵行為的檢測和防護已經(jīng)成為各安全機構(gòu)的一個迫切要求。
目前網(wǎng)絡(luò)入侵檢測方法有:應用主分量分析(PCA)和核主分量分析(KPCA)抽取入侵特征,再應用支持向量機(SVM)檢測入侵[1];基于貝葉斯網(wǎng)絡(luò)的異常檢測方法;以及基于機器學習的異常檢測方法等[2]。入侵檢測技術(shù)傳統(tǒng)上分為異常入侵檢測(anomaly detection)和誤用入侵檢測(misuse detection)兩大類型。異常入侵檢測系指建立系統(tǒng)的正常模式輪廓,若實時獲得的系統(tǒng)或用戶的輪廓值與正常值的差異超出指定的閾值,就進行入侵報警。誤用入侵檢測系指根據(jù)已知的攻擊特征檢測入侵,可以直接檢測出入侵行為。Lee 等[3]將數(shù)據(jù)挖掘技術(shù)引入入侵檢測領(lǐng)域,從審計數(shù)據(jù)或數(shù)據(jù)流中提取感興趣的知識,這些知識是隱含的、事先未知的潛在有用信息。提取的知識表示為概念、規(guī)則、規(guī)律、模式等形式,并用這些知識檢測異常入侵和已知的入侵。Ko 等[4]提出了一種介于異常檢測和誤用檢測之間的入侵檢測方法,稱之為基于規(guī)范的入侵檢測方法(specification-based intrusion detection),用于發(fā)現(xiàn)對系統(tǒng)特權(quán)程序的入侵行為。朱芳芳等[5]將加權(quán)支持向量機(WSVM)用于網(wǎng)絡(luò)入侵檢測中,使得入侵檢測在小樣本的條件下仍然具有較好的推廣能力,并結(jié)合同時處理KDD Cup 1999 Data中的連續(xù)數(shù)據(jù)和離散字符,計算機仿真結(jié)果與其他方法比較結(jié)果表明,改進的WSVM入侵檢測方法不但檢測率提高了,而且訓練時間也縮短了。汪世義[6]討論了支持向量機優(yōu)化算法及其在入侵檢測中的應用,實驗表明,基于優(yōu)化支持向量機檢測入侵的方法能較大地提高入侵檢測系統(tǒng)的性能。戴天虹等[7]根據(jù)入侵檢測和支持向量機的特點,提出基于最小二乘支持向量機異常檢測方法,并建立基于支持向量機入侵檢測的模型。
本文首先介紹了加權(quán)支持向量機的基本原理,然后通過實驗驗證加權(quán)支持向量機用于入侵檢測的可行性和有效性。
支持向量機SVM(support vector machine) 的概念是在統(tǒng)計學習理論的基礎(chǔ)上發(fā)展起來的一種新的機器學習方法,是AT&Bell實驗室的Vapnik等人提出的一種針對分類和回歸問題的新型機器學習方法。其主要的特點是根據(jù)Vapnik結(jié)構(gòu)風險最小化原則,提高學習機的泛化能力,即由有限的訓練集樣本得到小的誤差,仍然能夠保證對獨立的測試集保持小的誤差。支持向量機算法是一個凸優(yōu)化問題,所以局部最優(yōu)解一定是全局最優(yōu)解。
由統(tǒng)計學習理論知,最優(yōu)分類超平面是
w·φ(x)+b=0,
(1)
可以通過
(2)
s.t.yi(w·φ(xi)+b)≥1-ξi,
ξi≥0,i=1,2,…,l
的優(yōu)化問題得到解決。其中,ξi是松弛變量,c是由用戶選擇的懲罰因子,c越大對錯誤的懲罰越重。
對于式(2),通過引入Lagrange進行優(yōu)化,轉(zhuǎn)化為對偶形式,對偶優(yōu)化問題可通過二次規(guī)劃解決。
在SVM中,雖然懲罰因子c是由先驗知識選擇的,每個訓練樣本無歧視地采用了相同的c,但在許多應用中,一些比較重要的樣本能被正確地分類,一些沒有意義的樣本會被誤分。本文將加權(quán)理論引入到入侵檢測中。在加權(quán)SVM中,每個訓練點的c是不同的,優(yōu)化問題描述為
(3)
s.t.yi(w·φ(xi)+b)≥1-ξi,
ξi≥0,i=1,2,…,l。
其中,si是第i個訓練樣本的加權(quán)因子,式(3)可通過Lagrange乘子得到Lagrange優(yōu)化問題。
αi,βi≥0,i=1,2,…,l,則
(4)
s.t. 0≤αi,0≤βi。
在解決優(yōu)化問題中,通過極值方程優(yōu)化問題為
式中,K(xi,xj)=φ(xi)·(xj)是核函數(shù),可以通過Platt’s序列最小化優(yōu)化(SMO)解決在這個問題中。α>0的訓練樣本稱作支持向量(SV),它包括邊界支持向量(BSV)和普通支持向量(NSV))。當對應于錯分樣本,SV中αi=csi時為BSV,SV中滿足0≤αi≤csi時為NSV。從計算的αi,得到?jīng)Q策函數(shù)為
(5)
(6)
其中NNSV是NSV的數(shù)目。
加權(quán)SVM的一個重要應用是用來消除數(shù)據(jù)類別不均衡訓練集的分類錯誤率,在提出的加權(quán)SVM中,屬于同一個類的訓練點的加權(quán)因子是一樣的,不同類的加權(quán)因子是不同的,從而約束為
0≤αi≤csi+,i=1,2,…,l,且yi=+1;
0≤αi≤csi-,i=1,2,…,l,且yi=-1。
由
(7)
定義
(8)
由此得到
(9)
(10)
對負類,同樣得到
(11)
其中l(wèi)-是負類的大小,負類錯誤分類率定義為
(12)
由此可以看出,當懲罰系數(shù)沒被加權(quán)時,對于正類和負類的分類錯誤率的上界是不同的。訓練集的數(shù)目越大,對應的分類錯誤率的上界越小,并且有傾向性偏差。因為缺少不正常的樣本,SVM對非正常的類有較高的誤檢測率。為了平衡每個類較高的誤檢測率,加權(quán)系數(shù)要求
(13)
可以看出,小訓練樣本錯誤率的改進是以大訓練樣本錯誤率的可能提高為代價。通過分析加權(quán)SVM對總的分類錯誤率的影響,定義總的分類錯誤率為
(14)
從而有
(15)
若使
從而有
由于s++s-=1,式(15)變?yōu)?/p>
(16)
顯然k=1時整體錯誤率最小,雖然加權(quán)SVM的確減小了小訓練樣本的分類錯誤率,但同時存在增加總體分類錯誤率的風險。
所使用的數(shù)據(jù)來自KDD Cup 1999 Data,這是一個模擬在軍事網(wǎng)絡(luò)環(huán)境下,進行模擬入侵攻擊的大容量數(shù)據(jù)集。其中的每條記錄是一個向量,該向量中包括回話時間、協(xié)議類型、傳輸字節(jié)數(shù)等共41個特征值。特征包括連續(xù)(continuous)和非連續(xù)(symbolic)。數(shù)據(jù)全部采用tcpdump的格式,每條記錄包含34個連續(xù)字段和7個非連續(xù)字段,所有的模擬入侵一共大約有24種不同的攻擊方式,分別屬于4種類型:DoS(denial of service),如同步洪水攻擊;R2L(remote to local),如密碼猜測、特洛伊木馬;U2R(user to root),如緩沖區(qū)溢出攻擊; Probing,如端口掃描。
KDD99共有500萬個樣本,本文采用10%的子集。數(shù)據(jù)預處理:在linux平臺下用C語言編程實現(xiàn)字符串的替換。從樣本數(shù)據(jù)中隨機抽取一定數(shù)量的訓練樣本和測試樣本,測試樣本大于訓練樣本。實驗采用SVM,WSVM等4種方法進行,隨機抽取不同數(shù)目的樣本進行仿真驗證實驗,實驗結(jié)果見表1,同時針對Improved WSVM方法,記錄下每次運行的漏報率和誤報率,以驗證其有效性見表2。
表1 分類準確率結(jié)果
表2 Improved WSVM不同樣本數(shù)下漏報率和誤報率結(jié)果
可以看出改進的WSVM方法比以前的方法分類準確率有了提高,且當樣本數(shù)增大時,分類準確率并沒有一直處于下降的趨勢,另外從錯報率和誤報率結(jié)果來看,數(shù)據(jù)沒有呈現(xiàn)出很大的變化,說明改進方法的有效性。
本文采用了加權(quán)SVM進行入侵的檢測。實驗證明,基于加權(quán)支持向量的入侵檢測方法提高了小樣本的檢測率,削減了數(shù)據(jù)類別不均衡訓練集的使用產(chǎn)生的分類偏差,達到了一定的效果。實驗結(jié)果證明了此改進方法的有效性。
參考文獻:
[1] 高海華,楊輝華,王行愚.基于PCA和KPCA特征抽取的SVM網(wǎng)絡(luò)入侵檢測方法[J].華東理工大學學報:自然科學版,2006,32(3):321-326.
[2] 卿斯?jié)h,蔣建春,馬恒太,等.入侵檢測技術(shù)研究綜述[J].通信學報,2004,25(7):19-29.
[3] LEE W, STOLFO S, MOK K. Mining in a data-flow environment: experience in network intrusion detection[EB/OL]. [2014-04-10]. http://www.cs.columbia.edu/~sal/hpapers/kdd99-id.ps.gz.
[4] KO C, FINK G, LEVITT K. Automated detection of vulnerabilities in privileged programs by execution monitoring[C]//Proceedings of the 10th Annual Computer Security Applications Conference. Orlando: IEEE Computer Society Press, 1994: 134-144.
[5] 朱芳芳,李志華,王士同.改進的入侵檢測方法[J].計算機仿真,2008,25(11):157-160.
[6] 汪世義.基于優(yōu)化支持向量機的網(wǎng)絡(luò)入侵檢測技術(shù)研究[J].計算機技術(shù)與發(fā)展,2009,19(7):177-179.
[7] 戴天虹,王克奇,楊少春.基于支持向量機的入侵檢測研究[J].中國安全科學學報,2008,18(4):126-130.
[8] 李華,張簡政.基于模糊支持向量機的網(wǎng)絡(luò)入侵檢測研究[J].計算機科學,2005,32(11):77-80.
[9] DU Shuxin, CHEN Shengtan. Weighted support vector machinefor classification[C]. Hawaii: IEEE International Conference on Systems, 2005.