自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

新網(wǎng)絡(luò)環(huán)境下應(yīng)用層DDoS攻擊的剖析與防御

安全 黑客攻防
隨著網(wǎng)絡(luò)的普及Web應(yīng)用滲透到各行各業(yè),例如:電子商務(wù)、新聞信息傳播、科研教育等。與此同時,網(wǎng)絡(luò)攻擊也成為現(xiàn)代網(wǎng)絡(luò)穩(wěn)定運行的主要威脅,分布式拒絕服務(wù)(distributeddenialofservice,DDoS)攻擊是眾多攻擊方法中的一個重要組成部分。

應(yīng)用層DDoS攻擊分析

1.Net-DDoS攻擊與App-DDoS攻擊

按攻擊所針對的網(wǎng)絡(luò)層次可以把DDoS攻擊分為:網(wǎng)絡(luò)層DDoS(Net-DDoS)攻擊和App-DDoS攻擊。Net-DDoS攻擊主要是利用了現(xiàn)有低層(包括IP層和TCP層)協(xié)議的漏洞來發(fā)動攻擊。典型的攻擊方式是:使用偽造IP地址的攻擊節(jié)點向目標主機發(fā)送大量攻擊分組(TCP、ICMP、UDP等分組),利用TCP的三次握手機制使目標服務(wù)器為維護一個非常大的半開放連接列表而消耗非常多的CPU和內(nèi)存資源,最終因為堆棧溢出而導致系統(tǒng)崩潰無法為正常用戶提供服務(wù)。

App-DDoS攻擊雖然還是利用洪水式的攻擊方法,但與Net-DDoS攻擊不同的是它利用了高層協(xié)議,例如HTTP。由于高層協(xié)議的多樣性與復雜性,App-DDoS攻擊很難被檢測到,而且高層協(xié)議通常具有較強的功能,可以實現(xiàn)多種復雜的功能,因此App-DDoS攻擊所產(chǎn)生的破壞力遠大于傳統(tǒng)的Net-DDoS攻擊。App-DDoS攻擊有以下兩種攻擊方式:帶寬耗盡型和主機資源耗盡型。帶寬耗盡型(例如HTTPFlooding)的目標是通過大量合法的HTTP請求占用目標網(wǎng)絡(luò)的帶寬,使正常用戶無法進行Web訪問。攻擊的具體實現(xiàn)可以有多種不同的方式。攻擊者可以通過單線程或多線程向目標Web服務(wù)器發(fā)送大量的HTTP請求,這些請求可以隨機生成也可以通過攔截用戶的正常請求序列然后重放產(chǎn)生。請求內(nèi)容可以是Web服務(wù)器上的正常頁面(例如主頁),也可以是重定向頁面、頭信息或某些錯誤文檔,更復雜的可以是對動態(tài)內(nèi)容、數(shù)據(jù)庫查詢的請求。攻擊者甚至可以模擬搜索引擎采用遞歸方式,即從一個給定的HTTP鏈接開始,然后以遞歸的方式順著指定網(wǎng)站上所有的鏈接訪問,這也叫爬蟲下載(spidering)。主機資源耗盡型與HTTPFlooding不同,其目的是為了耗盡目標主機的資源(例如:CPU、存儲器、Socket等)。攻擊者用少量的HTTP請求促使服務(wù)器返回大文件(例如圖像、視頻文件等),或促使服務(wù)器運行一些復雜的腳本程序(例如復雜的數(shù)據(jù)處理、密碼計算與驗證等)。這種方式不需要很高的攻擊速率就可以迅速耗盡主機的資源,而且更具有隱蔽性。

與傳統(tǒng)基于低層協(xié)議的DDoS攻擊相比,App-DDoS攻擊具有以下特點:

首先,它利用了高層協(xié)議(HTTP)實現(xiàn)。許多基于Web的應(yīng)用(例如HTTP或HTTPS)通過開放的TCP端口(如TCP端口80與443)為客戶提供服務(wù),因此低層的檢測系統(tǒng)很難判斷經(jīng)過這些開放端口的用戶請求是來自于正常用戶還是來自于攻擊者。這導致針對Web應(yīng)用的App-DDoS攻擊請求可以順利穿越基于低層協(xié)議的檢測系統(tǒng),通過開放的TCP80端口直接到達Web服務(wù)器或網(wǎng)絡(luò)數(shù)據(jù)庫(見圖1)。

圖1App-DDoS攻擊流

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

此外,由于高層的服務(wù)和協(xié)議差異很大,App-DDoS攻擊可以有多種不同的形式,而且一個簡單的HTTP請求往往可以觸發(fā)服務(wù)器執(zhí)行一系列復雜的操作,例如:數(shù)據(jù)庫查詢、密碼驗證等,所以通過大量傀儡機向目標發(fā)送海量分組的攻擊方式并不是App-DDoS攻擊的惟一選擇,它可以用低速率的請求、少量的攻擊節(jié)點實現(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),最終導致SCO和微軟等知名網(wǎng)站的服務(wù)器崩潰。

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

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

