尤方萍
(湖北工業(yè)大學(xué) 電氣與電子工程學(xué)院,湖北 武漢 430068)
近年來,網(wǎng)絡(luò)安全問題成為高校不得不面對(duì)的困境,如黑客攻擊、隱私泄露、木馬泛濫等。如何保障校園網(wǎng)絡(luò)安全成為眾多相關(guān)領(lǐng)域?qū)W者的重要研究方向。在眾多黑客攻擊手段中,分布式拒絕服務(wù)攻擊(Distributed Denial of Service,DDoS)是常見的網(wǎng)絡(luò)安全問題。當(dāng)前很多學(xué)者采用對(duì)DDoS攻擊檢測展開研究,如長短記憶網(wǎng)絡(luò)與改進(jìn)殘差神經(jīng)網(wǎng)絡(luò)優(yōu)化的異常流量檢測方法、基于深度學(xué)習(xí)方法、基于小波分析的方法、基于行為特征進(jìn)行快速學(xué)習(xí)的動(dòng)態(tài)流量TOP-N排序方法、主成分分析與層次聚類相結(jié)合的方法、時(shí)間序列預(yù)測方法[1-7]。
由于用戶數(shù)據(jù)報(bào)協(xié)議(User Datagram Protocol,UDP)洪泛攻擊在DDoS攻擊中占比較高,國內(nèi)外一些學(xué)者對(duì)檢測UDP洪泛攻擊展開研究,傳統(tǒng)采用指紋識(shí)別方法,但是隨著特征庫不斷擴(kuò)充,搜索比對(duì)攻擊指紋特征的時(shí)間越長,效果越來越差。在機(jī)器學(xué)習(xí)算法中,支持向量機(jī)(Support Vector Machine,SVM)是較好的適配算法,可以在小樣本、底維度的場景下,能夠得到較高的決策率[8-10]。本論文采用SVM算法來識(shí)別檢測UDP洪泛流量,首先論述了UDP洪泛攻擊的流量特征;然后給出基于SVM的UDP洪泛攻擊流量檢測方法;之后結(jié)合實(shí)驗(yàn)環(huán)境去檢測該方法的有效性。
UDP洪泛攻擊屬于流量型攻擊,通過構(gòu)造大量偽造UDP報(bào)文,向攻擊目標(biāo)不斷發(fā)起請(qǐng)求,最終導(dǎo)致被攻擊服務(wù)器耗盡帶寬和硬件資源,從而造成拒絕提供正常服務(wù)的后果。
異常UDP流量和正常UDP流量存在諸多差異,具體說明如表1所示。
表1 正常UDP流量和異常UDP流量比較
表2 UDP流量特征
SVM最核心思想在于最優(yōu)分類面和核函數(shù)。
2.1.1 最優(yōu)分類面
最優(yōu)分類線能夠?qū)蓚€(gè)類別最大化的分隔,在高維空間形成最優(yōu)分類面。設(shè)樣本集合:(xi,yi),i=1,… ,n,xi,xi∈Rd,yi∈{+ 1,-1},根據(jù)f(x)=ωx+b,得到分類面方程為
使|f(x)|≥1,則f(x)=1的樣本里分類面最近。要使分類面對(duì)所有樣本都能正確分類,則:
此時(shí)分類間隔為2/||ω||,間隔最大等價(jià)于||ω||2最小。同時(shí)滿足公式(1)和公式(2),且公式(3)所示函數(shù)的最小值就是最優(yōu)分類面,即:
2.1.2 核函數(shù)方法
2017年6月,12歲的嘉琪在上海參加比賽,沒想到一舉獲得中國賽區(qū)總冠軍,得到了踏出國門的機(jī)會(huì),高興之余媽媽嚴(yán)肅地對(duì)嘉琪說:“我允許你驕傲一天,但是你明天就要忘掉這件事,因?yàn)槟愫筇炀鸵谀┛荚嚵??!眿寢寭?dān)心街舞會(huì)影響嘉琪的學(xué)習(xí),去年小升初考試就在HHI比賽的后一周,媽媽原本想勸她停止練舞、專心備考,可就是拗不過她參賽的堅(jiān)定決心。而嘉琪也很要強(qiáng),做到了學(xué)習(xí)、跳舞兩不誤。因?yàn)樘瑁午髡麄€(gè)人的狀態(tài)都非常積極向上,開心、樂觀、活力四射,她將街舞的“勁爆”從舞臺(tái)帶到了生活中。
核函數(shù)方法適用于原始空間中求簡單最優(yōu)分類面的非線性分類問題。本文選用應(yīng)用較為廣泛的徑向基函數(shù)(Radial Basis Function,RBF),公式為
其構(gòu)造的SVM判別函數(shù)如下:
式中:s個(gè)支持矢量xi可確定RBF的中心位置,s是中心的數(shù)目。
如圖1所示,基于SVM的UDP洪泛流量檢測模型包括4個(gè)模塊,即流量采集及特征提取模塊、SVM訓(xùn)練模塊、SVM分類模塊、UDP異常流量處理模塊。具體說明如下。
圖1 基于SVM的UDP洪泛流量檢測模型
(1)流量特征提取模塊。通過網(wǎng)絡(luò)抓包工具采集UDP網(wǎng)絡(luò)流量數(shù)據(jù),每隔單位時(shí)間(默認(rèn)3 min)就對(duì)采集到的UDP報(bào)文根據(jù)表2所示特征進(jìn)行逐項(xiàng)統(tǒng)計(jì)。統(tǒng)計(jì)結(jié)果將提交給SVM分類模塊進(jìn)行識(shí)別。
(2)SVM訓(xùn)練模塊。將已知的帶有UDP攻擊標(biāo)簽的訓(xùn)練樣本集導(dǎo)入SVM訓(xùn)練模塊,通過SVM訓(xùn)練和樣本校驗(yàn),得到分類器和識(shí)別率;根據(jù)識(shí)別率對(duì)分類器調(diào)優(yōu),并再次訓(xùn)練和校驗(yàn);如此反復(fù),直至獲取較高的識(shí)別率和對(duì)應(yīng)參數(shù)。
(3)SVM分類模塊。經(jīng)由SVM訓(xùn)練模塊獲取的SVM分類器將作為該模塊的核心組件,接收特征提取模塊傳遞的數(shù)據(jù),進(jìn)行分類,并將分類結(jié)果發(fā)送至異常流量處理模塊。
(4)異常流量處理模塊。根據(jù)SVM分類模塊的分類結(jié)果,進(jìn)行告警。同時(shí),使用UDP異常流量限流控制組件,對(duì)判定為遭受到UDP攻擊的目標(biāo)進(jìn)行限流保護(hù),對(duì)判定為發(fā)起UDP攻擊的源IP地址進(jìn)行阻斷。
如圖2所示,本文使用普通PC計(jì)算機(jī)、服務(wù)器和萬兆交換機(jī)組建了實(shí)驗(yàn)環(huán)境。交換機(jī)采用華為S9312核心交換機(jī),各終端均采用千兆互聯(lián),充分保障數(shù)據(jù)鏈路冗余。各終端采用如下設(shè)置:(1)正常用戶1:普通PC計(jì)算機(jī),人工操作,包括瀏覽網(wǎng)頁、調(diào)用nslookup、ping等產(chǎn)生基本網(wǎng)絡(luò)流量;(2)正常用戶群:使用OWASP DOS HTTP POST軟件模擬正常用戶的網(wǎng)站訪問和域名解析動(dòng)作,產(chǎn)生HTTP流量和UDP域名解析流量;(3)攻擊者1:使用盧瓦UDP攻擊器,針對(duì)DNS服務(wù)器進(jìn)行攻擊;(4)攻擊者2:使用烏龍寺UDP攻擊器,針對(duì)DNS服務(wù)器和Web服務(wù)器進(jìn)行UDP攻擊;(5)攻擊者3:使用XOIC對(duì)全網(wǎng)進(jìn)行無差別攻擊,攻擊流量為HTTP和UDP;(6)攻擊者4:使用dns2tcp針對(duì)DNS進(jìn)行隧道攻擊。
圖2 網(wǎng)絡(luò)攻擊模擬實(shí)驗(yàn)環(huán)境圖
本文采用LibSVM軟件進(jìn)行來對(duì)UDP洪泛流量進(jìn)行檢測。其中svmtrain用于訓(xùn)練模型,svmpredict用已有模型進(jìn)行分類預(yù)測。svmtrain中參數(shù)包括SVM類型設(shè)置、核函數(shù)類型設(shè)置、核函數(shù)中參數(shù)設(shè)置、損失函數(shù)設(shè)置等。因此需要優(yōu)化參數(shù)達(dá)到最優(yōu)識(shí)別效果。本文使用準(zhǔn)確率(Accurency)、召回率(Recall)、精確率(Precision)來評(píng)價(jià)攻擊檢測性能。TP表示UDP洪泛攻擊流量被正確檢測的次數(shù),TN表示正常UDP流量被正確檢測的次數(shù),F(xiàn)P表示UDP洪泛攻擊流量被錯(cuò)誤檢測為正常UDP流量的次數(shù),F(xiàn)N表示正常UDP流量被錯(cuò)誤檢測為UDP洪泛攻擊流量的次數(shù),則準(zhǔn)確率、召回率、精確率以及F1計(jì)算公式為
實(shí)驗(yàn)數(shù)據(jù)如表3所示,訓(xùn)練集和測試集的數(shù)據(jù)都從如圖2所示網(wǎng)絡(luò)環(huán)境獲得。訓(xùn)練集數(shù)據(jù)為30 h網(wǎng)絡(luò)流量數(shù)據(jù),測試集為112 h網(wǎng)絡(luò)流量數(shù)據(jù)。由于UDP流量特征提取是默認(rèn)每3 min提取1次,因此訓(xùn)練集的UDP流量特征記錄數(shù)有600條,測試集中有2 240條。
表3 網(wǎng)絡(luò)樣本數(shù)據(jù)信息
表3中,異常UDP流量特征記錄中與源IP和端口相關(guān)的UDP報(bào)文均算異常UDP報(bào)文,即一次UDP洪泛攻擊。
圖3是在圖2網(wǎng)絡(luò)環(huán)境中112 h網(wǎng)絡(luò)流量數(shù)據(jù)的UDP洪泛攻擊檢測統(tǒng)計(jì)圖,并給出基于SVM的UDP洪泛流量檢測與模擬UDP洪泛攻擊對(duì)比統(tǒng)計(jì)結(jié)果,其中藍(lán)色柱狀數(shù)據(jù)顯示每2 h進(jìn)行模擬UDP洪泛攻擊的UDP報(bào)文數(shù);而紅色柱狀數(shù)據(jù)顯示每2 h基于SVM的UDP洪泛流量檢測的UDP洪泛攻擊報(bào)文數(shù)。這些信息均通過圖2中各種模擬攻擊者統(tǒng)計(jì)獲取。
圖3 基于SVM的UDP洪泛流量檢測與模擬UDP洪泛攻擊對(duì)比統(tǒng)計(jì)圖
根據(jù)圖3可知,基于SVM的UDP洪泛流量檢測呈現(xiàn)以下特點(diǎn)。
(1)對(duì)于短周期時(shí)間內(nèi)(如3個(gè)單位時(shí)間組成的短周期)UDP波動(dòng)較大的情況下,容易產(chǎn)生漏報(bào),尤其在UDP攻擊呈斷崖式降低時(shí),漏報(bào)率較大;
(2)對(duì)于連續(xù)單位時(shí)間,UDP攻擊呈持續(xù)增長的情況,會(huì)產(chǎn)生少量誤報(bào),誤報(bào)情況不足以影響用戶正常使用網(wǎng)絡(luò);
(3)對(duì)于趨于平穩(wěn)的UDP攻擊,SVM可以達(dá)到較高識(shí)別率,偶爾產(chǎn)生誤報(bào)和漏報(bào),但不足以影響用戶正常使用網(wǎng)絡(luò);
(4)對(duì)于趨于平穩(wěn)的UDP攻擊突然呈現(xiàn)斷崖式降低的情況,SVM出現(xiàn)較高誤報(bào)率,但會(huì)在2~3個(gè)單位時(shí)間后趨于正常。
基于SVM的UDP洪泛流量檢測結(jié)果如表4所示。
表4 基于SVM的UDP洪泛流量檢測結(jié)果
通過表4可看出,基于SVM的UDP洪泛流量檢測準(zhǔn)確率較高,精確率也較好,召回率檢測結(jié)果一般,F(xiàn)1值較好。要盡量減少正常UDP流量被錯(cuò)誤檢測為UDP洪泛攻擊流量的次數(shù)。
本文主要論述了UDP洪泛攻擊的流量特征,并給出基于SVM的UDP洪泛攻擊流量檢測方法,實(shí)驗(yàn)結(jié)果表明該方法的有效性。未來,筆者將對(duì)DDoS其他攻擊方式如TCP洪泛攻擊流量檢測與控制展開進(jìn)一步研究。