(中國聯(lián)合網(wǎng)絡(luò)通信有限公司海南省分公司,海南 ???572500)
2020上半年全球重大網(wǎng)絡(luò)攻擊及數(shù)據(jù)泄露事件回顧報告指出,網(wǎng)絡(luò)攻擊、黑客組織和數(shù)據(jù)泄露一直存在于網(wǎng)絡(luò)世界中。比如:2020年5月,委內(nèi)瑞拉國家電網(wǎng)干線遭黑客攻擊,造成全國11州府大面積停電;2020年9月,印度總理納倫德拉·莫迪的一個賬戶遭到黑客攻擊,黑客呼吁莫迪粉絲捐贈加密貨幣,導(dǎo)致10萬美元轉(zhuǎn)入相關(guān)“基金”。網(wǎng)絡(luò)攻擊事件對政府、企業(yè)、個人造成了極其嚴(yán)重的經(jīng)濟損失,因此,如何在復(fù)雜多變的網(wǎng)絡(luò)環(huán)境中實時掌握當(dāng)前網(wǎng)絡(luò)的安全態(tài)勢,針對安全態(tài)勢提前進(jìn)行預(yù)警和防護(hù),減少網(wǎng)絡(luò)攻擊對網(wǎng)絡(luò)的傷害,是網(wǎng)絡(luò)安全工作的首要任務(wù)。為了實時掌握網(wǎng)絡(luò)的安全態(tài)勢,初期的研究圍繞告警信息本身進(jìn)行網(wǎng)絡(luò)態(tài)勢評估:陳秀珍等人[1]通過對服務(wù)、主機、系統(tǒng)進(jìn)行層次化分解后,提出層次化網(wǎng)絡(luò)安全態(tài)勢量化評估方法;韋勇等人[2]針對多源告警信息的特點,提出融合漏洞、服務(wù)信息等態(tài)勢要素的網(wǎng)絡(luò)安全態(tài)勢評估方法。隨著攻擊手段的多樣化和“迂回”特征的出現(xiàn),研究者開始關(guān)注攻擊路徑安全態(tài)勢分析的方法:Dai 等人[3]采用模糊綜合評估法量化攻擊路徑數(shù)量和長度,結(jié)合攻擊路徑來挖掘?qū)W(wǎng)絡(luò)有威脅的路徑,采用攻擊圖分析網(wǎng)絡(luò)系統(tǒng)中具有最大風(fēng)險的攻擊路徑,以此來預(yù)測潛在攻擊對網(wǎng)絡(luò)安全帶來的危險程度;Abraham 等人[4]通過分析漏洞生命周期隨著發(fā)布事件的變化規(guī)律,分析攻擊路徑與漏洞生命周期的相關(guān)關(guān)系,以此來判斷網(wǎng)絡(luò)安全態(tài)勢值;劉強等人[5]通過構(gòu)建網(wǎng)絡(luò)攻擊圖,利用漏洞的信息刻畫攻擊者選取最有可能的路徑;Zhu等人[6]針對告警數(shù)據(jù)的多源行,采用聚類分析的方法關(guān)聯(lián)告警信息,并利用神經(jīng)網(wǎng)絡(luò)技術(shù)映射攻擊場景;Bopche 等人[7]結(jié)合歷史攻擊路徑,分析動態(tài)網(wǎng)絡(luò)環(huán)境中攻擊結(jié)果隨時間變化的規(guī)律;楊豪璞等人[8]提出面向多步攻擊的網(wǎng)絡(luò)態(tài)勢方法,通過關(guān)聯(lián)攻擊場景,識別攻擊階段,對當(dāng)前網(wǎng)絡(luò)態(tài)勢進(jìn)行評估;Liu等人[9]引入隱馬爾可夫模型,結(jié)合告警信息,采用維特比方法推導(dǎo)最大可能的轉(zhuǎn)移序列,實現(xiàn)攻擊意圖識別,但該方法沒有對全網(wǎng)絡(luò)進(jìn)行安全態(tài)勢評估;Fredj 等人[10]利用馬爾可夫鏈描述攻擊圖中攻擊行為的轉(zhuǎn)移特征,通過告警關(guān)聯(lián),實現(xiàn)攻擊行為識別與攻擊意圖的預(yù)測。上述方法大多偏重于對攻擊行為特征的刻畫,針對攻擊序列的不確定性,提出了各種方法來描述攻擊行為的轉(zhuǎn)移過程,但缺乏從整個網(wǎng)絡(luò)安全態(tài)勢層面上對攻擊威脅進(jìn)行刻畫,沒有描述隨著攻擊行為的深入,整個網(wǎng)絡(luò)安全態(tài)勢在時間層面的動態(tài)演變機制。因此,本文在融合多源告警數(shù)據(jù)的基礎(chǔ)上,研究多步攻擊驅(qū)動下攻擊者意圖,分析整個網(wǎng)絡(luò)層面上安全態(tài)勢的變化規(guī)律。將底層攻擊行為映射成可量化的安全態(tài)勢值,實現(xiàn)基于動態(tài)攻擊行為演變的網(wǎng)絡(luò)安全態(tài)勢精準(zhǔn)刻畫,達(dá)到網(wǎng)絡(luò)安全態(tài)勢的全面精準(zhǔn)預(yù)測目標(biāo)。
針對當(dāng)前網(wǎng)絡(luò)安全攻擊行為層出不窮,企業(yè)一般采用多種網(wǎng)絡(luò)安全檢測設(shè)備來檢測網(wǎng)絡(luò)攻擊行為。如此,一旦出現(xiàn)網(wǎng)絡(luò)攻擊行為時,各種的安全檢測設(shè)備會產(chǎn)生格式不一、形式多樣的告警日志,數(shù)量龐大的冗余告警信息將對網(wǎng)絡(luò)安全管理員的攻擊行為分析帶來極大的不便。針對上述的情況,本文提出一種基于語義特征相似性的多源告警數(shù)據(jù)融合方法,基于數(shù)據(jù)融合及告警的語義信息,獲取更加準(zhǔn)確的網(wǎng)絡(luò)攻擊行為特征。
考慮不同安全檢測設(shè)備對攻擊行為的反應(yīng)是不一致的,同一攻擊行為的告警時間有可能出現(xiàn)不一致的現(xiàn)象。因此,本文采用滑動窗口對多源告警數(shù)據(jù)進(jìn)行重新構(gòu)造,不僅考慮攻擊行為的空間特征,還考慮攻擊行為在時間維度上的延續(xù)關(guān)系。多源告警數(shù)據(jù)重構(gòu)的方法如圖1 所示:
圖1 告警信息的數(shù)據(jù)重構(gòu)
基于上述告警信息的數(shù)據(jù)重構(gòu),采用CNN 對樣本進(jìn)行特征的提取、池化、最終形成特征圖,實現(xiàn)告警信息特征層面的融合,特征提取的細(xì)節(jié)如圖2 所示:
圖2 基于卷積神經(jīng)網(wǎng)絡(luò)的特征融合過程示意圖
現(xiàn)有的網(wǎng)絡(luò)攻擊一般采用“迂回”的路徑,通過某個電腦的漏洞,獲得其Root 權(quán)限,然后以該電腦為跳板攻擊內(nèi)部的服務(wù)器或者集群。因此,從“迂回”攻擊理論上,網(wǎng)絡(luò)攻擊要完成既定的目標(biāo)攻擊,必須采用多步攻擊的方法,才能達(dá)到最終的目的。基于上述的思路,本文通過融合告警信息特征映射網(wǎng)絡(luò)攻擊行為的攻擊節(jié)點(可理解為被攻擊的電腦IP),然后對攻擊行為從當(dāng)前攻擊節(jié)點轉(zhuǎn)移到下一個攻擊節(jié)點的轉(zhuǎn)移序列進(jìn)行關(guān)聯(lián),獲取多步攻擊路徑。
本文采用BP 神經(jīng)網(wǎng)絡(luò)來實現(xiàn)告警信息特征到攻擊節(jié)點的映射。BP(Back Propagation)神經(jīng)網(wǎng)絡(luò)是1986 年由Rumelhart 和McCelland 為首的科學(xué)家小組提出,是一種按誤差逆?zhèn)鞑ニ惴ㄓ?xùn)練的多層前饋網(wǎng)絡(luò),是目前應(yīng)用最廣泛的神經(jīng)網(wǎng)絡(luò)模型之一。BP 神經(jīng)網(wǎng)絡(luò)能學(xué)習(xí)和存貯大量的輸入-輸出模式映射關(guān)系,將上述重構(gòu)的告警信息特征輸入到三層BP 神經(jīng)網(wǎng)絡(luò)中,并得到攻擊每一個網(wǎng)絡(luò)節(jié)點的攻擊概率,將最大的攻擊概率作為確認(rèn)的攻擊節(jié)點。
圖3 展示一個6-3-1 神經(jīng)網(wǎng)絡(luò)三層神經(jīng)網(wǎng)絡(luò),由一個輸入層、一個隱含層和一個輸出層組成,各層之間由可修正的權(quán)值w 互連。輸入層包含六個節(jié)點、隱含層包含3 個節(jié)點、輸出層包含1 個節(jié)點。BP 神經(jīng)網(wǎng)絡(luò)輸出層的神經(jīng)元輸出重構(gòu)告警信息特征的攻擊節(jié)點,按照時間序列將攻擊節(jié)點關(guān)聯(lián)起來,形成每一次攻擊行為的多步攻擊路徑。
圖3 三層BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)示意圖
網(wǎng)絡(luò)攻擊節(jié)點包括攻擊行為節(jié)點、資源節(jié)點,攻擊行為節(jié)點ai受到網(wǎng)絡(luò)攻擊操作后,攻擊者到達(dá)資源節(jié)點ri,將攻擊行為節(jié)點ai和資源節(jié)點ri的拓?fù)漤樞蜻M(jìn)行連接,得到攻擊行為的路徑。攻擊路徑的可表示為:
網(wǎng)絡(luò)攻擊圖包括攻擊行為節(jié)點、資源節(jié)點以及兩個節(jié)點之間的邊(代表攻擊方向),節(jié)點之間的邊有or 或者and 兩個連接關(guān)系,and 表示上一個節(jié)點滿足指定的條件就能達(dá)到下一個節(jié)點;or 表示上一個節(jié)點滿足一個條件即可達(dá)到下一個節(jié)點。攻擊圖的表示如圖4 所示:
圖4 網(wǎng)絡(luò)攻擊圖
圖4 中,網(wǎng)絡(luò)攻擊圖假設(shè)a1、a2和a3為網(wǎng)絡(luò)攻擊行為起始節(jié)點,通過對a1、a2和a3進(jìn)行攻擊之后,攻擊者占用資源節(jié)點r1;接著攻擊者對攻擊節(jié)點a4進(jìn)行攻擊,占用資源節(jié)點r3;最后,經(jīng)過就能到達(dá)網(wǎng)絡(luò)攻擊行為節(jié)點a7。
考慮到每一個節(jié)點的自身的特點,攻擊路徑的選擇與節(jié)點本身的漏洞和防護(hù)有關(guān),為了更科學(xué)地衡量攻擊路徑的序列轉(zhuǎn)移概率,本文基于歷史攻擊行為,統(tǒng)計攻擊行為的節(jié)點轉(zhuǎn)移序列,獲取攻擊行為從當(dāng)前攻擊節(jié)點轉(zhuǎn)移到下一個攻擊節(jié)點的攻擊概率,形成攻擊概率轉(zhuǎn)移表,部分攻擊行為的轉(zhuǎn)移概率如表1 所示。
表1 攻擊行為轉(zhuǎn)移概率表
基于攻擊行為轉(zhuǎn)移概率,定義概率攻擊網(wǎng)絡(luò),科學(xué)量化攻擊行為從當(dāng)前攻擊節(jié)點轉(zhuǎn)移到下一個攻擊節(jié)點的可能性,基于轉(zhuǎn)移概率的網(wǎng)絡(luò)攻擊圖如圖5 所示:
圖5 基于轉(zhuǎn)移概率的網(wǎng)絡(luò)攻擊圖
當(dāng)網(wǎng)絡(luò)管理員觀測到某些攻擊行為的告警時,本文采用深度學(xué)習(xí)的方法獲取到告警的時空特征,并利用三層BP 神經(jīng)網(wǎng)絡(luò)來確認(rèn)的攻擊節(jié)點,然后將攻擊節(jié)點按照時間序列關(guān)聯(lián)起來,形成當(dāng)前攻擊行為的多步攻擊路徑。然后,結(jié)合轉(zhuǎn)移概率網(wǎng)絡(luò)攻擊圖,基于當(dāng)前網(wǎng)絡(luò)攻擊路徑判斷攻擊者的潛在攻擊意圖。比如網(wǎng)絡(luò)攻擊者通過對a1、a2和a3進(jìn)行攻擊之后,占用資源節(jié)點r1,那么我們要預(yù)測網(wǎng)絡(luò)攻擊者下一步的攻擊意圖是攻擊節(jié)點a4還是a6,為了解決上述的問題,本文通過對每一條可能的攻擊路徑進(jìn)行轉(zhuǎn)移概率的累積,以最大的概率作為潛在攻擊路徑的選擇。轉(zhuǎn)移概率攻擊圖定義如下:
U(a1,a2,r1)表示指向r1的節(jié)點確定所有邊的轉(zhuǎn)移概率“與”操作,計算公式:
⊕(a4,a5,r3)表示指向r3的節(jié)點確定所有邊的轉(zhuǎn)移概率“或”操作,計算公式:
其中,paiir表示從攻擊節(jié)點ai轉(zhuǎn)移到資源節(jié)點ri的轉(zhuǎn)移概率。下面重點分析r1受到攻擊后,攻擊者到達(dá)a7的所有可能路徑。
基于上述各個攻擊路徑的累計概率分析,攻擊者選擇路徑1 的可能性較大?;谏鲜龅姆治?,選取最有可能的攻擊路 徑計算網(wǎng)絡(luò)安全態(tài)勢評估。
網(wǎng)絡(luò)安全態(tài)勢評估算法是利用網(wǎng)絡(luò)中每一個服務(wù)器節(jié)點的網(wǎng)絡(luò)安全信息(包括入侵信息、網(wǎng)絡(luò)節(jié)點拓?fù)湫畔?、漏洞信息、性能信息、服?wù)信息以及日志信息)獲取每一個節(jié)點的脆弱性態(tài)勢、威脅性態(tài)勢以及系統(tǒng)運行態(tài)勢,結(jié)合節(jié)點在網(wǎng)絡(luò)集群中的分布情況確定脆弱性態(tài)勢、威脅性態(tài)勢以及系統(tǒng)運行態(tài)勢在不同節(jié)點的影響程度,那么整個網(wǎng)絡(luò)的安全態(tài)勢評估值可寫為:
其中Vi表示節(jié)點i的脆弱性態(tài)勢值,Ti表示節(jié)點i的威脅性態(tài)勢值,Wi表示節(jié)點i的運行狀態(tài)態(tài)勢值。wiv表示節(jié)點i的脆弱性權(quán)重,wiT表示節(jié)點i的威脅性權(quán)重,wiw表示節(jié)點i的運行狀態(tài)權(quán)重。各態(tài)勢值得權(quán)重可以根據(jù)不同節(jié)點在網(wǎng)絡(luò)中的拓?fù)浣Y(jié)構(gòu)以及集群重要性設(shè)置。
脆弱性態(tài)勢值是結(jié)合節(jié)點的漏洞風(fēng)險量化、漏洞類型、防護(hù)軟件的安裝情況以及端口的開放情況進(jìn)行評估。單個物理節(jié)點的風(fēng)險評估一般分為4 級(1 代表無,2 代表中等,3代表嚴(yán)重,4 代表非常嚴(yán)重);防護(hù)軟件安裝情況(1 代表安裝,2 代表沒有安裝);端口開放情況(1 代表沒有開放,2 代表對部分開放,3 代表對大部分進(jìn)行開放),按照節(jié)點脆弱性的計算方式,脆弱性的取值范圍在1-4 范圍內(nèi)(1=低風(fēng)險;2=中等風(fēng)險;3=中上風(fēng)險;4=高風(fēng)險)。
威脅性態(tài)勢值根據(jù)該節(jié)點的木馬攻擊威脅、蠕蟲破環(huán)性、Dos 攻擊威脅性來衡量。木馬攻擊威脅通過木馬發(fā)生的事件數(shù)來衡量,蠕蟲破壞性通過蠕蟲攻擊的數(shù)量來衡量,Dos 攻擊威脅性通過該節(jié)點是否受到攻擊來衡量,1 表示受到攻擊,2 表示沒有受到攻擊。結(jié)合威脅性的3個指標(biāo)計算節(jié)點的威脅性,威脅性的取值范圍在1-4 的范圍內(nèi)(1=安全;2=輕度威脅;3=中度威脅;4=高度威脅)。
運行狀態(tài)態(tài)勢值根據(jù)節(jié)點的內(nèi)存使用率、硬盤使用率、帶寬占用率和CPU 占用率來衡量。結(jié)合運行狀態(tài)的4 個指標(biāo)計算節(jié)點的狀態(tài)態(tài)勢值,狀態(tài)態(tài)勢值的取值范圍在1-4 的范圍內(nèi)(1=運行正常;2=輕度威脅;3=威脅;4=高度威脅)。
結(jié)合權(quán)重,采用加權(quán)的方式計算最有可能攻擊路徑的各節(jié)點網(wǎng)絡(luò)安全態(tài)勢值后,對網(wǎng)絡(luò)安全態(tài)勢值進(jìn)行累加,形成整個網(wǎng)絡(luò)的安全態(tài)勢評估值。
實驗思路:模擬攻擊行為,網(wǎng)管系統(tǒng)會發(fā)出告警,獲取原始的實驗數(shù)據(jù)——告警數(shù)據(jù);然后對告警數(shù)據(jù)進(jìn)行數(shù)據(jù)重構(gòu)和時空特征提取,將時空特征輸入到三層神經(jīng)網(wǎng)絡(luò)中,獲得最有可能攻擊的節(jié)點;基于當(dāng)前攻擊節(jié)點結(jié)合網(wǎng)絡(luò)攻擊圖推測攻擊者最有可能的攻擊路徑,在此基礎(chǔ)上,計算攻擊路徑各個物理節(jié)點的安全態(tài)勢;最后基于物理節(jié)點的安全態(tài)勢計算整個網(wǎng)絡(luò)的安全態(tài)勢值。
本文通過模擬網(wǎng)絡(luò)攻擊行為,通過采用拒絕服務(wù)攻擊、漏洞攻擊、假消息攻擊等方法對測試網(wǎng)絡(luò)進(jìn)行實驗驗證。在攻擊過程中,提取告警事件593 條,并對相關(guān)的攻擊行為進(jìn)行標(biāo)記。實驗包括模擬2 種正常的網(wǎng)絡(luò)行為和3 種不同組合的攻擊行為。通過對告警數(shù)據(jù)進(jìn)行時空特征融合后,通過三層神經(jīng)網(wǎng)絡(luò)(網(wǎng)絡(luò)結(jié)構(gòu)6-3-1,輸入層包含六個節(jié)點、隱含層包括3 個節(jié)點、輸出層包括1個節(jié)點,輸入是告警數(shù)據(jù)的時空特征,本文對告警數(shù)據(jù)的N維時空特征通過池化壓縮成6 個特征值并輸入輸入層,各層之間由可修正的權(quán)值w互連實現(xiàn)特征值之間的關(guān)聯(lián)計算,最后輸出基于告警信息時空特征的可疑攻擊節(jié)點)對告警信息進(jìn)行映射并獲取攻擊節(jié)點,結(jié)合時間序列形成多步攻擊的路徑;然后將轉(zhuǎn)移概率引入到攻擊圖中,推斷攻擊者最有可能的攻擊意圖;最后結(jié)合潛在攻擊路徑,實現(xiàn)大概率攻擊節(jié)點的安全態(tài)勢評估,并根據(jù)各個節(jié)點在集群中的重要性,計算整個網(wǎng)絡(luò)的安全態(tài)勢評估值。本文采用傳統(tǒng)的網(wǎng)絡(luò)態(tài)勢評估方法與本文的算法進(jìn)行對比,兩者的攻擊路徑預(yù)測準(zhǔn)確率和網(wǎng)絡(luò)安全態(tài)勢評估預(yù)測值偏差率結(jié)果如表2:
表2 攻擊路徑預(yù)測準(zhǔn)確率和網(wǎng)絡(luò)安全態(tài)勢評估預(yù)測值偏差
通過實驗對比結(jié)果可知,本文提出的算法較傳統(tǒng)的網(wǎng)絡(luò)態(tài)勢評估方法在很大層度上提升攻擊路徑預(yù)測準(zhǔn)確率和網(wǎng)絡(luò)安全態(tài)勢評估的經(jīng)度,這由于本文提出的算法通過提取告警數(shù)據(jù)的時空特征能夠準(zhǔn)確提取攻擊行為,并根據(jù)當(dāng)前攻擊路徑結(jié)合攻擊概率轉(zhuǎn)移表,實現(xiàn)攻擊者攻擊意圖的推斷,如此,該方法從多維度上分析攻擊行為,降低了虛假告警事件對攻擊行為判斷的干擾;除此之外,該方法在現(xiàn)有攻擊階段的基礎(chǔ)上,采用攻擊路徑的累計概率來預(yù)測最有可能的攻擊路徑,形成多步攻擊驅(qū)動下的網(wǎng)絡(luò)安全的動態(tài)演變機制,實現(xiàn)動態(tài)反映網(wǎng)絡(luò)安全態(tài)勢變化的目標(biāo),保證算法的精度。
本文提出一種基于攻擊圖模型的網(wǎng)絡(luò)安全態(tài)勢評估方法,該方法解決多源告警信息數(shù)量繁多,虛假告警事件對網(wǎng)絡(luò)攻擊路徑確定造成干擾的問題。本文結(jié)合滑動窗口法重構(gòu)告警數(shù)據(jù),并對告警數(shù)據(jù)進(jìn)行時空特征提取;基于三層BP 神經(jīng)網(wǎng)絡(luò)映射攻擊節(jié)點并獲取多步攻擊路徑;在網(wǎng)絡(luò)攻擊圖的基礎(chǔ)上,結(jié)合轉(zhuǎn)移概率推斷攻擊者意圖,采用累計概率的方法形成多步攻擊驅(qū)動下的網(wǎng)絡(luò)安全的動態(tài)演變機制,動態(tài)反映網(wǎng)絡(luò)安全態(tài)勢的變化情況。該方法在實驗中取得了良好的攻擊意圖預(yù)測效果,從實驗效果可知,本文提出的方法能夠較為準(zhǔn)確的識別網(wǎng)絡(luò)攻擊的各種行為和攻擊者意圖,具有一定的擴展性。在未來,將進(jìn)一步研究網(wǎng)絡(luò)安全態(tài)勢感知的優(yōu)化策略,利用深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)算法對節(jié)點映射環(huán)節(jié)進(jìn)行優(yōu)化,借鑒智能動態(tài)分析技術(shù)實現(xiàn)多步攻擊行為的快速感知,為現(xiàn)實的網(wǎng)絡(luò)安全態(tài)勢感知提供更具現(xiàn)實的應(yīng)用意義。