孫 騫 薛雷琦 高 嶺,3 王 海 王宇翔
1(西北大學(xué)現(xiàn)代教育技術(shù)中心 西安 710127) 2(西北大學(xué)信息科學(xué)與技術(shù)學(xué)院新型網(wǎng)絡(luò)智能信息服務(wù)國(guó)家地方聯(lián)合工程研究中心 西安 710127) 3(西安工程大學(xué)計(jì)算機(jī)科學(xué)學(xué)院新型網(wǎng)絡(luò)智能信息服務(wù)國(guó)家地方聯(lián)合工程研究中心 西安 710600)
互聯(lián)網(wǎng)+時(shí)代給社會(huì)各個(gè)方面帶來(lái)便捷的同時(shí),網(wǎng)絡(luò)安全威脅也隨之而來(lái),各類(lèi)網(wǎng)絡(luò)攻擊也日益增多[1].金融、醫(yī)療、通信以及電力等重要網(wǎng)絡(luò)的規(guī)模較為龐大,網(wǎng)絡(luò)結(jié)構(gòu)復(fù)雜,網(wǎng)絡(luò)節(jié)點(diǎn)數(shù)據(jù)維度和數(shù)量不斷增加[2].近年來(lái),勒索病毒、DDos攻擊、釣魚(yú)郵件、木馬、緩存區(qū)溢出等攻擊依然是當(dāng)前的主要安全攻擊行為.當(dāng)攻擊者利用網(wǎng)絡(luò)漏洞發(fā)動(dòng)以獲取目標(biāo)主機(jī)權(quán)限的攻擊時(shí),防守者必須依據(jù)當(dāng)前網(wǎng)絡(luò)狀態(tài)所暴露出的問(wèn)題快速選擇網(wǎng)絡(luò)防御策略進(jìn)行有效阻擊,這里所說(shuō)的網(wǎng)絡(luò)防御策略是由一系列防御動(dòng)作構(gòu)成的集合,常用的方法有阻斷連接、刪除惡意代碼、漏洞加固、權(quán)限恢復(fù)等.當(dāng)承載大量應(yīng)用服務(wù)的網(wǎng)絡(luò)系統(tǒng)遭受入侵時(shí)如果僅選擇切斷互聯(lián)網(wǎng)接入,那么意味著防守方中斷了所有的業(yè)務(wù),其業(yè)務(wù)損失代價(jià)會(huì)給機(jī)構(gòu)帶來(lái)嚴(yán)重后果,例如游戲、視頻服務(wù),或者云平臺(tái)、集群服務(wù)等.因此,這就需要對(duì)于網(wǎng)絡(luò)攻防過(guò)程進(jìn)行精準(zhǔn)的數(shù)據(jù)分析,并得出防護(hù)代價(jià)最小、防御效果最好的安全策略[3],使得在有限防御條件下盡量保障業(yè)務(wù)的連續(xù)性和可靠性.網(wǎng)絡(luò)攻擊與防御均存在一定的成本代價(jià),也有相應(yīng)的收益,雙方在有限資源條件約束下,通過(guò)攻防過(guò)程的成本收益計(jì)算得出最優(yōu)的防御策[4].博弈論的目標(biāo)對(duì)立性、策略依存性等特點(diǎn)與網(wǎng)絡(luò)攻防的特點(diǎn)高度契合[5].國(guó)內(nèi)外基于博弈論的網(wǎng)絡(luò)攻防研究已經(jīng)取得了一定的成果,有研究者引入隨機(jī)博弈解決此類(lèi)問(wèn)題.隨機(jī)博弈不僅將傳統(tǒng)博弈的單狀態(tài)擴(kuò)展到了多狀態(tài),而且對(duì)于網(wǎng)絡(luò)攻防的隨機(jī)性也做出了更合理的解釋.但仍存在前置條件偏離實(shí)際、攻防代價(jià)模型缺乏現(xiàn)實(shí)參數(shù)不足等問(wèn)題,使得防御策略的實(shí)用價(jià)值降低.
現(xiàn)有的隨機(jī)博弈大多都是以完全理性博弈為條件[6],完全理性包括分析推理能力、識(shí)別判斷能力、記憶能力和準(zhǔn)確行為能力等多方面的完美性要求,每次所選取的防御策略均為均衡策略,而在實(shí)際網(wǎng)絡(luò)攻防中,攻防雙方并不一定會(huì)選取均衡策略,雙方的信息不對(duì)稱(chēng),并且對(duì)抗的復(fù)雜度也在動(dòng)態(tài)變化,基本很難達(dá)到每次策略的理性.網(wǎng)絡(luò)環(huán)境的復(fù)雜性致使實(shí)際情況下隨機(jī)博弈的狀態(tài)轉(zhuǎn)移概率無(wú)法確定,導(dǎo)致現(xiàn)有的方法得到的最優(yōu)策略很難運(yùn)用到實(shí)際的網(wǎng)絡(luò)防御中去.張恒巍等人[7]從動(dòng)態(tài)對(duì)抗的角度提出攻防信號(hào)博弈模型,將攻防雙方分別看作信號(hào)的接受方與發(fā)送方,并對(duì)于求解提出了精煉貝葉斯進(jìn)行均衡求解的方法.姜偉等人[8]提出一種攻防隨機(jī)博弈模型,該模型針對(duì)網(wǎng)絡(luò)攻防矛盾進(jìn)行了描述,并且可以對(duì)攻擊行為進(jìn)行預(yù)測(cè)從而選取最適合的防御策略.林旺群等人[3]針對(duì)靜態(tài)博弈無(wú)法應(yīng)對(duì)攻擊者攻擊意圖和攻擊策略動(dòng)態(tài)變化的不足,提出完全信息動(dòng)態(tài)博弈主動(dòng)防御模型,從子博弈精煉Nash均衡解.White等人[9]基于完全信息博弈對(duì)網(wǎng)絡(luò)攻防進(jìn)行了分析,并得出最優(yōu)防御策略.王元卓等人[2]提出了基于隨機(jī)博弈模型的網(wǎng)絡(luò)攻防實(shí)驗(yàn)整體架構(gòu),對(duì)典型的企業(yè)網(wǎng)絡(luò)進(jìn)行分析.上述研究的前提條件為完全理性,而現(xiàn)實(shí)中的網(wǎng)絡(luò)攻防由于完全理性條件的完美性很難符合,導(dǎo)致以上文獻(xiàn)的分析方法在現(xiàn)實(shí)中會(huì)有偏差,使得防守方所得到的防御策略不一定是代價(jià)最小的防御策略,沒(méi)有很好地為防守方降低成本.
近年來(lái)也有將有限理性引入攻防的博弈研究中,有限理性的運(yùn)用主要在演化博弈當(dāng)中[10],在攻防博弈中進(jìn)行學(xué)習(xí),從而學(xué)習(xí)到最優(yōu)的防御策略以使防御效益最大化.楊峻楠等人[11]將WoLF-PHC方法引入到隨機(jī)博弈中去,并引入了資格跡以提高在線(xiàn)學(xué)習(xí)速率.但是,資格跡的引入?yún)s帶來(lái)了附加的內(nèi)存和運(yùn)算的開(kāi)銷(xiāo).張紅旗等人[12]在隨機(jī)博弈中應(yīng)用了Q-learning方法,設(shè)計(jì)了防御決策方法,所提方法具有在線(xiàn)學(xué)習(xí)的功能,但模型對(duì)于攻防雙方的信息收集程度要求較高,實(shí)際中很難做到.黃健明等人[13]通過(guò)引入激勵(lì)系數(shù)構(gòu)建演化博弈模型,以群體為研究對(duì)象,采用生物進(jìn)化機(jī)制,但該演化博弈中局中人的信息交換過(guò)多,而結(jié)果以群體為對(duì)象,無(wú)法給出個(gè)體成員的防御策略.
禁忌搜索方法是一種亞啟發(fā)式隨機(jī)搜索方法[14],利用在搜索中通過(guò)禁忌表的作用實(shí)現(xiàn)“記憶”功能,使得局中人可以通過(guò)這種功能進(jìn)行“經(jīng)驗(yàn)學(xué)習(xí)”,固定長(zhǎng)度的禁忌表在“記憶”的同時(shí)不會(huì)消耗額外內(nèi)存,減少了空間復(fù)雜度,提高了計(jì)算效率.
本文在有限理性的假設(shè)條件下,對(duì)攻防隨機(jī)博弈決策進(jìn)行研究,在攻防收益量化過(guò)程中,同時(shí)考慮了懲罰因子與攻擊成功率2個(gè)因素,使得攻防收益量化更為精確;從時(shí)間片的角度考慮攻防狀態(tài)轉(zhuǎn)換過(guò)程的信息與行動(dòng)順序,使得攻防過(guò)程更加貼切實(shí)際攻防過(guò)程;引入禁忌搜索方法以“經(jīng)驗(yàn)學(xué)習(xí)”的方式對(duì)本文所提模型進(jìn)行分析并設(shè)計(jì)防御策略選取方法,更好地指導(dǎo)防守方進(jìn)行防御策略選取,并通過(guò)實(shí)驗(yàn)驗(yàn)證了本文方法的有效性.
實(shí)際網(wǎng)絡(luò)攻防面臨的情況比較復(fù)雜[15],但是有一點(diǎn)是不變的,攻防雙方都追求利益最大化,防御者對(duì)于狀態(tài)轉(zhuǎn)移中的概率不確定導(dǎo)致策略選取的不確定性[16],本文從時(shí)間片的角度考慮攻防狀態(tài)轉(zhuǎn)換的過(guò)程,分析攻防過(guò)程可以將其離散化為一系列時(shí)間片.如圖1所示,一個(gè)狀態(tài)就是一個(gè)時(shí)間片,由于有限理性的條件攻防雙方獲取不到先驗(yàn)知識(shí),所以只能通過(guò)檢測(cè)網(wǎng)絡(luò)來(lái)觀察對(duì)方的行動(dòng),在某一時(shí)間片T攻防雙方通過(guò)檢測(cè)網(wǎng)絡(luò)觀察對(duì)方的行動(dòng),至少在時(shí)間片T+1上攻防雙方會(huì)采取相應(yīng)的行動(dòng),雖然攻防雙方采取行動(dòng)可能不是在同一時(shí)刻,但是由于攻防雙方在采取動(dòng)作時(shí)不知道對(duì)方所采取的動(dòng)作,此時(shí)默認(rèn)為是同時(shí)進(jìn)行,這里的同時(shí)是一個(gè)信息概念而非時(shí)間概念,為了方便理解本文用時(shí)間片來(lái)進(jìn)行解釋.
Fig. 1 Attack-defense process圖1 攻防過(guò)程
實(shí)際網(wǎng)絡(luò)攻防中,狀態(tài)轉(zhuǎn)移概率難以確定,對(duì)于某一網(wǎng)絡(luò)狀態(tài),主要是與前一網(wǎng)絡(luò)狀態(tài)有關(guān),但是對(duì)于有限理性的前提條件,本文將狀態(tài)轉(zhuǎn)移概率設(shè)為攻防雙方的未知信息進(jìn)行分析,最終獲取最優(yōu)防御策略.基于此給出如下模型定義.
定義1.禁忌隨機(jī)博弈模型(Tabu stochastic game model,T-SGM).用一個(gè)六元組表示為T(mén)-SGM=(N,S,D,T,π),具體含義為:
1)N={Attacker,Defender}為博弈參與人,分別表示防守方與攻擊方;
2)S={S1,S2,…,Sn}為博弈狀態(tài)集合;
3)D={D1,D2,…,Dn}為防守方的動(dòng)作集合,其中D1={d1,d2,…,dl}指防守方在狀態(tài)S1的動(dòng)作集合;
4)Len_T=L為禁忌表長(zhǎng)度;
6)Ud(Si)為防守方在狀態(tài)Si下的收益函數(shù).
本文從時(shí)間片的角度考慮網(wǎng)絡(luò)攻防過(guò)程,每個(gè)時(shí)間片是一個(gè)網(wǎng)絡(luò)安全狀態(tài),并將其作為博弈狀態(tài)集合.某時(shí)刻T網(wǎng)絡(luò)安全狀態(tài)反映的是當(dāng)前時(shí)刻T網(wǎng)絡(luò)的脆弱性信息、節(jié)點(diǎn)服務(wù)信息、節(jié)點(diǎn)訪(fǎng)問(wèn)權(quán)限等.而攻防雙方采取的動(dòng)作會(huì)影響這些信息的改變,進(jìn)而使得網(wǎng)絡(luò)安全狀態(tài)發(fā)生轉(zhuǎn)變.依據(jù)圖1的攻防過(guò)程可以將攻防博弈狀態(tài)用如圖2所示的有向圖G=(S,E)來(lái)表示,其中S表示攻防過(guò)程中的博弈狀態(tài)集合,E表示攻防狀態(tài)轉(zhuǎn)換關(guān)系且用有向邊來(lái)表示.圖2中S={S1,S2,S3}表示博弈過(guò)程的3個(gè)狀態(tài),這3個(gè)狀態(tài)可以轉(zhuǎn)換.在實(shí)際的網(wǎng)絡(luò)環(huán)境中,每個(gè)狀態(tài)之間不一定可以轉(zhuǎn)換,導(dǎo)致?tīng)顟B(tài)的難以確定,因此本文對(duì)于狀態(tài)的考慮是從時(shí)間片去考慮每個(gè)狀態(tài)相對(duì)于彼此都是獨(dú)立的,這是因?yàn)闀r(shí)間片不同的關(guān)系導(dǎo)致其狀態(tài)的不同,這樣對(duì)于狀態(tài)的考慮就可以對(duì)于每個(gè)時(shí)間片的狀態(tài)進(jìn)行最優(yōu)策略選取,使得防御效益最大化.
Fig. 2 State graph of stochastic game圖2 隨機(jī)博弈狀態(tài)圖
網(wǎng)絡(luò)中安全屬性的損害包括完整性代價(jià)IC、機(jī)密性代價(jià)CC、可用性代價(jià)UC,分別用PIC,PCC,PUC表示安全屬性的損害對(duì)每一種屬性代價(jià)的偏重.在參考文獻(xiàn)[8,17]的基礎(chǔ)上做出如下收益量化.
定義2.攻擊成功率.攻擊方采取相應(yīng)的攻擊動(dòng)作的成功率,當(dāng)攻擊一定成功時(shí)σ=1,當(dāng)攻擊無(wú)效時(shí)σ=0,其他情況為0<σ<1.
定義3.損失代價(jià).攻擊者采取相應(yīng)攻擊動(dòng)作造成的系統(tǒng)損失代價(jià)可以表示為
Dcosta=σ×AL×HC×(PIC×IC+
PCC×CC+PUC×UC),
(1)
其中,下標(biāo)a指攻擊(attack)動(dòng)作,AL指攻擊動(dòng)作對(duì)應(yīng)的攻擊危害度,HC指主機(jī)價(jià)值度,σ指攻擊動(dòng)作的成功率.
定義4.防御成本(DC).防守方采取相應(yīng)的防御動(dòng)作所需付出的代價(jià),即防御的操作代價(jià)與負(fù)面代價(jià)之和,可以表示為
DCd=Ocost+Ncost,
(2)
其中,Ocost為防御動(dòng)作的操作代價(jià),具體以實(shí)際采取防御動(dòng)作所需要的代價(jià)確定;Ncost為防御動(dòng)作的負(fù)面代價(jià),具體以采取的防御動(dòng)作對(duì)系統(tǒng)所造成的負(fù)面影響確定.
定義5.攻擊成本(AC).攻擊方采取攻擊動(dòng)作所需付出的代價(jià),即操作代價(jià)與負(fù)面代價(jià)之和,表示為
ACa=Ocosta+PC,
(3)
這里Ocosta表示攻擊動(dòng)作的操作代價(jià),實(shí)際中以攻擊方所采取的攻擊動(dòng)作所需付出代價(jià)確定,此處列出為便于讀者理解,并不作為模型輸入;PC指攻擊動(dòng)作的負(fù)面代價(jià),也可以說(shuō)是懲罰代價(jià),參考文獻(xiàn)[16]中的PC等于懲罰因子f與攻擊危害度AL之積,即:
PC=f×AL.
(4)
定義6.防御效益(DR).防守方采取相應(yīng)的防御策略后所獲得的收益,表示為
DR=Dcosta-DCd,
(5)
這里Dcosta指在攻擊(attack)動(dòng)作的作用下系統(tǒng)的損失代價(jià),DCd則指防守方采取防御(defend)動(dòng)作的防御成本.
本節(jié)在有限博弈中引入禁忌搜索方法,在攻防過(guò)程中基于T-SGM模型采用禁忌搜索方法對(duì)防御策略進(jìn)行選取使得防御效益最大化.
現(xiàn)如今禁忌搜索方法應(yīng)用居多的領(lǐng)域?yàn)榻M合優(yōu)化[18].通過(guò)對(duì)禁忌搜索的思想與操作的理解,本文將禁忌搜索方法引入到隨機(jī)博弈問(wèn)題中解決防御策略選取問(wèn)題.禁忌搜索方法與爬山方法最大的不同是禁忌搜索方法是一種動(dòng)態(tài)鄰域搜索方法[18].禁忌搜索方法收斂性的確定性使得策略選取對(duì)于方法收斂性的要求得到滿(mǎn)足[19].
禁忌搜索方法主要通過(guò)禁忌表對(duì)當(dāng)前最優(yōu)策略進(jìn)行記憶,達(dá)到“經(jīng)驗(yàn)”學(xué)習(xí)的目的.這里所說(shuō)的“經(jīng)驗(yàn)”學(xué)習(xí),是對(duì)禁忌搜索方法的一種個(gè)人理解,禁忌搜索方法中采用了一種靈活的“記憶”技術(shù),對(duì)已經(jīng)進(jìn)行的優(yōu)化過(guò)程進(jìn)行記錄和選擇,指導(dǎo)下一步的搜索方向[14].這一過(guò)程類(lèi)似于人類(lèi)的“經(jīng)驗(yàn)”學(xué)習(xí),在尋找過(guò)程中一個(gè)位置找過(guò),就會(huì)形成記憶,下次就不會(huì)再找,有類(lèi)似經(jīng)驗(yàn)記憶在其中,因此本文將其理解為“經(jīng)驗(yàn)”學(xué)習(xí).禁忌搜索方法的關(guān)鍵要素主要有初始解和適配值函數(shù)、鄰域和移動(dòng)、禁忌表及其長(zhǎng)度以及終止條件[20].
1) 初始解的獲取
禁忌搜索方法需要一個(gè)初始解以便與不同的解作比較,以獲取目前最優(yōu)解作為下次迭代的初始解.相對(duì)于本文來(lái)說(shuō)也就是不同的防御策略,而在實(shí)際的網(wǎng)絡(luò)攻防中,一開(kāi)始防御方幾乎無(wú)先驗(yàn)知識(shí),所以本文將隨機(jī)的防御策略作為初始防御策略,即初始解.
2) 鄰域和移動(dòng)
移動(dòng)是從當(dāng)前解產(chǎn)生新解的途徑,在本文中就是對(duì)一個(gè)初始解開(kāi)始產(chǎn)生一個(gè)新的初始解的過(guò)程.領(lǐng)域則是從當(dāng)前解可以進(jìn)行的所有移動(dòng),即從當(dāng)前解經(jīng)過(guò)一次移動(dòng)所產(chǎn)生的所有解.
3) 禁忌表及禁忌長(zhǎng)度
禁忌表是存放禁忌對(duì)象的一個(gè)容器,模擬了人類(lèi)的記憶機(jī)制,主要目的是阻止搜索過(guò)程中出現(xiàn)循環(huán)并且避免陷入局部最優(yōu).而禁忌表的長(zhǎng)度對(duì)方法的計(jì)算量以及存儲(chǔ)量都有影響:如果禁忌表長(zhǎng)度過(guò)長(zhǎng)會(huì)限制搜索區(qū)域,并且會(huì)增加運(yùn)算時(shí)間;如果禁忌表長(zhǎng)度過(guò)短,搜索過(guò)程就可能陷入死循環(huán).因此禁忌表長(zhǎng)度的選擇顯得尤為重要,本文對(duì)于禁忌長(zhǎng)度的值的確定是通過(guò)實(shí)驗(yàn)仿真討論確定的.
4) 終止條件
禁忌搜索方法需要一個(gè)終止準(zhǔn)則來(lái)結(jié)束方法的搜索進(jìn)程,參考文獻(xiàn)[14]設(shè)定固定的迭代步數(shù)為終止準(zhǔn)則為最常用的方法,因此本文也采用這種方法.在通過(guò)實(shí)驗(yàn)確定禁忌表長(zhǎng)度時(shí),會(huì)得到每次達(dá)到最優(yōu)時(shí)的迭代步數(shù),而禁忌搜索方法由于禁忌表的存在如果達(dá)到最優(yōu)時(shí)會(huì)收斂,而本文中所取的迭代次數(shù)總會(huì)遠(yuǎn)大于達(dá)到最優(yōu)時(shí)的迭代次數(shù),不會(huì)出現(xiàn)未收斂就強(qiáng)行中斷的結(jié)果,在保證方法有效性的前提下體現(xiàn)了收斂性.
5) 適配值函數(shù)
禁忌方法中需要一個(gè)目標(biāo)函數(shù)來(lái)對(duì)初始解進(jìn)行評(píng)價(jià).本文通過(guò)計(jì)算每一個(gè)防御策略的防御效益對(duì)防御策略的好壞進(jìn)行評(píng)價(jià).本文將式(5)定為本文的適配值函數(shù).基于此給出具體防御策略選取方法.
算法1的行①是對(duì)模型本身、整個(gè)模型的迭代次數(shù)以及禁忌表的初始化;行②是從博弈狀態(tài)圖中獲取當(dāng)前時(shí)間片的網(wǎng)絡(luò)狀態(tài);行③~是對(duì)當(dāng)前狀態(tài)防御策略進(jìn)行“經(jīng)驗(yàn)”學(xué)習(xí)的過(guò)程以獲得最優(yōu)防御策略,其中行⑤~⑧是對(duì)每一條防御策略進(jìn)行鄰域交換尋得該條策略的最佳組合方式,⑨~是對(duì)禁忌表中策略的判斷并將優(yōu)選策略添加到禁忌表,并淘汰掉效益低的防御策略.
Fig. 3 Experimental network topology圖3 實(shí)驗(yàn)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)
禁忌搜索方法為了避免陷入局部最優(yōu)解,采用了一種靈活的“記憶”技術(shù)即禁忌表來(lái)對(duì)目前最優(yōu)的解進(jìn)行記錄和選擇,并指導(dǎo)下一步的搜索方向是一種全局逐步尋優(yōu)方法[14].因此,禁忌搜索不會(huì)陷入局部最優(yōu).在本文所提禁忌搜索中,最終所得到的策略即是全局搜索的最優(yōu)均衡策略,因?yàn)槊看螌⑺貌呗酝杀碇刑砑訒r(shí)都會(huì)將現(xiàn)在策略與禁忌表中的策略進(jìn)行比較,使得禁忌表中的策略永遠(yuǎn)是“best so far”狀態(tài),然后只需在禁忌表中選取最優(yōu)的策略即可獲取最優(yōu)均衡策略,并且禁忌搜索方法的引入會(huì)使得對(duì)博弈求均衡解變得更加便捷.
本文的實(shí)驗(yàn)環(huán)境為如圖3所示的典型業(yè)務(wù)網(wǎng)絡(luò)系統(tǒng),攻擊方處于外部網(wǎng)絡(luò),攻擊與防御事件在內(nèi)部網(wǎng)絡(luò)發(fā)生,防火墻的設(shè)置導(dǎo)致普通用戶(hù)只能訪(fǎng)問(wèn)Web Server,而Web Server可以訪(fǎng)問(wèn)Database Server與Smtp Server,實(shí)驗(yàn)網(wǎng)絡(luò)的脆弱點(diǎn)信息如表1所示:
Table 1 Network Vulnerability Information
針對(duì)網(wǎng)絡(luò)脆弱點(diǎn)信息可列出如表2所示的攻擊動(dòng)作的成功率,攻擊危害度以及相對(duì)應(yīng)的懲罰因子,此處的攻擊動(dòng)作的成功率根據(jù)歷史攻擊數(shù)據(jù)、專(zhuān)家知識(shí)所給出.歷史攻擊數(shù)據(jù)參考美國(guó)麻省理工學(xué)院的攻防數(shù)據(jù)庫(kù)以及國(guó)家安全信息漏洞庫(kù)(CNNVD),專(zhuān)家知識(shí)主要參考文獻(xiàn)[8]以及該方向相關(guān)文獻(xiàn).
Table 2 Description of Attack Action Related Values
網(wǎng)絡(luò)狀態(tài)轉(zhuǎn)移實(shí)際上是由攻擊者的攻擊動(dòng)作導(dǎo)致,攻擊者利用系統(tǒng)弱點(diǎn)實(shí)施攻擊動(dòng)作從而獲取系統(tǒng)的權(quán)限,所以對(duì)于每個(gè)網(wǎng)絡(luò)攻擊者所擁有的權(quán)限是不同的,也就是說(shuō)攻擊者通過(guò)不斷地獲取權(quán)限導(dǎo)致網(wǎng)絡(luò)狀態(tài)發(fā)生變化,此時(shí)攻擊者在不同時(shí)間片所擁有不同權(quán)限的網(wǎng)絡(luò)狀態(tài)就是攻防博弈的網(wǎng)絡(luò)狀態(tài)集.
如果網(wǎng)絡(luò)遇到入侵時(shí)選擇切斷網(wǎng)絡(luò),那么意味著防守方的網(wǎng)絡(luò)切斷了所有的業(yè)務(wù)來(lái)往,這樣會(huì)使得防守方所需付出代價(jià)最大化,鑒于本文最優(yōu)防御策略的選取,對(duì)這種情況不予考慮.本文對(duì)于網(wǎng)絡(luò)狀態(tài)的考慮是從時(shí)間片來(lái)考慮的,網(wǎng)絡(luò)環(huán)境復(fù)雜導(dǎo)致其網(wǎng)絡(luò)狀態(tài)的不確定性,把每個(gè)網(wǎng)絡(luò)狀態(tài)看作時(shí)間片便可得到如圖4所示的攻防隨機(jī)博弈狀態(tài)圖.在狀態(tài)S1,攻擊者在主機(jī)上擁有root權(quán)限,此時(shí)攻擊者利用系統(tǒng)脆弱信息1(a1)獲取到Web Server的user權(quán)限到達(dá)狀態(tài)S2,攻擊者也可以直接利用系統(tǒng)脆弱信息2(a2)獲取到Web Server的root權(quán)限到達(dá)狀態(tài)S3,在狀態(tài)S2攻擊者可以利用脆弱信息3(a3)獲取Web Server的root權(quán)限到達(dá)狀態(tài)S3,此時(shí)攻擊者可以借Web Server的root權(quán)限利用脆弱信息4,5,6(a4,a5,a6)獲取Smtp Server的root權(quán)限、Database Server的root權(quán)限、Database Server的user權(quán)限到達(dá)狀態(tài)S4,S5,S6,到達(dá)狀態(tài)S4后攻擊者可以利用Database Server上所存在的脆弱信息8(a8)獲取到該服務(wù)器上的root權(quán)限到達(dá)狀態(tài)S6,在狀態(tài)S5攻擊者還可以利用Database Server上所存在的脆弱信息7(a7)獲取到該服務(wù)器的root權(quán)限到達(dá)狀態(tài)S6.可知,本文的博弈狀態(tài)集合為S={S1,S2,S3,S4,S5,S6}.
Fig. 4 State chart of attack-defense stochastic game圖4 攻防隨機(jī)博弈狀態(tài)圖
1)N={attacker,Defender}為博弈的參與者,分別指網(wǎng)絡(luò)攻擊的防守方與攻擊方.
2) 由3.2節(jié)可知本文的博弈狀態(tài)集合為S={S1,S2,S3,S4,S5,S6}.
Table 3 Defense Action Description
4) 表4是對(duì)不同的禁忌表長(zhǎng)度進(jìn)行實(shí)驗(yàn)之后記錄的達(dá)到結(jié)果最優(yōu)時(shí)的迭代步數(shù),并對(duì)一個(gè)禁忌表長(zhǎng)度下的8次記錄求平均值.從表4中可以看出,禁忌表長(zhǎng)度為10時(shí)收斂較快,因此本文取Len_T=10,將禁忌表的長(zhǎng)度設(shè)為10.
Table 4 Length of Tabu and Corresponding Table of Iteration
6) 將防守方的效益值的初始值設(shè)為0,在攻防過(guò)程中進(jìn)行更新.
實(shí)際攻防中攻擊者的攻擊主要以獲取服務(wù)器權(quán)限為主,此時(shí)服務(wù)器的機(jī)密性、安全性以及可用性就會(huì)受到損害,在不同的實(shí)際場(chǎng)景中對(duì)于機(jī)密性、安全性以及可用性的安全要求各有不同,其偏重也不相同,因此設(shè)置也有所差異.在文獻(xiàn)[8]中,作者將三者偏重設(shè)為相同,本文根據(jù)實(shí)驗(yàn)環(huán)境的特征對(duì)相關(guān)參數(shù)進(jìn)行了設(shè)置.因此,在本文的實(shí)驗(yàn)中我們將服務(wù)器的安全屬性代價(jià)值假設(shè)為IC=40,CC=30,UC=30,將屬性代價(jià)偏重假設(shè)為PIC=0.4,PCC=0.3,PUC=0.3.
通過(guò)實(shí)驗(yàn)得出最優(yōu)策略以及對(duì)應(yīng)的防御效益值,并將所得結(jié)果與經(jīng)典的防御策略選取方法進(jìn)行比較,以驗(yàn)證本文方法的先進(jìn)性.對(duì)圖4分析可以得到整個(gè)博弈過(guò)程中狀態(tài)S3的博弈狀態(tài)最為復(fù)雜,所以本實(shí)驗(yàn)對(duì)該狀態(tài)進(jìn)行分析,對(duì)其余的博弈狀態(tài)的分析方式均與該狀態(tài)的分析方式相同.
在本節(jié)中首先將本文所提方法收斂性與文獻(xiàn)[8,11,13]作比較,驗(yàn)證本文方法的收斂性的優(yōu)劣,結(jié)果如圖5~7所示.之后就防御效益將本文方法與隨機(jī)博弈中的文獻(xiàn)[8,11]以及演化博弈中的文獻(xiàn)[13]的方法作對(duì)比,驗(yàn)證本文所提方法的先進(jìn)性.
Fig. 5 Comparison of convergence with the method in ref [8]圖5 與文獻(xiàn)[8]方法收斂性對(duì)比
Fig. 6 Comparison of convergence with the method in ref [11]圖6 與文獻(xiàn)[11]方法收斂性對(duì)比
Fig. 7 Comparison of convergence with the method in ref [13] 圖7 與文獻(xiàn)[13]方法收斂性對(duì)比
圖5~7中橫坐標(biāo)均為實(shí)驗(yàn)迭代次數(shù),縱坐標(biāo)為采取防御動(dòng)作的概率,圖中實(shí)線(xiàn)均為本文方法,虛線(xiàn)為對(duì)比方法.從3個(gè)圖中可以看出,本文方法的收斂性能最好,本文方法在迭代423次時(shí)就已經(jīng)收斂,而文獻(xiàn)[8]方法經(jīng)過(guò)1 289次迭代時(shí)才會(huì)收斂,文獻(xiàn)[11]方法達(dá)到收斂則是在897次,文獻(xiàn)[13]方法經(jīng)過(guò)1 887次迭代收斂,因此就收斂性而言本文方法收斂最快.
采取本文方法所得到的防御策略如圖8所示,其中橫坐標(biāo)指實(shí)驗(yàn)次數(shù),縱坐標(biāo)采取防御動(dòng)作的概率.可以看出本文方法的收益曲線(xiàn)的收斂速度較快,這正是由于禁忌表達(dá)到的“經(jīng)驗(yàn)”學(xué)習(xí)的功能,使得后一條策略的收益值永遠(yuǎn)大于前一條策略,也就使得本文的策略變化曲線(xiàn)不會(huì)上下波動(dòng)而是梯度上升,可以看出本文方法本質(zhì)上是一種爬山方法的擴(kuò)展,相對(duì)于爬山方法跳出了局部搜索可以獲取全局最優(yōu),具有區(qū)別于一般性爬山方法的全局性弱等特征.
采取文獻(xiàn)[8]方法所得的防御策略為(P(d3)=0,P(d5)=0.8,P(d6)=0,P(d7)=0.2,P(d11)=0),采取文獻(xiàn)[11]方法所得的防御策略為(P(d3)=0,P(d5)=0.9,P(d6)=0,P(d7)=0.1,P(d11)=0),采取文獻(xiàn)[13]方法演化穩(wěn)定均衡后的防御策略為(P(d3)=0,P(d5)=0.8,P(d6)=0,P(d7)=0.2,P(d11)=0),本文對(duì)所比較方法的每1 000次收益進(jìn)行求平均,并對(duì)所求平均進(jìn)行數(shù)據(jù)可視化得到如圖9所示的平均效益變化.這里需要說(shuō)明,防御操作是應(yīng)對(duì)攻擊操作的,無(wú)論防御是否能減少或避免防守方的損失,防御動(dòng)作自身首先是需要付出代價(jià)的,因此防御效益值一般均應(yīng)為負(fù)值.
Fig. 8 Defense decision of our method圖8 本文方法的防御決策
Fig. 9 Comparison of piecewise average defense benefits圖9 分段平均防御效益變化對(duì)比
圖9中橫坐標(biāo)指實(shí)驗(yàn)次數(shù),縱坐標(biāo)防御收益,本文的實(shí)驗(yàn)與3個(gè)文獻(xiàn)中的方法做了對(duì)比.本文的平均效益值與文獻(xiàn)[8]方法的平均效益差距明顯,文獻(xiàn)[8]方法對(duì)于策略的選取始終是選擇納什均衡策略,然而當(dāng)前提條件為實(shí)際情況中的有限理性時(shí)攻擊方基本不會(huì)采取納什均衡策略,此時(shí)該方法所得的效益比較低.相比較文獻(xiàn)[11]方法,本文方法所獲得的收益有高有低,但大多數(shù)情況下本文方法所獲得的效益比較高,而且本文方法的空間復(fù)雜度在相對(duì)于文獻(xiàn)[11]所提方法來(lái)說(shuō)更低.文獻(xiàn)[13]方法雖然考慮了學(xué)習(xí)因素,但是由于所需參數(shù)很難準(zhǔn)確量化,導(dǎo)致最終結(jié)果與實(shí)際存在偏差.可以看出代表本文方法的曲線(xiàn)的收益值基本都大于其他3種方法,本文對(duì)于禁忌表的使用不僅在收益值上獲得了提高,而且對(duì)于方法本身的工作量也得到了降低,對(duì)于防御效益較低的策略,禁忌表會(huì)拒絕加入,進(jìn)而不用進(jìn)行后面的工作,直接對(duì)更新的策略進(jìn)行攻防預(yù)演.
本文對(duì)整個(gè)實(shí)驗(yàn)過(guò)程的防御效益值求平均與文獻(xiàn)[8,11,13]方法做對(duì)比,并對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行數(shù)據(jù)可視化結(jié)果如圖10所示:
Fig. 10 Comparison of cumulative average defense benefits圖10 累計(jì)平均防御效益變化對(duì)比
圖10中橫坐標(biāo)指實(shí)驗(yàn)次數(shù),縱坐標(biāo)指防御效益,可以看出文獻(xiàn)[13]方法的收益要低于其他3種方法,本文方法在前1 000次防御的平均收益要高于文獻(xiàn)[8,11]方法,之后與它們的收益基本相同.在防御方還未學(xué)習(xí)到均衡策略時(shí)本文方法高于其他2個(gè)文獻(xiàn)的方法;當(dāng)防御方學(xué)習(xí)到均衡策略時(shí)本文的方法與其他2個(gè)文獻(xiàn)的方法基本持平.
表5中文獻(xiàn)[8,11]方法的時(shí)間復(fù)雜度均通過(guò)其文獻(xiàn)中所列方法進(jìn)行分析所得,文獻(xiàn)[13]方法是根據(jù)公式進(jìn)行的演化博弈并沒(méi)有給出偽代碼,但依據(jù)其公式及過(guò)程可知其時(shí)間復(fù)雜度也是O(n2)數(shù)量級(jí)的.文獻(xiàn)[8,13]中并未對(duì)方法的空間復(fù)雜度進(jìn)行相關(guān)說(shuō)明,具體復(fù)雜度并不清楚,主要占據(jù)空間的因素為防御策略、防御效益,相對(duì)于文獻(xiàn)[11]方法的立即回報(bào)、資格跡、防御策略、當(dāng)前防御策略以及防御效益明顯要小,相對(duì)于本文的禁忌表、防御策略、防御收益也明顯要小.文獻(xiàn)[11]方法的空間復(fù)雜度在其文中列出,平均運(yùn)行時(shí)間是將本文與對(duì)比文獻(xiàn)進(jìn)行10 000次防御決策求其20次平均值所得.從表5中可以看出,本文相對(duì)于文獻(xiàn)[11]方法更節(jié)省空間,而且運(yùn)行時(shí)間也稍快一些,文獻(xiàn)[8,13]方法雖然在時(shí)間上快一些,但是其方法的收斂性以及最終防御策略并沒(méi)有本文好.綜上,本文方法更適合進(jìn)行防御策略選取.
Table 5 Analysis of the Efficiency of Reference Resources
本節(jié)將本文模型與一些經(jīng)典的模型進(jìn)行綜合對(duì)比,對(duì)比結(jié)果如表6所示:
Table 6 Comprehensive Comparison of Typical Models
文獻(xiàn)[4-5,7-8]所提方法的假設(shè)前提均為完全理性,然而在實(shí)際情況中很難會(huì)出現(xiàn)均衡情況,以此來(lái)對(duì)實(shí)際網(wǎng)絡(luò)攻防的防御策略進(jìn)行抉擇不太理想.文獻(xiàn)[11,13]和本文方法以有限理性為前提,更符合實(shí)際情況,能更好地指導(dǎo)防守方選取最優(yōu)防御策略.文獻(xiàn)[11]的方法引入了資格跡,能很好地指導(dǎo)個(gè)體進(jìn)行實(shí)時(shí)決策,根據(jù)系統(tǒng)的反饋進(jìn)行學(xué)習(xí),加快了學(xué)習(xí)速率的同時(shí)增加了內(nèi)存和運(yùn)算的消耗.文獻(xiàn)[13]方法對(duì)群體的演化進(jìn)行研究,對(duì)群體成員的策略進(jìn)行調(diào)整,不能很好地指導(dǎo)個(gè)體進(jìn)行防御策略選取.根據(jù)3.4節(jié)中最終收斂所得到的策略可以計(jì)算得到相應(yīng)的防御效益值,具體為:文獻(xiàn)[8]方法收斂時(shí)的防御效益值為-2 114,文獻(xiàn)[11]方法收斂時(shí)的防御效益值為-1 812,文獻(xiàn)[13]方法收斂時(shí)所得到的防御效益值為-2 114,本文方法收斂時(shí)所得到的防御效益值為-1 510.相比之下,本文所提的方法是“數(shù)據(jù)驅(qū)動(dòng)學(xué)習(xí)”通過(guò)禁忌表的反饋數(shù)據(jù)進(jìn)行學(xué)習(xí),在不消耗更多資源的情況下指導(dǎo)個(gè)體防御策略選取,所獲得的防御策略與對(duì)比文獻(xiàn)相比較優(yōu).
本文針對(duì)當(dāng)前互聯(lián)網(wǎng)社會(huì)中網(wǎng)絡(luò)安全威脅的防御策略問(wèn)題展開(kāi)分析,根據(jù)現(xiàn)實(shí)網(wǎng)絡(luò)攻防特征,在有限理性約束條件下,建立隨機(jī)博弈模型分析網(wǎng)絡(luò)攻防過(guò)程,并提出了一種基于禁忌搜索方法的防御策略選取方法對(duì)模型進(jìn)行求解,通過(guò)構(gòu)建禁忌隨機(jī)博弈模型,將攻擊成功率與懲罰因子一并納入進(jìn)攻防收益量化函數(shù),使得攻防損失價(jià)值計(jì)算更符合實(shí)際網(wǎng)絡(luò)防護(hù).利用禁忌表的數(shù)據(jù)計(jì)算得出最優(yōu)的防御策略,使防守方以最低的代價(jià)實(shí)現(xiàn)最好的網(wǎng)絡(luò)防守效果,而且該方法中禁忌表的存在大大減少了方法的工作量,提升了方法效率.通過(guò)典型網(wǎng)絡(luò)環(huán)境的實(shí)驗(yàn)對(duì)比分析表明,本文方法是一種對(duì)防御策略選取有效的方法.