精品国产av一区二区三区,国产av一区二区三区,丰满少妇大乳高潮在线,9lporm自拍视频区九色

當前位置:首頁 > 最新資訊 > 行業資訊

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

一、概述

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

二、自動化網絡流量分析

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

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

2.1 數據表示

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

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

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

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

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

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

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

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

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

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

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

nPrint

圖2 nPrint

2.2 nPrintML

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

nPrintML

圖3 nPrintML

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

因為AutoGluon集成了多個性能良好的單一模型,優于許多其他AutoML工具,所以選擇AutoGluon作為AutoML工具。這里使用處理表格數據的功能子集AutoGluon-Tabular,它通過搜索一組基模型來進行特征選擇、模型選擇和超參數優化,包括深度神經網絡、基于樹的方法(如隨機森林)、非參數方法(如k近鄰)以及梯度增強樹方法。此外,AutoGluon-Tabular也能從基模型中創建加權集成模型,以更少的訓練時間實現比其他AutoML工具更高的性能。

研究人員結合nPrint與AutoGluon,用python實現了nPrintML[2],允許用戶在單個調用中在整個目錄上運行。以被動操作系統檢測為例,用例如下:

nprintml -L os_labels.txt -a index -P traffic.pcap -4 –t

2.3 實驗結果

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

nPrintML案例研究結果

圖4 nPrintML案例研究結果

三、小結

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

猜你喜歡