吳歡 宋力 劉遇哲
(河北遠東通信系統工程有限公司,河北石家莊 050000)
基于HTTP協議特征字的識別研究
吳歡 宋力 劉遇哲
(河北遠東通信系統工程有限公司,河北石家莊 050000)
在網絡應用日益膨脹的互聯網時代,HTTP協議憑借自身眾多的優點,應用于大部分的網絡應用中,如何通過協議的載荷特征字識別出應用,是當前DPI面臨的重要挑戰。針對這個挑戰,在當前采用的識別技術基礎上,對軟件更新類應用的識別方法進行了簡要介紹,主要解決識別過程中識別率低和出現誤識別2個問題,采用優化后的特征匹配順序和資源方法順序相結合的方法,進行應用識別測試,通過對比前后的測試結果,從而論證特征匹配順和資源方法順序的合理性以及識別方法的科學性。
特征字特征匹配資源方法識別率誤識別DPI HTTP
網絡應用識別技術由傳統的基于端口映射的識別技術發展為基于深度數據包識別(DPI)和基于深度數據流識別(DFI)兩種方法[1,2]。其中,DPI是在分析報文頭的基礎上,結合不同應用的特征從而綜合判斷所屬應用的技術,DFI它是基于一種流量行為的應用識別技術,不同的業務應用類型體現在會話連接或數據流上的狀態各不相同[3]。本文中的識別方法是在DPI的基礎上產生的,運用基礎的識別方法,結合HTTP協議報文頭含義[4],采用合理的特征搭配方式和資源提取方式的新識別方法,由于該方法僅針對HTTP協議適用,在HTTPS、UDP等網絡協議中暫時沒有得到認證。
識別方法中的特征搭配和提取順序根據HTTP協議的RFC文檔各個報文頭含義結合唯一資源定位符內容而確定,特征庫運行在34核的Linux系統平臺下,10 G帶寬下識別無丟包、無延遲,實驗數據為應用識別的真實內容。為驗證識別方法的合理性和正確性,要求識別率≥90%,且不出現應用誤識別,上述2種標準均滿足,則表示特征識別方法正確。
在軟件更新類的識別過程中,或在任何應用的識別過程中,都應著重考慮2個指標:①識別率;②誤識別。而針對這2個指標出現的問題也有2個:①識別率不達標;②出現誤識別,它們直接反應了應用識別方法的正確性。
識別率和誤識別有著即相對又統一的微妙關系,相對性體現在減少程序處理時間、提高識別率時,往往采用通用性的特征字符,而通用性字符又是造成誤識別的主要原因;統一性體現在不管是識別率還是誤識別都是對應用識別的判斷標準,都可以判斷基于特征字符識別方法的正確性。在這種情況下,從客戶體驗角度出發,二者的關系可以理解為:無誤識別是識別的前提,識別率達標是識別的基礎。
在實際識別過程中,識別率和誤識別的具體問題主要有2個:①單條特征字符的匹配;②通用性特征字符的匹配。采用這2種識別方式,雖然可以即簡約又高效的識別出應用,但是與此同時也會提高誤識別的可能性。所以如何讓識別率和誤識別達到一個相對合理的平衡點,如何避免單條或通用特征字符的匹配方式并縮短程序處理時間,是應用識別方法優化和改進的重點。
識別方法的優化分為2部分:一部分是特征匹配方式的優化,也就是報文中的特征字符如何進行搭配匹配;另一部分是特征字符提取方式的優化,也就是每條特征信息如何進行字符舍取。
3.1 特征匹配方式的優化
特征匹配方式的優化主要解決單條特征匹配所帶來的誤識別和識別率問題,根據統一資源標識符在各報文頭的信息不同[5],對HTTP協議報文方法進行粗略的分類作為特征匹配優化的基礎,由此可以分為資源具體信息、資源地址信息、資源其他信息3類。資源具體信息包括GET、PUT、POST、HEAD等方法的報文內容;資源地址信息包括Referrer、Host、IP、端口的報文內容;資源其他信息包括User-Agent、Server、Content-Type等方法的報文內容。
3.1.1 特征匹配方式的優先級
特征匹配方式優化的解決方案將特征搭配分3種級別,從高到低依次采用,具體情況如下:
一級:資源具體信息+資源地址信息+資源其他信息
二級:資源具體信息+資源地址信息;資源具體信息+資源其他信息;資源地址信息+資源其他信息
三級:資源具體信息;資源地址信息;資源其他信息
上述優化方法中,優先采用一級匹配方式,最后采用三級匹配方式,在每一級別,按照書寫的前后順序依次采用,例如在二級匹配方式中,優先采用資源具體信息+資源地址信息;其次采用資源具體信息+資源其他信息;最后采用資源地址信息+資源其他信息。
3.1.2 資源方法的優先級
資源具體信息主要是請求方法的內容,包括應用名稱、具體路徑、資源類型或者其他特征,常用的方法有GET、PUT、POST、HEAD。在請求報文中出現哪個方法就對該方法的內容具體分析并提取特征字符,它們之間沒有優先級別區分,有時一條會話中有時會出現多個請求方法,根據載荷回應報文的2xx狀態來確定提取哪個方法的特征字,若特征字符可以獨特并且精確的表示了資源信息,可以采用該單條特征字符匹配應用[6]。
資源地址信息主要存在于請求方法Referrer和Host中,如果應用的具體功能與某一IP和端口是對應的,其也可以表示資源的地址信息。在這些地址信息中,Referrer方法優先級最高,Host和IP次之,根據HTTP協議的RFC文檔可知,Referrer中http_URL="http:""http://"host[":"port][abs_path[ "?"query]][4],URL可以用于定位網絡資源的位置,從而作為應用的識別特征,而Host是URL的組成部分,僅表示資源主機的相關信息,沒有很精確的定位。所以在僅有地址信息的情況下Referrer方法可以作為單條特征匹配應用,但是Host方法和IP不能單獨作為特征來匹配[7]。
資源其他信息主要有資源產品信息、資源數據格式等,對應的方法分別是User-Agent、Server、Content-Type、Content-Length等,他們的優先級按照書寫的順序由高到低排序,其中User-Agent和Serve用于產品標記,使通信軟件能夠通過名稱和版本來標識自己,從而可以識別出應用,特別情況下也可以作為單條特征進行識別匹配,而資源數據格等信息不能單獨作為特征進行識別匹配,只可以作為應用限制條件增加識別準確性[8]。
3.2 特征字符提取方式的優化
根據協議分類可知,在數據報文中有資源具體信息、資源地址信息和資源其他信息3種,每種信息的特征都是通過字符確定,其中包含了可識別字符(包括應用的名稱、命令、格式等)和不可識別字符(包括特殊字符、數字等),下面主要介紹基于特征字符串提取方式的邏輯方法[9],其中包含了2種情況。
3.2.1 含應用信息的特征字符提取方法(以名稱為例)
在Spybot應用中,更新過程數據包的GET請求方法信息如下所示:
①GET/updates/spybot2files/spybotsd2.uid-20140522.cab
②GET/updates/spybot2files/TTLASSH.sbs-20080624.cab
③GET/spybot2files/Trojans-ZL-000.sbi-20140115.cab
④GET/updates/spybot2/Trojans-VM-021.sbi-20140115. cab
⑤GET/data/spybot/spybot2/Trojans-VM-023. sbi-20140115.cab
經初步分析可知,1和2有共同特征字符“/updates/spybot2files/”;2和3有共同特征字符“/spybot2files/”;3和4有共同特征字符“/spybot2”,4和1、2有共同特征字符“/updates/spybot2”;5和其余4條方法信息均有“spybot”或“spybot2”的特征字符。
若上述GET方法的名稱特征作為一級或者二級的輔助搭配特征,采用的方法是1和2提取共同特征A,A和3提取共同特征B,B和4提取共同特征C,以此類推,最終用統一的特征字符識別所有報文,本例最終以特征字符“/spybot”,偏移位置為7-14,加上Host方法的主要特征,聯合匹配出spybot應用;若上述特征字符作為主要特征或者單條的資源具體信息進行匹配,字符串提取分為3種,分別是“/updates/spybot2files/”、“/spybot2files/”和“/data/spybot/spybot2/”,提取的原則是資源路徑提取到具體文件的上級以上目錄,路徑越具體識別越精確。與此同時,由于軟件更新過程的獨特性,往往加上文件類型(.cab)作為輔助特征,提高識別準確性。
而在資源地址信息的特征字符提取方式中,與資源具體信息的提取方式雷同,在Referrer或者Host方法中,地址信息特征字符越詳細資源定位越精確。而資源其他信息中的產品信息或數據格式等則是如實提取,表達是什么就提取什么。
3.2.2 不含應用信息的特征提取方法
不含應用信息的特征提取方法根據特征字符所在位置和位置出現的字符特點,采用聯合匹配方式,按聯合數大小排序,決定提取優先級,例如應用會話報文中有3處字符一致,則將這3處的字符聯合起來作為該應用的特征,通過此特征進行識別,若會話報文中有4處字符一致,則優先采用4處字符聯合匹配,該匹配方式比3處特征優先級別高,識別更準確[10]。
現以Mcafee軟件為例,對優化后的識別方法進行評估,在軟件更新過程中,通過對數據包的統計分析,發現其中有2條大流量會話,具有共同的Host方法特征信息,具體內容為“download.mcafee.com”,從而可以判斷會話內容來源于Mcafee軟件的下載服務器中,是更新過程中文件的主要來源,若按照之前的識別方法,則采用Host特征來匹配Mcafee應用的更新過程,此時識別率為98.50%,達到標準。
但在誤識別測試時,在其官方網站下載應用或其他工具造成了誤匹配,通過跟蹤打印的五元組信息,鎖定網頁下載數據包的會話,發現其Host方法特征為“download.mcafee.com”,與更新過程會話特征一致,但其資源具體信息的請求方法內容不一致,更新過程中的請求方法為HEAD,內容特征為“/molbin/iss-loc/amcore/0001006/001712/meddat.cab
HTTP/1.1”,由此可知請求文件類型為.cab,而網頁下載的請求方法為GET,內容特征為“/molbin/iss-loc/mmi/zh-cn/7. 6.263/7/downloadButton.html HTTP/1.1”,由此可知請求文件的類型為.html。
經過分析可知,網頁下載和軟件更新文件均來自于Mcafee的下載服務器,不能單獨采用Host方法特征進行應用匹配,按照優化后的識別方法,采用二級匹配方式的資源具體信息+資源地址信息方式識別,即Host域內容+請求方法內容+文件類型,具體的識別特征字符為Host:download.mcafee. com+String:/molbin/iss-loc/+String:.cab。將帶有新特征庫的程序在公網上進行誤識別測試,截止至文章編寫時,未出現問題。
采用優化后的特征匹配方式和特征字符提取方式對22個軟件更新應用進行測試,識別率均達到90%,無一誤識別。同時,在文件傳輸、即時通信、下載類等其他采用HTTP協議進行通信的網絡應用中,這種識別方法起到了顯著的作用,為應用識別提供了基礎,與此同時也具有弊端[11],在實際應用中盡量將弊端降到最小,優點充分使用。本方法的核心內容是將統一資源標識符與報文方法的結合,通過資源信息的獨特性、唯一性確定應用,從而識別出應用。這種識別方法的邏輯思維不僅僅適用于HTTP協議,同樣可以延伸至TCP、UDP等協議中,結合其他協議自身的特點,采用合理的特征字符提取方式和匹配方式也能簡潔、準確、快速的識別出協議應用。
[1]王梁.基于深度數據包檢測與深度數據流檢測相結合的業務識別技術研究[D].中南大學.Y1761966.2010:2-6.
[2]張玲,李君,孫雁飛.快速應用層流量識別方法的研究與實現[C].電信快報論文選粹,2009:29-33.
[3]張志群.淺談應用識別技術的實現[J].IP領航.2009:1-2.
[4]李鑫.基于DPI的網絡流量識別系統的設計與實現[D].武漢理工大學,Y1817346.2010:7-8.
[5]RFC2616,Hypertext Transfer Protocol--HTTP/1.1[S].
[6]吳昊,程光.HTTP網絡應用特征串的自動提取[D].東南大學,2011:2.
[7]孟娟娜.淺談《IP地址與域名》[J].電子世界,2013(15):156.
[8]吳昊.基于HTTP的網絡應用分類系統[D].東南大學, 2012:14-16.
[9]王向輝.基于DPI與特征識別的P2P流量監測技術研究[D].廣西大學.2010.3-9.
[10]陳亮,龔儉,徐選.基于特征串的應用層協議識別[J].計算機工程與應用,2006(24):16-19+86.
[11]王慧謙.基于端口號、統計特征和協議特征字的實時數據流分類[D].山東大學,Y1938284.2011:8-9.
Research on Feature Character Recognition Based on HTTP Protocol
WU Huan,SONG Li,LIU Yu-zhe
(Hebei Far-east Communication System Engineering Co.Ltd,Shijiazhuang Hebei 05000,China)
In the Internet era of network application expansion,HTTP protocol is used for most web applications by virtue of its various advantages.The method of identifying application protocol by load feature characters is an important challenge faced by current DPI.To address this challenge,based on application of identification technology,the recognition software update class applications are briefly introduced,mainly to solve such two problems as low recognition rate and misrecognition in the identification process.The method of combining optimized features and match order with resource method order is used to perform application identification test. The test results show that the proposed method is feasible and the recognition method is scientific.
feature character;feature matching;resource method;recognition rate;misrecognition
TP391.4
A
1008-1739(2015)09-32-4
定稿日期:2015-04-12