国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

Hadoop環(huán)境中的DDoS樸素貝葉斯檢測(cè)算法

2016-12-22 21:37:08匡曉紅
軟件導(dǎo)刊 2016年11期

匡曉紅

摘 要:為快速準(zhǔn)確進(jìn)行DDoS(Distributed Denial of Service,分布式拒絕服務(wù))攻擊檢測(cè),提出在Hadoop環(huán)境下,基于樸素貝葉斯的DDoS攻擊檢測(cè)算法。該算法主要有3個(gè)階段:確定被檢測(cè)數(shù)據(jù)文件的TCP flag屬性,作為樸素貝葉斯的訓(xùn)練和檢測(cè)屬性;利用訓(xùn)練原理,兩次掃描正常和異常流量文件,得到正常和非正常網(wǎng)絡(luò)狀態(tài)下屬性的先驗(yàn)概率和條件概率;掃描待檢測(cè)數(shù)據(jù)集,計(jì)算兩種狀態(tài)下的后驗(yàn)概率,并比較后驗(yàn)概率的大小,以此判斷是否會(huì)受到攻擊。實(shí)驗(yàn)結(jié)果表明,該算法具有對(duì)缺失數(shù)據(jù)不敏感、實(shí)現(xiàn)簡(jiǎn)單的優(yōu)點(diǎn)。

關(guān)鍵詞關(guān)鍵詞:Hadoop;DDoS檢測(cè);樸素貝葉斯分類(lèi);后驗(yàn)概率

DOIDOI:10.11907/rjdk.162086

中圖分類(lèi)號(hào):TP312

文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào)文章編號(hào):16727800(2016)011003903

0 引言

DDos攻擊是一種攻擊者控制大量攻擊機(jī)器,并向機(jī)器發(fā)出DoS攻擊指令的分布式攻擊方式。在最新的互聯(lián)網(wǎng)安全報(bào)告中,DDoS攻擊仍然是主要的網(wǎng)絡(luò)安全威脅之一。

本文基于Hadoop的云計(jì)算平臺(tái),運(yùn)用并行編程模型、分布式文件系統(tǒng)以及并行執(zhí)行引擎實(shí)現(xiàn)了數(shù)據(jù)分類(lèi)挖掘算法——貝葉斯算法。運(yùn)用設(shè)計(jì)好的分類(lèi)器,實(shí)現(xiàn)了簡(jiǎn)單的文本分類(lèi)程序。實(shí)驗(yàn)表明本文所提出的檢測(cè)方法可以快速簡(jiǎn)便地檢測(cè)出Hadoop集群中模擬存在的DDoS攻擊。對(duì)促進(jìn)Hadoop環(huán)境中DDoS攻擊研究具有良好的意義和價(jià)值。

1 算法概述

1.1 貝葉斯定理

貝葉斯分類(lèi)算法是一類(lèi)分類(lèi)算法的總稱(chēng),這類(lèi)算法以貝葉斯定理為基礎(chǔ),故稱(chēng)為貝葉斯分類(lèi)。從數(shù)學(xué)角度來(lái)講,分類(lèi)問(wèn)題可作如下定義。

定義1:已知集合A={y1,y2,y3,…,yn}和B={x1,x2,x3,…,xm,…},確定映射規(guī)則y=f(x),使任意xi∈I有且僅有yi∈A使得yi=f(xi)成立(不考慮模糊數(shù)學(xué)里的模糊集情況)。該集合叫作A類(lèi)別集合,集合中每一個(gè)元素是一個(gè)類(lèi)別,B叫作項(xiàng)集合,集合中每一個(gè)元素是一個(gè)待分類(lèi)項(xiàng),f被稱(chēng)為分類(lèi)器。分類(lèi)算法的任務(wù)就是構(gòu)造這樣一個(gè)分類(lèi)器f。

定義2:(條件概率)P(A|B)表示事件B已經(jīng)發(fā)生的前提下,事件A發(fā)生的概率,叫做事件B發(fā)生條件下事件A的條件概率。在生活中經(jīng)常遇到這種情況,很容易直接得出P(B|A),但很難直接得出P(A|B),但人們更關(guān)心P(A|B),貝葉斯定理打通了從P(B|A)獲得P(A|B)的通道[1]。

1.2 樸素的貝葉斯分類(lèi)

樸素貝葉斯分類(lèi)算法定義如下:

1.3 估計(jì)類(lèi)別系特征屬性劃分的條件概率

當(dāng)特征屬性為連續(xù)值時(shí),通常假設(shè)其只服從正態(tài)分布(也稱(chēng)高斯分布)。故只要計(jì)算出訓(xùn)練樣本中各個(gè)類(lèi)別中此特征項(xiàng)劃分的均值和標(biāo)準(zhǔn)差,即可得到需要的估計(jì)值。均值與標(biāo)準(zhǔn)差的計(jì)算在此不再贅述。

