李程瑜, 齊玉東, 王曉虹, 司維超
1(海軍航空大學, 煙臺 264001)
2(解放軍第 107 醫院, 煙臺 264001)
分布式拒絕服務攻擊[1](Distributed Denial of Service, DDoS)是一種分布式、協作式、大規模的DoS攻擊方式, 大多利用Internet上已被攻陷的計算機作為“僵尸”, 向某一特定的目標發起密集式的“拒絕服務”請求, 達到將其網絡資源和系統資源耗盡的目的, 使之無法向真正正常請求的用戶提供服務. Web服務器、DNS服務器多為最常見的攻擊目標, 最終實現帶有利益的惡意刷網站流量、Email 垃圾郵件群發、癱瘓競爭對手等違反道德的商業活動的目的. DDoS攻擊作為互聯網時代網絡安全領域使用頻率最高、最易實施和影響范圍最廣的網絡攻擊行為, 使軍隊、國家政府機關、企事業單位面臨嚴峻的網絡信息安全威脅和挑戰.
國內外眾多科研機構和人員針對DDoS攻防評估做了大量研究, 并取得了一定的成果, 文獻[2]提出一種應對DDoS攻擊防范機制的評估分類標準, 指出在評估一種防御機制中應用的一些標準參數, 但缺乏具體實驗比較. 文獻[3]提出DDoS防御機制評估框架, 但該方法需要一個嚴格假設才能清楚區分攻擊包和合法包,在實際的網絡攻防對抗中難以做到. 文獻[4]提出了一種基于多屬性決策的DDoS防御策略遴選算法, 綜合考慮了各方面評估指標, 為防御策略的選取提供了參考并通過模擬實驗驗證了方法的有效性. 文獻[5]提出一種基于戰略博弈的DDoS攻防績效評估方法, 構建了基于博弈論的攻防策略模型, 定義攻防效用函數, 通過求解混合策略納什均衡得到攻防最優策略. 上述評估方法僅從攻防結果中指標值變化或攻防行為收益的角度對DDoS防御策略進行評估較為片面, 屬于靜態評估, 缺乏對攻防過程的考慮并且得出最優防御措施缺乏針對性. 目前缺少一個綜合考慮攻防對抗過程及結果的DDoS攻防行為評估方法.
本文的主要思想是綜合考慮攻防對抗過程及結果,從攻防行為強度和攻防收益兩方面進行DDoS攻防行為評估, 首先基于隨機Petri網理論建立DDoS攻防對抗網絡, 然后對DDoS攻防對抗網絡中的攻防行為進行攻防博弈分析, 得出攻防雙方的攻防策略, 攻防策略即攻防行為選擇概率, 將其賦予DDoS攻防對抗網展開攻防對抗過程, 依據攻防對抗網穩態概率對攻防行為進行評估.
本文基于隨機Petri網針對DDoS攻防行為, 建立了攻防行為對抗網, 具體的有關隨機Petri網的定義可參考文獻[6].
定義1. 攻防收益
將攻擊行為對系統造成的損害程度定義為攻擊收益, 攻擊行為i的收益表示為; 將防御行為對受攻擊系統的恢復程度定義為防御收益, 防御行為j的收益表示為.
定義2. 攻防策略
假設攻擊方有n個攻擊行為可供選擇, 防御方有m個防御行為可供選擇, 用表示攻擊方選擇攻擊行為i的概率, 用表示防御方選擇防御行為j的概率,則定義攻擊方選擇攻擊行為的策略為, 定義防御方的選擇防御行為策略為:

