柴 琦,曹旭東,王洪蕾,王雪鳳(.中國石油大學(xué)(北京)北京 049;.國網(wǎng)招遠(yuǎn)市供電公司 山東 招遠(yuǎn) 65400)
P2P流量監(jiān)測系統(tǒng)的設(shè)計
柴 琦1,曹旭東1,王洪蕾1,王雪鳳2
(1.中國石油大學(xué)(北京)北京102249;2.國網(wǎng)招遠(yuǎn)市供電公司 山東 招遠(yuǎn)265400)
基于提高加密P2P類流量識別率的目的,本文通過改進(jìn)流量識別技術(shù)的方法,提出了一種DPI技術(shù)與DFI技術(shù)相結(jié)的改進(jìn)方案。并對多種應(yīng)用進(jìn)行反復(fù)測試,通過對前后識別結(jié)果的比對,驗證該方法的可行性,識別率提高到95%以上。
P2P;流量識別與控制;深度報文檢測技術(shù);深度流檢測技術(shù)
人們的網(wǎng)絡(luò)活動由web瀏覽已擴(kuò)展到現(xiàn)在紛繁復(fù)雜的網(wǎng)絡(luò)應(yīng)用,如今視頻通話、在線會議、遠(yuǎn)程操作等多元化方式已經(jīng)融入人們的生活,截至到2015年6月中國互聯(lián)網(wǎng)覆蓋率達(dá)到48.8%,網(wǎng)民數(shù)量達(dá)6.68億人次[1]。
傳統(tǒng)網(wǎng)絡(luò)中的信息資源共享是“以服務(wù)器為中心”的工作模式[2],服務(wù)提供者與服務(wù)使用者之間的界限非常清晰,P2P網(wǎng)絡(luò)則淡化了這一點,所有客戶機(jī)同時兼具服務(wù)的提供方和使用方兩個身份,整個網(wǎng)絡(luò)不依賴于專用的集中式服務(wù),如即時通信Yahoo Messenger、MSN等進(jìn)行文件傳輸?shù)却髷?shù)據(jù)量業(yè)務(wù)時一般都會使用P2P模式[3]。P2P類的應(yīng)用占用了大量帶寬,影響用戶上網(wǎng)體驗,另外運(yùn)營商也急需通過分析和挖掘用戶上網(wǎng)行為和習(xí)慣來開展一些增值業(yè)務(wù)。
1.1流量識別技術(shù)
1.1.1基于端口的識別技術(shù)
早期,根據(jù)互聯(lián)網(wǎng)編號分配管理署統(tǒng)一分配給網(wǎng)絡(luò)協(xié)議或互聯(lián)網(wǎng)應(yīng)用的固定端口號,我們可以使用基于端口的識別技術(shù)[4]對一些基本應(yīng)用或協(xié)議進(jìn)行識別。但是,隨著互聯(lián)網(wǎng)應(yīng)用的激增以及網(wǎng)絡(luò)協(xié)議的發(fā)展,一些開發(fā)商為了避開防火墻的過濾,采用動態(tài)端口技術(shù),使得傳統(tǒng)的基于端口的識別技術(shù)已經(jīng)無法滿足市場需求,被網(wǎng)絡(luò)流量識別系統(tǒng)的開發(fā)人員用作了一種輔助的技術(shù)手段。
針對這種情況,人們開始轉(zhuǎn)向?qū)W(wǎng)絡(luò)通信協(xié)議的分析,特別是針對TCP/IP模型中的傳輸層和應(yīng)用層的特點來識別網(wǎng)絡(luò)流量。
1.1.2基于應(yīng)用層的識別技術(shù)
最為常見的就是DPI,即深度報文檢測技術(shù)。相對于傳統(tǒng)端口識別技術(shù),它不僅能夠讀取報文中的五元組信息,包括源地址,目的地址,源端口,目的端口及協(xié)議類型,還可以分析應(yīng)用層的負(fù)載信息,也就是檢查應(yīng)用層TCP或UDP的負(fù)載部分,是否存在所要識別的應(yīng)用特征。
但是,由于DPI技術(shù)[5]需要讀取應(yīng)用層負(fù)載也就是用戶信息,這樣不僅侵犯用戶的隱私權(quán),而且對于一些加密的或者使用UDP協(xié)議的流量無法進(jìn)行識別。
1.1.3基于傳輸層的識別技術(shù)
基于上述情況,對于這種DPI無法識別的,很難提取特定字符串的流量,就可以通過對其傳輸層的行為特征的研究進(jìn)行識別,通常使用DFI的檢測技術(shù),即深度流檢測技術(shù)?;贒FI的檢測技術(shù)[6]是建立一個流量行為特征的模型,通過分析傳輸層協(xié)議類型、上下行流量比例關(guān)系以及數(shù)據(jù)包的包長范圍、時間間隔、負(fù)載長度、連接速率等特征同最初統(tǒng)計設(shè)置的流量模型相比較,來實現(xiàn)對網(wǎng)絡(luò)流量的識別[7]。其中,主要使用了機(jī)器語言學(xué)習(xí)和數(shù)據(jù)挖掘技術(shù)的分類算法對互聯(lián)網(wǎng)通信傳輸過程中的特征進(jìn)行統(tǒng)計[8]。
1.2流量控制技術(shù)
網(wǎng)絡(luò)流量控制就是指利用軟、硬件方式來實現(xiàn)對網(wǎng)絡(luò)數(shù)據(jù)流量的控制目的??梢岳斫鉃橐环N流量整形,是一個網(wǎng)絡(luò)交通管理技術(shù),通過延緩部分或所有數(shù)據(jù)包等手段,使之符合人們所需的網(wǎng)絡(luò)交通規(guī)則和速率限制。
一種是TCP窗口整形技術(shù)[9],主要是接收方根據(jù)自身的數(shù)據(jù)接受能力,通過滑動窗口機(jī)制來限制發(fā)送方數(shù)據(jù)的傳輸速率。其優(yōu)勢在于可以對每個TCP會話進(jìn)行監(jiān)控和干擾,有效控制信息源發(fā)送信息量、發(fā)送時間和頻率。
另一種是旁路干擾技術(shù),與TCP窗口整形技術(shù)所不同的是其控制設(shè)備是旁路部署在網(wǎng)絡(luò)中,不需要與通信雙方的主機(jī)建立握手過程。不僅可以通過偽裝通信雙方發(fā)送干擾數(shù)據(jù)的手段來實現(xiàn)TCP重傳,還可以通過對應(yīng)用層協(xié)議信令的干擾來達(dá)到對UDP流量控制目的[10]。
2.1模塊的設(shè)計
如圖1所示,是本文設(shè)計的互聯(lián)網(wǎng)流量監(jiān)控系統(tǒng)結(jié)構(gòu)圖。
圖1 流量監(jiān)測系統(tǒng)的結(jié)構(gòu)圖
1)流量識別模塊是整個系統(tǒng)的關(guān)鍵模塊,它主要負(fù)責(zé)對流經(jīng)設(shè)備的所有數(shù)據(jù)流量進(jìn)行準(zhǔn)確識別和分類,并將結(jié)果發(fā)送給控制模塊。該模塊由兩部分組成:DPI檢測器和DFI檢測器。
2)知識庫模塊主要包括應(yīng)用特征庫和應(yīng)用樣本庫兩部分。對各類互聯(lián)網(wǎng)應(yīng)用提取應(yīng)用層負(fù)載信息,分析整理成一個應(yīng)用特征庫,用于DPI檢測器的識別。將數(shù)據(jù)預(yù)處理器統(tǒng)計的報文上下行特征、包長范圍、時間間隔和負(fù)載長度等信息匯總成應(yīng)用樣本庫。
3)數(shù)據(jù)存儲模塊主要負(fù)責(zé)存儲數(shù)據(jù)流五元組信息、流量識別及阻斷結(jié)果等。
4)流量控制模塊主要負(fù)責(zé)執(zhí)行接收的策略進(jìn)行阻斷和控制。主要有兩個部分:策略接收器和控制報文發(fā)送器。如圖2所示,當(dāng)數(shù)據(jù)流經(jīng)過系統(tǒng)時,通過識別模塊識別流量類型,將識別結(jié)果送給控制模塊,同時根據(jù)下發(fā)的策略信息,對報文進(jìn)行轉(zhuǎn)發(fā)或丟棄達(dá)到阻斷或限流的目的。
5)交互模塊其實就是整個流量監(jiān)控系統(tǒng)的前臺控制中心,負(fù)責(zé)與其他各功能模塊的交互通信,它在完成更新知識庫、配置阻斷策略等功能的同時,提供了一個可視界面,以便用戶實時查看識別及阻斷情況。
2.2P2P流量識別方案的設(shè)計與改進(jìn)
由于基于應(yīng)用層識別的DPI檢測技術(shù)對于一些加密的P2P協(xié)議,無法提出合適的特征字段,所以增加DFI檢測模塊進(jìn)行輔助識別[11]。
如圖3所示為識別模塊的系統(tǒng)流程圖。
圖2 識別與控制模塊原理圖
圖3 識別模塊流程圖
因為DPI檢測技術(shù)可以識別70%-80%的應(yīng)用[12],為提高檢測效率,我們首先將數(shù)據(jù)預(yù)處理器得到的數(shù)據(jù)流送入DPI檢測器,其中的DPI匹配引擎結(jié)合精確字符串匹配算法和正則表達(dá)匹配算法的優(yōu)點,解決了在正則表達(dá)式中精確字符串必須描述成正則表達(dá)式的麻煩,同時也簡化了AC引擎中復(fù)雜字符串必須描述成多條規(guī)則才能準(zhǔn)確識別的工作量。解析出的應(yīng)用層負(fù)載信息,在引擎對字符串進(jìn)行匹配識別前首先要對應(yīng)用特征庫進(jìn)行編譯,AC算法要把字符串編譯成AC狀態(tài)機(jī),正則表達(dá)式算法要把字符串編譯成DFA,通過該優(yōu)化引擎與應(yīng)用特征庫信息進(jìn)行匹配,即可識別到相關(guān)應(yīng)用,隨后將結(jié)果遞送給數(shù)據(jù)存儲模塊。
例如,我們在分析“百度云盤”應(yīng)用時,可以從所抓取的報文中發(fā)現(xiàn)URL字段開頭為“POST”,同時Host部分有“pan. baidu.com”的標(biāo)志性字符串,經(jīng)過對大量報文分析從而判定同時存在這兩段的字符串信息的報文,為百度云盤上傳文件的流量,如圖4所示。通過對報文細(xì)粒度的分析我們就很容易從百度云流量中細(xì)化出上傳或者下載流量,做到流量精確化識別。
然后,對于DPI識別出的流量采集其報文上下行特征、包長范圍、時間間隔和負(fù)載長度等特征[13],送入一個預(yù)備樣本庫,利用機(jī)器學(xué)習(xí)[14-15]的方法訓(xùn)練預(yù)備樣本庫,這樣就可以有效記錄已識別的流量傳輸特征,根據(jù)采集的信息建立分類模型,將訓(xùn)練后的預(yù)備樣本庫分類器用于應(yīng)用樣本庫中,當(dāng)未知流量通過DFI檢測器時,根據(jù)采集的未知流量傳輸特征與應(yīng)用樣本庫進(jìn)行比對,就可以有效的識別到應(yīng)用。
圖4 百度云盤的報文
本文設(shè)計的互聯(lián)網(wǎng)流量監(jiān)測系統(tǒng)主要部署在外部網(wǎng)絡(luò)和內(nèi)部網(wǎng)絡(luò)之間。在實驗室搭建了一個基礎(chǔ)平臺來完成互聯(lián)網(wǎng)應(yīng)用的識別與控制。如圖5所示,內(nèi)、外部網(wǎng)絡(luò)交互的流量會通過流量控制設(shè)備的前臺,管理員通過流量控制系統(tǒng)的后臺對網(wǎng)絡(luò)流量進(jìn)行實時監(jiān)控。
圖5 應(yīng)用場景網(wǎng)絡(luò)部署圖
可以同時配置多個阻斷策略,以Skype為例,接入網(wǎng)絡(luò)添加Skype_VoIP和Skype_IM的阻斷策略后,打開Skype軟件嘗試反復(fù)通信,如下圖6所示,其中default為系統(tǒng)默認(rèn)策略,不影響測試環(huán)境,分別利用Skype軟件進(jìn)行語音、視頻通話,測試過程中阻斷命中協(xié)議Skype_VoIP和Skype_IM,嘗試語音、視頻連線,阻斷連線請求,無法進(jìn)行通信。
圖6 Skype阻斷測試后臺
選取4個代表性應(yīng)用Skype、酷我音樂、迅雷、百度云盤分別進(jìn)行測試。首先配置網(wǎng)絡(luò)環(huán)境,在使用Wireshark軟件抓包前,需將連入網(wǎng)內(nèi)的其他應(yīng)用關(guān)閉,保證抓取報文的純凈度,保證識別結(jié)果的準(zhǔn)確性。識別結(jié)果如表1。
由表1結(jié)果分析可以發(fā)現(xiàn),所測試的應(yīng)用軟件識別率均在95%以上,而誤報率和漏報率也在誤差允許范圍內(nèi),達(dá)到預(yù)期效果。測試應(yīng)用軟件,配置相應(yīng)策略,反復(fù)通信5次以上,都顯示阻斷成功,符合預(yù)期要求。
文中通過對互聯(lián)網(wǎng)通信現(xiàn)狀的分析,針對目前流行的網(wǎng)絡(luò)流量特點,提出了一種高??尚械膶嵤┓桨?,改進(jìn)了互聯(lián)網(wǎng)流量識別的方法,提高了識別的精確度,同時解決了DPI技術(shù)的不能識別P2P加密流量的局限性問題。
表1 識別與測試結(jié)果
[1]第三十六次中國互聯(lián)網(wǎng)絡(luò)發(fā)展?fàn)顩r統(tǒng)計報告[R].北京.中國互聯(lián)網(wǎng)絡(luò)信息中心.2015
[2]雷鳴.網(wǎng)絡(luò)流量監(jiān)控系統(tǒng)的設(shè)計與實現(xiàn)[D].天津:天津中國民航大學(xué),2014.
[3]Se-Hee Han,James Won-Ki Hong.The Architecture of NGMON:A Passive Network Monitoring System for High-Speed IP Networks[J].Lecture Notes In Computer Science,2002,2506:16-27.
[4]劉穎秋,李巍,李云春.網(wǎng)絡(luò)流量分類與應(yīng)用識別的研究[J].計算機(jī)應(yīng)用研究,2008(5):1492-1495.
[5]李天楓,姚欣,王勁松.大規(guī)模網(wǎng)絡(luò)異常流量實時云監(jiān)測平臺研究[J].信息網(wǎng)絡(luò)安全,2014(9):1-5.
[6]張瀚,辛陽.基于DPI技術(shù)的P2P流量檢測系統(tǒng)設(shè)計[J].信息網(wǎng)絡(luò)安全,2012(10):36-40.
[7]張峰.基于機(jī)器學(xué)習(xí)的VoIP流量識別技術(shù)研究[D].武漢:華中師范大學(xué),2013.
[8]Sen S,Spatscheck O,Wang D:Accurate,scalable in-network identification of p2p traffic using application signatures. WWW’04[C]//Proceedings of the 13th International Conference on World Wide Web.ACM,New York,2004:512-521.
[9]Cascarano N,Este A,Gringoli F,et al.An experimental evaluation of the computational cost of a DPI traffic classifier[C]//IEEE Global Telecommunications Conference,2009.
[10]肖梅.基于樸素貝葉斯算法的VoIP流量識別技術(shù)研究[J].北京:信息網(wǎng)絡(luò)安全,2015(10):74-79.
[11]米淑云.IP網(wǎng)絡(luò)流量監(jiān)控系統(tǒng)的設(shè)計與實現(xiàn)[D].北京:北京郵電大學(xué),2009.
[12]程博,辛陽.基于VOIP的語音視頻流量監(jiān)控方案設(shè)計與實施[J].信息網(wǎng)絡(luò)安全,2014(6):53-58.
[13]馬麗娜.基于機(jī)器學(xué)習(xí)的GTalk流量識別系統(tǒng)的設(shè)計與實現(xiàn)[D].哈爾濱:哈爾濱工業(yè)大學(xué),2013.
[14]吳倩.基于DPI與DFI的流量識別與控制系統(tǒng)的設(shè)計與實現(xiàn)[D].成都:電子科技大學(xué),2013.
[15]陳朝暉.一種基于DPI和DFI技術(shù)的應(yīng)用識別系統(tǒng)[J].中國高新技術(shù)企業(yè),2011(6):77-80.
The design of the P2P traffic monitoring system
CHAI Qi1,CAO Xu-dong1,WANG Hong-lei1,WANG Xue-feng2
(1.China University of Petroleum-Beijing,Beijing 102249,China;2.State Grid Zhaoyuan Power Supply Company,Zhaoyuan 265400,China)
Based on the purpose of improving the identification of encrypted P2P traffic.By improving the method of traffic identification technology,this paper proposes an improved project that combin DPI and DFI technology.And repeated testing of a variety of applications.The feasibility of the method is verified by comparing the results of pre and post recognition.And the recognition rate is increased to more than 95%.
P2P;traffic identification and control;DPI;DFI
TN919.5
A
1674-6236(2016)11-0064-03
2016-01-23稿件編號:201601218
國家發(fā)改委下一代互聯(lián)網(wǎng)技術(shù)在智慧油田的應(yīng)用示范項目(CNGI-12-03-043)
柴 琦(1988—),女,黑龍江安達(dá)人,碩士研究生。研究方向:信號檢測預(yù)處理。