來源:arxiv2018叠纹,論文鏈接
利用RNN來進行網(wǎng)絡(luò)流量的異常檢測
核心思想:
將網(wǎng)絡(luò)流量標(biāo)記并壓縮成形成表示計算機之間對話的“句子”的“單詞”序列赂摆。然后使用這些句子來訓(xùn)練生成一個模型,該模型可以學(xué)習(xí)新生成的語言的語義和句法語法间驮。本文通過使用LSTM單元來發(fā)現(xiàn)這些序列的關(guān)系以及其細微差別金踪。然后使用語言模型來預(yù)測兩個IP之間的通信买雾,并且所預(yù)測出誤差的被用來進行測量出特殊(atyptical)的通信與一般(typtical)的通信。通過學(xué)習(xí)針對每個網(wǎng)絡(luò)的特定模型剪撬,并將其推廣到網(wǎng)絡(luò)內(nèi)外的典型計算機到計算機通信摄乒,語言模型能夠識別與模型相關(guān)的異常的網(wǎng)絡(luò)活動序列。
總的來說就是結(jié)合NLP的方法來進行網(wǎng)絡(luò)流量的異常檢測残黑。無需通過訓(xùn)練數(shù)據(jù)的標(biāo)記馍佑,并且不需要了解每臺機器的內(nèi)部狀態(tài)或流程即可進行惡意流量的檢測。此外還可以用一個無監(jiān)督型的模型梨水,即從一個毫無代表性的流量中訓(xùn)練出的模型(自我理解拭荤,可以解決數(shù)據(jù)不充分的問題)來檢測出惡意流量。
使用RNN的原因:網(wǎng)絡(luò)流量類似序列型數(shù)據(jù)疫诽,則可以采用RNN解決
數(shù)據(jù)來源
ISCX IDS dataset舅世。包含七天的網(wǎng)絡(luò)活動,有正常流量以及四種不同的攻擊流量
Introduction
近幾年網(wǎng)絡(luò)活動越來越多奇徒,造成惡意網(wǎng)絡(luò)流量也越多雏亚。由于現(xiàn)在的IDS是通過匹配來辨別正常流量與惡意流量的方法效率不高。本文則采用LSTM單元來學(xué)習(xí)代表計算機網(wǎng)絡(luò)的有序網(wǎng)絡(luò)流量序列摩钙,然后評估此模型檢測該網(wǎng)絡(luò)上惡意活動的能力罢低。
數(shù)據(jù)預(yù)處理方法
網(wǎng)絡(luò)流量數(shù)據(jù)由網(wǎng)絡(luò)上所連接的設(shè)備之間的通信日志組成(是否是pcap包)。網(wǎng)絡(luò)流量通過IP地址聚合形成單條記錄胖笛,記錄包括通信的開始時間以及持續(xù)時間网持。每條記錄包含兩個網(wǎng)絡(luò)通信設(shè)備的IP地址。此外網(wǎng)絡(luò)流量還包含傳輸字節(jié)數(shù)长踊、數(shù)據(jù)包功舀、通信的端口號以及協(xié)議等。
存在一個問題:由于給設(shè)備分配的為動態(tài)IP之斯,所以當(dāng)前的IP不能一直表示此設(shè)備日杈,即無法保證設(shè)備以及IP的一致性挽封。
可能解決的方法:捕獲設(shè)備的MAC地址捉捅,網(wǎng)絡(luò)流量通過MAC地址聚合形成單條記錄
NLP的處理方法
網(wǎng)絡(luò)流量的元數(shù)據(jù)(metadata)也有自然語言的一些特征轮蜕,網(wǎng)絡(luò)設(shè)備之間的通信是按照順序捕獲的番舆,期望這些通信遵循一組規(guī)則蝉稳,類似于語法嘱吗,由它們使用的服務(wù)和協(xié)議確定船惨。
難點:由于一些語法規(guī)則無法讓分析師理解债沮,所以明確地對其進行建模是不可能的麦萤。因此鹿鳖,無監(jiān)督語言模型是推斷網(wǎng)絡(luò)元數(shù)據(jù)生成過程的自然選擇扁眯。
數(shù)據(jù)處理
從一堆網(wǎng)路流量中根據(jù)每個IP對(源IP-目的IP)生成一條條有序序列,以此構(gòu)成數(shù)據(jù)集翅帜,并且每個IP對IPaIPb等價于IPbIPa姻檀。在每個序列中,單個流記錄對應(yīng)于單個標(biāo)記(token)涝滴,即NLP類比中的一個詞绣版。介紹兩種不同的構(gòu)造序列的方法:
1、按照協(xié)議來構(gòu)造(Proto-byte):floor(log2(bytes))歼疮,IPaIPb:TCP:10|TCP:12|UDP:04
2杂抽、按照端口號來構(gòu)造(Service port):IPaIPb:80|80|443|80。對于每個端口對韩脏,保留最低的端口值并刪除較高的端口值缩麸。對于不常見的端口號,用一個粗略的值近似表示赡矢。
思考:兩種不同的構(gòu)造序列的方法共同構(gòu)成一個序列用來訓(xùn)練杭朱,或者這兩種序列形式分開訓(xùn)練,最后做融合济竹。本文采用分開預(yù)測并相互對比其效果痕檬。
每個序列是由滑窗構(gòu)成的,即一小時內(nèi)兩個IP地址之間的所有流量記錄送浊。這些IP對可能在某個時段出現(xiàn)惡意行為梦谜,而在其他時段不會出現(xiàn)惡意行為,并且惡意行為與正常行為相比要少的多袭景,則定義如果原數(shù)據(jù)只要包含某時段的惡意行為唁桩,則將此時段內(nèi)構(gòu)成的所有序列標(biāo)記為‘攻擊行為’。僅將這些標(biāo)簽用于驗證耸棒,而不是用于模型訓(xùn)練荒澡。
構(gòu)造模型
使用RNN進行訓(xùn)練。網(wǎng)絡(luò)結(jié)構(gòu)如圖所示:
InputLayer ---> embedding(100-dimensional) ---> Bidirectional(LSTM)[包含50個隱藏單元] ---> Dropout(0.2) ---> Bidirectional(LSTM)[包含50個隱藏單元] ---> Dropout(0.2) ---> Dense(relu) ---> Dropout(0.2) ---> Dense(softmax)
實驗部分
分為三部分:clean baseline与殃,dirty baseline单山,NoDoS
- clean baseline: 在ISCX dataset提取中第一天的數(shù)據(jù)以及一半的無攻擊行為的數(shù)據(jù),從而進行訓(xùn)練幅疼。預(yù)測得到異常流量米奸。
- dirty baseline: 在完整的ISCX數(shù)據(jù)集上訓(xùn)練網(wǎng)絡(luò),使得模型可以學(xué)習(xí)攻擊流量和非攻擊流量爽篷。一旦學(xué)習(xí)了網(wǎng)絡(luò)流量模型悴晰,然后使用該模型來預(yù)測數(shù)據(jù)集中每個流量的值。
- NoDoS: 在訓(xùn)練或評估過程中除去DoS攻擊和DDoS攻擊。由于DoS和DDoS攻擊的流量可能導(dǎo)致模型過度適應(yīng)這些類型的攻擊铡溪,即產(chǎn)生過擬合(可能DoS或DDoS的流量有很多)漂辐,因此無法將它們標(biāo)記為異常。
結(jié)果:本文中所訓(xùn)練出的模型能夠在clean baseline和dirty baseline辨別出異常流量棕硫。
評測指標(biāo):AUC髓涯。(無確定的閾值來判斷是否是異常流量,即預(yù)測的是概率饲帅,所以采用AUC評測模型的好壞复凳。二分類問題)[也可采用logloss]
AUC曲線圖:
dirty baseline: (Proto-byte features)AUC=0.84, (Service port features)AUC=0.74
dirty baseline
clean baseline: (Proto-byte features)AUC=0.78, (Service port features)AUC=0.53
clean baseline
NoDoS: (Proto-byte features)AUC=0.82, (Service port features)AUC=0.39
NoDoS
綜上可得瘤泪,dirty baseline這種方法取得的效果最好灶泵,原因之一有dirty baseline中的數(shù)據(jù)集要大,能夠充分的進行訓(xùn)練对途。
結(jié)論
采用RNN方法來進行網(wǎng)絡(luò)流量的異常檢測赦邻,其中的一個優(yōu)勢是只需訓(xùn)練相對便宜且容易存儲的流量,即使此流量與本實驗不相關(guān)实檀,也能進行學(xué)習(xí)訓(xùn)練惶洲。
展望(創(chuàng)新點)
建議將來在這一領(lǐng)域的研究人員考慮一個流式或小批量框架,其中模型是在網(wǎng)絡(luò)數(shù)據(jù)的時間子集上學(xué)習(xí)的膳犹,并用于在生成新數(shù)據(jù)時對其進行評分恬吕。這樣會盡量減少計算的需求,因為訓(xùn)練LSTM可以定期完成须床,而且是在計算資源便宜或者可用的時候铐料。無監(jiān)督模型與用戶在回路反饋機制和監(jiān)督學(xué)習(xí)相結(jié)合的方法可以提供有價值的性能改進,減少誤報警并提高識別常見攻擊媒介的可信度豺旬。
標(biāo)簽:minibatch钠惩、streaming、有監(jiān)督與無監(jiān)督相結(jié)合
思考點
采用Google的Wide&Deep方法族阅,Wide部分是人工找特征篓跛,流量特征方面。Deep部分則采用本論文的方式坦刀,構(gòu)造有序序列愧沟,采用RNN網(wǎng)絡(luò)結(jié)構(gòu)。其兩者結(jié)合的方式探討是否有效果鲤遥。