陳 暉,唐 勇
CHEN Hui1, TANG Yong2
(1. 四川大學 電氣信息學院,成都 610065;2. 中科院 成都計算機應用技術研究所,成都 610041)
隨著網絡應用的發展,給網絡的安全管理帶來了許多新的問題。一些新的更復雜的安全風險隱藏在各個應用中,與應用密不可分。譬如,基于Web服務的安全漏洞及利用這些漏洞的攻擊越來越多。一些未受控的應用,占用正常應用帶寬,如在企業網中,基于P2P的下載、娛樂占用大量的帶寬。如何針對這些問題進行應用管理的基礎在于應用識別及分類。
應用識別及分類的關鍵技術是協議識別,協議識別方法主要有基于IP/端口識別技術、基于行為模式識別技術、基于統計信息識別技術和基于DPI(深度包檢測)識別技術。
基于IP/端口識別技術利用的是某些軟件使用固定端口及服務器IP可窮舉的特點,人工統計IP/端口信息,一旦發現有連接匹配信息就能夠識別出相應的應用。由于該基于IP/端口識別模式使用的IP/端口特征碼本身就是用于描述連接信息,因此IP/端口識別技術不具備連接內進一步分析的能力,進而不適用于連接重用情況。
基于行為模式識別技術和基于統計信息識別技術利用的是某些網絡軟件和用戶行為的特定規律進行識別,不具有通用性且識別精度也很難滿足商業化需求。且基于行為模式識別技術和基于統計信息識別技術的控制策略都是基于網絡節點或連接,因此即使這兩種識別技術能夠識別單連接上的多種用戶行為也無法通過制定策略進行區別控制。
基于DPI識別技術利用數據包載荷的固定特征進行識別,識別結果精確可靠。但是DPI本身存在效率低下的缺點,而且策略控制上同樣存在困難。
目前傳統協議識別技術大多受到連接的限制,能夠識別出連接使用的協議,卻無法進一步識別連接內的信息。對于一條連接只對應一種行為來說,用戶行為能夠通過識別一條或多條連接來確定。對于一條連接對應多種行為(連接重用),由于連接重用可以隱匿用戶的網絡行為,僅僅通過識別連接使用的協議是無法確定用戶正在進行的真實操作。如何在連接重用的情況下有效地區分其中的合法行為與非法行為,提升原有系統的應用協議識別及應用分類的精準度,是網絡行為分析的重要目的與重大難點。
針對以上問題,本文提供了一種高效的識別同一連接中不同用戶行為的方法,從而做到有效控制非法行為。
XAI全稱Extensive Application Inspection,拓展應用識別技術。XAI技術是在DPI技術的基礎上發展起來的,它繼承了傳統DPI的所有功能,并在此基礎上更進一步,將應用層識別的范疇進行了擴展,將網絡流量中的更多的信息挖掘出來,提供了深層應用信息識別、攻擊/威脅識別、拓撲識別等更加豐富和強大應用層識別能力。從而使產品能夠進行更精細的分析、管理、保障和統計。
XAI技術針對DPI技術從兩個方面進行優化和改進。
通過XAI技術,可以從相同的網絡流量中挖掘出更深層次的信息和更豐富的數據,更好地為客戶創造價值。
具體來說,XAI技術可以提供以下四個方面的信息。
1) 應用識別
XAI技術不僅繼承了傳統DPI所支持的所有識別技術,包括報文特征識別和流特征識別等,而且在許多方面更進一步,使得XAI技術的識別準確度更高,識別能力更強。
2) 深層應用信息識別
XAI技術能夠在應用識別基礎之上,進一步識別內容層次和行為層次的描述信息,比如:HTTP瀏覽的具體行為,IM的帳號信息、聊天行為等;這就使產品不僅能針對應用,而且能更進一步針對深層應用信息進行分析、管理、保障和優化。
3) 攻擊/威脅識別
XAI技術可從應用流量中識別網絡中的非法入侵和惡意腳本(惡意腳本,惡意郵件,惡意插件等),為網絡安全保障提供預警和管理。
4) 拓撲識別
XAI 技術可以識別流量的位置信息,比如移動網絡的蜂窩、WLAN 節點等,為運營商或IT管理部門提供分區域監控和管理能力。
XAI技術通過四川電力在各產品線,對從企業網到運營商網絡,從寬帶互聯網到移動互聯網、WLAN的應用層管理提供了全方位的技術支持。通過XAI技術提供的更細致和更豐富的信息,可以進行更細粒度和更具差異化的策略控制,更好地為客戶提供以下價值。
1) 基于應用協議以及應用內容、應用行為等深層次應用信息的分析、管理、保障和優化;
2) 基于應用流量的攻擊/威脅識別,更好地防止網絡入侵,為網絡安全保障提供預警和管理;
3) 基于應用內容識別,提供數據防護、關鍵帳號安全防護的能力;
4) 基于應用行為的識別,提供對應用行為的控制能力,防止非業務應用和非法應用,提高工作效率;
5) 基于對應用內容的識別,提供應用層防泄密、控制關鍵文件資料的外發的能力;
6) 基于應用流量的拓撲識別,提供對應用流量進行分區域控制的能力。
現在互聯網主要的工作在TCP和UDP協議上,這兩種協議的基礎就是網絡連接。只有用戶和服務提供者建立了連接,才能獲取網絡服務和信息。而連接是由一系列數據包構成的。在以往DPI的設計邏輯中,通常假設在單一連接上傳遞的數據包都是用于同一用途的。比如,一條P2P連接全部由P2P數據包構成。
但是隨著網絡技術的發展,很多網站開始嘗試使用連接復用的方式提供服務,即在一條連接上提供不同種類、不同功能的數據包。并且由于分類的細化,很多場景下用戶希望知道更為具體的行為,即使這些行為數據包位于同一連接上。在這種情況下,單一的連接識別方式在很多情況下已經不能滿足用戶的需要,需要對每個特定的數據包進行分析。在這種情況下,我們設計了基于數據包細分的新分類模式,對每個數據包進行分析。當然,數據包仍然不能游離與連接之外,因此這種新模式也充分利用了已有的基于連接的分類模式。用戶可以通過特征庫配置的方式為每條連接在這兩種模式間自由切換。
新模式的工作原理如下:首先定義一組起點特征,這些特征和以前的連接特征一樣,但是在匹配后,它們將激活新分類模式、為連接設置基礎特征、選擇后續數據包需要使用的細分特征庫。連接的基礎特征是連接的一種屬性,一般是一種能夠涵蓋該連接所有可能性的特征,比如視頻、游戲、P2P,或者服務提供商的信息,比如某網站或者某游戲。基礎特征可以保存連接的基本屬性,如果后續數據包無法分類,我們仍然可以為審計模塊提供一個基礎的分類結果。同時,也可以定義一組結束特征,這組特征可以停止基于數據包的分類,一般用在性質比較強的數據包類型上,比如木馬、違法內容,也可以使用用戶下線等關鍵節點。圖解如圖1所示。
下面舉例說明:假設有一條連接,分別提供A、B、C三種視頻服務,在DPI的基于連接模式下,這條連接會被表示為第一個看的的特征,假設為A。然后假定這條連接都提供的是A這種視頻服務,停止分析。或者是給這條連接賦上高一級的特征,即視頻。都無法具體分類出出現的視頻服務種類。在新的框架下,當XAI引擎發現連接中出現A服務(假設為起點特征)時,如果在配置里面指定了這種服務,引擎會馬上切換到基于數據包的細分模式,同時把這條連接標識成為視頻服務,繼續分析后續數據包。后續的數據包將只使用視頻的特征進行分析,當發現服務B時,連接上會記錄服務B出現,同時把該數據包表示為服務B,送往統計、控制或者日志模塊。如果在后續數據包中未發現A、B、C任何一種服務,數據包會讀取連接的基礎特征,這種情況下為視頻,以避免審計模塊出現漏審。如果我們設置了結束特征,比如服務C,那么當發現服務C的存在時,引擎切換回基于連接的分類方式,后續數據包的分類結果將不再改變。

