《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > 一種可靠檢測低速率DDoS攻擊的異常檢測系統(tǒng)
一種可靠檢測低速率DDoS攻擊的異常檢測系統(tǒng)
摘要: 本文提出一種可靠檢測低速率DDoS攻擊的 IDS。它由三部分組成:網(wǎng)絡(luò)流量的實(shí)時(shí)采集模塊;檢測決策模塊;報(bào)警模塊。整個(gè)系統(tǒng),其輸入是網(wǎng)絡(luò)流量,輸出是就異常流量發(fā)出的報(bào)警信號。該系統(tǒng)的主要特點(diǎn)是能按用戶指定的檢測概率做出決策和報(bào)警。
關(guān)鍵詞: 低速率 DDoS 異常檢測 IDS
Abstract:
Key words :

  引  言

  現(xiàn)代社會對計(jì)算機(jī)網(wǎng)絡(luò)(如互聯(lián)網(wǎng))的依賴性愈來愈強(qiáng),從而,網(wǎng)絡(luò)安全的重要性不言而喻。在網(wǎng)絡(luò)安全方面,檢測分布式拒絕服務(wù)攻擊(Distributed Denialof Service,DDoS" title="DDoS">DDoS)一直是重要研究內(nèi)容。在入侵檢測方面有兩類系統(tǒng):基于主機(jī)的入侵檢測系統(tǒng)(IDS" title="IDS">IDS)和基于網(wǎng)絡(luò)的IDS?;诰W(wǎng)絡(luò)的IDS以網(wǎng)絡(luò)流量為檢測對象,它又可分為兩類:誤用檢測和異常檢測" title="異常檢測">異常檢測。誤用檢測基于以往攻擊事件的特征庫,故誤用檢測的IDS能準(zhǔn)確檢測舊式攻擊。誤用檢測對新變種的 DDoS攻擊顯得無力,因?yàn)樾伦兎N的DDoS攻擊的新特征尚不在特征庫內(nèi),故可以百分之百地逃避誤用檢測。本文工作屬異常檢測。

  異常檢測適合新變種的DDoS攻擊。但是,若把異常流量判別為正常則出現(xiàn)漏報(bào)。對于一次報(bào)警,把異常流量識別為異常的概率有多大?漏報(bào)概率有多大?這些是異常檢測的可靠報(bào)警問題,也是異常檢測的棘手問題。所謂可靠報(bào)警,是指所采用的異常檢測器在原理上就具備那樣的特性,用戶可預(yù)先設(shè)定報(bào)警概率和漏報(bào)概率??煽繄?bào)警是該文研究的IDS的主要特點(diǎn)。

  傳統(tǒng)DDoS攻擊的基本特點(diǎn)是數(shù)據(jù)速率特別高。故IDS常按高速率檢測,包括以前的工作。近年來,出現(xiàn)了一種低速率" title="低速率">低速率DDoS攻擊,其目的是逃避常規(guī)IDS。因此,如何可靠地檢測低速率DDoS攻擊成了有意義的研究。本文提出一種可靠檢測低速率DDoS攻擊的 IDS。它由三部分組成:網(wǎng)絡(luò)流量的實(shí)時(shí)采集模塊;檢測決策模塊;報(bào)警模塊。整個(gè)系統(tǒng),其輸入是網(wǎng)絡(luò)流量,輸出是就異常流量發(fā)出的報(bào)警信號。該系統(tǒng)的主要特點(diǎn)是能按用戶指定的檢測概率做出決策和報(bào)警。

  1低速率DDoS攻擊的特點(diǎn)

  這里討論的低速率攻擊,是攻擊者以TCP協(xié)議為目標(biāo),通過RTO計(jì)時(shí)器,在鏈接中制造運(yùn)行中斷,從而導(dǎo)致TCP控制機(jī)構(gòu)擁塞。進(jìn)行攻擊的數(shù)據(jù)流是具有一定周期的方波。攻擊流量的速率低,卻有高的攻擊效率。

  TCP 協(xié)議中,RTO是個(gè)重要的值。采用RTO是為了保證網(wǎng)絡(luò)有足夠的時(shí)間從擁塞中恢復(fù)過來。如果RTO過大,出現(xiàn)報(bào)文丟失,TCP需要等待過長的時(shí)間才能重傳報(bào)文,增加了TCP報(bào)文傳輸時(shí)間。如果RTO過小,會引起不必要的重傳,同時(shí)會錯(cuò)誤地觸發(fā)TCP的超時(shí)重傳算法,降低了TCP的發(fā)送速率,從而降低了 TCP的性能。下面介紹攻擊的原理。

  設(shè)TCP的RTO值為1 s,攻擊者在0時(shí)刻制造了一個(gè)運(yùn)行中斷。TCP發(fā)送者要等待1 s重傳并且將RTO加倍。如果攻擊者在1 s和RTT間又制造了一個(gè)運(yùn)行中斷,將迫使TCP再等2 s,攻擊者可以利用KAM算法,在3 s,7 s,15 s,…時(shí)通過制造相似的運(yùn)行中斷。如此,就能用很低的平均速率進(jìn)行攻擊,使服務(wù)器對TCP流拒絕服務(wù)??梢?,若DDoS周期和RTO相近,則TCP會一直發(fā)生丟包事件。于是,結(jié)束超時(shí)重傳的狀態(tài)就一直不變,最終導(dǎo)致吞吐量幾乎為0。因此,低速率攻擊的關(guān)鍵就是攻擊者能否對RTO進(jìn)行準(zhǔn)確預(yù)測。另外,脈沖持續(xù)時(shí)間長短也很重要。文獻(xiàn)[5]指出,當(dāng)l=maxi{RTTi}且T=RTO時(shí),攻擊效率很高。

  簡言之,和高速率攻擊相比,低速率DDoS攻擊的一個(gè)最大特點(diǎn)就是集中在某一小時(shí)間范圍內(nèi)發(fā)送惡意數(shù)據(jù),從而使得攻擊數(shù)據(jù)流的平均速率比較小,以逃避常規(guī)IDS的檢測。

  2 IDS結(jié)構(gòu)及功能

  系統(tǒng)結(jié)構(gòu)與功能

  本文討論的IDS主要由三個(gè)模塊組成,各模塊的名稱及功能如下:

  數(shù)據(jù)采集與萃取模塊  此模塊是基于LIBPCAP函數(shù)庫實(shí)現(xiàn)的。封裝為C++類,可方便嵌入入侵檢測系統(tǒng),作為前端流量采集與信息萃取模塊??紤]到IDS是一類實(shí)時(shí)系統(tǒng),該模塊的設(shè)計(jì)原則是所測流量足夠后面的異常檢測用即可。就本文講述的系統(tǒng),信息萃取是從測得的數(shù)據(jù)包中提取包長度信息。

  攻擊識別與決策模塊  由用戶按設(shè)定的識別概率和漏報(bào)概率做異常流量檢測。

  報(bào)警模塊  根據(jù)用戶設(shè)定的識別概率和漏報(bào)概率對發(fā)生的攻擊采取多種方式進(jìn)行報(bào)警。系統(tǒng)結(jié)構(gòu)如圖1所示。下面分別描述各模塊的結(jié)構(gòu)。

  2.2數(shù)據(jù)采集與萃取模塊

  網(wǎng)絡(luò)數(shù)據(jù)包捕獲

  利用LIBPCAP函數(shù)庫實(shí)現(xiàn)網(wǎng)絡(luò)數(shù)據(jù)包的捕獲,該庫所提供的主要功能函數(shù)有(見LIBPCAP手冊):

  pcap_open_live():獲取捕獲數(shù)據(jù)包的描述符,用于查看網(wǎng)絡(luò)數(shù)據(jù)包的傳輸;

  pcap_lookupdev():返回供pcap_open_live()使用的設(shè)備指針;

  pcap_open_offline():打開數(shù)據(jù)包文件以供離線分析;

  pcap_dump_open():打開文件以供寫入數(shù)據(jù)包;

  pcap_setfilter():設(shè)置數(shù)據(jù)包過濾器程序;

  pcap_loop():啟動數(shù)據(jù)包捕獲。

  數(shù)據(jù)包捕獲過程如圖2所示。

 

 數(shù)據(jù)包捕獲過程

  2.2.2  數(shù)據(jù)包信息萃取

  進(jìn)行了包捕獲之后,需要將捕獲到的數(shù)據(jù)包通過回調(diào)函數(shù)進(jìn)行數(shù)據(jù)包的解析。因此在對回調(diào)函數(shù)進(jìn)行封裝時(shí),必須借助一解析流程,實(shí)現(xiàn)回調(diào)函數(shù)和線程類間的數(shù)據(jù)共享,再根據(jù)TCP/IP協(xié)議族層次結(jié)構(gòu)圖及各層數(shù)據(jù)包格式的定義,對各層加入的頭和控制信息進(jìn)行解封裝。詳細(xì)過程見文獻(xiàn)[9]。圖3是該解析流程的過程。

