彭文峰,杜中軍
(四川大學計算機學院,成都 610065)
應用層協(xié)議識別技術研究
彭文峰,杜中軍
(四川大學計算機學院,成都610065)
應用層協(xié)議識別,也稱為網絡流量分類或網絡流量識別,指在基于TCP/IP的網絡體系中,按照應用層協(xié)議類型將網絡通信過程中產生的TCP流或UDP流進行分類,從而達到清楚認識網絡傳輸的基本信息、提高網絡用戶的服務質量、加強網絡安全設備對非法入侵和攻擊的檢測能力等目的。能夠準確地識別Internet上每個流所使用的應用層協(xié)議對于網絡管理員、技術研究人員、網絡服務提供商、政府管理部門以及普通用戶都具有重要的意義,其是研究區(qū)分服務、QoS、流量監(jiān)控、安全審計、資源調度、計費管理以及用戶行為分析的重要前提和基礎。
1.1基于端口映射的識別方法
互聯網發(fā)展初期,對數據流的應用層協(xié)議識別主要是依據應用層協(xié)議綁定知名端口號的慣例來實現,它通過檢查網絡數據包包頭的源端口號和目的端口號來識別應用層協(xié)議類型。例如,DNS協(xié)議對應的端口號為53,Telnet協(xié)議對應的端口號為23等。
基于端口號的識別方法簡單快捷,計算量小,但隨著網絡應用不斷增加,很多網絡應用都不再強制應用程序與端口號綁定,而采用隨機生成的端口號,或者在數據傳輸過程中協(xié)商端口號方式來進行。例如FTP協(xié)議(PASV模式)允許通信雙方主動寫上數據流參數,隨機更改端口號以達到隱藏協(xié)議特征的目的。這些問題導致基于端口號的方法能夠正確識別的協(xié)議數量逐步減少。有研究表明,基于端口號的識別方法只能獲得小于70%的識別準確率,該方法已不再適應當前網絡的實際狀況。
1.2基于有效載荷特征的識別方法
為了解決基于端口號的識別方法存在的問題,研究者提出了基于數據包有效載荷特征的識別方法[1]。這種方法通過深包檢測技術(DPI),對網絡數據包的有效載荷中匹配已知的應用層協(xié)議特征庫,從而判定該數據包所屬網絡流對應的應用層協(xié)議。例如,如果一個網絡數據包的有效載荷以字符串“+OK”或“-ERR”開始,那么就可以判斷它是由POP3協(xié)議產生的數據包。在不考慮計算效率的情況下,其識別率接近100%。
基于有效載荷特征的識別方法憑借其高準確率和可識別協(xié)議多的優(yōu)點,經常被當作判別其他識別方法準確性和完備性的度量真值。此外,該方法的更新升級(向系統(tǒng)中添加新的協(xié)議特征或修改已有協(xié)議的識別方法或其正則表達式)很方便,且易于軟硬件實現,是目前網絡工程界應用最廣泛的方法。然而,該方法仍然存在以下不足:一是在有效載荷特征匹配和分析的過程中可能掃描部分或全部有效載荷,需要很大的計算量,系統(tǒng)開銷大;二是若數據包在傳輸過程中經過了二次封裝或加密,則該方法失效;三是分析數據包有效載荷的過程,窺探了用戶隱私,可能涉及法律和道德問題。
1.3基于流動態(tài)行為特征的協(xié)議識別方法
流動態(tài)行為特征識別技術又稱DFI(深度/動態(tài)流檢測)識別技術[2~3]或基于機器學習的識別技術[4]。該技術利用統(tǒng)計學原理,通過分析協(xié)議流特征如IP地址、端口數量、報文長度、流生成周期等統(tǒng)計狀態(tài)來達到協(xié)議識別的目的。例如,FTP協(xié)議進行數據傳輸時,平均數據包長度都比較大;而使用MSN聊天所產生的網絡流的平均數據包長度都比較小,即不同網絡應用所產生的網絡流在統(tǒng)計特征上會呈現出不同的規(guī)律。類似的,每個流中數據包的平均到達間隔、數量和大小、不同所產生的數據流的持續(xù)時間等也不盡相同,這些都可以作為區(qū)分不同應用層協(xié)議的統(tǒng)計特征。該方法通常使用機器學習、特征統(tǒng)計或基于隱式馬爾可夫模型等方法對流進行分類,首先從訓練的流量數據集(即樣本)中提取協(xié)議特征,然后將這些特征用于訓練來產生分類器,最后,用生成的分類器對隨后的未知流量進行識別。
基于流量動態(tài)行為特征的網絡協(xié)議識別技術的優(yōu)點在于:一是降低了人工分析的難度,自動化程度較高;二是不依賴于數據包有效載荷的內容,其識別準確率主要取決于統(tǒng)計特征、分類模型和訓練樣本的選取,在一定程度上可識別加密、異?;蛭粗牧髁俊H菂f(xié)議的升級更新對此識別技術的影響不大;四是計算和存儲開銷小,維護工作量低,效率和安全性更高。同時,該識別技術也具有以下的一些缺陷:一是樣本數據采集繁瑣,多數情況下很難找到與真實情況接近的樣本;二是對算法要求較高,相同的樣本數據,相同的流量行為特征,基于不同的算法,協(xié)議識別的效果也不同;三是識別的準確率不如基于有效載荷特征的識別方法高,且只能識別大概的應用類別,很難精確到具體應用層協(xié)議。例如,這類方法能夠區(qū)分基于P2P協(xié)議的流量與其他流量,但無法分辨具體是哪種P2P協(xié)議;四是網絡流特征的采集需要傳輸的網絡流量達到一定程度,因此識別延遲較大,很難達到在線實時分類和處理的要求。
1.4基于主機行為的識別方法
隨著行為學在網絡行為方面的應用,研究者開始關注網絡行為模式,試圖利用網絡數據包的五元組(源IP、目的IP、源端口號、目的端口號、傳輸層協(xié)議)信息來分析主機之間的交互行為,不同的網絡應用表現出來的交互行為不盡相同。此識別方法通過采取觀測網絡中單個主機在傳輸層的行為模式、捕捉主機在全網范圍內交互行為的流量傳播圖、利用連接同質性即公共主機之間所產生的流屬于同一個應用的趨向性等為重點來進行應用層協(xié)議識別。
基于主機行為的識別方法的優(yōu)點在于不依賴于網絡數據包有效載荷里的內容,具有良好的可擴展性,且能很好地保護用戶私隱。然而,這類方法往往需要手動設定一些閾值,例如BLINC方法需要設置28個閾值參數才能達到最好的識別效果。其次,描述主機之間的交互需要收集許多網絡流的信息,這使得此類方法的實時性較差。第三,這類方法會因為網絡環(huán)境的不同而導致識別性能發(fā)生顯著的變化,通用性較差。第四,網絡地址轉換等網絡安全技術的干擾很容易令此類方法失效。
應用層協(xié)議識別技術進一步研究可以向三個方向發(fā)展:一是基于有效載荷特征的識別方法如何在保證用戶隱私不受侵犯或少受侵犯的前提下,降低系統(tǒng)消耗并提高識別準確率。二是基于流量動態(tài)行為特征的協(xié)議識別技術本質上屬于模式識別問題,可以使用支持向量機SVM方法對流量進行分類識別,它在解決小樣本、非線性及高維模式識別中表現出許多其特有的優(yōu)勢。三是進一步研究如何更好地結合各類算法,使其優(yōu)勢互補,提高協(xié)議識別系統(tǒng)的可擴展性、覆蓋全面性和識別準確率。
[1]Dreger H,Feldmann A,Mai M,Paxson V,Sommer R.Dynamic Application-Layer Protocol Analysis for Network Intrusion Detection [C].USENXI Security Symposium(USENIX Security),2006
[2]孫海波.基于協(xié)議行為特征的協(xié)議識別方法.全國網絡與信息安全技術研討會,2007
[3]王巖,劉乃安.應用層協(xié)議識別技術研究.西安電子科技大學2012學位論文
[4]Karagiannis T,Papagiannaki K and Faloutsos M.BLINC:Multilevel Traffic Classification in the Dark.In Proceedings of ACM SIGCOMM,229~240,Philadelphia,Pennsylvania,USA.August 21~26,2005
Protocol Identification;Port Mapping;Payload Characteristic;Flow Dynamic Behavior Characteristics;Host Behavior
Research on the Application Layer Protocol Identification Technology
PENG Wen-feng,DU Zhong-jun
(College of Computer Science,Sichuan University,Chengdu 610065)
1007-1423(2015)08-0068-03
10.3969/j.issn.1007-1423.2015.08.016
彭文峰(1984-),男,重慶南岸人,碩士研究生,研究方向為計算機應用
2015-03-01
2015-03-10
應用層協(xié)議識別作為當前網絡測量管理與網絡安全研究領域的熱點問題,其相關技術研究對整個互聯網的可管理性、安全性和規(guī)范性具有重要的理論意義和應用價值。重點介紹基于端口映射、基于有效載荷特征、基于流動態(tài)行為特征、基于主機行為等幾種主要的協(xié)議識別方法,總結分析它們的工作原理和優(yōu)缺點,并對進一步研究學習方向提出建議。
協(xié)議識別;端口映射;有效載荷特征;流動態(tài)行為特征;主機行為
As the current network measurement management and hot issues in the field of network security research,the related technology research on application layer protocol identification has important theoretical significance to the entire Internet manageability,security,and normative.Mainly introduces several layer protocol identification methods based on the port mapping,payload characteristic and flow dynamic behavior characteristics,and based on the host behavior identification.Analyzes and summarizes the working principle and advantages,proposes the suggestions for the further research.