劉澤宇,夏 陽,張義龍,任 遠(yuǎn)
(中國礦業(yè)大學(xué) 計算機(jī)科學(xué)與技術(shù)學(xué)院,江蘇 徐州 221116)
(*通信作者電子郵箱yxia@cumt.edu.cn)
基于Web行為軌跡的應(yīng)用層DDoS攻擊防御模型
劉澤宇*,夏 陽,張義龍,任 遠(yuǎn)
(中國礦業(yè)大學(xué) 計算機(jī)科學(xué)與技術(shù)學(xué)院,江蘇 徐州 221116)
(*通信作者電子郵箱yxia@cumt.edu.cn)
為了有效防御應(yīng)用層分布式拒絕服務(wù)攻擊(DDoS),定義了一種搭建在Web應(yīng)用服務(wù)器上的基于Web行為軌跡的防御模型。把用戶的訪問行為抽象為Web行為軌跡,根據(jù)攻擊請求的生成方式與用戶訪問Web頁面的行為特征,定義了四種異常因素,分別為訪問依賴異常、行為速率異常、軌跡重復(fù)異常、軌跡偏離異常。采用行為軌跡化簡算法簡化行為軌跡的計算,然后計算用戶正常訪問網(wǎng)站時和攻擊訪問時產(chǎn)生的異常因素的偏離值,來檢測針對Web網(wǎng)站的分布式拒絕服務(wù)攻擊,在檢測出某用戶產(chǎn)生攻擊請求時,防御模型禁止該用戶訪問來防御DDoS。實驗采用真實數(shù)據(jù)當(dāng)作訓(xùn)練集,在模擬不同種類攻擊請求下,防御模型短時間識別出攻擊并且采取防御機(jī)制抵制。實驗結(jié)果表明,Web行為軌跡的防御模型能夠有效防御針對Web網(wǎng)站的分布式拒絕服務(wù)攻擊。
分布式拒絕服務(wù)攻擊;應(yīng)用層;Web行為軌跡;攻擊防御
分布式拒絕服務(wù)攻擊(Distributed Denial of Service,DDoS),是指利用目標(biāo)系統(tǒng)網(wǎng)絡(luò)服務(wù)功能缺陷,直接消耗其系統(tǒng)資源,使得該目標(biāo)系統(tǒng)無法提供正常的服務(wù)。
在網(wǎng)絡(luò)協(xié)議低層,DDoS最明顯的特征是流量出現(xiàn)異常,通過分析流量檢測DDoS是常見的方法[1];對于應(yīng)用層的DDoS,文獻(xiàn)[2]通過分析主干網(wǎng)絡(luò)的用戶訪問行為,利用訪問者產(chǎn)生的外聯(lián)行為來檢測應(yīng)用層DDoS,該方法有效區(qū)分Flash Crowd[3]和攻擊行為。在產(chǎn)生Flash Crowd[3]時,外聯(lián)節(jié)點的客戶端數(shù)量與客戶端總數(shù)的比值穩(wěn)定,而DDoS時外聯(lián)節(jié)點與客戶端總數(shù)會出現(xiàn)較大的變化,通過非參數(shù)的累積控制圖(CUmulative SUM, CUSUM)計算外聯(lián)節(jié)點與客戶端總數(shù)比值的對數(shù)似然統(tǒng)計量偏移,能夠有效區(qū)分突發(fā)訪問與應(yīng)用層DDoS。該方法對于Web應(yīng)用服務(wù)器而言,主干層的網(wǎng)絡(luò)數(shù)據(jù)不易獲取。
文獻(xiàn)[4]提出了一種基于用戶忠實度的應(yīng)用層DDoS防御模型,該模型使用Cookie來標(biāo)記不同用戶的忠實度,根據(jù)用戶的行為來評定用戶忠實度,過濾忠實度低的用戶訪問,實現(xiàn)了應(yīng)用層攻擊防御。
文獻(xiàn)[5]通過分析應(yīng)用層DDoS的單個用戶平均請求次數(shù)(Average Number of Request per Client, ANRC)的變化規(guī)律,提出一種自回歸的模型的檢測算法。使用卡爾曼濾波算法預(yù)測正常用戶的平均訪問速率,當(dāng)實際值和預(yù)測值的差超過閾值時,則判定為DDoS。
文獻(xiàn)[6]分析Web DDoS會話特征與正戶訪問會話的特征,將Web DDoS分為五類,根據(jù)DDoS與正常訪問行為不同,并提出訪問行為異常屬性和session異常度模型。根據(jù)頁面轉(zhuǎn)移異常度、內(nèi)嵌對象請求數(shù)異常度、Thinking Time異常度、URL長度異常度、Main page請求數(shù)異常度、請求循環(huán)次數(shù)異常度計算平均異常度,通過平均異常度的值來判斷是否為合法請求。
針對Web的DDoS,Park等[7]通過在客戶端檢測用戶的鼠標(biāo)點擊行為來區(qū)分正常用戶訪問和攻擊腳本,此類方法仍然受客戶端限制;Paul等[8]提出一種多項式分布模型,先對應(yīng)用程序流量進(jìn)行分組,通過對流量的分組與分流來識別和抵抗DDoS。文獻(xiàn)[9]使用隱馬爾可夫模型來描述正常用戶的訪問行為,在線測量Web用戶訪問行為相對于正常訪問模型的偏離度,根據(jù)偏離度大小判斷惡意攻擊序列。該方法的訓(xùn)練數(shù)據(jù)和計算過程繁瑣,且不能完全涵蓋所有喜好習(xí)慣不同的用戶的訪問特征。Rajesh[10]提出一種訪問矩陣來識別正常用戶訪問和DDoS,該方法主要適用于熱門網(wǎng)站的服務(wù)器。
運用部署在主干網(wǎng)絡(luò)的外聯(lián)行為來檢測應(yīng)用層DDoS檢測方法[2],難度較大,適用場景限制太多;文獻(xiàn)[4]所描述的用戶忠實度的檢測方法會受到客戶端的限制和影響,容易被反制;基于ANRC的變化規(guī)律的自回歸的模型的檢測算法無法有效區(qū)分Flash Crowd和DDoS訪問[5];文獻(xiàn)[6]在獲取頁面轉(zhuǎn)移異常時需要根據(jù)用戶訪問頁面的內(nèi)容對頁面分類,忽視了網(wǎng)站頁面的本身鏈接關(guān)系,而網(wǎng)站頁面的鏈接關(guān)系更能直接影響用戶的session的訪問行為,并且,在獲取Thinking Time異常度時,容易受到小概率正常用戶行為干擾,而此類行為對Thinking Time異常度影響大。
針對上述不足,本文主要通過分析Web網(wǎng)站的結(jié)構(gòu)特點以及用戶訪問行為特點,提出一種基于Web行為軌跡的攻擊防御模型(Application-layer DDoS defense model based on Web Behavior Trajectory, WBT)。該防御模型可以部署在Web服務(wù)器和應(yīng)用服務(wù)器之間,檢測模塊把檢測結(jié)果反饋給局域網(wǎng)防火墻、主機(jī)防火墻、Web服務(wù)器等軟硬件安全設(shè)施,該防御模型不依賴于主干網(wǎng)絡(luò);該防御模型所有的檢測數(shù)據(jù)不依賴客戶端,不受客戶端環(huán)境的影響;通過計算用戶的訪問依賴異常、行為速率異常、軌跡重復(fù)異常、軌跡偏離異常,能夠有效區(qū)分DDoS與Flash Crowd;在分析用戶訪問行為時充分考慮頁面的鏈接結(jié)構(gòu)、在計算時合理排除小概率事件對結(jié)果的干擾,能夠有效地防御對Web網(wǎng)站的DDoS。
1.1 Web行為軌跡的表示
用戶瀏覽網(wǎng)站的過程被定義為Web行為軌跡,Web行為軌跡可表示為四元組W(V,E,S,T)。
V是節(jié)點集合,表示網(wǎng)站所有用戶通過URL訪問的HTTP請求。這些節(jié)點包含六個屬性,對于任意節(jié)點vi∈V,v包含(id,userid,url_id,time,refer_id,count)六個屬性。id表示訪問節(jié)點的唯一標(biāo)識符;userid表示用戶的標(biāo)識符;url_id表示用戶訪問的HTTP請求URL的唯一標(biāo)識符;refer_id表示訪問該節(jié)點的來源節(jié)點的id,根據(jù)refer_id可以計算refer_url;count是一個整數(shù),用來表示當(dāng)前會話用戶第幾次訪問Web服務(wù)器。由于網(wǎng)站的訪問規(guī)則是確定的,提供外部用戶直接訪問的URL是確定的,網(wǎng)站中能夠合法訪問的節(jié)點集合用V0表示,稱為固有點集。
圖1 行為軌跡節(jié)點示意圖
S是邊的空間權(quán)值集合,對于任意邊ei=(vi,vj),設(shè)S(ei)=sij,則稱sij為ei上的空間權(quán)值??臻g權(quán)值是節(jié)點vi,vj的最短路徑。a,b,c,d,e,f,g,h,i,j是訪問軌跡里的節(jié)點元素,即a,b,c,d,e,f,g,h,i,j∈V;a能直接訪問b,c,d,即對于訪問軌跡中邊中的三個元素e1=(a,b),e2=(a,c),e3=(a,d)它們的空間權(quán)值關(guān)系為S(e1)=S(e2)=S(e3)=1;a到e的最短路徑為2,即e4=(a,e),S(e4)=2。當(dāng)用戶刷新頁面時,這條邊的空間權(quán)值為0,即e5=(a,a),S(e5)=0。
T是時間權(quán)值的集合,對于任意邊ei=(vi,vi+1),設(shè)ei=(vi,vi+1),則稱tij為ei上的時間權(quán)值。時間權(quán)值表示用戶訪問一個頁面到另一個頁面的思考時間。
1.2 Web行為軌跡分析
用W(V,E,S,T)表示用戶在瀏覽網(wǎng)站的Web行為軌跡,W具備以下幾點特征。
1)對于任意ei=(vi,vj)∈E0,sij的取值大部分為1。用戶在瀏覽網(wǎng)頁時,主要通過頁面鏈接跳轉(zhuǎn)直接訪問不同頁面,當(dāng)出現(xiàn)ei=(vi,vj)∈E,sij>1所占頻率增高時,說明用戶的訪問行為出現(xiàn)異常。
2)在行為軌跡圖W中,用戶不用循環(huán)請求一個或者一組頁面,當(dāng)行為軌跡中出現(xiàn)大量重復(fù)訪問序列,說明存在攻擊行為。
3)ei=(vi,vi+1),t(ei)=t,在用戶瀏覽Web時,用戶瀏覽一個節(jié)點到瀏覽另一個節(jié)點,需要一定的思考時間,思考時間與ei是相關(guān)的,T(ei)表示歷史用戶訪問。攻擊者為了達(dá)到攻擊效果,往往會選擇高速率的請求頻率,此時,導(dǎo)致行為軌跡圖中邊的時間權(quán)值會非常小,出現(xiàn)行為速率異常。
4)在用戶訪問的節(jié)點中,用戶幾乎不會單獨訪問一個單獨的通過非開放URL訪問的資源,并且用戶不會經(jīng)常訪問不存在的URL,即V?V0,當(dāng)存在大量的訪問的url節(jié)點a∈V∩a?V0時,表明用戶的Web行為軌跡出現(xiàn)異常,說明可能在采用某種隨機(jī)URL的程序在進(jìn)行攻擊行為,出現(xiàn)軌跡偏離異常。
1.3 獲取節(jié)點參數(shù)
對于用戶訪問Web應(yīng)用服務(wù)器的行為軌跡中的每個訪問節(jié)點(id,userid,url_id,time,refer_id,count),其中參數(shù)url_id、refer_id可以直接根據(jù)訪問記錄和HTTP。對于訪問節(jié)點id,采用自增的整數(shù)或者隨機(jī)的大整數(shù)來標(biāo)識,userid通過Cookie與session或者重寫url進(jìn)行會話跟蹤,一次會話的過程中userid相同,訪問時間間隔time根據(jù)refer_id和userid來獲取,count元素根據(jù)已知userid進(jìn)行累加獲取。
1.4 Web行為軌跡的化簡
對于Web應(yīng)用網(wǎng)站來說,URL的路徑命名復(fù)雜,將每個URL對應(yīng)一個url_id,這里采用文獻(xiàn)[11]在軟件行為軌跡中的化簡方法,在定義一個網(wǎng)站的行為軌跡模型前,進(jìn)行以下化簡操作。
Web先驅(qū)元集。對于任意的訪問節(jié)點v∈V0,則稱{u|u∈V0∧〈u,v〉∈E0∧u≠v}為v的先驅(qū)元集,記作Γ-(v)。
Web后繼元集。對于任意的訪問節(jié)點v∈V0,則稱{u|u∈V0∧〈v,u〉∈E0∧u≠v}為v的后繼元集,記作Γ+(v)。
化簡Web行為軌跡針對URL和refer_id的對應(yīng)關(guān)系。首先,合并等價URL。對于網(wǎng)站而言,如果任意兩個URL訪問的是同一資源,那么這兩個節(jié)對應(yīng)的url_id相同。
合并等價節(jié)點,如果兩個節(jié)點的前驅(qū)元集和后繼元集相等,那么這兩個節(jié)點等價。如果一個訪問節(jié)點的vi,vj∈V0且Γ+(vi) =Γ+(vj)∧Γ-(vi) =Γ-(vj),那么節(jié)點vi等價于節(jié)點vj。
2.1 部署結(jié)構(gòu)
如圖2所示,WBT模型主要部署在應(yīng)用服務(wù)器和Web服務(wù)器之間,WBT模型對于應(yīng)用服務(wù)器是透明的,需要在Web服務(wù)器保證sessionId在會話中不會變化。對于非法用戶的攔截,在應(yīng)用層采用黑名單機(jī)制,在傳輸層采用防火墻策略。在識別出攻擊訪問行為之后,根據(jù)會話信息記錄的客戶端的IP、主機(jī)名、瀏覽器、設(shè)備標(biāo)識等特征,將非法用戶記錄在黑名單中,并在局域網(wǎng)防火墻執(zhí)行相應(yīng)的攔截規(guī)則,在一定時間內(nèi)限制符合此類特征的用戶再次訪問。當(dāng)出現(xiàn)誤判時,可讓用戶可通過輸入驗證碼等安全方式主動移除黑名單。該防御模型核心的部分為檢測模塊,計算用戶的訪問行為是否為攻擊行為。
圖2 防御模型部署
2.2 防御機(jī)制
如圖3所示,在用戶被判定為非法用戶時,將用戶信息記錄在blacklist,通過防火墻規(guī)則或者Web服務(wù)器的黑名單機(jī)制限制,在一段時間內(nèi)不允許該用戶再次訪問網(wǎng)站;當(dāng)超過一定時間后,將用戶自動從blacklist中移除,提供用戶主動delist的網(wǎng)頁入口,防止出現(xiàn)誤判的現(xiàn)象,采取驗證碼等安全機(jī)制驗證用戶的真實性。
在WBT模型中,最核心的部分為DDoS檢測,在檢測過程中,主要涉及訪問依賴異常、軌跡重復(fù)異常、行為速率異常、軌跡偏離異常的計算。
3.1 訪問依賴異常
在用戶的一次行為軌跡圖中,如果存在大量的ei=(vi,vj)∈E,sij>1,將ei出現(xiàn)的頻率定義為訪問依賴異常,記作Pdep:
(1)
在給定的Web應(yīng)用網(wǎng)站,節(jié)點的鏈接關(guān)系是已知的。每個頁面的節(jié)點v的數(shù)據(jù)結(jié)構(gòu)是一個有向圖,圖中的節(jié)點表示URL,節(jié)點之間的有向邊表示了相鄰節(jié)點之間的可達(dá)性,如圖4所示。
圖3 用戶狀態(tài)轉(zhuǎn)換
圖4 頁面相鄰示意圖
圖4是某個網(wǎng)站每個URL的可達(dá)性的示意圖。頁面之間的相鄰性是確定的,當(dāng)用戶訪問a,正常的訪問模式能夠訪問的只有b、c,當(dāng)訪問a后訪問了g,說明可能出現(xiàn)了訪問異常,對于用戶訪問的集合W元素V、E,如果一個節(jié)點vi∈V0,那么vi可達(dá)相鄰節(jié)點的集合記作vi.acc。通過遍歷用戶的邊集,來確定依賴異常的點,依賴異常點集為:
Vdim={vj|ei=(vi,vj)∈E,vi∈V0,vj?vi.acc}
(2)
則對于用戶的第i次訪問,訪問依賴異常:
(3)
3.2 軌跡重復(fù)異常
在行為軌跡圖W中,對于用戶訪問的節(jié)點a∈V,利用一個六元組(id,uid,url,time,refer_id,count)表示,重復(fù)軌跡表示兩個相同軌跡之間是沒有其他軌跡行為,用戶的重復(fù)軌跡出現(xiàn)的次數(shù)c,重復(fù)的長度為l,n、d,其中d>1,n>1,n和d為給定的常數(shù),軌跡相似異常為Psim,對于用戶的第i次訪問,軌跡重復(fù)異常:
(4)
求重復(fù)軌跡的次數(shù)抽象成求一個序列中連續(xù)出現(xiàn)次數(shù)最多的子序列。用戶訪問的節(jié)點的URL以后綴樹的形式表現(xiàn)出來。
abcabcabcde.substr[0]
bcabcabcde...substr[1]
cabcabcde.....substr[2]
abcabcde......substr[3]
bcabcde.......substr[4]
cabcde..........substr[5]
abcde...........substr[6]
bcde..............substr[7]
判定條件是substr[i].substr(0,j-i)==substr[j].substr(0,j-i),通過上述的計算方法,得出若干個連續(xù)出現(xiàn)的子序列之后,本文取出重復(fù)度最高的子序列來計算軌跡重復(fù)異常。
3.3 行為速率異常
當(dāng)網(wǎng)站出現(xiàn)峰值訪問時,對于網(wǎng)站而言,HTTP請求速率增加,但對于單個用戶而言,訪問的速率變化不大,并且一次請求的速率跟網(wǎng)站的內(nèi)容通常是相關(guān)的,利用一個Key-Value數(shù)據(jù)庫存儲訪問軌跡與估計速率的映射關(guān)系,訪問停留時間代表訪問速率。用戶訪問的速率跟訪問節(jié)點的內(nèi)容具有相關(guān)性。
對于網(wǎng)站的固有邊集E0,對應(yīng)的正常時間權(quán)值集合T,攻擊者通常采用高頻率的HTTP請求,來達(dá)到攻擊效果,在時間權(quán)值集合T(ei)中,把集合中的元素從小到大排序,得到排序好的集合Tsort(ei),用戶在瀏覽網(wǎng)頁的時候的請求速率不可能太快,將Tsort(ei)的中值記為t(ei0),t(ei)用戶訪問軌跡ei的真實停留時間間隔,q為給定的常數(shù)。第i次訪問產(chǎn)生的行為速率異常:
(5)
圖5為MusicMachines-HTTP[12]的時間權(quán)值分布散點圖,在檢測行為速率異常中,在JSP頁面和ASP中默認(rèn)session分別為30min和20min,如果用戶長時間停留在某一頁面,雖然此類節(jié)點產(chǎn)生概率相對較少,但對于平均值的影響非常大,當(dāng)使用均值檢測時,如果有異常存在此類節(jié)點,檢測的靈敏度將大幅度降低,所以在檢測的過程中取訪問歷史時間的中值。
圖5 時間權(quán)值分布
3.4 軌跡偏離異常
在一個確定的網(wǎng)站中,頁面的結(jié)構(gòu)是確定的,即每個頁面對應(yīng)的資源是確定的,每個資源所在的頁面也是確定的。如圖6所示,在某網(wǎng)站中,圖片A只出現(xiàn)在頁面1與頁面2中,如果某一用戶訪問了圖片A,則此用戶很有可能訪問了頁面1的URL頁面2的URL。如果在用戶的某次訪問中,出現(xiàn)大量的圖片A的HTTP請求,而沒有出現(xiàn)頁面1或者頁面2的請求地址,說明此次訪問存在異常。
圖6 頁面結(jié)構(gòu)示意圖
在一次行為軌跡中,假如圖片A的節(jié)點為vA,單獨出現(xiàn)的次數(shù)是i,圖片A的URL訪問異常為:
Pderailed=i/|E|
(6)
一個網(wǎng)站的URL也是確定的,如果用戶的某次訪問中存在大量的不存在的URL,則用戶訪問的軌跡偏離了正常的軌跡,用戶某次訪問不存在的URL的次數(shù)是j,則軌跡偏離異常度為:
Pnonexistent=j/|E|
(7)
用戶第i次訪問時,軌跡偏離異常:
zi=Pderailed+Pnonexistent
(8)
3.5 基于行為軌跡的異常計算
Web服務(wù)器功能的差異性導(dǎo)致了正常訪問產(chǎn)生的異常度不一致,檢測過程中,四種異常所占的權(quán)值不同。
假設(shè)用戶在第i次訪問時的訪問依賴異常、軌跡重復(fù)、行為速率、軌跡偏離分別為wi、xi、yi、zi,根據(jù)以上公式,可以計算出在第i次的異常因素為:
Pi=ftotal(wi,xi,yi,zi)
(9)
根據(jù)網(wǎng)站的性質(zhì)不同,正常用戶在訪問過程中產(chǎn)生的異常因素Pi的計算方式也不同,即依賴異常、軌跡重復(fù)、行為速率、軌跡偏離的異常的統(tǒng)計的權(quán)重不同,那么有:
Pi=awi+bxi+cyi+dzi
(10)
其中常數(shù)a,b,c,d的取值取決于網(wǎng)站的內(nèi)容和結(jié)構(gòu)。μ(w)、σ(w)、μ(x)、σ(x)、μ(y)、σ(y)、μ(z)、σ(z)分別表示四種異常值的平均值和方差。當(dāng)異常值超過平均值方差時則報警。
4.1 搭建WBT模型
模擬實驗采用MusicMachines-HTTP從1996年12月29日00:00:00到1997-09-23 23:45:01日志數(shù)據(jù)作為訓(xùn)練集,總共包含4 143條session,采用1997年09月21日 23:59:14到1997年09月23日23:45:01日志數(shù)據(jù)作為模擬測試數(shù)據(jù),實驗對象為machines主機(jī)上的數(shù)據(jù),先計算訓(xùn)練數(shù)據(jù)集四種異常平均值μ(w)、μ(x)、μ(y)、μ(z)和四種方差σ2(w)、σ2(x)、σ2(y)、σ2(z)。實驗過程中,把machines下的所有訪問看作是一臺應(yīng)用服務(wù)器或者一個服務(wù)器集群。先把日志數(shù)據(jù)存儲在數(shù)據(jù)庫表中,對其進(jìn)行化簡處理,通過日志數(shù)據(jù)的URL的referer關(guān)系得出網(wǎng)站的鏈接結(jié)構(gòu)。根據(jù)鏈結(jié)構(gòu)以及URL生成一個模擬的machines網(wǎng)站。將SingleFlood、SessionFlood、Multi-URLFlood、Random-URL、Forged-URL分別記為A、B、C、D、E,通過模擬A、B、C、D、E五種攻擊行為對網(wǎng)站進(jìn)行訪問,觀察其四種異常值,當(dāng)超出任意異常值平均值一個方差的值時,則判定為攻擊行為。
WBT模型搭建在Linux操作系統(tǒng)上,采用Nginx當(dāng)作Web服務(wù)器,Tomcat當(dāng)作應(yīng)用服務(wù)器,Nginx記錄的日志為原始的訪問日志,作為檢測分析的數(shù)據(jù)源為日志數(shù)據(jù),采用Nginx的動態(tài)黑名單和局域網(wǎng)防火墻機(jī)制限制非法訪問,在判定為非法訪問時,則產(chǎn)生報警。
4.2 數(shù)據(jù)預(yù)處理
對于referer不屬于machines的URL,統(tǒng)一用“others“標(biāo)記,不含有referer的訪問referer采用符號“-”標(biāo)記。處理之后,總共包含352個不同的referer,計算訓(xùn)練集中的訪問依賴異常、軌跡重復(fù)異常、行為速率異常、軌跡偏離異常,其中訓(xùn)練集的每個異常因素概率密度函數(shù)分布如圖7所示。
其中,均值和方差分別為:
4.3 實驗結(jié)果
在攻擊頻率較高時,五類攻擊請求均表現(xiàn)為行為速率異常,在使用正常速率攻擊時,對于A類攻擊,表現(xiàn)出為訪問依賴異常、軌跡重復(fù)異常;對于B類攻擊,在session長度較短時,主要表現(xiàn)為訪問依賴異常,在session長度較長時,偏離網(wǎng)站原有鏈接關(guān)系的訪問節(jié)點較少,主要表現(xiàn)為軌跡重復(fù)異常;對于C類攻擊,由于是組合的URL,并且重復(fù)多次請求,主要表現(xiàn)為訪問依賴、軌跡偏離異常、軌跡重復(fù)異常;對于D類攻擊,采用隨機(jī)單個URL進(jìn)行攻擊,主要表現(xiàn)為訪問依賴異常、軌跡偏離異常;對于E類攻擊,由于URL是偽造的,所以在訪問過程中,出現(xiàn)大量的HTTP狀態(tài)碼為404的錯誤,主要表現(xiàn)為軌跡偏離異常。如表1所示,為防御模型在該五種攻擊行為時的檢測性能。
圖7 異常概率密度函數(shù)
表1 攻擊類型與檢測性能
Tab.1Attacktypeanddetectionperformance
攻擊類型不同頻率時報警時間/s1001010.1A0.10.34.146B0.11.212.7113C0.10.48.187D0.10.15.662E0.10.23.257
在A、B、C、D、E五種類型的攻擊模式下,四種異常值與訪問次數(shù)的關(guān)系如圖8~11所示。
圖8 訪問依賴異常
如圖8所示,A類攻擊產(chǎn)生訪問依賴異常值為在初始狀態(tài)1;而在B類攻擊模式下,由于B類攻擊截取了一段正常session進(jìn)行反復(fù)訪問,訪問依賴異常值維持在一個較小的值;C類攻擊選取的URL組合沒有考慮連接關(guān)系,維持在一個較大的值;Random-URL攻擊和Forged-URL攻擊的訪問依賴值在初始狀態(tài)就為1。
如圖9所示,A類軌跡重復(fù)異常值為1;B類攻擊在剛開始,處于一個較小的值,當(dāng)?shù)诙蜦lood完成時,行為軌跡模型識別出攻擊模式,軌跡重復(fù)異常值達(dá)到最大。C類的軌跡重復(fù)異出現(xiàn)了較大的抖動,在攻擊啟動時,不會出現(xiàn)重復(fù),當(dāng)?shù)诙蜯ulti-URL訪問完時,軌跡重復(fù)異常值達(dá)到最大并且超過閾值;D類由于攻擊路徑的隨機(jī)性,導(dǎo)致軌跡重復(fù)異常值穩(wěn)定在一個較小的值;E類攻擊通過偽造隨機(jī)的超長URL,軌跡重復(fù)異常值穩(wěn)定在0左右。
圖10為真實測試數(shù)據(jù)模擬的B類和C類攻擊時計算行為速率異常值。與頁面的內(nèi)容與訪問速率相關(guān)的A、D、E類攻擊模式的異常值在檢測開始后迅速達(dá)到最大值。B類攻擊的異常值穩(wěn)定在一個較小的值,在行為速率異常值不明顯;而在Multi-URLFlood的訪問速率異常值最后穩(wěn)定在0.24,超出閾值。
圖9 軌跡重復(fù)異常
圖10 行為速率異常
如圖11所示,A類攻擊被攻擊行為被認(rèn)為軌跡偏離異常值為0;B類攻擊在軌跡偏離異常值中穩(wěn)定在一個較小的值;C類攻擊由于在訪問過程中存在跳動的情況,軌跡偏離處于一個較大的穩(wěn)定值,超出檢測閾值;D、E由于攻擊的隨機(jī)性,軌跡偏離異常值維持在最大。
圖11 軌跡偏離異常
4.4 性能分析
對于高頻率的WebDDoS行為,由于文獻(xiàn)[2]涉及的方法需要收集與計算網(wǎng)站和主干網(wǎng)絡(luò)的數(shù)據(jù),而WBT模型只需讀取網(wǎng)站自身產(chǎn)生的數(shù)據(jù),所以本文的防御效率要優(yōu)于文獻(xiàn)[2]所描述的方法;由于文獻(xiàn)[6]在計算ThinkingTime異常值和Mainpage請求數(shù)異常值時采用均值,在實驗中針對初始頻率低、頻率逐漸增加的攻擊行為時,WBT防御模型的檢測效率優(yōu)于文獻(xiàn)[6]的session異常模型,并且誤判率低。
4.5 相關(guān)工作比較
文獻(xiàn)[6]與本文有幾點不同。首先,在session異常模型中,通過訓(xùn)練數(shù)據(jù)計算頁面是否屬于同一話題,從而確定頁面轉(zhuǎn)移異常,而Web行為軌跡的訪問依賴異常的根據(jù)是Web服務(wù)器的相互鏈接的關(guān)系;通過Web行為軌跡化簡過程可以有效降低計算復(fù)雜度。其次,session異常模型的ThinkingTime異常值將所有頁面的跳轉(zhuǎn)時間統(tǒng)一計算,而Web行為軌跡模型考慮到頁面內(nèi)容與跳轉(zhuǎn)時間相關(guān),在每次HTTP請求時,根據(jù)訪問邊查找對應(yīng)跳轉(zhuǎn)時間,檢測過程中對請求頻率更加敏感。文獻(xiàn)[4]基于用戶忠實度的應(yīng)用層DDoS防御模型,過度依賴于Cookie機(jī)制,而本文描述的行為軌跡模型部署在服務(wù)器端,檢測方法不受客戶端影響。
本文針對Web網(wǎng)站的結(jié)構(gòu)以及應(yīng)用層DDoS的攻擊特點,定義了一個Web行為軌跡W(V,E,S,T),在此檢測模型的基礎(chǔ)上搭建WBT模型來防御應(yīng)用層DDoS。通過統(tǒng)計正常訪問的歷史信息已經(jīng)頁面的鏈接關(guān)系,定義固有邊集E0,空間權(quán)值S,邊時間權(quán)值集合T(ei)。通過行為軌跡化簡方法,簡化計算模型,增加防御性能。
在用戶每次發(fā)起HTTP請求到達(dá)服務(wù)器后,根據(jù)用戶產(chǎn)生的節(jié)點vi∈V的信息計算訪問依賴異常、軌跡重復(fù)異常、行為速率異常、軌跡偏離異常;計算異常值偏離均值的差,從而判斷此用戶訪問是否為DDoS行為。由于網(wǎng)站的功能不一致,確定四種異常值對總體異常權(quán)值比的參數(shù)a、b、c、d的取值策略仍需完善。
)
[1] 羅華,胡光岷,姚興苗.基于網(wǎng)絡(luò)全局流量異常特征的DDoS攻擊檢測[J].計算機(jī)應(yīng)用,2007,27(2):314-317.(LUOH,HUGM,YAOXM.DDoSattackdetectionbasedonglobalnetworkpropertiesofnetworktrafficanomaly[J].JournalofComputerApplications, 2007, 27(2): 314-317.)
[2] 王風(fēng)宇,曹首峰,肖軍,等.一種基于Web群體外聯(lián)行為的應(yīng)用層DDoS檢測方法[J].軟件學(xué)報,2013,24(6):1263-1273.(WANGFY,CAOSF,XIAOJ,etal.MethodofdetectingapplicationlayerDDoSbasedontheout-linkingbehaviorcommunity[J].JournalofSoftware, 2013,24(6): 1263-1273.)
[3]CHENX,HEIDEMANNJ.Flashcrowdmitigationviaadaptiveadmissioncontrolbasedonapplication-levelobservations[J].ACMTransactionsonInternetTechnology, 2005, 5(3): 532-569.
[4] 孫未,張亞平.基于用戶忠實度的應(yīng)用層DDoS防御模型[J].計算機(jī)工程與設(shè)計,2015,36(1):93-97.(SUNW,ZHANGYP.ApplicationlayerDDoSdefensemodelbasedonuserloyalty[J].ComputerEngineeringandDesign, 2015, 36(1): 93-97.)
[5] 趙國鋒,喻守成,文晟.基于用戶行為分析的應(yīng)用層DDoS攻擊檢測方法[J].計算機(jī)應(yīng)用研究,2011,28(2):717-719.(ZHAOGF,YUSC,WENS.Detectingapplication-layerDDoSattackbasedonanalysisofusers’behaviors[J].ApplicationResearchofComputers, 2011,28(2):717-719.)
[6] 肖軍,云曉春,張永錚.基于會話異常度模型的應(yīng)用層分布式拒絕服務(wù)攻擊過濾[J].計算機(jī)學(xué)報,2010,33(9):1713-1724.(XIAOJ,YUNXC,ZHANGYZ.Defendagainstapplication-layerdistributeddenial-of-serviceattacksbasedonsessionsuspicionprobabilitymodel[J].ChineseJournalofComputers, 2010, 33(9): 1713-1724.)
[7]PARKK,PAIV,LEEK,CALOS.SecuringWebservicebyautomaticrobotdetection[C]//ProceedingsoftheAnnualConferenceonUSENIX’ 06AnnualTechnicalConference.Berkeley,CA:USENIXAssociation, 2006: 23-28.
[8]PAULV,PRASADHK,SANKARANARAYANAN.Application:DDoSattacksresistanceschemeusingpolynomialdistributionmodel[C]//Proceedingsofthe2013ThirdInternationalConferenceonAdvancesinComputingandCommunications.Washington,DC:IEEEComputerSociety, 2013: 304-307.
[9]EMMERIKMV.Staticsingleassignmentfordecompilation[D].Brisbane:UniversityofQueensland, 2007.
[10]RAJESHS.ProtectionfromapplicationlayerDDoSattacksforpopularWebsites[J].InternationalJournalofComputer&ElectricalEngineering, 2013, 5(6): 555-558.
[11] 田俊峰,韓金娥,杜瑞忠,等.基于軟件行為軌跡的可信性評價模型[J].計算機(jī)研究與發(fā)展,2012,49(7):1514-1524.(TIANJF,HANJE,DURZ,etal.Creditabilityevaluationmodelbasedonsoftwarebehaviortrace[J].JournalofComputerResearchandDevelopment, 2012, 49(7): 1514-1524.)
[12]Musicmachines-HTTP[EB/OL].[2016-04-10].http://www.cs.washington.edu/research/adaptive/download.html.
LIU Zeyu, born in 1992, M.S.candidate.His research interests include network security, electronic commerce.
XIA Yang, born in 1962, Ph.D., professor.His research interests include network computing, Web application, electronic commerce technology.
ZHANG Yilong, born in 1991, M.S.candidate.His research interests include network security, machine learning.
REN Yuan, born in 1989, M.S.candidate.His research interests include network security, artificial intelligence.
Application-layer DDoS defense model based on Web behavior trajectory
LIU Zeyu*, XIA Yang, ZHANG Yilong, REN Yuan
(CollegeofComputerScienceandTechnology,ChinaUniversityofMiningandTechnology,XuzhouJiangsu221116,China)
To defense application-layer Distributed Denial of Service (DDoS) built on the normal network layer, a defense model based on Web behavior trajectory in the Web application server was constructed.User’s access behavior was abstracted into Web behavior trajectory, and according to the generation approach about attack request as well as behavior characteristics of user access to Web pages, four kinds of suspicion were defined, including access dependency suspicion, behavior rate suspicion, trajectory similarity suspicion, and trajectory deviation suspicion.The deviation values between normal sessions and attack sessions were calculated to detect the application-layer DDoS to a specific website.The defense model prohibited the user access from DDoS when detecting the attack request generated by the user.In the experiment, real data was acted as the training set.Then, through simulating different kinds of attack request, the defense model could identify the attack request and take the defense mechanism against the attack.The experimental results demonstrate that the model can detect and defense the application-layer DDoS to a specific website.
Distributed Denial of Service (DDoS); application-layer; Web behavior trajectory; attack defence
2016-07-26;
2016-08-08。
劉澤宇(1992—),男,湖北咸寧人,碩士研究生,主要研究方向:網(wǎng)絡(luò)安全、電子商務(wù); 夏陽(1962—),男,江蘇徐州人,教授,博士,主要研究方向:網(wǎng)絡(luò)計算、Web應(yīng)用、電子商務(wù); 張義龍(1991—),男,河北邢臺人,碩士研究生,主要研究方向:網(wǎng)絡(luò)安全、機(jī)器學(xué)習(xí); 任遠(yuǎn)(1989—),男,江蘇徐州人,碩士研究生,主要研究方向:網(wǎng)絡(luò)安全、人工智能。
1001-9081(2017)01-0128-06
10.11772/j.issn.1001-9081.2017.01.0128
TP393.08; TP309.2
A