圖1App-DDoS攻擊流

其次,由于App-DDoS攻擊是以高層信息流(HTTP流)作為攻擊手段,其實(shí)現(xiàn)是以正常TCP連接和IP分組為前提,因此形成攻擊的HTTP流不具備傳統(tǒng)DDoS攻擊的標(biāo)志性特征(例如:TCP半開放連接和畸形IP數(shù)據(jù)報(bào)等),而且它無法采用虛假IP地址(虛假IP地址無法建立有效的TCP連接)的方法。越來越多的主機(jī)(包括個人主機(jī)和企業(yè)大型主機(jī))全天候地連接互聯(lián)網(wǎng),為這種攻擊提供了有利的條件和環(huán)境。

此外,由于高層的服務(wù)和協(xié)議差異很大,App-DDoS攻擊可以有多種不同的形式,而且一個簡單的HTTP請求往往可以觸發(fā)服務(wù)器執(zhí)行一系列復(fù)雜的操作,例如:數(shù)據(jù)庫查詢、密碼驗(yàn)證等,所以通過大量傀儡機(jī)向目標(biāo)發(fā)送海量分組的攻擊方式并不是App-DDoS攻擊的惟一選擇,它可以用低速率的請求、少量的攻擊節(jié)點(diǎn)實(shí)現(xiàn)傳統(tǒng)DDoS的攻擊效果,這給現(xiàn)有的檢測帶來了很大困難。2004年的蠕蟲病毒“Mydoom”及其后來的變體“Mytob”就是典型的 HTTPFlooding攻擊案例,而且也顯示出目前DDoS攻擊的發(fā)展趨勢。該病毒采用了常用的Web服務(wù)器請求技術(shù),通過模仿瀏覽器IE的請求文本,使Web服務(wù)器難以區(qū)分正常的和異常的HTTP請求,從而提高了攻擊的破壞能力。由于所有的攻擊請求都是由合法分組構(gòu)成,不具備傳統(tǒng)DDoS攻擊流的特征,因此攻擊請求順利穿越所有基于IP層和TCP層的檢測系統(tǒng),最終導(dǎo)致SCO和微軟等知名網(wǎng)站的服務(wù)器崩潰。

2.DDoS的攻擊環(huán)境

DDoS攻擊所處的背景環(huán)境可以分為:平穩(wěn)背景流環(huán)境和突發(fā)流環(huán)境。平穩(wěn)背景流是指那些流量隨時(shí)間變化不大的網(wǎng)站,許多普通網(wǎng)站的流量都具有平穩(wěn)的 特性。突發(fā)流是現(xiàn)代網(wǎng)絡(luò)流的一種新現(xiàn)象,近幾年開始受到網(wǎng)絡(luò)研究者的關(guān)注。對于Web應(yīng)用來說,突發(fā)流是指海量的正常Web用戶同時(shí)訪問某一特殊的網(wǎng)站, 從而導(dǎo)致Web服務(wù)器的訪問量和相關(guān)網(wǎng)絡(luò)的流量產(chǎn)生巨大的波動。典型的突發(fā)流事例包括:1998年世界杯Web網(wǎng)站,2000年悉尼奧運(yùn)會網(wǎng) 站,2000、2001、2002年澳大利亞網(wǎng)球公開賽等體育網(wǎng)站的訪問流量隨比賽日程表出現(xiàn)的顯著波動;“911”恐怖襲擊后CNN網(wǎng)站訪問量的突 增;Linux“紅帽子”發(fā)布的首天,發(fā)布網(wǎng)站的訪問量出現(xiàn)戲劇性的波動等。

可以預(yù)測,隨著Web應(yīng)用的不斷推廣,平穩(wěn)背景流不再是互聯(lián)網(wǎng)流量的惟一特征,具有突發(fā)流特征的Web網(wǎng)站將不斷地增加,例如:網(wǎng)上拍賣活動、視頻 點(diǎn)播、大型活動的現(xiàn)場直播等。而且網(wǎng)絡(luò)技術(shù)的發(fā)展也為突發(fā)流提供了有利的條件,例如近年風(fēng)靡全球的P2P就是一種具有典型突發(fā)流特性的網(wǎng)絡(luò)。與傳統(tǒng)的平穩(wěn) 數(shù)據(jù)流不同,突發(fā)流嚴(yán)重影響著通信網(wǎng)絡(luò)和設(shè)備的性能,因此,如何有效處理突發(fā)流及區(qū)分隱藏于突發(fā)流中的DDoS攻擊將成為網(wǎng)絡(luò)研究中的新問題。