解析流程的過程

  上述實(shí)時(shí)采集及信息萃取模塊采用基于GUI的可重用設(shè)計(jì)方法。其流量解析結(jié)果以GUI界面輸出,進(jìn)行對入侵檢測系統(tǒng)的接口操作,實(shí)現(xiàn)下一模塊:攻擊識別與決策的數(shù)據(jù)包采集與萃取的預(yù)處理過程。

  2.3攻擊識別與決策模塊

  此模塊的關(guān)鍵問題有兩個(gè):一是根據(jù)識別方法選擇合適的檢測特征;另一是如何實(shí)現(xiàn)可靠識別。可靠識別的意思是指,用戶可事先設(shè)定所需要的識別概率和漏報(bào)概率。

  設(shè) x(t)為到達(dá)流量函數(shù)。其最小流量約束函數(shù)記做f(I)(I>0)。則在區(qū)間[0,I]內(nèi),到達(dá)的累積流量不會小于 f(I)=min[x(t+I)-x(t)]。在時(shí)間區(qū)間[(n-1)I,nI](n=1,2,…,N)內(nèi),f(I,n)就是該區(qū)間內(nèi)的最小流量約束函數(shù)。它是關(guān)于n的隨機(jī)序列。把各區(qū)間[(n-1)I,nI]都分成M段。每段長度為L。對第m段(m=1,2,…,M),取平均值E[f(I,n)]m。則當(dāng)M>10時(shí),E[f(I,n)]m符合高斯分布

