聊聊網(wǎng)絡(luò)攻擊預(yù)測技術(shù)
一、研究背景
網(wǎng)絡(luò)安全是一個(gè)非常廣泛的研究領(lǐng)域,對(duì)網(wǎng)絡(luò)中惡意活動(dòng)的檢測是最常見的問題之一。入侵檢測系統(tǒng)(Intrusion Detection System,IDS)作為一種安全防護(hù)技術(shù),通過實(shí)時(shí)監(jiān)控系統(tǒng),一旦發(fā)生異常就發(fā)出警告,是目前最廣泛使用的網(wǎng)絡(luò)安全產(chǎn)品之一,但是包含以下缺陷:
(1) 報(bào)警信息量過大導(dǎo)致不同攻擊者的攻擊場景不易被識(shí)別和理解;
(2) 只能檢測出攻擊,不能預(yù)測攻擊者下一步的攻擊。
現(xiàn)在的網(wǎng)絡(luò)攻擊大多為復(fù)合攻擊,因此從大量IDS報(bào)警數(shù)據(jù)中識(shí)別不同的復(fù)合攻擊事件并預(yù)測接下來的復(fù)合攻擊事件成為急待解決的問題。
IDS日志往往具有海量的報(bào)警日志,為了從中發(fā)現(xiàn)可疑的攻擊事件并預(yù)測將要發(fā)生的攻擊事件,往往需要大量安全分析人員的參與,這是一項(xiàng)復(fù)雜而又重復(fù)的勞動(dòng),卻是目前的人工智能技術(shù)所擅長的領(lǐng)域。如果能夠通過適當(dāng)?shù)慕7椒▽⑷斯ぶ悄芊矫娴难芯砍晒晒w移到安全日志分析領(lǐng)域,建立一個(gè)各個(gè)局域網(wǎng)通用的具有自學(xué)習(xí)能力的網(wǎng)絡(luò)攻擊預(yù)測模型,提高多步攻擊預(yù)測的效率以及準(zhǔn)確率,就可以為安全分析人員提供可靠的參考依據(jù)。
網(wǎng)絡(luò)的高速發(fā)展導(dǎo)致網(wǎng)絡(luò)安全要求提高,對(duì)網(wǎng)絡(luò)安全設(shè)施檢測到的網(wǎng)絡(luò)安全事件日志分析和對(duì)網(wǎng)絡(luò)攻擊場景的重建技術(shù)仍然是當(dāng)前學(xué)術(shù)界對(duì)網(wǎng)絡(luò)攻擊研究的重點(diǎn)和熱點(diǎn),而網(wǎng)絡(luò)攻擊預(yù)測技術(shù)又是重中之重。網(wǎng)絡(luò)攻擊是由多個(gè)攻擊步驟組合而成的一個(gè)完整攻擊場景,網(wǎng)絡(luò)攻擊的認(rèn)知和預(yù)測是一個(gè)多層次的模型[1]。
二、總體流程
網(wǎng)絡(luò)攻擊預(yù)測模型的過程包括三個(gè)步驟如圖1所示:IDS警報(bào)處理模塊、攻擊場景構(gòu)建模塊、攻擊預(yù)測模塊。
圖1 網(wǎng)絡(luò)攻擊預(yù)測模型的過程
三、IDS警報(bào)處理模塊
入侵檢測系統(tǒng)是網(wǎng)絡(luò)攻擊預(yù)測模型的數(shù)據(jù)來源,假陽性和假陰性是入侵檢測技術(shù)的關(guān)鍵技術(shù)指標(biāo)。減少告警的假陽性和假陰性是入侵檢測系統(tǒng)的重要目標(biāo)?,F(xiàn)代入侵檢測系統(tǒng)(IDS)在收集和分析數(shù)據(jù)上所用的技術(shù)及其多樣化,大多數(shù)都依賴于一個(gè)共同的架構(gòu):
(1) 檢測模塊收集可能包含入侵跡象的數(shù)據(jù);
(2) 關(guān)聯(lián)分析引擎處理收集到的數(shù)據(jù)以確定入侵活動(dòng);
(3) 響應(yīng)組件負(fù)責(zé)記錄并報(bào)告入侵行為。
幾乎所有的現(xiàn)代入侵檢測系統(tǒng)都是通過監(jiān)視主機(jī)信息或者網(wǎng)絡(luò)連接信息來捕獲攻擊相關(guān)的數(shù)據(jù)。入侵檢測可以收集到的數(shù)據(jù)有:文件系統(tǒng)、網(wǎng)絡(luò)事件、系統(tǒng)調(diào)用。
入侵檢測數(shù)據(jù)被收集以后,IDS就會(huì)使用解析引擎對(duì)這些數(shù)據(jù)進(jìn)行解析,識(shí)別入侵行為?,F(xiàn)代系統(tǒng)主要使用兩種技術(shù)對(duì)入侵檢測數(shù)據(jù)進(jìn)行解析,分別是誤用檢測和異常檢測。誤用檢測的本質(zhì)是基于專家系統(tǒng)預(yù)定義的知識(shí)庫來識(shí)別入侵。因此對(duì)于出現(xiàn)在知識(shí)庫中的入侵行為能夠達(dá)到很高的準(zhǔn)確率。由于誤用檢測系統(tǒng)無法檢測到知識(shí)庫里沒有出現(xiàn)的入侵,這種系統(tǒng)的性能很大程度上取決于系統(tǒng)的正確和完整的構(gòu)建,這是一個(gè)傳統(tǒng)上需要人類專家的任務(wù)。異常檢測主要涉及識(shí)別與正常系統(tǒng)行為不符的異常行為。異常檢測系統(tǒng)首先需要建立一個(gè)代表正常系統(tǒng)行為的基準(zhǔn)模型,根據(jù)這個(gè)模型識(shí)別異常事件。系統(tǒng)通過特定的閾值判斷一個(gè)事件是否為異常行為。優(yōu)點(diǎn)是它能夠識(shí)別新的以及以前未發(fā)現(xiàn)的攻擊。
當(dāng)前IDS型號(hào)種類較多,有免費(fèi)的Snort、TCPdump、Portsentry等,也有商業(yè)的Drangon、NFR、RealSecure等入侵檢測系統(tǒng),它們的報(bào)警格式和內(nèi)容各不相同,不便于直接用于攻擊場景構(gòu)建。但是由于IDS設(shè)備的封閉性,不同IDS生成的警報(bào)信息格式存在較大差異,導(dǎo)致無法實(shí)現(xiàn)IDS警報(bào)信息的共享。
最近出現(xiàn)了許多新的功能,其中包括入侵檢測格式(CIDF)和IETF標(biāo)準(zhǔn)化工作,來提供入侵檢測系統(tǒng)中的互操作性?;ヂ?lián)網(wǎng)工程任務(wù)組(IETF)內(nèi)部的IDWG(Intrusion Detection Working Group )工作組提出了一種具有較強(qiáng)融合能力的入侵檢測消息交換格式IDMEF。這樣的框架使得不同的數(shù)據(jù)收集和分析技術(shù)可以被集成到一個(gè)系統(tǒng)中,從而提高系統(tǒng)的覆蓋范圍和冗余度。越來越多的入侵檢測系統(tǒng)開始實(shí)現(xiàn)這個(gè)想法,如EMERALD。在標(biāo)準(zhǔn)的框架被廣泛使用之前還需要一段時(shí)間,入侵檢測系統(tǒng)的標(biāo)準(zhǔn)格式還有待進(jìn)一步研究。
四、攻擊場景構(gòu)建模塊
4.1 警報(bào)關(guān)聯(lián)技術(shù)
警報(bào)關(guān)聯(lián)技術(shù)是構(gòu)建攻擊場景的主要理論依據(jù),而攻擊場景重構(gòu)是構(gòu)建網(wǎng)絡(luò)攻擊預(yù)測模型的重要組成部分[2]。網(wǎng)絡(luò)入侵檢測系統(tǒng)(NIDS)的存在是任何現(xiàn)代安全體系結(jié)構(gòu)的基石。典型的NIDS分析網(wǎng)絡(luò)流量,并在檢測到惡意網(wǎng)絡(luò)數(shù)據(jù)包后立即生成安全警報(bào)。警報(bào)分析由安全專家手動(dòng)執(zhí)行,安全專家負(fù)責(zé)解析NIDS日志以識(shí)別相關(guān)警報(bào)以及它們之間可能的因果關(guān)系。
警報(bào)關(guān)聯(lián)系統(tǒng)把不同的警報(bào)關(guān)聯(lián)到一起。有時(shí)告警數(shù)量太多以至于手動(dòng)分析是不可能的,關(guān)聯(lián)引擎把大量信息減少到可以關(guān)聯(lián)的程度。另外,警報(bào)關(guān)聯(lián)系統(tǒng)可以從整體和抽象的角度來識(shí)別惡意活動(dòng),而不是單獨(dú)分析每個(gè)警報(bào)。換句話說,警報(bào)關(guān)聯(lián)系統(tǒng)是一個(gè)接收來自各種異構(gòu)系統(tǒng)的事件,減少所需的評(píng)估信息,刪除錯(cuò)誤的警報(bào),并檢測高層次的攻擊模式的系統(tǒng)。
警報(bào)關(guān)聯(lián)算法根據(jù)其特征可以分為三類,分別為基于相似性、基于知識(shí)和基于統(tǒng)計(jì)的方式。其中基于相似性和基于統(tǒng)計(jì)的算法只需要較少的上下文信息,只能基于警報(bào)特征和之前學(xué)到的信息之間的相似性進(jìn)行關(guān)聯(lián)?;谥R(shí)的算法完基于警報(bào)含義進(jìn)行。
4.2 構(gòu)建復(fù)合攻擊場景
IDS日志是一系列報(bào)警事件的集合,這些報(bào)警事件來自于多個(gè)攻擊序列。依據(jù)IDS報(bào)警之間的內(nèi)在聯(lián)系,將IDS日志劃分為多個(gè)IP相關(guān)報(bào)警序列。然后在每個(gè)IP相關(guān)報(bào)警序列中提取攻擊事件。最后根據(jù)攻擊事件發(fā)生時(shí)間進(jìn)行排序構(gòu)成攻擊序列。
攻擊場景重構(gòu)部分接收入侵檢測系統(tǒng)(IDS)傳入的IDS日志。首先通過IP相關(guān)報(bào)警序列劃分算法,把IDS日志劃分到多個(gè)告警分組。然后在每個(gè)告警分組之內(nèi)應(yīng)用提取攻擊事件算法,把多個(gè)告警分組轉(zhuǎn)化為多個(gè)攻擊分組。最后通過抽取構(gòu)建序列算法,把每個(gè)攻擊分組轉(zhuǎn)化為一個(gè)或多個(gè)攻擊序列。構(gòu)建復(fù)合攻擊場景的流程如圖2所示。
圖2 構(gòu)建復(fù)合攻擊場景的流程
IDS數(shù)據(jù)處理模塊解決了各種IDS產(chǎn)生的日志格式不兼容的問題,但是不同的局域網(wǎng)由于配置不同,功能不同,即便是相同的地址(內(nèi)網(wǎng)地址)所表達(dá)的含義也是不同的。為了解決數(shù)據(jù)內(nèi)涵不一致的問題,需要設(shè)計(jì)攻擊場景構(gòu)建部分。該功能將不同局域網(wǎng)內(nèi)的數(shù)據(jù)用同一的形式表示出來,供模型訓(xùn)練預(yù)測使用。
4.2.1 警報(bào)信息聚合
警報(bào)聚合模塊導(dǎo)入IDS警報(bào)處理模塊中傳遞的經(jīng)過格式化的IDS報(bào)警數(shù)據(jù),把報(bào)警數(shù)據(jù)劃分到不同的警報(bào)組中,例如如果兩個(gè)報(bào)警是相關(guān)可聚類的,那么其中一個(gè)警報(bào)的地址無論是源IP地址或者目的IP地址總會(huì)和另一個(gè)的源或目的IP地址相同。由同一攻擊活動(dòng)觸發(fā)的因果報(bào)警事件,彼此在地址分布上總是具有關(guān)聯(lián)性。
4.2.2 提取攻擊事件
互相關(guān)聯(lián)的報(bào)警組成的分組中,如果報(bào)警名稱相同把它們合并作為一個(gè)攻擊事件。每個(gè)攻擊事件包括的屬性有攻擊名稱、發(fā)生時(shí)間(即第一個(gè)報(bào)警的時(shí)間)、結(jié)束時(shí)間(即最后一個(gè)報(bào)警的時(shí)間)、源IP地址集合、目的IP地址集合以及該攻擊事件的分?jǐn)?shù),攻擊分?jǐn)?shù)綜合反映了攻擊事件的威脅程度。
攻擊事件的時(shí)間間隔是一次攻擊事件最后一次報(bào)警的發(fā)生時(shí)間,與下一個(gè)攻擊事件第一次報(bào)警的發(fā)生時(shí)間之間的時(shí)間間隔。一個(gè)攻擊序列不會(huì)一直持續(xù)下去。如果兩個(gè)攻擊事件的攻擊事件的時(shí)間間隔過長,在其他條件都滿足的情況下,也會(huì)認(rèn)為它們屬于兩個(gè)攻擊序列。
4.2.3 攻擊事件排序
理論上一個(gè)復(fù)合攻擊的每個(gè)攻擊步驟的威脅程度是依次遞增的,攻擊分?jǐn)?shù)量化了每個(gè)攻擊步驟的威脅程度,因此提取到每個(gè)的攻擊序列中的每個(gè)攻擊事件的分?jǐn)?shù)也應(yīng)該是依次遞增的。通過對(duì)事件抽取中生成的由攻擊事件組成的序列進(jìn)行處理,生成一個(gè)由攻擊序列組成的序列。一個(gè)攻擊事件組成的序列中經(jīng)過排序后可能包含多個(gè)攻擊序列。
4.2.4 攻擊事件編碼
每個(gè)攻擊事件中都包含攻擊事件信息,這些信息中攻擊事件名稱是用字符串表示的,而源/目的IP集合是用字符串集合的形式表示的,攻擊序列編碼把它們用數(shù)字的形式表示出來。這樣做的意義在于:
(1) 把攻擊序列轉(zhuǎn)化成計(jì)算機(jī)模型可以處理的形式;
(2) 規(guī)避掉局域網(wǎng)內(nèi)的特有信息,例如IP地址的分配方式,局域網(wǎng)中主機(jī)個(gè)數(shù)等等。
五、攻擊預(yù)測模塊
5.1 深度學(xué)習(xí)
目前以深度學(xué)習(xí)為代表的人工智能相關(guān)技術(shù),已經(jīng)在自然語言處理、機(jī)器翻譯、計(jì)算機(jī)視覺等領(lǐng)域取得了豐碩成果,而且正在向各領(lǐng)域逐漸普及。深度學(xué)習(xí)與其他的技術(shù)相比有如下優(yōu)點(diǎn):
(1) 能夠在訓(xùn)練過程中進(jìn)行特征提取,減少了繁雜的特征提取過程,減少了對(duì)領(lǐng)域內(nèi)專家知識(shí)的依賴;
(2) 具有強(qiáng)大的擬合能力,可以擬合各種復(fù)雜的函數(shù);
(3) 卷積神經(jīng)網(wǎng)絡(luò)、遞歸神經(jīng)網(wǎng)絡(luò)等網(wǎng)絡(luò)結(jié)構(gòu)的提出進(jìn)一步改善了特定的問題上神經(jīng)網(wǎng)絡(luò)的性能。
雖然神經(jīng)網(wǎng)絡(luò)在擬合復(fù)雜變換方面具有強(qiáng)大的能力,但是訓(xùn)練需要大量標(biāo)記數(shù)據(jù)來控制過度擬合的風(fēng)險(xiǎn)。貝葉斯方法可以用少量的訓(xùn)練樣本建立非常精確的模型。將這兩種方法結(jié)合起來提出了貝葉斯深度學(xué)習(xí)。它的優(yōu)點(diǎn)是:可以從少量的數(shù)據(jù)進(jìn)行學(xué)習(xí),同時(shí)又有著強(qiáng)大的擬合能力。圖3展示了采用預(yù)測模型預(yù)測攻擊事件的整體流程[3]。
目前研究員正在把注意力逐漸轉(zhuǎn)向無監(jiān)督學(xué)習(xí),這將是人工智能的長期目標(biāo)。通常使用概率模型和貝葉斯方法對(duì)完全無監(jiān)督學(xué)習(xí)或半監(jiān)督學(xué)習(xí)中的無標(biāo)注數(shù)據(jù)建模。最近,深度生成模型的受歡迎程度證明了組合深度神經(jīng)網(wǎng)絡(luò)和概率模型的潛在價(jià)值,這個(gè)組合已經(jīng)在圖像生成 [4]。
圖3 攻擊預(yù)測模型整體流程圖
5.2 貝葉斯網(wǎng)絡(luò)
基于Bayes模型實(shí)現(xiàn)的多步網(wǎng)絡(luò)攻擊預(yù)測模型的原理是利用一組條件概率來完成對(duì)一組條件獨(dú)立性假設(shè)。首先采用貝葉斯網(wǎng)絡(luò)建立知識(shí)基(即貝葉斯網(wǎng)絡(luò)安全事件),在預(yù)測估計(jì)過程中按照一定規(guī)則將網(wǎng)絡(luò)安全事件進(jìn)行關(guān)聯(lián),逐次建立貝葉斯網(wǎng)絡(luò)。并且貝葉斯博弈的網(wǎng)絡(luò)攻擊模型可以解決傳統(tǒng)網(wǎng)絡(luò)防御系統(tǒng)和入侵檢測系統(tǒng)的一些弊端,能達(dá)到動(dòng)態(tài)防御未知的網(wǎng)絡(luò)攻擊行為。使用 Bayes方法修改網(wǎng)絡(luò)攻擊者主機(jī)的概率值,該模型能很好的和網(wǎng)絡(luò)攻擊行為匹配,可以預(yù)測下一個(gè)網(wǎng)絡(luò)攻擊階段。
貝葉斯網(wǎng)絡(luò)推理算法大致可分為精確推理算法和近似推理算法兩類。精確推理算法希望能計(jì)算出目標(biāo)變量的邊際分布或條件分布的精確值,然而此類算法的計(jì)算復(fù)雜度隨著極大團(tuán)規(guī)模的增長呈指數(shù)增長,因此僅適用于貝葉斯網(wǎng)絡(luò)的規(guī)模較小時(shí)。當(dāng)貝葉斯網(wǎng)絡(luò)的規(guī)模較大時(shí),多采用近似推理,近似推理算法可以在較低時(shí)間復(fù)雜度下獲得原問題的近似解。
貝葉斯網(wǎng)絡(luò)和攻擊場景都是一種有向無環(huán)圖,并且有向邊表示一種因果關(guān)系,可將攻擊場景以貝葉斯網(wǎng)絡(luò)的形式進(jìn)行描述,生成貝葉斯攻擊場景圖[5]。
基于多步攻擊場景的攻擊預(yù)測算法的基本流程如圖4所示。
圖4 貝葉斯網(wǎng)絡(luò)的攻擊預(yù)測模型整體流程
貝葉斯網(wǎng)絡(luò)攻擊預(yù)測方法主要包括兩個(gè)處理流程:因果貝葉斯攻擊場景圖的構(gòu)建和攻擊預(yù)測推理。
(1) 因果貝葉斯攻擊場景圖的構(gòu)建
因果貝葉斯攻擊場景圖構(gòu)建的基礎(chǔ)是結(jié)構(gòu)構(gòu)建和參數(shù)學(xué)習(xí),其中因果貝葉斯攻擊場景圖結(jié)構(gòu)構(gòu)建的依據(jù)是攻擊間的因果關(guān)系關(guān)聯(lián)規(guī)則。
(2) 攻擊預(yù)測推理
對(duì)加入攻擊證據(jù)的因果貝葉斯攻擊場景圖進(jìn)行參數(shù)概率推理,得到該攻擊證據(jù)的直接節(jié)點(diǎn)與間接節(jié)點(diǎn)概率值,通過概率計(jì)算來預(yù)測下一步發(fā)生的攻擊及其最終攻擊意圖。
五、總結(jié)
針對(duì)入侵檢測系統(tǒng)很難識(shí)別攻擊場景、不能預(yù)測下一步入侵的問題,本文對(duì)網(wǎng)絡(luò)攻擊預(yù)測進(jìn)行了探究。根據(jù)當(dāng)前網(wǎng)絡(luò)中已經(jīng)存在的網(wǎng)絡(luò)狀態(tài)進(jìn)行深入分析,判斷出在當(dāng)前網(wǎng)絡(luò)狀態(tài)下下一階段的網(wǎng)絡(luò)狀態(tài),再結(jié)合特定的數(shù)學(xué)模型對(duì)未來的行為進(jìn)行模擬與預(yù)判。建立網(wǎng)絡(luò)攻擊預(yù)測模型有很多種方法,本文對(duì)常用的神經(jīng)網(wǎng)絡(luò)和貝葉斯網(wǎng)絡(luò)模型的整體流程進(jìn)行了梳理。
參考文獻(xiàn)
[1] 樊迪,劉靜,莊俊璽,賴英旭.基于因果知識(shí)發(fā)現(xiàn)的攻擊場景重構(gòu)研究[J].網(wǎng)絡(luò)與信息安全學(xué)報(bào),2017,3(04):58-68.
[2] 黃強(qiáng),魯學(xué)仲,運(yùn)凱,李浩升,趙梅,康婉晴.基于多源告警信息關(guān)聯(lián)的網(wǎng)路安全技防技術(shù)[J].信息安全研究,2021,7(11):1041-1046.
[3] 于泳.基于深度學(xué)習(xí)的多步網(wǎng)絡(luò)攻擊預(yù)測模型的設(shè)計(jì)與實(shí)現(xiàn).北京郵電大學(xué).
[4] Rezende,D. J.; Eslami, S. A.; Mohamed, S.; Battaglia, P.; Jaderberg, M.; and Heess, N.2016. Unsupervised learning of 3d structure from images. In Advances In NeuralInformation Processing Systems, 4997–5005.
[5] 劉博文, 劉建毅, 張茹. 基于神經(jīng)網(wǎng)絡(luò)和貝葉斯網(wǎng)絡(luò)攻擊圖的多步攻擊場景挖掘研究[J]. 2019.