3.不同DDoS攻擊的檢測

根據(jù)上述分析,可以把現(xiàn)有的DDoS攻擊劃分為以下4種類別:平穩(wěn)背景流下的Net-DDoS攻擊;平穩(wěn)背景流下的App-DDoS攻擊;突發(fā)流下的Net-DDoS攻擊;突發(fā)流下的App-DDoS攻擊。

平穩(wěn)背景流下的Net-DDoS攻擊檢測是目前研究得最多、最成熟的一種,而且已經(jīng)有許多有效的檢測方案,這些方案主要通過TCP段或IP包的頭信 息實(shí)現(xiàn)攻擊檢測。例如:Cabrera等基于MIB(管理信息數(shù)據(jù)庫)把ICMP、UDP和TCP的分組統(tǒng)計(jì)異常映射到特定的DDoS攻擊,通過匹配分析 實(shí)測分組屬性與特定DDoS攻擊的異常特征來實(shí)現(xiàn)檢測;Jin等假定DDoS的攻擊源是虛假IP地址,通過到達(dá)分組的IP地址與TTL(生存時(shí)間)來判斷 是否存在基于虛假IP地址的DDoS攻擊。Kim等計(jì)算到達(dá)分組在給定的正常流模式下合法性的或然概率,通過或然概率檢測DDoS攻擊;Chen等通過檢 測到達(dá)分組流在頻率域中特定頻率點(diǎn)的異常實(shí)現(xiàn)脈沖式攻擊的檢測。

平穩(wěn)背景流下的App-DDoS攻擊檢測/防御可以有以下的方法:

(1)請求速率/QoS控制

Ranjan等使用統(tǒng)計(jì)方法判斷每個HTTP會話的異常性,然后通過控制HTTP速率抵御攻擊。

(2)基于“Puzzle”的方法

Kandula等應(yīng)用基于“Puzzle”的方法實(shí)現(xiàn)App-DDoS攻擊的檢測與防御,它的主要思路是:攻擊常常是由程序執(zhí)行,而程序只能按預(yù)先 設(shè)計(jì)的方案進(jìn)行,不具有人的智能性,因此,當(dāng)懷疑服務(wù)器處于攻擊威脅時(shí),可以生成一些簡單的問題要求用戶回答,如果返回的結(jié)果正確說明是正常用戶,否則就 是攻擊源。

(3)基于“進(jìn)攻”的防御方法

Walfish等認(rèn)為,通過觸發(fā)所有的客戶(包括正常用戶與攻擊者)提高其請求速率可以有效排擠攻擊者。其依據(jù)是攻擊發(fā)生時(shí),攻擊者通常已經(jīng)耗盡自身的鏈路帶寬,而正常用戶的帶寬有較大的冗余,因此提高正常用戶的請求速率可以有效降低攻擊者對服務(wù)器入口處的帶寬占有率。

對于突發(fā)流下的Net-DDoS攻擊檢測可以利用正常流與異常流的特征差異實(shí)現(xiàn)。這是因?yàn)楸M管突發(fā)流的流量很大,但是組成正常突發(fā)流的IP分組及相 應(yīng)的TCP連接都是正常,而用于Net-DDoS攻擊的分組或連接通常都具有以下的特征:畸形結(jié)構(gòu)的IP分組、不完整的TCP連接等。因此,這一特征也可 以有效用于攻擊的檢測與過濾。