定義3. 攻防行為強度
將單位時間內攻防行為產生或清洗攻擊流量的能力視為攻防行為的強度, 用表示.
定義4. DDoS攻防行為對抗網
(1)N={Na,Nd},Na代表攻擊方,Nd代表防御方;
(8)S為標識集合, 常用S0表示ADSPN的初始狀態.
選取典型的DDoS攻防對抗行為作為構建DDoS攻防對抗網的行為集合.
2.2.1 攻擊行為
(1) TCP連接洪水攻擊
TCP連接洪水攻擊是在TCP連接創建階段對服務器資源進行攻擊的. 攻擊者可以利用大量受控主機,通過快速建立大量惡意的TCP連接占滿被攻擊服務器的連接表, 使目標無法接受新的TCP連接請求, 從而達到拒絕服務攻擊的目的.
(2) SYN洪水攻擊[7]
SYN洪水攻擊是最經典的一種拒絕服務攻擊方式, 攻擊者利用大受控主機發送大量的TCP SYN報文,使服務器打開大量的半開連接, 占滿服務器的連接表,從而影響正常用戶與服務器建立會話, 造成拒絕服務.
(3) Sockstress攻擊
Sockstress攻擊是一種慢速攻擊TCP連接的方法.在TCP傳輸數據時, 先將數據包臨時存儲在接收緩沖區中, 該緩沖區的大小是由TCP窗口表示的. 如果TCP窗口大小為0, 則表示該緩沖區已被填滿, 發送端停止發送數據, 直到接收端窗口發生更新. Sockstress攻擊就是利用該原理長時間維持TCP連接, 以達到拒絕服務攻擊的目的.
2.2.2 防御行為
(1) 攻擊的治理[8,9]
對DDoS攻擊的治理就是對攻擊源節點的治理,發現并阻斷DDoS攻擊的源節點, 能夠從源頭停止正在進行的DDoS攻擊.
(2) 攻擊的緩解[10]
緩解DDoS攻擊的主要方法是對網絡流行清洗,即設法將惡意的網絡流量從全部流量中去除, 只將正常的網絡流量交付給服務器.
根據2.2節攻防行為描述, 我們首先構建攻擊方攻擊行為Petri網和防御方防御行為Petri網, 然后將攻擊方和防御方的攻防行為Petri網進行組合, 構成DDoS攻防行為對抗網.
在圖1中, 庫所表示攻擊方所處狀態; 瞬間變遷表示攻擊方對攻擊行為的選擇, 包含選擇概率參數; 連續變遷表示攻擊行為的執行過程, 包含行為執行強度參數.

圖1 攻擊行為Petri網
在圖2中, 庫所表示防御方所處狀態; 瞬間變遷表示防御方對防御行為的選擇, 包含選擇概率參數; 連續變遷表示防御行為的執行過程, 包含行為執行強度參數.

圖2 防御行為Petri網
攻擊和防御是在網絡攻防中是對立同一的整體,二者相互依存. 在DDoS攻防對抗中, 攻擊方首先進行攻擊, 防御方檢測到攻擊后會采取防御行為抵御攻擊,然后攻擊方會調整攻擊策略再次攻擊, 防御方也會調整策略進行防御, 這就形成一個循環的攻防對抗過程.我們依據這個過程將攻擊方和防御方的攻防行為Petri網進行組合, 構成DDoS攻防行為對抗網, 如圖3所示.

圖3 DDoS攻防對抗網
DDoS攻防對抗網中庫所及變遷具體含義如表1和表2所示.
在DDoS攻防對抗網中, 我們以攻擊方準備發動攻擊作為初始狀態, 攻擊方發動攻擊, 防御方對攻擊行為展開防御使得攻擊失效, 攻擊方會再次發動攻擊, 攻防對抗循環進行, 最終攻防對抗網會達到一個穩定狀態, 即攻防雙方會處于某個攻防狀態的穩定概率, 我們依此來對攻防行為進行評估.

表1 DDoS攻防對抗網庫所含義

表2 DDoS攻防對抗網變遷含義
對于DDoS攻防對抗網, 攻防博弈的雙方為攻擊方和防御方, 在攻防博弈過程中, 攻防雙方作為理性的局中人均以最大化自身收益作為選擇攻防行為的準則,一方的收益是在另一方的損失下得到的, 因此我們用零和博弈來描述攻擊方和防御方兩個局中人的博弈關系, 將防御方看做是與攻擊方收益相反的局中人.
定義5. 攻防效用函數

定義6. 攻防策略納什均衡

那么攻防策略納什均衡應滿足以下兩個條件:

當攻防博弈達到納什均衡時, 雙方所選擇的策略都是應對對方的最優策略, 攻防雙方所獲得的收益都是最大的, 任何一方都不會主動降低自身收益去改變策略. 假設攻防博弈雙方都是理性的局中人, 它們均要最大化自己的效用. 攻防雙方零和博弈納什均衡策略具體求解步驟如下:
(1) 輸入攻防雙方所有攻防行為收益:

(3) 將得到的攻防行為博弈矩陣輸入Gambit軟件中, 利用Gambit軟件中Qre工具計算攻防策略納什均衡.
上述步驟求得的攻防策略將會給DDoS攻防對抗網中瞬時變遷選擇概率的設置提供依據.
文獻[11]已經證明, 一個隨機Petri網同構于一個連續時間馬爾科夫鏈, 所以本文所建立的DDoS攻防對抗網也同構于一個連續時間馬爾可夫鏈(MC), 將DDoS攻防對抗網在隨機Petri網仿真軟件PIPE上進行仿真, 得到與之同構的馬爾可夫鏈如圖4所示.

