摘要:脆弱性分析是網(wǎng)絡(luò)安全風(fēng)險(xiǎn)分析與控制的關(guān)鍵技術(shù),脆弱性也是網(wǎng)絡(luò)攻防雙方爭(zhēng)奪信息優(yōu)勢(shì)的焦點(diǎn)。闡述了網(wǎng)絡(luò)攻防控制的作用原理,提出了相對(duì)脆弱性分析的概念,從結(jié)構(gòu)脆弱性分析的角度,分析了信息網(wǎng)絡(luò)中訪(fǎng)問(wèn)路徑上的節(jié)點(diǎn)脆弱性,給出了分析模型以及計(jì)算關(guān)鍵節(jié)點(diǎn)和訪(fǎng)問(wèn)路徑綜合脆弱性的分析方法,對(duì)分析算法進(jìn)行了描述。該算法可計(jì)算出信息網(wǎng)絡(luò)中任意兩對(duì)節(jié)點(diǎn)之間訪(fǎng)問(wèn)路徑的最大綜合脆弱性,為網(wǎng)絡(luò)安全控制提供了有效評(píng)估手段。
關(guān)鍵詞:網(wǎng)絡(luò); 訪(fǎng)問(wèn)路徑; 脆弱性; 分析
中圖分類(lèi)號(hào):TP393.08
文獻(xiàn)標(biāo)志碼:A
文章編號(hào):1001-3695(2008)06-1796-03
0引言
如果從網(wǎng)絡(luò)攻防的角度看信息網(wǎng)絡(luò)系統(tǒng)的安全控制,那么系統(tǒng)的脆弱性分析及控制能力是保證系統(tǒng)安全可控的決定性因素。網(wǎng)絡(luò)攻防控制的作用原理如圖1所示。
從圖1中可以看到,網(wǎng)絡(luò)攻防雙方均以系統(tǒng)的脆弱性為攻防博弈的焦點(diǎn)。攻擊方通過(guò)掃描、偵測(cè)等各種檢測(cè)技術(shù),發(fā)現(xiàn)并利用系統(tǒng)存在的各種脆弱性,增大系統(tǒng)的安全風(fēng)險(xiǎn),進(jìn)而達(dá)到控制或破壞系統(tǒng)的目的;防御方同樣通過(guò)掃描、偵測(cè)等各種檢測(cè)技術(shù),發(fā)現(xiàn)并彌補(bǔ)系統(tǒng)脆弱性,降低系統(tǒng)的安全風(fēng)險(xiǎn),進(jìn)而達(dá)到控制或保護(hù)系統(tǒng)的目的。從控制論[1]的角度出發(fā),系統(tǒng)安全可控必須建立在系統(tǒng)可觀的基礎(chǔ)上,脆弱性分析是實(shí)施信息網(wǎng)絡(luò)安全控制的關(guān)鍵環(huán)節(jié),它貫穿于信息網(wǎng)絡(luò)的整個(gè)生命周期,如圖2所示。因此,為了有效實(shí)現(xiàn)系統(tǒng)的安全控制,提高系統(tǒng)的安全可控性[2],研究系統(tǒng)安全脆弱性的分析與控制技術(shù)是十分重要的。
與計(jì)算機(jī)系統(tǒng)一樣,任何系統(tǒng)均存在各種潛在的脆弱性。從總體上可將脆弱性分為技術(shù)脆弱性和組織脆弱性[3]。技術(shù)脆弱性反映的是系統(tǒng)存在的先天缺陷或技術(shù)漏洞,而組織脆弱性是由于系統(tǒng)管理或配置不善造成的安全隱患。是否將某個(gè)網(wǎng)絡(luò)對(duì)象界定為存在脆弱性,以及如何衡量脆弱性的嚴(yán)重程度,要根據(jù)對(duì)象本身的固有安全可靠性、攻擊者的對(duì)其實(shí)施攻擊的能力(威脅大?。⒃搶?duì)象的信息價(jià)值以及攻擊成功后可能造成的影響范圍等因素來(lái)決定。顯然,如果該對(duì)象面臨的安全威脅大,系統(tǒng)因其可能遭受的損失大于預(yù)定的閾值,那么該網(wǎng)絡(luò)對(duì)象就是整個(gè)信息網(wǎng)絡(luò)系統(tǒng)的薄弱環(huán)節(jié),就應(yīng)該成為信息網(wǎng)絡(luò)安全控制的重點(diǎn)對(duì)象。本文將這樣界定出來(lái)的脆弱性稱(chēng)為相對(duì)脆弱性。相對(duì)脆弱性分析的前提條件是假設(shè)攻擊者具有全面的攻擊能力和系統(tǒng)接入能力,因此在分析時(shí)不考慮系統(tǒng)本身已經(jīng)具有的防御能力。
目前對(duì)于信息網(wǎng)絡(luò),尤其是由計(jì)算機(jī)組成的信息網(wǎng)絡(luò)的脆弱性分析主要有兩種類(lèi)型:一種是采用基于規(guī)則的脆弱性分析方法,它是從已知的故障實(shí)例或攻擊實(shí)例中抽取特征,并歸納成規(guī)則表達(dá)式,將目標(biāo)系統(tǒng)與已有的規(guī)則一一匹配,從而檢測(cè)出脆弱性。在這種分析方法中,規(guī)則的生成是十分關(guān)鍵的。隨著計(jì)算機(jī)網(wǎng)絡(luò)變得越來(lái)越復(fù)雜,運(yùn)用規(guī)則進(jìn)行脆弱性分析的復(fù)雜度也隨之增加,這就給具體實(shí)施帶來(lái)了困難。另外,基于規(guī)則的方法只能描述已知的攻擊方式和攻擊行為,對(duì)新型的、尚未檢測(cè)到的攻擊方式難以奏效。另一種是基于模型的脆弱性分析方法,它是為整個(gè)網(wǎng)絡(luò)系統(tǒng)建立脆弱性分析模型,通過(guò)模型抽象描述系統(tǒng)所有可能的行為和狀態(tài)并進(jìn)行評(píng)估。模型的建立比規(guī)則的抽取更簡(jiǎn)單,而且能夠發(fā)現(xiàn)未知的攻擊模式和系統(tǒng)脆弱性,因而適合于對(duì)系統(tǒng)進(jìn)行整體評(píng)估[4,5],國(guó)際上也提出了一些基于模型的網(wǎng)絡(luò)脆弱性分析方法[6],如基于攻擊圖[7]、攻擊樹(shù)和故障樹(shù)[8]的脆弱性分析方法,但是對(duì)信息網(wǎng)絡(luò)訪(fǎng)問(wèn)路徑的安全脆弱性分析,還缺乏較為有效的建模分析手段。
通常意義上的脆弱性只是指系統(tǒng)在技術(shù)和管理方面存在的各種缺陷,因而過(guò)分注重于某個(gè)部件或子系統(tǒng)中存在問(wèn)題的分析,忽視了從整體結(jié)構(gòu)上分析系統(tǒng)中可能存在的脆弱性。中國(guó)啟明星辰公司的潘柱廷[9]首次提出了要從系統(tǒng)設(shè)計(jì)結(jié)構(gòu)的角度分析系統(tǒng)中可能存在的安全脆弱性。這是因?yàn)橄到y(tǒng)結(jié)構(gòu)具有生命周期,會(huì)隨時(shí)間演變,也具有時(shí)序性,結(jié)構(gòu)本身就可能存在問(wèn)題。分析攻擊體系的結(jié)構(gòu),有利于尋找抵御或反制攻擊的最佳作用點(diǎn);分析防御體系的結(jié)構(gòu),有利于以最小的代獲取最佳的防護(hù)效果。
正是基于上述考慮,下面主要從網(wǎng)絡(luò)系統(tǒng)結(jié)構(gòu)的角度,運(yùn)用訪(fǎng)問(wèn)路徑關(guān)鍵點(diǎn)分析和訪(fǎng)問(wèn)路徑綜合脆弱性分析這兩種分析模型。通過(guò)建模的方式分析訪(fǎng)問(wèn)路徑的安全脆弱性,并嘗試給出可能的安全控制建議,目的是為了幫助信息安全工程的技術(shù)人員和安全評(píng)估人員在系統(tǒng)設(shè)計(jì)之初,就能更好地觀測(cè)系統(tǒng)的安全狀態(tài),找出控制系統(tǒng)安全的關(guān)鍵點(diǎn),并能采取針對(duì)性的控制措施,使整個(gè)系統(tǒng)的安全性能更加可控。
1訪(fǎng)問(wèn)路徑關(guān)鍵點(diǎn)分析
信息流的安全性從很大程度上講是由系統(tǒng)中傳遞信息流的訪(fǎng)問(wèn)路徑的安全性決定的。不同的信息流具有的信息價(jià)值是不同的,它所流經(jīng)的訪(fǎng)問(wèn)路徑可能也不相同。多個(gè)訪(fǎng)問(wèn)路徑可能會(huì)經(jīng)過(guò)相同的信息節(jié)點(diǎn)或信息鏈路。為了確定信息訪(fǎng)問(wèn)路徑中需要被保護(hù)的關(guān)鍵節(jié)點(diǎn),可采用如下分析模型。
將信息訪(fǎng)問(wèn)路徑抽象為由多個(gè)信息節(jié)點(diǎn)和信息鏈路組成的通路。設(shè)信息源中存儲(chǔ)的信息價(jià)值是由信息的機(jī)密性、完整性和可用性決定的。機(jī)密性的價(jià)值可按信息的秘密等級(jí)劃分,如可劃分為絕密級(jí)(top secret)、機(jī)密級(jí)(secret)、秘密級(jí)(confidential)和公開(kāi)級(jí)(public);完整性的價(jià)值可按系統(tǒng)對(duì)信息的完整性保護(hù)要求劃分等級(jí),如果同時(shí)需要對(duì)信息內(nèi)容、信息流和信源的完整性進(jìn)行保護(hù),則信息的完整性?xún)r(jià)值最高;可用性的價(jià)值可按信息訪(fǎng)問(wèn)的時(shí)延需求、帶寬需求和時(shí)延抖動(dòng)需求等進(jìn)行衡量,要求越高,則可用性的價(jià)值越大。
對(duì)訪(fǎng)問(wèn)路徑中關(guān)鍵節(jié)點(diǎn)和關(guān)鍵鏈路的分析,采用以下步驟:
a)確定系統(tǒng)中所有的訪(fǎng)問(wèn)路徑;
b)確定每條訪(fǎng)問(wèn)路徑上信源節(jié)點(diǎn)的信息價(jià)值(可分別用機(jī)密性?xún)r(jià)值VS、完整性?xún)r(jià)值VI和可用性?xún)r(jià)值VA表示);
c)將信息價(jià)值的等級(jí)量化為0~9之間的數(shù),等級(jí)越高,取值越大,形成信源的信息價(jià)值綜合向量NV=(NS,VI,VA);
d)按每條訪(fǎng)問(wèn)路徑的信息流過(guò)程確定所有中間節(jié)點(diǎn)的信息價(jià)值防護(hù)要求。中間節(jié)點(diǎn)k的信息價(jià)值防護(hù)要求 DKV=∑mi=1NiV(其中:m為經(jīng)過(guò)節(jié)點(diǎn)k并且具有不同信源的訪(fǎng)問(wèn)路徑的個(gè)數(shù);V iV為信源i的信息價(jià)值);
e)(分別從機(jī)密性、完整性和可用性三個(gè)方面)找出具有最大DV值的信息節(jié)點(diǎn),它即是信息訪(fǎng)問(wèn)路徑中的關(guān)鍵點(diǎn),與它相連的鏈路即是信息訪(fǎng)問(wèn)路徑中的關(guān)鍵鏈路。
具有不同信息價(jià)值的信息流交匯的信息節(jié)點(diǎn)也是訪(fǎng)問(wèn)路徑中的關(guān)鍵點(diǎn)。例如某臺(tái)計(jì)算機(jī)終端可為不同安全等級(jí)的用戶(hù)提供信息訪(fǎng)問(wèn)接入點(diǎn),它成為了不同安全等級(jí)的信息流的交匯點(diǎn)。雖然低等級(jí)的用戶(hù)無(wú)法直接看到高等級(jí)用戶(hù)訪(fǎng)問(wèn)的信息,但是一旦該計(jì)算機(jī)控制失當(dāng)(被安裝了口令監(jiān)聽(tīng)程序),那么低等級(jí)的用戶(hù)也能以隱蔽信道的方式獲得高等級(jí)用戶(hù)的訪(fǎng)問(wèn)信息,造成失密事件。同樣,如果內(nèi)網(wǎng)中某臺(tái)計(jì)算機(jī)偶爾通過(guò)調(diào)制解調(diào)器與外部網(wǎng)絡(luò)(如Internet)相連,成為不同信息流(內(nèi)部保密信息流和外部公開(kāi)信息流)的交匯點(diǎn),就有可能造成內(nèi)部信息外泄,因此它也是信息訪(fǎng)問(wèn)路徑中的關(guān)鍵點(diǎn)。
信息網(wǎng)絡(luò)安全控制的重點(diǎn)就是要保護(hù)這些關(guān)鍵節(jié)點(diǎn)和關(guān)鍵鏈路,確切地說(shuō),是保障這些關(guān)鍵點(diǎn)和關(guān)鍵鏈路的軟/硬件和數(shù)據(jù)的機(jī)密性、完整性和可用性,常用的安全控制措施包括數(shù)字簽名、容錯(cuò)、安全隔離、安全審計(jì)等。如果它們?cè)馐軗p害,對(duì)整個(gè)系統(tǒng)的信息價(jià)值造成的影響就會(huì)更大。
2訪(fǎng)問(wèn)路徑的綜合脆弱性分析
前面給出的分析方法對(duì)信息網(wǎng)絡(luò)系統(tǒng)中節(jié)點(diǎn)的相對(duì)脆弱性進(jìn)行了評(píng)價(jià)。下面,可以通過(guò)訪(fǎng)問(wèn)路徑的方式,將整個(gè)信息網(wǎng)絡(luò)抽象為一個(gè)無(wú)向圖G,用圖中的節(jié)點(diǎn)表示信息節(jié)點(diǎn),用圖中的邊連接具有訪(fǎng)問(wèn)關(guān)系的相鄰節(jié)點(diǎn)。其中,每個(gè)節(jié)點(diǎn)或每條鏈路的綜合脆弱性可采用加權(quán)和的方式,對(duì)上述分析結(jié)果及已經(jīng)采取的防護(hù)措施進(jìn)行綜合評(píng)價(jià)而獲得。
鏈路的脆弱性可由以下因素決定:
鏈路的共享特性:共享(vul=1)、專(zhuān)用(vul=0);
鏈路是否可被搭線(xiàn)竊聽(tīng):是(vul=1)、否(vul=0);
鏈路的傳輸特性:高速(vul=0)、低速(vul=1);高帶寬(vul=0)、低帶寬(vul=1);
鏈路是否采取加密措施:是(vul=0)、否(vul=1);
鏈路是否采取認(rèn)證措施:是(vul=0)、否(vul=1);
是否是關(guān)鍵鏈路:是(vul=1)、否(vul=0);
鏈路的敏感度;
……
節(jié)點(diǎn)的脆弱性可由以下因素決定:
節(jié)點(diǎn)是否采取了認(rèn)證措施:是(vul=0)、否(vul=1);
節(jié)點(diǎn)是否采取了訪(fǎng)問(wèn)控制措施:是(vul=0)、否(vul=1);
節(jié)點(diǎn)中存在的漏洞數(shù)量和嚴(yán)重程度;
是否是關(guān)鍵節(jié)點(diǎn):是(vul=1)、否(vul=0);
節(jié)點(diǎn)的信息價(jià)值防護(hù)要求;
節(jié)點(diǎn)的受信程度;
……
采用加權(quán)和方式計(jì)算出的節(jié)點(diǎn)或鏈路的取值越大,其綜合脆弱性就越大。最后,可采取最短路徑算法,計(jì)算整個(gè)信息網(wǎng)絡(luò)系統(tǒng)中,存在訪(fǎng)問(wèn)路徑的所有節(jié)點(diǎn)對(duì)之間的最短路徑。計(jì)算時(shí),設(shè)MAXSIZE為無(wú)窮大。如果邊的權(quán)值為MAXSIZE,則表示與這條邊對(duì)應(yīng)的節(jié)點(diǎn)之間不存在直接訪(fǎng)問(wèn)關(guān)系。在計(jì)算前,將所有節(jié)點(diǎn)與邊的權(quán)值取反,這樣的話(huà),越是脆弱性大的節(jié)點(diǎn)或邊,其取反后的權(quán)值越小,因此通過(guò)這些權(quán)值計(jì)算出的最短路徑就是綜合脆弱性最大的訪(fǎng)問(wèn)路徑。顯然,任何一個(gè)節(jié)點(diǎn)面臨的最大威脅來(lái)自于與之相連的最短路徑。通過(guò)這一算法,可將節(jié)點(diǎn)的脆弱性與鏈路的脆弱性綜合起來(lái),得出訪(fǎng)問(wèn)路徑的脆弱性以及節(jié)點(diǎn)在相互關(guān)聯(lián)、相互影響后產(chǎn)生的依賴(lài)脆弱性。改進(jìn)后的最短路徑算法如下(用C語(yǔ)言描述):
3結(jié)束語(yǔ)
運(yùn)用基于模型的結(jié)構(gòu)脆弱性分析方法對(duì)信息網(wǎng)絡(luò)的安全脆弱性,尤其是訪(fǎng)問(wèn)路徑的脆弱性進(jìn)行分析,能夠?yàn)橐?guī)劃、設(shè)計(jì)和運(yùn)行中的信息網(wǎng)絡(luò)的安全控制提供有效的分析手段,較為科學(xué)地確定關(guān)鍵節(jié)點(diǎn)和關(guān)鍵鏈路,以及網(wǎng)絡(luò)中需要保護(hù)的重要信息流,從而能針對(duì)性地采取防護(hù)措施,有效降低網(wǎng)絡(luò)的安全風(fēng)險(xiǎn),發(fā)揮安全控制的最大效益。
參考文獻(xiàn):
[1]金觀濤, 華國(guó)凡. 控制論與科學(xué)方法論[M]. 北京:新星出版社,2005:7.
[2]盧昱. 網(wǎng)絡(luò)控制與控制方式[J]. 裝備指揮技術(shù)學(xué)院學(xué)報(bào), 2003, 14(1):62-65.
[3]盧昱, 王宇. 計(jì)算機(jī)網(wǎng)絡(luò)安全與控制技術(shù)[M]. 北京:科學(xué)出版社, 2005:42.
[4]邢栩嘉, 林闖, 蔣屹新. 基于網(wǎng)絡(luò)的計(jì)算機(jī)脆弱性評(píng)估[J]. 計(jì)算機(jī)學(xué)報(bào), 2004, 27(1):1-11.
[5]林闖, 彭雪海. 可信網(wǎng)絡(luò)研究[J]. 計(jì)算機(jī)學(xué)報(bào), 2005, 28(5):751-758.
[6]RONALD W, RITCHEY, PAUL A. Using model checking to analyze network vulnerabilities[C] //Proc of IEEE Computer Society Symposium on Security and Privacy. Oakland:[s.n.], 2000:156-165.
[7]PAUL A, DUMINDA W, SAKET K. Scalable, graph-based network vulnerability analysis[C] //Proc ofthe 9th ACM Conference on Computer and Communications Security. Washington DC:[s.n.], 2002:217-224.
[8]SAMPLE C,POYNTER I. Quantifying vulnerabilities in the networked environment: Methods and Uses[EB/OL]. [2006-12-12]. http://builder.itpapers.com/abstract.aspx?docid=21491.
[9]潘柱廷. 脆弱性安全VS. 結(jié)構(gòu)性安全[EB/OL]. [2006-12-15]. http://xcon.xfocus.net/xcon2006/archieves/Jordan_Pan-Vulnerability_vs_Structure.pdf.
注:本文中所涉及到的圖表、注解、公式等內(nèi)容請(qǐng)以PDF格式閱讀原文