国产熟女一区二区五月婷-又爽又黄又无遮挡网站-亚洲国产精品视频在线播放-国内偷拍国内精品网999

當前位置:首頁 > 最新資訊 > 行業(yè)資訊

基于機器學習的自動化網(wǎng)絡(luò)流量分析

一、概述

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

二、自動化網(wǎng)絡(luò)流量分析

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

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

2.1 數(shù)據(jù)表示

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

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

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

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

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

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

(1)語義表示法:每個報頭都有各自的語義字段,但它不保留具有區(qū)分度的可選字段的順序,同時需要領(lǐng)域?qū)I(yè)知識來解析每個協(xié)議的語義結(jié)構(gòu),即使擁有這些知識,后續(xù)也還是不可避免進行繁瑣的特征工程;

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

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

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

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

nPrint

圖2 nPrint

2.2 nPrintML

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

nPrintML

圖3 nPrintML

nPrint使不同流量分析工作的特征提取過程標準化,AutoML旨在自動化特征選擇、模型選擇和超參數(shù)調(diào)優(yōu),以便為給定的特征和帶標簽數(shù)據(jù)集找到最優(yōu)模型。最終,nPrint為每個網(wǎng)絡(luò)流量分析任務(wù)提取最佳特征,AutoML用于確定最佳模型和超參數(shù)。

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

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

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

2.3 實驗結(jié)果

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

nPrintML案例研究結(jié)果

圖4 nPrintML案例研究結(jié)果

三、小結(jié)

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

猜你喜歡