趙 陽,許曉東
(江蘇大學 計算機科學與通信工程學院,江蘇 鎮江 212013)
針對HTTP協議的LDOS攻擊建模與評估
趙 陽,許曉東
(江蘇大學 計算機科學與通信工程學院,江蘇 鎮江 212013)
低速率拒絕服務攻擊主要是利用系統的協議漏洞,通過發送少量攻擊數據包就可耗盡受攻擊者可用資源,隱蔽性很高。對迭代服務器所建立的攻擊模型進行了優化與改進。通過攻擊評價指標,在NS2仿真軟件下分析了攻擊模型中各參數與性能之間的關系。
低速率;拒絕服務攻擊;隱蔽性;迭代服務器
拒絕服務攻擊(Dos)通過暴力攻擊手段,使計算機網絡不能正常運轉從而不能向合法用戶提供所需服務[1],雖然破壞力度大,但由于其高速率流的攻擊特征明顯異常,很容易被檢測到。因此,2003年Kuzmanovic等[2]首次提出了針對TCP擁塞控制機制而發起的shrew攻擊(因可以逃脫檢測,形象地稱其為“地鼠”攻擊),其可通過周期性發送低速率攻擊流,以更高的攻擊效率對受害者進行破壞而不易發現,也稱為LDOS攻擊(低速率拒絕服務攻擊)。研究者對此充分重視,其防御檢測手段也越來越多,最直接有效的方法是隨機化擁塞控制機制中的超時時間[3]。實驗證明這些方法能有效防御Ldos攻擊對服務性能的影響。很多人將研究重點轉向應用層,首次對其進行深入研究的是國外學者Maciá-Fernández[4]。相對于傳輸層,應用層低速率拒絕服務攻擊[5](low-rate denial of service attacks against application servers,以下簡稱LoRDAS攻擊),主要針對Web應用層HTTP1.1協議持續連接的特性發起攻擊,若從應用層的HTTP協議發起LDOS攻擊,實現則更復雜、隱蔽性更高。Maciá-Fernández在文獻[6]中詳細論述了發起該攻擊的基本原理與策略:在保持低速率的同時,服務器對正常用戶停止響應,但是他的研究僅僅局限于針對傳統迭代服務器,攻擊方法缺少靈活性,因此必須對其進行改進以順應現代技術的發展。
LoRDAS攻擊速率要免于IDS系統檢測,在維持高效的同時達到很好的隱蔽性。由于現代分布式服務器對并發請求的處理能力顯著提高,針對單機服務器的LDOS攻擊,破壞力大大降低,因此必須對單機服務器的傳統攻擊模式進行改進。
1.1 LoRDAS攻擊基本策略
由于服務器資源是有限的,按攻擊目標來劃分,拒絕服務攻擊(DOS)主要有消耗節點資源和消耗網絡連接數兩種攻擊方式,通過發送大量高速率攻擊數據包,占據有限網絡資源,致使新到達的請求無法排隊而被連續丟棄,最終拒絕服務。而LoRDAS則是在Dos攻擊基礎上利用應用層的HTTP協議的持續性,準確預測連接釋放時間,并在該時間點發送少量的攻擊數據包,達到低速率要求。持續連接是HTTP/1.1版本后提出的,指Web服務器在發送響應后仍然在一段時間內保持該連接,且協議規定服務器應具有固定時間因素keepalivetime,加上服務器完成時間幾乎完全等于連接釋放時間,這為準確推算連接釋放時間提供機會。攻擊者可通過如圖1所示的策略預測空位釋放時間。

圖1 正常連接狀態
預測空位釋放時間Toutput流程:①攻擊者與服務器建立正常連接;②連接建立以后發送HTTP請求;③請求在Treceive時刻到達服務器端,并占據服務隊列位置,等待一段時間后進入服務模塊;④在服務隊列等待一段時間后,服務進程從隊列中提取請求并向服務器發送HTTP響應,攻擊端得到響應的時刻記為Tresponse;⑤連接請求在保持Tkeep時間以后關閉。
1.2 傳統迭代服務器攻擊模型
在傳統迭代服務器中,進程一個個處理客戶端發來的連接,只要沒有完成任務,它就會一直占用服務器進程,其余的請求則一直處于等待狀態。因此,攻擊者也相應采用單線程方式進行攻擊。設想最初有N個位置占據緩存隊列中的位置,其空位輸出的時間預測如圖2所示,從中可以看出其并沒有考慮網絡中動態變化的時間因素,而是假設每個攻擊請求永遠在請求服務器中某一特定資源。默認服務時間是固定的,當一個請求t=0時刻到達后,ts后會有空位釋放,攻擊者在這一固定時間發送攻擊請求。顯然,該方法工作在理想狀態下,而現實中的網絡環境是動態變化的,因此攻擊效率低下。

