《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > 基于Hadoop的云端異常流量檢測(cè)與分析平臺(tái)
基于Hadoop的云端異常流量檢測(cè)與分析平臺(tái)
2015年電子技術(shù)應(yīng)用第5期
肖體偉
內(nèi)江職業(yè)技術(shù)學(xué)院,四川 內(nèi)江641000
摘要: Hadoop系統(tǒng)作為一種開源的分布式云計(jì)算平臺(tái)已獲得廣泛應(yīng)用,但其云端易受到各種威脅和攻擊,基于此,開發(fā)了一種基于Hadoop的云端異常流量檢查與分析平臺(tái)。首先,使用Mapper周期性地從所有存儲(chǔ)流量信息的文件中提取流量的部分信息;然后,通過Reducer將異常流量提取并保存。通過對(duì)流量數(shù)據(jù)的存儲(chǔ)、檢測(cè)與分析可成功地檢測(cè)出有威脅的攻擊,從而保障云端的安全。由于本平臺(tái)基于開源的Hadoop實(shí)現(xiàn),因此成本較低;同時(shí),基于Java語言實(shí)現(xiàn),可成功移植于各種主流操作系統(tǒng),具有廣泛適用性。基于局域網(wǎng)進(jìn)行監(jiān)控試驗(yàn),結(jié)果表明本平臺(tái)可成功地檢測(cè)出異常流量,并輸出友好的用戶界面。
中圖分類號(hào): TP393.8
文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2015)05-0116-03
Hadoop based anomaly flow detection and analysis platform of cloud computing
Xiao Tiwei
Neijiang Vocational&Technical College,Neijiang 641000,China
Abstract: Hadoop system is an open source distribute cloud computing and is applied to a lot of services, the servers is easily attacked, based on that, an anomaly flow detection and analysis platform is developed based on the Hadoop system. Firstly, all the flow information is abstracted from all the files which store the flow information by Mapper period. Then, with Reducer,the anomaly flow information is abstracted and stored. By storing, detection and analysis of the flow data the attacks are detected and the security is protected. As the produced software platform is built based on Hadoop, the cost is very low. At the same time, based on Java language, the software can run on many operations. Experiments based on the real LAN show that the produced software can detect the anomaly flow successfully and has a good GUI.
Key words : cloud computing;Hadoop;distribution computing;anomaly flow;detection and analysis;network attack

     

0 引言

    隨著移動(dòng)設(shè)備的普及,Internet網(wǎng)絡(luò)的數(shù)據(jù)量呈爆炸式增長(zhǎng),服務(wù)端的數(shù)據(jù)流量隨之增加。為了成功和有效地利用流量數(shù)據(jù),需要對(duì)數(shù)據(jù)進(jìn)行處理與分析。目前許多攻擊(如DDoS、PDoS)可對(duì)云端及網(wǎng)絡(luò)造成毀滅性打擊[1],因此對(duì)此類攻擊的檢測(cè)與阻止極為重要,通過異常流量檢測(cè)來檢測(cè)此類攻擊是一個(gè)重要方法[2]。

    Hadoop是一種應(yīng)用極為廣泛的大規(guī)模分布式數(shù)據(jù)處理系統(tǒng)[3],其可有效地?cái)U(kuò)展數(shù)據(jù)存儲(chǔ)空間,采用平行化計(jì)算提高了數(shù)據(jù)的計(jì)算處理能力,并實(shí)現(xiàn)了MapReduce的云計(jì)算編程模型[4]。盡管已有較多的異常流量分析方案,但極少有基于云計(jì)算云端的異常流量檢查方案。

    本文基于Hadoop平臺(tái)設(shè)計(jì)并構(gòu)建了云端流量監(jiān)控平臺(tái),采用HDFS存儲(chǔ)大量的流量信息與異常流量信息,使用MapReduce進(jìn)行分布式處理,提高了處理能力,較好地實(shí)現(xiàn)了對(duì)云端異常流量的監(jiān)控,從而可防止對(duì)云端的攻擊行為,提高了云端的安全性。

