專利名稱:一種基于Web代理的間接分布式拒絕服務攻擊抵御方法及系統(tǒng)的制作方法
技術領域:
本發(fā)明涉及網(wǎng)絡通信技術領域,特別涉及一種基于Web代理的間接分布式拒絕服務攻擊抵御方法及系統(tǒng)。
背景技術:
分布式拒絕服務(Distributed Denial of Service, DDoS)攻擊是一種不斷進化發(fā)展的攻擊方法。本發(fā)明針對一種新型的DDoS攻擊方式,提供一種有效的服務器端的抵御方法。本發(fā)明所關注的這種新型DDoS攻擊與傳統(tǒng)的直接型攻擊行為不同,它采用廣泛分布在互聯(lián)網(wǎng)上的Web代理作為攻擊的跳板。由于該攻擊方法利用HTTP協(xié)議的特點實現(xiàn)供給目的,在本項發(fā)明中,我們稱這一類攻擊為“基于Web代理的DDoS攻擊”。如
圖1所示,基于Web代理的DDoS攻擊模式包含以下兩個步驟(1)攻擊者把生成用于攻擊的HTTP請求,并把這些請求發(fā)給預先選擇好的Web代理,迫使Web代理把這些惡意請求轉(zhuǎn)發(fā)給被攻擊主機。由于現(xiàn)有的Web代理只能緩存靜態(tài)內(nèi)容,攻擊者可以通過請求動態(tài)頁面或在HTTP頭部設置Cache-Control :no-cache使惡意請求可以穿透Web代理。 (2)為節(jié)省帶寬,攻擊者可以在估計Web代理完成轉(zhuǎn)發(fā)惡意請求之后斷開自己與它的連接。 攻擊者只要不斷地重復以上步驟就可以觸發(fā)大量的Web代理服務器用于DDoS攻擊,而且這些代理服務器都是被動地卷入攻擊行為中。與以往出現(xiàn)的DDoS攻擊不同,基于Web代理的 DDoS攻擊具有以下幾方面的優(yōu)勢第一,它使攻擊主機可以突破客戶端邊界的流量約束實現(xiàn)攻擊目的。即攻擊主機可以連接不同的Web代理,通過“短”和“輕負荷”的TCP連接向攻擊目標發(fā)動攻擊。相對于傳統(tǒng)攻擊主機利用單一的“長”和“重負荷”的TCP連接發(fā)動攻擊,新的攻擊模式更加可以有效躲避客戶端的檢測。第二,由于現(xiàn)有的hternet缺乏有效的合作機制,受害的服務器難以依賴中間 Web代理的安全設置來避免受攻擊。而且hternet上存在大量開放的代理服務器及在線代理服務器。這些代理服務器都可能被攻擊者所濫用。第三,對受害端的服務器來說,這一類的攻擊行為難以被現(xiàn)有的DDoS防御系統(tǒng)所發(fā)現(xiàn)并過濾。主要有兩方面的原因(1)由于終端主機都位于分層Web代理后部,受害服務器無法區(qū)分來自每一個主機的HTTP請求。(2)從受害服務器的角度看,每經(jīng)過一個中間Web 代理,攻擊流就和其它合法的客戶請求匯聚一次。當匯聚流從最后一個Web代理發(fā)向受害服務器時,攻擊流與正常的Web請求之間除了目的不同外,沒有其它的差異。因此,現(xiàn)有的 DDoS防御系統(tǒng)無法有效抵御這一類攻擊行為?,F(xiàn)有的DDoS攻擊防御方法主要分類兩大類網(wǎng)絡層防御措施與應用層防御措施。網(wǎng)絡層防御措施主要針對傳統(tǒng)的DDoS攻擊,例如UDP flood、ICMP flood、SYN attack、SYNACK attack、RST attack、DNS request & reply flood attack、CGI requestattacks authentication server attack 與 HTTP request & reply flood。網(wǎng)絡層方法的主要特點是利用TCP層及IP層的屬性來發(fā)現(xiàn)攻擊信號。網(wǎng)絡層防御措施的典型方法包括基于源域的方案MULT0PS路由器使用一個4層數(shù)據(jù)結(jié)構(gòu)維護流的分組速率統(tǒng)計信息。數(shù)據(jù)結(jié)構(gòu)中的一個節(jié)點對應一個IP地址前綴,節(jié)點的位置決定它所代表的前綴地址。例如第三層的子節(jié)點4. *. *. *代表前綴4. 2. *. *,每個節(jié)點有256項,分別對應該節(jié)點的256個子項,每個項又包含3個域輸出分組數(shù)、輸入分組數(shù)和指向子節(jié)點的指針。當一個分組到達時,與該分組對應的子項相關的域值更新。當某個前綴地址的速率達到一個指定值時,子節(jié)點相應的子項被擴展;如果分組率低于指定的極限值,子節(jié)點的個數(shù)將被刪除。通過這種方法, MULT0PS數(shù)據(jù)結(jié)構(gòu)可以適應源域變化的流特征和路由器的可用資源變化。當進行攻擊檢測時,MULT0PS計算指定地址前綴的輸出分組速率與輸入分組速率的比值,如果這個比值超出預定的極限值,來自該地址前綴的分組將被丟棄。D-WARD檢測系統(tǒng)分別記錄流層和連接層的分組數(shù)目(例如到每一個外部目的地址的分組個數(shù)、每一個TCP連接的分組數(shù))。使用不同的模型評價不同協(xié)議的流。對于TCP 流,它使用分組率判斷該網(wǎng)絡流是否攻擊。通過連接層的分組數(shù),D-WARD系統(tǒng)可以從流中選擇丟棄的分組,懲罰流中錯誤的TCP連接。D-WARD使用分組丟棄來測定網(wǎng)絡流是否嚴格按照TCP規(guī)范。如果流不是按照TCP規(guī)范,系統(tǒng)將更加嚴格地限制其流量。類似地,D-WARD 也可以應用于非TCP的協(xié)議,例如ICMP、DNS等。受害者端的防范方法這一類方法包括用變化點檢測的方法來發(fā)現(xiàn)SYN淹沒攻擊中不成對的數(shù)據(jù)包。 用IP包頭中的TTL值來估計每個包的路由跳數(shù),使用偽造IP地址的數(shù)據(jù)包將會和正常數(shù)據(jù)包在路由跳數(shù)上出現(xiàn)不一致。用SYN cache和cookie方法來對付SYN淹沒攻擊。在SOS方案中,受保護的服務器的IP地址是隱匿的,只有伺服系統(tǒng)知道,所有的服務請求首先進行評價和重定位,如果屬于合法用戶,再由伺服系統(tǒng)引導到服務器。因此對于一個攻擊者來說,很難跟蹤到受到SoS保護的服務器的真實路徑,因此也很難發(fā)起直接針對服務器的攻擊中間網(wǎng)絡上的防范方法這類方法的代表是反向跟蹤和回推。反向跟蹤主要是為了能發(fā)現(xiàn)攻擊源的真正位置或接近攻擊源的位置。在DDoS攻擊中,源IP偽造是常用手段,檢測方法無法根據(jù)攻擊包中的源IP來定位攻擊源。大部分的反向跟蹤方法都采用兩種策略,一個是在路由路徑上對每個包進行標志,然后在利用每個路由器對包做上的不同標志重新構(gòu)造路由路徑。另一種方法是通過發(fā)送一些特定的數(shù)據(jù)包來探測真實的路由路徑?;赝剖侵府斒芎φ叨说闹鳈C在發(fā)現(xiàn)DDoS攻擊后向上游路由器提出協(xié)助過濾請求,以幫助過濾或限制惡意數(shù)據(jù)流,反向跟蹤可以協(xié)助回推方法確定攻擊源的真實位置。另一種方案是在hternet的不同地方統(tǒng)計數(shù)據(jù)包頭中某些特定域(如IP地址、 端口號、TCP服務類型等等)的統(tǒng)計特征來判斷是否存在DDoS攻擊。例如,統(tǒng)計正常情況下經(jīng)過某點處數(shù)據(jù)包的源IP地址的分布情況,當有DDoS數(shù)據(jù)通過該點時,數(shù)據(jù)包的源IP地址分布會與正常情況下不同。攻擊者如果對這個分布比較了解,也可以模擬這個分布以逃避檢測。但是,由于檢測不只在一個地方進行,攻擊者的數(shù)據(jù)即使能夠符合某點處的分布,也難以符合另一點處的分布此外,還有分布式入侵檢測策略,它將典型的入侵檢測系統(tǒng)的功能擴展到 Internet核心網(wǎng)絡。在網(wǎng)絡中部署多個分布式的檢測系統(tǒng),根據(jù)網(wǎng)絡的異常行為來判斷是否出現(xiàn)了 DDoS攻擊行為。該方法定義一組正常的網(wǎng)絡流量范式,并判斷網(wǎng)絡流量是否嚴重偏離了正常的范式。例如,某種特定類型的分組的流量值就可以作為檢測DDoS攻擊的參數(shù)。DDoS檢測還可以根據(jù)已知的攻擊模式來判定。例如,已知使用Trinoo的攻擊者和控制傀儡機通過TCP的27665端口通信,而控制傀儡機和攻擊傀儡機則通過UDP的27444端口進行通信。在該策略中,把一組檢測系統(tǒng)放置到hternet中,這些檢測系統(tǒng)監(jiān)控并分析經(jīng)過它們的流量。由于每個檢測系統(tǒng)只能觀察到部分的異常信息,因此檢測系統(tǒng)之間需要相互交換觀察信息來發(fā)現(xiàn)DDoS攻擊現(xiàn)象。該策略可以檢測出反射攻擊,只要反射攻擊造成的網(wǎng)絡行為偏離了正常范式。然而,由于基于Web代理的DDoS攻擊位于網(wǎng)絡體系中的應用層并采用與傳統(tǒng)不同的攻擊方法。因此,這些為網(wǎng)絡層DDoS攻擊而設計的傳統(tǒng)防御措施無法適用于這種新的攻擊模式。為此,近年一些針對基于HTTP的應用層DDoS攻擊防御方案陸續(xù)被提出。這些方法包括通過可信管理機制評估客戶,并給通過為客戶分配優(yōu)先權來緩解應用層的DDoS 攻擊。利用隨時間變化的謎題“puzzle”來識別來自人和僵尸主機的請求流。一旦發(fā)現(xiàn)來自可疑主機的數(shù)據(jù)流,則進行隔離。通過Web頁面請求序列的四個屬性來刻畫正??蛻舻脑L問行為,對于給定的請求序列,他們通過重構(gòu)誤差來判斷是否DDoS攻擊。利用攻擊流具有高度的相似性的特點實現(xiàn)檢測,并通過網(wǎng)絡流的相關系數(shù)來測量可疑流的相似性,利用測量到的相關性結(jié)果從突發(fā)訪問流中區(qū)分基于HTTP協(xié)議的DDoS流。通過提高CDN和內(nèi)容提供者之間的通信策略、改進CDN中邊界服務器的轉(zhuǎn)發(fā)過程來抵御基于⑶N邊界服務器的DDoS攻擊。應用用戶瀏覽行來區(qū)分惡意HTTP請求與基于HTTP協(xié)議的DDoS攻擊及通過訪問矩陣,捕獲突發(fā)流行為并檢測模仿突發(fā)流的應用層DDoS攻擊及那些在正常突發(fā)流發(fā)生期間出現(xiàn)的DDoS攻擊。然而,所有上述針對應用層HTTP協(xié)議的DDoS攻擊防御方案都存在一個相同的前提假設條件攻擊流是由攻擊主機直接發(fā)向目標受害服務器。因此,目標服務器至少可以區(qū)分出網(wǎng)絡流的來源,然后根據(jù)給定的檢測指標判斷每一個來源的數(shù)據(jù)流是否正常。一旦某一個主機的網(wǎng)絡流與預期的指標不相符,防御系統(tǒng)將把該系統(tǒng)作為可疑節(jié)點,并隔離來自它的所有HTTP請求。然而,在真正的hternet環(huán)境中,大部分的終端主機都是被分層Web代理系統(tǒng)多隱藏。因此,從受害服務器的角度看,每一個進入的HTTP請求的源都是最后一跳的Web代理的地址,這些最后一跳的Web代理與受害服務器直接相連,也是在整個分層代理系統(tǒng)中唯一可以被受害服務器所證實的代理。由于受害服務器無法區(qū)分每一個進入的HTTP請求的來源,使用現(xiàn)有的DDoS防御措施會嚴重影響正常用戶的請求流,降低正常用戶的體驗。 盡管一些方案也考慮到處于NAT后部的DDoS攻擊檢測問題。但是Web代理的工作機制與NAT的機制不同Web代理位于應用層,而NAT位于網(wǎng)絡層。因此,用于NAT環(huán)境下的用戶識別方法并不適用于Web代理。一些學者在研究內(nèi)容分發(fā)網(wǎng)絡時也提出了利用邊界服務器發(fā)動DDoS攻擊的問題。但他們所提出的方法并不適合本發(fā)明所提出的問題。這是由于目前幾乎所有的CDN都是商用系統(tǒng),內(nèi)容提供者與作為商用系統(tǒng)得CDN可以協(xié)商使用一個高安全的通信策略。但是,由于海量Web代理存在hternet中(包括官方與非官方的),受害服務器無法逐一與這些服務器建立合作關系。
發(fā)明內(nèi)容
本發(fā)明的目的是從匯聚的P2S網(wǎng)絡流中過濾出可能的HTTP攻擊請求,該技術專門針對基于Web代理的DDoS攻擊,利用代理到服務器網(wǎng)絡流的結(jié)構(gòu)屬性的動態(tài)過程實現(xiàn)攻擊行為檢測,并提供了一種基于Web代理的間接分布式拒絕服務攻擊抵御方法及系統(tǒng)。為了達到上述目的,本發(fā)明采用了以下技術方案一種基于Web代理的間接分布式拒絕服務攻擊抵御方法,包括步驟Sl 數(shù)據(jù)提取,接收web代理向目標服務器發(fā)送的請求,根據(jù)所接收的請求計算出其時空局地性值,對時空局地性值進行非線性映射處理后得到對應的觀測向量序列, 其中所述的時空局地性值由時間局地性值和空間局地性值組成;步驟S2 模型訓練,對上述得到的觀測向量序列采用隱半馬爾科夫模型向前向后算法得出隱半馬爾科夫模型參數(shù),定義行為指標和結(jié)構(gòu)指標用于衡量隱半馬爾科夫模型的訓練矢量序列中每個時間窗內(nèi)代理行為的正常度,其中隱半馬爾科夫模型的隱含狀態(tài)包括正常態(tài)、過渡態(tài)、異常態(tài);步驟S3 檢測,對代理訪問的檢測包括長期行為正常度評估與短期行為正常度評估,長期行為正常度評估通過比較實測的行為指標和由上述訓練數(shù)據(jù)集得到的行為指標分布的差異來判斷長期行為是否為異常,短期行為正常度評估由行為指標的概率密度函數(shù)來判斷短期行為是否為異常;步驟S4 控制,對上述被判斷為異常的代理訪問序列進行重構(gòu),重構(gòu)后的代理請求序列被送到異常隊列排隊并等待目標服務器的響應,對于被判定為正常的代理請求序列則被送往正常隊列排隊,等待服務器響應。進一步地,所述的時間局地性的提取方法如下首先建立一個堆棧,當一個給定的 Web代理發(fā)向服務器的網(wǎng)絡流P2S中有一個HTTP請求訪問目標服務器的一個文檔f時,就在堆棧中搜索f,如果堆棧中能找到f,則把f的當前位置,即距離堆棧頂部的深度,記錄下來作為當前HTTP請求對應的時間局地性值,然后把f從堆棧中抽出并放到該堆棧的頂部; 如果堆棧中不包含f,則直接在堆棧頂部加入f,把該HTTP請求對應的時間局地性記為未定義或記為當前堆棧的深度。進一步地,所述的空間局地性值的提取方法如下使用0表示服務器上可以被訪問的對象,設(a,b) e 0, ρ:表示在第w個時間窗內(nèi)a和b同時被訪問的聯(lián)合概率密度函數(shù),=_凡yOg(J9 二)表示第W個時間窗內(nèi)a和b的聯(lián)合熵,用Fw ={/二O 表示在第w個時間窗內(nèi)代理發(fā)向服務器的請求串,其中TTeO,用表示第w個時間窗內(nèi)第i個請求串的空間局地性,則可以得到
權利要求
1.一種基于Web代理的間接分布式拒絕服務攻擊抵御方法,其特征在于包括步驟Sl 數(shù)據(jù)提取,接收web代理向目標服務器發(fā)送的請求,根據(jù)所接收的請求計算出其時空局地性值,對時空局地性值進行非線性映射處理后得到對應的觀測向量序列,其中所述的時空局地性值由時間局地性值和空間局地性值組成;步驟S2 模型訓練,對上述得到的觀測向量序列采用隱半馬爾科夫模型向前向后算法得出隱半馬爾科夫模型參數(shù),定義行為指標和結(jié)構(gòu)指標用于衡量隱半馬爾科夫模型的訓練矢量序列中每個時間窗內(nèi)代理行為的正常度,其中隱半馬爾科夫模型的隱含狀態(tài)包括正常態(tài)、過渡態(tài)、異常態(tài);步驟S3 檢測,對代理訪問的檢測包括長期行為正常度評估與短期行為正常度評估, 長期行為正常度評估通過比較實測的行為指標和由上述訓練數(shù)據(jù)集得到的行為指標分布的差異來判斷長期行為是否為異常,短期行為正常度評估由行為指標的概率密度函數(shù)來判斷短期行為是否為異常;步驟S4 控制,對上述被判斷為異常的代理訪問序列進行重構(gòu),重構(gòu)后的代理請求序列被送到異常隊列排隊并等待目標服務器的響應,對于被判定為正常的代理請求序列則被送往正常隊列排隊,等待服務器響應。
2.根據(jù)權利要求1所述的基于Web代理的間接分布式拒絕服務攻擊抵御方法,其特征在于所述的時間局地性的提取方法如下首先建立一個堆棧,當一個給定的Web代理發(fā)向服務器的P2S網(wǎng)絡流中有一個HTTP請求訪問目標服務器的一個文檔f時,就在堆棧中搜索f,如果堆棧中能找到f,則把f的當前位置,即距離堆棧頂部的深度,記錄下來作為當前 HTTP請求對應的時間局地性值,然后把f從堆棧中抽出并放到該堆棧的頂部;如果堆棧中不包含f,則直接在堆棧頂部加入f,把該HTTP請求對應的時間局地性記為未定義或記為當前堆棧的深度。
3.根據(jù)權利要求1所述的基于Web代理的間接分布式拒絕服務攻擊抵御方法,其特征在于所述的空間局地性值的提取方法如下使用0表示服務器上可以被訪問的對象,設
4.根據(jù)權利要求1所述的基于Web代理的間接分布式拒絕服務攻擊抵御方法,其特征在于步驟Sl中的非線性映射處理方法是使用一個非線性映射函數(shù)Ψ (χ)對大值信號進行
5.根據(jù)權利要求1所述的基于Web代理的間接分布式拒絕服務攻擊抵御方法,其特征在于步驟S2中,所述隱半馬爾科夫模型包含一對隨機過程觀測過程和隱狀態(tài)過,狀態(tài)過程通過條件概率輸出觀測值,狀態(tài)的停留由狀態(tài)停留概率決定,其工作過程如下模型有初始概率決定進入一個初始狀態(tài),然后由狀態(tài)停留概率決定該狀態(tài)的停留長度,再由輸出概率選擇在狀態(tài)停留期間的每一個輸出值,即可觀測變量。
6.根據(jù)權利要求5所述的基于Web代理的間接分布式拒絕服務攻擊抵御方法,其特征在于步驟S2中根據(jù)觀測過程及模型參數(shù)采用Viterbi算法或者MAP算法得到隱半馬爾科夫模型的隱含狀態(tài)。
7.根據(jù)權利要求1所述的基于Web代理的間接分布式拒絕服務攻擊抵御方法,其特征在于步驟3中,所述的長期行為正常度評估由Kolmogorov-Smirnov測試法,即K_S測試法, 實現(xiàn),用BIp = (BI1, BIJ表示待評估的代理請求序列的行為指標序列,BIp中的每個元素都是獨立同分布并來自于相同的累加分布函數(shù)Ow(X),用Φο(Χ)表示訓練數(shù)據(jù)序列行為指標的累加分布,K-S檢測法就是判斷以下兩個假設
8.根據(jù)權利要求1所述的基于Web代理的間接分布式拒絕服務攻擊抵御方法,其特征在于步驟S3中,所述的短期行為正常度評估由行為指標的概率密度函數(shù)實現(xiàn)的具體方法 用樹XWmf^)表示模型訓練數(shù)據(jù)的BI的概率密度函數(shù),BI服從高斯分布,判決門限由BI的概率密度函數(shù)上的坐標
9.根據(jù)權利要求1所述的基于Web代理的間接分布式拒絕服務攻擊抵御方法,其特征在于步驟S4中,所述的重構(gòu)根據(jù)訓練數(shù)據(jù)獲得的代理正常行為輪廓重構(gòu)可疑的訪問序列, 即把一個被判定為異常的訪問序列重構(gòu)為一個相對比較正常序列,在重構(gòu)過程按照既定的原則丟棄部分可疑請求,而不是把整個可疑序列全部丟棄。
10.一種運用權利要求1所述的基于Web代理的間接分布式拒絕服務攻擊抵御方法的系統(tǒng),其特征在于包括數(shù)據(jù)提取模塊,用于接收web代理向目標服務器發(fā)送的請求,根據(jù)所接收的請求計算出其時空局地性值,對時空局地性值進行非線性映射處理后得到對應的觀測向量序列;模型訓練,用于對上述得到的觀測向量序列采用隱半馬爾科夫模型向前向后算法得出隱半馬爾科夫模型參數(shù);檢測與控制模塊,用于檢測異常的代理訪問序列并對其進行重構(gòu)。
全文摘要
本發(fā)明涉及一種基于Web代理的間接分布式拒絕服務攻擊抵御方法及系統(tǒng)。本發(fā)明通過提取proxy-to-server網(wǎng)絡流的時空局地性來刻畫proxy-to-server網(wǎng)絡流的行為特性。通過非線性映射函數(shù)抑制小概率大值對有用信號的干擾。通過隱半馬爾科夫模型(HsMM)構(gòu)造proxy-to-server網(wǎng)絡流的正常行為模型。利用模型得到的行為指標進行不同時間尺度下的正常度評估長期行為評估與短期行為評估。對于被判定為異常的行為序列(HTTP請求序列),本發(fā)明采用“軟控制”方法實施攻擊響應。實施“軟控制”的依據(jù)是代表代理正常行為的HsMM模型參數(shù)及結(jié)構(gòu)指標。本發(fā)明所用來刻畫proxy-to-server網(wǎng)絡流的參量是時空局地性,它與目標服務器上的Web內(nèi)容的變動無關;方法的檢測性能是基于代理網(wǎng)絡流的本質(zhì)行為,與攻擊流量的大小無關。該方法可以在攻擊流消耗目標服務器資源之前實施攻擊響應,因此可以有效實現(xiàn)早期檢測。
文檔編號H04L12/26GK102438025SQ20121000676
公開日2012年5月2日 申請日期2012年1月10日 優(yōu)先權日2012年1月10日
發(fā)明者謝逸 申請人:中山大學