周永恒 王嘉春 紀(jì) 煒 趙 飛
?
面向園區(qū)網(wǎng)絡(luò)的IPv6overIPv4隧道識(shí)別技術(shù)研究與實(shí)現(xiàn)
周永恒 王嘉春 紀(jì) 煒 趙 飛
(北京空間飛行器總體設(shè)計(jì)部,北京 100094)
提出了一種基于決策樹(shù)的隧道分類(lèi)模型,通過(guò)構(gòu)建一棵IPv6overIPv4隧道的分類(lèi)樹(shù)將網(wǎng)絡(luò)數(shù)據(jù)流量分為T(mén)eredo、6to4、Isatap、IPv6inGreinIPv4、其它IPv6overIPv4隧道以及非隧道類(lèi)型6類(lèi)。最后根據(jù)建立的決策樹(shù)共提取11條判定規(guī)則,并利用該模型中提取的特征和規(guī)則給出了隧道識(shí)別系統(tǒng)的實(shí)現(xiàn),實(shí)驗(yàn)結(jié)果表明應(yīng)用該模型的準(zhǔn)確識(shí)別率能到達(dá)到90%以上,分類(lèi)效果明顯。
IPv6;決策樹(shù);IPv6overIPv4;隧道識(shí)別
隨著IPv6的逐漸普及,隧道的使用越來(lái)越廣泛,其形式也越來(lái)越豐富。因此對(duì)隧道數(shù)據(jù)進(jìn)行識(shí)別和研究十分迫切。國(guó)內(nèi)對(duì)隧道本身的研究比較深入,但對(duì)識(shí)別技術(shù)的探討相對(duì)較少,大部分方法與研究P2P的方法有些類(lèi)似,如楊岳湘等提出了基于雙重特征的數(shù)據(jù)流量檢測(cè)方法[1],張毅等探討了P2P流量控制[2],兩者采用的都是深層數(shù)據(jù)包分析技術(shù)。James Won Ki Hong提出了一種基于傳輸層特征的流量檢測(cè)方法[3],通過(guò)離線(xiàn)統(tǒng)計(jì)的方式找到P2P應(yīng)用的常用端口。Subhabrata Sen等提出了另一種數(shù)據(jù)流量檢測(cè)方法[4],該方法基于應(yīng)用簽名實(shí)現(xiàn),通過(guò)檢查payload固定偏移量和變化偏移量實(shí)現(xiàn)流量檢測(cè),效果良好。Thomas Karagiannis等提出了新的流量檢測(cè)方法[5],該方法基于傳輸層特征實(shí)現(xiàn),能夠很好地檢測(cè)出新的P2P及其加密應(yīng)用,但是方法比較復(fù)雜。王飛提出了基于WEB的隱蔽信道設(shè)計(jì)與檢測(cè)技術(shù)[6]。本文針對(duì)當(dāng)前常見(jiàn)的IPv6overIPv4隧道提出了一種基于決策樹(shù)的隧道識(shí)別方法,對(duì)當(dāng)前的IPv6overIPv4進(jìn)行分類(lèi)識(shí)別,識(shí)別當(dāng)前主流的6to4、Isatap、Teredo、IPv6inGreinIPv4、其它IPv6overIPv4以及不屬于隧道的類(lèi)型。
2.1 IPv6overIPv4隧道特征的提取
主要針對(duì)IPv6overIPv4的類(lèi)型隧道進(jìn)行識(shí)別,該類(lèi)型的隧道有6to4、Teredo、Isatap、IPv6inGreinIPv4等[7]。
a. 6to4隧道
6to4隧道構(gòu)成為IPv4+IPv6+傳輸層,同時(shí)因?yàn)?to4是一種自動(dòng)創(chuàng)建的隧道,因此6to4接口上配置的是IPv6地址,該類(lèi)地址是2002:/16開(kāi)頭的。
b. Isatap隧道
Isatap是由IPv4+IPv6+傳輸層構(gòu)成的,其中IPv6地址具有以下特征,0:5EFE:A.B.C.D或者200:5EFE: A.B.C.D,A.B.C.D是其對(duì)應(yīng)的IPv4地址。
c. Teredo隧道
Teredo是由IPv4+UDP+IPv6構(gòu)成的,隧道地址前綴為2001:/32。
d. IPv6inGreinIPv4隧道
GRE的本質(zhì)是對(duì)數(shù)報(bào)文的重新再次封裝,構(gòu)成方式為IPv4+Gre+IPv6+傳輸層。
e. 其它隧道
將不屬于上述類(lèi)型的隧道定義為其它隧道,一般是IPv4+IPv6的構(gòu)成形式。
歸納IPv6overIPv4隧道的特征,抽象出IP 類(lèi)型、上層協(xié)議類(lèi)型、IPv6地址、內(nèi)層協(xié)議類(lèi)型4個(gè)特征建立決策樹(shù)。
2.2 數(shù)據(jù)準(zhǔn)備及預(yù)處理
本次樣本訓(xùn)練數(shù)據(jù)來(lái)自某園區(qū)的網(wǎng)絡(luò)流量,數(shù)據(jù)包括常見(jiàn)的6to4、Gre、Isatap、Teredo等隧道數(shù)據(jù)包,并構(gòu)造了一些其它隧道數(shù)據(jù)包,還有一些非隧道數(shù)據(jù)包構(gòu)成。為提高分類(lèi)準(zhǔn)確率,選擇在不同的數(shù)據(jù)流中選擇樣本數(shù)據(jù)包,即同一個(gè)數(shù)據(jù)流中僅選擇一個(gè)IP數(shù)據(jù)包。以Isatap為例,通過(guò)配置Isatap隧道接入IPv6網(wǎng)絡(luò),訪(fǎng)問(wèn)一些IPv6的網(wǎng)站,捕獲大約10M左右的流量,過(guò)濾和篩選掉沒(méi)用的數(shù)據(jù),在每個(gè)數(shù)據(jù)流當(dāng)中選取一個(gè)Isatap包,共選擇100個(gè)這樣的數(shù)據(jù)包,保存為新的文件。類(lèi)似的方法獲得Gre、6to4以及Teredo等各100個(gè),最后選取200個(gè)非隧道包,含50個(gè)ICMP、100個(gè)純IPv6以及50個(gè)ARP。最后將700個(gè)數(shù)據(jù)包組合成一個(gè)新的文件,針對(duì)這個(gè)文件進(jìn)行預(yù)處理,提取相應(yīng)的特征信息。
2.3 決策樹(shù)的建立
采用C4.5算法進(jìn)行隧道識(shí)別,首先隨機(jī)抽取66%的數(shù)據(jù)包訓(xùn)練,通過(guò)對(duì)樣本數(shù)據(jù)的計(jì)算可以得出4項(xiàng)屬性的信息增益率。根據(jù)計(jì)算的信息增益和信息增益率可以看出IP類(lèi)型屬性增益率值最大,選其為決策樹(shù)的第一個(gè)節(jié)點(diǎn)。
根據(jù)該節(jié)點(diǎn)的取值,可以劃分為IPv4、IPv6、Arp等多種類(lèi)型,該決策樹(shù)至少將含多條分支,按照前文所提及的,若IP層協(xié)議非IPv4,那么其不可能為IPv6overIPv4隧道,所以可進(jìn)行剪枝。按照此原則,可遞歸的向下生成分類(lèi)決策樹(shù)。其中Ci(i=1,2,3,4,5,6)所代表是非隧道、6to4類(lèi)型、Isatap、Gre、Teredo類(lèi)型和其它隧道類(lèi)型,最終的決策樹(shù)如圖1所示。
圖1 分類(lèi)決策樹(shù)
2.4 決策樹(shù)提取分類(lèi)規(guī)則
從2.3節(jié)構(gòu)建的決策樹(shù)的樹(shù)根開(kāi)始作深度優(yōu)先遍歷,每到一個(gè)葉節(jié)點(diǎn)可抽象出一條判定規(guī)則,共可抽取11條規(guī)則。
If IP類(lèi)型!=Ipv4 then類(lèi)型=C1
If IP類(lèi)型=Ipv4 &上層協(xié)議!=Tcp &上層協(xié)議=Ipv6 &上層協(xié)議!=GRE & 上層協(xié)議!=Udp then類(lèi)型=C1
If IP類(lèi)型=Ipv4 & 上層協(xié)議=Ipv6 & Ipv6地址=2002:/16 then 類(lèi)型=C2
If IP類(lèi)型= Ipv4 & 上層協(xié)議= Ipv6 & (Ipv6地址=::0:5EFE:A.B.C.D or =::200:5EFE:A.B.C.D) then 類(lèi)型=C3
If IP類(lèi)型=Ipv4 & 上層協(xié)議=Ipv6 & Ipv6地址!=2002:/16 & Ipv6地址!=::0:5EFE:A.B.C.D & Ipv6地址!=::200:5EFE: A.B.C.D then 類(lèi)型=C6
If IP類(lèi)型=Ipv4 & 上層協(xié)議=GRE & 內(nèi)層協(xié)議= Ipv6 then 類(lèi)型=C4
If IP類(lèi)型=Ipv4 & 上層協(xié)議=GRE & 內(nèi)層協(xié)議!= Ipv6 then 類(lèi)型=C1
If IP類(lèi)型=Ipv4 & 上層協(xié)議=Udp & 內(nèi)層協(xié)議= Ipv6 then類(lèi)型=C5
If IP層協(xié)議=Ipv4 & 上層協(xié)議=Udp & 內(nèi)層協(xié)議!=IPv6 then 類(lèi)型=C1
If IP層協(xié)議=Ipv4 & 上層協(xié)議=Tcp & 內(nèi)層協(xié)議=Ipv6 then 類(lèi)型=C6
If IP層協(xié)議=Ipv4 & 上層協(xié)議=Tcp & 內(nèi)層協(xié)議!=Ipv6 then 類(lèi)型=C1
使用有限狀態(tài)機(jī)FSM實(shí)現(xiàn)隧道識(shí)別系統(tǒng),一個(gè)成功的狀態(tài)機(jī)狀態(tài)必定是清晰的[8],因此首先明確狀態(tài)機(jī)的各個(gè)狀態(tài)和含義,如表1所示。
表1 形式化狀態(tài)表
符號(hào)名稱(chēng)相關(guān)說(shuō)明 S0初始狀態(tài),當(dāng)數(shù)據(jù)包分析指針處于數(shù)據(jù)包頭時(shí)處于該狀態(tài) S1第一個(gè)識(shí)別為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ī)需要對(duì)輸入進(jìn)行清晰地定義,對(duì)狀態(tài)機(jī)的輸入形式化表述見(jiàn)表2。
表2 形式化輸入表
符號(hào)名稱(chēng)相關(guān)說(shuō)明 I0IPv4 I1IPv6 I2GRE I3TCP I4UDP
根據(jù)上述形式化定義構(gòu)建狀態(tài)機(jī),建立的狀態(tài)轉(zhuǎn)換圖如圖2所示。
圖2 識(shí)別狀態(tài)機(jī)
該算法描述如下:
a. 初始進(jìn)行網(wǎng)絡(luò)數(shù)據(jù)包分析時(shí),分析指針沒(méi)有偏移,狀態(tài)機(jī)處于S0狀態(tài);
b. 指針偏移,指向IP數(shù)據(jù)包頭協(xié)議版本;判斷是否IPv4,若是IPv4轉(zhuǎn)入c;否則轉(zhuǎn)入f;
c. 狀態(tài)為S1,指針偏移至協(xié)議類(lèi)型,判斷指針指向內(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ù)包檢測(cè)完畢。
本次實(shí)驗(yàn)使用三臺(tái)服務(wù)器和一個(gè)客戶(hù)端PC,其中兩臺(tái)服務(wù)器安裝千兆光卡用于捕包分析,一臺(tái)作為日志服務(wù)器,實(shí)驗(yàn)部署如圖3所示。
圖3 實(shí)驗(yàn)部署圖
4.1 實(shí)驗(yàn)測(cè)試步驟
a. 采用光纖引入大規(guī)模數(shù)據(jù)流給數(shù)據(jù)分析服務(wù)器,采取分光技術(shù)將數(shù)據(jù)流盡可能均衡分給兩臺(tái)數(shù)據(jù)分析服務(wù)器;
b. 數(shù)據(jù)分析服務(wù)器的網(wǎng)卡設(shè)為混雜模式,啟動(dòng)數(shù)據(jù)包捕獲;
c. 啟動(dòng)日志服務(wù)器上數(shù)據(jù)庫(kù)服務(wù)程序,準(zhǔn)備接收分析結(jié)果;
d. 運(yùn)行隧道識(shí)別程序,進(jìn)行數(shù)據(jù)流量識(shí)別和分析,寫(xiě)入數(shù)據(jù)庫(kù)。
e. 通過(guò)日志服務(wù)器查看分類(lèi)結(jié)果。
4.2 實(shí)驗(yàn)結(jié)果分析
網(wǎng)絡(luò)數(shù)據(jù)流量會(huì)隨著時(shí)間段的不同實(shí)時(shí)變化,為更好地說(shuō)明測(cè)試結(jié)果,選取一天中的各個(gè)時(shí)段進(jìn)行測(cè)試,測(cè)試結(jié)果如圖4所示。
圖4 隧道數(shù)據(jù)對(duì)比圖
測(cè)試結(jié)果表明一天中各時(shí)段的隧道類(lèi)型存在一定的差異,但是差異不大,凌晨24:00到1:00期間數(shù)據(jù)量相對(duì)較大,其中6to4隧道比例最大,ISATAP隧道占據(jù)一部分,Teredo較少,Gre基本沒(méi)有。由此得出結(jié)論,相當(dāng)多的用戶(hù)通過(guò)6to4接入IPv6網(wǎng)絡(luò),且非工作時(shí)間比工作時(shí)間隧道數(shù)據(jù)略多。
本文提出了一種基于決策樹(shù)的隧道識(shí)別技術(shù),總結(jié)了幾種常用的隧道數(shù)據(jù)包的特征,根據(jù)所選的4個(gè)特征建立了分類(lèi)決策樹(shù),通過(guò)剪枝最終得到所用的隧道分類(lèi)的決策樹(shù),并提取出11條分類(lèi)規(guī)則,給出了隧道識(shí)別系統(tǒng)的實(shí)現(xiàn)方法。利用該決策樹(shù)將數(shù)據(jù)分為6to4、Isatap、Teredo、IPv6inGreinIPv4的Gre隧道,其它IPv6overIPv4隧道和非隧道6種類(lèi)型,根據(jù)本文建立的決策樹(shù)分類(lèi)正確率有90%以上,分類(lèi)效果明顯。最后利用該模型在真實(shí)網(wǎng)絡(luò)環(huán)境中進(jìn)行了測(cè)試,發(fā)現(xiàn)6to4所占的比例最大,有20%左右,同時(shí)Isatap和Teredo等也占了一部分,且非工作時(shí)間的隧道流量要略大于工作時(shí)間的隧道流量。
1 楊岳湘,李強(qiáng). 基于雙重特征的P2P流量檢測(cè)方法[J]. 通信學(xué)報(bào),2006,27(11A):134~138
2 張毅. 如何進(jìn)行.P2P精細(xì)化運(yùn)營(yíng)[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ì)與檢測(cè)技術(shù)研究[D]. 合肥:中國(guó)科學(xué)技術(shù)大學(xué)碩士學(xué)學(xué)位論文,2014
7 周永恒. 基于決策樹(shù)的隧道識(shí)別技術(shù)研究[D]. 哈爾濱:哈爾濱工業(yè)大學(xué)碩士學(xué)學(xué)位論文,2011
8 趙麗敏. 自動(dòng)機(jī)理論在協(xié)議開(kāi)發(fā)中的應(yīng)用[J]. 開(kāi)發(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
“十二五”國(guó)防基礎(chǔ)科研項(xiàng)目(C0320110002)。
周永恒(1986),工程師,計(jì)算機(jī)科學(xué)與技術(shù)專(zhuān)業(yè);研究方向:網(wǎng)絡(luò)信息內(nèi)容安全、云計(jì)算及其在航天器研制中的應(yīng)用。
2017-04-23