楊林 張義榮 楊峰 馬琳茹 李京鵬
攻擊面是攻擊者進(jìn)入信息系統(tǒng)并可能造成破壞的一系列途徑,即攻擊時(shí)使用的操作系統(tǒng)、軟件、數(shù)據(jù)和網(wǎng)絡(luò)等資源.攻擊面越大,系統(tǒng)越不安全;系統(tǒng)的安全漏洞很難徹底根除,在漏洞必然存在的情況下,降低安全風(fēng)險(xiǎn)的有效辦法是縮小系統(tǒng)攻擊面.動(dòng)態(tài)目標(biāo)防御的主要思想是向攻擊者呈現(xiàn)不斷變化的攻擊面,增加攻擊者探測(cè)和利用攻擊面的難度,以達(dá)到減小系統(tǒng)攻擊面的效果.概而言之,安全防護(hù)體系不斷完善的過程,就是促使攻擊面不斷縮小的過程[1].
通過動(dòng)態(tài)變化實(shí)現(xiàn)安全的想法主要基于自動(dòng)生成能改變系統(tǒng)某些特性的系統(tǒng)變量或目標(biāo)程序.動(dòng)態(tài)目標(biāo)防御作為一種可能“改變游戲規(guī)則”的潛在方法,正受到業(yè)界廣泛關(guān)注.按照動(dòng)態(tài)使用系統(tǒng)資源不同,動(dòng)態(tài)目標(biāo)防御技術(shù)主要有網(wǎng)絡(luò)配置隨機(jī)化、指令集隨機(jī)化、軟件多態(tài)化等[2?4].Shaer.E.Al[5]等提出了一種稱為“變形網(wǎng)絡(luò)”(MUTE)的動(dòng)態(tài)目標(biāo)防御架構(gòu),能夠隨機(jī)動(dòng)態(tài)地改變網(wǎng)絡(luò)配置(如IP地址、路由)等,以抵御網(wǎng)絡(luò)掃描、拒絕服務(wù)、僵尸網(wǎng)絡(luò)等攻擊行為.Kc.G.S[6]等研究了基于硬件的低開銷指令集隨機(jī)化方法,并利用Bochs X86仿真器評(píng)估了該方法在解釋型語言(如Perl、SQL等)中的適用性.Shacham.H[7]等研究了進(jìn)程地址空間布局隨機(jī)化(ALSR)問題,表明32位系統(tǒng)缺乏足夠的熵導(dǎo)致ALSR不是十分有效.Jacob.M[8]等對(duì)程序編譯器進(jìn)行修改,通過添加指令產(chǎn)生不返回的代碼,能夠阻止部分代碼重用攻擊.Yiu.H[9]等通過配置具有不同軟件堆棧的虛擬服務(wù)器集群生成持續(xù)變化、不可預(yù)知的Web服務(wù)架構(gòu),來挫敗SQL注入、跨站腳本等Web攻擊.
上述工作重點(diǎn)關(guān)注動(dòng)態(tài)目標(biāo)防御的具體實(shí)現(xiàn)技術(shù),缺乏對(duì)系統(tǒng)變化攻擊面的形式化分析和度量方法,難以評(píng)估動(dòng)態(tài)目標(biāo)防御的綜合效能.本文提出了一種基于馬爾可夫(Markov)鏈的攻擊面建模度量方法,探索通過攻擊探測(cè)概率指標(biāo)對(duì)變化攻擊面進(jìn)行定量度量,并對(duì)攻防博弈中動(dòng)態(tài)目標(biāo)防御方法的有效性和實(shí)施策略進(jìn)行分析驗(yàn)證.
控制、監(jiān)測(cè)和動(dòng)態(tài)等3類安全防護(hù)手段可作用于攻擊面W,假設(shè)系統(tǒng)的每個(gè)輸入點(diǎn)都可能成為一個(gè)攻擊點(diǎn),這些攻擊點(diǎn)匯集成攻擊面,因此W可以看作系統(tǒng)所有輸入點(diǎn)的數(shù)量.
1)控制手段:一種直接減少攻擊面狀態(tài)空間的方法,采用控制后攻擊面變化為Wc=W?PC,其中C為控制措施.
2)監(jiān)測(cè)手段:一種間接減小攻擊面狀態(tài)空間的方法,通過監(jiān)測(cè)攻擊可為控制提供輔助支持.采用監(jiān)測(cè)后攻擊面變化為Wm=Wc?PM,其中M為監(jiān)測(cè)措施.
3)動(dòng)態(tài)手段:攻擊面在各個(gè)狀態(tài)間以某種概率進(jìn)行狀態(tài)遷移.在各個(gè)狀態(tài)間遷移的概率構(gòu)成一個(gè)轉(zhuǎn)移概率矩陣,由于某時(shí)刻之后的狀態(tài)只與該時(shí)刻的狀態(tài)有關(guān),而與之前的狀態(tài)無關(guān).這種數(shù)學(xué)模型符合時(shí)間離散、狀態(tài)離散的Markov過程條件[10],即Markov鏈.
不管初始狀態(tài)如何,系統(tǒng)經(jīng)過有限步遷移后最終會(huì)達(dá)到平衡.因此,系統(tǒng)攻擊面最終落在某個(gè)狀態(tài)的概率是可以確定的,可計(jì)算攻擊面的數(shù)學(xué)期望值,即動(dòng)態(tài)變化期望達(dá)到的防御效果,如圖1所示.
圖1 攻擊面狀態(tài)遷移示意圖
定義1.假設(shè)系統(tǒng)狀態(tài)S為離散集合A={A0,A1,···,An},狀態(tài)Ai的攻擊點(diǎn)數(shù)量為Ki,狀態(tài)間遷移概率為Pti,攻擊面探測(cè)概率Pdi.那么,系統(tǒng)狀態(tài)轉(zhuǎn)移矩陣是一個(gè)(n+1)階方陣,可定義為:
根據(jù)攻擊者和防御者對(duì)狀態(tài)攻擊面的掌握程度,可以將模型分為以下4種情況:
Case 1.防御者不清楚狀態(tài)攻擊面具體情況,系統(tǒng)攻擊點(diǎn)的遷移是隨機(jī)的,攻擊者具有足夠的能力在時(shí)間間隔(?t)內(nèi)去掌握每個(gè)時(shí)刻的攻擊路徑,即Pdi=1.
圖2 攻擊面Markov鏈狀態(tài)遷移1
Case 2.防御者清楚狀態(tài)攻擊面具體情況,防御者有意引導(dǎo)系統(tǒng)向攻擊面減小的方向遷移,即?i,ki≤k0.同時(shí),攻擊者具有足夠的能力在時(shí)間間隔(?t)內(nèi)去掌握每個(gè)時(shí)刻的攻擊路徑.此種情況與Case 1類似,僅相當(dāng)于狀態(tài)空間有所縮減.
Case 3.防御者不清楚狀態(tài)攻擊面具體情況,系統(tǒng)攻擊點(diǎn)的遷移是隨機(jī)的,而攻擊者可能沒有足夠的能力在時(shí)間間隔(?t)內(nèi)去掌握每個(gè)時(shí)刻的攻擊路徑.假設(shè)每種狀態(tài)的攻擊面探測(cè)概率為Pd,Pd∈[0,1],此種情況與Case 1類似,相當(dāng)于在狀態(tài)空間集合{AiPdi}中求解Markov鏈平穩(wěn)方程.如果當(dāng)?i,Pdi=1,此時(shí)退化為Case 1.
圖3 攻擊面Markov鏈狀態(tài)遷移2
Case 4.防御者清楚狀態(tài)攻擊面具體情況,而攻擊者可能沒有足夠的能力在時(shí)間間隔(?t)內(nèi)去掌握每個(gè)時(shí)刻的攻擊路徑,此種情況對(duì)防御者最為有利.假設(shè)每種狀態(tài)的攻擊面探測(cè)概率為Pd,Pd∈[0,1],此種情況與Case 2類似,相當(dāng)于在狀態(tài)空間集合{AiPdi}中求解Markov鏈平穩(wěn)方程.當(dāng)?i,Pdi=1,此時(shí)退化為Case 2.
若系統(tǒng)狀態(tài)遷移概率矩陣為Pt,那么根據(jù)方程
可以求出Markov鏈的平穩(wěn)分布X?.
如果攻擊面探測(cè)概率向量為Pd,則系統(tǒng)狀態(tài)的期望為
站在防御者角度,希望采用合適的動(dòng)態(tài)手段和系統(tǒng)狀態(tài)遷移策略,使得
其中k0為靜態(tài)系統(tǒng)攻擊面初始值,即使得系統(tǒng)攻擊面往縮小的趨勢(shì)發(fā)展.
攻擊探測(cè)概率Pd是影響動(dòng)態(tài)系統(tǒng)攻擊面的重要指標(biāo),對(duì)攻擊面的數(shù)學(xué)期望影響甚大,可從狀態(tài)遷移速率、隨機(jī)化程度和狀態(tài)空間大小等維度進(jìn)行量化.
定義2.假設(shè)動(dòng)態(tài)系統(tǒng)S的狀態(tài)遷移時(shí)間間隔?t∈[0,T0],隨機(jī)化程度為R∈[0,1],狀態(tài)空間大小為狀態(tài)數(shù)N∈[0,N0],探測(cè)防護(hù)能力為探測(cè)報(bào)文攔截率L∈[0,1],則動(dòng)態(tài)系統(tǒng)S的攻擊探測(cè)速率Pd為
其中,T0定義為探測(cè)到所有攻擊面所需最大時(shí)間,N0定義為防御者可變換的最大狀態(tài)空間數(shù).
假設(shè)某云中心初始狀態(tài)的攻擊面可在5個(gè)狀態(tài)間遷移,攻擊面S的狀態(tài)空間為A={A0,A1,A2,A3,A4}.假設(shè)該狀態(tài)的轉(zhuǎn)移規(guī)則是:如果在遷移前,它在A1,A2,A3這幾個(gè)狀態(tài)上,那么就分別以1/3的概率向前或向后遷移一個(gè)狀態(tài),或者停留在原處;如果遷移前,它在A0這點(diǎn)上,那么就以概率1遷移到A1這一點(diǎn);如果在移動(dòng)前,它在A4這點(diǎn)上,那么就以概率1轉(zhuǎn)移到A3這一點(diǎn),因此系統(tǒng)轉(zhuǎn)移概率矩陣為:
平穩(wěn)狀態(tài)向量X=(x1,x2,x3,x4,x5)由X=X?P計(jì)算得出:
上述方程解得
經(jīng)過有限步狀態(tài)轉(zhuǎn)移后,系統(tǒng)狀態(tài)的期望為:
Case 1.防御者不清楚狀態(tài)攻擊面具體情況,系統(tǒng)攻擊點(diǎn)的遷移是隨機(jī)的,攻擊者具有足夠的能力在時(shí)間間隔內(nèi)掌握每個(gè)時(shí)刻的攻擊路徑.
假設(shè)初始狀態(tài)攻擊面k0=4,k1=7,k2=3,k3=2,k4=5,那么攻擊面的期望A?=4.09.
Case 2.防御者清楚狀態(tài)攻擊面具體情況,引導(dǎo)系統(tǒng)向攻擊面減小的方向遷移,攻擊者具有足夠的能力在時(shí)間間隔內(nèi)掌握每個(gè)時(shí)刻的攻擊路徑.
假設(shè)初始狀態(tài)攻擊面k0=4,k1=3,k2=2,k3=4,k4=1,那么攻擊面數(shù)學(xué)期望A?=2.90.
以科學(xué)理論為名稱,如試用版(上海)高中地理新教材第一冊(cè)的“宇宙大爆炸”,第二冊(cè)的“中心地理論”等專欄,雖然只是介紹科學(xué)理論的主要內(nèi)容及形成過程,但從中能反映伽莫夫、魏格納、勒皮雄、克里斯泰勒等科學(xué)家為創(chuàng)立這些新的科學(xué)理論所付出的艱辛努力和勇于探索的精神。
Case 3.防御者不清楚狀態(tài)攻擊面具體情況,系統(tǒng)攻擊點(diǎn)的遷移是隨機(jī)的,攻擊者可能沒有足夠的能力在時(shí)間間隔內(nèi)掌握每個(gè)時(shí)刻的攻擊路徑.
與Case 1類似,假設(shè)初始狀態(tài)攻擊面k0=4,k1=7,k2=9,k3=2,k4=5,攻擊面探測(cè)概率Pd0=0.3,Pd1=0.5,Pd2=0.4,Pd3=0.2,Pd4=0.6,那么攻擊面的數(shù)學(xué)期望A?=2.43.
Case 4.防御者清楚狀態(tài)攻擊面具體情況,有意引導(dǎo)系統(tǒng)向攻擊面減小的方向遷移,攻擊者可能沒有足夠的能力在時(shí)間間隔內(nèi)掌握每個(gè)時(shí)刻的攻擊路徑.
與Case 2類似,假設(shè)初始狀態(tài)攻擊面k0=4,k1=3,k2=2,k3=4,k4=1,攻擊面探測(cè)概率Pd0=0.3,Pd1=0.5,Pd2=0.4,Pd3=0.2,Pd4=0.6,那么攻擊面的數(shù)學(xué)期望A?=1.009
站在防御者角度,希望采用合適的防護(hù)手段和系統(tǒng)狀態(tài)遷移策略,使得
為簡(jiǎn)化起見,假設(shè)每次攻擊探測(cè)概率Pdi為相同常量,則
此即為系統(tǒng)狀態(tài)調(diào)整策略是否有效的拐點(diǎn),如圖4所示.
圖4 系統(tǒng)動(dòng)態(tài)調(diào)整拐點(diǎn)
可見,當(dāng)0.698時(shí),動(dòng)態(tài)系統(tǒng)攻擊面的數(shù)學(xué)期望值大于靜態(tài)系統(tǒng)的攻擊面值,此時(shí)進(jìn)行動(dòng)態(tài)變化調(diào)整并無效果.
攻擊探測(cè)概率與多種因素相關(guān),如攻擊者技能水平、對(duì)系統(tǒng)掌握程度、計(jì)算資源多寡、分析時(shí)間長(zhǎng)短等.為簡(jiǎn)化起見,假設(shè)在給定計(jì)算資源、不考慮隨機(jī)化程度、狀態(tài)空間等情況下,探測(cè)概率僅與允許攻擊者分析系統(tǒng)的時(shí)間呈線性關(guān)系,且系統(tǒng)狀態(tài)進(jìn)行周期變化,則式(5)變?yōu)?
其中,?t為狀態(tài)發(fā)生變化的時(shí)間間隔,T0為攻擊者研究出當(dāng)前時(shí)刻系統(tǒng)所有攻擊點(diǎn)需要的時(shí)間周期.
假定在攻擊資源一定的情況下,某攻擊組織可在12h內(nèi)分析系統(tǒng)當(dāng)前狀態(tài)的所有攻擊點(diǎn).在上述算例Case 3下,可由公式
由此可見,動(dòng)態(tài)防御技術(shù)未必一定能減小系統(tǒng)攻擊面,其實(shí)際效能與攻擊者、防御者對(duì)狀態(tài)攻擊面的掌握程度密切相關(guān).例如,在防御者不清楚狀態(tài)攻擊面具體情況下,動(dòng)態(tài)系統(tǒng)攻擊面甚至可能比靜態(tài)系統(tǒng)攻擊面更大.而攻擊探測(cè)概率則是影響動(dòng)態(tài)系統(tǒng)攻擊面的重要指標(biāo),攻擊活動(dòng)被防御者及時(shí)探測(cè)的概率越低,動(dòng)態(tài)系統(tǒng)攻擊面越小.
本文基于馬爾可夫鏈理論對(duì)信息系統(tǒng)動(dòng)態(tài)防御效能進(jìn)行了模型構(gòu)建和實(shí)例分析,并驗(yàn)證了相關(guān)模型的有效性和合理性.研究結(jié)論表明為取得動(dòng)態(tài)防御效果,動(dòng)態(tài)防御技術(shù)必須滿足以下條件:1)快速而不可預(yù)測(cè)的狀態(tài)遷移,即狀態(tài)動(dòng)態(tài)遷移必須快速以保證攻擊者沒有足夠的時(shí)間和空間去偵察、探測(cè)目標(biāo);2)足夠多的狀態(tài)空間,以減少不同狀態(tài)間攻擊面的重復(fù)度,增加攻擊者對(duì)系統(tǒng)掌握的難度;3)透明的狀態(tài)遷移,即在系統(tǒng)狀態(tài)遷移過程中被保護(hù)目標(biāo)必須是“透明”的,以保證整個(gè)會(huì)話和服務(wù)不會(huì)因狀態(tài)遷移而中斷.
目前的工作僅是對(duì)攻擊面建模進(jìn)行了一些初步探索.為了更精確刻畫變化攻擊面度量模型,仍有大量研究有待開展,相關(guān)工作包括模型可擴(kuò)展性、攻擊者建模、動(dòng)態(tài)遷移策略最優(yōu)化等.在模型可擴(kuò)展性方面,可進(jìn)一步考慮攻擊面與系統(tǒng)安全漏洞的關(guān)系,系統(tǒng)動(dòng)態(tài)變化時(shí)安全漏洞的性質(zhì)和數(shù)量變化可能導(dǎo)致攻擊面發(fā)生突變,目前對(duì)系統(tǒng)漏洞的形式化描述仍是難題;在攻擊者建模方面,由于攻擊類型和方法的復(fù)雜性(如旁路攻擊、隱蔽通道等)使得攻擊建模十分困難[11],已有的攻擊圖、攻擊樹等模型缺乏定量描述能力,可嘗試進(jìn)一步根據(jù)攻擊者類型(個(gè)人/組織/國(guó)家)、空間資源(單點(diǎn)/協(xié)同)、時(shí)間資源(分/小時(shí)/天)等精細(xì)分析;在動(dòng)態(tài)遷移策略最優(yōu)化方面,尋找最優(yōu)的動(dòng)態(tài)遷移策略是項(xiàng)技術(shù)挑戰(zhàn),系統(tǒng)的動(dòng)態(tài)變化應(yīng)該快速和不可預(yù)測(cè),并對(duì)外部攻擊具有感知能力,但這種動(dòng)態(tài)變化要求在網(wǎng)絡(luò)基礎(chǔ)設(shè)施、協(xié)議或終端軟件方面具有靈活可伸縮性和可部署性,實(shí)踐上存在困難,博弈論[12]的引入可能是解決問題的一種方法,可進(jìn)一步深入研究.