來源: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é)合的方式探討是否有效果。