高斯分布

  設(shè)置信系數(shù)為1-a1,則統(tǒng)計(jì)下限為:  

統(tǒng)計(jì)下限

  于是,得到模板η=E[f(I,n)]。令閾值Vt=bf(M,α1),則低速率檢測概率和丟失概率分別為:

低速率檢測概率和丟失概率分別

  由此,用戶可以預(yù)先設(shè)置α1值來得到給定的檢測概率和漏報(bào)概率。當(dāng)η≥Vl時(shí),視數(shù)據(jù)流為正常。

異常流量監(jiān)測

  2.4報(bào)警模塊

  IDS 檢測到低速率攻擊后,向用戶報(bào)警并將該事件通知給安全管理中心,做出防衛(wèi)決策。根據(jù)需要,可將報(bào)警信息發(fā)給其他網(wǎng)絡(luò),構(gòu)成全方位的、立體的網(wǎng)絡(luò)安全解決方案。當(dāng)出現(xiàn)報(bào)警信息時(shí)可以采取的報(bào)警方式有:開啟警燈,彈出界面,開啟警鈴,發(fā)短信給高層決策者,發(fā)Email給高層決策者等,這幾種報(bào)警方式可以單獨(dú)采用也可以集中相結(jié)合。

  警報(bào)出現(xiàn)時(shí),還要通知安全管理中心,如果是嚴(yán)重的大范圍攻擊,則通知其他網(wǎng)絡(luò),防止攻擊對網(wǎng)絡(luò)造成大范圍的破壞;否則,內(nèi)部處理。

  3實(shí)驗(yàn)結(jié)果

  采用以前的工作所述的方法仿真實(shí)驗(yàn)用的網(wǎng)絡(luò)流量,分別用正常和非正常情況下的兩個(gè)數(shù)據(jù)流進(jìn)行實(shí)驗(yàn),并做一個(gè)對比。

   圖 5表示兩個(gè)數(shù)據(jù)流的x(t),圖6,圖7表示兩種情況下的,f(I,n)(n,I=1,2,…,16)。由于版面限制,只給出前四種情況。圖8,圖9是兩種情況下的平均速率圖和速率的概率密度分布圖,由此可以清楚地看到,此種方法能準(zhǔn)確地分辨出低速率和正常的速率,能夠用于低速率攻擊的檢測。

兩個(gè)數(shù)據(jù)流的x

平均速率圖和速率的概率密度分布圖

  4結(jié)語

  論述了一種可靠檢測低速率DDoS攻擊的系統(tǒng),并做了仿真實(shí)驗(yàn)驗(yàn)證。通過網(wǎng)絡(luò)數(shù)據(jù)包實(shí)時(shí)采集與信息萃取模塊的預(yù)處理,對數(shù)據(jù)包進(jìn)行捕獲與解析,接入到識別模塊,發(fā)現(xiàn)異常即啟動報(bào)警機(jī)制。該系統(tǒng)可由用戶設(shè)定識別概率和漏報(bào)概率。除可靠識別外,本文論述的系統(tǒng)還有個(gè)優(yōu)點(diǎn)。它可方便地延拓到分級服務(wù)網(wǎng)中。

  例如,設(shè)xip,j,k(t)是來自連接j,通過服務(wù)器k,具有優(yōu)先級p的第i類的所有數(shù)據(jù)流,那么其最小流量約束函數(shù)是:最小流量約束函數(shù),把它用于2.3節(jié),則整個(gè)系統(tǒng)就立即成了專門檢測到達(dá)流xip,j,k(t)是否異常的IDS。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。