1 相關(guān)技術(shù)

    基于隨機(jī)自相似過程[5]的異常流量檢測(cè)主要包括Hadoop、異常流量檢測(cè)以及自相似隨機(jī)過程三個(gè)部分。

1.1 Hadoop

    Hadoop是一個(gè)開源的軟件平臺(tái),支持分布式數(shù)據(jù)存儲(chǔ)應(yīng)用[6]。Hadoop主要由分布式存儲(chǔ)(HDF:Hadoop分布式文件系統(tǒng))和分布式處理(MapReduce)兩部分組成。Hadoop框架分為MapReduce層和HDFS層[7]。

    MapReduce是一種將大規(guī)模數(shù)據(jù)集并行運(yùn)算的編程模型。指定一個(gè)Map(映射)函數(shù),將一組鍵值對(duì)映射成一組新的鍵值對(duì);指定并發(fā)的Reduce(歸約)函數(shù),以保證所有映射的鍵值對(duì)共享相同的鍵組。

1.2 異常流量檢測(cè)(IDS)

    IDS通過監(jiān)控網(wǎng)絡(luò)與目標(biāo)系統(tǒng)(檢測(cè)異常流量)來提高系統(tǒng)的安全性。異常流量檢測(cè)主要分為兩種類型:基于簽名的異常流量檢測(cè)系統(tǒng)(ST-IDS)[8]和基于異常的異常信息檢測(cè)系統(tǒng)(AT-IDS)[9]。ST-IDS利用已知的攻擊模型來檢測(cè)攻擊,通過預(yù)建立已知攻擊的簽名庫尋找相應(yīng)攻擊;AT-ID通過檢測(cè)超過預(yù)設(shè)閾值的不正常數(shù)據(jù)行為檢測(cè)異常流量。ST-IDS僅對(duì)已有攻擊有效,對(duì)一些新的攻擊效果欠佳,因此本文采用AT-IDS方案。

1.3 自相似隨機(jī)過程

    許多自然與人造系統(tǒng)中均有LRD(Long-Range Dependence)的自相似過程,其中Internet網(wǎng)絡(luò)中的數(shù)據(jù)流量即為一種自相似隨機(jī)過程[10]

wl1-gs1.gif

    目前,網(wǎng)絡(luò)流量已被嚴(yán)格定義為離散時(shí)間上的二階或近似二階統(tǒng)計(jì)的自相似過程。設(shè){X1,X2,…}表示廣義平穩(wěn)時(shí)間序列,其離散時(shí)間設(shè)為i=1,2,3…。設(shè)E[Xi]=EX,Var[Xi]=VarX,ρk=E[(Xi-EX)(Xi+k-EX)]/VarX分別表示該序列的均值、方差和滯后k偏自相關(guān)系數(shù)。

wl1-gs2-5.gif

2 現(xiàn)有問題與本文方案

2.1 現(xiàn)有問題與本平臺(tái)方案

    (1)大數(shù)據(jù)存儲(chǔ):流量的實(shí)時(shí)監(jiān)控將產(chǎn)生大量的流量數(shù)據(jù),本方案采用HDFS和HBase將流量數(shù)據(jù)進(jìn)行分布式存儲(chǔ)。

    (2)處理能力:需要極強(qiáng)的處理能力。本方案采用平行架構(gòu)MapReduce。

    (3)數(shù)據(jù)的變化性:需要存儲(chǔ)結(jié)構(gòu)化的數(shù)據(jù)、非結(jié)構(gòu)化的數(shù)據(jù)以及不同形式(文本、圖像、視頻等)的數(shù)據(jù)。本方案采用非關(guān)系數(shù)據(jù)庫來存儲(chǔ)各種數(shù)據(jù),如NoSQL。

2.2 本異常流量檢測(cè)與分析平臺(tái)

