韓文英,李 娟
從根本上看,信息安全風(fēng)險(xiǎn)發(fā)生的根源在于攻擊者對(duì)系統(tǒng)的不斷攻擊。因此,只有抑制其攻擊,才能從根本上消除信息安全風(fēng)險(xiǎn)發(fā)生。然而,信息安全事件的攻守雙方在攻擊過程中的目標(biāo)都是使自己的效用最大化。只是對(duì)于不同類型的攻擊者和防御者,由于其效用函數(shù)不同,攻擊的決策過程和決策結(jié)果自然也不同[1]。因此,單獨(dú)依靠技術(shù)手段并不能完全有效地控制和實(shí)現(xiàn)信息安全,還應(yīng)進(jìn)一步使用博弈論方法,根據(jù)具體的信息安全技術(shù)管理控制措施,建立攻擊者行為與系統(tǒng)防御措施之間的聯(lián)系,并通過攻擊者與防御者之間的依賴關(guān)系推導(dǎo)攻擊者的策略,同時(shí)驗(yàn)證控制策略和協(xié)議的有效性和可行性[2]。
攻擊者和防御者之間的風(fēng)險(xiǎn)控制問題其實(shí)就是防御者作為委托人、攻擊者作為代理人的委托代理問題。解決此類問題時(shí),必須要根據(jù)防御者具體的防御措施,設(shè)計(jì)出相應(yīng)的防御機(jī)制,使攻擊者或因成本過高或因效用降低而放棄進(jìn)攻或無法進(jìn)行正常的進(jìn)攻計(jì)劃,同時(shí)又不影響企業(yè)或用戶對(duì)信息系統(tǒng)的正常使用[3],從而從根本上消除信息安全風(fēng)險(xiǎn)的發(fā)生。
本文的信息安全管理機(jī)制設(shè)計(jì),建立在企業(yè)對(duì)用戶及其他企業(yè)身份認(rèn)證的基礎(chǔ)上,通過身份認(rèn)證中對(duì)于用戶的識(shí)別,改變非法用戶的相關(guān)效用函數(shù),進(jìn)而阻止非法用戶的攻擊。
根據(jù)身份認(rèn)證過程及涉及到的參與方,本次討論將涉及三方:企業(yè)服務(wù)器、合法用戶(即防御者)和攻擊者。
首先,對(duì)于假設(shè)的身份認(rèn)證過程和攻擊發(fā)生后的一些具體情況作以下相關(guān)規(guī)定:
(1)攻擊者無權(quán)也沒有能力去修改合法用戶與服務(wù)器之間傳輸?shù)南嚓P(guān)信息,但攻擊者能簡單破壞這些信息或者因?yàn)槟承┕羰侄味惯@些信息超時(shí)而被丟棄,本文假設(shè)最簡單的攻擊形式;
(2)在有攻擊發(fā)生時(shí),服務(wù)器允許攻擊者通過身份驗(yàn)證而受到破壞,同時(shí)會(huì)拒絕合法用戶正常的身份認(rèn)證請(qǐng)求。
對(duì)于博弈參與方的假設(shè):
(1)假設(shè)每個(gè)處理請(qǐng)求的服務(wù)器有一個(gè)等待隊(duì)列,當(dāng)一個(gè)服務(wù)器提供請(qǐng)求的服務(wù)給用戶時(shí),它能夠從中獲得相應(yīng)的回報(bào);
(2)合法用戶希望能夠進(jìn)入服務(wù)隊(duì)列并獲得服務(wù),用戶請(qǐng)求將會(huì)被分配到服務(wù)器的等待隊(duì)列中,而當(dāng)服務(wù)器滿時(shí),新的服務(wù)請(qǐng)求將會(huì)被拒絕;
(3)攻擊者的目的是為了占據(jù)隊(duì)列中的位置,使正常用戶的信息超時(shí)丟棄,以便阻礙正常用戶與網(wǎng)絡(luò)各節(jié)點(diǎn)之間的正常通信。
博弈過程中,由于服務(wù)器并不了解合法用戶和攻擊者本身,造成博弈過程中的信息具有不對(duì)稱性。這是由于服務(wù)器缺乏關(guān)于用戶和攻擊者足夠的信息,而攻擊者有動(dòng)機(jī)隱藏其惡意意圖,服務(wù)器不了解提交的服務(wù)請(qǐng)求類型。這種情況下,必須建立相應(yīng)的防御機(jī)制,以減小信息不對(duì)稱帶來的不良影響,并幫助用戶正常得到請(qǐng)求的服務(wù),阻止攻擊者對(duì)系統(tǒng)發(fā)起攻擊。要達(dá)此目的,必須設(shè)法區(qū)分合法用戶和攻擊者,或通過效用的區(qū)分和設(shè)計(jì),使攻擊者自動(dòng)放棄攻擊或者達(dá)不到其攻擊目的[4]。
為了達(dá)此目的,仿照Client Puzzle協(xié)議,在服務(wù)器對(duì)用戶身份認(rèn)證前,加進(jìn)一個(gè)產(chǎn)生puzzle的服務(wù)器。用戶要獲得服務(wù)器的身份認(rèn)證請(qǐng)求,必須要解答響應(yīng)的puzzle,進(jìn)而通過設(shè)置puzzle的難度即設(shè)置puzzle的拍賣機(jī)制,達(dá)到上述目的[5]。
設(shè)計(jì)機(jī)制時(shí),假設(shè)服務(wù)器可提供不同難度的puzzle。puzzle的難度越高,對(duì)應(yīng)的服務(wù)優(yōu)先級(jí)越高,求解時(shí)需要消耗的時(shí)間和精力越多。雖然用戶和攻擊者可選擇不同難度的puzzle,但都存在著如何均衡puzzle求解開銷與爭取服務(wù)優(yōu)先級(jí)的問題。而目的和動(dòng)機(jī)的不同,使他們都不會(huì)從對(duì)方角度出發(fā)對(duì)服務(wù)器系統(tǒng)提交請(qǐng)求。通過對(duì)不同均衡的求解,合法用戶和攻擊者可以根據(jù)自己的需求選擇不同的策略。因此,設(shè)計(jì)機(jī)制時(shí),puzzle的難度成為最關(guān)鍵的變量。
根據(jù)設(shè)計(jì),在系統(tǒng)中設(shè)置一個(gè)puzzle控制器來區(qū)分合法用戶和攻擊者。Puzzle控制器包括兩部分:一個(gè)用來產(chǎn)生puzzle和相應(yīng)的答案,另一個(gè)用來驗(yàn)證服務(wù)申請(qǐng)者提交的答案是否有效。當(dāng)服務(wù)器產(chǎn)生和驗(yàn)證一個(gè)puzzle時(shí),不需要與服務(wù)器之間保持?jǐn)?shù)據(jù)通信。用戶求解過程中不能從其他用戶處獲得幫助,所以相同的puzzle可以發(fā)給不同的用戶。
在此防御機(jī)制中,各參與方可根據(jù)效用選擇puzzle難度。通過puzzle的形成機(jī)制和重發(fā)機(jī)制設(shè)計(jì)投標(biāo)策略,合法用戶和攻擊者需要利用最小的資源消耗獲得服務(wù)。具體而言,一個(gè)用戶在發(fā)送第一個(gè)服務(wù)請(qǐng)求時(shí)不需要求解任何puzzle,則可認(rèn)為此事的求解難度為零。如果此時(shí)服務(wù)請(qǐng)求被拒絕,則用戶可在下次重發(fā)時(shí)增加投標(biāo)難度即解題難度。求解puzzle的代價(jià)將隨著puzzle難度的增加而增加。當(dāng)難度為零時(shí),用戶無須付出計(jì)算代價(jià)就可獲得服務(wù);而當(dāng)難度超過用戶能力時(shí),用戶將會(huì)放棄服務(wù)請(qǐng)求。此過程將以用戶成功獲得服務(wù)或者由于計(jì)算代價(jià)超過自身最大的限制Vc而結(jié)束。
當(dāng)一個(gè)服務(wù)請(qǐng)求者向服務(wù)器提交服務(wù)請(qǐng)求時(shí),服務(wù)器將周期發(fā)送隨機(jī)數(shù)Ns,并選擇一個(gè)請(qǐng)求者選擇的m難度的puzzle發(fā)送給服務(wù)請(qǐng)求者。服務(wù)器將周期性地(時(shí)間間隔為Ts)隨機(jī)改變Ns來避免攻擊者使用過去的解答結(jié)果,或提前進(jìn)行解答操作。對(duì)應(yīng)于某一特定Ns的答案,將被服務(wù)節(jié)點(diǎn)存儲(chǔ)起來,以防被重復(fù)使用。
如果服務(wù)請(qǐng)求者是合法用戶,則其在獲得隨機(jī)數(shù)Ns時(shí)產(chǎn)生隨機(jī)數(shù)Nc,并求解出答案X。在接到服務(wù)器信息后,它應(yīng)該滿足哈希函數(shù)h(C,Nc,Ns,X )。其中,C表示用戶的身份信息。如果用戶得出了對(duì)應(yīng)于Ns的正確答案,則可能獲得服務(wù)。用戶身份被包括在哈希函數(shù)的輸入信息中,可防止用戶解完puzzle后去幫助其他用戶計(jì)算求解。另外,用戶在求解同一個(gè)puzzle時(shí),將產(chǎn)生一個(gè)新的Nc,用戶能夠重復(fù)使用Ns。于是,Nc還可防止攻擊者冒充用戶身份求解用戶的puzzle。
此外,當(dāng)發(fā)生下面兩種情況時(shí),用戶可能會(huì)放棄繼續(xù)對(duì)服務(wù)的請(qǐng)求:一是求解的累積花費(fèi)超過可承受的限度Vc;二是當(dāng)申請(qǐng)的累積時(shí)間超過限定的時(shí)間Ts。
Puzzle拍賣機(jī)制最關(guān)鍵是puzzle難度變量的設(shè)計(jì)。設(shè)置怎樣難度的puzzle,才能有效制止攻擊者的攻擊且不妨礙正常用戶使用系統(tǒng)呢?
假設(shè)攻擊者意欲攻擊n個(gè)服務(wù)器,且每個(gè)攻擊者和用戶在解答相同難度的puzzle時(shí)具有相同的執(zhí)行能力。假設(shè)攻擊者求解puzzle的速率為λ,且求解單位難度puzzle的時(shí)t服從指數(shù)分布,其密度函數(shù)如下:
這樣攻擊者總的求解速率為nλ。由于解決puzzle難題需要消耗資源,且難度越大消耗越多,因此假設(shè)用戶由難度0開始投標(biāo),且通常的序列為(0,1,2,…,m)。用戶首先在不解題的情況下申請(qǐng)服務(wù)。如果被拒絕,則其要繼續(xù)投標(biāo)難度為1的puzzle。因此,一個(gè)用戶要投標(biāo)到難度為m的puzzle才能獲得服務(wù)。為了阻止用戶獲得服務(wù),攻擊者必須投標(biāo)L次,并求解難度為m+1的puzzle。攻擊者成功投標(biāo)L次時(shí),將完成的計(jì)算量是問題的重點(diǎn)。Xim是隨機(jī)變量,用來表示在L個(gè)投標(biāo)中的第i個(gè)難度為m的投標(biāo),可表示為X1m,X2m,…,XLm。當(dāng)L很大時(shí),攻擊者解L個(gè)難度為m的puzzle的平均時(shí)間為:
為了用戶可以得到服務(wù),假設(shè)當(dāng)用戶求解難度為m的puzzle時(shí),攻擊者由于消耗的代價(jià)過大而放棄攻擊。在此機(jī)制中,對(duì)用戶必須滿足參與約束與激勵(lì)相容約束。用戶的參與約束即用戶的期望效用,不應(yīng)該為負(fù);用戶的激勵(lì)相容約束則是在解相同難度的puzzle時(shí),攻擊者期望的效用為負(fù),因此用戶沒有動(dòng)機(jī)去做攻擊者。所以,合法用戶的約束條件為:
其中,uc為用戶獲得服務(wù)后所得到的效用,pc為用戶在m次請(qǐng)求后獲得服務(wù)的概率,cc(i)為用戶求解一難度為i的puzzle的代價(jià),ua為攻擊者成功阻止用戶獲得服務(wù)時(shí)的效用,pa為用戶在m次請(qǐng)求后仍然沒有獲得服務(wù)的概率,ca(i)為攻擊者求解難度為i的puzzle時(shí)的花費(fèi)。
設(shè)置此防御機(jī)制的另一目的是消耗最小的時(shí)間和精力成本,即選擇難度最小的puzzle來滿足這些條件,也即求解在參與約束和激勵(lì)約束條件下的最小的m值:
進(jìn)一步化簡成關(guān)于m的不等式為:
設(shè)a是求解單位難度puzzle的開銷,推導(dǎo)可得:
當(dāng)m≥m*時(shí),合法用戶的期望效用為正,而攻擊者的期望效用為負(fù),這時(shí)合法用戶可以解難度為m*的puzzle以獲得服務(wù)。當(dāng)其余參數(shù)值確定的情況下,可推導(dǎo)出m*的精確值,用戶就可以參考m*的值做出自己的決策。
此策略的身份認(rèn)證中,合法用戶可以根據(jù)上述確定參數(shù)的結(jié)果來選擇自己的策略,以獲得正常的服務(wù),同時(shí)也抵御了信息安全風(fēng)險(xiǎn)中攻擊者的攻擊,可以為網(wǎng)絡(luò)服務(wù)的可用性提供有力保障。另外,此防御機(jī)制的制定可以應(yīng)用到其他攻擊防御模型,同樣設(shè)定攻擊者和防御者都追求效用最大化,通過設(shè)置參數(shù)的難度改變攻擊者的效用問題,使得攻擊者因?yàn)樾в脝栴}而自動(dòng)放棄攻擊,進(jìn)而從根本上解決攻擊者對(duì)信息系統(tǒng)的攻擊。
[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ìn),陸音,謝立.基于博弈理論的動(dòng)態(tài)入侵響應(yīng)[J].計(jì)算機(jī)研究與發(fā)展,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] 姜偉,方濱興,田志宏等.基于攻防博弈模型的網(wǎng)絡(luò)安全測(cè)評(píng)和最優(yōu)主動(dòng)防御[J].計(jì)算機(jī)學(xué)報(bào),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.