圖2 空位釋放時間Toutput
不同于迭代服務器的是,并發服務器在同一時刻會對多個請求同時響應,通過master進程負責管理多個worker進程,客戶端每發來一個請求,master進程都會創建多個worker進程去處理請求,自己則一直處于監聽狀態而不會阻塞,繼續偵聽下一個請求,其并發能力顯著提高。傳統的關于lordas建立的攻擊模型在并發服務器上運行,并不能達到理想的攻擊效果,必須對其進行改進與優化。
2.1 時間預測機制
攻擊成功的關鍵在于準確預測空位釋放時間Toutput的時刻,并在該時刻周圍發送少量的數據包。需充分考慮網絡中的不確定時間因素,通過重獲機制獲得釋放的空位,具體推理如式(1)所示:
Tres=Trec+RTT/2
Toutput=Tres+Tkeep-RTT/2
Tattack=Toutput-RTT/2
(1)
RTT往返時延是計算機網絡中的重要指標,在攻擊設計中是一個重要參數。RTT指數據包從發送端到接收端再返回到發送端的來回時間,由于網絡環境的不同,RTT的時間不是固定的。往返時延RTT主要包括鏈路的傳播時間、處理時間以及緩存隊列中的排隊和處理時間,很多研究顯示其服務時間滿足正態分布[7]。
f(RTT)=N(RTT,var[RTT])
因此,RTT改進后如式(2)所示:


(2)
空位釋放時間改進后公式為:

(3)
2.2 攻擊重獲機制
通過分析LoRDAS攻擊的基本策略可以看出,其成功的關鍵在于準確的時間預測以及攻擊包的發送策略。為了讓緩存隊列一直處于滿溢狀態,必須使用重獲機制,其意義在于攻擊單元搶占正常用戶的請求隊列位置時,通過重獲機制,保持單元在請求完成后繼續保持在之前的隊列位置。可預測的是,一段時間之后,隊列中合法用戶的比例會越來越少,服務能力變得越來越低效。
如圖3所示,攻擊者在有空位釋放的瞬間發送on/off周期性攻擊波形。攻擊采用多線程形式,每個線程盡可能先占據緩存隊列位置,并在后期通過重獲機制一直保持該位置。
由于空位釋放時間具有隨機性,因此需在Toutput時刻左右發送多個請求。攻擊者盡量在輸出的瞬間同步請求。攻擊波形的基本特征如下:





(4)


(5)

圖3 攻擊波形
2.3 信息共享機制
由于攻擊采用多線程,當空閑的線程在同一時刻監聽同一端口時,多個線程在建立連接的過程中會發生爭搶,即“驚群現象”,而目前相關文獻沒有意識到進程紊亂問題,也沒有提出很好的解決方案,這將導致攻擊效率低下。如圖4所示,當攻擊進程1與攻擊進程2都預測到空位釋放時刻Tout1與Tout2,并按照之前的運行機制發送攻擊請求時,由于在該時刻發送了多個請求,則進程1獲得了兩個緩存隊列位置,進程2失敗后則會盲目發送請求。多次出現此現象后,會有越來越多進程出現紊亂,重獲機制不能達到預期效果。

圖4 進程間爭搶現象
需要通過信息共享機制,對攻擊進程進行序列化,防止進程間的爭搶。攻擊有保持單元與攻擊單元之分,當隊列處于滿溢狀態時,重獲機制的保持單元獲取隊列位置失敗,將保持單元切換為攻擊單元,在獲得緩存隊列位置后,繼續運行重獲機制,動態調整攻擊參數,重新發送數據包,以此保證成功獲得緩存隊列位置的成功率。

采用先進先出(FIFO)隊列。文獻[8]指出,正常用戶按照泊松分布發送數據流量,攻擊結點周期性發送LoRDAS攻擊流量,正常發送方、攻擊方與路由器之間的鏈路帶寬為12Mb/s,延時時間設置為10ms;兩路由器之間的鏈路帶寬為2Mb/s,延時時間為20ms;接收方與路由器間的鏈路帶寬設置為20Mb/s,延時時間為10ms,緩存隊列長度為C。網絡拓撲如圖5所示。