2.2.1 本平臺(tái)總體結(jié)構(gòu)與程序設(shè)計(jì)

    圖1所示為L(zhǎng)AN環(huán)境下的本監(jiān)控平臺(tái)總體框架圖,主要模塊包括:數(shù)據(jù)收集模塊、存儲(chǔ)模塊、分析模塊和GUI模塊。本平臺(tái)基于Java語言實(shí)現(xiàn)。

wl1-t1.gif

    (1)數(shù)據(jù)收集模塊:利用SNS(如微博)公開的API或分布式文件收集工具來收集網(wǎng)頁數(shù)據(jù)、微博數(shù)據(jù)以及系統(tǒng)日志信息。

    (2)存儲(chǔ)模塊:對(duì)流量數(shù)據(jù)進(jìn)行管理,并將數(shù)據(jù)以文件形式或裸數(shù)據(jù)格式進(jìn)行存儲(chǔ)。

    (3)分析模塊:將分布式的數(shù)據(jù)進(jìn)行分簇與聚類,對(duì)數(shù)據(jù)進(jìn)行摘要提取、預(yù)測(cè)分析、自然語言處理、文本處理等,基于MapReduce實(shí)現(xiàn)AT-IDS來檢測(cè)異常流量。

    (4)GUI:將流量變化的實(shí)時(shí)狀態(tài)、統(tǒng)計(jì)結(jié)果以及控制界面友好地向用戶展示。

    圖2為本平臺(tái)的詳細(xì)結(jié)構(gòu)圖,其主要功能是檢測(cè)與分析異常流量,同時(shí)也提供一些相關(guān)的附加功能,如網(wǎng)絡(luò)攻擊工具(可產(chǎn)生偽隨機(jī)數(shù)量的異常流量)。使用Jpcap分析網(wǎng)絡(luò)數(shù)據(jù)包,由于本平臺(tái)基于Java語言開發(fā),因此本平臺(tái)是系統(tǒng)不相關(guān)的,可運(yùn)行于Linux與Windows系統(tǒng)(只要安裝JVM即可)。Jpcap將網(wǎng)絡(luò)數(shù)據(jù)包的細(xì)節(jié)隱藏,將許多網(wǎng)絡(luò)數(shù)據(jù)包的類型和協(xié)議等信息提取成Java的類。Jpcap內(nèi)部實(shí)現(xiàn)了LibPcap系統(tǒng)庫的API,本平臺(tái)通過JNI來調(diào)用Jpcap,從而提高了JAVA的運(yùn)行速度。目前廣泛使用的AWT(窗口提取工具)和Swing的運(yùn)行速度較慢,因此采用SWT(Standard Widget Toolkit)建立GUI控制界面,提高了系統(tǒng)的運(yùn)行速度。

wl1-t2.gif

    圖3為本平臺(tái)檢測(cè)、分析、傳輸、顯示異常流量的程序框圖。

wl1-t3.gif

2.2.2 Map/Reduce設(shè)計(jì)

    圖4為本平臺(tái)的Map/Reducer程序,其功能是利用Map/Reduce將每天的流量信息以文件形式存儲(chǔ)于HDFS中。首先,使用Mapper周期性地從所有存儲(chǔ)流量信息的文件中提取流量的部分信息(目錄、數(shù)據(jù)包協(xié)議、數(shù)據(jù)包數(shù)量、數(shù)據(jù)包大小等);然后通過Reducer提取異常流量并保存(可通過數(shù)據(jù)包大小來判斷異常流量)。

wl1-t4.gif

3 試驗(yàn)與分析

3.1 流量變化界面展示

    圖5為軟件實(shí)時(shí)流量監(jiān)控的流量變化界面,圖中所示曲線圖是監(jiān)控端口每秒鐘流量的變化。通過協(xié)議獲得每個(gè)數(shù)據(jù)包的大小與數(shù)據(jù)包總數(shù)量,然后進(jìn)行統(tǒng)計(jì)計(jì)算獲得每秒的總流量。將每秒的流量分為3種類型(正常流量、異常流量、混合流量)進(jìn)行存儲(chǔ),將每天的統(tǒng)計(jì)結(jié)果存儲(chǔ)于HDFS中。

