<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    基于機器學習的自動化網絡流量分析

    VSole2022-04-11 15:08:37

    一、概述

    目前機器學習廣泛應用于網絡流量分析任務,特征提取、模型選擇、參數調優等眾多因素決定著模型的性能,每當面對不同的網絡流量或新的任務,就需要研究人員重新開發模型,這個反復性的過程往往是費時費力的。因此有必要為不同網絡流量創建一個通用的表示,可以用于各種不同的模型,跨越廣泛的問題類,并將整個建模過程自動化。本文關注通用的自動化網絡流量分析問題,致力于使研究人員將更多的精力用于優化模型和特征上,并有更多的時間在實踐中解釋和部署最佳模型。

    二、自動化網絡流量分析

    傳統基于機器學習的網絡流量分析嚴重依賴人工,在實踐中,獲得特征、模型和參數的最優組合通常是一個迭代的過程,這個過程有一些弊端。首先,數據的合適表示和特征選擇對于流量分析任務是十分重要的,但即便有專業領域知識,特征工程仍然是一個脆弱且不完善的過程,人工分析時可能會忽略不夠明顯的或包含復雜關系的特征;其次,網絡環境復雜多變,流量模式的變化帶來特征的失效;最后,對于每一個新的流量檢測或分類任務,都需要重新設計新的特征,選擇合適的模型,并重新調整參數。

    為了避免這些問題,本節介紹一種適用于不同網絡流量分析任務的自動化的方法[1],通過對網絡流量進行統一表示,并結合自動機器學習(AutoML)方法,實現在不同網絡流量分析問題上的簡單快速的自動化迭代和部署。

    2.1數據表示

    對于許多分類問題,數據表示與模型選擇同等重要,所以在應用機器學習方法時,如何對數據進行表示和編碼是非常重要的。對于網絡流量數據的編碼需要滿足以下三個要求:

    (1)完整的表示。我們的目標不是選擇特定的特征,而是一種統一的數據編碼,以避免依賴專家知識,所以需要保留包含包頭在內的所有數據包信息;

    (2)固定的大小。許多機器學習模型的輸入總是保持相同的大小,所以每個數據包表示都必須是常量大小;

    (3)固有的規范化。當特征被歸一化后,機器學習模型通常會表現得更好,也能減少訓練時間并增加模型的穩定性,所以如果數據的初始表示本身就是規范化的,將會非常方便;

    (4)一致的表示。數據表示的每個位置都應該對應于所有數據包包頭的相同部分,也就是說,即使協議和報文長度不同,特定的特征總是在數據包中具有相同的偏移量,對齊后的數據都能讓模型基于這樣的前提來學習特征表示。

    如圖1所示,網絡流量表示的主要方式包括語義表示法和樸素二進制表示法。

    (1)語義表示法:每個報頭都有各自的語義字段,但它不保留具有區分度的可選字段的順序,同時需要領域專業知識來解析每個協議的語義結構,即使擁有這些知識,后續也還是不可避免進行繁瑣的特征工程;

    (2)樸素二進制表示法:使用數據包的原始位圖表示來保持順序,但是忽略了不同的大小和協議,導致兩個數據包的特征向量對同一特征具有不同的含義,這種不對齊可能會在重要特征的地方引入噪聲而降低模型性能,同時也因為無法將每一位都映射到語義上而導致不可解釋。

    圖1 語義表示法和樸素二進制表示法

    以上兩種表示方法都無法滿足統一化表示數據的需求,如圖2所示,研究人員結合語義表示法和樸素二進制表示法提出一種統一的網絡數據包表示方法nPrint。首先,它會保證任何數據包都可以被完整表示而不丟失任何信息;然后,使用內部填充確保每個數據包以相同數量的特征表示,并且每個特征具有相同含義,這種在位級上可解釋的表示使我們能夠更好的理解模型;其次,直接使用數據包的位,區分于某個位被設置為0,將不存在的包頭用-1填充;最后,每個數據包都用相同數量的特征表示,對于給定的網絡流量分析任務,將載荷設置為可選的字節數。此外,nPrint具有模塊化和可擴展的特性,不僅可以將其他協議添加到表示中,也可以將一組數據包表示串聯起來構建多包的nPrint指紋。

    圖2 nPrint

    2.2nPrintML

    專家往往花費數周甚至數年從原始數據包中提取特征,并在認為最好的一個或一組模型上進行訓練,最后通過手工或結構化搜索對模型進行調優。為了將整個過程標準化,在nPrint的基礎上結合AutoML工具,提出nPrintML,如圖3所示,實現了機器學習流程的自動化。

    圖3 nPrintML

    nPrint使不同流量分析工作的特征提取過程標準化,AutoML旨在自動化特征選擇、模型選擇和超參數調優,以便為給定的特征和帶標簽數據集找到最優模型。最終,nPrint為每個網絡流量分析任務提取最佳特征,AutoML用于確定最佳模型和超參數。

    因為AutoGluon集成了多個性能良好的單一模型,優于許多其他AutoML工具,所以選擇AutoGluon作為AutoML工具。這里使用處理表格數據的功能子集AutoGluon-Tabular,它通過搜索一組基模型來進行特征選擇、模型選擇和超參數優化,包括深度神經網絡、基于樹的方法(如隨機森林)、非參數方法(如k近鄰)以及梯度增強樹方法。此外,AutoGluon-Tabular也能從基模型中創建加權集成模型,以更少的訓練時間實現比其他AutoML工具更高的性能。研究人員結合nPrint與AutoGluon,用python實現了nPrintML[2],允許用戶在單個調用中在整個目錄上運行。以被動操作系統檢測為例,用例如下:


    2.3實驗結果

    針對8個網絡流量分析場景,圖4展示了用nPrintML進行分析的案例研究,實驗結果表明,nPrintML不僅可以解決不同場景的網絡流量分析問題,并且具有相較于傳統方法更好的性能。

    圖4 nPrintML案例研究結果

    三、小結

    將機器學習應用于網絡流量分析任務的性能,除了取決于模型本身之外,數據的適當表示和特征的選擇同樣重要。本文介紹了一種自動網絡流量分析的新思路,通過將數據包進行統一表示,并將其轉化為適合表示學習和模型訓練的格式,然后結合現有的自動機器學習,最終將整個網絡流量分析過程完全自動化。這種方法不僅適用于常見的網絡流量分析任務,而且表現出比現有模型更好的性能。

    機器學習網絡流量
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    隨著入侵者的攻擊手段日趨智能化、復雜化,傳統的機器學習技術對異常攻擊行為的檢測有效性在下降。近年來,深度學習以其獨特的學習機制,利用大數據和高算力達到學習的高準確率。通過廣泛的文獻調查,目前已經有很多基于深度學習設計的入侵檢測系統。本綜述在對傳統機器學習技術和深度學習技術進行對比后,詳述了基于深度學習和數據集的入侵檢測系統。
    網絡流量分析是安全威脅檢測的一個重要研究方向。當前流量分析主要采取事件特征信息與特征庫匹配的方式,然而該方式存在特征庫組織簡單和更新不及時的缺點。此外,持續攻擊技術更新快,容易規避現有規則,從而導致檢測的漏報和誤報率較高。為此提出并設計了一種網絡流量安全智能分析系統。該系統能夠自動學習網絡流量的特征,智能地識別出異常并進行深度分析,從而可以準確快速定位問題并提高安全防護能力。
    人工智能是中性技術,在網絡安全攻防兩端都將發揮重要作用,隨著越來越多的人工智能技術被用于網絡攻擊和獲得未經授權的數據訪問,防御端對人工智能技術的依賴度也將進一步提高。網絡安全專家和軟件提供商正在通過人工智能技術,使攻擊者繞過安全措施變得更加困難,并且使其更容易檢測到惡意行為者。
    目前機器學習廣泛應用于網絡流量分析任務,特征提取、模型選擇、參數調優等眾多因素決定著模型的性能,每當面對不同的網絡流量或新的任務,就需要研究人員重新開發模型,這個反復性的過程往往是費時費力的。因此有必要為不同網絡流量創建一個通用的表示,可以用于各種不同的模型,跨越廣泛的問題類,并將整個建模過程自動化。本文關注通用的自動化網絡流量分析問題,致力于使研究人員將更多的精力用于優化模型和特征上,并有更多的
    在近幾十年中,人工智能 (AI) 已經從科幻概念逐步轉變為實際應用,滲透到社會的每個角落。從為電商網站推薦個性化商品,到自動制導車輛,再到幫助醫生診斷疾病,AI的應用看似無所不在。然而,隨著AI在各行各業的廣泛應用,其在網絡安全領域的作用也日益凸顯。
    ?機器學習算法依靠在數據中觀察到的用戶知識和模式,對我們可能喜歡或感興趣的內容做出推斷和建議。
    當人工智能遇上安全第7篇文章介紹基于機器學習的安全數據集,希望對您有幫助
    VSole
    網絡安全專家
      亚洲 欧美 自拍 唯美 另类