關于多步驟攻擊預測方法的調研概要
Intro
首先需要知道的概念是Multi-Step,也叫Multi-Stage,相信對cs熟悉的朋友應該都能明白所謂step或者stage指的是這一類型的攻擊通常是多步走,多個階段進行的,不是一次性的。對于這類攻擊,階段性的成果只是達成最終目標的一個路徑,在攻擊者實現最終目標之前這些階段性的攻擊可能或多或少能夠被安全設備捕捉到,但像傳統IDS這類防御措施是不足以完整挖掘出攻擊路徑并及時反饋出攻擊者的下一步行動的。于是作者著眼于這類攻擊檢測方法的性能指標,回顧最常用的用于預測多步驟攻擊的方法,以指導研究人員為不同的多步驟攻擊場景選擇最為合適的方法。
Challenges
早期用于檢測傳統網絡攻擊的方法已經不太適用于檢測和預測多步驟攻擊。目前針對多步驟攻擊的檢測和預測通常是通過結合幾個特定的事件來進行的,但網絡中我們不可能保證所有運行的服務都是絕對安全的。這里涉及到一個取舍,到底是要安全還是用戶體驗。于是考慮到這個局限性,問題就轉變為制定一個限制程度可接受的多步驟攻擊檢測和預測方法。
這個問題的關鍵挑戰在于如何預測復雜多變的攻擊手法,通常來說這類攻擊是由多個不同步驟組成的用于實現攻擊者最終目標的一系列攻擊。但由于網絡流量數據的復雜性,攻擊流量與正常流量混雜難以區別,從海量數據中篩查出攻擊流量就猶如海底撈針了。除此之外,還有一些特定環境和場景下才能發動的攻擊,這種情況作者稱之為稀有數據(rare-data)挑戰。在這種情況下,訓練一個模型來檢測這種數量罕有的攻擊是一件幾乎無法完成的事。
除了上述挑戰以外,在預測多步驟攻擊時會遇到的另一個挑戰/阻礙是極度不平衡的數據集。這主要是因為要做多步驟攻擊檢測和預測,首先需要找到攻擊階段之間的關聯性或相似性,更重要的是不僅要知道攻擊類型,還要知道攻擊的性質和目的。一旦缺失了一部分信息,那么構建起來的檢測模型效果一定是不太好的。所以這種問題也被稱為是“數據缺失”問題,在這種情況下,需要先對傳入的未知攻擊進行分類,然后才能夠輸入模型進行訓練。
Algorithms/Mechanisms
以下涉及到的具體論文方法請至原文中查看
Hidden Markov Models
隱馬爾可夫模型(HMM)是目前應用于多步驟攻擊預測的眾多模型中使用最廣泛的,HMM模型中的存在著一定數量的隱藏態,但不論如何每一個狀態都會產生一個觀察值。對于試驗者來說,只有那些由特定狀態所產生的觀察值是值得注意的。由此,該模型所謂的狀態很容易地能夠和多步驟攻擊中的每一步進行關聯,這也是該模式適用于多步驟攻擊預測的原因。通過該模型,能夠根據先驗的攻擊序列來確定未知攻擊所屬的類型象限。
雖然HMM有著上述優點,但其用來預測攻擊序列的viterbi算法需要大量的計算時間和內存消耗,序列長度與所需時間成正比。通常來說,較大但不是巨大的序列和特征集比較適用。除此之外,訓練HMM模型還有一個問題是需要合理調參,以使得模型能夠快速收斂,減少迭代次數。
Artificial Neural Networks
人工神經網絡(ANN)能夠根據一些標記數據或聚類算法來理解輸入的數據,一個ANN是一個個神經元的相互連接,神經元結合輸入和相關權重進行計算,將結果反饋給激活函數,以確定信號是否能夠通過。舉一個實例,將ANN引入至IDS中,它從網絡入侵數據集中提取特征,并預測攻擊類型。關于神經網絡的學習過程這里不再贅述,歸根到底是要讓其收斂。
ANN在實際生產環境已經被證明是能夠成功檢測和預測攻擊的了,它能夠通過監測和從數據集中學習來做到在正常或異常的基礎分類上對攻擊進行更高層次的分類。但ANN的缺點也十分明顯,雖然其能夠處理大量數據,能夠分析現有數據并作出判斷,但并不適用于實時數據處理,即沒有很好的辦法預測實時入侵。
Bayesian Networks
貝葉斯網絡是基于條件概率原理工作的一個概率模型,本質上來說貝葉斯網絡是一個包含節點和邊的有向無環圖,節點代表隨機變量,而邊代表這些變量之間的條件獨立性。所謂條件概率,指的是一個節點在給定時間處于特定狀態的概率,而每個貝葉斯網絡中一定存在一個父節點和子節點,子節點的概率取決于父節點。
以一個實際例子來說明:利用貝葉斯網絡建立的貝葉斯分類器能夠識別正常和惡意TCP流量中出現的具有不同概率的特征,然后通過一個預定義的訓練模型,將流量分類為正常或惡意。貝葉斯最大的優點就在于其易于實現,但效果僅僅只是趕得上別的方法。
Machine Learning Techniques
這一部分就比較大了,分大類可以分為監督和無監督甚至半監督方法。作者僅討論了兩種方法:
- Support Vector Machine
- 支持向量機(SVM)是一種監督模型,主要用于數據分類,傳統的SVM適用于帶標簽的數據。但對于無標簽的數據,可以利用One-Class SVM來解決。除此之外,傳統SVM可以考慮使用Robust-SVM來替換模型以追求更加穩定的實驗效果。
- SVM已被證明是用于入侵檢測和預測最為成功的數據挖掘技術,它與神經網絡和決策樹相比,具有更低的誤報率和更高的預測精準度,同時對于輸入數據也沒有那么多限制要求。但SVM的缺點是其不能夠有效地實時處理數據,除此之外它更多地適用于數字數據,而對于非數字數據的處理效果并不佳。
- Decision Trees
- 決策樹是一種能夠繪制決策及其結果的樹狀模型,在決策樹中,內部節點代表了對屬性的測試,而分支代表了該測試的結果。簡單來說,決策樹能夠給出不同情況下(不同路徑下)的預期值。
- 決策樹通常通過需要尋找顯著特征來分析數據集并從中尋找相對應的模式來預測攻擊,正因如此,它能夠處理大型數據集。它能從父節點到子節點的路徑規則來對攻擊進行分類,這意味著決策樹能夠有助于對網絡入侵進行實時監控。
Conclusion
最后,簡單看看作者羅列出的不同方法的對比


寫在最后,作者表明其上述討論的所有算法都沒有充分解決“稀有數據”和“缺失數據”的問題,這兩個問題會在極大程度上誤導預測的結果。在“稀有數據”問題的情況下,方法可能會傾向于數據集中發生次數最多的攻擊類型;在“缺失數據”問題的情況下,由于多步驟攻擊的連貫性,很有可能預測沒辦法進行下去。此外,更多的研究傾向于對于已有的入侵數據集進行研究,而非是真實、實時的網絡環境中的數據。因此,未來應當重點關注上述問題,并解決。