wl1-t5.gif

3.2 對(duì)異常流量的監(jiān)控性能量

    將DDoS攻擊注入局域網(wǎng),用來測(cè)試本平臺(tái)的異常流量檢測(cè)性能。使用2個(gè)本監(jiān)控平臺(tái)對(duì)同一個(gè)局域網(wǎng)中的同一個(gè)端口進(jìn)行監(jiān)控(共監(jiān)控10 h),對(duì)其中一個(gè)監(jiān)控平臺(tái)的輸入接口注入一段時(shí)間的DDoS攻擊。

    圖6所示為10 h受攻擊的端口流量變化統(tǒng)計(jì)結(jié)果。圖中可明顯看出受攻擊端口的流量變化劇烈,可見本平臺(tái)可實(shí)時(shí)反應(yīng)出流量的狀態(tài),并可檢測(cè)出異常流量。

wl1-t6.gif

4 結(jié)束語

    本文基于Hadoop設(shè)計(jì)并建立了云端流量監(jiān)控平臺(tái),采用HDFS存儲(chǔ)大量的流量信息與異常流量信息,使用MapReduce進(jìn)行分布式處理,提高了處理能力,較好地實(shí)現(xiàn)了云端的異常流量的監(jiān)控,從而可防止對(duì)云端的攻擊行為,提高了云端的安全性。通過對(duì)流量數(shù)據(jù)存儲(chǔ)、檢測(cè)與分析可成功檢測(cè)出有威脅的攻擊,保障了云端的安全。本平臺(tái)基于開源的Hadoop實(shí)現(xiàn),成本較低,并且基于Java語言實(shí)現(xiàn),可成功移植于各種主流操作系統(tǒng),因此具有廣泛適用性。

參考文獻(xiàn)

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

[2] 陳鴻昶,程國(guó)振,伊鵬.基于多尺度特征融合的異常流量檢測(cè)方法[J].計(jì)算機(jī)科學(xué),2012,39(2):42-46.

[3] 趙曉永,楊揚(yáng),孫莉莉,等.基于Hadoop的海量MP3文件存儲(chǔ)架構(gòu)研究[J].計(jì)算機(jī)應(yīng)用,2012,32(6):1724-1726.

[4] 李玉林,董晶.基于Hadoop的MapReduce模型的研究與改進(jìn)[J].計(jì)算機(jī)工程與設(shè)計(jì),2012,33(8):3110-3116.

[5] 高茜,馮琦,李廣俠.基于組合模型的自相似業(yè)務(wù)流量預(yù)測(cè)[J].計(jì)算機(jī)科學(xué),2012,39(4):123-126.

[6] 凃云杰,白楊.基于Hadoop和雙密鑰的云計(jì)算數(shù)據(jù)安全存儲(chǔ)策略設(shè)計(jì)[J].計(jì)算機(jī)測(cè)量與控制,2014,22(8):2629-2631.

[7] 廖彬,于炯,張?zhí)?,?基于分布式文件系統(tǒng)HDFS的節(jié)能算法[J].計(jì)算機(jī)學(xué)報(bào),2013,36(5):1047-1064.

[8] 方瑩.基于應(yīng)用層簽名特征的 P2P 流量識(shí)別[J].Computer Engineering and Applications,2012,48(3).

[9] 冶曉隆,蘭巨龍,郭通.基于主成分分析禁忌搜索和決策樹分類的異常流量檢測(cè)方法[J].計(jì)算機(jī)應(yīng)用,2013,33(10):2846-2850.

[10] 王建榮.基于自相似特性的片上網(wǎng)絡(luò)流量分析與建模[D].成都:電子科技大學(xué),2011.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。