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