周永恒 王嘉春 紀(jì) 煒 趙 飛
?
面向園區(qū)網(wǎng)絡(luò)的IPv6overIPv4隧道識別技術(shù)研究與實(shí)現(xiàn)
周永恒 王嘉春 紀(jì) 煒 趙 飛
(北京空間飛行器總體設(shè)計(jì)部,北京 100094)
提出了一種基于決策樹的隧道分類模型,通過構(gòu)建一棵IPv6overIPv4隧道的分類樹將網(wǎng)絡(luò)數(shù)據(jù)流量分為Teredo、6to4、Isatap、IPv6inGreinIPv4、其它IPv6overIPv4隧道以及非隧道類型6類。最后根據(jù)建立的決策樹共提取11條判定規(guī)則,并利用該模型中提取的特征和規(guī)則給出了隧道識別系統(tǒng)的實(shí)現(xiàn),實(shí)驗(yàn)結(jié)果表明應(yīng)用該模型的準(zhǔn)確識別率能到達(dá)到90%以上,分類效果明顯。
IPv6;決策樹;IPv6overIPv4;隧道識別
隨著IPv6的逐漸普及,隧道的使用越來越廣泛,其形式也越來越豐富。因此對隧道數(shù)據(jù)進(jìn)行識別和研究十分迫切。國內(nèi)對隧道本身的研究比較深入,但對識別技術(shù)的探討相對較少,大部分方法與研究P2P的方法有些類似,如楊岳湘等提出了基于雙重特征的數(shù)據(jù)流量檢測方法[1],張毅等探討了P2P流量控制[2],兩者采用的都是深層數(shù)據(jù)包分析技術(shù)。James Won Ki Hong提出了一種基于傳輸層特征的流量檢測方法[3],通過離線統(tǒng)計(jì)的方式找到P2P應(yīng)用的常用端口。Subhabrata Sen等提出了另一種數(shù)據(jù)流量檢測方法[4],該方法基于應(yīng)用簽名實(shí)現(xiàn),通過檢查payload固定偏移量和變化偏移量實(shí)現(xiàn)流量檢測,效果良好。Thomas Karagiannis等提出了新的流量檢測方法[5],該方法基于傳輸層特征實(shí)現(xiàn),能夠很好地檢測出新的P2P及其加密應(yīng)用,但是方法比較復(fù)雜。王飛提出了基于WEB的隱蔽信道設(shè)計(jì)與檢測技術(shù)[6]。本文針對當(dāng)前常見的IPv6overIPv4隧道提出了一種基于決策樹的隧道識別方法,對當(dāng)前的IPv6overIPv4進(jìn)行分類識別,識別當(dāng)前主流的6to4、Isatap、Teredo、IPv6inGreinIPv4、其它IPv6overIPv4以及不屬于隧道的類型。
2.1 IPv6overIPv4隧道特征的提取
主要針對IPv6overIPv4的類型隧道進(jìn)行識別,該類型的隧道有6to4、Teredo、Isatap、IPv6inGreinIPv4等[7]。
a. 6to4隧道
6to4隧道構(gòu)成為IPv4+IPv6+傳輸層,同時(shí)因?yàn)?to4是一種自動(dòng)創(chuàng)建的隧道,因此6to4接口上配置的是IPv6地址,該類地址是2002:/16開頭的。
b. Isatap隧道
Isatap是由IPv4+IPv6+傳輸層構(gòu)成的,其中IPv6地址具有以下特征,0:5EFE:A.B.C.D或者200:5EFE: A.B.C.D,A.B.C.D是其對應(yīng)的IPv4地址。
c. Teredo隧道
Teredo是由IPv4+UDP+IPv6構(gòu)成的,隧道地址前綴為2001:/32。
d. IPv6inGreinIPv4隧道
GRE的本質(zhì)是對數(shù)報(bào)文的重新再次封裝,構(gòu)成方式為IPv4+Gre+IPv6+傳輸層。
e. 其它隧道
將不屬于上述類型的隧道定義為其它隧道,一般是IPv4+IPv6的構(gòu)成形式。
歸納IPv6overIPv4隧道的特征,抽象出IP 類型、上層協(xié)議類型、IPv6地址、內(nèi)層協(xié)議類型4個(gè)特征建立決策樹。
2.2 數(shù)據(jù)準(zhǔn)備及預(yù)處理
本次樣本訓(xùn)練數(shù)據(jù)來自某園區(qū)的網(wǎng)絡(luò)流量,數(shù)據(jù)包括常見的6to4、Gre、Isatap、Teredo等隧道數(shù)據(jù)包,并構(gòu)造了一些其它隧道數(shù)據(jù)包,還有一些非隧道數(shù)據(jù)包構(gòu)成。為提高分類準(zhǔn)確率,選擇在不同的數(shù)據(jù)流中選擇樣本數(shù)據(jù)包,即同一個(gè)數(shù)據(jù)流中僅選擇一個(gè)IP數(shù)據(jù)包。以Isatap為例,通過配置Isatap隧道接入IPv6網(wǎng)絡(luò),訪問一些IPv6的網(wǎng)站,捕獲大約10M左右的流量,過濾和篩選掉沒用的數(shù)據(jù),在每個(gè)數(shù)據(jù)流當(dāng)中選取一個(gè)Isatap包,共選擇100個(gè)這樣的數(shù)據(jù)包,保存為新的文件。類似的方法獲得Gre、6to4以及Teredo等各100個(gè),最后選取200個(gè)非隧道包,含50個(gè)ICMP、100個(gè)純IPv6以及50個(gè)ARP。最后將700個(gè)數(shù)據(jù)包組合成一個(gè)新的文件,針對這個(gè)文件進(jìn)行預(yù)處理,提取相應(yīng)的特征信息。
2.3 決策樹的建立
采用C4.5算法進(jìn)行隧道識別,首先隨機(jī)抽取66%的數(shù)據(jù)包訓(xùn)練,通過對樣本數(shù)據(jù)的計(jì)算可以得出4項(xiàng)屬性的信息增益率。根據(jù)計(jì)算的信息增益和信息增益率可以看出IP類型屬性增益率值最大,選其為決策樹的第一個(gè)節(jié)點(diǎn)。
根據(jù)該節(jié)點(diǎn)的取值,可以劃分為IPv4、IPv6、Arp等多種類型,該決策樹至少將含多條分支,按照前文所提及的,若IP層協(xié)議非IPv4,那么其不可能為IPv6overIPv4隧道,所以可進(jìn)行剪枝。按照此原則,可遞歸的向下生成分類決策樹。其中Ci(i=1,2,3,4,5,6)所代表是非隧道、6to4類型、Isatap、Gre、Teredo類型和其它隧道類型,最終的決策樹如圖1所示。
圖1 分類決策樹
2.4 決策樹提取分類規(guī)則
從2.3節(jié)構(gòu)建的決策樹的樹根開始作深度優(yōu)先遍歷,每到一個(gè)葉節(jié)點(diǎn)可抽象出一條判定規(guī)則,共可抽取11條規(guī)則。
If IP類型!=Ipv4 then類型=C1
If IP類型=Ipv4 &上層協(xié)議!=Tcp &上層協(xié)議=Ipv6 &上層協(xié)議!=GRE & 上層協(xié)議!=Udp then類型=C1
If IP類型=Ipv4 & 上層協(xié)議=Ipv6 & Ipv6地址=2002:/16 then 類型=C2
If IP類型= Ipv4 & 上層協(xié)議= Ipv6 & (Ipv6地址=::0:5EFE:A.B.C.D or =::200:5EFE:A.B.C.D) then 類型=C3
If IP類型=Ipv4 & 上層協(xié)議=Ipv6 & Ipv6地址!=2002:/16 & Ipv6地址!=::0:5EFE:A.B.C.D & Ipv6地址!=::200:5EFE: A.B.C.D then 類型=C6
If IP類型=Ipv4 & 上層協(xié)議=GRE & 內(nèi)層協(xié)議= Ipv6 then 類型=C4
If IP類型=Ipv4 & 上層協(xié)議=GRE & 內(nèi)層協(xié)議!= Ipv6 then 類型=C1
If IP類型=Ipv4 & 上層協(xié)議=Udp & 內(nèi)層協(xié)議= Ipv6 then類型=C5
If IP層協(xié)議=Ipv4 & 上層協(xié)議=Udp & 內(nèi)層協(xié)議!=IPv6 then 類型=C1
If IP層協(xié)議=Ipv4 & 上層協(xié)議=Tcp & 內(nèi)層協(xié)議=Ipv6 then 類型=C6
If IP層協(xié)議=Ipv4 & 上層協(xié)議=Tcp & 內(nèi)層協(xié)議!=Ipv6 then 類型=C1
使用有限狀態(tài)機(jī)FSM實(shí)現(xiàn)隧道識別系統(tǒng),一個(gè)成功的狀態(tài)機(jī)狀態(tài)必定是清晰的[8],因此首先明確狀態(tài)機(jī)的各個(gè)狀態(tài)和含義,如表1所示。
表1 形式化狀態(tài)表
符號名稱相關(guān)說明 S0初始狀態(tài),當(dāng)數(shù)據(jù)包分析指針處于數(shù)據(jù)包頭時(shí)處于該狀態(tài) S1第一個(gè)識別為IP數(shù)據(jù)時(shí)跳轉(zhuǎn)到該狀態(tài) S2數(shù)據(jù)包分析指針指向IP層上層數(shù)據(jù)包頭,包括GRE,UDP及TCP時(shí)處于該狀態(tài) S3數(shù)據(jù)包分析指針指向GRE或者TCP或者UDP S4結(jié)束
此外,為構(gòu)建一個(gè)穩(wěn)定的狀態(tài)機(jī)需要對輸入進(jìn)行清晰地定義,對狀態(tài)機(jī)的輸入形式化表述見表2。
表2 形式化輸入表
符號名稱相關(guān)說明 I0IPv4 I1IPv6 I2GRE I3TCP I4UDP
根據(jù)上述形式化定義構(gòu)建狀態(tài)機(jī),建立的狀態(tài)轉(zhuǎn)換圖如圖2所示。
圖2 識別狀態(tài)機(jī)
該算法描述如下:
a. 初始進(jìn)行網(wǎng)絡(luò)數(shù)據(jù)包分析時(shí),分析指針沒有偏移,狀態(tài)機(jī)處于S0狀態(tài);
b. 指針偏移,指向IP數(shù)據(jù)包頭協(xié)議版本;判斷是否IPv4,若是IPv4轉(zhuǎn)入c;否則轉(zhuǎn)入f;
c. 狀態(tài)為S1,指針偏移至協(xié)議類型,判斷指針指向內(nèi)容,如指向的內(nèi)容為I0或者I1時(shí)轉(zhuǎn)入d,如指向的內(nèi)容為I2,I3,I4的時(shí)候,轉(zhuǎn)入e,否則轉(zhuǎn)入f;
d. 狀態(tài)為S2,檢查一下數(shù)據(jù)包頭的合法性,合法判定該數(shù)據(jù)包是為隧道包,不合法則為非隧道包,轉(zhuǎn)入f;
e. 狀態(tài)為S3,根據(jù)I2、I3、I4的不同進(jìn)行偏移,偏移后所指的內(nèi)容為I1或者I0,則進(jìn)入狀態(tài)S2,否則轉(zhuǎn)入f;
f. 終結(jié)狀態(tài),表示單個(gè)數(shù)據(jù)包檢測完畢。
本次實(shí)驗(yàn)使用三臺服務(wù)器和一個(gè)客戶端PC,其中兩臺服務(wù)器安裝千兆光卡用于捕包分析,一臺作為日志服務(wù)器,實(shí)驗(yàn)部署如圖3所示。
圖3 實(shí)驗(yàn)部署圖
4.1 實(shí)驗(yàn)測試步驟
a. 采用光纖引入大規(guī)模數(shù)據(jù)流給數(shù)據(jù)分析服務(wù)器,采取分光技術(shù)將數(shù)據(jù)流盡可能均衡分給兩臺數(shù)據(jù)分析服務(wù)器;
b. 數(shù)據(jù)分析服務(wù)器的網(wǎng)卡設(shè)為混雜模式,啟動(dòng)數(shù)據(jù)包捕獲;
c. 啟動(dòng)日志服務(wù)器上數(shù)據(jù)庫服務(wù)程序,準(zhǔn)備接收分析結(jié)果;
d. 運(yùn)行隧道識別程序,進(jìn)行數(shù)據(jù)流量識別和分析,寫入數(shù)據(jù)庫。
e. 通過日志服務(wù)器查看分類結(jié)果。
4.2 實(shí)驗(yàn)結(jié)果分析
網(wǎng)絡(luò)數(shù)據(jù)流量會(huì)隨著時(shí)間段的不同實(shí)時(shí)變化,為更好地說明測試結(jié)果,選取一天中的各個(gè)時(shí)段進(jìn)行測試,測試結(jié)果如圖4所示。
圖4 隧道數(shù)據(jù)對比圖
測試結(jié)果表明一天中各時(shí)段的隧道類型存在一定的差異,但是差異不大,凌晨24:00到1:00期間數(shù)據(jù)量相對較大,其中6to4隧道比例最大,ISATAP隧道占據(jù)一部分,Teredo較少,Gre基本沒有。由此得出結(jié)論,相當(dāng)多的用戶通過6to4接入IPv6網(wǎng)絡(luò),且非工作時(shí)間比工作時(shí)間隧道數(shù)據(jù)略多。
本文提出了一種基于決策樹的隧道識別技術(shù),總結(jié)了幾種常用的隧道數(shù)據(jù)包的特征,根據(jù)所選的4個(gè)特征建立了分類決策樹,通過剪枝最終得到所用的隧道分類的決策樹,并提取出11條分類規(guī)則,給出了隧道識別系統(tǒng)的實(shí)現(xiàn)方法。利用該決策樹將數(shù)據(jù)分為6to4、Isatap、Teredo、IPv6inGreinIPv4的Gre隧道,其它IPv6overIPv4隧道和非隧道6種類型,根據(jù)本文建立的決策樹分類正確率有90%以上,分類效果明顯。最后利用該模型在真實(shí)網(wǎng)絡(luò)環(huán)境中進(jìn)行了測試,發(fā)現(xiàn)6to4所占的比例最大,有20%左右,同時(shí)Isatap和Teredo等也占了一部分,且非工作時(shí)間的隧道流量要略大于工作時(shí)間的隧道流量。
1 楊岳湘,李強(qiáng). 基于雙重特征的P2P流量檢測方法[J]. 通信學(xué)報(bào),2006,27(11A):134~138
2 張毅. 如何進(jìn)行.P2P精細(xì)化運(yùn)營[S/OL],2007,http://www.huawei.com/cn/ publications/view.pdf.
3 Han S H, Kim M S, Ju H T, et al. The architecture of NG-MON: a passive network monitoring system forhigh speed ip networks[J], Lecture notes in computer science, 2002(8):33~45
4 Sen S, Spat scheck O, Wang D. Accurate, Scalable network identification of P2P traffic using application signatures[C]. In: Proceedings of the 13th international conference on World Wide Web. N Y: ACM Press, 2004:512~521
5 Sen S, Wang J. Analyzing peer to peer traffic across large networks[C], IEEE/ACM Transactions on Networking. NJ:IEEE Press, 2004:219~232
6 王飛. 基于WEB的隱蔽信道設(shè)計(jì)與檢測技術(shù)研究[D]. 合肥:中國科學(xué)技術(shù)大學(xué)碩士學(xué)學(xué)位論文,2014
7 周永恒. 基于決策樹的隧道識別技術(shù)研究[D]. 哈爾濱:哈爾濱工業(yè)大學(xué)碩士學(xué)學(xué)位論文,2011
8 趙麗敏. 自動(dòng)機(jī)理論在協(xié)議開發(fā)中的應(yīng)用[J]. 開發(fā)研究與設(shè)計(jì)技術(shù),2007(9):784~785
Research and Implementation of IPv6overIPv4 Tunnel Recognition Technology Based on Campus Network
Zhou Yongheng Wang Jiachun Ji Wei Zhao Fei
(Beijing Institute of Spacecraft System Engineering, Beijing 100094)
A model of tunnel classification is proposed based on decision tree in this paper, by classifying property, a tree of classification is built and the network flow is divided into Teredo, 6to4, Isatap, IPv6inGreinIPv4, other IPv6overIPv4, and not belonging to tunnel 6 classes. Finally eleven decision rules is extracted by using the decision tree, and the tunnel identification system is implemented by using the extracted features and rules. Experimental results show that the accuracy rate of classification can be 90% and classification results are significant.
IPv6;decision tree;IPv6overIPv4;tunnel Identification
“十二五”國防基礎(chǔ)科研項(xiàng)目(C0320110002)。
周永恒(1986),工程師,計(jì)算機(jī)科學(xué)與技術(shù)專業(yè);研究方向:網(wǎng)絡(luò)信息內(nèi)容安全、云計(jì)算及其在航天器研制中的應(yīng)用。
2017-04-23