韓文英,李 娟
從根本上看,信息安全風險發生的根源在于攻擊者對系統的不斷攻擊。因此,只有抑制其攻擊,才能從根本上消除信息安全風險發生。然而,信息安全事件的攻守雙方在攻擊過程中的目標都是使自己的效用最大化。只是對于不同類型的攻擊者和防御者,由于其效用函數不同,攻擊的決策過程和決策結果自然也不同[1]。因此,單獨依靠技術手段并不能完全有效地控制和實現信息安全,還應進一步使用博弈論方法,根據具體的信息安全技術管理控制措施,建立攻擊者行為與系統防御措施之間的聯系,并通過攻擊者與防御者之間的依賴關系推導攻擊者的策略,同時驗證控制策略和協議的有效性和可行性[2]。
攻擊者和防御者之間的風險控制問題其實就是防御者作為委托人、攻擊者作為代理人的委托代理問題。解決此類問題時,必須要根據防御者具體的防御措施,設計出相應的防御機制,使攻擊者或因成本過高或因效用降低而放棄進攻或無法進行正常的進攻計劃,同時又不影響企業或用戶對信息系統的正常使用[3],從而從根本上消除信息安全風險的發生。
本文的信息安全管理機制設計,建立在企業對用戶及其他企業身份認證的基礎上,通過身份認證中對于用戶的識別,改變非法用戶的相關效用函數,進而阻止非法用戶的攻擊。
根據身份認證過程及涉及到的參與方,本次討論將涉及三方:企業服務器、合法用戶(即防御者)和攻擊者。
首先,對于假設的身份認證過程和攻擊發生后的一些具體情況作以下相關規定:
(1)攻擊者無權也沒有能力去修改合法用戶與服務器之間傳輸的相關信息,但攻擊者能簡單破壞這些信息或者因為某些攻擊手段而使這些信息超時而被丟棄,本文假設最簡單的攻擊形式;
(2)在有攻擊發生時,服務器允許攻擊者通過身份驗證而受到破壞,同時會拒絕合法用戶正常的身份認證請求。
對于博弈參與方的假設:
(1)假設每個處理請求的服務器有一個等待隊列,當一個服務器提供請求的服務給用戶時,它能夠從中獲得相應的回報;
(2)合法用戶希望能夠進入服務隊列并獲得服務,用戶請求將會被分配到服務器的等待隊列中,而當服務器滿時,新的服務請求將會被拒絕;
(3)攻擊者的目的是為了占據隊列中的位置,使正常用戶的信息超時丟棄,以便阻礙正常用戶與網絡各節點之間的正常通信。
博弈過程中,由于服務器并不了解合法用戶和攻擊者本身,造成博弈過程中的信息具有不對稱性。這是由于服務器缺乏關于用戶和攻擊者足夠的信息,而攻擊者有動機隱藏其惡意意圖,服務器不了解提交的服務請求類型。這種情況下,必須建立相應的防御機制,以減小信息不對稱帶來的不良影響,并幫助用戶正常得到請求的服務,阻止攻擊者對系統發起攻擊。要達此目的,必須設法區分合法用戶和攻擊者,或通過效用的區分和設計,使攻擊者自動放棄攻擊或者達不到其攻擊目的[4]。
為了達此目的,仿照Client Puzzle協議,在服務器對用戶身份認證前,加進一個產生puzzle的服務器。用戶要獲得服務器的身份認證請求,必須要解答響應的puzzle,進而通過設置puzzle的難度即設置puzzle的拍賣機制,達到上述目的[5]。
設計機制時,假設服務器可提供不同難度的puzzle。puzzle的難度越高,對應的服務優先級越高,求解時需要消耗的時間和精力越多。雖然用戶和攻擊者可選擇不同難度的puzzle,但都存在著如何均衡puzzle求解開銷與爭取服務優先級的問題。而目的和動機的不同,使他們都不會從對方角度出發對服務器系統提交請求。通過對不同均衡的求解,合法用戶和攻擊者可以根據自己的需求選擇不同的策略。因此,設計機制時,puzzle的難度成為最關鍵的變量。
根據設計,在系統中設置一個puzzle控制器來區分合法用戶和攻擊者。Puzzle控制器包括兩部分:一個用來產生puzzle和相應的答案,另一個用來驗證服務申請者提交的答案是否有效。當服務器產生和驗證一個puzzle時,不需要與服務器之間保持數據通信。用戶求解過程中不能從其他用戶處獲得幫助,所以相同的puzzle可以發給不同的用戶。
在此防御機制中,各參與方可根據效用選擇puzzle難度。通過puzzle的形成機制和重發機制設計投標策略,合法用戶和攻擊者需要利用最小的資源消耗獲得服務。具體而言,一個用戶在發送第一個服務請求時不需要求解任何puzzle,則可認為此事的求解難度為零。如果此時服務請求被拒絕,則用戶可在下次重發時增加投標難度即解題難度。求解puzzle的代價將隨著puzzle難度的增加而增加。當難度為零時,用戶無須付出計算代價就可獲得服務;而當難度超過用戶能力時,用戶將會放棄服務請求。此過程將以用戶成功獲得服務或者由于計算代價超過自身最大的限制Vc而結束。
當一個服務請求者向服務器提交服務請求時,服務器將周期發送隨機數Ns,并選擇一個請求者選擇的m難度的puzzle發送給服務請求者。服務器將周期性地(時間間隔為Ts)隨機改變Ns來避免攻擊者使用過去的解答結果,或提前進行解答操作。對應于某一特定Ns的答案,將被服務節點存儲起來,以防被重復使用。
如果服務請求者是合法用戶,則其在獲得隨機數Ns時產生隨機數Nc,并求解出答案X。在接到服務器信息后,它應該滿足哈希函數h(C,Nc,Ns,X )。其中,C表示用戶的身份信息。如果用戶得出了對應于Ns的正確答案,則可能獲得服務。用戶身份被包括在哈希函數的輸入信息中,可防止用戶解完puzzle后去幫助其他用戶計算求解。另外,用戶在求解同一個puzzle時,將產生一個新的Nc,用戶能夠重復使用Ns。于是,Nc還可防止攻擊者冒充用戶身份求解用戶的puzzle。
此外,當發生下面兩種情況時,用戶可能會放棄繼續對服務的請求:一是求解的累積花費超過可承受的限度Vc;二是當申請的累積時間超過限定的時間Ts。
Puzzle拍賣機制最關鍵是puzzle難度變量的設計。設置怎樣難度的puzzle,才能有效制止攻擊者的攻擊且不妨礙正常用戶使用系統呢?
假設攻擊者意欲攻擊n個服務器,且每個攻擊者和用戶在解答相同難度的puzzle時具有相同的執行能力。假設攻擊者求解puzzle的速率為λ,且求解單位難度puzzle的時t服從指數分布,其密度函數如下:

