專利名稱:對網(wǎng)絡(luò)相關(guān)性安全風(fēng)險(xiǎn)評估的割集應(yīng)用的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信網(wǎng)絡(luò),尤其是對網(wǎng)絡(luò)相關(guān)性安全風(fēng)險(xiǎn)評估的割集方法的應(yīng)用。
背景技術(shù):
威脅和風(fēng)險(xiǎn)分析(TRA)是用于在信息技術(shù)安全(IT安全)和網(wǎng)絡(luò)安全領(lǐng)域中描述用于估計(jì)安全風(fēng)險(xiǎn)和隨后執(zhí)行安全風(fēng)險(xiǎn)管理方法的普通術(shù)語。TRA和其它計(jì)算機(jī)或網(wǎng)絡(luò)安全風(fēng)險(xiǎn)估計(jì)和管理方法統(tǒng)稱為安全風(fēng)險(xiǎn)評估(SRA)方法。
安全風(fēng)險(xiǎn)評估是安全管理的生命周期中的第一步。在高等級,風(fēng)險(xiǎn)評估是這樣一種過程估計(jì)對商業(yè)資產(chǎn)的威脅;確定安全脆弱性或者可以被那些威脅利用的脆弱性;以區(qū)分(prioritize)商業(yè)風(fēng)險(xiǎn)的優(yōu)先次序。安全風(fēng)險(xiǎn)評估是典型地推動(dòng)所有安全計(jì)劃,并在稍后的方法學(xué)階段分析和設(shè)計(jì)活動(dòng)的過程。最重要的安全目標(biāo)是確保資產(chǎn)的安全狀態(tài)滿足保護(hù)關(guān)于資產(chǎn)的保密性、完整性和有效性方面的需求。風(fēng)險(xiǎn)評估幫助決定需要怎樣的適當(dāng)控制以具成本效益地滿足這個(gè)目標(biāo)。
傳統(tǒng)的系統(tǒng)、硬件和相似的可靠性評估方法不適用于安全風(fēng)險(xiǎn)評估,因?yàn)檫@些方法是基于故障是隨機(jī)的這個(gè)前提。SRA不是這種情況,其中故障或者損害通常是惡意(有目的)攻擊的結(jié)果。系統(tǒng)可靠性方法中故障的隨機(jī)特性允許使用雙重系統(tǒng)用于冗余。相反,在SRA領(lǐng)域,雙重的同樣的系統(tǒng)不可能減少損害的可能性。此外,在處理非隨機(jī)(或相關(guān)的)故障或事件時(shí),系統(tǒng)可靠性文獻(xiàn)的建議指出這種類型的故障是無法處理的。
風(fēng)險(xiǎn)分析是復(fù)雜和費(fèi)時(shí)的過程。通常,它包括a)準(zhǔn)備在考慮中的系統(tǒng)的模型,這意味著要標(biāo)識整個(gè)系統(tǒng)的資產(chǎn);b)根據(jù)安全事件在商業(yè)、操作或者服務(wù)上的影響,為資產(chǎn)指定值,這里安全事件是可以引起保密性、完整性和有效性喪失的事件;c)識別資產(chǎn)的脆弱性。安全的三個(gè)基本目標(biāo)是確保保密性、完整性和有效性。脆弱性可以是引起被稱為安全事件的三要素之一喪失的任何情形。這一步典型地要求預(yù)知對資產(chǎn)有哪些損害會(huì)發(fā)生,并且來自于哪些資源;d)預(yù)測發(fā)生風(fēng)險(xiǎn)發(fā)生的可能性,也就是確定每個(gè)脆弱性可能被利用的頻率。發(fā)生的可能性和現(xiàn)有控制的短缺以及惡意的代理將逃避現(xiàn)有控制的可能性相關(guān);和e)通過以某種任意方式組合在(b)到(d)產(chǎn)生的值來估算潛在事件的預(yù)計(jì)成本(影響)。通常,管理風(fēng)險(xiǎn)暴露的商業(yè)中的實(shí)體,比如公司管理或者保障服務(wù)群體,幾乎沒有實(shí)際工具用于估計(jì)成本(影響)。因此,傳統(tǒng)的風(fēng)險(xiǎn)評估結(jié)果經(jīng)常被表示為估計(jì)成本(影響),所述估計(jì)成本(影響)由不需要反映實(shí)際數(shù)據(jù)的近似值或者公式計(jì)算進(jìn)行評估。
如上邊a)所描述的,成功的風(fēng)險(xiǎn)分析的一個(gè)方面是使用完整和精確的數(shù)據(jù)積累來產(chǎn)生分析工具使用的系統(tǒng)模型。然而,使用當(dāng)前建模方法為特定系統(tǒng)產(chǎn)生的安全模型沒有考慮構(gòu)成給定的服務(wù)或者任務(wù)的不同團(tuán)隊(duì)或資產(chǎn),因此對于復(fù)雜的網(wǎng)絡(luò)不能提供現(xiàn)實(shí)的呈現(xiàn)。而且,一旦收集了安全風(fēng)險(xiǎn)信息,信息也很難與相應(yīng)團(tuán)體的動(dòng)態(tài)保持最新。所以如果沒有自動(dòng)化,風(fēng)險(xiǎn)分析任務(wù)是非常復(fù)雜和耗時(shí)的。在前面提到的共同未決的申請?zhí)枮?1/132,118的專利中提供了解決一些或全部這些缺點(diǎn)的模型例子。其中描述的模型提供了簡單、詳細(xì)、標(biāo)準(zhǔn)化的網(wǎng)絡(luò)視圖,包括掃描器數(shù)據(jù)、防火墻、路由器、服務(wù)器和其它主機(jī),還有脆弱性數(shù)據(jù)和事務(wù)邏輯。企業(yè)網(wǎng)絡(luò)的可視圖、商業(yè)應(yīng)用和潛在的安全問題為安全人員給出簡潔的基礎(chǔ)結(jié)構(gòu)安全性的概況和深入了解細(xì)節(jié)的能力。
在電信和IT基礎(chǔ)結(jié)構(gòu)中的軟件脆弱性在規(guī)則的基礎(chǔ)上被發(fā)現(xiàn)和公開。在脆弱性被公開披露后,推測和做出基于可靠消息的決定的能力是主動(dòng)安全的一個(gè)關(guān)鍵方面,這使得網(wǎng)絡(luò)操作者可以在行動(dòng)列表上指定優(yōu)先權(quán)以緩解風(fēng)險(xiǎn)。然而,由于那些脆弱性的數(shù)量和特性,還有網(wǎng)絡(luò)資產(chǎn)的數(shù)量和它們不斷增長的嵌入式軟件層,在特定網(wǎng)絡(luò)中的脆弱性的潛在影響采用及時(shí)的方式評估是很困難的。因此,網(wǎng)絡(luò)可能有成百的不同應(yīng)用系統(tǒng)和服務(wù),成千的用戶帳戶,和每天在因特網(wǎng)上上億的信息比特交換。一些資產(chǎn)也可能有嵌入式軟件層和其依賴性,這使安全評估更加復(fù)雜。用戶和事務(wù)的絕對容量使得設(shè)計(jì)和監(jiān)控安全網(wǎng)絡(luò)體系結(jié)構(gòu)更加困難。盤點(diǎn)機(jī)構(gòu)的應(yīng)用系統(tǒng)、該由機(jī)構(gòu)執(zhí)行的安全措施的當(dāng)前水平以及甚至應(yīng)用體系結(jié)構(gòu)的過程可能是令人畏縮的任務(wù)。
在大多數(shù)情況下,當(dāng)前SRA解決方案使用基于路徑確定的攻擊可能性來估計(jì)商業(yè)風(fēng)險(xiǎn)(也就是,確定用于完成攻擊的一系列脆弱性和資產(chǎn))。然而,在巨大和復(fù)雜的網(wǎng)絡(luò)中,確定與多種攻擊相關(guān)的所有路徑是非常困難和幾乎不可能的,所以只是它們相關(guān)的可能性。另外,對于特定脆弱性或者脆弱性的組合,對特定路徑進(jìn)行減小風(fēng)險(xiǎn)計(jì)算可能更有效,但可能導(dǎo)致復(fù)雜情況的誤解。這種簡化可以有效地最小化實(shí)際風(fēng)險(xiǎn),這樣做可能對全部網(wǎng)絡(luò)安全狀態(tài)評估有巨大的影響。
當(dāng)前已有的風(fēng)險(xiǎn)分析工具可以分為以下幾類網(wǎng)絡(luò)脆弱性掃描器(ISS、Symantec、e-Eye Digital Security、Clickto-Secure),入侵檢測系統(tǒng)(netscreen、F-secure、Sprient、Arbor Networks),安全事件信息管理(IBM、Arc Sight、Intellitactics、Net Forensics、e-Security、Symantec)和暴露風(fēng)險(xiǎn)管理工具(Skybox View)。
1)根據(jù)備有證明文件的脆弱性數(shù)據(jù)庫進(jìn)行工作并且有可能修復(fù)已知的脆弱性的工具。這種類型的工具通過新產(chǎn)品的版本或者通過訂購服務(wù)依賴于設(shè)備供應(yīng)商對數(shù)據(jù)庫的更新。根據(jù)這種分類的例子包括ISS公司的Internet Scanner、Network Associates有限公司的CyberCop和Harris公司的STAT。
2)使用不同的參數(shù)來計(jì)算風(fēng)險(xiǎn)指標(biāo)的整體式工具。這些工具維護(hù)困難,很難隨著迅速發(fā)展的威脅和技術(shù)環(huán)境緊跟潮流。這種工具分類的例子是Los Alamos Vulnerability Assessment(LAVA)工具。
3)檢查諸如操作系統(tǒng)或數(shù)據(jù)庫管理系統(tǒng)的系統(tǒng)特定方面的工具,但忽略了其它系統(tǒng)組件。例如,SATAN分析操作系統(tǒng)的脆弱性,但忽略諸如路由器的基礎(chǔ)結(jié)構(gòu)組件。
但是,當(dāng)前使用的SRA工具在許多方面是不完善的。例如,它們使用私有的和固定的風(fēng)險(xiǎn)計(jì)算公式。這些公式基于多種固定的假設(shè),這其中典型地包括與網(wǎng)絡(luò)拓?fù)?網(wǎng)狀、星型等)、數(shù)據(jù)(建模、有效性、不確定性、和諸如定性或定量之類的類型)、機(jī)構(gòu)類型(軍事、政府、商業(yè)等)和變量(威脅、脆弱性、資產(chǎn)價(jià)值、攻擊路徑)相關(guān)的假設(shè)。通過這樣的公式得到的輸出,往往不能反映在復(fù)雜的信息系統(tǒng)中安全的真實(shí)結(jié)論。對于單個(gè)系統(tǒng),采用多個(gè)廠家的多種工具進(jìn)行分析,是一項(xiàng)勞動(dòng)密集性的任務(wù)。典型地,安全工程師將不得不用多種格式來多次輸入對系統(tǒng)(網(wǎng)絡(luò))的描述或表現(xiàn)。然后安全工程師必須將來自多個(gè)工具的輸出結(jié)果人工分析、整理和合并到一份網(wǎng)絡(luò)安全狀況報(bào)告中。然后,安全工程師可以完成這個(gè)風(fēng)險(xiǎn)分析(計(jì)算預(yù)計(jì)的年度損失、測量控制等),接著重復(fù)對安全風(fēng)險(xiǎn)、系統(tǒng)性能、任務(wù)功能性和開發(fā)預(yù)算中的選擇對象的分析過程。
SRA解決方案的復(fù)雜性是多種情況共同作用的結(jié)果,這些情況包括網(wǎng)絡(luò)具有的高度的內(nèi)部相關(guān)性、相依性和可能的冗余,在下文提到時(shí)稱為“連網(wǎng)系統(tǒng)”。很少有方法涉及相關(guān)性問題,所述相關(guān)性以公司相關(guān)性為基礎(chǔ),或者基于IT安全風(fēng)險(xiǎn)保險(xiǎn)(由于依賴于外部商業(yè)公司,在適當(dāng)?shù)奈恢每赡軟]有合適的IT安全控制),或者用于網(wǎng)絡(luò)和企業(yè)安全(表述了在創(chuàng)建適當(dāng)處理相關(guān)性網(wǎng)絡(luò)安全模型中的缺陷)。
在SRA領(lǐng)域,處理高度相關(guān)的系統(tǒng)和網(wǎng)絡(luò)的算法的使用建立在適當(dāng)?shù)摹⒖缮壍木W(wǎng)絡(luò)安全模型的可用性基礎(chǔ)上。但是,因?yàn)槟壳皼]有網(wǎng)絡(luò)安全模型可以使用,所以目前還無法執(zhí)行計(jì)算高度相互依賴的系統(tǒng)安全風(fēng)險(xiǎn)。存在網(wǎng)絡(luò)管理機(jī)制來建立高度互連的系統(tǒng)的模型,但目前這些不處理于安全問題和SRA。不必說,結(jié)果在這些網(wǎng)絡(luò)系統(tǒng)中安全脆弱性的潛在影響更加難以管理。通常,對互連的系統(tǒng),SRA是在單個(gè)資產(chǎn)(asset-by-asset)基礎(chǔ)上完成的。但是,在前面提到的申請?zhí)枮?1/132,118的相關(guān)專利申請?zhí)峁┝艘环N建立高度相關(guān)的連網(wǎng)系統(tǒng)模型的機(jī)制,從而允許在這里所描述的方法基礎(chǔ)上進(jìn)行更深入的分析。
需要更全面和靈活的安全評估及管理工具來給連網(wǎng)系統(tǒng)提供威脅和風(fēng)險(xiǎn)分析。同樣,存在著對大型團(tuán)體系統(tǒng)的信息安全評估的改進(jìn)方法的需求,在某種意義上改進(jìn)的方法是基于最好的產(chǎn)業(yè)實(shí)踐和理論,并且是可靠的、可重復(fù)的、成本效率的和系統(tǒng)間兼容的。
發(fā)明內(nèi)容本發(fā)明的目的是為連網(wǎng)系統(tǒng)提供一種易于使用、可靠的風(fēng)險(xiǎn)計(jì)算框架。
本發(fā)明的另一個(gè)目的是提供一種全面和靈活的安全風(fēng)險(xiǎn)評估及管理工具,用于彌補(bǔ)現(xiàn)有SRA方法的全部或部分不足。
因此,本發(fā)明對大量系統(tǒng)資產(chǎn)及服務(wù)間具有高度相關(guān)性及相依性的系統(tǒng)提供了一種安全風(fēng)險(xiǎn)分析方法,該方法包括a)為系統(tǒng)準(zhǔn)備模型;b)根據(jù)模型,準(zhǔn)備具有圖形節(jié)點(diǎn)V和邊緣E的圖G[V,E],其中節(jié)點(diǎn)V代表資產(chǎn)和服務(wù),邊緣E代表資產(chǎn)和服務(wù)之間的關(guān)系;c)在圖中,列舉第一組圖形節(jié)點(diǎn)和第二組圖形節(jié)點(diǎn)之間的全部最小割集(MCS),用來確定可能影響相關(guān)的第一和第二組圖形節(jié)點(diǎn)之間關(guān)系的全部圖形節(jié)點(diǎn);和d)評估在MCS的圖形節(jié)點(diǎn)中的安全狀態(tài)。
有利地,本發(fā)明可以為高度互連的系統(tǒng)和在資產(chǎn)與冗余間具有高度相互聯(lián)系及相關(guān)性的系統(tǒng)評估安全風(fēng)險(xiǎn)。
本發(fā)明的另一個(gè)優(yōu)勢是可以在利用(exploits)及資產(chǎn)間進(jìn)行交互。例如,利用攻擊了互連資產(chǎn)的網(wǎng)絡(luò)(Alcatel的),第二個(gè)利用攻擊了另一個(gè)資產(chǎn)網(wǎng)絡(luò)(Cisco的)。據(jù)說,單獨(dú)地,這些利用不會(huì)共同摧毀整個(gè)網(wǎng)絡(luò)。使用本發(fā)明能夠檢測到更易遭受這種攻擊的資產(chǎn),并且采取適當(dāng)?shù)膶Σ摺?br>如附圖所示,通過隨后優(yōu)選實(shí)施例的詳細(xì)描述,本發(fā)明前述的和其它目的、特征和優(yōu)勢將將變得明顯,其中圖1示出安全性概念的框圖表示;圖2說明了在安全系統(tǒng)中的資產(chǎn)類型和資產(chǎn)相關(guān)性;圖3A顯示了割集方法應(yīng)用于網(wǎng)絡(luò)的例子,所述網(wǎng)絡(luò)互連了兩個(gè)處于“依賴于”關(guān)系的網(wǎng)絡(luò)資產(chǎn);圖3B顯示了圖3A例子中的網(wǎng)絡(luò)圖形。
圖4是根據(jù)本發(fā)明的實(shí)施例的安全風(fēng)險(xiǎn)評估方法流程圖;圖5A和5B顯示根據(jù)本發(fā)明的實(shí)施例的割集列舉方法的流程圖,其中圖5A說明了主要步驟,附圖5B進(jìn)一步顯示了附圖5A流程圖的割集列舉子程序的詳細(xì)步驟;圖6顯示了示例性的網(wǎng)絡(luò)圖形,其中兩個(gè)“連接到”資產(chǎn)a和b具有“依賴于”關(guān)系;圖7A-7D針對附圖5中的圖形例子顯示了的割集列舉的各個(gè)階段;和圖8說明了使用擴(kuò)展樹確定附圖5的網(wǎng)絡(luò)的最小割集的遞歸步驟(i=1到8)。
具體實(shí)施方式本發(fā)明提供了一種在網(wǎng)絡(luò)系統(tǒng)中評估安全風(fēng)險(xiǎn)的機(jī)制。圖1是描述前面提到的相關(guān)專利申請’118中描述的安全決策模型30的框圖。圖1示出了模型30的使用者/擁有者12、模型30的實(shí)體以及它們的關(guān)系。從而,模型30代表了脆弱性16、威脅代理18、風(fēng)險(xiǎn)20、威脅22和資產(chǎn)24。使用者/擁有者12可以包括,例如,通信網(wǎng)絡(luò)的擁有者或運(yùn)營商,或者關(guān)心資產(chǎn)24的其他風(fēng)險(xiǎn)承擔(dān)者。資產(chǎn)可以是通信網(wǎng)絡(luò)中的物理或邏輯組件。在通信網(wǎng)絡(luò)的例子中,資產(chǎn)24是這個(gè)網(wǎng)絡(luò)的組件,并且可以是物理的,也可以是邏輯的。如圖所示,使用者/擁有者12對資產(chǎn)進(jìn)行了估值,希望對于資產(chǎn)24最小化風(fēng)險(xiǎn)20,并且可以知道導(dǎo)致風(fēng)險(xiǎn)20的脆弱性16。
各種各樣的脆弱性16對于每類資產(chǎn)24都可能存在。脆弱性16是對于資產(chǎn)進(jìn)行操作中的狀況,它使得資產(chǎn)處于易受攻擊或可能發(fā)生故障。操作系統(tǒng)軟件中的安全漏洞是脆弱性的一個(gè)典型例子。附加到脆弱性的安全等級可以是介于[0...1]間的概率值,如果攻擊者需要較高的專業(yè)知識、或者特殊的設(shè)備和大量資產(chǎn)進(jìn)行攻擊,那么該值就低;另一方面,如果攻擊者需要較低的專業(yè)知識,不需要特殊的設(shè)備和/或極少的資源,例如PC和高速的互聯(lián)網(wǎng)連接,那么脆弱性被認(rèn)為是比較嚴(yán)重的。脆弱性16可以通過使用者/擁有者12強(qiáng)化對策來減少,即諸如對計(jì)算機(jī)系統(tǒng)資產(chǎn)升級操作系統(tǒng)或者應(yīng)用軟件之類的行為。
威脅代理18是希望以使用者/擁有者12不期望的形式濫用或利用資產(chǎn)24的一方。威脅22是潛在的可能導(dǎo)致資產(chǎn)丟失或損害的指示、情況或者事件。威脅值測量(可能未知的)對手的目的及能力;對于用戶的廣泛使用,基于脆弱性指定威脅值是合適的。介于[0,1]間的概率值被解釋為由低到高。
系統(tǒng)30使用脆弱性和網(wǎng)絡(luò)庫存數(shù)據(jù)庫系統(tǒng)(network inventorydatabase system)46,網(wǎng)絡(luò)庫存數(shù)據(jù)庫系統(tǒng)46存儲(chǔ)與脆弱性及資產(chǎn)相關(guān)聯(lián)的信息,或者存儲(chǔ)可以得出脆弱性和資產(chǎn)信息的信息。數(shù)據(jù)庫系統(tǒng)46可以包括安全消息數(shù)據(jù)庫47,用于存儲(chǔ)已知脆弱性的相關(guān)信息,或者被轉(zhuǎn)換或處理成脆弱性信息的安全信息。數(shù)據(jù)庫系統(tǒng)46還可以包括用來存儲(chǔ)網(wǎng)絡(luò)庫存信息的網(wǎng)絡(luò)概況數(shù)據(jù)庫48。網(wǎng)絡(luò)資產(chǎn)相關(guān)的信息可以從網(wǎng)絡(luò)輪廓數(shù)據(jù)庫(network profile database)48獲得,或者由從網(wǎng)絡(luò)輪廓數(shù)據(jù)庫48獲得的信息推導(dǎo)而來。數(shù)據(jù)庫47、48可以存在于LAN(局域網(wǎng))服務(wù)器上,例如,在這種情況下可以通過網(wǎng)絡(luò)接口和LAN連接訪問信息。
例如,脆弱性信息可以被表現(xiàn)為帶有脆弱性標(biāo)識符字段及脆弱性描述字段的數(shù)據(jù)結(jié)構(gòu)。再舉個(gè)例子,資產(chǎn)數(shù)據(jù)結(jié)構(gòu)可以包括資產(chǎn)標(biāo)識符字段、資產(chǎn)類型字段(例如物理或邏輯資產(chǎn),對于服務(wù)或任務(wù)資產(chǎn)是關(guān)鍵的或者重要的,等等)、資產(chǎn)值字段(安全尺度和/或美元值)和資產(chǎn)輪廓字段(用于映射對資產(chǎn)、接入機(jī)制等脆弱性的信息)。和資產(chǎn)與其他資產(chǎn)間關(guān)系相關(guān)的信息可以采取關(guān)系和每個(gè)關(guān)系的資產(chǎn)標(biāo)識符的類型的形式,包括在資產(chǎn)輪廓中?;诎踩珱Q策模型、脆弱性和網(wǎng)絡(luò)庫存系統(tǒng)46,在相關(guān)專利申請11/132,118中描述的風(fēng)險(xiǎn)分析器,維護(hù)了具有網(wǎng)絡(luò)中資產(chǎn)安全狀態(tài)的安全狀態(tài)數(shù)據(jù)庫(未顯示)。
安全狀態(tài)包括對保密性、完整性、有效性的風(fēng)險(xiǎn),或其它網(wǎng)絡(luò)或安全相關(guān)參數(shù)的測量。安全狀態(tài)被存儲(chǔ)為優(yōu)選地包括資產(chǎn)或特性標(biāo)識符的數(shù)據(jù)結(jié)構(gòu)和安全狀態(tài)信息,其中所述安全狀態(tài)信息包括直接暴露的信息、間接暴露的信息、完全暴露的信息和風(fēng)險(xiǎn)信息。例如,安全狀態(tài)信息字段存儲(chǔ)暴露和風(fēng)險(xiǎn)值、另一個(gè)資產(chǎn)的標(biāo)識符、關(guān)系類型和在間接暴露信息的情況下被傳播的脆弱性。資產(chǎn)、脆弱性和安全數(shù)據(jù)結(jié)構(gòu)信息被存儲(chǔ)在脆弱性和網(wǎng)絡(luò)庫存數(shù)據(jù)庫46中。值得注意的是,以上數(shù)據(jù)結(jié)構(gòu)作為例子描述,但它們不限制本發(fā)明的范圍。
網(wǎng)絡(luò)模型通過網(wǎng)絡(luò)資產(chǎn)和這些資產(chǎn)間的關(guān)系進(jìn)行描述。圖2的簡單網(wǎng)絡(luò)模型顯示了資產(chǎn)類型以及資產(chǎn)之間關(guān)系的例子。在這個(gè)例子中,個(gè)人電腦33和工作站36是物理資產(chǎn),操作系統(tǒng)32、35、互聯(lián)網(wǎng)服務(wù)器31和數(shù)據(jù)庫34是邏輯資產(chǎn)。本發(fā)明不受限于圖2中所顯示的特定的資產(chǎn)和關(guān)系。其他類型的資產(chǎn)和關(guān)系也可以存在于通信網(wǎng)絡(luò)或者要進(jìn)行風(fēng)險(xiǎn)評估的其它系統(tǒng)中。
這些資產(chǎn)之間的關(guān)系也在圖2中顯示。關(guān)系描述了資產(chǎn)間是如何被相互連接和/或他們功能上的依賴關(guān)系。一旦關(guān)系被定義,作為特定關(guān)系一部分的資產(chǎn)被鏈接到這個(gè)關(guān)系。資產(chǎn)間的關(guān)系可以是依賴和連接關(guān)系;在安全決策模型中,兩個(gè)資產(chǎn)間的依賴關(guān)系通過“依賴于”關(guān)系標(biāo)識,網(wǎng)絡(luò)節(jié)點(diǎn)間的連接通過“連接至”關(guān)系標(biāo)識。在該例中,PC 33和工作站35有“連接至”關(guān)系,表示這些資產(chǎn)通過物理連接進(jìn)行通信。操作系統(tǒng)32和35在PC 33和工作站36上執(zhí)行,因此和各自的物理資產(chǎn)33、36有“運(yùn)行于”關(guān)系。服務(wù)器31和數(shù)據(jù)庫34通過軟件支持,這些軟件也在PC 33和工作站35上由處理器執(zhí)行。此類軟件通常由操作系統(tǒng)32、35執(zhí)行或者在操作系統(tǒng)32、35中運(yùn)行,服務(wù)器31和數(shù)據(jù)庫34與各自的操作系統(tǒng)32、35有“運(yùn)行于”關(guān)系。
在圖2中描述了服務(wù)器31和數(shù)據(jù)庫35之間的另一種關(guān)系。例如,服務(wù)器31提供庫存系統(tǒng),通過該系統(tǒng)訪問存儲(chǔ)在數(shù)據(jù)庫35中的庫存信息。因此,服務(wù)器31或者它所支持的一項(xiàng)功能依賴于數(shù)據(jù)庫35,并因此與數(shù)據(jù)庫35具有“依賴于”關(guān)系。資產(chǎn)間的關(guān)系可以根據(jù)它們的類型(“連接至”,“運(yùn)行于”,和“依賴于”)和可能存在特定關(guān)系的資產(chǎn)的數(shù)量(例如“連接至”關(guān)系要求至少有兩個(gè)端點(diǎn)資產(chǎn))來描述;安全參數(shù)也可以包括在關(guān)系的描述中。
資產(chǎn)間脆弱性的傳播類型可以取決于資產(chǎn)間的關(guān)系。例如,服務(wù)器31和數(shù)據(jù)庫34間的“依賴于”關(guān)系指出服務(wù)器31的有效性依賴于數(shù)據(jù)庫34的有效性,但是對于“連接至”關(guān)系則不是這種情況。在后一種情況中,僅僅因?yàn)橘Y產(chǎn)PC 33不可用,并不必然意味著工作站36不可用。通過確定和通信網(wǎng)絡(luò)相聯(lián)系的資產(chǎn)間的關(guān)系,安全風(fēng)險(xiǎn)分析系統(tǒng)可以被用于評估相關(guān)資產(chǎn)間脆弱性的傳播。
資產(chǎn)的風(fēng)險(xiǎn)(RiskA)依賴于資產(chǎn)的值(ValueA)和利用弱點(diǎn)來攻擊資產(chǎn)的可能性(LikelihoodA)。假設(shè)資產(chǎn)A被k個(gè)脆弱性V1....Vk影響。典型地,與這單一資產(chǎn)相關(guān)聯(lián)的風(fēng)險(xiǎn)定義如下RiskA=ValueA×LikelihoodAEQ1LikelihoodA=ThreatA×maximum{Vulnerability(Vi)|1≤i≤k} EQ2這里,ValueA表示與資產(chǎn)A損害后相關(guān)的損失或損害的量??赡苄缘仁紼Q2依賴于給定的假定,即假設(shè)對于影響這個(gè)資產(chǎn)的每個(gè)脆弱性Vi,在Vi與這個(gè)資產(chǎn)之間必須存在直接或間接的“被利用”關(guān)系。
如上所述,EQ1和EQ2適用于單個(gè)資產(chǎn)。假設(shè)現(xiàn)在服務(wù)S依賴于k個(gè)資產(chǎn)A1....Ak。如果所有資產(chǎn)A1....Ak都必須免于損害(其中,損害會(huì)導(dǎo)致資產(chǎn)在保密性、完整性、有效性、或者其它網(wǎng)絡(luò)或者安全參數(shù)的損失或部分損失),與相應(yīng)服務(wù)相關(guān)的風(fēng)險(xiǎn)定義如下
Risks=Values×maximum{Likelihood(Ai)|1≤i≤k} EQ3Likelihood(Ai)定義了利用脆弱性破壞資產(chǎn)Ai的可能性。EQ3依賴于給定的假設(shè),即假設(shè)如果Likelihood(Ai)<Likelihood(Aj),則對于有特定目的和能力的特定對手,可能性降低到脆弱性等級。同樣,根據(jù)脆弱性的定義,如果對手能夠執(zhí)行低脆弱性攻擊(即,他有較高的專業(yè)知識和/或大量專用的資源),那么他也能執(zhí)行高脆弱性攻擊。
如果僅(至少)資產(chǎn)A1....Ak中的一個(gè)免于損害(例如,為了復(fù)原目的的冗余服務(wù)器或者數(shù)據(jù)庫),和這個(gè)服務(wù)相關(guān)的風(fēng)險(xiǎn)可以根據(jù)EQ4計(jì)算RiskA=ValueA×minimum{Likelihood(Ai)|1≤i≤k} EQ4模型中“連接至”關(guān)系代表了例如提供網(wǎng)絡(luò)服務(wù)的基礎(chǔ)網(wǎng)絡(luò)。因此,如果資產(chǎn)a,如附圖2中服務(wù)器31,依賴于資產(chǎn)b,也就是數(shù)據(jù)庫34,則存在基本假設(shè),即a可以通過由“連接至”關(guān)系路徑代表的相互連接的網(wǎng)絡(luò)C訪問b。在這種情況下,a依賴于b和C。與a相關(guān)的風(fēng)險(xiǎn)由EQ1給出。因此,與網(wǎng)絡(luò)C相關(guān)的可能性也需要被評估。
本發(fā)明對于網(wǎng)絡(luò)模型應(yīng)用了割集方法,該網(wǎng)絡(luò)模型定義了高度連接的系統(tǒng)或網(wǎng)絡(luò)內(nèi)的相關(guān)性和相依性。割集或者切割是指從圖中被移除的節(jié)點(diǎn)(或邊緣)的集合,它的移除將圖斷開(或切割)成不同子圖上兩個(gè)連通的部分。最小切割問題是找出最小尺寸的切割;換句話說,最小割集的子集不再是割集。在連網(wǎng)系統(tǒng)中,通過從集合中移除以下列方式選擇的節(jié)點(diǎn)的最小集合,即通過移除該集合的節(jié)點(diǎn)和它們的相鄰連接,在兩個(gè)不同的連接部分或網(wǎng)絡(luò)中留下兩個(gè)相關(guān)的資產(chǎn),例如圖2中的資產(chǎn)31和34(即,在剩余子網(wǎng)絡(luò)中,在相關(guān)的資產(chǎn)間不存在任何路徑)。
假設(shè),移除割集中的節(jié)點(diǎn)將導(dǎo)致兩個(gè)不同的連接部分或網(wǎng)絡(luò),在相關(guān)的資產(chǎn)間不剩余路徑,這就導(dǎo)致每個(gè)確定的割集均以特定的方式影響兩個(gè)相關(guān)的資產(chǎn)之間的業(yè)務(wù)的安全狀態(tài),以及相關(guān)資產(chǎn)本身的安全狀態(tài)。因此,割集的節(jié)點(diǎn)形成了節(jié)點(diǎn)的集合,所述節(jié)點(diǎn)集合的安全狀態(tài)應(yīng)被評估并以某種級別被區(qū)分優(yōu)先次序,以便于進(jìn)一步緩解易受攻擊的安全狀態(tài)。
割集方法被用于列舉這樣的節(jié)點(diǎn),所述節(jié)點(diǎn)的安全狀態(tài)可以影響兩個(gè)相關(guān)資產(chǎn)之間的通信。這樣做是為了對應(yīng)當(dāng)被保護(hù)(或被補(bǔ)救)的節(jié)點(diǎn)進(jìn)行確認(rèn)和區(qū)分優(yōu)先次序,以便于確保在兩個(gè)相關(guān)的資產(chǎn)間通信的保密性、準(zhǔn)確性和有效性。
圖3A通過提供互相連接網(wǎng)絡(luò)的簡化表示和一個(gè)割集結(jié)果來說明割集概念。稱為“Apache WWW”的資產(chǎn)通過“相關(guān)”關(guān)系類型連接到另一個(gè)稱為“Oracle DB”的資產(chǎn)。這兩個(gè)資產(chǎn)是通過資產(chǎn)之間多個(gè)“連通性”關(guān)系進(jìn)行物理連接的。根據(jù)這種結(jié)構(gòu),可以發(fā)現(xiàn)6條不同的路徑把“ApacheWWW”資產(chǎn)和“Oracle DB”資產(chǎn)斷開。圖3A顯示了其中的一個(gè)割集,即割集10,包括節(jié)點(diǎn)(路由器)R2、R4和R6以及它們與各自的直接鄰居的連接。圖3B圖示了圖3A網(wǎng)絡(luò)的圖G(X),其中資產(chǎn)是圖的節(jié)點(diǎn),“連接至”關(guān)系是圖的邊緣。如下所述,該圖用于為各個(gè)資產(chǎn)對(在這個(gè)例子中是Apache WWW和Oracle DB)確定最小割集。
圖4是根據(jù)本發(fā)明實(shí)施例進(jìn)行安全風(fēng)險(xiǎn)評估的流程圖。如步驟100所示,通過顯示資產(chǎn)和它們的相關(guān)性來準(zhǔn)備模型(網(wǎng)絡(luò)模型或者網(wǎng)絡(luò)設(shè)備模型)。接下來,如步驟101所示,根據(jù)模型來準(zhǔn)備圖G。如前面所描述的,圖的節(jié)點(diǎn)是網(wǎng)絡(luò)系統(tǒng)的節(jié)點(diǎn)(或者通信設(shè)備的子組件),圖的邊緣顯示了節(jié)點(diǎn)(子組件)之間的關(guān)系。如步驟102所示,一旦產(chǎn)生了圖,給定的資產(chǎn)對(a,b)的最小割集就可以確定了。
接下來,在步驟103,評估各個(gè)最小割集中節(jié)點(diǎn)的安全狀態(tài)。如前面所描述的,受影響的安全狀態(tài)可以是保密性、完整性、有效性,其它網(wǎng)絡(luò)或者與安全相關(guān)的參數(shù)。如果我們假設(shè)最小割集MCSi由k個(gè)資產(chǎn)Ai、1,...Ai,k組成,那么與給定割集MCSi相關(guān)的概率由下面的等式給出Likelihood(MCSi)=minimum{Likelihood(Ai,j)|1≤j≤k} EQ5在EQ5中使用最小的可能性,是因?yàn)槿绻诟罴腥我庖粋€(gè)資產(chǎn)免于損害,那么對手就不會(huì)成功。所以最不可能的脆弱性都需要被考慮到。這個(gè)等式依賴于給定的假設(shè),即假設(shè)如果對手能夠執(zhí)行低脆弱性攻擊,那么他也能執(zhí)行高脆弱性攻擊。
與相互連接的網(wǎng)絡(luò)G相關(guān)的可能性由下面的等式給出
Likelihood(G)=maximum{Likelihood(MCSi)|1≤i≤n} EQ6在等式EQ6中使用最大可能性,是由于(a-b)割集中僅有一個(gè)損害對于對手的成功就足夠了。因此最可能的脆弱性都要被考慮到。
安全風(fēng)險(xiǎn)評估中涉及的每個(gè)參數(shù)必須根據(jù)所關(guān)注的全部安全風(fēng)險(xiǎn)特性來定義。更確切地,SRA可以根據(jù)三元組CIA來確定,即保密性、完整性、有效性屬性。風(fēng)險(xiǎn)等式被應(yīng)用于各個(gè)資產(chǎn)、攻擊和脆弱性的值的每個(gè)安全風(fēng)險(xiǎn)屬性。這種方法例如基于特定對手破壞資產(chǎn)正常狀態(tài)的目的允許區(qū)分風(fēng)險(xiǎn)。另外,惡意的實(shí)體對每個(gè)屬性可以不必具有同樣的威脅能力。同樣的,攻擊以不同類型的弱點(diǎn)類型為目標(biāo),可能導(dǎo)致系統(tǒng)的不同損害。這就導(dǎo)出了隨后的對于單個(gè)資產(chǎn)的一般安全風(fēng)險(xiǎn)等式RiskA[C,I,A]=ValueA[C,I ,A]×LikelihoodA[C,I,A]LikelihoodA[C,I,A]=ThreatA[C,I,A]×maximum{Vulnerability[C,I,A](Vi)|1≤i≤k) EQ7節(jié)點(diǎn)安全狀態(tài)的評估可以用不同的方式執(zhí)行,具有多種細(xì)節(jié)等級。例如,對所有割集中的所有節(jié)點(diǎn)的安全狀態(tài)的評估可以在步驟103中執(zhí)行,并提交給用戶/客戶,從而通過用戶指定的風(fēng)險(xiǎn)優(yōu)先次序區(qū)分準(zhǔn)則確定所有割集中的所有節(jié)點(diǎn)的優(yōu)先次序,如步驟104所示。然后用戶選擇補(bǔ)救活動(dòng)所需的措施和使用適當(dāng)?shù)陌踩L(fēng)險(xiǎn)管理工具來保護(hù)所關(guān)注的節(jié)點(diǎn),如步驟109所示。
或者如步驟105所示的,使用割集內(nèi)優(yōu)先次序區(qū)分算法,可以對每個(gè)割集自動(dòng)執(zhí)行節(jié)點(diǎn)優(yōu)先次序區(qū)分。在當(dāng)前實(shí)施例中,當(dāng)目標(biāo)函數(shù)被最小化時(shí)使用EQ5執(zhí)行優(yōu)先次序區(qū)分105,然而對于其它實(shí)施例,也可以選擇使用割集間優(yōu)先次序區(qū)分方案。在這種方案中,為安全風(fēng)險(xiǎn)管理步驟109在106中選擇來自于105的每個(gè)割集中最高優(yōu)先權(quán)節(jié)點(diǎn)。此外,在步驟105中對來自于每個(gè)割集的被區(qū)分優(yōu)先次序的節(jié)點(diǎn)還可以更進(jìn)一步相對于其它割集進(jìn)行優(yōu)先次序區(qū)分。如步驟107所示,這種操作可以使用割集間優(yōu)先次序區(qū)分算法來執(zhí)行。在當(dāng)前實(shí)施例中,使用EQ6作為要被最大化的目標(biāo)函數(shù)來執(zhí)行優(yōu)先次序區(qū)分107,然而對于其它實(shí)施例,也可以使用可選的割集間優(yōu)先次序區(qū)分方案。在這種方案中,來自107的最高優(yōu)先權(quán)節(jié)點(diǎn)在步驟108從節(jié)點(diǎn)的所有集合中被選擇,并提交給用戶,作為最重要的安全問題在109進(jìn)行補(bǔ)救。
圖4的割集列舉步驟102接下來結(jié)合圖5A和5B的流程圖并同時(shí)參考圖6、7A-7D和8的例子進(jìn)一步詳細(xì)描述。為了提供更具體的理解和在割集方法描述中使用的術(shù)語定義,附圖6顯示了示例性網(wǎng)絡(luò)的圖形,圖7A-7D圖示了用于圖6的圖的割集列舉,圖8顯示了作為結(jié)果的擴(kuò)展樹,擴(kuò)展樹描寫了不同的MCS是如何通過節(jié)點(diǎn)替換來產(chǎn)生的。
我們使用下面的定義、符號和函數(shù)-G[V,E]是具有節(jié)點(diǎn)V和邊緣E的圖。在V中有n個(gè)節(jié)點(diǎn),包括源節(jié)點(diǎn)a,和目的節(jié)點(diǎn)b。在圖6的示例性圖中,有通過多個(gè)邊緣(例如,電纜)相連接12個(gè)節(jié)點(diǎn)(n=12)。要注意,這個(gè)描述同樣適用于網(wǎng)絡(luò)單元的組件和獨(dú)立子組件,不一定必須是網(wǎng)絡(luò)中的節(jié)點(diǎn)。割集方法應(yīng)用在這個(gè)例子中用來對節(jié)點(diǎn)1和7之間的連接關(guān)系進(jìn)行安全風(fēng)險(xiǎn)評估。因此,定義的割集被用來作為威脅和風(fēng)險(xiǎn)分析的基礎(chǔ)(在附圖4中的103步驟執(zhí)行)。
-a,b分別是源節(jié)點(diǎn)和目的節(jié)點(diǎn)-MCS是最小a-b割集。再次聲明,定義的割集S是所選節(jié)點(diǎn)的子集,這樣,通過移除所有這些節(jié)點(diǎn)以及它們的相鄰邊緣,剩下節(jié)點(diǎn)a和b在兩個(gè)不同的連接的子網(wǎng)絡(luò)或者組件中(也就是說,在剩下的子圖中a和b之間沒有路徑)。只要不存在S的子集仍然是割集的情況,割集S就是最小(MCS)。
-Cb,稱為“包括目的節(jié)點(diǎn)b的部分”,是由去除當(dāng)前最小割集后產(chǎn)生的(最大)連接部分子圖,它包括節(jié)點(diǎn)b。通過定義割集,Cb不能包含在和節(jié)點(diǎn)a同一連接部分中的任何節(jié)點(diǎn)。根據(jù)EQ8,來決定相對于割集節(jié)點(diǎn)的子圖CbCb=Connected Component(b,G[V-MCS]) EQ8-N(a)是在圖G中和節(jié)點(diǎn)a相鄰節(jié)點(diǎn)的集合(a的鄰居);N(X)是和任一個(gè)單元X相鄰的節(jié)點(diǎn)的集合。
-N+(x),也稱為“N+”,是在Cb中并且與節(jié)點(diǎn)x相鄰的節(jié)點(diǎn)的集合。N+根據(jù)EQ9決定N+(x)=N(x)∩CbEQ9-I(X),稱為“隔離的節(jié)點(diǎn)”,表示節(jié)點(diǎn)X的子集,在當(dāng)前MCS中的節(jié)點(diǎn)被移除后,其沒有至Cb的任何邊緣。換句話說,這些節(jié)點(diǎn)只能夠經(jīng)過一個(gè)或多個(gè)在當(dāng)前MCS中的節(jié)點(diǎn)到達(dá)b,因此移除當(dāng)前MCS將使這些節(jié)點(diǎn)從b中“隔離”出來。I(X)如下確定I(X){x∈X|(w∈Cb)[(x,w)E]} EQ10割集列舉從確定“最靠近”源節(jié)點(diǎn)的第一MCS開始。這個(gè)MCS中的每個(gè)節(jié)點(diǎn)被替換為(其中的一些)它的相鄰節(jié)點(diǎn),產(chǎn)生新的MCS。循環(huán)地,來自于新的MCS的每個(gè)節(jié)點(diǎn)被再次替換為它的相鄰節(jié)點(diǎn)。當(dāng)每一個(gè)新MSC被發(fā)現(xiàn)時(shí),MCS就被儲(chǔ)存到收集器中;然而如果新的MCS僅僅在它沒有和已經(jīng)存儲(chǔ)的MCS重復(fù)時(shí),才被存儲(chǔ)在收集器中。AVL樹對于MCS收集器是首選的,因?yàn)樽鳛槠胶鈽?,它保證了快速搜索時(shí)間,因此。AVL樹的詳細(xì)定義可以在http://www.nist.gov/dads/HTML/avltree.html找到。但是,本發(fā)明并不受限于AVL收集器樹(collector tree),相反,可以使用任何其它數(shù)據(jù)結(jié)構(gòu)來代替AVL樹。對給定的MCS,我們使用EQ11來替換在MCS中的節(jié)點(diǎn)xnewMCS=(MCS∪N+(x))-I(MCS∪N+(x)) EQ11已公開的用于割集列舉的算法典型地將時(shí)間主要花費(fèi)在每個(gè)新的MCS產(chǎn)生時(shí)對Cb的重新計(jì)算上。為了減少計(jì)算的運(yùn)算時(shí)間,我們希望避免重新計(jì)算Cb。方法是一次計(jì)算Cb,按需要繼續(xù)調(diào)整它。這就意味著Cb必須是全局變量,并且必須小心跟蹤C(jī)b的每一次改變,以使這些改變可以在合適的時(shí)候被取消。本質(zhì)上,子程序的每次調(diào)用必須使Cb不發(fā)生改變;我們通過在需要時(shí)改變Cb并且立即恢復(fù)它的方式來實(shí)現(xiàn)這一點(diǎn)。
定義和使用下面的函數(shù)-Delta是舊Cb和新Cb之間的差,它由替換某個(gè)MCS(我們稱它為MCSk)的節(jié)點(diǎn)x所產(chǎn)生。我們使用術(shù)語“當(dāng)前的”(或舊的)來表示對應(yīng)于移除MCSk的Cb,“新的”表示對應(yīng)于移除MCSk+1(它對應(yīng)于替換了MCSk中節(jié)點(diǎn)x后的結(jié)果)的Cb。使用Delta避免了對于Cb加減Delta的這種次要花費(fèi)的重新計(jì)算;這使得割集列舉的相關(guān)速度增加,這是在這里描述的方法相對于以前技術(shù)方法的主要優(yōu)勢。Delta由EQ12給出Delta=N+(x) EQ12-d(x)是從當(dāng)前節(jié)點(diǎn)x到目的節(jié)點(diǎn)b(任意一個(gè)目的節(jié)點(diǎn))的“最短距離”。距離d(x)用于確定節(jié)點(diǎn)是否不能被隔離。因此,如果從節(jié)點(diǎn)x到b的最短距離d(x)比從節(jié)點(diǎn)y到b的最短距離d(y)大,那么移除節(jié)點(diǎn)x并不能使節(jié)點(diǎn)y隔離;因?yàn)楸厝淮嬖趶哪康墓?jié)點(diǎn)y到b的路徑,該路徑不包括x,否則d(y)必然大于d(x)。作為例子,圖6中顯示在節(jié)點(diǎn)9和7之間的最短距離是4。
-MBIG(U),稱為“可以被隔離的”,這是一群節(jié)點(diǎn),新MCS可能使它們相對于目的節(jié)點(diǎn)是隔離的。(注意,d(x)檢測可以確定節(jié)點(diǎn)是否不能被隔離,但是d(x)檢測不能確定節(jié)點(diǎn)是否實(shí)際上是隔離的。)我們采用的方式是,查看可以由最新建立的割集從b隔離出的舊Cb中的節(jié)點(diǎn)集合;這些“不明確的節(jié)點(diǎn)”被收集到這個(gè)“可以被隔離的”集合。在許多情況下,MBIG是空的。此外,對于本發(fā)明的割集列舉方法使用MBIG和d(x)相對于現(xiàn)有方法主要提供了速度優(yōu)勢。MBIG(Y)根據(jù)EQ13計(jì)算MBIG(Y){z|(y∈Y),[z∈N+(y)],[d(z)>d(y)]} EQ13-usedDelta是標(biāo)明Delta是否已經(jīng)使用過或者Cb是否需要被計(jì)算(對于新MCS)的標(biāo)記。換句話說,“used Delta”標(biāo)記標(biāo)志了是否需要重新計(jì)算。
割集列舉從步驟201確定所有節(jié)點(diǎn)到目的節(jié)點(diǎn)的距離d(x)開始。如上所述,最短距離被用來確定是否節(jié)點(diǎn)在任意節(jié)點(diǎn)被替換后變成隔離的節(jié)點(diǎn)。注意,圖7A的流程圖顯示距離僅計(jì)算了一次;每次Cb被重新計(jì)算時(shí)重新計(jì)算距離是有利的,但是為了簡化說明,這點(diǎn)在這里被省略了。在步驟203,系統(tǒng)識別了與源節(jié)點(diǎn)a相鄰的節(jié)點(diǎn)集合N(a),和在這個(gè)等級上的隔離節(jié)點(diǎn)群I(N(a))。然后在步驟203中,作為N(a)和I(N(a))之間的差,計(jì)算第一MCS。
對于圖6中的圖G,如圖7A所示,N(a)包括節(jié)點(diǎn)9、11、2和3,Cb包括節(jié)點(diǎn)2、3、5、6、7和8。隔離節(jié)點(diǎn)群I(N(a))在這個(gè)階段包括節(jié)點(diǎn)9、11,因?yàn)檫@些節(jié)點(diǎn)沒有任何到子圖Cb的邊緣。N+(a)是N(a)和Cb的交集,N+(a)={2,3}。N(a)和I(N(a))之間的差導(dǎo)致了第一MCS{2,3,9,11}-{9,11}={2,3}。在圖8顯示的樹的根部,如步驟205所示,這個(gè)割集被存儲(chǔ)在收集器中。
接下來,調(diào)入在圖5B中顯示的步驟207的子程序,從而通過替換在給定的MCS中的節(jié)點(diǎn)來找到更多的MCS(在這種情況下,給定的MCS恰好是第一MCS)。一旦MCS被存儲(chǔ)到收集器樹中,遞歸地調(diào)用子程序的新實(shí)例來計(jì)算由替換新的MCS節(jié)點(diǎn)產(chǎn)生的更深一層MCS。因此,子程序?qū)嵗臄?shù)量取決于源節(jié)點(diǎn)和目的節(jié)點(diǎn)之間的距離。在給定的MCS中的每個(gè)節(jié)點(diǎn)被處理后,列舉返回到前一的實(shí)例。如在圖8所示,在標(biāo)準(zhǔn)的“深度優(yōu)先”遍歷(“depth-first”traversal)來建立所有MCS的樹(參見http://mathword.wolfram.com/Depth-First Traversal.html)。
現(xiàn)在回到圖5B,MCS列舉從初始化步驟開始,標(biāo)識了當(dāng)前MCS中的節(jié)點(diǎn)選擇的MCS下標(biāo)i,在步驟200中被初始化。接下來,如果i≥MCS大小,選擇判斷框202的“否”分支,對于各個(gè)MCS的MCS列舉結(jié)束,步驟205和對前一MCS的迭代從步驟222恢復(fù)。這意味著當(dāng)前MCS的每個(gè)節(jié)點(diǎn)已經(jīng)被替換,因此返回子程序。
另一方面,如果下標(biāo)i小于MCS的大小,選擇判斷框202的“是”分支,在步驟204繼續(xù)割集列舉,在該步驟選擇下一個(gè)要被替換的節(jié)點(diǎn)。在圖7A-7D的例子中,第一MCS的大小是2。如圖7B中的箭頭所指示的,因?yàn)閷τ趇=0來說,i小于MCS大小,例如MCS{2,3}的節(jié)點(diǎn)2的第一節(jié)點(diǎn),被與節(jié)點(diǎn)2相鄰的Cb中的節(jié)點(diǎn)替換,在這個(gè)例子中是{5}。
在步驟206,使用距離檢測根據(jù)EQ13對可以從目的節(jié)點(diǎn)隔離的節(jié)點(diǎn)集合(MBIG)進(jìn)行計(jì)算。對于圖7B的例子,MBIG的計(jì)算如此進(jìn)行x=2;因此N+(2)={5};這意味著MBIG(N+(x))=MBIG({5})??紤]EQ13,MBIG={z|z∈N+(5),d(z)>d(5)}。由于N+(5)={6,8},我們檢測z=6和z=8。在這兩種情況下,d(z)都小于d(5),這意味著通過移除節(jié)點(diǎn)5,不會(huì)隔離節(jié)點(diǎn)6或節(jié)點(diǎn)8,所以在這種情況下MBIG為空。因此,在這種情況下我們使用Delta來調(diào)整Cb。如步驟210所示,使用N+計(jì)算Delta。通過減去Delta,將當(dāng)前Cb調(diào)整為新的Cb。usedDelta標(biāo)記被設(shè)置為真(true);這個(gè)標(biāo)記標(biāo)明了Cb的起源,所以我們可以在步驟222中返回后恢復(fù)Cb。
如果MBIG(N+(x))不為空,就如判斷框206的“否”分支所示,used Delta標(biāo)記被置為假(false),以表明Delta未被使用,在這種情況下保存當(dāng)前的Cb并且在步驟208根據(jù)EQ8計(jì)算新的Cb。
在兩個(gè)實(shí)例中,割集的列舉繼續(xù)在步驟212進(jìn)行,步驟212通過檢查Cb是否仍包括節(jié)點(diǎn),來判斷這次列舉是否達(dá)到了目標(biāo)節(jié)點(diǎn)b。因此,如果Cb不為空,就如判斷框210的“否”分支所示,在步驟214使用EQ11計(jì)算新MCS。在例子中,新Cb(參見圖7C)包括節(jié)點(diǎn){6,7,8},因此它是非空的,從而計(jì)算新MCSnewMCS={2,3}∈{5}-{2}={3,5}。另一方面,如果Cb是空的,就如判斷框212的“是”分支所示,我們跳過步驟214,至步驟220。
判斷框216過濾掉已經(jīng)被保存的MCS。因此,如果newMCS還沒有被發(fā)現(xiàn),則僅將步驟214中確定的newMCS存儲(chǔ)在MCS Collector中。
在判斷框216的“否”分支上,一旦newMCS被保存,步驟218,新的迭代被(遞歸地)地調(diào)用,以通過在newMCS中替換節(jié)點(diǎn),來生成進(jìn)一步的割集。換句話說,從新MCS的第一個(gè)節(jié)點(diǎn)開始的新列舉從流程圖的新實(shí)例上的步驟200開始。
當(dāng)子程序返回時(shí),通過檢查used Delta標(biāo)記來恢復(fù)Cb。如果used Delta標(biāo)記是真,即判斷框222中“是”的分支,通過將Delta添加到Cb的當(dāng)前值,將Cb設(shè)置成最近一次MCS計(jì)算之前的值。這在步驟224中示出。如果used Delta標(biāo)記是假,就如步驟226所示,savedCb(保存的Cb)的值被恢復(fù)成Cb。如步驟228所示,在Cb被恢復(fù)后,通過增加下標(biāo)i使得對MCS的下一節(jié)點(diǎn)的列舉繼續(xù)進(jìn)行。由于在步驟202中,i仍然小于MCS的大小,那么就發(fā)生該列舉實(shí)例的另一次迭代,如圖7C所示。
圖7C中,在MCS{3,5}中的節(jié)點(diǎn)3正在被替換。在這種情況下,N+(3)是{6}并且I(MCS∪N+(3))是{3}。Delta計(jì)算的結(jié)果是{5},其將Cb調(diào)整為{6,7,8}。隨后計(jì)算新的MCSnewMCS={5,6},當(dāng)它不能再被列舉時(shí)就被存儲(chǔ)。
當(dāng)前MCS的所有節(jié)點(diǎn)均被替換時(shí)(發(fā)生在下標(biāo)i大于等于MCS的大小的時(shí)候),子程序返回(“遞歸堆棧出棧”并且返回到前一個(gè)實(shí)例)。
本發(fā)明特別地關(guān)注于割集、“節(jié)點(diǎn)割集”、“邊緣割集”、“分離器集合(separator set)”和類似地用于識別關(guān)鍵節(jié)點(diǎn)的方法的使用,以便于對網(wǎng)絡(luò)安全狀態(tài)進(jìn)行進(jìn)一步的分析。在由節(jié)點(diǎn)和邊緣(代表網(wǎng)絡(luò)中的節(jié)點(diǎn)和鏈接)組成的互連圖形中,存在一些圖形拓?fù)?,其中最小割集的集合將不包括源與目的之間可用路徑上的全部節(jié)點(diǎn)。因此,在僅僅依靠割集的系統(tǒng)中,可能存在未識別的高風(fēng)險(xiǎn)節(jié)點(diǎn)。對于這些孤立的情況,需要其他的機(jī)制來識別高風(fēng)險(xiǎn)節(jié)點(diǎn)(也就是說,例如對處于相關(guān)資產(chǎn)之間的已知路徑上的節(jié)點(diǎn)進(jìn)行風(fēng)險(xiǎn)評估),這不是本發(fā)明的目的。
權(quán)利要求
1.一種對系統(tǒng)進(jìn)行安全風(fēng)險(xiǎn)分析的方法,所述系統(tǒng)的多個(gè)系統(tǒng)資產(chǎn)及服務(wù)間具有高度相關(guān)性和相依性,該方法包括a)為所述系統(tǒng)準(zhǔn)備模型;b)根據(jù)所述模型,準(zhǔn)備具有圖形節(jié)點(diǎn)V和邊緣E的圖G[V,E],其中節(jié)點(diǎn)V代表所述資產(chǎn)和服務(wù),邊緣E代表所述資產(chǎn)和服務(wù)之間的關(guān)系;c)在所述圖中,列舉第一組圖形節(jié)點(diǎn)和第二組圖形節(jié)點(diǎn)之間的全部最小割集(MCS),來確定對相關(guān)的所述第一和第二組圖形節(jié)點(diǎn)之間的關(guān)系有影響的全部圖形節(jié)點(diǎn);并且d)評估所述最小割集中的所述圖形節(jié)點(diǎn)的安全狀態(tài)。
2.根據(jù)權(quán)利要求
1的方法,其中針對一個(gè)或多個(gè)安全參數(shù)評估所述安全狀態(tài)。
3.根據(jù)權(quán)利要求
2的方法,其中所述安全參數(shù)是所述圖形節(jié)點(diǎn)的保密性、完整性和有效性。
4.根據(jù)權(quán)利要求
1的方法,其中步驟d)包括根據(jù)各個(gè)所述圖形節(jié)點(diǎn)的值和所述資產(chǎn)的弱點(diǎn)將被利用的概率(LikelihoodA),估算所述最小割集中所述圖形節(jié)點(diǎn)的風(fēng)險(xiǎn)(EQ1);和基于所述服務(wù)的值和已經(jīng)利用脆弱性來攻擊所述最小割集中的任何資產(chǎn)的概率(Likelihood(Ai)),估算所述服務(wù)的風(fēng)險(xiǎn)。
5.根據(jù)權(quán)利要求
1的方法,其中步驟d)包括根據(jù)為所述最小割集中每個(gè)圖形節(jié)點(diǎn)所確定的所有概率(Liklihood(Aij))的最小值,估算所選的最小割集的風(fēng)險(xiǎn)。
6.根據(jù)權(quán)利要求
1的方法,其中步驟d)包括根據(jù)為所述最小割集中每個(gè)圖形節(jié)點(diǎn)所確定的所有概率(Liklihood(MCSi))中的最大值,估算相關(guān)的所述第一和第二組圖形節(jié)點(diǎn)之間的關(guān)系的安全風(fēng)險(xiǎn)。
7.根據(jù)權(quán)利要求
1的方法,進(jìn)一步包括基于客戶指定的風(fēng)險(xiǎn)評估標(biāo)準(zhǔn)區(qū)分圖形節(jié)點(diǎn)的優(yōu)先次序;和保護(hù)圖形節(jié)點(diǎn)子集,以使相關(guān)的所述第一和第二組圖形節(jié)點(diǎn)之間的關(guān)系的風(fēng)險(xiǎn)最小。
8.根據(jù)權(quán)利要求
1的方法,進(jìn)一步包括基于所述資產(chǎn)的安全狀態(tài),區(qū)分在全部最小割集的每個(gè)最小割集中圖形節(jié)點(diǎn)的優(yōu)先次序;基于客戶指定的風(fēng)險(xiǎn)評估標(biāo)準(zhǔn),確定每個(gè)最小割集中的高風(fēng)險(xiǎn)圖形節(jié)點(diǎn);和保護(hù)所述高風(fēng)險(xiǎn)圖形節(jié)點(diǎn),以保證相關(guān)的所述第一和第二組圖形節(jié)點(diǎn)之間的通信的保密、準(zhǔn)確和有效。
9.根據(jù)權(quán)利要求
1的方法,進(jìn)一步包括基于所述圖形節(jié)點(diǎn)的安全狀態(tài),區(qū)分在全部最小割集中的所述圖形節(jié)點(diǎn)的優(yōu)先次序;基于客戶指定的風(fēng)險(xiǎn)評估標(biāo)準(zhǔn),從全部最小割集內(nèi)的全部資產(chǎn)中確定最高風(fēng)險(xiǎn)節(jié)點(diǎn);并且保護(hù)所述最高風(fēng)險(xiǎn)節(jié)點(diǎn),以保證相關(guān)的第一和第二組圖形節(jié)點(diǎn)之間的通信保密、準(zhǔn)確和有效。
10.根據(jù)權(quán)利要求
1的方法,其中所述系統(tǒng)是通信網(wǎng)絡(luò),所述資產(chǎn)是所述通信網(wǎng)絡(luò)中的節(jié)點(diǎn),并且相關(guān)的所述第一和第二資產(chǎn)是通過所述通信網(wǎng)絡(luò)相互連接的第一和第二節(jié)點(diǎn)。
11.根據(jù)權(quán)利要求
10的方法,其中步驟c)包括c1)在所述圖中,確定所有節(jié)點(diǎn)到所述第二節(jié)點(diǎn)的最短距離d(x);c2)在所述圖中,確定與所述源節(jié)點(diǎn)相鄰的節(jié)點(diǎn)集合N(a)、連接部分Cb(a),所述Cb(a)是包含了所述第二節(jié)點(diǎn)和一組隔離的節(jié)點(diǎn)I(N(a))的子圖;c3)找出將所述第一節(jié)點(diǎn)與所述第二節(jié)點(diǎn)隔離開的第一最小割集,所述第一最小割集具有通過下標(biāo)i標(biāo)識的許多節(jié)點(diǎn);c4)將所述第一最小割集存儲(chǔ)在最小割集收集器樹的根部;和c5)使用子程序列舉源于所述第一最小割集中的每個(gè)節(jié)點(diǎn)的全部最小割集,其中所述子程序中的每一個(gè)新實(shí)例S(k+1)將當(dāng)前最小割集、當(dāng)前Cb、從當(dāng)前實(shí)例S(k)接收的所述最小割集收集樹的當(dāng)前變量處理成新最小割集、新Cb、所述最小割集收集樹新變量。
12.如權(quán)利要求
11的方法,其中,如果所述當(dāng)前最小割集沒有和已經(jīng)存儲(chǔ)的最小割集重復(fù),它就被存儲(chǔ)在所述最小割集收集器樹中。
13.如權(quán)利要求
11的方法,其中,對于替換所述當(dāng)前最小割集的節(jié)點(diǎn)x的每一個(gè)所述當(dāng)前實(shí)例S(k),步驟c5)包括找出相鄰節(jié)點(diǎn)的集合(N+(x)),該集合包括與所述節(jié)點(diǎn)x相鄰的全部節(jié)點(diǎn),所述全部節(jié)點(diǎn)在所述當(dāng)前最小割集的節(jié)點(diǎn)已經(jīng)從所述圖中移除后,依然與所述第二節(jié)點(diǎn)相連;和確定在所述圖中是否包括可以被所述新最小割集從所述第二節(jié)點(diǎn)隔離開的任何節(jié)點(diǎn)(MBIG(N+(x)))。
14.根據(jù)權(quán)利要求
13的方法,進(jìn)一步包括,如果MBIG為空,就基于所述相鄰節(jié)點(diǎn)的集合確定所述當(dāng)前Cb。
15.根據(jù)權(quán)利要求
14的方法,進(jìn)一步包括將所述N+作為差函數(shù)Delta存儲(chǔ),并且設(shè)置標(biāo)記usedDelta為真,來表明需要對所述新Cb重新計(jì)算。
16.根據(jù)權(quán)利要求
13的方法,進(jìn)一步包括,如果MBIG不為空,就保存所述當(dāng)前Cb;并且確定所述當(dāng)前Cb。
17.根據(jù)權(quán)利要求
16的方法,進(jìn)一步包括,設(shè)置標(biāo)記usedDelta為假,來表明不需要對所述新Cb重新計(jì)算。
18.根據(jù)權(quán)利要求
14的方法,其中,對于標(biāo)記usedDelta為真的當(dāng)前實(shí)例,步驟c5)包括取回所述差函數(shù)Delta;和通過將Delta加到所述當(dāng)前Cb,計(jì)算所述新Cb。
19.根據(jù)權(quán)利要求
16的方法,其中對于標(biāo)記usedDelta為假的當(dāng)前實(shí)例,步驟c5)包括取回所述當(dāng)前Cb作為所述新Cb使用。
20.根據(jù)權(quán)利要求
11的方法,其中所述最短距離d(x)表明移除所述當(dāng)前最小割集中的節(jié)點(diǎn)是否不能使另一個(gè)節(jié)點(diǎn)與所述第二節(jié)點(diǎn)隔離開。
21.根據(jù)權(quán)利要求
13的方法,其中MBIG(N+(x))包括可以被所述新最小割集從所述第二節(jié)點(diǎn)隔離開的所述當(dāng)前最小割集的全部節(jié)點(diǎn),所述節(jié)點(diǎn)基于各自的所述最短距離d(x)被聚集到MBIG(N+(x))。
專利摘要
本發(fā)明涉及使用“割集”列舉方法為網(wǎng)絡(luò)提供威脅和風(fēng)險(xiǎn)分析,所述網(wǎng)絡(luò)的資產(chǎn)間具有高度相關(guān)性及相依性。被確定的割集作為威脅和風(fēng)險(xiǎn)分析的基礎(chǔ),因?yàn)槊總€(gè)割集都能影響網(wǎng)絡(luò)中兩個(gè)相關(guān)資產(chǎn)間的業(yè)務(wù),從而影響相關(guān)的資產(chǎn)本身的安全狀態(tài)。被影響的安全狀態(tài)可以是保密性、完整性、有效性或其它網(wǎng)絡(luò)及與安全有關(guān)的參數(shù)。
文檔編號H04L29/06GK1996330SQ200610171867
公開日2007年7月11日 申請日期2006年9月22日
發(fā)明者D·維默爾, J-M·羅伯特, B·K·麥克法蘭, C·古斯塔夫, S·T·喬, 湯劍 申請人:阿爾卡特公司導(dǎo)出引文BiBTeX, EndNote, RefMan