劉澤宇,夏 陽,張義龍,任 遠
(中國礦業(yè)大學 計算機科學與技術(shù)學院,江蘇 徐州 221116)
(*通信作者電子郵箱yxia@cumt.edu.cn)
基于Web行為軌跡的應用層DDoS攻擊防御模型
劉澤宇*,夏 陽,張義龍,任 遠
(中國礦業(yè)大學 計算機科學與技術(shù)學院,江蘇 徐州 221116)
(*通信作者電子郵箱yxia@cumt.edu.cn)
為了有效防御應用層分布式拒絕服務攻擊(DDoS),定義了一種搭建在Web應用服務器上的基于Web行為軌跡的防御模型。把用戶的訪問行為抽象為Web行為軌跡,根據(jù)攻擊請求的生成方式與用戶訪問Web頁面的行為特征,定義了四種異常因素,分別為訪問依賴異常、行為速率異常、軌跡重復異常、軌跡偏離異常。采用行為軌跡化簡算法簡化行為軌跡的計算,然后計算用戶正常訪問網(wǎng)站時和攻擊訪問時產(chǎn)生的異常因素的偏離值,來檢測針對Web網(wǎng)站的分布式拒絕服務攻擊,在檢測出某用戶產(chǎn)生攻擊請求時,防御模型禁止該用戶訪問來防御DDoS。實驗采用真實數(shù)據(jù)當作訓練集,在模擬不同種類攻擊請求下,防御模型短時間識別出攻擊并且采取防御機制抵制。實驗結(jié)果表明,Web行為軌跡的防御模型能夠有效防御針對Web網(wǎng)站的分布式拒絕服務攻擊。
分布式拒絕服務攻擊;應用層;Web行為軌跡;攻擊防御
分布式拒絕服務攻擊(Distributed Denial of Service,DDoS),是指利用目標系統(tǒng)網(wǎng)絡服務功能缺陷,直接消耗其系統(tǒng)資源,使得該目標系統(tǒng)無法提供正常的服務。
在網(wǎng)絡協(xié)議低層,DDoS最明顯的特征是流量出現(xiàn)異常,通過分析流量檢測DDoS是常見的方法[1];對于應用層的DDoS,文獻[2]通過分析主干網(wǎng)絡的用戶訪問行為,利用訪問者產(chǎn)生的外聯(lián)行為來檢測應用層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ā)訪問與應用層DDoS。該方法對于Web應用服務器而言,主干層的網(wǎng)絡數(shù)據(jù)不易獲取。
文獻[4]提出了一種基于用戶忠實度的應用層DDoS防御模型,該模型使用Cookie來標記不同用戶的忠實度,根據(jù)用戶的行為來評定用戶忠實度,過濾忠實度低的用戶訪問,實現(xiàn)了應用層攻擊防御。
文獻[5]通過分析應用層DDoS的單個用戶平均請求次數(shù)(Average Number of Request per Client, ANRC)的變化規(guī)律,提出一種自回歸的模型的檢測算法。使用卡爾曼濾波算法預測正常用戶的平均訪問速率,當實際值和預測值的差超過閾值時,則判定為DDoS。
文獻[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]通過在客戶端檢測用戶的鼠標點擊行為來區(qū)分正常用戶訪問和攻擊腳本,此類方法仍然受客戶端限制;Paul等[8]提出一種多項式分布模型,先對應用程序流量進行分組,通過對流量的分組與分流來識別和抵抗DDoS。文獻[9]使用隱馬爾可夫模型來描述正常用戶的訪問行為,在線測量Web用戶訪問行為相對于正常訪問模型的偏離度,根據(jù)偏離度大小判斷惡意攻擊序列。該方法的訓練數(shù)據(jù)和計算過程繁瑣,且不能完全涵蓋所有喜好習慣不同的用戶的訪問特征。Rajesh[10]提出一種訪問矩陣來識別正常用戶訪問和DDoS,該方法主要適用于熱門網(wǎng)站的服務器。
運用部署在主干網(wǎng)絡的外聯(lián)行為來檢測應用層DDoS檢測方法[2],難度較大,適用場景限制太多;文獻[4]所描述的用戶忠實度的檢測方法會受到客戶端的限制和影響,容易被反制;基于ANRC的變化規(guī)律的自回歸的模型的檢測算法無法有效區(qū)分Flash Crowd和DDoS訪問[5];文獻[6]在獲取頁面轉(zhuǎn)移異常時需要根據(jù)用戶訪問頁面的內(nèi)容對頁面分類,忽視了網(wǎng)站頁面的本身鏈接關系,而網(wǎng)站頁面的鏈接關系更能直接影響用戶的session的訪問行為,并且,在獲取Thinking Time異常度時,容易受到小概率正常用戶行為干擾,而此類行為對Thinking Time異常度影響大。
針對上述不足,本文主要通過分析Web網(wǎng)站的結(jié)構(gòu)特點以及用戶訪問行為特點,提出一種基于Web行為軌跡的攻擊防御模型(Application-layer DDoS defense model based on Web Behavior Trajectory, WBT)。該防御模型可以部署在Web服務器和應用服務器之間,檢測模塊把檢測結(jié)果反饋給局域網(wǎng)防火墻、主機防火墻、Web服務器等軟硬件安全設施,該防御模型不依賴于主干網(wǎng)絡;該防御模型所有的檢測數(shù)據(jù)不依賴客戶端,不受客戶端環(huán)境的影響;通過計算用戶的訪問依賴異常、行為速率異常、軌跡重復異常、軌跡偏離異常,能夠有效區(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é)點的唯一標識符;userid表示用戶的標識符;url_id表示用戶訪問的HTTP請求URL的唯一標識符;refer_id表示訪問該節(jié)點的來源節(jié)點的id,根據(jù)refer_id可以計算refer_url;count是一個整數(shù),用來表示當前會話用戶第幾次訪問Web服務器。由于網(wǎng)站的訪問規(guī)則是確定的,提供外部用戶直接訪問的URL是確定的,網(wǎng)站中能夠合法訪問的節(jié)點集合用V0表示,稱為固有點集。
圖1 行為軌跡節(jié)點示意圖
S是邊的空間權(quán)值集合,對于任意邊ei=(vi,vj),設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)值關系為S(e1)=S(e2)=S(e3)=1;a到e的最短路徑為2,即e4=(a,e),S(e4)=2。當用戶刷新頁面時,這條邊的空間權(quán)值為0,即e5=(a,a),S(e5)=0。
T是時間權(quán)值的集合,對于任意邊ei=(vi,vi+1),設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)直接訪問不同頁面,當出現(xiàn)ei=(vi,vj)∈E,sij>1所占頻率增高時,說明用戶的訪問行為出現(xiàn)異常。
2)在行為軌跡圖W中,用戶不用循環(huán)請求一個或者一組頁面,當行為軌跡中出現(xiàn)大量重復訪問序列,說明存在攻擊行為。
3)ei=(vi,vi+1),t(ei)=t,在用戶瀏覽Web時,用戶瀏覽一個節(jié)點到瀏覽另一個節(jié)點,需要一定的思考時間,思考時間與ei是相關的,T(ei)表示歷史用戶訪問。攻擊者為了達到攻擊效果,往往會選擇高速率的請求頻率,此時,導致行為軌跡圖中邊的時間權(quán)值會非常小,出現(xiàn)行為速率異常。
4)在用戶訪問的節(jié)點中,用戶幾乎不會單獨訪問一個單獨的通過非開放URL訪問的資源,并且用戶不會經(jīng)常訪問不存在的URL,即V?V0,當存在大量的訪問的url節(jié)點a∈V∩a?V0時,表明用戶的Web行為軌跡出現(xiàn)異常,說明可能在采用某種隨機URL的程序在進行攻擊行為,出現(xiàn)軌跡偏離異常。
1.3 獲取節(jié)點參數(shù)
對于用戶訪問Web應用服務器的行為軌跡中的每個訪問節(jié)點(id,userid,url_id,time,refer_id,count),其中參數(shù)url_id、refer_id可以直接根據(jù)訪問記錄和HTTP。對于訪問節(jié)點id,采用自增的整數(shù)或者隨機的大整數(shù)來標識,userid通過Cookie與session或者重寫url進行會話跟蹤,一次會話的過程中userid相同,訪問時間間隔time根據(jù)refer_id和userid來獲取,count元素根據(jù)已知userid進行累加獲取。
1.4 Web行為軌跡的化簡
對于Web應用網(wǎng)站來說,URL的路徑命名復雜,將每個URL對應一個url_id,這里采用文獻[11]在軟件行為軌跡中的化簡方法,在定義一個網(wǎng)站的行為軌跡模型前,進行以下化簡操作。
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的對應關系。首先,合并等價URL。對于網(wǎng)站而言,如果任意兩個URL訪問的是同一資源,那么這兩個節(jié)對應的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模型主要部署在應用服務器和Web服務器之間,WBT模型對于應用服務器是透明的,需要在Web服務器保證sessionId在會話中不會變化。對于非法用戶的攔截,在應用層采用黑名單機制,在傳輸層采用防火墻策略。在識別出攻擊訪問行為之后,根據(jù)會話信息記錄的客戶端的IP、主機名、瀏覽器、設備標識等特征,將非法用戶記錄在黑名單中,并在局域網(wǎng)防火墻執(zhí)行相應的攔截規(guī)則,在一定時間內(nèi)限制符合此類特征的用戶再次訪問。當出現(xiàn)誤判時,可讓用戶可通過輸入驗證碼等安全方式主動移除黑名單。該防御模型核心的部分為檢測模塊,計算用戶的訪問行為是否為攻擊行為。
圖2 防御模型部署
2.2 防御機制
如圖3所示,在用戶被判定為非法用戶時,將用戶信息記錄在blacklist,通過防火墻規(guī)則或者Web服務器的黑名單機制限制,在一段時間內(nèi)不允許該用戶再次訪問網(wǎng)站;當超過一定時間后,將用戶自動從blacklist中移除,提供用戶主動delist的網(wǎng)頁入口,防止出現(xiàn)誤判的現(xiàn)象,采取驗證碼等安全機制驗證用戶的真實性。
在WBT模型中,最核心的部分為DDoS檢測,在檢測過程中,主要涉及訪問依賴異常、軌跡重復異常、行為速率異常、軌跡偏離異常的計算。
3.1 訪問依賴異常
在用戶的一次行為軌跡圖中,如果存在大量的ei=(vi,vj)∈E,sij>1,將ei出現(xiàn)的頻率定義為訪問依賴異常,記作Pdep:
(1)
在給定的Web應用網(wǎng)站,節(jié)點的鏈接關系是已知的。每個頁面的節(jié)點v的數(shù)據(jù)結(jié)構(gòu)是一個有向圖,圖中的節(jié)點表示URL,節(jié)點之間的有向邊表示了相鄰節(jié)點之間的可達性,如圖4所示。
圖3 用戶狀態(tài)轉(zhuǎn)換
圖4 頁面相鄰示意圖
圖4是某個網(wǎng)站每個URL的可達性的示意圖。頁面之間的相鄰性是確定的,當用戶訪問a,正常的訪問模式能夠訪問的只有b、c,當訪問a后訪問了g,說明可能出現(xiàn)了訪問異常,對于用戶訪問的集合W元素V、E,如果一個節(jié)點vi∈V0,那么vi可達相鄰節(jié)點的集合記作vi.acc。通過遍歷用戶的邊集,來確定依賴異常的點,依賴異常點集為:
Vdim={vj|ei=(vi,vj)∈E,vi∈V0,vj?vi.acc}
(2)
則對于用戶的第i次訪問,訪問依賴異常:
(3)
3.2 軌跡重復異常
在行為軌跡圖W中,對于用戶訪問的節(jié)點a∈V,利用一個六元組(id,uid,url,time,refer_id,count)表示,重復軌跡表示兩個相同軌跡之間是沒有其他軌跡行為,用戶的重復軌跡出現(xiàn)的次數(shù)c,重復的長度為l,n、d,其中d>1,n>1,n和d為給定的常數(shù),軌跡相似異常為Psim,對于用戶的第i次訪問,軌跡重復異常:
(4)
求重復軌跡的次數(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)的子序列之后,本文取出重復度最高的子序列來計算軌跡重復異常。
3.3 行為速率異常
當網(wǎng)站出現(xiàn)峰值訪問時,對于網(wǎng)站而言,HTTP請求速率增加,但對于單個用戶而言,訪問的速率變化不大,并且一次請求的速率跟網(wǎng)站的內(nèi)容通常是相關的,利用一個Key-Value數(shù)據(jù)庫存儲訪問軌跡與估計速率的映射關系,訪問停留時間代表訪問速率。用戶訪問的速率跟訪問節(jié)點的內(nèi)容具有相關性。
對于網(wǎng)站的固有邊集E0,對應的正常時間權(quán)值集合T,攻擊者通常采用高頻率的HTTP請求,來達到攻擊效果,在時間權(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中默認session分別為30min和20min,如果用戶長時間停留在某一頁面,雖然此類節(jié)點產(chǎn)生概率相對較少,但對于平均值的影響非常大,當使用均值檢測時,如果有異常存在此類節(jié)點,檢測的靈敏度將大幅度降低,所以在檢測的過程中取訪問歷史時間的中值。
圖5 時間權(quán)值分布
3.4 軌跡偏離異常
在一個確定的網(wǎng)站中,頁面的結(jié)構(gòu)是確定的,即每個頁面對應的資源是確定的,每個資源所在的頁面也是確定的。如圖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服務器功能的差異性導致了正常訪問產(chǎn)生的異常度不一致,檢測過程中,四種異常所占的權(quán)值不同。
假設用戶在第i次訪問時的訪問依賴異常、軌跡重復、行為速率、軌跡偏離分別為wi、xi、yi、zi,根據(jù)以上公式,可以計算出在第i次的異常因素為:
Pi=ftotal(wi,xi,yi,zi)
(9)
根據(jù)網(wǎng)站的性質(zhì)不同,正常用戶在訪問過程中產(chǎn)生的異常因素Pi的計算方式也不同,即依賴異常、軌跡重復、行為速率、軌跡偏離的異常的統(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)分別表示四種異常值的平均值和方差。當異常值超過平均值方差時則報警。
4.1 搭建WBT模型
模擬實驗采用MusicMachines-HTTP從1996年12月29日00:00:00到1997-09-23 23:45:01日志數(shù)據(jù)作為訓練集,總共包含4 143條session,采用1997年09月21日 23:59:14到1997年09月23日23:45:01日志數(shù)據(jù)作為模擬測試數(shù)據(jù),實驗對象為machines主機上的數(shù)據(jù),先計算訓練數(shù)據(jù)集四種異常平均值μ(w)、μ(x)、μ(y)、μ(z)和四種方差σ2(w)、σ2(x)、σ2(y)、σ2(z)。實驗過程中,把machines下的所有訪問看作是一臺應用服務器或者一個服務器集群。先把日志數(shù)據(jù)存儲在數(shù)據(jù)庫表中,對其進行化簡處理,通過日志數(shù)據(jù)的URL的referer關系得出網(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)站進行訪問,觀察其四種異常值,當超出任意異常值平均值一個方差的值時,則判定為攻擊行為。
WBT模型搭建在Linux操作系統(tǒng)上,采用Nginx當作Web服務器,Tomcat當作應用服務器,Nginx記錄的日志為原始的訪問日志,作為檢測分析的數(shù)據(jù)源為日志數(shù)據(jù),采用Nginx的動態(tài)黑名單和局域網(wǎng)防火墻機制限制非法訪問,在判定為非法訪問時,則產(chǎn)生報警。
4.2 數(shù)據(jù)預處理
對于referer不屬于machines的URL,統(tǒng)一用“others“標記,不含有referer的訪問referer采用符號“-”標記。處理之后,總共包含352個不同的referer,計算訓練集中的訪問依賴異常、軌跡重復異常、行為速率異常、軌跡偏離異常,其中訓練集的每個異常因素概率密度函數(shù)分布如圖7所示。
其中,均值和方差分別為:
4.3 實驗結(jié)果
在攻擊頻率較高時,五類攻擊請求均表現(xiàn)為行為速率異常,在使用正常速率攻擊時,對于A類攻擊,表現(xiàn)出為訪問依賴異常、軌跡重復異常;對于B類攻擊,在session長度較短時,主要表現(xiàn)為訪問依賴異常,在session長度較長時,偏離網(wǎng)站原有鏈接關系的訪問節(jié)點較少,主要表現(xiàn)為軌跡重復異常;對于C類攻擊,由于是組合的URL,并且重復多次請求,主要表現(xiàn)為訪問依賴、軌跡偏離異常、軌跡重復異常;對于D類攻擊,采用隨機單個URL進行攻擊,主要表現(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ù)的關系如圖8~11所示。
圖8 訪問依賴異常
如圖8所示,A類攻擊產(chǎn)生訪問依賴異常值為在初始狀態(tài)1;而在B類攻擊模式下,由于B類攻擊截取了一段正常session進行反復訪問,訪問依賴異常值維持在一個較小的值;C類攻擊選取的URL組合沒有考慮連接關系,維持在一個較大的值;Random-URL攻擊和Forged-URL攻擊的訪問依賴值在初始狀態(tài)就為1。
如圖9所示,A類軌跡重復異常值為1;B類攻擊在剛開始,處于一個較小的值,當?shù)诙蜦lood完成時,行為軌跡模型識別出攻擊模式,軌跡重復異常值達到最大。C類的軌跡重復異出現(xiàn)了較大的抖動,在攻擊啟動時,不會出現(xiàn)重復,當?shù)诙蜯ulti-URL訪問完時,軌跡重復異常值達到最大并且超過閾值;D類由于攻擊路徑的隨機性,導致軌跡重復異常值穩(wěn)定在一個較小的值;E類攻擊通過偽造隨機的超長URL,軌跡重復異常值穩(wěn)定在0左右。
圖10為真實測試數(shù)據(jù)模擬的B類和C類攻擊時計算行為速率異常值。與頁面的內(nèi)容與訪問速率相關的A、D、E類攻擊模式的異常值在檢測開始后迅速達到最大值。B類攻擊的異常值穩(wěn)定在一個較小的值,在行為速率異常值不明顯;而在Multi-URLFlood的訪問速率異常值最后穩(wěn)定在0.24,超出閾值。
圖9 軌跡重復異常
圖10 行為速率異常
如圖11所示,A類攻擊被攻擊行為被認為軌跡偏離異常值為0;B類攻擊在軌跡偏離異常值中穩(wěn)定在一個較小的值;C類攻擊由于在訪問過程中存在跳動的情況,軌跡偏離處于一個較大的穩(wěn)定值,超出檢測閾值;D、E由于攻擊的隨機性,軌跡偏離異常值維持在最大。
圖11 軌跡偏離異常
4.4 性能分析
對于高頻率的WebDDoS行為,由于文獻[2]涉及的方法需要收集與計算網(wǎng)站和主干網(wǎng)絡的數(shù)據(jù),而WBT模型只需讀取網(wǎng)站自身產(chǎn)生的數(shù)據(jù),所以本文的防御效率要優(yōu)于文獻[2]所描述的方法;由于文獻[6]在計算ThinkingTime異常值和Mainpage請求數(shù)異常值時采用均值,在實驗中針對初始頻率低、頻率逐漸增加的攻擊行為時,WBT防御模型的檢測效率優(yōu)于文獻[6]的session異常模型,并且誤判率低。
4.5 相關工作比較
文獻[6]與本文有幾點不同。首先,在session異常模型中,通過訓練數(shù)據(jù)計算頁面是否屬于同一話題,從而確定頁面轉(zhuǎn)移異常,而Web行為軌跡的訪問依賴異常的根據(jù)是Web服務器的相互鏈接的關系;通過Web行為軌跡化簡過程可以有效降低計算復雜度。其次,session異常模型的ThinkingTime異常值將所有頁面的跳轉(zhuǎn)時間統(tǒng)一計算,而Web行為軌跡模型考慮到頁面內(nèi)容與跳轉(zhuǎn)時間相關,在每次HTTP請求時,根據(jù)訪問邊查找對應跳轉(zhuǎn)時間,檢測過程中對請求頻率更加敏感。文獻[4]基于用戶忠實度的應用層DDoS防御模型,過度依賴于Cookie機制,而本文描述的行為軌跡模型部署在服務器端,檢測方法不受客戶端影響。
本文針對Web網(wǎng)站的結(jié)構(gòu)以及應用層DDoS的攻擊特點,定義了一個Web行為軌跡W(V,E,S,T),在此檢測模型的基礎上搭建WBT模型來防御應用層DDoS。通過統(tǒng)計正常訪問的歷史信息已經(jīng)頁面的鏈接關系,定義固有邊集E0,空間權(quán)值S,邊時間權(quán)值集合T(ei)。通過行為軌跡化簡方法,簡化計算模型,增加防御性能。
在用戶每次發(fā)起HTTP請求到達服務器后,根據(jù)用戶產(chǎn)生的節(jié)點vi∈V的信息計算訪問依賴異常、軌跡重復異常、行為速率異常、軌跡偏離異常;計算異常值偏離均值的差,從而判斷此用戶訪問是否為DDoS行為。由于網(wǎng)站的功能不一致,確定四種異常值對總體異常權(quán)值比的參數(shù)a、b、c、d的取值策略仍需完善。
)
[1] 羅華,胡光岷,姚興苗.基于網(wǎng)絡全局流量異常特征的DDoS攻擊檢測[J].計算機應用,2007,27(2):314-317.(LUOH,HUGM,YAOXM.DDoSattackdetectionbasedonglobalnetworkpropertiesofnetworktrafficanomaly[J].JournalofComputerApplications, 2007, 27(2): 314-317.)
[2] 王風宇,曹首峰,肖軍,等.一種基于Web群體外聯(lián)行為的應用層DDoS檢測方法[J].軟件學報,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] 孫未,張亞平.基于用戶忠實度的應用層DDoS防御模型[J].計算機工程與設計,2015,36(1):93-97.(SUNW,ZHANGYP.ApplicationlayerDDoSdefensemodelbasedonuserloyalty[J].ComputerEngineeringandDesign, 2015, 36(1): 93-97.)
[5] 趙國鋒,喻守成,文晟.基于用戶行為分析的應用層DDoS攻擊檢測方法[J].計算機應用研究,2011,28(2):717-719.(ZHAOGF,YUSC,WENS.Detectingapplication-layerDDoSattackbasedonanalysisofusers’behaviors[J].ApplicationResearchofComputers, 2011,28(2):717-719.)
[6] 肖軍,云曉春,張永錚.基于會話異常度模型的應用層分布式拒絕服務攻擊過濾[J].計算機學報,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].計算機研究與發(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)絡安全、電子商務; 夏陽(1962—),男,江蘇徐州人,教授,博士,主要研究方向:網(wǎng)絡計算、Web應用、電子商務; 張義龍(1991—),男,河北邢臺人,碩士研究生,主要研究方向:網(wǎng)絡安全、機器學習; 任遠(1989—),男,江蘇徐州人,碩士研究生,主要研究方向:網(wǎng)絡安全、人工智能。
1001-9081(2017)01-0128-06
10.11772/j.issn.1001-9081.2017.01.0128
TP393.08; TP309.2
A