亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于動態(tài)概率攻擊圖的云環(huán)境攻擊場景構(gòu)建方法

        2021-02-28 04:45:22王文娟杜學繪單棣斌
        通信學報 2021年1期
        關(guān)鍵詞:攻擊者漏洞報警

        王文娟,杜學繪,單棣斌

        (信息工程大學,河南 鄭州 450001)

        1 引言

        隨著云計算[1]的發(fā)展和廣泛應用,攻擊者不再滿足于傳統(tǒng)的計算平臺,而是將其主戰(zhàn)場轉(zhuǎn)移到了云計算平臺。2016 年,云安全聯(lián)盟(CSA,Cloud Security Alliance)公布了《云計算面臨的十二大安全威脅》,其中高級可持續(xù)攻擊(APT,advanced persistent threat)、分布式拒絕服務(DDoS,distributed denial of service)攻擊等仍將盛行。如圖1 所示的DDoS 攻擊過程中,攻擊者給云環(huán)境中的虛擬機(VM,virtual machine)發(fā)送帶有惡意代碼shellcode的網(wǎng)址或文件,若VM 使用帶有漏洞的瀏覽器或應用程序打開惡意網(wǎng)址或惡意文件,shellcode 就會開始執(zhí)行并利用瀏覽器或應用程序的漏洞獲得該VM的控制權(quán)。攻擊者下載惡意軟件如木馬到VM 并安裝木馬軟件,然后向木馬軟件建立遠程連接下達攻擊命令,例如控制木馬軟件掃描其他VM 的漏洞、竊取被攻擊VM 里的重要信息、控制多個VM 發(fā)動DDoS 攻擊。

        圖1 DDoS 攻擊過程

        可見,DDoS 攻擊表現(xiàn)出復雜多步、隱蔽性強等特點,成為攻擊者的重要攻擊手段。復雜多步攻擊是指一個完整的攻擊由多個具有不同目的的單步攻擊組成,達到某個目的之后繼續(xù)實施下一個單步攻擊,執(zhí)行多個攻擊步驟后實現(xiàn)最終目標。然而,云入侵檢測系統(tǒng)(CIDS,cloud intrusion detection system)檢測出的報警事件是孤立的、低層次的,反映的是基于單點的、單時間的單步攻擊或攻擊片段,往往不具備關(guān)聯(lián)能力來識別復雜多步攻擊。因此,研究如何揭示報警之間隱藏的關(guān)聯(lián)關(guān)系、還原完整的攻擊場景(AS,attack scenario)是應對復雜多步攻擊的有效措施。攻擊場景是指呈現(xiàn)攻擊者入侵滲透過程的“畫面”,通過“畫面”能夠獲得攻擊者發(fā)動攻擊的起點、單步攻擊之間的關(guān)系,以及攻擊者的攻擊目標、攻擊路徑等信息,攻擊場景常用“圖”的形式表示[2]?;诖?,本文研究面向云計算環(huán)境的攻擊場景構(gòu)建方法,旨在再現(xiàn)和還原攻擊者的復雜多步滲透過程,幫助云安全管理員從整體上把握攻擊活動全貌,為實施有效的安全防御提供更全面的估計和決策依據(jù)。

        2 相關(guān)工作

        攻擊場景構(gòu)建實質(zhì)上是報警關(guān)聯(lián)分析,揭露各個孤立報警之間的邏輯關(guān)系,并轉(zhuǎn)化為易于理解的、可視化的報警關(guān)聯(lián)圖。目前,報警關(guān)聯(lián)所采用的技術(shù)手段主要包括以下4 種:基于相似度的方法、基于數(shù)據(jù)挖掘的方法、基于屬性攻擊圖的方法和基于概率攻擊圖(PAG,probability attack graph)的方法。

        基于相似度的方法是通過計算報警之間各屬性的相似度來判定報警之間是否具有關(guān)聯(lián)關(guān)系,此種方法的關(guān)鍵在于定義相似度函數(shù)。Wang 等[3]通過計算報警間各屬性相似度的加權(quán)平均和得到整體相似度,對整體相似度大于給定閾值的超報警進行關(guān)聯(lián)。梅海彬等[4]提出利用報警間的相似度函數(shù)對具有相似攻擊行為的序列進行聚類,并基于聚類的報警序列自動發(fā)現(xiàn)多步攻擊模式。此種方法計算開銷小,依賴專家知識較少,但需要預先定義閾值,只能發(fā)現(xiàn)統(tǒng)計上的關(guān)聯(lián)情況。

        基于數(shù)據(jù)挖掘的方法是通過關(guān)聯(lián)算法、序列模式算法等發(fā)現(xiàn)隱藏在報警中的關(guān)聯(lián)關(guān)系,依據(jù)關(guān)聯(lián)關(guān)系構(gòu)建攻擊行為序列。葛琳等[5]利用Map-Reduce架構(gòu)下的Apriori 關(guān)聯(lián)算法挖掘多維通信信息中的頻繁項集,再進行綜合關(guān)聯(lián)分析。魯顯光等[6]使用改進的FP Growth 算法挖掘報警之間的關(guān)聯(lián)規(guī)則,繼而進行報警關(guān)聯(lián)。該方法不依賴專家知識,能夠發(fā)現(xiàn)未知威脅行為,但是存在準確度較低、實用性較低等缺陷。

        基于屬性攻擊圖的方法直觀地呈現(xiàn)了攻擊者利用目標網(wǎng)絡各脆弱點進行逐步滲透的所有可能攻擊路徑,描述了攻擊步驟間的因果依賴關(guān)系,依據(jù)攻擊圖將報警進行匹配關(guān)聯(lián),從而構(gòu)建攻擊場景。因此,如何高效地生成攻擊圖和依據(jù)攻擊圖進行告警匹配關(guān)聯(lián)成為該方法的2 個重要研究內(nèi)容。目前,一些研究更加專注于攻擊圖的分布式并行計算,以提高其生成效率。Wang 等[7]提出了一種基于啟發(fā)式搜索的攻擊圖生成方法,通過引入匹配索引表來存儲原子攻擊的最新匹配結(jié)果,從而提高攻擊圖的生成效率。Kaynar 等[8]提出了一種分布式攻擊圖生成算法,應用于分布式多代理平臺,由多個代理節(jié)點分別生成子攻擊圖,再由中心節(jié)點將子攻擊圖合并成全局攻擊圖。實驗表明,分布式并行計算可以提高攻擊圖生成速度。

        然而,實際上攻擊步驟間的因果關(guān)系存在著不確定性因素,例如,無法確定某攻擊是否一定會成功,前一攻擊步驟能否導致下一攻擊步驟的發(fā)生等[9]。研究者將攻擊場景構(gòu)建視為不確定性推理問題,試圖從概率推理的角度對攻擊步驟之間的因果關(guān)系進行分析。劉威歆等[10]提出了基于攻擊圖的多源報警關(guān)聯(lián)分析算法,能夠綜合應用圖關(guān)系和閾值進行報警的聯(lián)動推斷和預測,從而構(gòu)建攻擊場景。呂慧穎等[9]深入分析了網(wǎng)絡對抗在空間上的復雜性和時間上的動態(tài)性,采用狀態(tài)轉(zhuǎn)移圖描述了威脅事件的時空關(guān)聯(lián)。該方法存在狀態(tài)空間爆炸問題,難以適應大規(guī)模網(wǎng)絡,且只能發(fā)現(xiàn)一定時間內(nèi)的報警關(guān)聯(lián)。陳小軍等[11]提出了一個面向內(nèi)部攻擊意圖推斷的概率攻擊圖模型,并設計了攻擊意圖推斷算法以及最大概率攻擊路徑推斷算法,但是這些算法并沒有考慮誤報警和漏報警產(chǎn)生的影響。王碩等[12]提出了基于因果知識網(wǎng)絡的攻擊場景構(gòu)建方法,將因果知識網(wǎng)絡分為因果關(guān)系和因果知識,因果關(guān)系依據(jù)專家知識定義,因果知識則是從報警中挖掘計算得出。該方法依賴專家知識,從具有較高誤報率和漏報率的報警中挖掘的因果知識是不太準確的。為了直觀地描述各類方法的特性,表1 對不同報警關(guān)聯(lián)方法進行了分析比較。

        表1 不同報警關(guān)聯(lián)方法對比

        綜上所述,基于概率攻擊圖的方法能夠揭示攻擊步驟間的因果依賴和概率推理關(guān)系,準確度較高,此方法已成為目前攻擊場景構(gòu)建的主流方法。然而,基于概率攻擊圖的方法仍然面臨一些問題和挑戰(zhàn)。

        1) 云計算具有彈性、動態(tài)性的特點,其網(wǎng)絡拓撲結(jié)構(gòu)、安全策略如防火墻規(guī)則等會經(jīng)常發(fā)生改變,這導致概率攻擊圖不可能是一成不變的,而應是隨著時間的推移動態(tài)變化的。

        2) 異常檢測系統(tǒng)不可避免地存在誤報和漏報問題,誤報和漏報無疑會對攻擊場景的構(gòu)建產(chǎn)生影響,如出現(xiàn)冗余、斷裂等問題,并不能真正地反映攻擊者的實際攻擊過程。

        針對以上問題,本文提出了一種基于動態(tài)概率攻擊圖的云環(huán)境攻擊場景構(gòu)建方法。該方法在概率攻擊圖的基礎上,立足于攻擊步驟間的因果依賴關(guān)系和概率推理關(guān)系,考慮其時空約束和動態(tài)特性,對動態(tài)概率攻擊圖模型、攻擊場景構(gòu)建過程進行了形式化建模和設計實現(xiàn)。本文的主要貢獻如下。

        1) 構(gòu)建了動態(tài)概率攻擊圖模型,通過定性分析與定量分析相結(jié)合,能夠準確合理地刻畫攻擊步驟間的因果依賴關(guān)系和概率推理關(guān)系。設計了概率攻擊圖更新算法,使之能夠隨時間的推移而動態(tài)變化,從而適應彈性、動態(tài)的云計算環(huán)境。

        2) 在已知動態(tài)概率攻擊圖和觀測報警的前提下,設計了攻擊意圖推斷算法和最大概率攻擊路徑推斷算法,解決了誤報、漏報導致的攻擊路徑錯誤、斷裂等不確定性問題,保證了攻擊場景的準確性。同時,將攻擊場景隨動態(tài)概率攻擊圖動態(tài)演化,保證了攻擊場景的完備性和新鮮性。

        3) 在部署的云計算實驗環(huán)境下對提出的動態(tài)概率攻擊圖模型以及攻擊場景構(gòu)建方法進行了實驗驗證。實驗結(jié)果表明,本文方法能夠構(gòu)建完整的、動態(tài)演化的攻擊場景,進而幫助云安全管理員從整體上把握云環(huán)境的安全態(tài)勢。

        3 動態(tài)概率攻擊圖構(gòu)建

        動態(tài)概率攻擊圖借鑒動態(tài)圖思想,動態(tài)圖又稱圖流或圖序列,指會隨時間推移而動態(tài)更新的圖[13]。這里,為了方便理解和描述動態(tài)概率攻擊圖,首先定義概率攻擊圖。

        3.1 動態(tài)概率攻擊圖定義

        定義1 概率攻擊圖。PAG 由網(wǎng)絡結(jié)構(gòu)和網(wǎng)絡參數(shù)兩部分組成,記為PAG=(G,P)。

        1) 網(wǎng)絡結(jié)構(gòu)G=(V,E)

        G是一個有向無環(huán)圖。

        V=A∪S為節(jié)點集合。A={ai|ai=action(host,vul)}為動作節(jié)點集合,action 表示原子攻擊ai所采取的動作,可能是一次掃描或一次漏洞利用;host表示ai的攻擊目標主機;vul 表示ai利用的漏洞信息;變量ai取值為1 或0,表示原子攻擊行為是否發(fā)生。S={si|si=state(host)}為狀態(tài)節(jié)點集合,state 表示攻擊者所處的狀態(tài);變量si取值為1 或0,表示是否獲取host 的權(quán)限或占有host 的資源,s0表示初始狀態(tài),si表示攻擊致變狀態(tài)。G={gi|gi=goal(host)}為攻擊目標狀態(tài)節(jié)點集合,滿足G?S。

        E={ei|ei∈(E s∪Ea)}為有向邊集合。其中,E s=S×A為前提邊,表示只有前置狀態(tài)滿足時才能實施某原子攻擊;Ea=A×S為后果邊,表示原子攻擊成功實施后能夠達到某個新的后置狀態(tài)。

        2) 網(wǎng)絡參數(shù)P=(Δ, Θ)

        Δ=Δs∪ Δa表示依附在有向邊上的權(quán)值。其中,Δs依附于Es,指狀態(tài)節(jié)點到動作節(jié)點的一步轉(zhuǎn)移概率,表示在前置狀態(tài)滿足的條件下攻擊發(fā)生的概率,稱為攻擊發(fā)生概率;Δa依附于Ea,表示原子攻擊成功后到達后置狀態(tài)的概率,稱為攻擊成功概率。

        Θ={θi|θi=P(vi|Pre(vi))}表示局部條件概率分布表(LCPT,local conditional probability table)。θi表示節(jié)點vi與其所有父節(jié)點的依賴關(guān)系程度,Pre(vi)表示節(jié)點vi的父節(jié)點集合。根節(jié)點s0沒有父節(jié)點,其概率值由先驗知識給出,根據(jù)根節(jié)點的概率值和邊權(quán)值便可推導出所有后續(xù)節(jié)點的LCPT。

        定義2概率攻擊圖更新操作。概率攻擊圖更新操作可以用三元組表示。其中,op={I,D}表示更新操作類型,op=I表示增加操作,op=D表示刪除操作,ai和sj分別表示概率攻擊圖中與操作op 相關(guān)的動作節(jié)點和狀態(tài)節(jié)點。這里用更新操作集合GCi={, …,}表示在ti時刻的所有更新操作。

        需要說明的是,向概率攻擊圖中增加一個節(jié)點,包括與該節(jié)點相關(guān)的一系列增加邊、增加邊權(quán)值和LCPT 等操作。類似地,刪除一個節(jié)點,則包括與該失效節(jié)點相關(guān)的一系列刪除邊、刪除邊權(quán)值等操作。

        為了描述概率攻擊圖動態(tài)變化的特性,需要引入時間因素,這里將攻擊步時作為概率攻擊圖的更新周期。

        定義3攻擊步時Δt。當攻擊者的入侵行為有一個攻擊步時,若在長時間內(nèi)仍未發(fā)起后續(xù)攻擊,則認為入侵失敗,設置一個時間窗口Δt來衡量攻擊的成功與否。已知大部分攻擊的攻擊步時為2 h,設置Δt=2 h。

        定義4動態(tài)概率攻擊圖(DPAG,dynamic probability attack graph)。DPAG 指在時間域T=[t0,tn]內(nèi)隨攻擊步時Δt動態(tài)更新的概率攻擊圖流,可表示為

        其中,二元組表示PAG0在ti時刻上的更新圖PAGi,PAG0表示t0時刻上的初始概率攻擊圖。GCi表示ti時刻的更新操作,GCi:PAGi?1|→ PAGi表示ti?1時刻的概率攻擊圖PAGi?1在更新操作GCi下得到的ti時刻的概率攻擊圖PAGi。

        由定義4 可知,動態(tài)概率攻擊圖的構(gòu)建過程實際上是初始概率攻擊圖的構(gòu)建與更新過程,其更新過程是按固定時間間隔的(即周期性更新),適應于較穩(wěn)定的、改變量較小的私有云環(huán)境。對于公有云來說,其環(huán)境規(guī)模大,變化頻繁,如新增大量節(jié)點、部署新的系統(tǒng)等,為了提高更新效率,可以采取觸發(fā)更新機制,即當網(wǎng)絡環(huán)境發(fā)生變化時,提前自適應地局部更新。

        3.2 概率攻擊圖構(gòu)建

        概率攻擊圖的構(gòu)建主要包括兩部分:網(wǎng)絡結(jié)構(gòu)生成和網(wǎng)絡參數(shù)確定。網(wǎng)絡結(jié)構(gòu)生成是指生成動作節(jié)點和狀態(tài)節(jié)點,并識別節(jié)點之間的因果依賴關(guān)系,以有向無環(huán)圖直觀展示;網(wǎng)絡參數(shù)確定是指確定節(jié)點間的因果依賴強度。

        3.2.1 網(wǎng)絡結(jié)構(gòu)生成

        網(wǎng)絡結(jié)構(gòu)生成是依據(jù)拓撲結(jié)構(gòu)與漏洞信息等,借助攻擊圖生成工具生成攻擊圖的網(wǎng)絡結(jié)構(gòu)。目前,研究者已開發(fā)了多種攻擊圖生成工具,如Ou等[14]開發(fā)的多主機多漏洞分析工具MulVAL、Noel等[15]提出的拓撲脆弱性分析工具TVA、Lippmann等[16]提出的基于圖論的攻擊圖生成工具NetSPA等。其中,MulVAL 是Linux 平臺開源攻擊圖生成工具,可用于大規(guī)模網(wǎng)絡的攻擊圖生成,實驗數(shù)據(jù)表明,對于包含2 000 臺主機的模擬網(wǎng)絡,生成攻擊圖的時間在15 s 左右;對于具有n個節(jié)點的網(wǎng)絡,復雜度為O(n2),符合多項式時間要求。MulVAL 工具將主機/網(wǎng)絡配置、網(wǎng)絡連通性信息、漏洞信息等輸入文件input.P 中,使用Graphviz 圖形生成器繪制攻擊圖,輸出的攻擊圖存儲在AttackGraph.PDF文件中。由于MulVAL 是開源工具,且相對于其他工具有更好的準確度和可擴展性,得到了工業(yè)界和學術(shù)界的一致認可,已廣泛應用于攻擊圖可行性驗證和性能測評,因此,本文選用MulVAL 工具生成網(wǎng)絡結(jié)構(gòu)。

        3.2.2 網(wǎng)絡參數(shù)確定

        網(wǎng)絡參數(shù)確定是指確定有向邊權(quán)值以及每個節(jié)點的LCPT。

        1) 有向邊權(quán)值確定

        攻擊發(fā)生概率Δs。元素是前提邊(si,aj)的權(quán)值,表示在狀態(tài)si滿足的前提下攻擊aj發(fā)生的概率,ΔSij=P(a j|si)。

        攻擊發(fā)生的概率與漏洞被利用的難易程度相關(guān),漏洞越難被利用,相應的攻擊發(fā)生的可能性越小。通用脆弱性評估系統(tǒng)(CVSS,common vulnerability scoring system)是漏洞評估的公開行業(yè)標準[17]。CVSS 中的訪問向量(AV,access vector)、訪問復雜度(AC,access complexity)、認證(Au,authentication)等屬性描述了漏洞被利用的難易程度[17],可作為確定攻擊發(fā)生概率Δs的依據(jù)。攻擊發(fā)生的概率可定義為

        實際上,也存在一些攻擊并不是通過漏洞利用來發(fā)動的,如口令猜測攻擊等。這類攻擊發(fā)生的概率可以根據(jù)其發(fā)生的頻率來確定。本文確定的攻擊發(fā)生概率的取值如表2 所示。

        表2 攻擊發(fā)生概率的取值

        攻擊成功概率Δa。元素Δaij是后果邊(ai,sj)的權(quán)值,表示原子攻擊ai成功發(fā)生后到達后置狀態(tài)sj的概率,=P(s j|ai)。

        實際上,對于漏洞利用攻擊來說,其攻擊成功的概率與攻擊發(fā)生的概率是相關(guān)的,比如攻擊者選擇一個漏洞進行攻擊是否成功與該漏洞被利用的難易程度相關(guān)。因此,這里將漏洞利用攻擊的成功概率置為1.0,攻擊發(fā)生概率中已經(jīng)考慮了其難度。但是對于其他攻擊,其攻擊成功的概率與攻擊發(fā)生的概率又不完全一樣,比如口令猜測攻擊很容易發(fā)生,但是成功的可能性卻比較低。因此,其他攻擊的成功概率根據(jù)專家知識庫來設置,如果攻擊難度較大,則攻擊成功的概率為0.1。攻擊成功概率的取值如表3 所示。

        表3 攻擊成功概率的取值

        2) 節(jié)點LCPT 確定

        概率攻擊圖中包括動作節(jié)點和狀態(tài)節(jié)點2 類,故LCPT 的計算存在以下2 種情況。

        ①指向同一動作節(jié)點ai的各狀態(tài)節(jié)點之間是“與”關(guān)系,即只有當攻擊ai的所有前置狀態(tài)都滿足時,ai才有可能發(fā)生。

        ②指向同一狀態(tài)節(jié)點si的各動作節(jié)點之間是“或”關(guān)系,即任何一個原子攻擊成功都能夠達到此狀態(tài)si。

        對于動作節(jié)點ai,其父節(jié)點集用Pre(ai)來表示,則ai的LCPT 為

        對于狀態(tài)節(jié)點si,其父節(jié)點集用Pre(si)來表示,則si的LCPT 為

        概率攻擊圖模型如圖2 所示。其中,虛線圓形表示狀態(tài)節(jié)點,虛線方形表示動作節(jié)點,有向邊表示節(jié)點間的因果關(guān)系。設節(jié)點s0的先驗概率P(s0)=0.8,根據(jù)式(2)和式(3),可推導出所有后續(xù)節(jié)點的LCPT。

        不難發(fā)現(xiàn),概率攻擊圖中網(wǎng)絡結(jié)構(gòu)G從定性的角度直觀地刻畫了原子攻擊間的因果依賴關(guān)系,網(wǎng)絡參數(shù)P則從定量的角度量化了因果依賴的強度,通過定性分析與定量分析相結(jié)合,有利于準確合理地構(gòu)建攻擊圖。

        3.3 概率攻擊圖更新

        概率攻擊圖更新包括2 種方法:重新生成和局部更新。如果拋開原攻擊圖重新生成攻擊圖,則計算代價較大,新攻擊圖相較于原攻擊圖大部分是重復的,為此可以在原攻擊圖的基礎上實現(xiàn)攻擊圖的動態(tài)更新。

        圖2 概率攻擊圖模型

        引起概率攻擊圖變化的主要因素包括網(wǎng)絡拓撲改變、主機節(jié)點信息改變、防火墻規(guī)則微調(diào)等,根據(jù)定義2 可知,概率攻擊圖變化實際上是節(jié)點增加或刪除、相關(guān)前提邊和后果邊增加或刪除以及網(wǎng)絡參數(shù)的改變。因此,概率攻擊圖的更新工作主要包括3 個步驟:①確定引起改變的因素;②計算其改變量;③依據(jù)改變量更新概率攻擊圖。需要說明的是,當概率攻擊圖的網(wǎng)絡結(jié)構(gòu)發(fā)生變化時,網(wǎng)絡參數(shù)也隨之變化,這里為了簡化描述,省略了網(wǎng)絡參數(shù)的更新描述。下面分別從網(wǎng)絡拓撲改變、主機節(jié)點信息改變、防火墻規(guī)則改變這3 種情況來描述攻擊圖的局部更新過程。

        1) 網(wǎng)絡拓撲改變

        當引起攻擊圖結(jié)構(gòu)變化的因素是網(wǎng)絡拓撲改變,即增加或刪除一個主機節(jié)點時,需要確定該主機節(jié)點與其他節(jié)點的可達性關(guān)系,并計算可達性關(guān)系所產(chǎn)生的攻擊圖改變量。具體地,當增加一個主機節(jié)點時,解析該主機節(jié)點上的一個或多個脆弱性,在攻擊圖中增加與脆弱性相對應的動作節(jié)點,并基于可達性關(guān)系搜索動作節(jié)點的前置狀態(tài),使用前提邊進行連接,若搜索不到,則從初始狀態(tài)開始連接,同時增加新動作節(jié)點的后果邊和后置狀態(tài);當刪除一個主機節(jié)點時,解析該主機節(jié)點上的脆弱性,刪除與脆弱性相對應的、失效的動作節(jié)點,并刪除與失效動作節(jié)點相連接的所有邊和后續(xù)節(jié)點。

        2) 主機節(jié)點信息改變

        當引起攻擊圖結(jié)構(gòu)變化的因素是主機節(jié)點信息改變,即某主機的脆弱性信息改變、端口開放或關(guān)閉時,其更新過程與網(wǎng)絡拓撲改變時相似。不同之處在于,當修復某主機的脆弱性時,在攻擊圖中應當刪除失效的動作節(jié)點和后置狀態(tài)節(jié)點。如果該動作節(jié)點的后置狀態(tài)還存在其他父節(jié)點,則表明攻擊者通過其他攻擊行為也能夠達到該狀態(tài),因此不刪除其后置狀態(tài)節(jié)點。

        3) 防火墻規(guī)則改變

        防火墻規(guī)則改變是指規(guī)則的增加和刪除。當增加防火墻規(guī)則時,主機節(jié)點間的可達性關(guān)系可能會失效,由此攻擊圖內(nèi)與規(guī)則相關(guān)的源主機節(jié)點和目的主機節(jié)點間的脆弱性關(guān)聯(lián)關(guān)系也會失效;當刪除防火墻規(guī)則時,主機節(jié)點間的可達性關(guān)系可能會增加,攻擊圖內(nèi)與規(guī)則相關(guān)的主機節(jié)點間會產(chǎn)生新的脆弱性關(guān)聯(lián)關(guān)系,其更新過程與網(wǎng)絡拓撲改變時相似。

        以網(wǎng)絡拓撲改變?yōu)槔?,描述概率攻擊圖更新算法,如算法1 所示。

        算法1概率攻擊圖更新算法

        輸入 ti?1時刻的概率攻擊圖PAG=(A,S,E),新增的主機節(jié)點host

        輸出ti時刻的概率攻擊圖PAG'=(A',S',E')

        圖3 概率攻擊圖更新示例

        概率攻擊圖更新示例如圖3 所示。其中,X軸和Y軸為空間方向,T軸為時間方向。動態(tài)概率攻擊圖的時間域為T=[t0,t3],t0時刻對應的是初始概率攻擊圖PAG0=(A0,S0,E0)。假設在t1=t0+Δt時刻主機host1中產(chǎn)生一個新的脆弱性,則攻擊圖中應該增加一個相對應的動作節(jié)點a5,同時增加節(jié)點a5的前提邊、后置狀態(tài)s3及后置邊。用PAG1=(A1,S1,E1)表示由PAG0更新得到的概率攻擊圖,其更新操作可形式化描述為GC1:PAG0|→ PAG1,GC1={} 。類似地,假設在t2=t1+Δt時刻修復了主機host1中的一個脆弱性,同時新增了一個主機host2并產(chǎn)生一個新的脆弱性,則攻擊圖同時執(zhí)行刪除和增加更新操作。用PAG2=(A2,S2,E2)表示t2時刻更新得到的攻擊圖,更新操作可形式化描述為GC2:PAG1|→PAG2,GC2={, } 。從圖3 中可以看出,動作節(jié)點a4的后置狀態(tài)s2還存在其他父節(jié)點如a3,則表明攻擊者通過原子攻擊a3也能夠到達狀態(tài)s2,因此不需要刪除后置狀態(tài)節(jié)點s2。在t3=t2+Δt時刻上的攻擊圖PAG3相較PAG2并無任何變化,因此更新操作可描述為GC3:PAG2|→ PAG3,GC3=?。

        綜上所述,概率攻擊圖更新操作分別是GC1={},GC2={, },GC3=?。時間域T內(nèi)的動態(tài)概率攻擊圖序列為DAGT={, , ,} 。動態(tài)概率攻擊圖展示了攻擊者從初始狀態(tài)出發(fā),利用目標網(wǎng)絡的脆弱性發(fā)動各種可能的攻擊動作,不斷地從一個攻擊狀態(tài)轉(zhuǎn)移到另一個新的攻擊狀態(tài),最終達到攻擊目標的過程。攻擊者實施的攻擊動作及經(jīng)歷的狀態(tài)轉(zhuǎn)移構(gòu)成一個集合,稱之為攻擊路徑或攻擊鏈。

        定義5攻擊路徑path。攻擊路徑是指由概率攻擊圖中的狀態(tài)節(jié)點和動作節(jié)點按照一定的因果依賴關(guān)系排列而成的攻擊序列,記為path(s0,g)={s0,a1,si,aj,…,g}。其中,{s0,si,…,g}表示攻擊狀態(tài)轉(zhuǎn)移序列,{a1,aj,…,an}表示原子攻擊行為序列。

        概率攻擊圖是包含多條攻擊路徑的集合,即PAG={pathk(s0,g)}。其中,pathk(s0,g)表示從初始狀態(tài)s0到終止狀態(tài)g的編號為k的攻擊路徑。

        4 攻擊場景構(gòu)建

        報警來源于攻擊且能夠反映攻擊,每一條IDS報警都反映了一個原子攻擊的發(fā)生,利用概率攻擊圖作為模板,通過將報警與概率攻擊圖的動作節(jié)點進行映射,從而實現(xiàn)各孤立報警的關(guān)聯(lián),還原攻擊者的攻擊軌跡。依據(jù)動態(tài)概率攻擊圖,將攻擊場景構(gòu)建分為初建、重構(gòu)和演化3 步。

        4.1 攻擊場景初建

        4.1.1 報警聚類

        目標網(wǎng)絡在同一時間段內(nèi)可能受到來自多個攻擊者的入侵,這導致報警序列中包含了可能不止一個攻擊者的入侵活動,如果不做處理而直接進行映射,則將導致攻擊場景混亂。報警聚類旨在將隸屬于同一攻擊者的報警聚合到同一類簇中,以區(qū)分不同攻擊者的入侵活動。

        為了更好地說明,首先定義報警的相關(guān)概念。

        定義6報警。報警是指原子攻擊發(fā)生時被IDS觀測到的事件,用O表示報警序列,O={oi|oi=}。報警oi是一個六元組,其中,time 表示IDS 產(chǎn)生報警的時間;srcIP 和srcPort 分別表示報警的源IP 地址和源端口;dstIP 和dstPort 分別表示報警的目的IP 地址和目的端口;class 表示報警的類型,表明具體發(fā)生了什么攻擊。

        IDS 產(chǎn)生的報警存在一些重復報警,主要是由同一攻擊源用同一種攻擊方式對目的主機進行多次不同時間的攻擊所造成的,有必要消除重復報警,將其簡化為同一條報警。此外,同一攻擊活動觸發(fā)的報警,彼此在IP 地址分布上總是具有關(guān)聯(lián)性,如前一攻擊步驟的dstIP 可能就是下一攻擊步驟的srcIP。依據(jù)這種IP 地址相關(guān)性,將同一攻擊活動的報警聚合在一起,從而避免關(guān)聯(lián)關(guān)系混亂。

        定義7重復報警。如果兩條報警oi和oj的字段都相等且在攻擊步時Δt內(nèi)(oj.time?oi.time<Δt),則認為oi和oj具有重復關(guān)系,應該合并。

        定義8IP 地址相關(guān)性。如果報警oi的地址無論是源IP 地址還是目的IP 地址,總有一個和oj的地址相同,且oi和oj在攻擊步時Δt內(nèi),則認為oi和oj具有地址相關(guān)性。

        定義9報警類簇。報警類簇是指將具有IP 地址相關(guān)性的報警按照其產(chǎn)生的時間順序排列而成的報警序列,記為C={o1,o2,...,om},滿足C?O。

        基于IP地址相關(guān)性的報警聚類過程采用文獻[18]所提方法,這里不再論述。若2 個報警間是IP 地址相關(guān)的,則劃分到同一報警類簇中,從而將每個攻擊者的報警區(qū)分開。

        4.1.2 報警映射

        報警映射是將報警oi映射到概率攻擊圖中的節(jié)點,稱為觀測節(jié)點,并判斷觀測節(jié)點oi的目的IP地址和類型是否與某動作節(jié)點ai的主機和漏洞信息相匹配,若匹配則映射成功,否則映射失敗為空集。定義映射函數(shù)如下。

        定義10報警映射函數(shù)。

        映射失敗的原因可能有以下幾種:①存在誤報警導致攻擊ai沒有發(fā)生,但卻存在報警oi與之匹配;②存在漏報警使攻擊路徑中的某動作節(jié)點ai缺乏報警與之匹配;③概率攻擊圖的結(jié)構(gòu)不完整。上述3 種情況都會導致報警映射失敗。具體地,報警映射情景如圖4 所示。圖4 中,淺灰色圓圈表示映射成功的觀測節(jié)點,深灰色圓圈表示映射失敗的觀測節(jié)點,實線表示攻擊實施成功或狀態(tài)轉(zhuǎn)移成功,虛線表示攻擊實施失敗或狀態(tài)轉(zhuǎn)移失敗。

        圖4 報警映射情景

        圖4(a)表示報警映射成功。觀測節(jié)點oi和ok分別與動作節(jié)點ai和ak相匹配,表明原子攻擊ai和ak實施成功,攻擊狀態(tài)轉(zhuǎn)移成功,狀態(tài)sx、sy和sz皆為True。

        圖4(b)表示誤報引起的映射失敗。通過報警映射得到攻擊序列{sx,ai,s y,a k,sz}和{sx,a j,s y,a k,sz},然而由于oj是誤報,攻擊aj實際上并未發(fā)生,因此映射得到的攻擊路徑{sx,a j,s y,a k,sz}是錯誤或冗余的。

        圖4(c)表示漏報引起的映射失敗。狀態(tài)sx、sy和sz為True,表明存在原子攻擊導致狀態(tài)轉(zhuǎn)移成功。然而由于漏報導致映射得到的攻擊序列{sy,a k,sz}是不完整的、斷裂的,從而無法確定攻擊路徑是{sx,ai,s y,a k,sz}還是{sx,a j,s y,a k,sz}。

        圖4(d)表示概率攻擊圖結(jié)構(gòu)不完整引起的映射失敗。圖中存在觀測節(jié)點ol但缺乏與之匹配的動作節(jié)點,故需更新攻擊圖。

        可見,報警映射能夠獲得初步的攻擊場景,但是由于誤報、漏報問題,導致某些攻擊片段存在冗余或者斷裂,從而影響了對實際攻擊目標和攻擊路徑的判斷。因此,為了得到準確可信的攻擊場景,需要對初步構(gòu)建的攻擊場景進行修正和重構(gòu),一方面通過衡量報警的置信水平,識別低置信度的、無效的報警證據(jù),從而發(fā)現(xiàn)誤報引起的冗余路徑;另一方面計算各狀態(tài)節(jié)點被入侵的概率,從候選攻擊目標和攻擊序列中推斷最大可能的攻擊目標和攻擊序列。

        4.2 攻擊場景重構(gòu)

        攻擊場景重構(gòu)本質(zhì)上是概率推理問題。在概率推理中,先驗概率表示事件發(fā)生的概率,后驗概率則表示當新的證據(jù)出現(xiàn)時變量發(fā)生的概率。那些值已經(jīng)被確定的變量集合稱為證據(jù),而需要求解的變量集合稱為假設,概率推理問題就是求解在給定證據(jù)變量E的條件下假設變量H的后驗概率P(H|E)。當不確定假設集合H中某一個假設h∈H最佳時,最大后驗估計認為具有最大后驗概率(MAP,maximum a posteriori)的假設為最佳假設。即

        4.2.1 報警證據(jù)識別

        定義11報警置信度PO。PO 是指在觀測到報警事件oi的情況下,能證明其對應的原子攻擊ai發(fā)生的概率P(ai|oi),報警置信度也即動作節(jié)點ai的后驗概率。

        設IDS 對攻擊ai的檢測率和誤報率分別為di和fi,檢測率是指在攻擊發(fā)生的情況下,IDS 產(chǎn)生報警的概率;誤報率是指在攻擊沒有發(fā)生的情況下,IDS 卻產(chǎn)生報警的概率,故存在P(oi|ai)=di,P(oi|?ai)=fi,報警置信度P(ai|oi)為

        其中,P(ai)為動作節(jié)點ai的先驗概率,表示攻擊ai發(fā)生的概率;P(?ai)=1?P(ai)表示攻擊ai未發(fā)生的概率。

        在概率攻擊圖中,某節(jié)點vi的先驗概率P(vi)可以通過下面2 種方法求解。

        方法1通過求解邊緣概率分布得到,已知節(jié)點的LCPT,便可獲得節(jié)點的先驗概率為

        方法2通過父節(jié)點的先驗概率以及節(jié)點間的轉(zhuǎn)移概率求解得到。

        動作節(jié)點ai的先驗概率P(ai)為

        狀態(tài)節(jié)點si的先驗概率P(si)為

        通過上述2 種方法可以求得節(jié)點ai的先驗概率P(ai),并進一步得到報警oi的置信度P(ai|oi)。

        通過報警置信度能夠衡量報警的置信水平,識別有效的報警證據(jù)。一方面,報警oi的置信度P(ai|oi)應當大于50%,否則,P(?ai|oi)將大于50%,這表明在證據(jù)oi出現(xiàn)時,攻擊未發(fā)生或攻擊失敗的概率大于50%,故報警oi為誤報警;另一方面,攻擊ai的后驗概率P(ai|oi)應當大于其先驗概率P(ai),這表明在報警證據(jù)oi出現(xiàn)時,攻擊ai發(fā)生的可能性提高了;反之,當后驗概率P(ai|oi)小于先驗概率P(ai)時,則表明證據(jù)oi的出現(xiàn)反而降低了攻擊ai發(fā)生的可能性,這與實際情況不符,因此認為報警oi為誤報警?;谏鲜龇治觯梢缘贸鲆韵陆Y(jié)論。當且僅當ai和oi滿足P(ai|oi) >50%和P(ai|oi)>P(ai)這2 個條件時,原子攻擊所產(chǎn)生的報警為真實報警。

        4.2.2 攻擊意圖推斷

        攻擊意圖推斷是指已知目標狀態(tài)節(jié)點集合G,在給定報警證據(jù)及其置信度PO=的情況下,計算并比較各目標狀態(tài)節(jié)點被入侵的概率,從而獲得具有最大后驗概率MAP 的目標狀態(tài)節(jié)點,即。

        狀態(tài)節(jié)點si與證據(jù)O并無直接的聯(lián)系,然而證據(jù)O的出現(xiàn)會提高原子攻擊發(fā)生的可能性,進而提高其后置狀態(tài)存在的可能性。因此,狀態(tài)節(jié)點si的后驗概率與其父節(jié)點Pre(si)的后驗概率有關(guān)。

        以圖3 中t1時刻的概率攻擊圖PAG1為例,分析在未觀測到任何報警事件以及在觀測到報警事件O={o1,o3}時,各節(jié)點的先驗概率和后驗概率的變化情況,如圖5所示。

        圖5 帶觀測節(jié)點的概率攻擊圖

        通過定性與定量分析可知以下3 點成立。

        1) 在未觀測到報警事件o1和o3時,攻擊a2發(fā)生的概率大于攻擊a1發(fā)生的概率,節(jié)點s3被入侵的概率大于節(jié)點s2被入侵的概率,攻擊者的攻擊意圖為s3,攻擊路徑為path={s0,a2,s1,a5,s3}。

        2) 在觀測到報警事件o1和o3時,攻擊a1和a3發(fā)生的概率提高了,其后驗概率皆大于其先驗概率,且后驗概率皆大于50%,表明o1和o3是真實報警。

        3) 報警o1和o3為真實有效報警,因此攻擊者的攻擊意圖為s2,s2被入侵的概率提高到0.431,攻擊路徑為path={s0,a1,s1,a3,s2}。

        算法2 首先采用廣度優(yōu)先算法計算各個節(jié)點的先驗概率和后驗概率,將不具有子節(jié)點的狀態(tài)節(jié)點加入目標節(jié)點集G中;如果某目標狀態(tài)節(jié)點對應的動作節(jié)點存在真實報警,則該目標狀態(tài)為攻擊意圖;否則對目標狀態(tài)節(jié)點的后驗概率進行比較排序,具有最大后驗概率gmax的目標節(jié)點即為攻擊意圖,該算法同時可以識別有效報警證據(jù)。

        算法2攻擊意圖推斷算法

        輸入候選攻擊序列集合H={pathk(s0,G)},觀測事件序列

        輸出節(jié)點先驗概率vi.Pr 和后驗概率vi.Po,攻擊意圖GMAP

        復雜度分析。算法2 的復雜度與圖廣度搜索算法相同,為候選攻擊序列集合中狀態(tài)節(jié)點數(shù)、動作節(jié)點數(shù)以及有向邊數(shù)之和,即O(num_S+num_A+num_E)。

        4.2.3 最大概率攻擊路徑推斷

        最大概率攻擊路徑推斷是計算攻擊者發(fā)動攻擊行為的整個可能性,從候選攻擊序列集合中選擇具有最大后驗概率 MAP 的攻擊路徑,即。

        在算法2 得到所有節(jié)點的先驗概率P(vi)和后驗概率P(vi|oi)的基礎上,算法3 以攻擊意圖為起點,通過貪心反向查找具有最大后驗概率的動作節(jié)點ai和狀態(tài)節(jié)點si,即可得到最大概率攻擊路徑hMAP。如果當前節(jié)點為狀態(tài)節(jié)點,則查找具有真實報警的前置動作節(jié)點并加入攻擊路徑hMAP中;而當出現(xiàn)漏報不存在報警時,則查找后驗概率最大的動作節(jié)點并加入路徑hMAP中;如果當前節(jié)點為動作節(jié)點,則將其所有的前置狀態(tài)節(jié)點都加入路徑hMAP中。

        算法3最大概率攻擊路徑推斷算法

        輸入攻擊意圖GMAP,節(jié)點先驗概率vi.Pr 和后驗概率vi.Po

        輸出hMAP=(s0→…si→…G)。

        復雜度分析。算法3 的復雜度與算法2 相似,但由于已經(jīng)確定了攻擊意圖,狀態(tài)節(jié)點數(shù)、動作節(jié)點數(shù)相對算法2 減少了,且與有向邊無關(guān),故復雜度為O(num_S+num_A)。

        4.3 攻擊場景演化

        通過上述報警映射、攻擊意圖推斷和最大概率攻擊路徑計算,能夠得到準確可信的攻擊場景。然而由于云環(huán)境彈性、動態(tài)性的特點,其概率攻擊圖需要周期性地動態(tài)更新,攻擊場景也應周期性地動態(tài)演化,從而保證攻擊場景的完備性和新鮮性。

        定義12動態(tài)攻擊場景(DAS,dynamic attack scenario)。DAS 指在時間域T=[t0,tn]內(nèi)隨攻擊步時Δt動態(tài)演化的攻擊場景序列,可表示為

        其中,二元組 表示在ti時刻上的攻擊場景ASi,Oi和PAGi分別表示ti時刻觀測到的新報警序列和更新得到的概率攻擊圖,將兩者進行映射map即可得到ti時刻的攻擊場景ASi。

        攻擊場景演化過程如圖6 所示。由圖6 可知,將第一個攻擊周期Δt內(nèi)的報警序列O1與t1時刻上的概率攻擊圖PAG1相映射,映射成功則得到t1時刻上的攻擊場景AS1;同樣將第二個Δt內(nèi)的報警序列O2與t2時刻上的攻擊圖PAG2相映射,得到攻擊場景AS2;以此類推,可得到t3時刻上的攻擊場景AS3。由此可知,時間域T內(nèi)動態(tài)演化的攻擊場景序列為DAST={, , } 。根據(jù)攻擊場景DAST可以發(fā)現(xiàn),攻擊者在t1時刻向目標主機host1發(fā)動了攻擊行為a1,獲得了host1的user 權(quán)限;在t2時刻進一步向host1發(fā)動了攻擊a3,獲得host1的root 訪問權(quán)限;在t3時刻通過host1獲得了host1的訪問權(quán)限,t3時刻的攻擊場景AS3描述了攻擊過程的整體疊加情況??梢?,動態(tài)演化的攻擊場景能夠完整地還原攻擊者的逐步滲透過程與權(quán)限提升過程,從整體上把握云環(huán)境的安全態(tài)勢。

        5 實驗驗證

        本節(jié)首先介紹云平臺實驗環(huán)境以及此環(huán)境中的安全漏洞,構(gòu)建該環(huán)境下的初始概率攻擊圖;然后,根據(jù)觀測報警序列及其置信度推斷出攻擊者的攻擊意圖和最大概率攻擊路徑,并構(gòu)建動態(tài)演化的攻擊場景。

        5.1 實驗環(huán)境

        云平臺實驗環(huán)境如圖7 所示。云平臺中包括了4 個浪潮云服務器,搭建了Xen 虛擬化云系統(tǒng),配置信息如表4 所示。

        表4 云平臺配置信息

        圖6 攻擊場景演化過程

        圖7 云平臺實驗環(huán)境

        云服務器PM1被分割成了4 個VM,分別運行網(wǎng)絡控制器(NC,network control)、Nessus 漏洞掃描器、MulVAL 攻擊圖生成工具以及IDS;云服務器PM2被分割成若干個VM,作為云租戶所用VM,VM 間由可編程的虛擬交換機(OVS,open vSwitch)相連接。OVS 僅完成數(shù)據(jù)轉(zhuǎn)發(fā)功能,而路由控制則由PM1中NC 來完成;服務器PM3和PM4分別運行Hadoop 和Spark 分布式計算平臺。在DMZ 區(qū)域部署了網(wǎng)站服務器(WS,Web server)、文件服務器(FS,file server)等。這里假設PM3只允許VM1訪問其計算服務,而PM4只允許VM2訪問其服務。

        5.2 實驗結(jié)果分析與比較

        5.2.1 概率攻擊圖的結(jié)構(gòu)和參數(shù)

        利用Nessus 掃描器對云平臺中各主機進行漏洞掃描,獲得的各漏洞信息如表5 所示。其中,Xen系統(tǒng)的漏洞CVE-2017-2620 為ti時刻新發(fā)現(xiàn)的漏洞。將網(wǎng)絡連通性、網(wǎng)絡配置及漏洞信息等輸入MulVAL 工具,從而生成初始概率攻擊圖PAG0的網(wǎng)絡結(jié)構(gòu),如圖8 所示。

        從圖8 可知,存在6 種可能的攻擊路徑,其中,攻擊者利用WS 上的溢出漏洞CVE-2010-2227 獲取WS 的管理員權(quán)限,進而通過NFS 接口在FS上寫入木馬程序,該木馬程序被不小心執(zhí)行,從而讓攻擊者控制了FS。當然攻擊者也可以直接利用FS 上的溢出漏洞CVE-2017-7895 獲取FS 的權(quán)限。接著,VM2從FS 上下載了帶木馬的文件從而被控制,攻擊者操控 VM2利用漏洞CVE-2018-8024 對Spark 服務器發(fā)動攻擊。同樣,攻擊者操控FS 對虛擬機VM1發(fā)動攻擊,并進一步利用漏洞CVE-2016-3086 對Hadoop 平臺展開攻擊,竊取其重要信息或文件等。

        根據(jù)圖8 中概率攻擊圖的結(jié)構(gòu)和表5 中CASS屬性(AV/AC/Au)能夠確定概率攻擊圖PAG0中有向邊的權(quán)值,如表6 所示。表6 中有向邊(s8,a12)和(a12,s9)為ti時刻發(fā)現(xiàn)新漏洞時新增的有向邊。依據(jù)網(wǎng)絡結(jié)構(gòu)和網(wǎng)絡參數(shù),構(gòu)建完整的初始概率攻擊圖PAG0。

        圖8 初始概率攻擊圖的結(jié)構(gòu)

        表5 云平臺漏洞信息

        表6 有向邊的權(quán)值

        5.2.2 攻擊場景構(gòu)建過程及分析

        在初始概率攻擊圖PAG0的基礎上,依據(jù)攻擊步時Δt內(nèi)的更新操作情況,利用算法1 生成概率攻擊圖序列。依據(jù)IDS 觀測到的報警序列O,利用算法2 和算法3 即可推斷出攻擊意圖gMAP和最大概率攻擊路徑hMAP,從而構(gòu)建出攻擊場景,如表7 所示。

        概率攻擊圖的動態(tài)更新及攻擊場景的動態(tài)演化過程如圖9 所示。為了不失一般性,在t0時刻假設沒有觀測到任何報警事件O0={null},這相當于初始概率攻擊圖PAG0。圖9(a)直觀地展示了攻擊者最可能的攻擊意圖和攻擊路徑。在該情況下,狀態(tài)節(jié)點s5的概率是0.89,狀態(tài)節(jié)點s8的概率是0.27,因此攻擊者的攻擊意圖為s5,攻擊目標是運行Hadoop 的主機PM3,最大概率攻擊路徑則是{s0,a7,s3,a4,s4,a5,s5}。

        在t1時刻更新概率攻擊圖,假設GC1=?,即攻擊圖沒有任何更新操作,IDS 在t1時刻觀測到報警事件O1={o1,o2,o3},其對應的置信度為PO={0.81,0.6,0.38}。在此情況下可知,報警o3為誤報警,攻擊a3實際上并未發(fā)生,其發(fā)生的概率應是0.27。候選攻擊序列包括{s0,a1,s1,a2,s2,a3,s3,a8,s6,a9,s7,a10,s8}和{s0,a1,s1,a2,s2,a3,s3,a4,s4,a5,s5},經(jīng)計算知狀態(tài)節(jié)點s5的概率是0.92,狀態(tài)節(jié)點s8的概率是0.35,因此攻擊者的攻擊意圖仍為s5,最大概率攻擊路徑為{s0,a1,s1,a2,s2,a3,s3,a4,s4,a5,s5},攻擊場景如圖9(b)所示。

        在t2時刻修復了PM3中的漏洞,則在概率攻擊圖中應刪除對應的失效動作節(jié)點a5及其后置狀態(tài)節(jié)點s5以及相關(guān)邊,即執(zhí)行更新圖操作GC2={} 。假設t2時刻觀測到報警事件O2={o11,o10},其對應的置信度為PO={0.59,0.62},報警事件O2皆為有效報警,則可判斷目標節(jié)點為s5,攻擊意圖為s8,最大概率攻擊路徑為{s0,a1,s1,a11,s7,a10,s8},如圖9(c)所示。需要說明的是,由于在t1時刻攻擊者成功發(fā)動了攻擊a1和a2,已經(jīng)獲得了資源或權(quán)限能力,雖然在t2時刻沒有觀測到報警o1和o2,但攻擊a1和a2發(fā)生的概率將保持不變。

        在t3時刻發(fā)現(xiàn) Xen 系統(tǒng)中存在新的漏洞CVE-2017-2620,則在概率攻擊圖中需要增加與漏洞相對應的動作節(jié)點a12,并基于可達性關(guān)系搜索該原子攻擊的前置狀態(tài)。由于虛擬機VM2能夠訪問Xen系統(tǒng)的虛擬CPU、虛擬內(nèi)存等資源,可能發(fā)動DoS或漏洞利用攻擊,因此節(jié)點a12的前提狀態(tài)為VM2的狀態(tài)s7,通過前提邊進行連接,同時增加該動作節(jié)點的后置狀態(tài)s9和后果邊,更新操作為GC3={I,a12,s9}。同樣,在t3時刻觀測到報警事件o12,其對應的置信度為0.54,則可判斷出t3時刻的攻擊意圖為s9,最大概率攻擊路徑為{s0,a1,s1,a11,s7,a10,s8,a11,s9},如圖9(d)所示。此時的攻擊場景包括兩條成功的攻擊路徑和一次失敗的攻擊嘗試,展現(xiàn)了攻擊者的攻擊滲透過程。

        表7 攻擊場景構(gòu)建過程

        圖9 概率攻擊圖動態(tài)更新及攻擊場景動態(tài)演化過程

        5.2.3 實驗比較分析

        文獻[10]和文獻[13]的工作中沒有考慮報警觀測事件推導到攻擊發(fā)生的不確定性,觀測事件與攻擊發(fā)生是一一對應的,即報警置信度PO 的取值全為1,從而無法識別真實有效的報警。文獻[11]的工作中沒有解決誤報、漏報問題對攻擊場景造成的影響。上述方法均沒有考慮攻擊場景的動態(tài)演化,無法保證攻擊場景的完備性和新鮮性。表8 展示了現(xiàn)有基于概率攻擊圖的報警關(guān)聯(lián)方法在各方面的對比。從表8 可以看出,本文方法支持有效報警識別和動態(tài)演化,優(yōu)于其他3 種方法。

        表8 基于概率攻擊圖的報警關(guān)聯(lián)方法對比

        實驗驗證了本文方法的有效性。此外,本文方法具有以下優(yōu)勢。

        1) 通過將報警事件與概率攻擊圖進行映射匹配,從定性與定量分析2 個方面構(gòu)建了攻擊場景,不僅能夠解決誤報、漏報問題,識別有效報警證據(jù),還能夠推斷出攻擊者的攻擊意圖和實際攻擊路徑,從而保證了攻擊場景的準確性。

        2) 動態(tài)概率攻擊圖是隨時間推移而動態(tài)變化的,依據(jù)動態(tài)概率攻擊圖,將攻擊場景隨之動態(tài)演化,能夠適應云計算環(huán)境彈性、動態(tài)性的特點,保證了攻擊場景的完備性和新鮮性。

        3) 全時域內(nèi)的動態(tài)攻擊場景完整地展現(xiàn)了攻擊者的逐步滲透和權(quán)限提升過程,方便管理員從整體上把握云環(huán)境的安全態(tài)勢,確定攻擊演變過程中危害較大的階段或者關(guān)鍵節(jié)點,進而采取切實有效的措施來抑制攻擊的發(fā)生。

        6 結(jié)束語

        面向云環(huán)境的攻擊場景重構(gòu)技術(shù)逐漸成為網(wǎng)絡安全防御領(lǐng)域的研究熱點,旨在再現(xiàn)攻擊者的逐步滲透過程和攻擊活動全貌,是應對復雜多步攻擊的重要手段。本文在概率攻擊圖的基礎上,立足于攻擊步驟間的因果依賴關(guān)系和概率推理關(guān)系,考慮其時空動態(tài)特性,創(chuàng)建了動態(tài)概率攻擊圖模型,設計了概率攻擊圖更新算法,實現(xiàn)了概率攻擊圖的周期性或觸發(fā)性更新,解決了傳統(tǒng)的靜態(tài)不變的概率攻擊圖無法適應彈性、動態(tài)性的云環(huán)境問題;利用概率攻擊圖作為模板,將異常檢測系統(tǒng)觀測到的報警與概率攻擊圖進行映射匹配,能夠獲得初步的攻擊場景;針對誤報、漏報等現(xiàn)象導致攻擊場景存在錯誤、歧義、斷裂等不確定性問題,設計了攻擊意圖推斷算法和最大概率攻擊路徑推斷算法,利用最大后驗估計原理對候選攻擊序列進行定量推理,重構(gòu)出準確可信的攻擊場景;同時將攻擊場景隨動態(tài)概率攻擊圖動態(tài)演化,保證了攻擊場景的完備性和新鮮性。通過攻擊場景的初建、重構(gòu)及演化,實現(xiàn)了云環(huán)境復雜多步攻擊的及時發(fā)現(xiàn)。實驗結(jié)果表明,本文方法能夠有效地推斷出攻擊意圖和計算攻擊路徑,構(gòu)建完整的、動態(tài)演化的攻擊場景,進而幫助云安全管理員從整體上把握云環(huán)境的安全態(tài)勢,為構(gòu)建可監(jiān)管可追責的云環(huán)境提供了一定的依據(jù)和參考。

        猜你喜歡
        攻擊者漏洞報警
        漏洞
        基于微分博弈的追逃問題最優(yōu)策略設計
        自動化學報(2021年8期)2021-09-28 07:20:18
        LKD2-HS型列控中心驅(qū)采不一致報警處理
        正面迎接批判
        愛你(2018年16期)2018-06-21 03:28:44
        三明:“兩票制”堵住加價漏洞
        漏洞在哪兒
        兒童時代(2016年6期)2016-09-14 04:54:43
        2015款奔馳E180車安全氣囊報警
        高鐵急救應補齊三漏洞
        有限次重復博弈下的網(wǎng)絡攻擊行為研究
        死于密室的租住者
        内射精品无码中文字幕| 一区二区视频中文字幕| 国产精品亚洲片在线观看不卡| 国产99久久精品一区二区| 91久久精品无码人妻系列 | 免费啪啪视频一区| 日本韩国黄色三级三级| 亚洲一区二区三区2021| 国自产精品手机在线观看视频| 91日韩高清在线观看播放| 国产麻豆放荡av激情演绎| 国产亚洲一区二区三区综合片| 日本高清h色视频在线观看| 久久精品中文字幕极品| 亚欧AV无码乱码在线观看性色| 中国人妻沙发上喷白将av| 午夜免费观看国产视频| 久久久久久亚洲av成人无码国产 | 亚洲AV无码精品色午夜超碰| 亚洲女同性恋激情网站| 华人在线视频精品在线| 亚洲成av人片在www| 五月婷一本到五月天| 国内人妖一区二区在线播放| 欧美老妇牲交videos| 久久久久久免费毛片精品| 天堂Av无码Av一区二区三区| 成人在线观看av毛片| 精品www日韩熟女人妻| 97色噜噜| av天堂中文亚洲官网| 精品国产乱码久久久久久婷婷| 天堂网www在线资源| 国产精品人人爱一区二区白浆| 新中文字幕一区二区三区| 边做边流奶水的人妻| 亚洲av乱码专区国产乱码| 久久这里只有精品黄色| 在线观看亚洲第一黄片| 蜜臀av午夜一区二区三区| 欧美成人小视频|