申普兵,薛保澤,吳 波,陳樹(shù)文
(國(guó)防科技大學(xué) 信息通信學(xué)院,陜西 西安 710106)
當(dāng)前網(wǎng)絡(luò)安全事件頻發(fā),網(wǎng)絡(luò)信息安全問(wèn)題日益突出?,F(xiàn)有的網(wǎng)絡(luò)安全防護(hù)手段雖然能夠在一定程度上增強(qiáng)網(wǎng)絡(luò)的安全性,但它依然存在防護(hù)手段單一,防護(hù)響應(yīng)被動(dòng)和部署固定等問(wèn)題。特別是Web服務(wù)雖然憑借標(biāo)準(zhǔn)化高、擴(kuò)展性強(qiáng)以及升級(jí)維護(hù)簡(jiǎn)單等優(yōu)點(diǎn)得以迅速發(fā)展,但是系統(tǒng)本身部署靜態(tài)又具有很強(qiáng)的開(kāi)放性,極易受到外部的窺探入侵?;谠蠸CIT安全防護(hù)模型雖然能夠有效增強(qiáng)服務(wù)器抵抗入侵的能力,但對(duì)于終端的攻擊無(wú)能為力,改進(jìn)模型引入終端運(yùn)行環(huán)境隨機(jī)化切換可以很好地解決這一問(wèn)題。
針對(duì)當(dāng)前網(wǎng)絡(luò)配置靜態(tài),部署相似以及漏洞持續(xù),導(dǎo)致網(wǎng)絡(luò)系統(tǒng)處于“漏洞找不盡、補(bǔ)丁打不完、攻擊防不住”的被動(dòng)態(tài)勢(shì)[1-3],美國(guó)白宮提出“改變游戲規(guī)則”全新的移動(dòng)目標(biāo)防御設(shè)想。不同于以往的安防構(gòu)建,該設(shè)想并不追求完美無(wú)暇的防御體系來(lái)對(duì)抗攻擊,而是通過(guò)系統(tǒng)構(gòu)建部署及策略的多樣化,減少脆弱性暴露時(shí)間,增加攻擊者的難度和代價(jià),進(jìn)而提高系統(tǒng)的彈性[4]。為此學(xué)者們進(jìn)行了積極的探索。例如,文獻(xiàn)[5]提出了基于地址和端口的隨機(jī)化技術(shù)(APOD),利用基于地址和端口的跳變隧道偽裝目標(biāo)主機(jī);文獻(xiàn)[6]提出基于SDN技術(shù)實(shí)現(xiàn)IP地址的變化,使用虛擬IP地址進(jìn)行通信,實(shí)現(xiàn)信息的隱藏;文獻(xiàn)[7]在文獻(xiàn)[6]基礎(chǔ)上將IP變化分為高頻和低頻兩種部署嵌套,進(jìn)而降低變化帶來(lái)的開(kāi)銷;文獻(xiàn)[8]提出MT6D技術(shù),利用IPv6較大的地址空間,不斷改變IPv6地址實(shí)現(xiàn)主機(jī)的隱身;文獻(xiàn)[9]提出一種移動(dòng)目標(biāo)防御方法,通過(guò)私有協(xié)議隨機(jī)化和路徑選擇隨機(jī)化策略,提高攻擊者實(shí)施竊聽(tīng)的難度;文獻(xiàn)[10]提出利用自動(dòng)化編譯器產(chǎn)生功能相同但代碼不同的程序,為程序生成不同副本,大大增加入侵者成本;文獻(xiàn)[11]提出了SCIT(self cleansing intrusion tolerance)服務(wù)器切換模型,通過(guò)服務(wù)器不斷清洗和切換阻斷來(lái)自外部的攻擊。文中在文獻(xiàn)[11]提出的SCIT服務(wù)器模型的基礎(chǔ)上進(jìn)行改良,增加終端控制器、終端清洗審計(jì)以及終端資源池等模塊,擴(kuò)展系統(tǒng)的隨機(jī)面維度,主動(dòng)防御性能明顯增強(qiáng)。
一次典型的入侵攻擊行為一般包括基礎(chǔ)信息獲取,漏洞掃描,漏洞利用,入侵控制和擦除痕跡等五個(gè)步驟,每個(gè)入侵步驟都依賴于系統(tǒng)屬性和拓?fù)浣Y(jié)構(gòu)的靜態(tài)部署。一旦系統(tǒng)屬性發(fā)生變化,當(dāng)前入侵行為即被中斷,入侵失敗。黑客入侵時(shí)間與造成的損失滿足圖1的“S”曲線[12-13]。
圖1 “S”曲線
由圖1可知,當(dāng)攻擊者入侵時(shí)間T
分析圖2可知,動(dòng)態(tài)切換系統(tǒng)運(yùn)行環(huán)境可以有效抵御入侵。在t0時(shí)刻,系統(tǒng)隨機(jī)切換運(yùn)行環(huán)境E0,并生成防御方案p0,則(E0,p0)構(gòu)成網(wǎng)絡(luò)系統(tǒng)內(nèi)部環(huán)境。兩次切換運(yùn)行環(huán)境時(shí)間間隔為tt0,對(duì)于一次成功的攻擊來(lái)說(shuō),攻擊所需時(shí)間(ti1+ti2+ti3+ti4+ti5) 圖2 攻擊生存周期示意 與傳統(tǒng)Web服務(wù)器系統(tǒng)不同,基于SCIT模型的服務(wù)器由以下六個(gè)模塊組成:中央控制器、請(qǐng)求分發(fā)器、信息共享模塊、數(shù)據(jù)清洗模塊、審計(jì)模塊、服務(wù)器資源池。改進(jìn)模型在基本模型的基礎(chǔ)上為客戶端增加終端控制器、終端清洗審計(jì)以及終端資源池等模塊。功能模塊如圖3所示。 (1)請(qǐng)求分發(fā)器。接受來(lái)自客戶端的Web訪問(wèn)請(qǐng)求,根據(jù)中央控制器指令將訪問(wèn)請(qǐng)求數(shù)據(jù)轉(zhuǎn)發(fā)給指定服務(wù)器,并將服務(wù)器處理后的數(shù)據(jù)轉(zhuǎn)發(fā)給用戶。 (2)信息共享模塊。用于服務(wù)器資源池中各個(gè)服務(wù)器的數(shù)據(jù)共享。 (3)數(shù)據(jù)清洗模塊。對(duì)完成工作的服務(wù)器進(jìn)行清洗,清洗是清空服務(wù)器所有內(nèi)存和文件數(shù)據(jù)的過(guò)程,根據(jù)系統(tǒng)備份的鏡像文件,恢復(fù)至初始狀態(tài),此時(shí)等待審計(jì)。 (4)審計(jì)模塊。對(duì)清洗完成的服務(wù)器進(jìn)行審核,檢驗(yàn)系統(tǒng)是否恢復(fù)至純凈安全狀態(tài),審計(jì)通過(guò),釋放服務(wù)器資源,否則對(duì)服務(wù)器重新清洗,并對(duì)存在的攻擊行為進(jìn)行取證分析。 (5)服務(wù)器資源池。構(gòu)成服務(wù)器的物理主機(jī)和虛擬主機(jī)所有軟硬件資源。一個(gè)Web服務(wù)系統(tǒng)核心軟件棧主要由虛擬化平臺(tái)、操作系統(tǒng)、數(shù)據(jù)庫(kù)、服務(wù)器軟件以及Web應(yīng)用程序構(gòu)成,由于軟件的多樣性和兼容性,系統(tǒng)可以隨機(jī)選擇軟件構(gòu)成多樣化的服務(wù)器來(lái)抵抗攻擊。服務(wù)器資源池的功能如下: 圖3 功能模塊 ①根據(jù)中央控制器指令,依據(jù)調(diào)度算法隨機(jī)選取各類資源,為當(dāng)前訪問(wèn)請(qǐng)求建立新生服務(wù)器。調(diào)度算法應(yīng)遵循隨機(jī)原則,使攻擊者無(wú)法判斷出下一時(shí)刻服務(wù)器軟件構(gòu)成。 假設(shè)開(kāi)設(shè)一個(gè)Web服務(wù)器需要一個(gè)服務(wù)器資源池,有功能相同但結(jié)構(gòu)或版本不同的軟件,將Web應(yīng)用程序用P表示,其中共有p種不同的編程語(yǔ)言實(shí)現(xiàn)Web編程;服務(wù)器軟件用S表示,共有s種不同類型服務(wù)器軟件;數(shù)據(jù)庫(kù)軟件用D表示,共有d種不同類型的數(shù)據(jù)庫(kù);操作系統(tǒng)用O表示,共有o種不同的操作系統(tǒng);虛擬化平臺(tái)用V表示,共有v種不同的虛擬平臺(tái),則服務(wù)器共有p*s*d*o*v種類型,任意時(shí)刻建立的服務(wù)器如圖4所示。 圖4 服務(wù)器軟件棧 ②建立運(yùn)行態(tài)、清洗態(tài)和就緒態(tài)三種服務(wù)器狀態(tài)轉(zhuǎn)換模型,在保證Web服務(wù)質(zhì)量的條件下實(shí)現(xiàn)服務(wù)器狀態(tài)的無(wú)縫切換。 運(yùn)行態(tài):服務(wù)器正在處理來(lái)自客戶端的訪問(wèn)請(qǐng)求,提供信息服務(wù),此時(shí)服務(wù)器處于在線狀態(tài); 清洗態(tài):對(duì)運(yùn)行完的服務(wù)器進(jìn)行清洗和審計(jì),此時(shí)服務(wù)器處于離線狀態(tài); 就緒態(tài):服務(wù)器經(jīng)過(guò)清洗審計(jì),等待調(diào)度訪問(wèn)的狀態(tài)。 (6)中央控制器。中央控制器是整個(gè)系統(tǒng)的大腦,用于協(xié)調(diào)控制各個(gè)模塊的正常運(yùn)行。 (7)終端控制器。負(fù)責(zé)協(xié)調(diào)控制各個(gè)功能模塊和終端,是整個(gè)終端系統(tǒng)的控制核心。主要功能:利用調(diào)度算法在資源池內(nèi)為特定終端選擇資源,構(gòu)建多樣化運(yùn)行環(huán)境;利用特定算法設(shè)定終端的具體狀態(tài),例如運(yùn)行態(tài)、清洗態(tài)和就緒態(tài);命令清洗審計(jì)模塊對(duì)終端進(jìn)行清洗審計(jì)。 (8)終端清洗審計(jì)模塊。對(duì)完成訪問(wèn)的終端進(jìn)行清洗,清洗終端內(nèi)存和數(shù)據(jù),并根據(jù)鏡像文件恢復(fù)至初始狀態(tài),清洗完成后審計(jì),審計(jì)通過(guò),開(kāi)始新的訪問(wèn),未通過(guò)繼續(xù)轉(zhuǎn)入清洗。 (9)終端資源池。參照服務(wù)器資源池,為終端開(kāi)設(shè)資源池,構(gòu)建新生軟件棧。軟件棧主要由虛擬化平臺(tái)、操作系統(tǒng)和瀏覽器構(gòu)成,通過(guò)不同的排列組合來(lái)實(shí)現(xiàn)終端系統(tǒng)的多樣化。為終端建立運(yùn)行態(tài)、清洗態(tài)和就緒態(tài)三種狀態(tài)模型,實(shí)現(xiàn)終端狀態(tài)的無(wú)縫切換。 (1)終端向終端控制器提出Web訪問(wèn)申請(qǐng),控制器利用調(diào)度算法在資源池中隨機(jī)選擇特定資源,生成新的軟件棧,構(gòu)建特定運(yùn)行環(huán)境。此時(shí)終端從就緒態(tài)切換至運(yùn)行態(tài),而后向請(qǐng)求分發(fā)器發(fā)送http請(qǐng)求; (2)請(qǐng)求分發(fā)器接到訪問(wèn)請(qǐng)求后,向中央控制器報(bào)告; (3)中央控制器根據(jù)調(diào)度算法隨機(jī)生成新的軟件棧,組建新生服務(wù)器,服務(wù)器為就緒狀態(tài),構(gòu)成就緒服務(wù)器組; (4)根據(jù)中央控制器指令,請(qǐng)求分發(fā)器將終端訪問(wèn)請(qǐng)求發(fā)放到就緒服務(wù)器組的某一選定服務(wù)器,此時(shí)服務(wù)器從就緒態(tài)切換為運(yùn)行態(tài); ①運(yùn)行服務(wù)器與信息共享模塊建立聯(lián)系,實(shí)時(shí)共享數(shù)據(jù); ②運(yùn)行服務(wù)器將運(yùn)行狀態(tài)反饋給中央控制器,為下一步制定策略提供依據(jù); ③運(yùn)行服務(wù)器通過(guò)請(qǐng)求分發(fā)器與終端進(jìn)行通信交互。 (5)Web服務(wù)結(jié)束,服務(wù)器進(jìn)入清洗狀態(tài),審計(jì)后釋放資源至資源池中,等待下一輪的訪問(wèn);終端也進(jìn)入清洗狀態(tài),審計(jì)通過(guò)后釋放資源,跳轉(zhuǎn)至步驟1,如此循環(huán)往復(fù),實(shí)現(xiàn)系統(tǒng)的整體防護(hù)。 通過(guò)不斷地切換服務(wù)器和終端的運(yùn)行環(huán)境,使系統(tǒng)呈現(xiàn)多樣化狀態(tài)以迷惑攻擊者,增加入侵的難度和代價(jià),但是防御的性能取決于變化的速度和不可預(yù)知性,已有文獻(xiàn)[14]從數(shù)學(xué)的角度對(duì)系統(tǒng)軟件的多樣性組合問(wèn)題進(jìn)行定量分析,下面著重分析改進(jìn)模型抵抗入侵的效能。 假設(shè)服務(wù)器的軟件棧由三層(分別為L(zhǎng)、M、H)組成,分別對(duì)應(yīng)虛擬化平臺(tái)、操作系統(tǒng)、服務(wù)器軟件,其中L層共有T1種類型,M層共有T2種類型,H層共有T3種類型。為方便計(jì)算,終端只增加一個(gè)維度的多樣性,即E層,E層對(duì)應(yīng)瀏覽器層,E層共有T4種類型,則Web系統(tǒng)共有T1*T2*T3*T4種類型。資源池中的軟件選擇組合是隨機(jī)的,每次任意類型軟件被入侵的概率是均勻分布的,即L層La被入侵的概率為1/T1;M層Mb被入侵的概率為1/T2;H層Hc被入侵的概率為1/T3;E層Ed被入侵的概率為1/T4。其中La∈{L1,L2,…,LT1},Mb∈{M1,M2,…,MT2},Hc∈{H1,H2,…,HT3},Ed∈{E1,E2,…,ET4}。 每次成功的入侵必須入侵X層才能成功,則入侵成功的概率可由以下公式所得。 當(dāng)X=1時(shí): P1=P{L=La∪M=Mb∪H=Hc∪E=Ed|X=1}=P{L=La}+P{M=Mb}+P{H=Hc}+ P{E=Ed}-P{L=La,M=Mb}-P{L=La,H=Hc}-P{L=La,E=Ed}-P{M=Mb,H=Hc}- P{M=Mb,E=Ed}-P{H=Hc,E=Ed}+P{L=La,M=Mb,H=Hc}+P{L=La,H=Hc,E=Ed}+ P{M=Mb,H=Hc,E=Ed}+P{L=La,M=Mb,E=Ed}-P{L=La,M=Mb,H=Hc,E=Ed}= 當(dāng)X=2時(shí): P2=P{L=La∪M=Mb∪H=Hc∪E=Ed|X=2}=P{L=La,M=Mb}+P{L=La,H=Hc}+ P{L=La,E=Ed}+P{M=Mb,H=Hc}+P{M=Mb,E=Ed}+P{H=Hc,E=Ed}- 2P{L=La,M=Mb,H=Hc}-2P{L=La,H=Hc,E=Ed}-2P{M=Mb,H=Hc,E=Ed}- 2P{L=La,M=Mb,E=Ed}+3P{L=La,M=Mb,H=Hc,E=Ed}= 當(dāng)X=3時(shí): P3=P{L=La∪M=Mb∪H=Hc∪E=Ed|X=3}=P{L=La,M=Mb,H=Hc}+ P{L=La,H=Hc,E=Ed}+P{M=Mb,H=Hc,E=Ed}+P{L=La,M=Mb,E=Ed}- 當(dāng)X=4時(shí): P4=P{L=La∪M=Mb∪H=Hc∪E=Ed|X=4}=P{L=La,M=Mb,H=Hc,E=Ed}= 由以上概率公式可得,當(dāng)T1、T2、T3、T4分別取1時(shí),則入侵概率為(1.000,1.000,1.000,1.000),即此時(shí)系統(tǒng)處于靜態(tài)配置狀態(tài),被入侵幾率最大。當(dāng)T1、T2、T3、T4分別取3時(shí),當(dāng)前系統(tǒng)共有81種不同的組合類型,則入侵成功概率為(0.802 5,0.407 4,0.111 1,0.012 3),入侵成功率分別下降了19.75%、59.26%、88.89%、98.77%,與文獻(xiàn)[11]相比,在同等條件下,入侵概率平均下降46.44%。 文中旨在為網(wǎng)絡(luò)內(nèi)Web服務(wù)提供一種動(dòng)態(tài)防御機(jī)制,在SCIT基本模型基礎(chǔ)上,為系統(tǒng)增加終端運(yùn)行環(huán)境隨機(jī)化切換,進(jìn)一步增加系統(tǒng)的隨機(jī)性,使攻擊者入侵成功概率明顯下降,有效增強(qiáng)系統(tǒng)抵抗入侵的能力。系統(tǒng)切換的速度決定了系統(tǒng)抵抗入侵的能力,但是速度越快必然導(dǎo)致穩(wěn)定性下降,增加額外開(kāi)銷。引入彈性調(diào)度算法動(dòng)態(tài)調(diào)整系統(tǒng)的變化速率平衡變化率和穩(wěn)定性之間的矛盾關(guān)系將是下一步研究的重點(diǎn)和方向。3 基于SCIT改進(jìn)模型Web服務(wù)安全防護(hù)設(shè)計(jì)
3.1 功能模塊實(shí)現(xiàn)
3.2 系統(tǒng)工作流程
4 基于改進(jìn)模型安全防護(hù)效能分析
5 結(jié)束語(yǔ)