2 訓(xùn)練階段條件概率與先驗(yàn)概率計(jì)算

2.1 劃分?jǐn)?shù)據(jù)單元方法

計(jì)算正常訓(xùn)練數(shù)據(jù)集和異常訓(xùn)練數(shù)據(jù)集的先驗(yàn)概率和條件概率,用于檢測(cè)時(shí)計(jì)算數(shù)據(jù)的后驗(yàn)概率。根據(jù)正常和異常兩種情況下后驗(yàn)概率的大小確定該數(shù)據(jù)是屬于正常網(wǎng)絡(luò)還是受到DDoS攻擊后的網(wǎng)絡(luò)流量信息。由于網(wǎng)絡(luò)通信具有隨機(jī)突發(fā)性特征,如果只用一個(gè)數(shù)據(jù)的后驗(yàn)概率區(qū)分是否受到DDoS攻擊會(huì)造成很高的誤報(bào)率。所以,用數(shù)據(jù)單元的概念作為訓(xùn)練和檢測(cè)的基本單位,數(shù)據(jù)單元可以按照數(shù)據(jù)個(gè)數(shù)和時(shí)間間隔來(lái)劃分??紤]到網(wǎng)絡(luò)數(shù)據(jù)的突發(fā)性,本文依據(jù)數(shù)據(jù)個(gè)數(shù)把不含DDoS攻擊的正常Hadoop通信流量文件t.txt、含DDoS攻擊的異常Hadoop通信流量文件f.txt和正常與DDoS混合的待檢測(cè)的Hadoop通信流量文件b.txt劃分為多個(gè)數(shù)據(jù)單元[2],在后文中,t.txt和f.txt將分別作為貝葉斯分類(lèi)的正常和異常訓(xùn)練數(shù)據(jù)使用。

劃分?jǐn)?shù)據(jù)單元方法如下:按照時(shí)間先后順序把每一數(shù)據(jù)文件中相鄰的N個(gè)數(shù)據(jù)看作一個(gè)數(shù)據(jù)單元。訓(xùn)練時(shí)將每一個(gè)數(shù)據(jù)單元看作一個(gè)整體處理[2]。比如:A是一個(gè)組,其中包含了N個(gè)時(shí)間相鄰的數(shù)據(jù)。首先掃描該數(shù)據(jù)單元的每一個(gè)數(shù)據(jù),根據(jù)特征分類(lèi)方法,統(tǒng)計(jì)出當(dāng)前數(shù)據(jù)單元中各個(gè)屬性出現(xiàn)的次數(shù)。設(shè)置一個(gè)二維矩陣R來(lái)存儲(chǔ)統(tǒng)計(jì)到的每個(gè)數(shù)據(jù)單元中各屬性出現(xiàn)的次數(shù)。二維矩陣R的大小為6行(N+1)列,行代表特征分類(lèi),列代表特征分類(lèi)出現(xiàn)的次數(shù),例如:一個(gè)數(shù)據(jù)單元中的統(tǒng)計(jì)結(jié)果可能是T1=X,T2=Y,T3=Z…然后利用統(tǒng)計(jì)結(jié)果更新R,此時(shí),R的第1行第X列加1,R的第2行第Y列加1,R的第3行第Z列加1…,所以第1行第8列的值表示在訓(xùn)練過(guò)程中數(shù)據(jù)單元出現(xiàn)8個(gè)屬于T1分類(lèi)的數(shù)據(jù)個(gè)數(shù)。

由于在訓(xùn)練過(guò)程中要分別訓(xùn)練正常情況和不正常情況下的條件概率,因此在具體算法中R有2個(gè),其中一個(gè)用mtr表示,用來(lái)存儲(chǔ)正常網(wǎng)絡(luò)訓(xùn)練結(jié)果,另外一個(gè)用mfl表示,用來(lái)存儲(chǔ)異常網(wǎng)絡(luò)訓(xùn)練結(jié)果[3]。

2.2 訓(xùn)練過(guò)程

正常數(shù)據(jù)訓(xùn)練過(guò)程中的算法輸入文件為t.txt,輸出為tr[][]。異常數(shù)據(jù)訓(xùn)練過(guò)程中的算法輸入文件為f.txt,輸出為fl[][]。

樸素貝葉斯分類(lèi)方法中正常數(shù)據(jù)訓(xùn)練過(guò)程主要包括[4]:

(1)初始化各個(gè)參數(shù),如將數(shù)據(jù)單元計(jì)數(shù)ls清零,包計(jì)數(shù)lt[]清零,類(lèi)計(jì)數(shù)ws清零。完成后進(jìn)入第二步。

(2)判斷t.txt是否讀完,如果沒(méi)有,讀入一行并轉(zhuǎn)入第三步,否則轉(zhuǎn)到第六步。

