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