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,002評論 6 519
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件卜朗,死亡現(xiàn)場離奇詭異拔第,居然都是意外死亡咕村,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,357評論 3 400
  • 文/潘曉璐 我一進店門蚊俺,熙熙樓的掌柜王于貴愁眉苦臉地迎上來懈涛,“玉大人,你說我怎么就攤上這事泳猬∨疲” “怎么了?”我有些...
    開封第一講書人閱讀 169,787評論 0 365
  • 文/不壞的土叔 我叫張陵得封,是天一觀的道長埋心。 經(jīng)常有香客問我,道長忙上,這世上最難降的妖魔是什么拷呆? 我笑而不...
    開封第一講書人閱讀 60,237評論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮疫粥,結(jié)果婚禮上茬斧,老公的妹妹穿的比我還像新娘。我一直安慰自己梗逮,他們只是感情好项秉,可當(dāng)我...
    茶點故事閱讀 69,237評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著慷彤,像睡著了一般娄蔼。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上瞬欧,一...
    開封第一講書人閱讀 52,821評論 1 314
  • 那天贷屎,我揣著相機與錄音,去河邊找鬼艘虎。 笑死唉侄,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的野建。 我是一名探鬼主播属划,決...
    沈念sama閱讀 41,236評論 3 424
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼候生!你這毒婦竟也來了同眯?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,196評論 0 277
  • 序言:老撾萬榮一對情侶失蹤唯鸭,失蹤者是張志新(化名)和其女友劉穎须蜗,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,716評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡明肮,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,794評論 3 343
  • 正文 我和宋清朗相戀三年菱农,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片柿估。...
    茶點故事閱讀 40,928評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡循未,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出秫舌,到底是詐尸還是另有隱情的妖,我是刑警寧澤,帶...
    沈念sama閱讀 36,583評論 5 351
  • 正文 年R本政府宣布足陨,位于F島的核電站嫂粟,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏钠右。R本人自食惡果不足惜赋元,卻給世界環(huán)境...
    茶點故事閱讀 42,264評論 3 336
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望飒房。 院中可真熱鬧,春花似錦媚值、人聲如沸狠毯。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,755評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽嚼松。三九已至,卻和暖如春锰扶,著一層夾襖步出監(jiān)牢的瞬間献酗,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,869評論 1 274
  • 我被黑心中介騙來泰國打工坷牛, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留罕偎,地道東北人。 一個月前我還...
    沈念sama閱讀 49,378評論 3 379
  • 正文 我出身青樓京闰,卻偏偏與公主長得像颜及,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子蹂楣,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,937評論 2 361

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