文獻標識碼: A
文章編號: 0258-7998(2015)05-0116-03
0 引言
隨著移動設(shè)備的普及,,Internet網(wǎng)絡的數(shù)據(jù)量呈爆炸式增長,服務端的數(shù)據(jù)流量隨之增加,。為了成功和有效地利用流量數(shù)據(jù),,需要對數(shù)據(jù)進行處理與分析。目前許多攻擊(如DDoS,、PDoS)可對云端及網(wǎng)絡造成毀滅性打擊[1],,因此對此類攻擊的檢測與阻止極為重要,,通過異常流量檢測來檢測此類攻擊是一個重要方法[2],。
Hadoop是一種應用極為廣泛的大規(guī)模分布式數(shù)據(jù)處理系統(tǒng)[3],,其可有效地擴展數(shù)據(jù)存儲空間,采用平行化計算提高了數(shù)據(jù)的計算處理能力,,并實現(xiàn)了MapReduce的云計算編程模型[4],。盡管已有較多的異常流量分析方案,但極少有基于云計算云端的異常流量檢查方案,。
本文基于Hadoop平臺設(shè)計并構(gòu)建了云端流量監(jiān)控平臺,,采用HDFS存儲大量的流量信息與異常流量信息,使用MapReduce進行分布式處理,,提高了處理能力,,較好地實現(xiàn)了對云端異常流量的監(jiān)控,從而可防止對云端的攻擊行為,,提高了云端的安全性,。
1 相關(guān)技術(shù)
基于隨機自相似過程[5]的異常流量檢測主要包括Hadoop、異常流量檢測以及自相似隨機過程三個部分,。
1.1 Hadoop
Hadoop是一個開源的軟件平臺,,支持分布式數(shù)據(jù)存儲應用[6]。Hadoop主要由分布式存儲(HDF:Hadoop分布式文件系統(tǒng))和分布式處理(MapReduce)兩部分組成,。Hadoop框架分為MapReduce層和HDFS層[7],。
MapReduce是一種將大規(guī)模數(shù)據(jù)集并行運算的編程模型。指定一個Map(映射)函數(shù),,將一組鍵值對映射成一組新的鍵值對,;指定并發(fā)的Reduce(歸約)函數(shù),以保證所有映射的鍵值對共享相同的鍵組,。
1.2 異常流量檢測(IDS)
IDS通過監(jiān)控網(wǎng)絡與目標系統(tǒng)(檢測異常流量)來提高系統(tǒng)的安全性,。異常流量檢測主要分為兩種類型:基于簽名的異常流量檢測系統(tǒng)(ST-IDS)[8]和基于異常的異常信息檢測系統(tǒng)(AT-IDS)[9]。ST-IDS利用已知的攻擊模型來檢測攻擊,,通過預建立已知攻擊的簽名庫尋找相應攻擊,;AT-ID通過檢測超過預設(shè)閾值的不正常數(shù)據(jù)行為檢測異常流量。ST-IDS僅對已有攻擊有效,,對一些新的攻擊效果欠佳,,因此本文采用AT-IDS方案。
1.3 自相似隨機過程
許多自然與人造系統(tǒng)中均有LRD(Long-Range Dependence)的自相似過程,,其中Internet網(wǎng)絡中的數(shù)據(jù)流量即為一種自相似隨機過程[10],。
目前,網(wǎng)絡流量已被嚴格定義為離散時間上的二階或近似二階統(tǒng)計的自相似過程,。設(shè){X1,,X2,,…}表示廣義平穩(wěn)時間序列,其離散時間設(shè)為i=1,,2,,3…。設(shè)E[Xi]=EX,,Var[Xi]=VarX,,ρk=E[(Xi-EX)(Xi+k-EX)]/VarX分別表示該序列的均值、方差和滯后k偏自相關(guān)系數(shù),。
2 現(xiàn)有問題與本文方案
2.1 現(xiàn)有問題與本平臺方案
(1)大數(shù)據(jù)存儲:流量的實時監(jiān)控將產(chǎn)生大量的流量數(shù)據(jù),,本方案采用HDFS和HBase將流量數(shù)據(jù)進行分布式存儲。
(2)處理能力:需要極強的處理能力,。本方案采用平行架構(gòu)MapReduce,。
(3)數(shù)據(jù)的變化性:需要存儲結(jié)構(gòu)化的數(shù)據(jù)、非結(jié)構(gòu)化的數(shù)據(jù)以及不同形式(文本,、圖像,、視頻等)的數(shù)據(jù)。本方案采用非關(guān)系數(shù)據(jù)庫來存儲各種數(shù)據(jù),,如NoSQL,。
2.2 本異常流量檢測與分析平臺
2.2.1 本平臺總體結(jié)構(gòu)與程序設(shè)計
圖1所示為LAN環(huán)境下的本監(jiān)控平臺總體框架圖,主要模塊包括:數(shù)據(jù)收集模塊,、存儲模塊,、分析模塊和GUI模塊。本平臺基于Java語言實現(xiàn),。
(1)數(shù)據(jù)收集模塊:利用SNS(如微博)公開的API或分布式文件收集工具來收集網(wǎng)頁數(shù)據(jù),、微博數(shù)據(jù)以及系統(tǒng)日志信息。
(2)存儲模塊:對流量數(shù)據(jù)進行管理,,并將數(shù)據(jù)以文件形式或裸數(shù)據(jù)格式進行存儲,。
(3)分析模塊:將分布式的數(shù)據(jù)進行分簇與聚類,對數(shù)據(jù)進行摘要提取,、預測分析,、自然語言處理、文本處理等,,基于MapReduce實現(xiàn)AT-IDS來檢測異常流量,。
(4)GUI:將流量變化的實時狀態(tài)、統(tǒng)計結(jié)果以及控制界面友好地向用戶展示,。
圖2為本平臺的詳細結(jié)構(gòu)圖,,其主要功能是檢測與分析異常流量,同時也提供一些相關(guān)的附加功能,如網(wǎng)絡攻擊工具(可產(chǎn)生偽隨機數(shù)量的異常流量),。使用Jpcap分析網(wǎng)絡數(shù)據(jù)包,,由于本平臺基于Java語言開發(fā),因此本平臺是系統(tǒng)不相關(guān)的,,可運行于Linux與Windows系統(tǒng)(只要安裝JVM即可),。Jpcap將網(wǎng)絡數(shù)據(jù)包的細節(jié)隱藏,將許多網(wǎng)絡數(shù)據(jù)包的類型和協(xié)議等信息提取成Java的類,。Jpcap內(nèi)部實現(xiàn)了LibPcap系統(tǒng)庫的API,,本平臺通過JNI來調(diào)用Jpcap,從而提高了JAVA的運行速度,。目前廣泛使用的AWT(窗口提取工具)和Swing的運行速度較慢,因此采用SWT(Standard Widget Toolkit)建立GUI控制界面,,提高了系統(tǒng)的運行速度,。
圖3為本平臺檢測、分析,、傳輸,、顯示異常流量的程序框圖。
2.2.2 Map/Reduce設(shè)計
圖4為本平臺的Map/Reducer程序,,其功能是利用Map/Reduce將每天的流量信息以文件形式存儲于HDFS中,。首先,使用Mapper周期性地從所有存儲流量信息的文件中提取流量的部分信息(目錄,、數(shù)據(jù)包協(xié)議,、數(shù)據(jù)包數(shù)量、數(shù)據(jù)包大小等),;然后通過Reducer提取異常流量并保存(可通過數(shù)據(jù)包大小來判斷異常流量),。
3 試驗與分析
3.1 流量變化界面展示
圖5為軟件實時流量監(jiān)控的流量變化界面,圖中所示曲線圖是監(jiān)控端口每秒鐘流量的變化,。通過協(xié)議獲得每個數(shù)據(jù)包的大小與數(shù)據(jù)包總數(shù)量,,然后進行統(tǒng)計計算獲得每秒的總流量。將每秒的流量分為3種類型(正常流量,、異常流量,、混合流量)進行存儲,將每天的統(tǒng)計結(jié)果存儲于HDFS中,。
3.2 對異常流量的監(jiān)控性能量
將DDoS攻擊注入局域網(wǎng),,用來測試本平臺的異常流量檢測性能。使用2個本監(jiān)控平臺對同一個局域網(wǎng)中的同一個端口進行監(jiān)控(共監(jiān)控10 h),,對其中一個監(jiān)控平臺的輸入接口注入一段時間的DDoS攻擊,。
圖6所示為10 h受攻擊的端口流量變化統(tǒng)計結(jié)果。圖中可明顯看出受攻擊端口的流量變化劇烈,,可見本平臺可實時反應出流量的狀態(tài),,并可檢測出異常流量,。
4 結(jié)束語
本文基于Hadoop設(shè)計并建立了云端流量監(jiān)控平臺,采用HDFS存儲大量的流量信息與異常流量信息,,使用MapReduce進行分布式處理,,提高了處理能力,較好地實現(xiàn)了云端的異常流量的監(jiān)控,,從而可防止對云端的攻擊行為,,提高了云端的安全性。通過對流量數(shù)據(jù)存儲,、檢測與分析可成功檢測出有威脅的攻擊,,保障了云端的安全。本平臺基于開源的Hadoop實現(xiàn),,成本較低,,并且基于Java語言實現(xiàn),可成功移植于各種主流操作系統(tǒng),,因此具有廣泛適用性,。
參考文獻
[1] 張永錚,肖軍,,云曉春,,等.DDoS攻擊檢測和控制方法[J].軟件學報,2012,,23(8):2058-2072.
[2] 陳鴻昶,,程國振,伊鵬.基于多尺度特征融合的異常流量檢測方法[J].計算機科學,,2012,,39(2):42-46.
[3] 趙曉永,楊揚,,孫莉莉,,等.基于Hadoop的海量MP3文件存儲架構(gòu)研究[J].計算機應用,2012,,32(6):1724-1726.
[4] 李玉林,,董晶.基于Hadoop的MapReduce模型的研究與改進[J].計算機工程與設(shè)計,2012,,33(8):3110-3116.
[5] 高茜,,馮琦,李廣俠.基于組合模型的自相似業(yè)務流量預測[J].計算機科學,,2012,,39(4):123-126.
[6] 凃云杰,白楊.基于Hadoop和雙密鑰的云計算數(shù)據(jù)安全存儲策略設(shè)計[J].計算機測量與控制,2014,,22(8):2629-2631.
[7] 廖彬,,于炯,張?zhí)?,?基于分布式文件系統(tǒng)HDFS的節(jié)能算法[J].計算機學報,,2013,36(5):1047-1064.
[8] 方瑩.基于應用層簽名特征的 P2P 流量識別[J].Computer Engineering and Applications,,2012,,48(3).
[9] 冶曉隆,蘭巨龍,,郭通.基于主成分分析禁忌搜索和決策樹分類的異常流量檢測方法[J].計算機應用,,2013,33(10):2846-2850.
[10] 王建榮.基于自相似特性的片上網(wǎng)絡流量分析與建模[D].成都:電子科技大學,,2011.