從現(xiàn)有的研究看,針對突發(fā)流環(huán)境下的App-DDoS攻擊檢測進(jìn)行研究的文獻(xiàn)并不多見。由于突發(fā)性與大流量是突發(fā)流與App-DDoS攻擊的共同特 征,因此,傳統(tǒng)用于處理DDoS攻擊的請求速率/QoS控制方法并不能有效區(qū)分正常突發(fā)流用戶的請求與App-DDoS攻擊請求。這是由于:首先,對匯聚 流進(jìn)行速率監(jiān)控只能起到預(yù)警的作用,無法區(qū)分出攻擊請求分組,如果采用隨機(jī)丟棄客戶請求分組的辦法緩解服務(wù)器端的Web流量有可能把正常用戶的請求丟棄從 而影響合法用戶的訪問。其次,由于App-DDoS可以采用低速的攻擊方式(例如:復(fù)雜的腳本程序與數(shù)據(jù)庫查詢),因此速率控制不一定能保證有效,而且速 率控制一般只能適用于具有平穩(wěn)特性的流的檢測,無法應(yīng)用于突發(fā)流和App-DDoS攻擊流同時(shí)發(fā)生的場景。對每個Web用戶分別進(jìn)行HTTP請求速率監(jiān)控 也不足以有效檢測App-DDoS攻擊,因?yàn)楣粽呖梢岳矛F(xiàn)有的工具對攻擊流進(jìn)行成形,例如:采用間歇性脈沖方式的低速率攻擊,在脈沖期間采用較高的速 率攻擊,脈沖結(jié)束后,攻擊暫停等待下一個攻擊脈沖的到來,這使每個攻擊節(jié)點(diǎn)的平均請求速率非常低,不容易被檢測。再次,對現(xiàn)代Web服務(wù)器及網(wǎng)絡(luò),隨著用 戶端帶寬和Web頁面復(fù)雜性的不斷增長,正常用戶的每次點(diǎn)擊瀏覽行為有可能產(chǎn)生每秒幾十個HTTP請求,這種速率已經(jīng)與“Mydoom”的攻擊速率相當(dāng)。

現(xiàn)有基于流特征的檢測方法一般隱含假設(shè)條件:攻擊流與正常流存在統(tǒng)計(jì)上的差異,但是這個假設(shè)并不適用于突發(fā)流環(huán)境下的App-DDoS攻擊檢測。由 于App-DDoS攻擊者可以利用HTTP仿真工具組織攻擊流,使攻擊流模仿正常用戶的請求流特性(包括HTTP請求速率、TCP連接特性、IP分組流特 性等),因此,上述基于流特性的檢測方法也不適用于這一類攻擊。

Jung等使用兩個屬性區(qū)分DoS攻擊和正常突發(fā)流:DoS攻擊是由少量攻擊主機(jī)急劇增長的請求率產(chǎn)生,而正常突發(fā)流是由客戶數(shù)量的增長造成 的;DoS攻擊者通常是新用戶,而正常突發(fā)流下的用戶通常在突發(fā)流產(chǎn)生前都訪問過該網(wǎng)站。因此通過約束每個訪問客戶機(jī)可使用的資源(如:TCP連接數(shù)、占 用CPU時(shí)間、占用緩存大小及用戶響應(yīng)時(shí)間)及比較新客戶的比率來區(qū)分DoS攻擊和正常突發(fā)流。但是,對于現(xiàn)代網(wǎng)絡(luò)而言,這種方法的效果并不明顯。首 先,Web應(yīng)用的客戶數(shù)量很大,因此不可能逐一確定每個客戶可使用的合法資源數(shù)量,而且假設(shè)攻擊由少量節(jié)點(diǎn)產(chǎn)生只能適用于傳統(tǒng)的DoS攻擊,隨著網(wǎng)絡(luò)的普 及化,這種假設(shè)不適用于現(xiàn)代高速網(wǎng)絡(luò)下的DDoS攻擊。近期的互聯(lián)網(wǎng)調(diào)查發(fā)現(xiàn),現(xiàn)代的DDoS攻擊通常與“僵尸網(wǎng)絡(luò)”結(jié)合在一起,因此攻擊者本身就能形成 一個龐大的網(wǎng)絡(luò)。另外,僅通過IP地址區(qū)分攻擊也是不可行,因?yàn)锳pp-DDoS攻擊請求通常由病毒程序產(chǎn)生,而病毒程序有可能駐留在合法的客戶機(jī)上。

基于“Puzzle”的方法雖然具有檢測與防御的功能,但是同樣具有一些不足:需要得到客戶端的支持;會干擾Web用戶的正常瀏覽;沒有辦法解決攻 擊程序與正常用戶同處于一個終端的情況;有可能導(dǎo)致互聯(lián)網(wǎng)中的搜索引擎和緩存/代理等無法正常工作;由于基于“Puzzle”的方法需要耗費(fèi)大量服務(wù)器的 資源(CPU計(jì)算、內(nèi)存等),在突發(fā)流環(huán)境下,難以實(shí)時(shí)處理海量的用戶信息,而且其本身很容易成為DDoS攻擊的目標(biāo)。