圖5 網絡拓撲
正常請求流量以10Mb/s的速率在0.1s時刻開始,在4.5s時刻結束,攻擊請求在1s時刻開始,在4s時刻結束。時間點如圖6所示。

圖6 正常請求與攻擊請求的發送時間點
以攻擊效率E、攻擊效能M為指標考慮攻擊參數對其影響。模擬多個不同的攻擊場景,確定攻擊參數的最優取值。通過圖示分析Tontime的取值對攻擊效率以及攻擊代價的影響,設置基本的實驗攻擊參數:攻擊周期T=12s,R=10Mb/s,f(Ts)=N(12s,0.1s),tontime∈[0.1s,0.6s],Δ∈[0.025s,0.6s],R∈[2Mb/s,20Mb/s]。
(1)分析不同的tontime取值對攻擊效率E以及攻擊代價M的影響。從圖7可以看出,隨著tontime取值的增大,攻擊效率E也隨之增大,與其呈正相關關系。在初期增長較快,但之后隨著取值的增大,其攻擊效率增長緩慢,一般不會超過0.8,同時攻擊代價也越來越大。綜合分析攻擊效能M的變化,tontime的最優取值為0.4s。

圖7 Tontime對攻擊效率E的影響

圖8 Tontime對攻擊代價M的影響
(2)攻擊周期T=12s,f(Ts)=N(12s,0.1s),tontime=0.4s,Ns=4,R∈[2Mb/s,20Mb/s],分析不同突發數據率取值對攻擊效率E以及攻擊代價M的影響。如圖8~圖10所示,攻擊效率E隨著突發數據率R的提高而增長,初期增長速度較快,達到一定值后增長速度明顯緩慢。綜合分析攻擊效能M的變化趨勢,突發數據率R的最優取值為12Mb/s。

圖9 R對攻擊效率E的影響

圖10 R對攻擊代價M的影響
在忽略網絡不可控因素的前提下,通過以上幾組實驗可大體確定最優的攻擊參數。與傳統的洪泛攻擊相比,攻擊速率大大降低,具有很好的隱蔽性,能夠免于IDS系統檢測。
本文研究了LoRDAS攻擊的行為特性,并建立了完善的數學攻擊模型,通過仿真實驗詳細分析了攻擊參數與攻擊效率之間的關系。不足之處在于該研究仍停留在理論階段,后續要側重于將理論模型運用到實際網絡環境中,考慮實際環境的不可控因素,驗證其可行性。同時,對攻擊參數及攻擊波形的發起進行動態調整,采用分布式方法,根據實際情況調整參數,從而在保證低速率的同時達到更高的攻擊效率。
今后的工作重點在于防御檢測方法研究。本文通過分析Http協議的低速率拒絕服務攻擊運行原理,為接下來的防御手段研究奠定了理論基礎,同時也是后期研究目標之一。
[1] 文坤,楊家海,張賓.低速率拒絕服務攻擊研究與進展綜述[J].軟件學報,2014,25(3):591-605.
[2] KUZMANOVIC A, KNIGHTLY E W.Low-rate TCP-targeted denial of service attacks[C].Proceedings of ACM SIGCOMM 2003,Karlsruhe, Germany, 2003.
[3] 魏蔚,董亞波,魯東明,等.低速率 TCP 拒絕服務攻擊的檢測響應機制[J].浙江大學學報,2008,42(5):757-765.
[5] 何炎祥,劉陶,曹強,等.低速率拒絕服務攻擊綜述[J].計算機科學,2008,2(1):1-19.
[7] XU XD, GUO X, ZHU SR.A queuing analysis for low-rate DoS attacks against application servers[C].In Proc of the IEEE Int’l Conf,on Wireless Communications Networking and Information Security (WCNIS),2010.
[8] 許曉東.郭曉.應用層低速率拒絕服務攻擊的分析與研究[D].鎮江:江蘇大學,2011.
(責任編輯:杜能鋼)
趙陽(1992-),女,江蘇泰州人,江蘇大學計算機科學與通信工程學院碩士研究生,研究方向為網絡安全;許曉東(1965-),男,福建福州人,江蘇大學計算機科學與通信工程學院教授,研究方向為網絡測量和行為學理論與技術。
10.11907/rjdk.162579
TP309
A
1672-7800(2017)003-0149-04