基于協(xié)議行為分析的web隧道檢測方法
【專利摘要】本發(fā)明公開了一種基于協(xié)議行為分析的WEB隧道檢測方法,包括以下步驟:(1)獲取HTTP和HTTPS正常通信中的統(tǒng)計特征;(2)生成少量隧道會話,與少量已采集的正常會話一起作為訓練會話樣本;使用會話樣本統(tǒng)計特征對一個兩類別SVM分類器進行訓練;(3)使用WEB隧道檢測設備捕獲可疑HTTP和HTTPS通信流量,對流量進行協(xié)議會話劃分;將使用待檢測的可疑協(xié)議會話特征通過訓練好的SVM分類器進行分類,確定該會話是否為隧道通信。相比于現(xiàn)有的網(wǎng)絡隧道檢測技術,在同樣的數(shù)據(jù)條件限制下,該方法檢測效率更高。
【專利說明】基于協(xié)議行為分析的[8隧道檢測方法
【技術領域】
[0001]本發(fā)明屬于泛在網(wǎng)絡安全【技術領域】,具體涉及一種基于協(xié)議行為分析的128隧道檢測方法。
【背景技術】
[0002]長期以來,網(wǎng)絡隧道技術一直都是網(wǎng)絡攻擊的一種主要方式。利用網(wǎng)絡隧道技術,攻擊者可以向目標機器植入病毒,泄露用戶個人隱私信息以及盜取機密文件。隨著當代網(wǎng)絡通信的迅速發(fā)展以及網(wǎng)絡流量的指數(shù)型增長,網(wǎng)絡隧道攻擊行為的隱蔽性也越來越高。由于具有易于實施和難于檢測的特點,該網(wǎng)絡攻擊技術一直都是網(wǎng)絡保護和網(wǎng)絡管理中的棘手問題。網(wǎng)絡隧道主要是在合法網(wǎng)絡協(xié)議的應用層數(shù)據(jù)中嵌入非法通信數(shù)據(jù),從而達到通信偽裝,繞過網(wǎng)絡防御的目的?;诿魑膽脤訁f(xié)議的網(wǎng)絡隧道為明文隧道,基于加密應用層協(xié)議的網(wǎng)絡隧道為密文隧道。
[0003]現(xiàn)有的用于保護網(wǎng)絡邊界安全的防火墻和應用級網(wǎng)關可以成功檢測樸素的網(wǎng)絡攻擊,如直接從惡意網(wǎng)站上加載不安全代碼以及從外部主機發(fā)起的對內(nèi)部主機的非法訪問。從現(xiàn)有的技術實現(xiàn)來看,大多數(shù)防火墻和應用級網(wǎng)關是通過限制外部訪問I?、端口或者協(xié)議來截斷不可靠通信,從而達到包過濾的效果。這些通用的簡單粗暴的被動檢測方法雖然能夠在一定程度上通過可疑數(shù)據(jù)包過濾的策略達到維護網(wǎng)絡安全的目的,但是此策略并不能挫敗一些諸如網(wǎng)絡隧道和隱信道的高級網(wǎng)絡攻擊技術,并且該策略也會直接截斷一些陌生通信源發(fā)起的合法通信連接,給用戶帶來極不友好的應用體驗。因此,近年來基于深度報文檢測的智能包過濾技術成為了防火墻和應用級網(wǎng)關的主要發(fā)展方向。該技術采用主動積極的網(wǎng)絡數(shù)據(jù)包檢測防御策略,因此,在通信源陌生的情況下不會對數(shù)據(jù)包進行粗暴過濾,從而保證用戶正常的合法通信不受干擾。該技術在實現(xiàn)傳統(tǒng)包過濾技術所具有的基本的網(wǎng)絡通信惡意內(nèi)容檢測能力的同時,也能夠很好地捕捉到一些隱信道和明文隧道數(shù)據(jù)流。對于隱信道,深度報文檢測技術可以直接檢測網(wǎng)絡數(shù)據(jù)報文中的未使用或者冗余字段,從而發(fā)現(xiàn)協(xié)議存儲類隱蔽通信的痕跡。例如針對扣?(傳輸控制協(xié)議)報文和I?(網(wǎng)際協(xié)議)報文頭部格式字段的檢測和分析。對于明文隧道,深度報文檢測技術可以用基于報文特征字段的模式匹配方法進行通信實質(zhì)語義分析,從而發(fā)現(xiàn)明文協(xié)議下的網(wǎng)絡隧道。例如若內(nèi)網(wǎng)主機向外網(wǎng)主機的80端口發(fā)起訪問,則該技術會對此通信的數(shù)據(jù)包內(nèi)容進行通信實質(zhì)分析,判斷其是否是在進行真正的肌了?(超文本傳輸協(xié)議)通信。
[0004]雖然現(xiàn)有的深度報文檢測技術在很大程度上已經(jīng)能夠滿足網(wǎng)絡安全防護的多種需求,但是隨著網(wǎng)絡加密協(xié)議的快速發(fā)展,該技術也遇到了前所未有的挑戰(zhàn)。由于當代網(wǎng)絡對于通信安全和隱私的保護觀念越來越強,近年來應用層的加密協(xié)議得到了非??焖俚陌l(fā)展和普及,例如3別(安全外殼協(xié)議)和!(安全超文本傳輸協(xié)議在加密協(xié)議中,深度報文檢測技術無法讀取應用層數(shù)據(jù),因此密文隧道成為了網(wǎng)絡安全檢測的盲區(qū)。針對兩種網(wǎng)絡隧道,各國學者也從數(shù)據(jù)流量分析的角度進行了深入研究,提出了一些較為有效的通用的線下分析方法。其中效果最好的為01181等人提出的基于流量模型訓練的通信指紋識別法[Maurizio Dusi, Manuel Crotti, Francesco Gringoli, LucaSalgarelIi,“Tunnel Hunter:Detecting application-layer tunnels with statisticalfingerprinting”, 2009ELSEVIER]。雖然該方法對明文和密文兩種網(wǎng)絡隧道都取得了近99%的檢測準確率,但是由于該方法并沒有對應用層協(xié)議的通信本質(zhì)和通信行為進行科學的分析,導致其流量模型訓練的效率很低,在達到檢測目的的同時要消耗大量的訓練數(shù)據(jù)和訓練時間。在有限的數(shù)據(jù)資源下,該方法的效果并不令人滿意。因此,設計一種相對高效的針對兩種網(wǎng)絡隧道的線下檢測方法將具有良好的應用前景。
【發(fā)明內(nèi)容】
[0005]本發(fā)明目的在于提供一種基于協(xié)議行為分析的WEB隧道檢測方法,解決了現(xiàn)有線下檢測方法需要消耗大量的訓練數(shù)據(jù)和訓練時間、檢測效率低等問題。
[0006]為了解決現(xiàn)有技術中的這些問題,本發(fā)明提供的技術方案如下:
[0007]一種基于協(xié)議行為分析的WEB隧道檢測方法,其特征在于所述方法包括以下步驟:
[0008](I)采集本地局域網(wǎng)內(nèi)網(wǎng)的HTTP和HTTPS正常通信流量,對流量進行協(xié)議會話劃分和TCP數(shù)據(jù)包分類,獲取HTTP和HTTPS正常通信中的統(tǒng)計特征;
[0009](2)使用HTTP和HTTPS隧道通信工具軟件生成少量隧道會話,與少量已采集的正常會話一起作為訓練會話樣本;使用會話樣本中TCP連接的交互信息和已獲取的正常通信中的統(tǒng)計特征提取每個會話的請求平均長度、請求長度方差、響應平均長度、響應長度方差、TCP數(shù)據(jù)包的分布偏差、TCP數(shù)據(jù)包的配對熵以及TCP數(shù)據(jù)包的互信息距離特征,通過這些特征對一個兩類別SVM分類器進行訓練;
[0010](3)使用WEB隧道檢測設備捕獲可疑HTTP和HTTPS通信流量,對流量進行協(xié)議會話劃分;使用待檢測的可疑協(xié)議會話中TCP連接的交互信息和已獲取的正常通信中的統(tǒng)計特征提取每個待測會話的請求平均長度、請求長度方差、響應平均長度、響應長度方差、TCP數(shù)據(jù)包的分布偏差、TCP數(shù)據(jù)包的配對熵以及TCP數(shù)據(jù)包的互信息距離特征,將這些特征通過訓練好的SVM分類器進行分類,確定該會話是否為隧道通信;
[0011]其中將在一對主機的HTTP或HTTPS通信中,時間間隔少于或等于10秒的客戶端資源請求及其所對應的服務器響應記作一次協(xié)議會話。
[0012]優(yōu)選的技術方案是:所述方法步驟(I)中假設獲得的所有通信流量中TCP協(xié)議包定義為一個三元組:長度,間隔及方向;其中長度表示TCP數(shù)據(jù)包的實際載荷長度,間隔表示該數(shù)據(jù)包與本次會話中的前一個數(shù)據(jù)包的時間間隔;方向表示該數(shù)據(jù)包是從客戶端發(fā)送給服務器還是從服務器發(fā)送給客戶端;則進行數(shù)據(jù)包分類按照如下步驟進行:
[0013]I)如果TCP數(shù)據(jù)包的實際載荷長度為0,則判斷TCP數(shù)據(jù)包為TCP控制報文,與應用層協(xié)議無關,予以全部剔除;
[0014]2)如果TCP數(shù)據(jù)包的實際載荷長度不為0,則按照長度、間隔和方向進行分類。
[0015]優(yōu)選的技術方案是:所述方法步驟2)中采用核密度估計概率密度下的累積概率平分法對數(shù)據(jù)包的長度和間隔進行分類,具體按照如下步驟進行:
[0016]A)對于HTTP和HTTPS正常通信流量中每一個新出現(xiàn)的TCP數(shù)據(jù)包的長度值或間隔值,假設其他TCP數(shù)據(jù)包的長度和間隔以該值為均值呈標準正態(tài)分布;按此規(guī)則進行加權累加,從而得到長度和間隔的概率分布函數(shù),即:
【權利要求】
1.一種基于協(xié)議行為分析的WEB隧道檢測方法,其特征在于所述方法包括以下步驟: (1)采集本地局域網(wǎng)內(nèi)網(wǎng)的HTTP和HTTPS正常通信流量,對流量進行協(xié)議會話劃分和TCP數(shù)據(jù)包分類,獲取HTTP和HTTPS正常通信中的統(tǒng)計特征; (2)使用HTTP和HTTPS隧道通信工具生成隧道會話,與已采集的正常會話一起作為訓練會話樣本;使用會話樣本中TCP連接的交互信息和已獲取的正常通信中的統(tǒng)計特征提取每個會話的請求平均長度、請求長度方差、響應平均長度、響應長度方差、TCP數(shù)據(jù)包的分布偏差、TCP數(shù)據(jù)包的配對熵以及TCP數(shù)據(jù)包的互信息距離特征,通過這些特征對一個兩類別SVM分類器進行訓練; (3)使用WEB隧道檢測設備捕獲可疑HTTP和HTTPS通信流量,對流量進行協(xié)議會話劃分;使用待檢測的可疑協(xié)議會話中TCP連接的交互信息和已獲取的正常通信中的統(tǒng)計特征提取每個待測會話的請求平均長度、請求長度方差、響應平均長度、響應長度方差、TCP數(shù)據(jù)包的分布偏差、TCP數(shù)據(jù)包的配對熵以及TCP數(shù)據(jù)包的互信息距離特征,將這些特征通過訓練好的SVM分類器進行分類,確定該會話是否為隧道通信; 其中將在一對主機的HTTP或HTTPS通信中,時間間隔少于或等于10秒的客戶端資源請求及其所對應的服務器響應記作一次協(xié)議會話。
2.根據(jù)權利要求1所述的WEB隧道檢測方法,其特征在于所述方法步驟(1)中假設獲得的所有通信流量中TCP協(xié)議包定義為一個三元組:長度,間隔及方向;其中長度表示TCP數(shù)據(jù)包的實際載荷長度,間隔表示該數(shù)據(jù)包與本次會話中的前一個數(shù)據(jù)包的時間間隔;方向表示該數(shù)據(jù)包是從客戶端發(fā)送給服務器還是從服務器發(fā)送給客戶端;則進行數(shù)據(jù)包分類按照如下步驟進行: 1)如果TCP數(shù)據(jù)包的實際載荷長度為0,則判斷TCP數(shù)據(jù)包為TCP控制報文,與應用層協(xié)議無關,予以全部剔除; 2)如果TCP數(shù)據(jù)包的實際載荷長度不為0,則按照長度、間隔和方向進行分類。
3.根據(jù)權利要求2所述的WEB隧道檢測方法,其特征在于所述方法步驟2)采用核密度估計概率密度下的累積概率平分法對數(shù)據(jù)包的長度和間隔進行分類,具體按照如下步驟進行: A)對于HTTP和HTTPS正常通信流量中每一個新出現(xiàn)的TCP數(shù)據(jù)包的長度值或間隔值,假設其他TCP數(shù)據(jù)包的長度和間隔以該值為均值呈標準正態(tài)分布;按此規(guī)則進行加權累加,從而得到長度和間隔的概率分布函數(shù),即:
4.根據(jù)權利要求1所述的WEB隧道檢測方法,其特征在于所述方法步驟(2)或(3)中提取的特征構成一個七維特征向量< reqavg, reqvar, resavg, resvar, Dkl, Ekpp, Demi >,其中 reqavg為請求平均長度,為一次協(xié)議會話中所有由客戶端發(fā)出的資源請求報文的平均長度;reqvm為請求長度方差,為一次協(xié)議會話中所有由客戶端發(fā)出的資源請求報文的長度方差;resavg為響應平均長度,為一次協(xié)議會話中所有由服務器發(fā)出的請求響應報文的平均長度;reSvm為響應長度方差,為一次協(xié)議會話中所有由服務器發(fā)出的請求響應報文的長度方差; 其中Dia為TCP數(shù)據(jù)包的分布偏差,
5.根據(jù)權利要求1所述的WEB隧道檢測方法,其特征在于所述方法步驟(3)中WEB隧道檢測設備置于局域網(wǎng)內(nèi)部,并與防火墻或者應用級網(wǎng)關相連;在局域網(wǎng)內(nèi)網(wǎng)網(wǎng)關接口上,128隧道檢測設備通過網(wǎng)絡鏡像操作獲取肌了?和肌了?3通信流量。
6.根據(jù)權利要求1所述的呢8隧道檢測方法,其特征在于所述方法步驟(2)中和耵???3隧道會話通過耵1?1'皿加1和I'皿加1工具軟件生成,!117?和耵???3正常會話從采集的本地局域網(wǎng)內(nèi)網(wǎng)的正常通信流量中提取。
【文檔編號】H04L12/26GK103840983SQ201410008778
【公開日】2014年6月4日 申請日期:2014年1月9日 優(yōu)先權日:2014年1月9日
【發(fā)明者】黃劉生, 王飛, 楊威, 陳志立 申請人:中國科學技術大學蘇州研究院