(3)判斷是否填滿(mǎn)N個(gè)包,若是跳到第四部,否則跳到第五步。

(4)利用lt[]的值,更新tr對(duì)應(yīng)的值。

(5)增加包計(jì)數(shù)(用來(lái)判斷數(shù)據(jù)單元是否填滿(mǎn)),判斷當(dāng)前數(shù)據(jù)屬于哪一類(lèi),完成后轉(zhuǎn)到第二步。

(6)依次將各個(gè)組的計(jì)數(shù)除以數(shù)據(jù)個(gè)數(shù),并將原值覆蓋。

(7)結(jié)束。

綜上,正常數(shù)據(jù)訓(xùn)練階段的偽代碼如下:

3 DDoS檢測(cè)過(guò)程

3.1 檢測(cè)原理

攻擊者向服務(wù)器發(fā)送大量偽IP地址的ACK /SYN 請(qǐng)求包, 服務(wù)器返回應(yīng)答包后如果得不到確認(rèn), 就會(huì)一直對(duì)偽IP 地址進(jìn)行重試直至超時(shí)丟棄, 因?yàn)镾YN 連接請(qǐng)求的速度遠(yuǎn)大于服務(wù)器超時(shí)丟棄的處理速度。 所以,服務(wù)器的連接列表很快就被塞滿(mǎn), 使客戶(hù)的正常請(qǐng)求得不到及時(shí)響應(yīng), 以此實(shí)現(xiàn)拒絕服務(wù)的目的[6]。

分析檢測(cè)過(guò)程之前,根據(jù)上面介紹的檢測(cè)原理,檢測(cè)是否是DDoS攻擊,計(jì)算后驗(yàn)概率公式如下:

P(mR/k)=p(k/mR)*p(mR)/p(k) (R=0,1…)

P(k)對(duì)于文件是一個(gè)常數(shù),因此要計(jì)算 P(mR/k)只需計(jì)算p(k/mR)*p(mR),p(m0)和p(m1)是之前的p(ts)和p(fs),其中p(k/mR)是各個(gè)屬性條件概率乘積[7]。

3.2 實(shí)現(xiàn)過(guò)程

算法檢測(cè)主要步驟如下:

(1)初始化參數(shù):tr,fl,p(ts),p(fs)分別初始化為最初階段的先驗(yàn)概率。將ws置零。完成后轉(zhuǎn)到(2)。

(2)判斷b.txt是否讀完,若沒(méi)有,則轉(zhuǎn)(3),否則結(jié)束。

(3)判斷是否已有N個(gè)包,若是轉(zhuǎn)到(4),否則轉(zhuǎn)到(5)。

(4)根據(jù)公式,分別計(jì)算正常情況下和異常情況下的先驗(yàn)概率,轉(zhuǎn)到(5)。

(5)重置包計(jì)數(shù)為0(記錄已包含數(shù)據(jù)個(gè)數(shù)),清空計(jì)數(shù)。轉(zhuǎn)到(7)。

