Network Traffic Anomaly Detection Using Recurrent Neural Networks

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

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末雏亚,一起剝皮案震驚了整個濱河市缨硝,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌罢低,老刑警劉巖查辩,帶你破解...
    沈念sama閱讀 223,126評論 6 520
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異网持,居然都是意外死亡宜岛,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,421評論 3 400
  • 文/潘曉璐 我一進店門功舀,熙熙樓的掌柜王于貴愁眉苦臉地迎上來萍倡,“玉大人,你說我怎么就攤上這事辟汰×星茫” “怎么了?”我有些...
    開封第一講書人閱讀 169,941評論 0 366
  • 文/不壞的土叔 我叫張陵帖汞,是天一觀的道長戴而。 經(jīng)常有香客問我,道長翩蘸,這世上最難降的妖魔是什么所意? 我笑而不...
    開封第一講書人閱讀 60,294評論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上扁眯,老公的妹妹穿的比我還像新娘。我一直安慰自己翅帜,他們只是感情好姻檀,可當(dāng)我...
    茶點故事閱讀 69,295評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著涝滴,像睡著了一般绣版。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上歼疮,一...
    開封第一講書人閱讀 52,874評論 1 314
  • 那天杂抽,我揣著相機與錄音,去河邊找鬼韩脏。 笑死缩麸,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的赡矢。 我是一名探鬼主播杭朱,決...
    沈念sama閱讀 41,285評論 3 424
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼吹散!你這毒婦竟也來了弧械?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,249評論 0 277
  • 序言:老撾萬榮一對情侶失蹤空民,失蹤者是張志新(化名)和其女友劉穎刃唐,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體界轩,經(jīng)...
    沈念sama閱讀 46,760評論 1 321
  • 正文 獨居荒郊野嶺守林人離奇死亡画饥,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,840評論 3 343
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了浊猾。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片荒澡。...
    茶點故事閱讀 40,973評論 1 354
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖与殃,靈堂內(nèi)的尸體忽然破棺而出单山,到底是詐尸還是另有隱情,我是刑警寧澤幅疼,帶...
    沈念sama閱讀 36,631評論 5 351
  • 正文 年R本政府宣布米奸,位于F島的核電站,受9級特大地震影響爽篷,放射性物質(zhì)發(fā)生泄漏悴晰。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 42,315評論 3 336
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望铡溪。 院中可真熱鬧漂辐,春花似錦、人聲如沸棕硫。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,797評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽哈扮。三九已至纬纪,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間滑肉,已是汗流浹背包各。 一陣腳步聲響...
    開封第一講書人閱讀 33,926評論 1 275
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留靶庙,地道東北人问畅。 一個月前我還...
    沈念sama閱讀 49,431評論 3 379
  • 正文 我出身青樓,卻偏偏與公主長得像六荒,于是被迫代替她去往敵國和親按声。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,982評論 2 361

推薦閱讀更多精彩內(nèi)容