基于“進(jìn)攻”的方法同樣需要客戶端的支持,而且它的另外一個假設(shè)是服務(wù)器入口處具有足夠的帶寬,這在實(shí)際網(wǎng)絡(luò)中是不可能實(shí)現(xiàn)的。

由此可見,單靠傳統(tǒng)的分組特征、流特征、速率分析來檢測與控制突發(fā)流環(huán)境下的App-DDoS攻擊是不夠的。

4.基于訪問行為的防御

按照網(wǎng)絡(luò)分層模型的理論,不同層次的信息流應(yīng)該在對應(yīng)的層次進(jìn)行處理。App-DDoS是一種高層攻擊行為,簡單地通過判斷每一個進(jìn)入服務(wù)器的IP 分組、TCP連接來實(shí)現(xiàn)高層攻擊檢測顯然是不夠的,而孤立地判斷每一個HTTP請求的正常性也不足以有效地檢測App-DDoS攻擊。針對App- DDoS攻擊的檢測系統(tǒng)應(yīng)該建立在對應(yīng)的層次才能獲取足夠的檢測信息,并且尋找有效的觀測信號來實(shí)現(xiàn)檢測,如圖2所示。

圖2不同層次的檢測機(jī)制

Web挖掘的研究指出通過對Web用戶的訪問頁面進(jìn)行內(nèi)容監(jiān)控和分析,可以挖掘出用戶的興趣,而且其他一些研究也指出一個Web網(wǎng)站僅有10%的內(nèi) 容被客戶高頻訪問(約90%),而且文件被訪問的概率呈Zipf分布。這說明盡管訪問者各不相同,但是在一定的時(shí)期內(nèi)他們對給定的Web服務(wù)器的訪問興趣 和訪問行為是非常近似的。已有的研究也表明,對于突發(fā)流的場景,劇增的流量主要是由于用戶數(shù)量的增長而產(chǎn)生的,不同用戶的訪問行為(包括用戶的訪問焦點(diǎn)、 點(diǎn)擊Web頁面的次序、瀏覽時(shí)間間隔等)卻是非常近似的,所以高層的Web用戶訪問行為特征可以作為App-DDoS攻擊檢測的有效信號。下面進(jìn)一步討論 這種方法的有效性。

用戶的訪問行為可以由3個因素描述:HTTP請求速率、頁面閱讀時(shí)間和請求對象序列(包括請求對象與各請求的先后次序)。因此,App-DDoS攻 擊者(或者具有一定智能的攻擊程序)可以從這3個方面模仿正常用戶行為:小的HTTP請求速率、大的頁面瀏覽時(shí)間和仿真的HTTP請求序列。前兩者會降低 攻擊效果,而且只能通過增加被感染的計(jì)算機(jī)來彌補(bǔ),提高了攻擊難度。仿真HTTP請求序列包括兩方面內(nèi)容:

(1)仿真正常HTTP的流特征

這可以通過HTTP模擬工具實(shí)現(xiàn),通過這種方法形成的攻擊流具有一般正常流的特征屬性(例如:到達(dá)率、閱讀時(shí)間),因此不容易被檢測出來。

(2)仿真正常用戶的HTTP請求對象

簡單的方法可能有4種:隨機(jī)生成、預(yù)設(shè)、在線攔截并重放請求序列或者直接操控。第一種方法是由攻擊程序隨機(jī)生成請求對象或者隨機(jī)點(diǎn)擊鏈接。由于是隨 機(jī)生成,所以其訪問的內(nèi)容與正常用戶相比將不具有明確的目的性。第二種方法是由攻擊程序預(yù)先設(shè)定一個攻擊的HTTP請求序列,所表現(xiàn)出來的特征是周期性地 重復(fù)瀏覽某些相同的頁面對象。第三種方法是攔截所在客戶機(jī)的請求片斷然后重放,但是由于被感染的客戶機(jī)不一定會訪問被攻擊目標(biāo)的Web服務(wù)器,因此這種方 法并不能達(dá)到預(yù)期的攻擊效果。第四種辦法是攻擊者設(shè)置一個中心控制點(diǎn),周期性與病毒程序通信,并發(fā)布新的HTTP攻擊請求序列。但由于這種方法需要不斷和 控制點(diǎn)通信,容易暴露控制者所在位置,并且這種外部連接容易被客戶機(jī)上的病毒檢測系統(tǒng)或者防火墻所察覺和阻斷。從搜集到的資料看,目前已經(jīng)出現(xiàn)的,也是最 簡單有效的攻擊方法是利用HTTP中的“GET/”方法直接請求網(wǎng)站主頁。它僅需要目標(biāo)網(wǎng)站的域名而不需要指定具體的對象文件名,因此簡化了攻擊程序。另 外,主頁一般是網(wǎng)站上被高頻訪問的頁面,因此通過請求主頁發(fā)動的DDoS攻擊不容易被檢測到。

