如何分析網(wǎng)站遭受DDoS攻擊的原因
前言
網(wǎng)站出現(xiàn)不能正常訪問的原因是多種多樣的,問題可能發(fā)生在網(wǎng)站服務(wù)器端,也可能是互聯(lián)網(wǎng)出口,或是受到網(wǎng)管限制等等。但種種原因中,網(wǎng)站遭受攻擊從而導(dǎo)致無法正常訪問的原因與預(yù)防手段是最為復(fù)雜和難以判定的。攻擊者利用網(wǎng)站漏洞或特定攻擊手法,往往隱蔽難以察覺,這就需要網(wǎng)站管理人員或安全分析人員針對(duì)特定事件進(jìn)行分析,做到快速響應(yīng),定位根源與迅速恢復(fù)網(wǎng)站的正常訪問。本案例詳細(xì)分析了攻擊者利用數(shù)據(jù)傳輸過程中TCP零窗口的特點(diǎn),使得某網(wǎng)站遭受拒絕服務(wù)攻擊的案例。
3.1 問題描述
某日上午,某部官網(wǎng)突然出現(xiàn)不能訪問的情況,維護(hù)人員于12點(diǎn)20分左右重啟應(yīng)用,網(wǎng)站訪問恢復(fù)正常,但在幾分鐘后又重復(fù)出現(xiàn)不能訪問的情況。從流量上觀察,并未發(fā)現(xiàn)流量異常突發(fā)的情況,具體問題需要進(jìn)一步分析。事發(fā)期間的流量,如下圖所示。
3.2 分析過程
3.2.1 對(duì)12點(diǎn)20分左右出現(xiàn)的異常現(xiàn)象進(jìn)行分析
可疑互聯(lián)網(wǎng)IP X.X.1.132在2分30秒左右內(nèi),請(qǐng)求下載了13.rar、14.rar、15.rar等文件共計(jì)273次,這些文件的大小均在200MB左右。從12點(diǎn)18分16秒第一次請(qǐng)求開始,到12點(diǎn)19分35秒服務(wù)器出現(xiàn)無響應(yīng)的情況,再到12點(diǎn)20分13秒服務(wù)器出現(xiàn)HTTP 502報(bào)錯(cuò),本次攻擊只花費(fèi)不到2分鐘的時(shí)間就達(dá)到了拒絕服務(wù)的攻擊效果。
查看X.X.1.132與網(wǎng)站的TCP會(huì)話,發(fā)現(xiàn)這些會(huì)話的持續(xù)時(shí)間都很長,因?yàn)榘l(fā)現(xiàn)攻擊后,服務(wù)器在兩分鐘后進(jìn)行了重啟,所以看似持續(xù)時(shí)間只有2分多鐘,但如果不重啟會(huì)話會(huì)一直持續(xù)。
深入分析這些會(huì)話內(nèi)容,可以看到從傳輸開始,客戶端宣告的TCP窗口大小為64860。
在客戶端接收了一些數(shù)據(jù)后,在該會(huì)話的第57個(gè)包時(shí),客戶端宣告的TCP窗口大小減小到17316。
到此會(huì)話第66個(gè)包時(shí),客戶端宣告的TCP窗口為756。
直到第68個(gè)包時(shí),客戶端宣告的TCP窗口變?yōu)?,說明客戶端已經(jīng)不能再接收任何數(shù)據(jù)。隨后服務(wù)器將需要繼續(xù)傳輸?shù)臄?shù)據(jù)放在發(fā)送緩存中,等待客戶端窗口恢復(fù)正常后再繼續(xù)發(fā)送。
網(wǎng)站服務(wù)器不斷的發(fā)送ACK數(shù)據(jù)包去進(jìn)行TCP窗口探測,每次探測時(shí)間為雙倍的探測計(jì)時(shí)器時(shí)間,但每次探測的結(jié)果均為客戶端TCP窗口為0,如下圖所示。
3.2.2 對(duì)14點(diǎn)30分左右出現(xiàn)的異常現(xiàn)象進(jìn)行分析
該部網(wǎng)站在14點(diǎn)30分又受到來自X.X.23.250發(fā)起的攻擊,攻擊方式與12點(diǎn)20分發(fā)生的攻擊行為一致,最后看到探測器時(shí)間一直保持在120秒探測一次,而會(huì)話的時(shí)間達(dá)到了十幾分鐘甚至更長。
3.3 分析結(jié)論及建議
攻擊者利用官方網(wǎng)站現(xiàn)有的大文件,向服務(wù)器發(fā)送下載請(qǐng)求,但在傳輸過程中利用TCP零窗口的特點(diǎn),只接收少量文件后便不再繼續(xù)接受文件,從而導(dǎo)致大文件一直積壓在服務(wù)器的發(fā)送緩存中,造成服務(wù)性能消耗,進(jìn)而造成官網(wǎng)不能訪問的現(xiàn)象。
處置建議:
◇ 在負(fù)載均衡設(shè)備上設(shè)置TCP零窗口超時(shí)時(shí)間;
◇ 將大文件單獨(dú)放在另外一臺(tái)服務(wù)器中,將官網(wǎng)鏈接指向到此文件服務(wù)器。
3.4 價(jià)值
網(wǎng)站正常運(yùn)行涉及的元素十分繁雜,當(dāng)遭受黑客的攻擊后,維護(hù)人員往往很難做到快速響應(yīng),使網(wǎng)站恢復(fù)正常訪問,更難以確定對(duì)方是利用的何種手段或漏洞發(fā)起的攻擊。在本案例中我們通過網(wǎng)絡(luò)流量分析技術(shù),實(shí)現(xiàn)了對(duì)網(wǎng)絡(luò)攻擊的可視化,精準(zhǔn)監(jiān)控網(wǎng)絡(luò)數(shù)據(jù)流向,進(jìn)而第一時(shí)間將攻擊行為梳理出來,大幅縮短了解決問題的時(shí)間。