可以預測,隨著Web應(yīng)用的不斷推廣,平穩(wěn)背景流不再是互聯(lián)網(wǎng)流量的惟一特征,具有突發(fā)流特征的Web網(wǎng)站將不斷地增加,例如:網(wǎng)上拍賣活動、視頻點播、大型活動的現(xiàn)場直播等。而且網(wǎng)絡(luò)技術(shù)的發(fā)展也為突發(fā)流提供了有利的條件,例如近年風靡全球的P2P就是一種具有典型突發(fā)流特性的網(wǎng)絡(luò)。與傳統(tǒng)的平穩(wěn)數(shù)據(jù)流不同,突發(fā)流嚴重影響著通信網(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包的頭信息實現(xiàn)攻擊檢測。例如:Cabrera等基于MIB(管理信息數(shù)據(jù)庫)把ICMP、UDP和TCP的分組統(tǒng)計異常映射到特定的DDoS攻擊,通過匹配分析實測分組屬性與特定DDoS攻擊的異常特征來實現(xiàn)檢測;Jin等假定DDoS的攻擊源是虛假IP地址,通過到達分組的IP地址與TTL(生存時間)來判斷是否存在基于虛假IP地址的DDoS攻擊。Kim等計算到達分組在給定的正常流模式下合法性的或然概率,通過或然概率檢測DDoS攻擊;Chen等通過檢測到達分組流在頻率域中特定頻率點的異常實現(xiàn)脈沖式攻擊的檢測。

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

(1)請求速率/QoS控制

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

(2)基于“Puzzle”的方法

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

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

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

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

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

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

Jung等使用兩個屬性區(qū)分DoS攻擊和正常突發(fā)流:DoS攻擊是由少量攻擊主機急劇增長的請求率產(chǎn)生,而正常突發(fā)流是由客戶數(shù)量的增長造成的;DoS攻擊者通常是新用戶,而正常突發(fā)流下的用戶通常在突發(fā)流產(chǎn)生前都訪問過該網(wǎng)站。因此通過約束每個訪問客戶機可使用的資源(如:TCP連接數(shù)、占用CPU時間、占用緩存大小及用戶響應(yīng)時間)及比較新客戶的比率來區(qū)分DoS攻擊和正常突發(fā)流。但是,對于現(xiàn)代網(wǎng)絡(luò)而言,這種方法的效果并不明顯。首先,Web應(yīng)用的客戶數(shù)量很大,因此不可能逐一確定每個客戶可使用的合法資源數(shù)量,而且假設(shè)攻擊由少量節(jié)點產(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ū)分攻擊也是不可行,因為App-DDoS攻擊請求通常由病毒程序產(chǎn)生,而病毒程序有可能駐留在合法的客戶機上。

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

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

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

4.基于訪問行為的防御

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

圖2不同層次的檢測機制

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

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

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

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

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

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

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

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

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

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防御體系的必要補充,在高層為Web服務(wù)器提供安全保障。利用不同的協(xié)議,基于應(yīng)用層的DDoS攻擊并不局限于暴力的洪水式攻擊,可以有多種不同的表現(xiàn)形式,例如:Web蠕蟲的傳播、針對FTP服務(wù)器的攻擊、針對無線傳感器的攻擊及在具有顯著突發(fā)流特性的P2P網(wǎng)絡(luò)中的入侵與攻擊行為等。因此,對于App-DDoS攻擊檢測來說,本文的研究僅是一個開始,許多問題還需要進一步的探討。

【編輯推薦】

  1. 深層防御DDoS攻擊-服務(wù)器綜合利用
  2. 斬斷DDoS魔掌的六把利刃
  3. 云安全:利用網(wǎng)格云對抗應(yīng)用層DDoS
  4. 讓你的網(wǎng)站遠離DDOS攻擊器和CC攻擊器
責任編輯:于爽 來源: bbs.cww.net.cn
相關(guān)推薦

2013-08-26 15:38:36

2012-12-25 19:09:02

2012-11-30 14:54:48

2012-02-14 09:43:08

2010-11-23 10:36:07

2015-05-18 13:51:08

2016-09-29 22:54:55

2009-11-23 15:11:52

路由器技術(shù)

2011-03-01 10:52:15

2016-05-30 10:59:41

2021-12-21 23:21:16

DDOS防御安全

2012-11-30 15:23:32

2011-08-16 14:42:16

2010-09-30 09:06:15

2012-01-13 10:13:57

軟件定義網(wǎng)絡(luò)SDNOpenFlow

2010-09-16 20:54:21

2009-01-16 10:40:50

2018-07-12 07:21:34

2013-04-02 10:27:31

點贊
收藏

51CTO技術(shù)棧公眾號