馬俊春,孫繼銀,王勇軍,趙寶康,陳珊
(1.國(guó)防科學(xué)技術(shù)大學(xué) 計(jì)算機(jī)學(xué)院,湖南 長(zhǎng)沙410073;2.第二炮兵工程學(xué)院,陜西 西安710025;3.中國(guó)人民解放軍96617 部隊(duì),四川 瀘州646000)
攻擊圖展示了攻擊者逐步利用網(wǎng)絡(luò)中各脆弱點(diǎn)進(jìn)行安全破壞的所有可能的攻擊路徑,安全管理員不僅可以利用它直觀地了解目標(biāo)網(wǎng)絡(luò)中存在的潛在威脅,進(jìn)行網(wǎng)絡(luò)安全評(píng)估[1-3],而且可以將它與IDS(入侵檢測(cè)系統(tǒng))等安全產(chǎn)品組合,根據(jù)實(shí)時(shí)安全事件預(yù)測(cè)攻擊者的攻擊意圖[4-5]。因此,研究大規(guī)模復(fù)雜網(wǎng)絡(luò)系統(tǒng)的攻擊圖構(gòu)建方法具有重要的現(xiàn)實(shí)意義。
攻擊圖的構(gòu)建方法經(jīng)歷了從手工分析到自動(dòng)分析,從分析小型企業(yè)網(wǎng)絡(luò)到大規(guī)模復(fù)雜網(wǎng)絡(luò)的發(fā)展過程。目前,美國(guó)、英國(guó)、俄羅斯等都在該方面投入了大量的科研力量,并取得了顯著的成果,比較典型的有:Qu 提出的基于Prolog 邏輯的模型構(gòu)造算法——MulVAL[6]系統(tǒng),Steven Noel 等開發(fā)的基于EDG 模 型 的TVA 系 統(tǒng)[7-8],Lippmann 等 開 發(fā) 的NetSPA 系統(tǒng)[9-10],等等。
目前已涌現(xiàn)出了多種攻擊圖構(gòu)建方法,通過對(duì)現(xiàn)有方法進(jìn)行總結(jié)分析發(fā)現(xiàn),利用現(xiàn)有方法構(gòu)建攻擊圖存在以下兩方面的不足:第一,在現(xiàn)實(shí)的應(yīng)用中,網(wǎng)絡(luò)安全管理人員不僅需要知道攻擊者可能從哪些路徑入侵目標(biāo)主機(jī),還應(yīng)該了解攻擊者能夠入侵網(wǎng)絡(luò)內(nèi)的哪些主機(jī),但是現(xiàn)有的攻擊圖構(gòu)建方法大部分只能用于分析單一攻擊目標(biāo)的安全性。第二,攻擊圖構(gòu)建過程存在復(fù)雜度高、擴(kuò)展性能低、狀態(tài)爆炸等問題,導(dǎo)致攻擊圖生成時(shí)的系統(tǒng)資源消耗較大,從而難以適用于大規(guī)模復(fù)雜網(wǎng)絡(luò)系統(tǒng)。
為了解決上述問題,本文提出了一種基于分布并行處理的攻擊圖構(gòu)建方法,并采用限制攻擊步驟數(shù)和分布并行處理技術(shù)的優(yōu)化策略,力圖有效降低攻擊圖的規(guī)模,減少生成攻擊圖所需的系統(tǒng)資源。
定義1:脆弱性。由多種硬件、軟件、協(xié)議、接口等組件構(gòu)成的計(jì)算機(jī)網(wǎng)絡(luò)系統(tǒng)由于技術(shù)與設(shè)計(jì)上的不完善性,往往存在大量的漏洞和缺陷,這些漏洞或缺陷構(gòu)成了網(wǎng)絡(luò)系統(tǒng)的脆弱性[11]。
本文脆弱性定義為三元組<host,cveid,service>。其中,host 表示主機(jī)的IP 地址,cveid 表示該脆弱性在CVE(Common Vulnerabilities Exposures)中對(duì)應(yīng)的編號(hào)[12],service 表示與該脆弱性相關(guān)的服務(wù)。
定義2:攻擊者初始能力。定義為二元組<host,privilege >,即攻擊者在主機(jī)host 上,擁有privilege 的權(quán)限。本文將權(quán)限分為root、user 和none 三類。root 為用戶的管理員權(quán)限,比如Windows 系統(tǒng)中的管理員權(quán)限,Linux 或Unix 中的Root 權(quán)限;user為普通用戶權(quán)限,比如Windows 系統(tǒng)中的受限用戶的權(quán)限,Linux 或Unix 中的User 權(quán)限;none 表示基本的訪問權(quán)限。
定義3:攻擊場(chǎng)景。是對(duì)目標(biāo)網(wǎng)絡(luò)模型參數(shù)的描述,包括攻擊者初始能力、主機(jī)配置、網(wǎng)絡(luò)配置、防御配置等。通過總結(jié)分析相關(guān)參考文獻(xiàn),針對(duì)大規(guī)模復(fù)雜目標(biāo)網(wǎng)絡(luò),為了實(shí)現(xiàn)大規(guī)模目標(biāo)網(wǎng)絡(luò)建模的自動(dòng)化,本文從網(wǎng)絡(luò)服務(wù)、主機(jī)和安全防護(hù)系統(tǒng)三個(gè)層面對(duì)目標(biāo)網(wǎng)絡(luò)進(jìn)行建模。
定義4:網(wǎng)絡(luò)服務(wù)建模。網(wǎng)絡(luò)服務(wù)定義為四元組<host,service,protocol,port >,其中host 表示主機(jī)的IP 地址,service 表示主機(jī)提供的服務(wù),protocol和port 為服務(wù)service 所用的協(xié)議和端口。
定義5:主機(jī)建模。主要描述主機(jī)上運(yùn)行的服務(wù)及相關(guān)的脆弱性信息,定義為三元組<host,servicename,cveid >,其中host 表示主機(jī)的IP 地址,servicename 表示主機(jī)提供的服務(wù)名稱,cveid 表示主機(jī)上存在的脆弱性編號(hào)。
定義6:安全防護(hù)系統(tǒng)建模。定義為四元組<host1,host2,protocol,port >,即防火墻允許主機(jī)host1 到主機(jī)host2 的協(xié)議為protocol,端口為port 的報(bào)文。
定義7:攻擊模式。通過研究分析大量的脆弱性,借鑒CAPEC 攻擊模式的脆弱性分類方法,本文將攻擊模板知識(shí)庫(kù)進(jìn)行了改進(jìn),抽取出攻擊模板的共同點(diǎn),形成攻擊模式。其定義為四元組<name,precondition,postcondition,cveset >,其中name 為攻擊模式的名稱,precondition 和postcondition 分別對(duì)應(yīng)攻擊模式的前提條件和后果,cveset 為包含屬于該攻擊模式的所有CVE 編號(hào)。在實(shí)際的應(yīng)用中,只有當(dāng)攻擊模式的所有前提條件precondition 滿足時(shí),此攻擊才能被攻擊者實(shí)施,從而產(chǎn)生后果屬性postcondition。
定義8:子攻擊圖SAG(Sub-attack graph).SAG定義為三元組<Attribute,Exploit,Edge >,其中Attribute 表示屬性節(jié)點(diǎn),包括原子攻擊的前提屬性集合和攻擊被實(shí)施后所獲得的新的后果屬性集合。其初始值即初始屬性節(jié)點(diǎn)集合,描述了目標(biāo)網(wǎng)絡(luò)在遭受攻擊前主機(jī)上所運(yùn)行的服務(wù)、開放的端口、存在的脆弱點(diǎn)以及預(yù)處理中提取出的防火墻accept 安全策略等相關(guān)屬性。Exploit 表示原子攻擊節(jié)點(diǎn),攻擊者在對(duì)目標(biāo)網(wǎng)絡(luò)進(jìn)行攻擊時(shí),通過有序的實(shí)施原子攻擊不斷改變目標(biāo)網(wǎng)絡(luò)的屬性,從而一步一步地達(dá)到攻擊者的目的。Edge 是有向邊集合,包括原子攻擊的前提邊集合和原子攻擊的后果邊集合。SAG 滿足下列約束:
1)對(duì)?e∈Exploit,令Pre(e)為e 的父節(jié)點(diǎn)集合,Post(e)為e 的子節(jié)點(diǎn)集合,則(∧Pre(e))→(∧Post(e)),表示只有當(dāng)原子攻擊的所有前提屬性全部滿足后,攻擊者才能實(shí)施該原子攻擊,且當(dāng)原子攻擊被成功利用后,其后果屬性也全部滿足。即該約束表示原子攻擊的所有前提屬性節(jié)點(diǎn)之間存在“與”關(guān)系。
2)對(duì)?a∈Attribute,令Pre(a)為a 的父節(jié)點(diǎn)集合,則(∨Pre(a))→a,表示只要父節(jié)點(diǎn)集合中的任意一個(gè)原子攻擊被成功實(shí)施后,屬性a 就能被滿足。即該約束表示屬性節(jié)點(diǎn)的父節(jié)點(diǎn)集合中的原子攻擊之間存在“或”關(guān)系。
定義9:父攻擊圖TAG(Total Attack Graph).TAG 定義為三元組<SAG,Policy,Edge >,其中SAG為采用正向、廣度優(yōu)先搜索的策略構(gòu)建的子攻擊圖集合。Policy 為預(yù)處理中提取出的防火墻accept 安全策略。Edge 是有向邊集合,依據(jù)防火墻的accept安全策略,將不同的子攻擊圖連接起來。
假設(shè)1:單調(diào)性。攻擊者作為智能主體,對(duì)于已經(jīng)獲得的網(wǎng)絡(luò)屬性不會(huì)再次作為攻擊目標(biāo)進(jìn)行攻擊。
針對(duì)大規(guī)模復(fù)雜網(wǎng)絡(luò)系統(tǒng),為了減小攻擊圖生成算法的復(fù)雜度,首先按照參考文獻(xiàn)[13]中Ammann 提出的單調(diào)性假設(shè),對(duì)攻擊者的攻擊行為做出假設(shè)。其次從分布并行處理的角度將不同區(qū)域的目標(biāo)網(wǎng)絡(luò)進(jìn)行脆弱性分析任務(wù)劃分,提出基于分布并行處理的攻擊圖構(gòu)建方法,該方法分為三部分:任務(wù)劃分、子攻擊圖生成和父攻擊圖生成。
1.2.1 任務(wù)劃分
任務(wù)劃分的思想及實(shí)現(xiàn)方法:首先根據(jù)子網(wǎng)內(nèi)主機(jī)的可達(dá)性,將大規(guī)模復(fù)雜網(wǎng)絡(luò)系統(tǒng)分為多個(gè)子網(wǎng)并進(jìn)行任務(wù)編號(hào)(以下稱為子任務(wù)),即子任務(wù)是子網(wǎng)內(nèi)主機(jī)的可達(dá)性集合;然后將子任務(wù)提交給服務(wù)器,服務(wù)器會(huì)根據(jù)子任務(wù)個(gè)數(shù)和處理器的個(gè)數(shù),將子任務(wù)分配到不同的處理器上,從而實(shí)現(xiàn)子任務(wù)的并行處理;最后對(duì)防火墻安全策略進(jìn)行預(yù)處理,提取出accept 規(guī)則,并按子任務(wù)進(jìn)行分類。
1.2.2 子攻擊圖生成算法及其實(shí)現(xiàn)
SAG 生成算法的思想:在多個(gè)處理器上分布并行地處理子任務(wù),構(gòu)建不同子網(wǎng)內(nèi)的攻擊圖,即生成子攻擊圖SAG.為了解決攻擊圖生成過程中存在的狀態(tài)爆炸問題,同時(shí)還采用了限制攻擊步驟數(shù)的優(yōu)化策略。
在具體的實(shí)現(xiàn)過程中,首先根據(jù)Attribute 的初始屬性值和攻擊者的初始能力,采用正向、廣度優(yōu)先搜索策略,由攻擊者所在的起始位置出發(fā),依次分析其可達(dá)主機(jī)的可攻擊性,并將可攻擊的主機(jī)及其端口記錄在隊(duì)列BFSqueue-attackhost 和BFSqueue-attack 中。即根據(jù)子網(wǎng)的初始屬性和攻擊者的初始能力判斷哪些攻擊模式可以被攻擊者利用,查詢攻擊模式和子網(wǎng)中的脆弱性信息,把攻擊模式實(shí)例化;然后根據(jù)隊(duì)列BFSqueue-attackhost 和BFSqueue-attack中的信息,生成攻擊路徑。算法流程圖如圖1~圖3所示,其中,圖1為SAG 生成算法流程圖,圖2為正向搜索子程序流程圖,圖3為攻擊路徑生成子程序流程圖。對(duì)于攻擊者所在的子網(wǎng),在執(zhí)行SAG 生成算法時(shí),該子網(wǎng)的初始屬性和攻擊者的初始能力由用戶輸入或者工具掃描獲得。對(duì)于其余的子網(wǎng),在執(zhí)行SAG 生成算法時(shí),該子網(wǎng)中攻擊者的初始能力從防火墻安全策略的accept 規(guī)則獲得,即假設(shè)accept 規(guī)則中的源主機(jī)已經(jīng)被攻擊者攻下,是攻擊者的起始位置。
圖1 SAG 生成算法流程圖Fig.1 Flowchart of generating SAG
SAG 生成算法流程圖的詳細(xì)描述:隊(duì)列BFSqueue-start 存放攻擊者的初始能力。第一步,判斷BFSqueue-start 是否為空,如果為空,說明沒有攻擊者,則程序結(jié)束,否則提取BFSqueue-start 的第一個(gè)元素進(jìn)行分析,同時(shí)刪除該元素,依次調(diào)用正向搜索子程序(圖2所示)和攻擊路徑生成子程序(圖3所示);第二步,循環(huán)執(zhí)行第一步,直至BFSqueuestart 為空,即分析了所有的攻擊者。
圖2 正向搜索子程序?qū)崿F(xiàn)流程圖Fig.2 Flowchart of forward search algorithm
正向搜索子程序流程圖詳細(xì)描述:在正向搜索算法具體的實(shí)現(xiàn)過程中,本文定義了3 個(gè)隊(duì)列:BFSqueue-attackhost、BFSqueue-attack 和BFSqueue.其中BFSqueue-attackhost 以[攻擊點(diǎn)主機(jī):目標(biāo)攻擊點(diǎn)]的格式存放攻擊成功的主機(jī)對(duì)集合,該隊(duì)列反映從起始攻擊點(diǎn)到目標(biāo)攻擊點(diǎn)的搜索路徑,由于主機(jī)可以開放多個(gè)端口,可以同時(shí)存在多個(gè)攻擊,因此隊(duì)列中有重復(fù)的元素;BFSqueue-attack 以[攻擊點(diǎn)主機(jī):攻擊目標(biāo)主機(jī):目標(biāo)主機(jī)端口]的格式存放攻擊成功的主機(jī)對(duì)集合,由于該隊(duì)列反映攻擊點(diǎn)主機(jī)通過哪些端口可以攻下攻擊目標(biāo)主機(jī),因此該隊(duì)列中沒有重復(fù)的元素;BFSqueue 是一個(gè)動(dòng)態(tài)隊(duì)列,存放起始攻擊點(diǎn)的所有可達(dá)主機(jī)。
本算法通過兩種方式終止正向搜索:1)通過模擬大規(guī)模復(fù)雜網(wǎng)絡(luò)系統(tǒng),利用攻擊圖生成方法構(gòu)建的攻擊圖中存在長(zhǎng)度超過10 的攻擊路徑,但是經(jīng)過分析真實(shí)的攻擊事件發(fā)現(xiàn):攻擊者不會(huì)采用很復(fù)雜的攻擊手段,不會(huì)以太多的主機(jī)為跳板進(jìn)行攻擊,即其攻擊路徑長(zhǎng)度一般在5 以內(nèi),而且沒有發(fā)現(xiàn)長(zhǎng)度超過10 的。因此在正向搜索算法的實(shí)現(xiàn)過程中,采用限制攻擊步驟的優(yōu)化策略。若攻擊步驟數(shù)超出最大值,則程序終止。2)攻擊點(diǎn)主機(jī)對(duì)應(yīng)的可達(dá)性集合中,沒有未被攻擊或未被分析的主機(jī),因?yàn)楦鶕?jù)單調(diào)性假設(shè),在可達(dá)性集合中,若某臺(tái)主機(jī)在前面的搜索中已經(jīng)分析過或已經(jīng)被攻擊成功,則該主機(jī)為可達(dá)性集合中的無效元素,不需要對(duì)其再進(jìn)行分析。
攻擊路徑生成子程序?qū)崿F(xiàn)流程圖詳細(xì)描述:本文定義了間隔元素和終端元素:所謂間隔元素,是指由于BFSqueue-attackhost 中有重復(fù)的元素,即不同的搜索深度有可能具有相同的攻擊路徑,因此不同搜索深度的元素之間需用(IP:IP)隔開,(IP:IP)則稱為間隔元素;終端元素,是指假設(shè)IP1 和IP2 之間存在攻擊路徑,即(IP1:IP2)滿足,IP2 為最終攻擊目標(biāo),則稱該元素為終端元素。本算法結(jié)合間隔元素和終端元素,先不考慮端口情況,從BFSqueue-attackhost 的隊(duì)列尾開始,分析BFSqueue-attackhost 中主機(jī)的攻擊路徑,然后結(jié)合BFSqueue-attack 中主機(jī)的端口信息,逐一寫出攻擊路徑。
圖4所示為核心算法。
1.2.3 父攻擊圖生成算法及其實(shí)現(xiàn)
構(gòu)造父攻擊圖的基本思路是:1)將防火墻安全策略的accept 規(guī)則進(jìn)行分類。如果策略中未出現(xiàn)對(duì)稱的規(guī)則,則不需分類,如果出現(xiàn)對(duì)稱的規(guī)則,則將此策略分為A、B 兩類,即對(duì)稱的規(guī)則不能同時(shí)出現(xiàn)。比如策略中的accept 規(guī)則為子網(wǎng)1→子網(wǎng)2,子網(wǎng)1→子網(wǎng)3,子網(wǎng)2→子網(wǎng)1,因?yàn)樽泳W(wǎng)1→子網(wǎng)2與子網(wǎng)2→子網(wǎng)1 對(duì)稱,所以該策略應(yīng)被分為兩類,A 類為子網(wǎng)1→子網(wǎng)2,子網(wǎng)1→子網(wǎng)3,B 類為子網(wǎng)2→子網(wǎng)1.2)依次判斷accept 規(guī)則中的源主機(jī)是否被攻擊者攻下,如果被攻下,該SAG不需改變,如果沒被攻下,則應(yīng)去掉SAG 中與之有關(guān)的攻擊路徑。3)依據(jù)防火墻安全策略的accept 規(guī)則,將所有的SAG 連接起來。
圖3 攻擊路徑生成子程序?qū)崿F(xiàn)流程圖Fig.3 Flowchart of generating attack path
圖4 核心算法Fig.4 Core algorithm
父攻擊圖生成算法程序流程圖如圖5所示,在算法實(shí)現(xiàn)過程中,定義了2 個(gè)隊(duì)列:1)ACCqueue,以Type-規(guī)則存放分類好的規(guī)則集;2)SAG-queue,存放根據(jù)規(guī)則集修正后的各類子攻擊圖集合。算法主要由3 個(gè)子程序構(gòu)成:規(guī)則集分類子程序完成對(duì)accept 規(guī)則進(jìn)行分類,如圖6所示;SAG 生成子程序完成對(duì)每一類進(jìn)行子攻擊圖生成;TAG 生成子程序完成將每個(gè)SAG 經(jīng)修正后生成TAG,如圖7所示。
圖5 父攻擊圖生成算法程序流程圖Fig.5 Flowchart of generating TAG
圖6 規(guī)則集分類子程序流程圖Fig.6 Flowchart of classifying rule set
圖7 TAG 生成子程序流程圖Fig.7 Subroutine flowchart of generating TAG
圖8所示是實(shí)驗(yàn)的模擬網(wǎng)絡(luò)拓?fù)鋱D。該網(wǎng)絡(luò)內(nèi)子網(wǎng)的數(shù)目、每個(gè)子網(wǎng)內(nèi)主機(jī)的數(shù)目及每臺(tái)主機(jī)上存在的脆弱點(diǎn)個(gè)數(shù)的最大值都由用戶輸入,且主機(jī)上存在的脆弱點(diǎn)是隨機(jī)分配的。因此,對(duì)于該模擬網(wǎng)絡(luò),可以通過增大網(wǎng)絡(luò)內(nèi)的主機(jī)數(shù)來改變目標(biāo)網(wǎng)絡(luò)的規(guī)模,從而實(shí)現(xiàn)對(duì)大規(guī)模復(fù)雜網(wǎng)絡(luò)的模擬。
圖8 模擬網(wǎng)絡(luò)的拓?fù)鋱DFig.8 Topology of simulation network
在Linux 下用C 語言實(shí)現(xiàn)了本文所提的分布并行攻擊圖構(gòu)建方法。為了測(cè)試該方法的有效性,從兩個(gè)不同角度分別進(jìn)行了實(shí)驗(yàn),并對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行分析。實(shí)驗(yàn)環(huán)境如下:服務(wù)器Power Edge R710,操作系統(tǒng)RetHat v5.4,內(nèi)存32 G,CPU 2.26 GHz.
目前,涌現(xiàn)出了多種攻擊圖構(gòu)建方法,其中做了實(shí)驗(yàn)分析的主要有Sheyner[13]和Ou[14].
本實(shí)驗(yàn)?zāi)M了簡(jiǎn)單的目標(biāo)網(wǎng)絡(luò),該網(wǎng)絡(luò)內(nèi)只有一個(gè)子網(wǎng),網(wǎng)絡(luò)中沒有防火墻設(shè)備,所有主機(jī)可以互相通信;每臺(tái)主機(jī)上最多有5 個(gè)脆弱點(diǎn)。針對(duì)不同的網(wǎng)絡(luò)規(guī)模,分別采用Sheyner、Xinming Ou 和本文提出的攻擊圖構(gòu)建算法生成攻擊圖,圖9展示了3種方法構(gòu)建攻擊圖所花費(fèi)的CPU 時(shí)間。從該圖中可以看出,Sheyner 方法具有較差的時(shí)間復(fù)雜度,CPU 耗時(shí)隨著網(wǎng)絡(luò)規(guī)模成指數(shù)增長(zhǎng),而本文所提的方法和Ou 方法的CPU 耗時(shí)關(guān)于網(wǎng)絡(luò)規(guī)模呈多項(xiàng)式增長(zhǎng),具有良好的時(shí)間復(fù)雜度。同時(shí),本文所提方法的性能優(yōu)于Ou,主要原因是在具體的實(shí)現(xiàn)過程中,該方法采用限制攻擊步驟數(shù)的優(yōu)化策略,從而有效抑制了生成時(shí)間的增長(zhǎng)速度。
圖9 CPU 性能結(jié)果比較Fig.9 Compared on CPU performance
本實(shí)驗(yàn)?zāi)M了具有復(fù)雜拓?fù)浣Y(jié)構(gòu)的目標(biāo)網(wǎng)絡(luò),該網(wǎng)絡(luò)由10 個(gè)子網(wǎng)構(gòu)成,每個(gè)子網(wǎng)都有防火墻對(duì)其進(jìn)行安全防護(hù);每個(gè)子網(wǎng)內(nèi)沒有防火墻,子網(wǎng)內(nèi)的主機(jī)之間可以互相通信;每臺(tái)主機(jī)上最多有5 個(gè)脆弱點(diǎn)。圖10 展示了本文所提的方法在不同的網(wǎng)絡(luò)規(guī)模下,構(gòu)建攻擊圖所花費(fèi)的CPU 時(shí)間。從該圖中可以看出,隨著網(wǎng)絡(luò)規(guī)模的擴(kuò)大,CPU 消耗時(shí)間也不斷增大,但增加的幅度在可以接受的范圍內(nèi),當(dāng)主機(jī)數(shù)目達(dá)到1 000 臺(tái)時(shí),網(wǎng)絡(luò)構(gòu)建攻擊圖的時(shí)間也不過11 min,其中,攻擊圖生成時(shí)間只有23 s,其余時(shí)間為攻擊圖可視化(演示用)的時(shí)間。
圖10 網(wǎng)絡(luò)規(guī)模與CPU 消耗時(shí)間關(guān)系曲線Fig.10 Curve between network size and CPU time consumption
由實(shí)驗(yàn)結(jié)果可以看出本文所提方法具有很好的擴(kuò)展性,可以適應(yīng)對(duì)國(guó)家級(jí)公共基礎(chǔ)網(wǎng)絡(luò)或者運(yùn)營(yíng)商網(wǎng)絡(luò)等大規(guī)模復(fù)雜網(wǎng)絡(luò)脆弱性綜合分析的需要。主要原因是在具體實(shí)現(xiàn)的過程中,其首先進(jìn)行子任務(wù)劃分;然后將子任務(wù)分配到服務(wù)器的處理器上,實(shí)現(xiàn)多線程并行處理,分布并行地構(gòu)建不同子網(wǎng)內(nèi)的攻擊圖;最后將子攻擊圖進(jìn)行融合,生成總的攻擊圖。
本文在前人工作的基礎(chǔ)上提出了一種基于分布并行處理的攻擊圖構(gòu)建方法。與已有的攻擊圖生成方法不同,本文提出的方法旨在對(duì)網(wǎng)絡(luò)的整體安全性做出評(píng)價(jià),能夠表達(dá)出所有可達(dá)的網(wǎng)絡(luò)狀態(tài)及其相應(yīng)的攻擊路徑。本文的主要貢獻(xiàn)在于,站在防御者的角度,通過采用限制攻擊步驟數(shù)的優(yōu)化策略和分布并行處理的技術(shù)構(gòu)建攻擊圖,提高了攻擊圖的生成效率,并且降低了攻擊圖生成時(shí)的系統(tǒng)資源消耗,能夠用于評(píng)估大規(guī)模復(fù)雜網(wǎng)絡(luò)系統(tǒng)的整體安全性。由于屬性攻擊圖隱式地展示了攻擊路徑,不便于直觀理解,在后續(xù)的研究工作中,將對(duì)屬性攻擊圖的化簡(jiǎn)和可視化管理進(jìn)行深入研究。
References)
[1] Ortalo R,Dewarte Y,Kaaniche M.Experimenting with quantitative evaluation tools for monitoring operation security[J].IEEE Transactions on Software Engineering,1999,25(9-10):633-650.
[2] 陸余良,夏陽.主機(jī)安全量化融合模型研究[J].計(jì)算機(jī)學(xué)報(bào),2005,5(28):914-920.LU Yu-liang,XIA Yang.Research on target-computer secure quantitative fusion model[J].Chinese Journal of Computers,2005,5(28):914-920.(in Chinese)
[3] 馮萍慧,連一峰,戴英俠,等.面向網(wǎng)絡(luò)系統(tǒng)的脆弱性利用成本估算模型[J].計(jì)算機(jī)學(xué)報(bào),2006,8(29):1375-382.FENG Ping-h(huán)ui,LIAN Yi-feng,DAI Ying-jie,et al.An evaluation model of vulnerability exploitation cost for network system[J].Chinese Journal of Computers,2006,8(29):1375-382.(in Chinese)
[4] Cuppens F.Alert correlation in a cooperative intrusion detection framework[C]∥Proceedings of the 2002 IEEE Symposium on Security and Privacy,Washington,DC:IEEE Computer Society,2002.
[5] Ning P,Xu D.Learning attack strategies from intrusion alerts[C]∥Proceedings of the 10?ACM Conference on Computer and Communications Security.New York:ACM Press,2003:200-209.
[6] Swiler L P,Phillips C,Ellis D,et al.Computer-attack graph generation tool[C]∥Proceedings DARPA Information Survivability Conference and Exposition (DISCEX II’01),Vol 2.Anaheim:IEEE Computer Society,2001:1307- 1321.
[7] Swiler L P,Phillips C,Gaylor T.A graph-based network-vulnerability analysis system,SAND97-3010/1[R].Sandia National Laboratories,Albuquerque,New Mexico and Livermore:1998.
[8] Ritchey R,Ammann P.Using model checking analyze network vulnerability[C]∥Proceedings of IEEE Symposium on Security and Privacy.2001:156-165.
[9] Sheyner O,Haines Jha S.Automated generation and analysis of attack graph[C]∥Proceedings of IEEE Symposium on Security and Privacy.2002:273-284.
[10] 王永杰,鮮明,劉進(jìn),等.基于攻擊圖模型的網(wǎng)絡(luò)安全評(píng)估研究[J].通信學(xué)報(bào),2007,28(3):29-34.WANG Yong-jie,XIAN Ming,LIU Jin,et al.Study of network security evaluation based on attack graph model[J].Journal of Communications,2007,28(3):29-34.(in Chinese)
[11] Michener J.System insecurity in the internet age[J].IEEE Software,1999,16(4):62-69.
[12] CAPEC.Common attack pattern enumeration and classification[EB/OL].(2009-04-15)[2010-09-26].http:∥www.capec.mitre.org.