◆馬云鶯
(福州大學(xué)至誠(chéng)學(xué)院 福建 350001)
基于主機(jī)行為分析的CC攻擊識(shí)別技術(shù)
◆馬云鶯
(福州大學(xué)至誠(chéng)學(xué)院 福建 350001)
CC挑戰(zhàn)黑洞(ChallengeCollapsar)是一種通過代理或僵尸主機(jī)發(fā)起的面向web服務(wù)器的DDoS分布式拒絕攻擊。攻擊者使用相對(duì)少量的并發(fā)請(qǐng)求,實(shí)現(xiàn)耗盡服務(wù)器資源的目的。本文通過分析互聯(lián)網(wǎng)用戶對(duì)web服務(wù)器的瀏覽行為和CC攻擊者的攻擊行為在服務(wù)器訪問行為上的差異,建立URL Hash命中表并且計(jì)算URL的離散度,快速區(qū)分攻擊流量和正常用戶流量。實(shí)驗(yàn)結(jié)果表明該方法快速有效地辨別攻擊主機(jī)。
CC攻擊;DDoS攻擊;URL
DDoS分布式拒絕攻擊一直是互聯(lián)網(wǎng)上的重要攻擊方式。隨著網(wǎng)絡(luò)防御技術(shù)的發(fā)展,在網(wǎng)絡(luò)層,通過進(jìn)行的各種洪泛攻擊(如TCP SYN Flood、UDP Flood)都能夠被防火墻較輕易地進(jìn)行過濾。而基于應(yīng)用層的DDoS攻擊手段則更加隱蔽,其行為更像一個(gè)正常用戶,過濾難度大,因此也逐漸成為黑客攻擊的主要手段。CC攻擊是針對(duì)web服務(wù)器進(jìn)行的最常見的應(yīng)用DDoS攻擊方式。
CC攻擊是針對(duì)網(wǎng)站頁(yè)面進(jìn)行的攻擊。當(dāng)用戶訪問靜態(tài)頁(yè)面的時(shí)候,速度通常很快,因?yàn)殪o態(tài)網(wǎng)頁(yè)訪問不占用系統(tǒng)較多資源。但是如果用戶瀏覽一些規(guī)模較大的論壇,或者進(jìn)行關(guān)鍵字搜索時(shí),就會(huì)發(fā)現(xiàn)打開頁(yè)面的速度明顯偏慢。當(dāng)高峰期時(shí),訪問的用戶較多,這種延遲更為明顯。原因就在于,這類動(dòng)態(tài)網(wǎng)頁(yè)通常需要查詢數(shù)據(jù)庫(kù),當(dāng)數(shù)據(jù)庫(kù)的數(shù)據(jù)較多時(shí),查詢則需要占用系統(tǒng)大量的資源。
CC攻擊就是利用了這個(gè)特點(diǎn),通過控制一定數(shù)量的代理和僵尸主機(jī),不停地訪問那些需要大量查詢操作的頁(yè)面(例如asp/php/jsp/cgi)。該攻擊使用最少量的代價(jià),使服務(wù)器的資源被耗盡,無(wú)法響應(yīng)正常的用戶請(qǐng)求。相比其他DDoS攻擊,這種攻擊不需要較大流量,攻擊門檻低。
由于防火墻能夠檢測(cè)主機(jī)的并發(fā) TCP連接數(shù)量,超過一定數(shù)量和頻率就會(huì)被認(rèn)定為攻擊。因此CC攻擊者通過將攻擊流量分散到代理和僵尸主機(jī)上,使攻擊不至于被防火墻檢測(cè)到。而從防火墻的角度上觀察,CC攻擊者使用的是真實(shí)的IP地址,能夠完整地進(jìn)行 TCP連接,并且發(fā)出合法的網(wǎng)頁(yè)查詢,而且其并發(fā)連接數(shù)量并不十分突出。其行為與真實(shí)用戶的行為十分類似,因而識(shí)別難度較大。
目前一般防御CC攻擊的方法有限制代理訪問、優(yōu)化服務(wù)器設(shè)計(jì)[1]、分析并發(fā)連接[2]等等。但是這些監(jiān)控手段都過于粗糙,容易導(dǎo)致誤判。而且即使發(fā)現(xiàn)攻擊,也很難將攻擊流從正常用戶中精確地剝離出去。
當(dāng)用戶訪問某個(gè)網(wǎng)頁(yè)時(shí),瀏覽器和web服務(wù)器首先通過三次握手建立TCP連接;瀏覽器使用POST或者GET方法向服務(wù)器請(qǐng)求獲取頁(yè)面,服務(wù)器根據(jù)該請(qǐng)求中帶有的URL請(qǐng)求執(zhí)行相應(yīng)的操作,并且將頁(yè)面呈現(xiàn)內(nèi)容返回給用戶瀏覽器。
CC攻擊過程與此類似。攻擊軟件和web服務(wù)器建立TCP連接,使用GET或者POST方法向服務(wù)器發(fā)起請(qǐng)求。服務(wù)器解析這個(gè)請(qǐng)求的URL,并且執(zhí)行操作(這里的操作通常是查詢數(shù)據(jù)庫(kù)等非常消耗資源的動(dòng)作),并且將頁(yè)面返回給攻擊程序。攻擊軟件不會(huì)同時(shí)只發(fā)起一次查詢,通常一次會(huì)發(fā)起大量的并發(fā)連接,同時(shí)進(jìn)行并發(fā)查詢。
從以上的分析可知,如果我們僅僅從連接的角度去分析主機(jī)行為,很難區(qū)分攻擊行為和普通用戶訪問行為。因此,我們可以從用戶網(wǎng)站的瀏覽行為和攻擊行為進(jìn)行一個(gè)對(duì)比,從而找出其中的差異。
2.1 正常用戶的訪問行為
用戶訪問一個(gè)網(wǎng)站,必定有一個(gè)合理的行為模式。例如需要從網(wǎng)站上獲取知識(shí),執(zhí)行業(yè)務(wù)。因此一般有一個(gè)"打開頁(yè)面--瀏覽(停留)--執(zhí)行新頁(yè)面請(qǐng)求"的過程。一個(gè)用戶打開一個(gè)網(wǎng)頁(yè),通常會(huì)等待網(wǎng)頁(yè)傳送完畢,而不會(huì)在短時(shí)間內(nèi)反復(fù)大量請(qǐng)求同一個(gè)網(wǎng)頁(yè)。
如果將觀察時(shí)間稍微拉長(zhǎng),就會(huì)發(fā)現(xiàn)一個(gè)用戶訪問同一個(gè)網(wǎng)站,幾乎不太可能至終只訪問一個(gè)網(wǎng)頁(yè),而是請(qǐng)求不同的URL,既包括靜態(tài)頁(yè)面也包括動(dòng)態(tài)頁(yè)面。
另外一個(gè)很容易被忽視的重要特點(diǎn)是,由于當(dāng)前網(wǎng)站內(nèi)容的多樣化,打開一個(gè)網(wǎng)頁(yè)時(shí),絕大部分情況下會(huì)產(chǎn)生不止一個(gè)URL連接。
下面以用戶打開新浪網(wǎng)新聞頁(yè)面為例:
一次打開操作news.sina.com.cn 觸發(fā)了客戶端啟動(dòng)總共542個(gè)URL請(qǐng)求,分散在29臺(tái)不同的服務(wù)器上。部分URL信息如下:
news.sina.com.cn/
news.sina.com.cn/js/792/2012-08-09/41/headnews.js
news.sina.com.cn/css/87/20140926/comment.3.css
news.sina.com.cn/css/87/content2014/common.min.css
news.sina.com.cn/css/87/content2014/style_news.css
i.sso.sina.com.cn/css/outlogin/v1/outlogin_skin_finance.css
i.sso.sina.com.cn/js/ssologin.js
......
2.2 CC攻擊者的行為
而CC攻擊,為了達(dá)到最大的攻擊效果,攻擊者不會(huì)浪費(fèi)寶貴的資源,去訪問無(wú)關(guān)緊要的、并不耗費(fèi)服務(wù)器資源的頁(yè)面,而是將所有的連接集中在耗費(fèi)服務(wù)器資源的查詢上。
使用CC攻擊軟件,捕獲到的URL訪問請(qǐng)求則是這樣的:
針對(duì)服務(wù)器 58.63.236.248,請(qǐng)求 URL 只有一個(gè):www.sina.com.cn/mid/search.shtml
2.3 行為對(duì)比
因此,根據(jù)大量采樣和分析,我們可以了解到一般用戶和CC攻擊者在訪問網(wǎng)站時(shí)分別具有如下特征:
表1 正常用戶和CC攻擊者的行為特征對(duì)比
從上文分析,我們可以通過分析用戶在一段時(shí)間內(nèi),是集中還是分散訪問網(wǎng)站的頁(yè)面,即可了解其行為是否合理。本文采用如下分析方法:
(1)提取用戶訪問服務(wù)器的URL,計(jì)算其Hash值。通過對(duì)Hash值取模的方式,將其映射到0~7的數(shù)字范圍內(nèi)。
(2)統(tǒng)計(jì)這些0~7范圍內(nèi)數(shù)字的命中率。
(3)根據(jù)以上命中率,通過標(biāo)準(zhǔn)差計(jì)算URL的離散度。
三是內(nèi)容監(jiān)管與評(píng)價(jià)領(lǐng)域技術(shù)創(chuàng)新。隨著內(nèi)容生產(chǎn)企業(yè)數(shù)量增長(zhǎng),內(nèi)容監(jiān)管和績(jī)效評(píng)價(jià)成為管理部門面臨的課題。重報(bào)大數(shù)據(jù)研究院聯(lián)合技術(shù)公司,構(gòu)建重慶媒體大數(shù)據(jù)平臺(tái),對(duì)內(nèi)容生產(chǎn)、流向和應(yīng)用等進(jìn)行可視化呈現(xiàn),目前基本框架和數(shù)據(jù)交換模式已經(jīng)研制完成,可望在2018年投入應(yīng)用,實(shí)現(xiàn)全域數(shù)字內(nèi)容導(dǎo)向、成效可視化。
如用戶一次訪問服務(wù)器,瀏覽器發(fā)出了如下7個(gè)URL請(qǐng)求,得到了Hash值,并且映射到0~7的值域上(將Hash mod 8得到),如下表所示:
表2 URL到0~7的值域映射舉例
統(tǒng)計(jì)URL轉(zhuǎn)Hash值后映射0~7值域的命中統(tǒng)計(jì),如下:
圖1 正常用戶URL Hash命中統(tǒng)計(jì)
采用標(biāo)準(zhǔn)差公式計(jì)算以上序列的標(biāo)準(zhǔn)差:
得到上述數(shù)據(jù)的標(biāo)準(zhǔn)差:S=0.83
對(duì)比捕獲的CC攻擊者針對(duì)服務(wù)器(58.63.236.248)1分鐘內(nèi)數(shù)據(jù):
URL:www.sina.com.cn/mid/search.shtml
統(tǒng)計(jì)0~7值域的命中率,如下:
圖2 CC攻擊者URL Hash命中統(tǒng)計(jì)
計(jì)算其標(biāo)準(zhǔn)差:S=33.0,是上一組對(duì)比數(shù)據(jù)(正常用戶)大約40倍。
在本文中采用URL Hash值命中數(shù)標(biāo)準(zhǔn)差來(lái)表達(dá)該用戶訪問URL的離散度。
在此例中,攻擊者每分鐘發(fā)出100個(gè)URL請(qǐng)求,每秒不超過2個(gè),顯然此攻擊者的攻擊速度并不快。但是從以上數(shù)據(jù)可以看出,攻擊者的URL離散度要遠(yuǎn)高于正常用戶訪問的值。
4.1 數(shù)據(jù)源
通過網(wǎng)站防火墻出口流量進(jìn)行鏡像,將流量旁路到服務(wù)器進(jìn)行分析采集得到數(shù)據(jù)。
4.2 實(shí)驗(yàn)環(huán)境
實(shí)驗(yàn)環(huán)境為win7操作系統(tǒng)、2G內(nèi)存、測(cè)試程序。
4.3 實(shí)驗(yàn)方法
跟蹤所有往來(lái)報(bào)文建立主機(jī)表。跟蹤所有主機(jī)的完整會(huì)話,以1分鐘為單位,觀察所有主機(jī)對(duì)服務(wù)器的訪問。在每一個(gè)主機(jī)對(duì)象中記錄1分鐘內(nèi)所有訪問的URL以及其離散度。同時(shí)與CC攻擊者數(shù)據(jù)進(jìn)行對(duì)比。
4.4 實(shí)驗(yàn)結(jié)果
以下是針對(duì)1分鐘內(nèi),200組正常用戶訪問網(wǎng)站的URL離散度對(duì)比。從下圖可以看出,離散度不超過4,絕大部分集中在0~1的區(qū)間內(nèi)。而使用攻擊軟件,發(fā)出每秒100個(gè)連接,則離散度達(dá)到33,形成明顯差異。
圖3 200組正常用戶1分鐘范圍URL離散度
因此,通過此實(shí)驗(yàn)結(jié)果可以看出,通過計(jì)算1分鐘URL離散度,可以快速且明顯地區(qū)分出哪些主機(jī)對(duì)網(wǎng)站實(shí)施了CC攻擊。
本文分析了CC攻擊和一般用戶訪問網(wǎng)站的行為差異,通過對(duì)短時(shí)間用戶訪問網(wǎng)站 URL的離散度進(jìn)行計(jì)算,能夠識(shí)別 CC攻擊者。實(shí)驗(yàn)結(jié)果表明,該算法能夠非常明顯地將正常用戶和攻擊者區(qū)分開來(lái),具有良好的識(shí)別效果。
[1]陳仲華, 張連營(yíng), 王孝明.CC攻擊檢測(cè)方法研究[J].電信科學(xué), 2009.
[2]Shuo L I, Zhang Q. Protection System of CC Attack based on Honeypot[J].Information Security & Communications Privacy, 2015.
[3]池水明, 周蘇杭.DDoS攻擊防御技術(shù)研究[J].信息網(wǎng)絡(luò)安全, 2012.
[4]Chuntao X, Xuehui D, Lifeng C, et al. An Algorithm of Detecting and Defending CC Attack in Real Time[C]// International Conference on Industrial Control and Electronics Engineering. IEEE, 2012.
[5]ZHANG Xuan. Research of DDoS attack detect and defend technology on Application-Lay, Beijing: Beijing University of Posts and Telecommunications, 2009.
網(wǎng)絡(luò)安全技術(shù)與應(yīng)用2017年4期