洪燕璇
摘? 要:對(duì)Web應(yīng)用防火墻中分布式拒絕服務(wù)攻擊防范策略進(jìn)行了探討,對(duì)應(yīng)用層分布式拒絕攻擊檢測(cè)防御技術(shù)的研究現(xiàn)狀進(jìn)行了詳細(xì)的闡述,并重點(diǎn)研究了可用于檢測(cè)和防御基于HTTP協(xié)議的分布式拒絕攻擊的方法,以供參考。
關(guān)鍵詞:Web應(yīng)用;防火墻;防御技術(shù);防范策略
中圖分類號(hào):TP393.08?????????? 文獻(xiàn)標(biāo)識(shí)碼:A?? ????????????文章編號(hào):2095-6835(2014)23-0149-02
Web應(yīng)用防火墻,是通過執(zhí)行一系列針對(duì)HTTP/HTTPS的安全策略來專門為Web應(yīng)用提供保護(hù)的一款產(chǎn)品。而分布式拒絕服務(wù)攻擊是近年來出現(xiàn)的一種網(wǎng)絡(luò)攻擊,它給網(wǎng)絡(luò)的正常運(yùn)行帶來了極大的危害。因此,為了保障web應(yīng)用的安全,就需要對(duì)分布式拒絕攻擊進(jìn)行防范。基于此,本文就web應(yīng)用防火墻中分布式拒絕服務(wù)攻擊防范策略進(jìn)行了探討。
1? 應(yīng)用層DDoS攻擊檢測(cè)防御技術(shù)研究現(xiàn)狀
根據(jù)對(duì)應(yīng)用層DDoS攻擊檢測(cè)防御方法的研究分析,我們可以把這些方法分為兩類,分別是平穩(wěn)背景流下的APP-Flood攻擊檢測(cè)防御方法和突發(fā)背景流下的APP-Flood攻擊檢測(cè)防御方法。
平穩(wěn)背景流下的APP-Flood攻擊檢測(cè)方法主要有:①Lu Wei-Zhou等利用隱半馬爾可夫模型來描述Web服務(wù)器的模式,并檢測(cè)基于應(yīng)用層HTTP協(xié)議的DDoS攻擊。他們先用大量合法的請(qǐng)求序列來訓(xùn)練HsMM,并用這個(gè)合法的模型來檢測(cè)每個(gè)請(qǐng)求序列。當(dāng)網(wǎng)絡(luò)流量的或然概率值偏離正常區(qū)間時(shí),就認(rèn)為這是一個(gè)攻擊。②基于時(shí)間序列分析的Web服務(wù)器DDoS攻擊檢測(cè)方法。③基于可信度的APP-DDoS攻擊防御方法。
突發(fā)背景流下的APP-Flood攻擊檢測(cè)防御方法主要有基于Web用戶瀏覽行為的統(tǒng)計(jì)異常檢測(cè)方法、可以同時(shí)用于防御突發(fā)流和平穩(wěn)流下的APP-Flood攻擊的方法。
2? HTTP-Flood攻擊分析
基于應(yīng)用層協(xié)議的DDoS攻擊,是一類利用TCP/IP協(xié)議棧高層協(xié)議的漏洞發(fā)起的攻擊。相對(duì)于低層協(xié)議而言,高層協(xié)議具有多樣性和復(fù)雜性的特征,同時(shí),由于高層協(xié)議的應(yīng)用離不開低層協(xié)議的支持,所以基于髙層協(xié)議的DDoS攻擊的低層協(xié)議特征完全正常,傳統(tǒng)的基于低層協(xié)議特征的檢測(cè)方法將不再適用,這使得基于應(yīng)用層的DDoS攻擊的破壞力遠(yuǎn)大于傳統(tǒng)網(wǎng)絡(luò)層DDoS攻擊。
2.1? HTTP協(xié)議
超文本傳輸協(xié)議是一個(gè)屬于應(yīng)用層的面向?qū)ο蟮膮f(xié)議,它一般用于從Web服務(wù)器端傳送超文本標(biāo)記語言文件到客戶端瀏覽器,并且定義了客戶端瀏覽器和Web服務(wù)器之間的會(huì)話過程,是互聯(lián)網(wǎng)上最常見的協(xié)議之一。
2.2? HTTP-Flood攻擊的原理和分類
HTTP-Flood攻擊的主要目標(biāo)是Web服務(wù)上的網(wǎng)頁。攻擊時(shí),攻擊者向服務(wù)器發(fā)送大量的高頻請(qǐng)求,使服務(wù)器忙于向攻擊者提供資源而無法響應(yīng)其他合法用戶的服務(wù)請(qǐng)求。攻擊過程中的單個(gè)請(qǐng)求基本與正常的HTTP訪問過程一樣,但當(dāng)海量的單個(gè)請(qǐng)求同時(shí)發(fā)生時(shí),HTTP-Flood攻擊也就隨之產(chǎn)生了,造成的后果就是Web服務(wù)器拒絕服務(wù)。HTTP-Flood攻擊一般可分為兩類:①請(qǐng)求泛洪攻擊。這種攻擊形式是通過發(fā)送大量合法的HTTP請(qǐng)求來占用目標(biāo)網(wǎng)絡(luò)的帶寬或者消耗服務(wù)器的資源,使正常用戶無法進(jìn)行Web訪問。②高消耗請(qǐng)求攻擊。這種攻擊的形式就是攻擊者通過不斷訪問Web服務(wù)器上高耗資源的網(wǎng)頁,造成服務(wù)器的資源被消耗殆盡,從而拒絕服務(wù)。
2.3? HTTP-Flood與其他DDoS攻擊的對(duì)比分析
2.3.1? 與SYN-Flood攻擊的對(duì)比分析
SYN-Flood攻擊是目前最流行的DDoS攻擊之一,它的主要原理是利用TCP協(xié)議來偽造客戶端與攻擊目標(biāo)建立TCP連
接,但只是發(fā)送SYN包,而不建立完整的連接,讓目標(biāo)主機(jī)維持大量的半開連接而消耗掉自身的資源。
2.3.2? 與LDoS攻擊的對(duì)比分析
低速率拒絕服務(wù)攻擊是一類新型攻擊,主要是利用端系統(tǒng)或網(wǎng)絡(luò)中常見的自適應(yīng)機(jī)制所存在的安全漏洞,通過低速率周期性攻擊流,以更高的攻擊效率對(duì)受害者進(jìn)行破壞。
2.3.3? 與UDP-Flood攻擊的對(duì)比分析
UDP-Flood攻擊是基于UDP協(xié)議的DDoS攻擊,與HTTP-Flood攻擊最大的區(qū)別就是,它可以偽造源IP進(jìn)行攻擊,并且它們基于的協(xié)議不一樣,一個(gè)是UDP協(xié)議,另外一個(gè)是TCP之上的HTTP協(xié)議。
3? DDoS攻擊防御技術(shù)的特點(diǎn)
3.1? 主機(jī)策略閾值配置
拒絕服務(wù)攻擊中防御模塊策略閾值可分為單包策略、安全域全局策略和主機(jī)策略3類。其中,主機(jī)策略配置的對(duì)象是被保護(hù)的IP地址。首先配置的內(nèi)容為該安全域內(nèi)IP地址的策略閾值。有需要時(shí),可以單獨(dú)修改安全域內(nèi)部某IP地址的閾值。
當(dāng)安全域內(nèi)服務(wù)器所提供的服務(wù)相差較大,不能用同一種策略閾值保護(hù)時(shí),應(yīng)該對(duì)單臺(tái)服務(wù)器作出調(diào)整。
3.2? 策略閾值自學(xué)習(xí)
為使用戶了解被保護(hù)對(duì)象的流量情況,并能方便、準(zhǔn)確地配置策略閾值,內(nèi)核拒絕服務(wù)攻擊防御模塊提供了策略閾值的學(xué)習(xí)接口。學(xué)習(xí)素材由內(nèi)核模塊通過接口發(fā)送給用戶態(tài)的自學(xué)習(xí)程序,自學(xué)習(xí)程序以被保護(hù)主機(jī)的IP為單位學(xué)習(xí)各種策略閾值。默認(rèn)狀態(tài)下,被保護(hù)主機(jī)的IP學(xué)習(xí)狀態(tài)為關(guān)閉,用戶可根據(jù)需要開啟需要被保護(hù)主機(jī)的IP學(xué)習(xí)狀態(tài)。當(dāng)被保護(hù)主機(jī)的IP學(xué)習(xí)狀態(tài)開啟時(shí),內(nèi)核模塊將持續(xù)向用戶態(tài)的學(xué)習(xí)進(jìn)程發(fā)送數(shù)據(jù),最終由閾值學(xué)習(xí)進(jìn)程計(jì)算得出參考閾值。
閾值學(xué)習(xí)過程進(jìn)程最快可在1 h內(nèi)得出閾值學(xué)習(xí)結(jié)果。但考慮到每種服務(wù)在不同時(shí)間段的流量變化較大,所以每種閾值的學(xué)習(xí)都以天為單位,同時(shí),用戶可以査看和參考前N天的策略閾值。自學(xué)習(xí)的閾值涵蓋所有用戶可配置的策略閾值,插件模塊也可以通過自學(xué)習(xí)功能得到參考閾值。
自學(xué)習(xí)模塊具有極高的實(shí)際應(yīng)用價(jià)值,解決了原有策略閾值需要反復(fù)調(diào)整才能穩(wěn)定的問題。策略閾值的合理配置關(guān)系到判斷攻擊強(qiáng)度的準(zhǔn)確性。在未知的網(wǎng)絡(luò)環(huán)境中,應(yīng)當(dāng)及時(shí)、準(zhǔn)確地得出閾值;否則,基于閾值的攻擊防御算法的精確度將大打折扣。
3.3? IP信譽(yù)學(xué)習(xí)機(jī)制
IP信譽(yù)機(jī)制是拒絕服務(wù)攻擊防御模塊中一種重要的防御機(jī)制。在遭受大流量攻擊時(shí),反復(fù)檢查和計(jì)算將消耗很多資源,嚴(yán)重時(shí)將影響正常用戶的數(shù)據(jù)包轉(zhuǎn)發(fā)速度。使用IP信用機(jī)制后,能有效保證正常用戶連接的帶寬,省略了復(fù)雜的檢査和計(jì)算過程,節(jié)省了系統(tǒng)資源;同時(shí),IP信用單元記錄了真實(shí)IP地址的跳數(shù),以防止真實(shí)的IP地址被攻擊流量冒用。
3.4? IP認(rèn)證機(jī)制
1P認(rèn)證機(jī)制是判斷源IP是否真實(shí)的過程。判斷原理是通過TCP超時(shí)時(shí)間間隔,檢查SYN或ACK重傳的間隔是否正確。
3.5? QoS限速
為了拒絕服務(wù)攻擊,防御模塊使用了簡(jiǎn)單令牌桶算法來實(shí)現(xiàn)流量限速。QoS限速模塊實(shí)現(xiàn)了與其他模塊的低耦合狀態(tài),可以為其他模塊提供以pps和bps為單位的限流量功能。在拒絕服務(wù)攻擊防御模塊中,每種策略閾值都會(huì)觸發(fā)忽略、丟棄和限速3種動(dòng)作,這解決了在拒絕服務(wù)攻擊防御過程中有可能出現(xiàn)的誤判或漏判問題。
3.6? 拒絕服務(wù)攻擊插件
設(shè)計(jì)實(shí)現(xiàn)插件模塊的主要原因是為了滿足不同客戶對(duì)拒絕服務(wù)攻擊防御模塊功能組合的特殊需求。插件模塊是單獨(dú)編寫的內(nèi)核模塊,以掛載和拒絕服務(wù)攻擊防御模塊中檢測(cè)點(diǎn)的方式來獨(dú)立完成特定的驗(yàn)證和保護(hù)工作。
拒絕服務(wù)攻擊模塊中的3個(gè)檢測(cè)點(diǎn),因其位置不同而具有不同的檢測(cè)功能。單包檢測(cè)點(diǎn)在流程中位置靠前,用來做單包特征檢測(cè),不需考慮傳輸協(xié)議或會(huì)話等。有連接的檢測(cè)點(diǎn)在會(huì)話處理流程之后,主要用來檢測(cè)能夠成功建立會(huì)話的TCP協(xié)議數(shù)據(jù);沒有連接的檢測(cè)點(diǎn)用來檢測(cè)非TCP的其他協(xié)議。
4? HTTP攻擊防御算法
Web服務(wù)器遭到拒絕服務(wù)攻擊后出現(xiàn)異常情況的主要表現(xiàn)有:Web服務(wù)器瞬時(shí)鏈接數(shù)量急劇增多、訪問Web服務(wù)器的IP數(shù)量急劇增多、部分IP訪問的頻率非???、部分IP請(qǐng)求URL非常單一或者規(guī)律性非常明顯、服務(wù)器資源或者網(wǎng)絡(luò)資源被消耗殆盡。
5? Puzzle驗(yàn)證算法
Puzzle算法的原理是劫持請(qǐng)求方會(huì)話,并向其發(fā)送驗(yàn)證頁面,用戶需要在頁面答對(duì)問題才能通過驗(yàn)證。驗(yàn)證過程需要策略閾值的觸發(fā)。驗(yàn)證過程開始后,HTTP保護(hù)模塊代替Web服務(wù)器向請(qǐng)求方發(fā)送頁面,且服務(wù)器原會(huì)話被重置。
用戶看到驗(yàn)證頁面后,需要回答頁面中的數(shù)學(xué)問題,并將答案提交。如果HTTP保護(hù)模塊收到了正確答案,則該用戶驗(yàn)證通過;如果會(huì)話超時(shí)或者回答錯(cuò)誤次數(shù)超過定值后,則該用戶驗(yàn)證失敗。
如果用戶驗(yàn)證正確,HTTP保護(hù)模塊將發(fā)送一份帶有原請(qǐng)求URL的自動(dòng)跳轉(zhuǎn)頁面,用戶將自動(dòng)跳轉(zhuǎn)到原先請(qǐng)求的頁面;如果用戶多次驗(yàn)證錯(cuò)誤,用戶的頁面請(qǐng)求將被阻斷,用戶的IP信譽(yù)降低,并等待HTTP保護(hù)策略的超時(shí)。
HTTP Puzzle算法能有效驗(yàn)證僵尸主機(jī)和CC的攻擊,對(duì)惡意代碼發(fā)起的頁面請(qǐng)求和GET/POST洪水攻擊有較好的保護(hù)和驗(yàn)證效果。HTTP Puzzle算法的優(yōu)點(diǎn)是驗(yàn)證機(jī)制嚴(yán)格,可以有效抑制多數(shù)HTTP的攻擊,缺點(diǎn)是需要請(qǐng)求方配合,容易造成誤操作。
6? 結(jié)束語
綜上所述,分布式拒絕服務(wù)攻擊是近年來出現(xiàn)的一種網(wǎng)絡(luò)攻擊,它給網(wǎng)絡(luò)的正常運(yùn)行帶來了極大的危害。而在理論上,除非修改TCP/IP協(xié)議的規(guī)范,否則是沒有辦法徹底解決分布式拒絕攻擊問題的。因此,我們需要及時(shí)采取防范策略,以保障Web應(yīng)用的安全。
參考文獻(xiàn)
[1]吳偉姣.分布式拒絕服務(wù)攻擊與防范策略詳探[J].中國(guó)科技信息,2008(01).
[2]鄭維銘.分布式拒絕服務(wù)攻擊原理及實(shí)驗(yàn)[J].才智,2009(30).
〔編輯:王霞〕
Web Application Firewall in Distributed Denial of Service Attack Prevention Strategy
Hong Yanxuan
Abstract: The Web application firewall in distributed denial of service attack prevention strategies were discussed, distributed denial of the application layer attack detection defense technology research status carried out in detail, and can be used to focus on the detection and prevention based on the HTTP protocol distributed denial of attack methods, for reference.
Key words: Web application; firewall; defense technology; prevention strategies