圖4 同構的馬爾可夫鏈
在圖4中,S0、S4、S5、S6為消失狀態, 因為它們所關聯的庫所觸發瞬間變遷, 不存在穩態概率;S1、S2、S3、S7 、S8、S9、S10 、S11、S12 為有形狀態,存在穩態概率. 其中,S3表示攻擊方處于TCP連接洪水攻擊狀態、S2表示攻擊方處于SYN洪水攻擊狀態、S1表示攻擊方處于Sockstress攻擊狀態;S12表示防御方處于對TCP連接洪水攻擊源進行阻斷狀態、S11表示防御方處于對TCP連接洪水攻擊流量清洗狀態、S9表示防御方處于備對SYN洪水攻擊源進行阻斷狀態、S10表示防御方處于對SYN洪水攻擊流量清洗狀態、S8表示防御方處于對Sockstress攻擊源進行阻斷狀態、S7表示防御方處于對Sockstress攻擊流量清洗狀態. 根據同構馬爾可夫鏈中有形狀態之間的轉換關系, 我們可以得到穩定狀態的可達標識集, 如表3所示.

表3 可達標識集
首先我們只考慮攻防行為收益, 根據攻防效用函數建立攻防博弈矩陣, 如表4所示.

表4 攻防博弈矩陣
根據攻防博弈矩陣使用軟件Gambit使用軟件計算攻防策略納什均衡, 圖5描述了計算攻防策略納什均衡的過程.

圖5 攻防策略納什均衡計算結果
由圖5可知, 最終收斂的值即為攻防策略納什均衡, 計算結果為:

由此可知, 攻擊方為了最大化自身收益, 最有可能采取Sockstress攻擊, 而對防御方而言, 針對各類DDoS攻擊最優的防御措施是對攻擊流量進行清洗.
然后我們綜合考慮攻防行為強度和攻防行為收益,將攻防博弈求解納什均衡得到攻防行為策略賦予DDoS攻防對抗網, 作為瞬間變遷選擇執行概率參數.針對DDoS攻擊而言, 攻擊流量大小是衡量攻擊強度的重要指標, 我們以處理攻擊流量的速率作為衡量攻擊強度參數的依據. 由于洪水攻會要在短時間內發送大量的攻擊流量, 而慢速攻擊不需要在短時間發送大量流量, 所以洪水攻擊較慢速攻擊而言攻擊強度較大;針對于洪水攻擊, 對攻擊流量清理會比阻斷攻擊源在短時間內處理攻擊流量更多, 所以其行為強度較大, 而針對慢速攻擊, 阻斷攻擊源會比對攻擊流量清理在短時間內處理攻擊流量更多, 因此其行為強大較大.
對DDoS攻防對抗網變遷參數設置如表5所示,使用隨機petri網建模軟件PIPE對DDoS攻防對抗網進行仿真, 進行穩態概率求解, 最終求得穩態概率:


表5 DDoS攻防對抗網參數設置
我們用以上公式對上述攻防雙方所處攻防狀態的概率進行處理, 使得結果更加清晰, 得到:
攻擊方攻擊狀態概率

防御方針對三種攻擊的防御狀態概率

由此可知, 對于攻擊方而言, 攻擊方最可能處于SYN洪水攻擊狀態, 即最可能發動SYN洪水攻擊; 而對防御方而言, 針對于洪水攻擊, 防御方最可能采取攻擊流量清洗措施, 針對于慢速攻擊而言防御方最可能采取阻斷攻擊源措施抵御DDoS攻擊.
參考文獻[5,12]中針對基于博弈的DDoS攻防對抗評估方法, 只考慮攻防收益, 通過建立攻防博弈矩陣求得到DDoS攻防對抗評估結果為:

將本文得到DDoS攻防對抗評估結果與用文獻[5,12]方法得到的結果進行對比可以看出, 運用博弈論和隨機Petri網思想綜合考慮攻防行為強度和攻防行為收益評估出最優攻擊行為是SYN洪水攻擊, 同時攻擊行為概率相差較小, 表明評估結果更加貼近實際,并且防御行為評估具有針對性, 對于不同攻擊行為, 本文方法能評估得出針對其最有效的防御行為.
本文基于隨機Petri網建立了DDoS攻防對抗網,基于博弈論思想進行攻防博弈, 得出攻防行為策略并賦予攻防對抗網, 綜合考慮攻防行為收益和攻防行為強度兩方面針對DDoS攻防行為進行攻防對抗并評估,得出的評估結果比只運用博弈論思想考慮攻防行為收益得到的評估結果更加合理且具有針對性. 本文的研究成果可運用于攻擊行為的預測和防御策略的主動選取并提前部署.
下步工作就是結合評估結果對實際DDoS攻防對抗實驗進行驗證, 通過實際驗證結果對本文所建立的攻防對抗網參數進行優化, 使其更具準確性和通用性.