應(yīng)用流量識別的難度及對策
摘要: 在網(wǎng)絡(luò)的入口處對應(yīng)用程序的識別是非常重要的,無論是網(wǎng)絡(luò)安全產(chǎn)品,還是專業(yè)的流量分析引擎,應(yīng)用流量的準(zhǔn)確識別不但可洞悉整個網(wǎng)絡(luò)的運行情況,而且可針對具體需求做用戶行為的準(zhǔn)確管控,這在一定程度上既可保證業(yè)務(wù)流的高效運行,也可預(yù)防由于內(nèi)網(wǎng)中毒引起的斷網(wǎng)事件。
Abstract:
Key words :
在網(wǎng)絡(luò)的入口處對應(yīng)用程序的識別是非常重要的,無論是網(wǎng)絡(luò)安全產(chǎn)品,還是專業(yè)的流量分析引擎,應(yīng)用流量的準(zhǔn)確識別不但可洞悉整個網(wǎng)絡(luò)的運行情況,而且可針對具體需求做用戶行為的準(zhǔn)確管控,這在一定程度上既可保證業(yè)務(wù)流的高效運行,也可預(yù)防由于內(nèi)網(wǎng)中毒引起的斷網(wǎng)事件。
然而,要準(zhǔn)確識別應(yīng)用流量,從技術(shù)實現(xiàn)上講并不簡單,難度主要體現(xiàn)在識別的算法及檢測深度。算法不但要解決流量的分類,而且要負(fù)責(zé)在多個分類中查找特征,所以最好的算法往往帶來的是精確的識別;另一個就是檢查數(shù)據(jù)的深度,深度總是和性能關(guān)聯(lián),檢查的越多,消耗的系統(tǒng)資源越多。因此,檢查一個流的前20個包所付出的性能代價往往是超乎想象的,這就是我們提到的識別難度。
對于識別方法來說,從技術(shù)角度看,檢查一個應(yīng)用特征主要有三種方法。第一種方法稱為標(biāo)準(zhǔn)檢測,主要靠識別報頭信息的地址和端口,這種方法常見于做QoS的網(wǎng)關(guān)設(shè)備。第二種方法稱為DPI(深度包檢測),這是業(yè)界常用的術(shù)語,絕大多數(shù)設(shè)備聲稱具有這樣的技術(shù),常見于“下一代內(nèi)容檢測系統(tǒng)”及UTM類設(shè)備。從理論上,數(shù)據(jù)流中每個報文的任意字段或數(shù)據(jù)流傳輸過程中的任何特征都可以作為應(yīng)用協(xié)議識別的依據(jù),但實際上,如何快速選擇最有效的數(shù)據(jù)流特征信息的難度遠(yuǎn)遠(yuǎn)超過了您的想象。第三種方法稱為解密檢測方法,就是將數(shù)據(jù)流送入一個分類器,數(shù)據(jù)流被分類之后,將加密數(shù)據(jù)流送入一個解密引擎,解密引擎通過預(yù)置的解密算法對數(shù)據(jù)解密,解密后再次返回分類器進(jìn)行檢查。如天融信TopFlow就采用這種技術(shù)來識別加密數(shù)據(jù),通過這種獨有的技術(shù),使得精確識別率能達(dá)到99%以上。
當(dāng)然,在我們介紹應(yīng)用流量識別時有幾個概念需要介紹:
數(shù)據(jù)流:基于應(yīng)用層協(xié)議識別的對象不能只是簡單的檢查單個報文,而是要將數(shù)據(jù)流作為一個整體來檢測。因此,數(shù)據(jù)流是指在某個會話生命周期內(nèi),通過網(wǎng)絡(luò)上一個檢測節(jié)點的IP數(shù)據(jù)報文的集合。實際上,一個節(jié)點發(fā)送的數(shù)據(jù)流的所有屬性是相同的。
數(shù)據(jù)流分類:利用數(shù)據(jù)流以及數(shù)據(jù)流中報文的某些信息,可將網(wǎng)絡(luò)上的數(shù)據(jù)流進(jìn)行分類,這種分類可加速應(yīng)用流量的分類,如游戲應(yīng)用數(shù)據(jù)流通常是小報文,而P2P流一般稱為大報文。
數(shù)據(jù)流類別:數(shù)據(jù)流類別是一個大型網(wǎng)狀結(jié)構(gòu)的分類器,按照行為特征及簽名進(jìn)行歸類。在數(shù)據(jù)流分類問題中,每個類別可能包含某些屬性類似的多種協(xié)議,典型的如IE下載即包括了多個類別,有分塊下載,有偽IE下載等,有另存單線程下載等,而協(xié)議識別必須對流進(jìn)行更精細(xì)的分類,使得每個類別中的流只使用一種應(yīng)用層協(xié)議。
協(xié)議識別:協(xié)議識別是指檢測引擎根據(jù)協(xié)議特征,識別出網(wǎng)絡(luò)數(shù)據(jù)流使用的應(yīng)用層協(xié)議。
應(yīng)用協(xié)議特征字符串:特征字符串是協(xié)議歸類的關(guān)鍵依據(jù),字符串特征舉例協(xié)議特征字符串
ftp特征字符串a(chǎn)cct、cwd、smnt、port;
smtp特征字符串HELO、EHLO、MAIL FROM:、RCPT TO:、VRFY、EXPN;
pop3特征字符串+OK、-ERR、APOP、TOP、UIDL;
msn 特征字符串包括msg、nln、out、qng、ver、msnp;
OICQ特征字符串開頭第一個字節(jié):0x02,第四、五字節(jié):協(xié)議號;
sip特征字符串REGISTER、INVITE、ACK、BYE、CANCEL、SIP;
eMule特征字符串開頭第一個字節(jié):0xe3 或 0xc5 或 0xd4;
應(yīng)用流量協(xié)議特征檢測方法
數(shù)據(jù)流檢測方法主要分為四個層次,讓我們描述一下從最簡單到最復(fù)雜的檢測過程。
首先,互聯(lián)網(wǎng)眾所周知的網(wǎng)絡(luò)應(yīng)用都是建立在固定網(wǎng)絡(luò)協(xié)議或端口上,如http、ftp等等常用協(xié)議,這些協(xié)議的特征非常明顯,在一定程度上幾乎不使用檢測引擎就可識別。
其次,但當(dāng)應(yīng)用變得復(fù)雜時,很多應(yīng)用都會啟用隨機端口進(jìn)行通信,因此,新啟用的端口我們事先無法預(yù)知,此時DPI必須實時監(jiān)控會話,通過監(jiān)測數(shù)以千計的并發(fā)會話來判斷其應(yīng)用特征。
很多新的網(wǎng)絡(luò)應(yīng)用偽裝使用已知的固定端口,如使用80、8080、443等知名端口,特別像使用80端口的偽裝,偽裝的目的首先是被防火墻認(rèn)可,不至于在防火墻上被阻斷,被作為正常的web訪問而通行。這種應(yīng)用如P2P偽裝、視頻偽裝,都使用這些知名端口。此時設(shè)備需要在多個會話中開始尋找所謂的簽名,通常這是一個復(fù)雜的字符串,是檢測引擎預(yù)先定義好的,而且是唯一一個應(yīng)用。隨著應(yīng)用的增加,DPI特征庫需要不斷更新。如下圖迅雷采用偽IE下載就屬于典型的偽裝。
第三,對于完全加密的應(yīng)用,我們稱為加密流,對于加密數(shù)據(jù)流,去尋求一個端口或簽名是毫無意義的。因此,檢測引擎需要開發(fā)出一種新方法,著眼于數(shù)據(jù)包長度和它們的順序排序。而實際上,其中的一些加密應(yīng)用總是使用同一系列的包長度、在同一位置、在同一順序,這就是所謂的行為特征。通常,檢測引擎能夠這些加密流進(jìn)行行為分析,而實際上,這里存在兩個難度,一個是加密流特征字符串的獲取本身需要扎實的獨特的算法,另外,單單對于位置的檢測還遠(yuǎn)遠(yuǎn)不夠,如加密傳輸?shù)膽?yīng)用協(xié)議的加密方法幾乎每周都在變換位置,而天融信TopFlow獨特的算法不但能對加密數(shù)據(jù)流的位置進(jìn)行檢查,而且能對加密數(shù)據(jù)流進(jìn)行解密,這使得他對應(yīng)用的識別率可高達(dá)99%以上。
如何評價應(yīng)用識別引擎:
應(yīng)用識別引擎是應(yīng)用流量管理系統(tǒng)的核心,所以下面五點則能較好的評價產(chǎn)品。
第一、應(yīng)用程序的識別數(shù)量多少,特別對復(fù)雜協(xié)議及新協(xié)議的識別數(shù)量成為產(chǎn)品的核心,而不是單單用端口號來標(biāo)識的簡單應(yīng)用或標(biāo)準(zhǔn)應(yīng)用。
第二、應(yīng)用協(xié)議識別的準(zhǔn)確性。一個好的引擎或好的算法才能保證低的誤報和漏報。
第三、應(yīng)用檢測的時間消耗。一個好的引擎能夠花費很少的時間即可檢查出特征。
第四、對高性能和高帶寬處理。一個好的引擎才能部署到大的網(wǎng)絡(luò)環(huán)境中,如高校、大集團用戶、運營商網(wǎng)絡(luò)。
第五、協(xié)議庫更新的頻率及協(xié)議庫庫更新的難易程度。一個好的引擎才能保證協(xié)議庫的更新有驗證、計算、校對,使系統(tǒng)不斷網(wǎng)、不重啟,即使出現(xiàn)升級失敗,也能保證原有特征庫不被損壞,正常運行。
天融信TopFlow應(yīng)用流量管理系統(tǒng)通過天融信公司近17年的技術(shù)積累,對多達(dá)數(shù)萬用戶應(yīng)用的分析、歸納,并在天融信自主操作系統(tǒng)TOS基礎(chǔ)上開發(fā)的基于用戶應(yīng)用分析及管控的系統(tǒng)。TopFlow依靠自主知識產(chǎn)權(quán)的 TOS (Topsec Operating System) 安全操作系統(tǒng),采用全模塊化設(shè)計,使用中間層理念,減少系統(tǒng)對硬件的依賴性,使得內(nèi)核更為精簡和優(yōu)化,特別在天融信多核處理硬件平臺上,通過大量的協(xié)議棧優(yōu)化,針對高性能處理需求進(jìn)行了中斷處理和驅(qū)動優(yōu)化,保證系統(tǒng)在天融信專有多核處理平臺上,數(shù)據(jù)以最快速度執(zhí)行、以較高優(yōu)先級運行、以超高速放行。
通過完善的應(yīng)用協(xié)議特征庫檢測和偽裝探測技術(shù),并采用(DPI)深度包檢測技術(shù)來識別各種用戶應(yīng)用,應(yīng)用識別率超過99%。特別對采用逃避技術(shù)的加密協(xié)議進(jìn)行精準(zhǔn)識別,如采用加密傳輸?shù)难咐讌f(xié)議族、QVOD視頻等等加密類協(xié)議進(jìn)行及時而精準(zhǔn)識別,這是其他產(chǎn)品技術(shù)所不能比擬的。
此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。