(6)增加包計(jì)數(shù)(用來(lái)判斷是否填滿(mǎn),再判斷數(shù)據(jù)屬于哪一類(lèi),轉(zhuǎn)到(2)。

上面算法過(guò)程第一步獲取先驗(yàn)概率并初始化參數(shù);第二、三、六步形成數(shù)據(jù)單元;第四、五步對(duì)已形成數(shù)據(jù)單元進(jìn)行后驗(yàn)概率計(jì)算,從而判斷是否存在DDoS攻擊的數(shù)據(jù)[8]。

3.3 攻擊檢測(cè)結(jié)果

在實(shí)驗(yàn)環(huán)境下把t.txt當(dāng)作正常的訓(xùn)練流量,反之,f.txt作為異常訓(xùn)練流量,異常訓(xùn)練流量中包含攻擊流量。此外,被檢測(cè)的數(shù)據(jù)文件包含了6次DDoS攻擊。實(shí)驗(yàn)分析不同的數(shù)據(jù)對(duì)算法誤報(bào)率的影響,結(jié)果如表1所示。各列的含義分別為:檢測(cè)到的次數(shù)指當(dāng)前情況下攻擊次數(shù);誤報(bào)次數(shù)指有多少次攻擊是誤報(bào)的。

從表1可以看到設(shè)置不同的數(shù)據(jù)單元大小對(duì)分類(lèi)器性能的影響在于誤報(bào)次數(shù)的大小。數(shù)據(jù)單元大小與誤報(bào)次數(shù)負(fù)相關(guān)。當(dāng)數(shù)據(jù)單元大小為20時(shí)算法具有較好的檢測(cè)性能。無(wú)論數(shù)據(jù)單元大小,算法檢測(cè)率都相同,而且跟蹤監(jiān)測(cè)到的攻擊時(shí)間發(fā)現(xiàn)前四次都檢測(cè)到了,但是最后兩次沒(méi)有檢測(cè)到,這是由于最后兩次攻擊為SYN Flood攻擊[9,10],而在訓(xùn)練時(shí)沒(méi)有訓(xùn)練該攻擊的屬性,因此算法不能檢測(cè)到此次攻擊。

綜上所述,貝葉斯分類(lèi)器在訓(xùn)練良好且數(shù)據(jù)單元大小選擇合適的情況下有很低的誤報(bào)率和很高的檢測(cè)率。但是,該分類(lèi)器依賴(lài)于訓(xùn)練,所以可能檢測(cè)不出未知類(lèi)型的攻擊。

4 結(jié)語(yǔ)

DDoS攻擊從第一次大規(guī)模攻擊開(kāi)始一直是互聯(lián)網(wǎng)的巨大安全隱患,而隨著互聯(lián)網(wǎng)規(guī)模不斷壯大,DDoS發(fā)起者將利用更多的機(jī)會(huì)發(fā)起攻擊。雖檢測(cè)已經(jīng)趨于成熟,但是Hadoop平臺(tái)在越來(lái)越受到工業(yè)界的重視的背景下,對(duì)DDoS攻擊的檢測(cè)幾乎沒(méi)有。本文主要研究了Hadoop環(huán)境下,基于樸素貝葉斯的DDoS攻擊檢測(cè)算法。實(shí)驗(yàn)結(jié)果表明,該算法具有對(duì)缺失數(shù)據(jù)不敏感、實(shí)現(xiàn)簡(jiǎn)單的優(yōu)點(diǎn)。本文雖然分析了一種DDoS檢測(cè)環(huán)境下的數(shù)據(jù)捕獲,但檢測(cè)不是實(shí)時(shí)進(jìn)行的,雖然能夠檢測(cè)出攻擊,但在集群安全較高的環(huán)境下不能實(shí)現(xiàn)實(shí)時(shí)報(bào)警,需繼續(xù)研究Hadoop平臺(tái)下實(shí)時(shí)監(jiān)測(cè)的可行性。

參考文獻(xiàn):

[1] 楊新宇,楊樹(shù)森,李娟.基于非線(xiàn)性預(yù)處理網(wǎng)絡(luò)流量預(yù)測(cè)方法的泛洪型DDoS檢測(cè)方法[J].計(jì)算機(jī)學(xué)報(bào),2011(2):3739.

[2] 張永靜,肖軍,云曉春.DDoS攻擊檢測(cè)和控制方法[J].軟件學(xué)報(bào),2012,23(8):20582072.

[3] 劉運(yùn).DDoS flooding攻擊檢測(cè)技術(shù)研究[D].長(zhǎng)沙:國(guó)防科技大學(xué),2011.

[4] 王進(jìn),陽(yáng)小龍,隆克平.基于大偏差統(tǒng)計(jì)模型的http-flood DDoS檢測(cè)機(jī)制及性能分析[J].軟件學(xué)報(bào),2012,23(5):12721280.

[5] 張倩倩.反射型分布式拒絕服務(wù)攻擊中攻擊源追蹤的研究[D].濟(jì)南:濟(jì)南大學(xué),2012.

[6] 吳軒亮.三網(wǎng)融合下城域網(wǎng)DDoS攻擊的監(jiān)測(cè)及防范技術(shù)研究[J].信息網(wǎng)絡(luò)安全,2012(3):4548.

[7] 池水明,周蘇杭.DDoS攻擊防御技術(shù)研究[J].信息網(wǎng)絡(luò)安全,2012(5):2731.

[8] 季福坤.計(jì)算機(jī)網(wǎng)絡(luò)基礎(chǔ)[M].北京:人民郵電出版社,2013.

[9] 趙德山.曹斌.多Agent的DDoS源地址追蹤方法研究[J].計(jì)算機(jī)工程與設(shè)計(jì),2010,31(8):2631.

[10] 蘇文杰. DDoS攻擊防御技術(shù)探究[J].軟件導(dǎo)刊,2016,15(6):209210.

(責(zé)任編輯:陳福時(shí))

嘉荫县| 松桃| 石城县| 汕尾市| 兴化市| 四子王旗| 德惠市| 曲周县| 陆丰市| 宝山区| 德保县| 策勒县| 桦南县| 普安县| 张家口市| 沂南县| 禄丰县| 榆中县| 和硕县| 合作市| 奇台县| 大荔县| 华池县| 绵竹市| 仙居县| 徐汇区| 和田市| 郁南县| 金湖县| 晋中市| 崇左市| 永和县| 双桥区| 鹤岗市| 浏阳市| 富蕴县| 大悟县| 吉隆县| 柞水县| 珠海市| 长顺县|