康松林,樊曉平, ,劉楚楚,李宏,安隆熙
(1. 中南大學 信息科學與工程學院,湖南 長沙,410083;2. 湖南財政經(jīng)濟學院 網(wǎng)絡化系統(tǒng)研究所,湖南 長沙,410205)
隨著網(wǎng)絡技術(shù)日新月異的發(fā)展,網(wǎng)絡安全遭受著越來越大的威脅。其中,分布式拒絕服務攻擊(DDoS)是當今網(wǎng)絡安全的最大威脅之一。DDoS 攻擊分為網(wǎng)絡層DDoS 攻擊和應用層DDoS 攻擊。應用層DDoS攻擊具有低速率、合法報文和標記樣本獲取難等特點,因此,比傳統(tǒng)的網(wǎng)絡層DDoS 攻擊更具隱蔽性和破壞力。應用層DDoS 攻擊主要針對Web,DNS 以及SMTP 3 類服務,其中針對Web 應用的攻擊占據(jù)應用層DDoS攻擊的61%,Web 網(wǎng)站服務器是應用層DDoS 的首要攻擊目標。近年來,對于Web DDoS 攻擊的檢測技術(shù)不斷涌現(xiàn),從總體上分為2 種:第1 種是根據(jù)用戶瀏覽行為的統(tǒng)計特征來區(qū)分攻擊流和正常流。如Giralte等[1]提出了對Web 服務器的請求路徑和訪問時間等特征,Devi 等[2]提出了平均訪問時間、網(wǎng)頁請求序列等特征,他們都通過比較正常用戶與異常用戶的上述特征統(tǒng)計量來達到檢測攻擊目的。類似地,王風宇等[3]提出的Web 群體外聯(lián)行為以及Jeyanthi 等[4]提出的網(wǎng)絡流量信息熵等都屬于這一種。這種基于用戶瀏覽行為統(tǒng)計特征的方法取得了很好的效果,但這種單一的統(tǒng)計特征很難應付現(xiàn)今復雜多變的攻擊形式。第2 種是基于機器學習的異常檢測方法。如Kumar 等[5]用神經(jīng)網(wǎng)絡方法對日志記錄進行有監(jiān)督的分類;Stevanovic等[6]分別用2 種無監(jiān)督學習算法SOM 以及modified ART2 對網(wǎng)絡日志記錄進行分類。因為機器學習具有很好的智能性,使得基于有監(jiān)督學習和無監(jiān)督學習算法應用于應用層DDoS 攻擊檢測格外引人關(guān)注。但在實際網(wǎng)絡環(huán)境中,獲得大量的有標記的網(wǎng)絡信息較困難,需要投入大量人力和物力,并且有監(jiān)督學習算法并沒有利用到數(shù)據(jù)集的內(nèi)在幾何分布結(jié)構(gòu),因此,訓練出來的分類器很難具有很強的泛化能力。而無監(jiān)督學習算法雖然訓練樣本較容易獲得,但它又未利用到標記信息的寶貴信息,這對訓練效果產(chǎn)生不利影響。近年來出現(xiàn)了不少半監(jiān)督學習方法,如陽時來等[7]提出一種基于半監(jiān)督GHSOM 的入侵檢測方法,該算法利用少量有標簽的數(shù)據(jù)指導大規(guī)模無標簽數(shù)據(jù)的聚類過程,與無監(jiān)督的GHSOM 算法相比,具有較高的檢測率。半監(jiān)督學習方法主要包括generative models、自訓練方法、直推學習、半監(jiān)督流形學習等。其中,半監(jiān)督流行學習由于受到譜圖聚類[8]和圖結(jié)構(gòu)化核迅速發(fā)展的影響,在學界受到了廣泛關(guān)注。半監(jiān)督流形學習算法可以由正則化框架[9-10]來描述。對已辨識樣本的損失函數(shù)加上光滑正則項,使整個圖的標識盡可能光滑。這種學習算法能夠挖掘數(shù)據(jù)的內(nèi)在結(jié)構(gòu),使判決函數(shù)更加精確,可以達到更好的分類效果。在實際的網(wǎng)絡環(huán)境中,用于應用層Web DDoS 攻擊檢測的訓練數(shù)據(jù)集是大量原始未標記的樣本,人工標記的樣本只占很少一部分,因此,本文提出用半監(jiān)督流形正則化算法檢測Web DDoS 攻擊。
數(shù)據(jù)分類時,獲取足夠多且有質(zhì)量保證的標記樣本需要花費大量人力和時間。在少量標記樣本的基礎(chǔ)上挖掘大量未標記樣本中寶貴的有效信息則成為數(shù)據(jù)分類的關(guān)鍵。小樣本的學習問題使得半監(jiān)督學習倍受青睞。半監(jiān)督學習是基于有監(jiān)督學習和無監(jiān)督學習的機器學習算法。未標記樣本能提供的僅僅是有關(guān)邊緣分布的知識,若這部分知識與目標問題不相關(guān),則引入未標記樣本不會帶來實際幫助。事實上,所有半監(jiān)督學習算法都直接或間接地通過某種模型假設(shè)來建立未標記樣本與目標問題的聯(lián)系。本文作者基于平滑假設(shè)和流形假設(shè)提出一種基于圖的半監(jiān)督算法——流形正則化。
流形正則化用加權(quán)鄰接圖表示數(shù)據(jù)的局部幾何特性,圖的節(jié)點表示樣本,邊的權(quán)重則反映樣本的相似度信息。樣本間的距離通過圖上的最小路徑得到[11-12]。直觀地講,樣本的條件分布在數(shù)據(jù)的鄰接圖上變化平緩,在具體實現(xiàn)中往往用基于圖的正則項修正其在圖上的不平滑性。
根據(jù)Representer Theorem 定理[9],可以得到1 個l+u 維變量α=[α1,α2,…,αl+u]T的凸可微目標函數(shù):
其中:K 為基于標記和未標記點的(l+u)×(l+u)維的格拉姆矩陣; Y 為(l+u) 維的標簽向量,Y=[ y1,… ,yl,0,…,0];J 為1 個對角全由1 和0 組成的對角矩陣,J=diag(1,…,1,0,…0)。根據(jù)文獻[9],解得
基于半監(jiān)督流形正則化的小樣本W(wǎng)eb DDoS 攻擊檢測方法分為2 步:第1 步,在1 個時間窗口內(nèi)以IP地址或域名為標識,將過濾后的Web 日志映射到1 個14 維的特征空間以描述用戶的訪問行為;第2 步,采用Laprls 最小二乘法對小樣本數(shù)據(jù)進行分類預測以區(qū)分正常用戶與非正常用戶。具體流程如圖1 所示。
圖1 Web DDoS 攻擊檢測流程圖Fig.1 Flow chart of Web DDos detection
網(wǎng)站日志是記錄Web 服務器接收處理請求以及運行時產(chǎn)生錯誤等各種原始信息的文件。網(wǎng)站日志蘊含著大量的訪問信息,但若直接用于構(gòu)造數(shù)據(jù)集進行分類預測,則會造成時間和成本浪費。下面研究如何在服務端的網(wǎng)站日志中提取有效的特征來描述用戶的訪問行為,以區(qū)分攻擊用戶和合法用戶。
在網(wǎng)站日志中,每條記錄代表1 次用戶的訪問行為。而用戶的1 次點擊行為可以造成網(wǎng)站日志中的多條記錄,如鼠標僅點擊1 次,瀏覽器卻發(fā)出很多HTTP GET 請求,包含主頁面的對象請求和嵌入式對象的請求(包括各種gif,jpeg,js,ico 和CSS 等)。因此,首先要把這些嵌入的對象過濾,將訪問的主頁面對象取出來。主頁面一般是以/,htm,html 和shtml 等結(jié)尾的靜態(tài)頁面的URL,以及以.asp,jsp,.cgi,.php 和.peri結(jié)尾或者較長且包含符號“? ”的動態(tài)頁面URL。
在過濾掉冗余的嵌入式對象請求后,網(wǎng)絡日志仍然不能直接用于建模分析。這是因為過濾掉的僅僅是用戶1 次點擊所產(chǎn)生的冗余信息,而用戶的1 次瀏覽行為中只有1 次點擊的很少,所以,刻畫用戶的訪問行為不能以單次點擊作為1 個示例進行研究。為此,本文提出在1 個時間窗口內(nèi)以IP 地址或域名為標識,分析用戶行為特征,將過濾后的網(wǎng)站日志投射到1 個14 維的特征空間以描述用戶的訪問行為。特征屬性如表1 所示。
通過對用戶行為特征的提取,把每條原始日志信息變?yōu)? 個14 維的矩陣,其中:1~13 列為提取的用戶行為特征;14 列為標簽屬性。通過特征提取后的數(shù)據(jù)集可以直接用于分類預測,為Laprls 最小化二乘法檢測應用層Web DDoS 攻擊奠定了基礎(chǔ)。
表1 特征屬性Table 1 Feature attributions
輸出:估計函數(shù)f :Rn→R;
步驟1:使用( l+ u)節(jié)點構(gòu)造數(shù)據(jù)鄰接圖。選擇邊權(quán)重Wij。即若xi為xj的鄰居結(jié)點,則Wij=1 ,否則Wij=0。
步驟4:經(jīng)驗選擇正則化參數(shù) γA和 γI,根據(jù)式(4)計算 α*。
算法利用少量標記樣本和大量未標記樣本一起參與圖的建立,進而用圖來逼近流形。由于流形假設(shè)高維的數(shù)據(jù)位于低維的流形上,利用流形可以幫助尋找高維數(shù)據(jù)空間內(nèi)隱含的光滑低維流形和挖掘數(shù)據(jù)的內(nèi)在結(jié)構(gòu)得到更精確的判決函數(shù)[16]。此外,一個單核的SVM 分類器[17]對于處理多源或多屬性復雜數(shù)據(jù)集可能是無效的。而多個內(nèi)核可以對應多個不同源的信息或相似性等概念,同時可以表現(xiàn)不同特征之間的差異。因此,擴展了LapSVM 到多核的場合[18],即拉普拉斯算子的多內(nèi)核學習,提高更復雜數(shù)據(jù)的半監(jiān)督分類能力。算法根據(jù)判決函數(shù)對測試樣本集進行判決分類,以區(qū)分正常用戶與非正常用戶,達到更好的分類效果。
實驗正常用戶記錄來自于真實的ClarkNet-HTTP數(shù)據(jù)集,該數(shù)據(jù)集記錄了美國馬里蘭州埃利科特城英特網(wǎng)服務提供商ClarkNet 的正常用戶訪問數(shù)據(jù)。記錄時間跨度為14 d,共有3 328 587 條記錄。數(shù)據(jù)格式為網(wǎng)站日志。
由于ClarkNet-HTTP 數(shù)據(jù)集數(shù)據(jù)量巨大,因此,將時間窗口設(shè)置為1 h 并截取其中21 459 條用戶訪問記錄,通過對干擾請求對象過濾后提取3 423 條頁面請求記錄。
將攻擊工具產(chǎn)生的攻擊數(shù)據(jù)與從真實數(shù)據(jù)集提取出來的3 423 條記錄混合形成Web DDoS 攻擊檢測數(shù)據(jù)集。將這個數(shù)據(jù)集根據(jù)表1 中的特征映射到14 維向量空間得到包含1 395條正常用戶記錄和4 000條攻擊用戶記錄的數(shù)據(jù)集。仿真程序開發(fā)平臺采用Visual Studio 2008 C#。
實驗仿真了4 種常見的應用層Web DDoS 攻擊:
1) 單URL 重復攻擊,以固定或者隨機速率反復請求單一頁面。
2) 多URL 重復攻擊,以固定或者隨機速率請求多個不同的頁面。
3) 基于頁面鏈接的隨機選擇,掃描網(wǎng)站的所有頁面,以固定或者隨機速率隨機地請求網(wǎng)站中的頁面。
4) 會話重放DDoS 攻擊,攻擊者通過周期性模仿正常用戶瀏覽過程發(fā)送惡意請求。
實驗采用樸素貝葉斯概率分類算法、貝葉斯網(wǎng)絡概率分類算法和C4.5 決策樹分類算法來評價提取的特征是否合理。評價指標使用總體準確率、檢出率和誤檢率。定義:
其中:η1為總體準確率;η2為檢出率;η3為誤檢率;a11為本屬于攻擊用戶被正確預測為攻擊用戶的樣本數(shù)量;a12為本屬于攻擊用戶被錯誤預測為合法用戶的樣本數(shù)量;a21為本屬于合法用戶被錯誤預測為攻擊用戶的樣本數(shù)量;a22為本屬于合法用戶被正確預測為合法用戶的樣本數(shù)量。表2 所示為實驗結(jié)果,其中序號1 為單URL 重復攻擊,序號2 為多URL 重復攻擊,序號3 為基于頁面鏈接的隨機選擇攻擊,序號4 為會話重放DDoS 攻擊。
從表2 可以看出:這3 種分類器對這4 種攻擊的檢出率都為1,即能夠完全檢測出這4 種攻擊,說明本文所提出的檢測方法能夠很好地區(qū)分合法用戶與這4 種攻擊類型的非法用戶;但同時對每一種攻擊的檢測都存在少量誤檢。這是由于應用層DDoS 攻擊模擬正常用戶的訪問行為,導致分類器錯將該類型攻擊用戶分為合法用戶。
表2 4 種應用層DDoS 攻擊檢測結(jié)果Table 2 Test results of four types of DDoS attack on application layer
從表3 可以看出:在只有極少數(shù)標記樣本,例如標記樣本數(shù)為2,4,8 時,Laprls 的正確率仍在80%以上,而其他幾種算法的正確率卻低于68%;隨著標記樣本數(shù)量的增加,各種算法的正確率都有所增加,但在這種少量標記樣本的前提下,SVM,RLS 和K-NN的正確率還是大大低于Laprls 的正確率。隨著標記樣本的增加,SVM 和RLS 的正確率波動比較明顯,而Laprls 的變化比較平緩。這是因為SVM 和RLS 依賴于對標記信息的學習,因此,隨著標記數(shù)目的變化,正確率有明顯浮動;而對于半監(jiān)督的Laprls 最小二乘法,既可以利用無標記樣本又可以利用有標記樣本學習。因此,在小樣本情況下,Laprls 算法有很高的的正確率,同時也具有很好的魯棒性。
表3 不同標記樣本數(shù)時各檢測算法的正確率Table 3 Correct rate of algorithms for different number of labelled samples %
為了驗證不同算法對未標記樣本的學習利用情況,在實驗中保持標記樣本數(shù)量不變,不斷增加未標記樣本數(shù)量,觀察不同算法在未標記樣本增加的情況下正確率的變化情況。實驗中保持訓練樣本中標記樣本數(shù)量為10 不變,未標記樣本從200 到500,每50增加1 次。每次實驗循環(huán)20 次求平均值,實驗結(jié)果如圖2 所示。
從圖2 可以看到:在相同標記樣本數(shù)、不同未標記樣本數(shù)的情況下,Laprls 的正確率有所提高,而RLS,SVM 和K-NN 這3 種算法的正確率在小范圍內(nèi)有所波動。因為RLS 和SVM 是利用有限的標記樣本進行學習,而當標記樣本數(shù)目不變時,對RLS 和SVM的影響不大。但標記樣本占總樣本的比例有所變化,因而,這3 種算法的正確率會有所影響,在小范圍內(nèi)波動。而對于Laprls 算法,雖然標記樣本沒有變化,但隨著未標記樣本的增加,正確率也有所增加。這是因為基于Laprls 最小二乘法的半監(jiān)督算法可以利用未標記信息學習數(shù)據(jù)內(nèi)部的幾何結(jié)構(gòu),從而對訓練樣本有更深層次的挖掘和學習。Laprls 正確率的提高并非隨著未標記樣本數(shù)目的增加而呈線性變化,因為流形正則化用加權(quán)鄰接圖表示數(shù)據(jù)的局部幾何特性,盡管采用正則項對邊的不平滑性做了修正,但是不平滑性仍然存在,所以,正確率出現(xiàn)波動性增加。由于樣本噪聲的存在,在標記樣本與未標記樣本比例小于10:400 時,正確率呈緩慢下滑趨勢。
綜合以上3 個實驗可見:半監(jiān)督Laprls 最小二乘法在小樣本下可以獲得很好的分類效果,可以利用更內(nèi)在的信息達到區(qū)分正常用戶與非正常用戶的目的,適合于Web DDoS 攻擊檢測。
圖2 未標記樣本增量實驗各算法的正確率比較Fig.2 Comparison of correct rate of different algorithms for unlabelled samples incremental experiment
1) 提出了一種基于半監(jiān)督流形正則化的小樣本W(wǎng)eb DDoS 攻擊檢測方法。該方法在對原始Web 日志進行用戶行為特征提取的基礎(chǔ)上,利用少量的標記樣本進行學習的同時,利用大量無標記樣本,挖掘數(shù)據(jù)的內(nèi)在結(jié)構(gòu),使判決函數(shù)更加精確,達到區(qū)分正常用戶與非法用戶的目的。
2) 在少量標記樣本的情況下,Laprls 最小二乘法比支持向量機(SVM)、最小乘方二乘法(RLS)和K-NN具有更好的分類效果。在現(xiàn)實網(wǎng)絡環(huán)境中,這給獲取標記樣本需要付出很大代價的Web DDoS 攻擊檢測問題提供了解決方案。
3) Laprls 最小二乘法的正則化參數(shù)對于檢測的影響以及如何提高檢測實時性等有待進一步研究。
[1] Giralte L C, Conde C, Diego I M, et al. Detecting denial of service by modelling web-server behaviour[J]. Computers and Electrical Engineering, 2013, 39(7): 2252-2262.
[2] Devi S R, Yogesh P. A hybrid approach to counter application layer DDOS attacks[J]. International Journal on Cryptography and Information Security (IJCIS), 2012, 2(2): 45-52.
[3] 王風宇, 曹首峰, 肖軍. 一種基于Web 群體外聯(lián)行為的應用層DDoS 檢測方法[J]. 軟件學報, 2013, 24(6): 1263-1273.WANG Fengyu, CAO Shoufeng, XIAO Jun. Method of detecting application-layer DDoS based on the out-linking behavior of Web community[J]. Journal of Software, 2013, 24(6):1263-1273.
[4] Jeyanthi N, Iyengar N C H. An entropy based approach to detect and distinguish DDoS attacks from flash crowds in VoIP networks[J]. International Journal of Network Security, 2012,14(5): 257-269.
[5] Kumar P A, Selvakumar S. Distributed denial of service attack detection using an ensemble of neural classifier[J]. Computer Communications, 2011, 34(11): 1328-1341.
[6] Stevanovic D, Vlajic N, Aijun A. Detection of malicious and non-malicious website visitors using unsupervised neural network learning[J]. Applied Soft Computing, 2013, 13:698-708.
[7] 陽時來,楊雅輝,沈晴霓,等.一種基于半監(jiān)督GHSOM 的入侵檢測方法[J].計算機研究與發(fā)展, 2013, 50(11): 2375-2382.YANG Shilai, YANG Yahui, SHEN Qingni, et al. A method of intrusion detection based on semi-supervised GHSOM[J].Journal of Computer Research and Development, 2013, 50(11):2375-2382.
[8] Chapelle O, Weston J, Sch?lkopf B. Cluster kernels for semi-supervised learning[J]. Advances in Neural Information Processing Systems, 2003, 15(5): 585-592.
[9] Belkin M, Niyogi P, Sindhwani V. Manifold regularization: A geometric framework for learning from labeled and unlabeled examples[J]. Journal of Machine Learning Research, 2006, 7:2399-2434.
[10] Zhou D, Bousquet O, Lal T N. Learning with local and global consistency[J]. Advances in Neural Information Processing Systems, 2004, 16(3): 321-328.
[11] Yang T, Dongmei F. Semi-supervised classification with Laplacian multiple kernel learning[J]. Neurocomputing, 2014,140(22): 19-26.
[12] Chapelle O, Zien A. Semi-supervised classification by low density separation[C]//Proceedings of the Tenth International Workshop on Artificial Intelligence and Statistics.Bridgetown.Barbados, 2005: 57-64.
[13] Rifkin R M, Yeo G, Poggio T. Advances in Learning Theory:Methods, Model and Applications[M]. Amsterdam: IOS Press,2003: 68-103.
[14] Poggio T, Smale S. The mathematics of learning: Dealing with data[J]. Notices of the American Mathematical Society, 2003,50(5): 537-544.
[15] Zhang P, Peng J. SVM vs. regularized least squares classification[C]//17th International Conference on Pattern Recognition. New Orleans, USA, 2004: 176-179.
[16] 楊林聰, 夏志華. 針對空域LSB 匹配的隱藏信息檢測方法[J].中南大學學報(自然科學版), 2013, 44(2): 612-618.YANG Lincong, XIA Zhihua. Steganalytic method based on spatial LSB matching[J]. Journal of Central South University(Science and Technology), 2013, 44(2): 612-618.
[17] 劉衛(wèi)國, 胡勇剛. 基于SVM 和序列聯(lián)配的攻擊特征提取方法[J]. 中南大學學報(自然科學版), 2012, 43(11): 4328-4332.LIU Weiguo, HU Yonggang. Approach for attack signatures generating based on SVM and sequence alignment[J]. Journal of Central South University (Science and Technology), 2012,43(11): 4328-4332.
[18] Yang T, Fu D. Semi-supervised classification with Laplacian multiple kernel learning[J]. Neurocomputing, 2014, 140(1):19-26.