這樣攻擊者總的求解速率為nλ。由于解決puzzle難題需要消耗資源,且難度越大消耗越多,因此假設用戶由難度0開始投標,且通常的序列為(0,1,2,…,m)。用戶首先在不解題的情況下申請服務。如果被拒絕,則其要繼續投標難度為1的puzzle。因此,一個用戶要投標到難度為m的puzzle才能獲得服務。為了阻止用戶獲得服務,攻擊者必須投標L次,并求解難度為m+1的puzzle。攻擊者成功投標L次時,將完成的計算量是問題的重點。Xim是隨機變量,用來表示在L個投標中的第i個難度為m的投標,可表示為X1m,X2m,…,XLm。當L很大時,攻擊者解L個難度為m的puzzle的平均時間為:

為了用戶可以得到服務,假設當用戶求解難度為m的puzzle時,攻擊者由于消耗的代價過大而放棄攻擊。在此機制中,對用戶必須滿足參與約束與激勵相容約束。用戶的參與約束即用戶的期望效用,不應該為負;用戶的激勵相容約束則是在解相同難度的puzzle時,攻擊者期望的效用為負,因此用戶沒有動機去做攻擊者。所以,合法用戶的約束條件為:

其中,uc為用戶獲得服務后所得到的效用,pc為用戶在m次請求后獲得服務的概率,cc(i)為用戶求解一難度為i的puzzle的代價,ua為攻擊者成功阻止用戶獲得服務時的效用,pa為用戶在m次請求后仍然沒有獲得服務的概率,ca(i)為攻擊者求解難度為i的puzzle時的花費。
設置此防御機制的另一目的是消耗最小的時間和精力成本,即選擇難度最小的puzzle來滿足這些條件,也即求解在參與約束和激勵約束條件下的最小的m值:

進一步化簡成關于m的不等式為:

設a是求解單位難度puzzle的開銷,推導可得:

當m≥m*時,合法用戶的期望效用為正,而攻擊者的期望效用為負,這時合法用戶可以解難度為m*的puzzle以獲得服務。當其余參數值確定的情況下,可推導出m*的精確值,用戶就可以參考m*的值做出自己的決策。
此策略的身份認證中,合法用戶可以根據上述確定參數的結果來選擇自己的策略,以獲得正常的服務,同時也抵御了信息安全風險中攻擊者的攻擊,可以為網絡服務的可用性提供有力保障。另外,此防御機制的制定可以應用到其他攻擊防御模型,同樣設定攻擊者和防御者都追求效用最大化,通過設置參數的難度改變攻擊者的效用問題,使得攻擊者因為效用問題而自動放棄攻擊,進而從根本上解決攻擊者對信息系統的攻擊。
[1] Sagduyu Y,Berry R,Ephremides A.MAC Games for Distributed Wireless Network Security with Incomplete Information of Selfish and Malicious User Types[C].In Proceedings of the IEEE International Conference on Game Theory for Networks (GameNets),2009.
[2] Reidt S,Srivatsa M,Balfe S.The Fable of the Bees:Incentivizing Robust Revocation Decision Making in Ad Hoc Networks[C].In Proceedings of ACM Conference on Computer and Communications Security (CCS),2009.
[3] Zhu Q,Li H,Han Z,et al.A Stochastic Game Model for Jamming in MultiChannel Cognitive Radio Systems[C].In Proceedings of the IEEE International Conference on Communications (ICC),2010.
[4] 石進,陸音,謝立.基于博弈理論的動態入侵響應[J].計算機研究與發展,2008,45(05):747-757.SHI Jin,LU Yin,XIE Li.Dynamic Intrusion Response Based on Game Theory[J].Journal of Computer Research and Development,2008,45(05):747-757.
[5] 姜偉,方濱興,田志宏等.基于攻防博弈模型的網絡安全測評和最優主動防御[J].計算機學報,2009,32(04):817-827.JIANG Wei,FANG Bin-xing,TIAN Zhi-hong,et al.Network Security Evaluation and Optimal Active Defense Based on Offensive and Offensive Game Model[J].Acta Ch Computers,2009,32(04):817-827.