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