李程瑜, 齊玉東, 王曉虹, 司維超
1(海軍航空大學(xué), 煙臺 264001)
2(解放軍第 107 醫(yī)院, 煙臺 264001)
分布式拒絕服務(wù)攻擊[1](Distributed Denial of Service, DDoS)是一種分布式、協(xié)作式、大規(guī)模的DoS攻擊方式, 大多利用Internet上已被攻陷的計算機(jī)作為“僵尸”, 向某一特定的目標(biāo)發(fā)起密集式的“拒絕服務(wù)”請求, 達(dá)到將其網(wǎng)絡(luò)資源和系統(tǒng)資源耗盡的目的, 使之無法向真正正常請求的用戶提供服務(wù). Web服務(wù)器、DNS服務(wù)器多為最常見的攻擊目標(biāo), 最終實現(xiàn)帶有利益的惡意刷網(wǎng)站流量、Email 垃圾郵件群發(fā)、癱瘓競爭對手等違反道德的商業(yè)活動的目的. DDoS攻擊作為互聯(lián)網(wǎng)時代網(wǎng)絡(luò)安全領(lǐng)域使用頻率最高、最易實施和影響范圍最廣的網(wǎng)絡(luò)攻擊行為, 使軍隊、國家政府機(jī)關(guān)、企事業(yè)單位面臨嚴(yán)峻的網(wǎng)絡(luò)信息安全威脅和挑戰(zhàn).
國內(nèi)外眾多科研機(jī)構(gòu)和人員針對DDoS攻防評估做了大量研究, 并取得了一定的成果, 文獻(xiàn)[2]提出一種應(yīng)對DDoS攻擊防范機(jī)制的評估分類標(biāo)準(zhǔn), 指出在評估一種防御機(jī)制中應(yīng)用的一些標(biāo)準(zhǔn)參數(shù), 但缺乏具體實驗比較. 文獻(xiàn)[3]提出DDoS防御機(jī)制評估框架, 但該方法需要一個嚴(yán)格假設(shè)才能清楚區(qū)分攻擊包和合法包,在實際的網(wǎng)絡(luò)攻防對抗中難以做到. 文獻(xiàn)[4]提出了一種基于多屬性決策的DDoS防御策略遴選算法, 綜合考慮了各方面評估指標(biāo), 為防御策略的選取提供了參考并通過模擬實驗驗證了方法的有效性. 文獻(xiàn)[5]提出一種基于戰(zhàn)略博弈的DDoS攻防績效評估方法, 構(gòu)建了基于博弈論的攻防策略模型, 定義攻防效用函數(shù), 通過求解混合策略納什均衡得到攻防最優(yōu)策略. 上述評估方法僅從攻防結(jié)果中指標(biāo)值變化或攻防行為收益的角度對DDoS防御策略進(jìn)行評估較為片面, 屬于靜態(tài)評估, 缺乏對攻防過程的考慮并且得出最優(yōu)防御措施缺乏針對性. 目前缺少一個綜合考慮攻防對抗過程及結(jié)果的DDoS攻防行為評估方法.
本文的主要思想是綜合考慮攻防對抗過程及結(jié)果,從攻防行為強(qiáng)度和攻防收益兩方面進(jìn)行DDoS攻防行為評估, 首先基于隨機(jī)Petri網(wǎng)理論建立DDoS攻防對抗網(wǎng)絡(luò), 然后對DDoS攻防對抗網(wǎng)絡(luò)中的攻防行為進(jìn)行攻防博弈分析, 得出攻防雙方的攻防策略, 攻防策略即攻防行為選擇概率, 將其賦予DDoS攻防對抗網(wǎng)展開攻防對抗過程, 依據(jù)攻防對抗網(wǎng)穩(wěn)態(tài)概率對攻防行為進(jìn)行評估.
本文基于隨機(jī)Petri網(wǎng)針對DDoS攻防行為, 建立了攻防行為對抗網(wǎng), 具體的有關(guān)隨機(jī)Petri網(wǎng)的定義可參考文獻(xiàn)[6].
定義1. 攻防收益
將攻擊行為對系統(tǒng)造成的損害程度定義為攻擊收益, 攻擊行為i的收益表示為; 將防御行為對受攻擊系統(tǒng)的恢復(fù)程度定義為防御收益, 防御行為j的收益表示為.
定義2. 攻防策略
假設(shè)攻擊方有n個攻擊行為可供選擇, 防御方有m個防御行為可供選擇, 用表示攻擊方選擇攻擊行為i的概率, 用表示防御方選擇防御行為j的概率,則定義攻擊方選擇攻擊行為的策略為, 定義防御方的選擇防御行為策略為:
定義3. 攻防行為強(qiáng)度
將單位時間內(nèi)攻防行為產(chǎn)生或清洗攻擊流量的能力視為攻防行為的強(qiáng)度, 用表示.
定義4. DDoS攻防行為對抗網(wǎng)
(1)N={Na,Nd},Na代表攻擊方,Nd代表防御方;
(8)S為標(biāo)識集合, 常用S0表示ADSPN的初始狀態(tài).
選取典型的DDoS攻防對抗行為作為構(gòu)建DDoS攻防對抗網(wǎng)的行為集合.
2.2.1 攻擊行為
(1) TCP連接洪水攻擊
TCP連接洪水攻擊是在TCP連接創(chuàng)建階段對服務(wù)器資源進(jìn)行攻擊的. 攻擊者可以利用大量受控主機(jī),通過快速建立大量惡意的TCP連接占滿被攻擊服務(wù)器的連接表, 使目標(biāo)無法接受新的TCP連接請求, 從而達(dá)到拒絕服務(wù)攻擊的目的.
(2) SYN洪水攻擊[7]
SYN洪水攻擊是最經(jīng)典的一種拒絕服務(wù)攻擊方式, 攻擊者利用大受控主機(jī)發(fā)送大量的TCP SYN報文,使服務(wù)器打開大量的半開連接, 占滿服務(wù)器的連接表,從而影響正常用戶與服務(wù)器建立會話, 造成拒絕服務(wù).
(3) Sockstress攻擊
Sockstress攻擊是一種慢速攻擊TCP連接的方法.在TCP傳輸數(shù)據(jù)時, 先將數(shù)據(jù)包臨時存儲在接收緩沖區(qū)中, 該緩沖區(qū)的大小是由TCP窗口表示的. 如果TCP窗口大小為0, 則表示該緩沖區(qū)已被填滿, 發(fā)送端停止發(fā)送數(shù)據(jù), 直到接收端窗口發(fā)生更新. Sockstress攻擊就是利用該原理長時間維持TCP連接, 以達(dá)到拒絕服務(wù)攻擊的目的.
2.2.2 防御行為
(1) 攻擊的治理[8,9]
對DDoS攻擊的治理就是對攻擊源節(jié)點(diǎn)的治理,發(fā)現(xiàn)并阻斷DDoS攻擊的源節(jié)點(diǎn), 能夠從源頭停止正在進(jìn)行的DDoS攻擊.
(2) 攻擊的緩解[10]
緩解DDoS攻擊的主要方法是對網(wǎng)絡(luò)流行清洗,即設(shè)法將惡意的網(wǎng)絡(luò)流量從全部流量中去除, 只將正常的網(wǎng)絡(luò)流量交付給服務(wù)器.
根據(jù)2.2節(jié)攻防行為描述, 我們首先構(gòu)建攻擊方攻擊行為Petri網(wǎng)和防御方防御行為Petri網(wǎng), 然后將攻擊方和防御方的攻防行為Petri網(wǎng)進(jìn)行組合, 構(gòu)成DDoS攻防行為對抗網(wǎng).
在圖1中, 庫所表示攻擊方所處狀態(tài); 瞬間變遷表示攻擊方對攻擊行為的選擇, 包含選擇概率參數(shù); 連續(xù)變遷表示攻擊行為的執(zhí)行過程, 包含行為執(zhí)行強(qiáng)度參數(shù).
圖1 攻擊行為Petri網(wǎng)
在圖2中, 庫所表示防御方所處狀態(tài); 瞬間變遷表示防御方對防御行為的選擇, 包含選擇概率參數(shù); 連續(xù)變遷表示防御行為的執(zhí)行過程, 包含行為執(zhí)行強(qiáng)度參數(shù).
圖2 防御行為Petri網(wǎng)
攻擊和防御是在網(wǎng)絡(luò)攻防中是對立同一的整體,二者相互依存. 在DDoS攻防對抗中, 攻擊方首先進(jìn)行攻擊, 防御方檢測到攻擊后會采取防御行為抵御攻擊,然后攻擊方會調(diào)整攻擊策略再次攻擊, 防御方也會調(diào)整策略進(jìn)行防御, 這就形成一個循環(huán)的攻防對抗過程.我們依據(jù)這個過程將攻擊方和防御方的攻防行為Petri網(wǎng)進(jìn)行組合, 構(gòu)成DDoS攻防行為對抗網(wǎng), 如圖3所示.
圖3 DDoS攻防對抗網(wǎng)
DDoS攻防對抗網(wǎng)中庫所及變遷具體含義如表1和表2所示.
在DDoS攻防對抗網(wǎng)中, 我們以攻擊方準(zhǔn)備發(fā)動攻擊作為初始狀態(tài), 攻擊方發(fā)動攻擊, 防御方對攻擊行為展開防御使得攻擊失效, 攻擊方會再次發(fā)動攻擊, 攻防對抗循環(huán)進(jìn)行, 最終攻防對抗網(wǎng)會達(dá)到一個穩(wěn)定狀態(tài), 即攻防雙方會處于某個攻防狀態(tài)的穩(wěn)定概率, 我們依此來對攻防行為進(jìn)行評估.
表1 DDoS攻防對抗網(wǎng)庫所含義
表2 DDoS攻防對抗網(wǎng)變遷含義
對于DDoS攻防對抗網(wǎng), 攻防博弈的雙方為攻擊方和防御方, 在攻防博弈過程中, 攻防雙方作為理性的局中人均以最大化自身收益作為選擇攻防行為的準(zhǔn)則,一方的收益是在另一方的損失下得到的, 因此我們用零和博弈來描述攻擊方和防御方兩個局中人的博弈關(guān)系, 將防御方看做是與攻擊方收益相反的局中人.
定義5. 攻防效用函數(shù)
定義6. 攻防策略納什均衡
那么攻防策略納什均衡應(yīng)滿足以下兩個條件:
當(dāng)攻防博弈達(dá)到納什均衡時, 雙方所選擇的策略都是應(yīng)對對方的最優(yōu)策略, 攻防雙方所獲得的收益都是最大的, 任何一方都不會主動降低自身收益去改變策略. 假設(shè)攻防博弈雙方都是理性的局中人, 它們均要最大化自己的效用. 攻防雙方零和博弈納什均衡策略具體求解步驟如下:
(1) 輸入攻防雙方所有攻防行為收益:
(3) 將得到的攻防行為博弈矩陣輸入Gambit軟件中, 利用Gambit軟件中Qre工具計算攻防策略納什均衡.
上述步驟求得的攻防策略將會給DDoS攻防對抗網(wǎng)中瞬時變遷選擇概率的設(shè)置提供依據(jù).
文獻(xiàn)[11]已經(jīng)證明, 一個隨機(jī)Petri網(wǎng)同構(gòu)于一個連續(xù)時間馬爾科夫鏈, 所以本文所建立的DDoS攻防對抗網(wǎng)也同構(gòu)于一個連續(xù)時間馬爾可夫鏈(MC), 將DDoS攻防對抗網(wǎng)在隨機(jī)Petri網(wǎng)仿真軟件PIPE上進(jìn)行仿真, 得到與之同構(gòu)的馬爾可夫鏈如圖4所示.
圖4 同構(gòu)的馬爾可夫鏈
在圖4中,S0、S4、S5、S6為消失狀態(tài), 因為它們所關(guān)聯(lián)的庫所觸發(fā)瞬間變遷, 不存在穩(wěn)態(tài)概率;S1、S2、S3、S7 、S8、S9、S10 、S11、S12 為有形狀態(tài),存在穩(wěn)態(tài)概率. 其中,S3表示攻擊方處于TCP連接洪水攻擊狀態(tài)、S2表示攻擊方處于SYN洪水攻擊狀態(tài)、S1表示攻擊方處于Sockstress攻擊狀態(tài);S12表示防御方處于對TCP連接洪水攻擊源進(jìn)行阻斷狀態(tài)、S11表示防御方處于對TCP連接洪水攻擊流量清洗狀態(tài)、S9表示防御方處于備對SYN洪水攻擊源進(jìn)行阻斷狀態(tài)、S10表示防御方處于對SYN洪水攻擊流量清洗狀態(tài)、S8表示防御方處于對Sockstress攻擊源進(jìn)行阻斷狀態(tài)、S7表示防御方處于對Sockstress攻擊流量清洗狀態(tài). 根據(jù)同構(gòu)馬爾可夫鏈中有形狀態(tài)之間的轉(zhuǎn)換關(guān)系, 我們可以得到穩(wěn)定狀態(tài)的可達(dá)標(biāo)識集, 如表3所示.
表3 可達(dá)標(biāo)識集
首先我們只考慮攻防行為收益, 根據(jù)攻防效用函數(shù)建立攻防博弈矩陣, 如表4所示.
表4 攻防博弈矩陣
根據(jù)攻防博弈矩陣使用軟件Gambit使用軟件計算攻防策略納什均衡, 圖5描述了計算攻防策略納什均衡的過程.
圖5 攻防策略納什均衡計算結(jié)果
由圖5可知, 最終收斂的值即為攻防策略納什均衡, 計算結(jié)果為:
由此可知, 攻擊方為了最大化自身收益, 最有可能采取Sockstress攻擊, 而對防御方而言, 針對各類DDoS攻擊最優(yōu)的防御措施是對攻擊流量進(jìn)行清洗.
然后我們綜合考慮攻防行為強(qiáng)度和攻防行為收益,將攻防博弈求解納什均衡得到攻防行為策略賦予DDoS攻防對抗網(wǎng), 作為瞬間變遷選擇執(zhí)行概率參數(shù).針對DDoS攻擊而言, 攻擊流量大小是衡量攻擊強(qiáng)度的重要指標(biāo), 我們以處理攻擊流量的速率作為衡量攻擊強(qiáng)度參數(shù)的依據(jù). 由于洪水攻會要在短時間內(nèi)發(fā)送大量的攻擊流量, 而慢速攻擊不需要在短時間發(fā)送大量流量, 所以洪水攻擊較慢速攻擊而言攻擊強(qiáng)度較大;針對于洪水攻擊, 對攻擊流量清理會比阻斷攻擊源在短時間內(nèi)處理攻擊流量更多, 所以其行為強(qiáng)度較大, 而針對慢速攻擊, 阻斷攻擊源會比對攻擊流量清理在短時間內(nèi)處理攻擊流量更多, 因此其行為強(qiáng)大較大.
對DDoS攻防對抗網(wǎng)變遷參數(shù)設(shè)置如表5所示,使用隨機(jī)petri網(wǎng)建模軟件PIPE對DDoS攻防對抗網(wǎng)進(jìn)行仿真, 進(jìn)行穩(wěn)態(tài)概率求解, 最終求得穩(wěn)態(tài)概率:
表5 DDoS攻防對抗網(wǎng)參數(shù)設(shè)置
我們用以上公式對上述攻防雙方所處攻防狀態(tài)的概率進(jìn)行處理, 使得結(jié)果更加清晰, 得到:
攻擊方攻擊狀態(tài)概率
防御方針對三種攻擊的防御狀態(tài)概率
由此可知, 對于攻擊方而言, 攻擊方最可能處于SYN洪水攻擊狀態(tài), 即最可能發(fā)動SYN洪水攻擊; 而對防御方而言, 針對于洪水攻擊, 防御方最可能采取攻擊流量清洗措施, 針對于慢速攻擊而言防御方最可能采取阻斷攻擊源措施抵御DDoS攻擊.
參考文獻(xiàn)[5,12]中針對基于博弈的DDoS攻防對抗評估方法, 只考慮攻防收益, 通過建立攻防博弈矩陣求得到DDoS攻防對抗評估結(jié)果為:
將本文得到DDoS攻防對抗評估結(jié)果與用文獻(xiàn)[5,12]方法得到的結(jié)果進(jìn)行對比可以看出, 運(yùn)用博弈論和隨機(jī)Petri網(wǎng)思想綜合考慮攻防行為強(qiáng)度和攻防行為收益評估出最優(yōu)攻擊行為是SYN洪水攻擊, 同時攻擊行為概率相差較小, 表明評估結(jié)果更加貼近實際,并且防御行為評估具有針對性, 對于不同攻擊行為, 本文方法能評估得出針對其最有效的防御行為.
本文基于隨機(jī)Petri網(wǎng)建立了DDoS攻防對抗網(wǎng),基于博弈論思想進(jìn)行攻防博弈, 得出攻防行為策略并賦予攻防對抗網(wǎng), 綜合考慮攻防行為收益和攻防行為強(qiáng)度兩方面針對DDoS攻防行為進(jìn)行攻防對抗并評估,得出的評估結(jié)果比只運(yùn)用博弈論思想考慮攻防行為收益得到的評估結(jié)果更加合理且具有針對性. 本文的研究成果可運(yùn)用于攻擊行為的預(yù)測和防御策略的主動選取并提前部署.
下步工作就是結(jié)合評估結(jié)果對實際DDoS攻防對抗實驗進(jìn)行驗證, 通過實際驗證結(jié)果對本文所建立的攻防對抗網(wǎng)參數(shù)進(jìn)行優(yōu)化, 使其更具準(zhǔn)確性和通用性.