李明,賈波
(浙江工商大學信息與電子工程學院,浙江杭州310018)
隨著互聯(lián)網的迅速普及和P2P技術的快速發(fā)展,使互聯(lián)網產生了大量安全問題:惡意軟件、垃圾郵件、蠕蟲、DoS攻擊等,由此造成的危害也在不斷升級[1]。傳統(tǒng)的數據流監(jiān)控產品一般都是基于ISO模型第三層、第四層進行監(jiān)控,由于IP地址欺騙的存在和IP地址本身的可變性,IP地址無法做到與實際身份的精確匹配,使得基于IP地址的訪問控制性能大打折扣,也使針對安全事件的分析追蹤變得十分困難。再者,傳統(tǒng)技術對于網絡病毒、攻擊的識別方法比較單一,一般只能采用對固定端口的監(jiān)視,這都有可能導致對網絡流量的分析失效。因此,迫切需要高效的P2P流量管理技術來減少這些危害,研究P2P流量的識別與監(jiān)控對網絡管理以及流量監(jiān)控等有著非常重要的實際意義[2]。該文在對基于統(tǒng)計特征的P2P流量識別這一熱門技術進行全面的歸納和分析的基礎上,提出基于統(tǒng)計特征和小波神經網絡相結合的識別方法。
目前,國內對數據流挖掘的研究比較少?,F(xiàn)今流行的P2P應用采用動態(tài)分配的TCP/UDP端口號,導致無法再用傳統(tǒng)的報頭信息分析方法來識別,這使得只使用傳統(tǒng)方法來進行流量監(jiān)測分析有一定的局限性。深度包檢測(Deep Packet Inspection,DPI)的識別方法在技術上較為成熟,它不受端口變化的影響,能夠快速識別出具體的P2P協(xié)議,準確率高,但是這種方法只能識別少量已知特征碼的P2P協(xié)議,對加密的P2P流量束手無策。此外,很多P2P應用的協(xié)議未公開,并隨著版本升級特征碼有所變化,也給DPI方法帶來困難。在國外,數據流挖掘方面兩個比較有影響的研究小組:美國斯坦福(Stanford)大學的R.Motwani教授領導的研究小組以及美國伊利諾伊(UIUC)大學由C.Aggarwal和J.Han教授領導的研究小組[3]。前者的研究側重于數據流管理、數據流的連續(xù)查詢和數據流的聚類方面,提出了不同于傳統(tǒng)數據庫管理系統(tǒng)(DBMS)的數據流管理系統(tǒng)(DSMS)概念,他們的研究得到了美國國家自然科學基金的資助。后者的研究側重于數據流分析方面,對于數據流的在線分析,從聚類、分類、頻繁項集挖掘以及可視化等角度做了大量研究工作,他們的研究得到了美國軍方和國家自然科基金的資助。
小波神經網絡具有實時學習、快速識別能力,穩(wěn)定性和可塑性好等諸多優(yōu)點,因此多用于解決各種分類問題[4]。但是,神經網絡的高復雜度成為研究深入開展的瓶頸。
基于統(tǒng)計特征的識別方法通過對流的統(tǒng)計分析,接著進行特征歸類,然后進行匹配識別。所需的識別時空復雜度較小,能夠很好地應用于高速網絡中的在線識別[5]。因此一經提出,基于統(tǒng)計特征的識別方法就成為研究熱點。但是,流量特征的提取歸類成為此方法開展的難點。
本文利用小波神經網的優(yōu)越特性,首次采用小波神經網絡結合統(tǒng)計特征的方法識別P2P流量,既解決了神經網絡存在的較高復雜度和穩(wěn)定性的關系問題,也克服流量特征的主動學習問題,實現(xiàn)P2P流量的準確識別。通過大量研究考證,設計出了流量識別系統(tǒng)結構框架。如圖1所示。
圖1 流量識別系統(tǒng)結構圖
(1)提取樣本庫:首先獲取常見流量類型特征的樣本作為學習樣本庫,并應用這些樣本對小波神經網絡進行訓練,形成訓練樣本庫。經過訓練以后,神經網絡就以權值的形式存儲這些流量類型的特征模型。在模型訓練參數中我們加入P2P流量的統(tǒng)計特性,形成能夠主動學習并且識別P2P流量的數據模型。
(2)特征匹配識別:當流量采集完成后,通過分析會話連接流的包長、進程數、傳輸字節(jié)量、包與包之間的間隔等信息與流量模型進行特征匹配,實現(xiàn)對P2P流量的分類和識別。
(3)神經網絡分類識別:利用小波神經網絡分類模塊的二次識別分類,明確流量類型并將已經識別的流量類型文件報表發(fā)送至日志模塊。
(4)生成日志文件:將流量分析統(tǒng)計的性能報表發(fā)送至匯總模塊,生成日志文件報表,形成流量監(jiān)控數據庫并且實時更新,供網絡管理員審閱,實時判斷網絡狀況并做出實時處理。
小波神經網絡分類模型采用3層結構的網絡結構,即輸入層、隱含層和輸出層。在輸入層中有P個輸入,即一次輸入含有p個元素的輸入序列,這p個元素是p個網絡流量值,p表示預測流量與它之前的相關步數。隱含層包含N個神經元。輸出層有N個神經元,輸出為第k+1個網絡流量的預測值[6]。w表示從m-1層的神經元i到第m層的神經元j之間的權值,a表示第m層神經元j的第k次輸入,Ψm表示第m層的轉移函數,b表示第m層的相應輸出,即:
針對本文中采用的三層網絡結構,隱含層的轉移函數采用morlet小波,即:
式中,用θ表示所有參數的集合,網絡的輸入為p個網絡流量為元素的一個流量序列,即?xk,xk-1,…,xk-p+1」,輸出為第k+1個網絡流量的預測值k+1。把預測值的均方誤差函數作為目標函數:
為了使上述誤差最小,得出網絡模型的最優(yōu)參數,本文采用共軛梯度下降法計算誤差函數的最小值,令:
對學校生活區(qū)主要網絡端口進行監(jiān)控,一周內的網絡流量統(tǒng)計如圖2-5所示。
圖2 生活區(qū)總流量統(tǒng)計
圖3 本科生宿舍樓流量統(tǒng)計
圖4 研究生宿舍樓流量統(tǒng)計
圖5 生活區(qū)一周流量統(tǒng)計
由圖2-5可知,生活區(qū)網絡的訪問流量有以下3個特點:
(1)峰谷期。由于學生的作息時間相對固定,每個正常工作日的早上10:00左右出現(xiàn)網絡流量逐漸增長。一天中10:00~23:00為流量最大的時間段,由于學校規(guī)定本科生寢室23:00熄燈,因此23:00以后的網絡流量逐漸回落;
(2)峰谷比例差異大在網絡訪問高峰期可以達到網絡設備所允許的最大吞吐量,而在低谷期流量趨于零;
(3)網絡流量潮汐現(xiàn)象很有規(guī)律,基本保持每日相同的流量變化規(guī)律。
利用wireshark對收集到的數據包進行初步的分析統(tǒng)計。Wireshark可以對捕獲的報文進行解碼分析和報文統(tǒng)計,統(tǒng)計當前捕獲數據的一般信息,包括捕獲時間、數據包數量、字節(jié)數、帶寬等。部分報文分析信息如圖6所示。
圖6 報文分析
選取目前使用比較廣泛的P2P應用進行流量數量采集,為識別系統(tǒng)中網絡訓練模塊提供數據樣本庫。實驗數據如表1所示。
表1 P2P應用的特征
通過對實驗數據分析,在收集到的P2P應用的流量中,選取UDP、端口均方差和進程數這3個方面的特征。把實驗結果作為樣本訓練庫導入神經網絡訓練模型,形成能夠通過特征匹配識別流量的數據模型。
利用本文設計的識別系統(tǒng)對收集到的數據進行分類識別,依據系統(tǒng)運行結果,可以分析識別出生活區(qū)網絡中出現(xiàn)的流量類型。查看日志模塊性能報表,可以得到應用層混合流量中的流量類型。如表2所示。表格數據表明,采取小波神經網絡、統(tǒng)計特征相結合的方法,實現(xiàn)了P2P流量的準確識別,并且有著較高的準確度。
表2 流量識別結果分析
本文采用小波神經網絡、統(tǒng)計特征相結合的方法,實現(xiàn)了P2P流量的準確識別。實現(xiàn)網絡資源的進一步控制和管理,提升網絡服務的可用性和可靠性,進而提高網絡用戶的滿意度。
在研究過程中發(fā)現(xiàn)如何使這種方法的結合變得靈活,同時具有可擴展性,以及面對更加復雜的網絡狀況高效性的保持,都值得研究。此外,利用主動學習方法的進一步具體化識別規(guī)則,提高神經網絡數據訓練的速度和主動學習的能力。將是以后進一步研究的方向。
[1]Yu Jian,Guo Ping.Application of optimized elm an neural network to network traffic prediction[J].Computer Engineering and De-sign,2008,29(17):4 531-4 534.
[2]Huang Shu-cheng,Qu Ya-hui.Survey on data stream classification technologies[J].Application Research Of Computers,2009,26(10):3 604-3 609.
[3]Klinkenberg R.Example selection vs example weighting[J].Intelligent Data Analysis,2004,8(3):281-300.
[4]Lei Ting,Yu Zheng-wei1.A wavelet neural network model of network traffic forecast[J].Journal Of Computer Applications,2006,26(3):526-528.
[5]柳斌.P2P流的測量與識別方法研究[D].武漢:華中科技大學,2009.
[6]韓志杰,王汝傳.一種新的P2P網絡流量預測模型[J].計算機科學,2008,35(9):39-41.