趙 陽,許曉東
(江蘇大學(xué) 計算機(jī)科學(xué)與通信工程學(xué)院,江蘇 鎮(zhèn)江 212013)
針對HTTP協(xié)議的LDOS攻擊建模與評估
趙 陽,許曉東
(江蘇大學(xué) 計算機(jī)科學(xué)與通信工程學(xué)院,江蘇 鎮(zhèn)江 212013)
低速率拒絕服務(wù)攻擊主要是利用系統(tǒng)的協(xié)議漏洞,通過發(fā)送少量攻擊數(shù)據(jù)包就可耗盡受攻擊者可用資源,隱蔽性很高。對迭代服務(wù)器所建立的攻擊模型進(jìn)行了優(yōu)化與改進(jìn)。通過攻擊評價指標(biāo),在NS2仿真軟件下分析了攻擊模型中各參數(shù)與性能之間的關(guān)系。
低速率;拒絕服務(wù)攻擊;隱蔽性;迭代服務(wù)器
拒絕服務(wù)攻擊(Dos)通過暴力攻擊手段,使計算機(jī)網(wǎng)絡(luò)不能正常運轉(zhuǎn)從而不能向合法用戶提供所需服務(wù)[1],雖然破壞力度大,但由于其高速率流的攻擊特征明顯異常,很容易被檢測到。因此,2003年Kuzmanovic等[2]首次提出了針對TCP擁塞控制機(jī)制而發(fā)起的shrew攻擊(因可以逃脫檢測,形象地稱其為“地鼠”攻擊),其可通過周期性發(fā)送低速率攻擊流,以更高的攻擊效率對受害者進(jìn)行破壞而不易發(fā)現(xiàn),也稱為LDOS攻擊(低速率拒絕服務(wù)攻擊)。研究者對此充分重視,其防御檢測手段也越來越多,最直接有效的方法是隨機(jī)化擁塞控制機(jī)制中的超時時間[3]。實驗證明這些方法能有效防御Ldos攻擊對服務(wù)性能的影響。很多人將研究重點轉(zhuǎn)向應(yīng)用層,首次對其進(jìn)行深入研究的是國外學(xué)者M(jìn)aciá-Fernández[4]。相對于傳輸層,應(yīng)用層低速率拒絕服務(wù)攻擊[5](low-rate denial of service attacks against application servers,以下簡稱LoRDAS攻擊),主要針對Web應(yīng)用層HTTP1.1協(xié)議持續(xù)連接的特性發(fā)起攻擊,若從應(yīng)用層的HTTP協(xié)議發(fā)起LDOS攻擊,實現(xiàn)則更復(fù)雜、隱蔽性更高。Maciá-Fernández在文獻(xiàn)[6]中詳細(xì)論述了發(fā)起該攻擊的基本原理與策略:在保持低速率的同時,服務(wù)器對正常用戶停止響應(yīng),但是他的研究僅僅局限于針對傳統(tǒng)迭代服務(wù)器,攻擊方法缺少靈活性,因此必須對其進(jìn)行改進(jìn)以順應(yīng)現(xiàn)代技術(shù)的發(fā)展。
LoRDAS攻擊速率要免于IDS系統(tǒng)檢測,在維持高效的同時達(dá)到很好的隱蔽性。由于現(xiàn)代分布式服務(wù)器對并發(fā)請求的處理能力顯著提高,針對單機(jī)服務(wù)器的LDOS攻擊,破壞力大大降低,因此必須對單機(jī)服務(wù)器的傳統(tǒng)攻擊模式進(jìn)行改進(jìn)。
1.1 LoRDAS攻擊基本策略
由于服務(wù)器資源是有限的,按攻擊目標(biāo)來劃分,拒絕服務(wù)攻擊(DOS)主要有消耗節(jié)點資源和消耗網(wǎng)絡(luò)連接數(shù)兩種攻擊方式,通過發(fā)送大量高速率攻擊數(shù)據(jù)包,占據(jù)有限網(wǎng)絡(luò)資源,致使新到達(dá)的請求無法排隊而被連續(xù)丟棄,最終拒絕服務(wù)。而LoRDAS則是在Dos攻擊基礎(chǔ)上利用應(yīng)用層的HTTP協(xié)議的持續(xù)性,準(zhǔn)確預(yù)測連接釋放時間,并在該時間點發(fā)送少量的攻擊數(shù)據(jù)包,達(dá)到低速率要求。持續(xù)連接是HTTP/1.1版本后提出的,指Web服務(wù)器在發(fā)送響應(yīng)后仍然在一段時間內(nèi)保持該連接,且協(xié)議規(guī)定服務(wù)器應(yīng)具有固定時間因素keepalivetime,加上服務(wù)器完成時間幾乎完全等于連接釋放時間,這為準(zhǔn)確推算連接釋放時間提供機(jī)會。攻擊者可通過如圖1所示的策略預(yù)測空位釋放時間。
圖1 正常連接狀態(tài)
預(yù)測空位釋放時間Toutput流程:①攻擊者與服務(wù)器建立正常連接;②連接建立以后發(fā)送HTTP請求;③請求在Treceive時刻到達(dá)服務(wù)器端,并占據(jù)服務(wù)隊列位置,等待一段時間后進(jìn)入服務(wù)模塊;④在服務(wù)隊列等待一段時間后,服務(wù)進(jìn)程從隊列中提取請求并向服務(wù)器發(fā)送HTTP響應(yīng),攻擊端得到響應(yīng)的時刻記為Tresponse;⑤連接請求在保持Tkeep時間以后關(guān)閉。
1.2 傳統(tǒng)迭代服務(wù)器攻擊模型
在傳統(tǒng)迭代服務(wù)器中,進(jìn)程一個個處理客戶端發(fā)來的連接,只要沒有完成任務(wù),它就會一直占用服務(wù)器進(jìn)程,其余的請求則一直處于等待狀態(tài)。因此,攻擊者也相應(yīng)采用單線程方式進(jìn)行攻擊。設(shè)想最初有N個位置占據(jù)緩存隊列中的位置,其空位輸出的時間預(yù)測如圖2所示,從中可以看出其并沒有考慮網(wǎng)絡(luò)中動態(tài)變化的時間因素,而是假設(shè)每個攻擊請求永遠(yuǎn)在請求服務(wù)器中某一特定資源。默認(rèn)服務(wù)時間是固定的,當(dāng)一個請求t=0時刻到達(dá)后,ts后會有空位釋放,攻擊者在這一固定時間發(fā)送攻擊請求。顯然,該方法工作在理想狀態(tài)下,而現(xiàn)實中的網(wǎng)絡(luò)環(huán)境是動態(tài)變化的,因此攻擊效率低下。
圖2 空位釋放時間Toutput
不同于迭代服務(wù)器的是,并發(fā)服務(wù)器在同一時刻會對多個請求同時響應(yīng),通過master進(jìn)程負(fù)責(zé)管理多個worker進(jìn)程,客戶端每發(fā)來一個請求,master進(jìn)程都會創(chuàng)建多個worker進(jìn)程去處理請求,自己則一直處于監(jiān)聽狀態(tài)而不會阻塞,繼續(xù)偵聽下一個請求,其并發(fā)能力顯著提高。傳統(tǒng)的關(guān)于lordas建立的攻擊模型在并發(fā)服務(wù)器上運行,并不能達(dá)到理想的攻擊效果,必須對其進(jìn)行改進(jìn)與優(yōu)化。
2.1 時間預(yù)測機(jī)制
攻擊成功的關(guān)鍵在于準(zhǔn)確預(yù)測空位釋放時間Toutput的時刻,并在該時刻周圍發(fā)送少量的數(shù)據(jù)包。需充分考慮網(wǎng)絡(luò)中的不確定時間因素,通過重獲機(jī)制獲得釋放的空位,具體推理如式(1)所示:
Tres=Trec+RTT/2
Toutput=Tres+Tkeep-RTT/2
Tattack=Toutput-RTT/2
(1)
RTT往返時延是計算機(jī)網(wǎng)絡(luò)中的重要指標(biāo),在攻擊設(shè)計中是一個重要參數(shù)。RTT指數(shù)據(jù)包從發(fā)送端到接收端再返回到發(fā)送端的來回時間,由于網(wǎng)絡(luò)環(huán)境的不同,RTT的時間不是固定的。往返時延RTT主要包括鏈路的傳播時間、處理時間以及緩存隊列中的排隊和處理時間,很多研究顯示其服務(wù)時間滿足正態(tài)分布[7]。
f(RTT)=N(RTT,var[RTT])
因此,RTT改進(jìn)后如式(2)所示:
(2)
空位釋放時間改進(jìn)后公式為:
(3)
2.2 攻擊重獲機(jī)制
通過分析LoRDAS攻擊的基本策略可以看出,其成功的關(guān)鍵在于準(zhǔn)確的時間預(yù)測以及攻擊包的發(fā)送策略。為了讓緩存隊列一直處于滿溢狀態(tài),必須使用重獲機(jī)制,其意義在于攻擊單元搶占正常用戶的請求隊列位置時,通過重獲機(jī)制,保持單元在請求完成后繼續(xù)保持在之前的隊列位置。可預(yù)測的是,一段時間之后,隊列中合法用戶的比例會越來越少,服務(wù)能力變得越來越低效。
如圖3所示,攻擊者在有空位釋放的瞬間發(fā)送on/off周期性攻擊波形。攻擊采用多線程形式,每個線程盡可能先占據(jù)緩存隊列位置,并在后期通過重獲機(jī)制一直保持該位置。
由于空位釋放時間具有隨機(jī)性,因此需在Toutput時刻左右發(fā)送多個請求。攻擊者盡量在輸出的瞬間同步請求。攻擊波形的基本特征如下:
(4)
(5)
圖3 攻擊波形
2.3 信息共享機(jī)制
由于攻擊采用多線程,當(dāng)空閑的線程在同一時刻監(jiān)聽同一端口時,多個線程在建立連接的過程中會發(fā)生爭搶,即“驚群現(xiàn)象”,而目前相關(guān)文獻(xiàn)沒有意識到進(jìn)程紊亂問題,也沒有提出很好的解決方案,這將導(dǎo)致攻擊效率低下。如圖4所示,當(dāng)攻擊進(jìn)程1與攻擊進(jìn)程2都預(yù)測到空位釋放時刻Tout1與Tout2,并按照之前的運行機(jī)制發(fā)送攻擊請求時,由于在該時刻發(fā)送了多個請求,則進(jìn)程1獲得了兩個緩存隊列位置,進(jìn)程2失敗后則會盲目發(fā)送請求。多次出現(xiàn)此現(xiàn)象后,會有越來越多進(jìn)程出現(xiàn)紊亂,重獲機(jī)制不能達(dá)到預(yù)期效果。
圖4 進(jìn)程間爭搶現(xiàn)象
需要通過信息共享機(jī)制,對攻擊進(jìn)程進(jìn)行序列化,防止進(jìn)程間的爭搶。攻擊有保持單元與攻擊單元之分,當(dāng)隊列處于滿溢狀態(tài)時,重獲機(jī)制的保持單元獲取隊列位置失敗,將保持單元切換為攻擊單元,在獲得緩存隊列位置后,繼續(xù)運行重獲機(jī)制,動態(tài)調(diào)整攻擊參數(shù),重新發(fā)送數(shù)據(jù)包,以此保證成功獲得緩存隊列位置的成功率。
采用先進(jìn)先出(FIFO)隊列。文獻(xiàn)[8]指出,正常用戶按照泊松分布發(fā)送數(shù)據(jù)流量,攻擊結(jié)點周期性發(fā)送LoRDAS攻擊流量,正常發(fā)送方、攻擊方與路由器之間的鏈路帶寬為12Mb/s,延時時間設(shè)置為10ms;兩路由器之間的鏈路帶寬為2Mb/s,延時時間為20ms;接收方與路由器間的鏈路帶寬設(shè)置為20Mb/s,延時時間為10ms,緩存隊列長度為C。網(wǎng)絡(luò)拓?fù)淙鐖D5所示。
圖5 網(wǎng)絡(luò)拓?fù)?/p>
正常請求流量以10Mb/s的速率在0.1s時刻開始,在4.5s時刻結(jié)束,攻擊請求在1s時刻開始,在4s時刻結(jié)束。時間點如圖6所示。
圖6 正常請求與攻擊請求的發(fā)送時間點
以攻擊效率E、攻擊效能M為指標(biāo)考慮攻擊參數(shù)對其影響。模擬多個不同的攻擊場景,確定攻擊參數(shù)的最優(yōu)取值。通過圖示分析Tontime的取值對攻擊效率以及攻擊代價的影響,設(shè)置基本的實驗攻擊參數(shù):攻擊周期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也隨之增大,與其呈正相關(guān)關(guān)系。在初期增長較快,但之后隨著取值的增大,其攻擊效率增長緩慢,一般不會超過0.8,同時攻擊代價也越來越大。綜合分析攻擊效能M的變化,tontime的最優(yōu)取值為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],分析不同突發(fā)數(shù)據(jù)率取值對攻擊效率E以及攻擊代價M的影響。如圖8~圖10所示,攻擊效率E隨著突發(fā)數(shù)據(jù)率R的提高而增長,初期增長速度較快,達(dá)到一定值后增長速度明顯緩慢。綜合分析攻擊效能M的變化趨勢,突發(fā)數(shù)據(jù)率R的最優(yōu)取值為12Mb/s。
圖9 R對攻擊效率E的影響
圖10 R對攻擊代價M的影響
在忽略網(wǎng)絡(luò)不可控因素的前提下,通過以上幾組實驗可大體確定最優(yōu)的攻擊參數(shù)。與傳統(tǒng)的洪泛攻擊相比,攻擊速率大大降低,具有很好的隱蔽性,能夠免于IDS系統(tǒng)檢測。
本文研究了LoRDAS攻擊的行為特性,并建立了完善的數(shù)學(xué)攻擊模型,通過仿真實驗詳細(xì)分析了攻擊參數(shù)與攻擊效率之間的關(guān)系。不足之處在于該研究仍停留在理論階段,后續(xù)要側(cè)重于將理論模型運用到實際網(wǎng)絡(luò)環(huán)境中,考慮實際環(huán)境的不可控因素,驗證其可行性。同時,對攻擊參數(shù)及攻擊波形的發(fā)起進(jìn)行動態(tài)調(diào)整,采用分布式方法,根據(jù)實際情況調(diào)整參數(shù),從而在保證低速率的同時達(dá)到更高的攻擊效率。
今后的工作重點在于防御檢測方法研究。本文通過分析Http協(xié)議的低速率拒絕服務(wù)攻擊運行原理,為接下來的防御手段研究奠定了理論基礎(chǔ),同時也是后期研究目標(biāo)之一。
[1] 文坤,楊家海,張賓.低速率拒絕服務(wù)攻擊研究與進(jìn)展綜述[J].軟件學(xué)報,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 拒絕服務(wù)攻擊的檢測響應(yīng)機(jī)制[J].浙江大學(xué)學(xué)報,2008,42(5):757-765.
[5] 何炎祥,劉陶,曹強(qiáng),等.低速率拒絕服務(wù)攻擊綜述[J].計算機(jī)科學(xué),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] 許曉東.郭曉.應(yīng)用層低速率拒絕服務(wù)攻擊的分析與研究[D].鎮(zhèn)江:江蘇大學(xué),2011.
(責(zé)任編輯:杜能鋼)
趙陽(1992-),女,江蘇泰州人,江蘇大學(xué)計算機(jī)科學(xué)與通信工程學(xué)院碩士研究生,研究方向為網(wǎng)絡(luò)安全;許曉東(1965-),男,福建福州人,江蘇大學(xué)計算機(jī)科學(xué)與通信工程學(xué)院教授,研究方向為網(wǎng)絡(luò)測量和行為學(xué)理論與技術(shù)。
10.11907/rjdk.162579
TP309
A
1672-7800(2017)003-0149-04