圖1 新模式工作原理示意圖
本文設計并實現了一種全新的基于XAI技術實現的應用識別及分類方法,通過標記不同的狀態特征來區分同一連接中的不同應用,解決了連接共享類應用的識別難題,狀態特征通過字符序列多維度圖的結構來存儲,保證了在大特征集合下的匹配速度。與傳統的應用識別及分類方法如基于IP/端口識別技術、基于行為模式識別技術、基于統計信息識別技術、基于DPI(深度包檢測)識別技術相比,解決了連接重用情況下傳統協議識別技術無法有效區分合法行為和非法行為的問題。
[1]智能流量管理技術實現篇之XAI識別技術. http://tech.ccident.com/art/3735/20110718/2440473_1.html.
[2]崔志磊. 基于行為模式的計算機安全策略研究[J]. 蘇州市職業大學學報, 2007, 18(3): 54-55.
[3]連一峰. 基于模式挖掘的用戶行為異常檢測[J]. 計算機學報 報, 2002, 25(3): 325-330.
[4]Pei J, Han J, Mortazavi-Asl B, et al. Prefix Span:Mining Sequential Patterns Efficiently by Prefix- Projected Pattern Growth [C]. Proc. of 2001 Int. Conf. on Data Eng.,Heidelberg, Germany, 2001: 215-224.
[5]Taylor D E,Tumer J S.ClassBench: A packet classification benchmark[C]//IEEE/ACM Transactions on Networking,New York, 2007: 499-511.