可見,盡管攻擊者可以模仿瀏覽器發(fā)送HTTP請求,并通過仿真工具重新整合攻擊流的流特性,使其接近客戶的流特性,但是它始終無法實(shí)時(shí)、動態(tài)地跟蹤和模仿正常用戶的訪問行為,因?yàn)橹挥蠾eb服務(wù)器記錄了所有訪問者的訪問記錄,而這些分析結(jié)果是攻擊者無法獲取的。

基于用戶行為的App-DDoS攻擊檢測方法如圖3所示。首先,利用大量正常用戶的歷史訪問記錄建立用戶的Web訪問輪廓(profile),現(xiàn)有 的Web挖掘技術(shù)可以實(shí)現(xiàn)這一功能。其次,利用建立的Web訪問輪廓比較待測量用戶訪問行為的偏離程度,按照偏離程度的大小對不同Web用戶的請求進(jìn)行排 隊(duì),偏離程度小的優(yōu)先得到服務(wù)器的響應(yīng),偏離程度大的在資源緊張時(shí)將被丟棄??紤]到App-DDoS攻擊是建立在正常TCP連接的基礎(chǔ)上,單純通過高層丟 棄或過濾攻擊請求并不能有效地根治App-DDoS攻擊,因?yàn)楸还粽卟倏氐目芄?jié)點(diǎn)會繼續(xù)不斷地向目標(biāo)服務(wù)器發(fā)出攻擊請求,這些攻擊請求會促使服務(wù)器與 傀儡節(jié)點(diǎn)繼續(xù)建立新的TCP連接,從而耗費(fèi)服務(wù)器資源。所以,對于這種持續(xù)不斷的TCP連接請求,可以粗略判斷為由攻擊程序自動產(chǎn)生,因而較為徹底地抵御 這種攻擊的方法就是在高層進(jìn)行檢測過濾的基礎(chǔ)上,進(jìn)一步在傳輸層阻塞傀儡節(jié)點(diǎn)的TCP連接請求或隔離來自該IP地址的分組。由于App-DDoS攻擊只能 使用真實(shí)的IP地址,這種阻塞方法可以起到明顯的抵御作用。

圖3基于用戶行為的App-DDoS檢測機(jī)制

5.結(jié)束語

本文剖析了應(yīng)用層DDoS攻擊的原理,分析了現(xiàn)有的DDoS攻擊檢測方法在處理突發(fā)流環(huán)境下的App-DDoS攻擊上的不足,從用戶訪問行為的角度 提出了一種有效檢測突發(fā)流下App-DDoS攻擊的方法。該方法與傳統(tǒng)針對Net-DDoS攻擊的方案分屬不同的網(wǎng)絡(luò)層次,因此,可以作為現(xiàn)有DDoS防 御體系的必要補(bǔ)充,在高層為Web服務(wù)器提供安全保障。利用不同的協(xié)議,基于應(yīng)用層的DDoS攻擊并不局限于暴力的洪水式攻擊,可以有多種不同的表現(xiàn)形 式,例如:Web蠕蟲的傳播、針對FTP服務(wù)器的攻擊、針對無線傳感器的攻擊及在具有顯著突發(fā)流特性的P2P網(wǎng)絡(luò)中的入侵與攻擊行為等。因此,對于 App-DDoS攻擊檢測來說,本文的研究僅是一個開始,許多問題還需要進(jìn)一步的探討。

分享到

huanghui

相關(guān)推薦