靳仁杰,王 宇,韓偉杰
?
基于流量模板檢測網(wǎng)絡(luò)異常流量
靳仁杰1,王 宇2,韓偉杰2
(1. 裝備學院研究生管理大隊,北京懷柔 101416;2. 裝備學院信息裝備系,北京懷柔 101416)
當前的網(wǎng)絡(luò)異常流量檢測技術(shù)側(cè)重于采用機器學習和統(tǒng)計學方法,兩者適用于通用網(wǎng)絡(luò)環(huán)境。本文針對受控網(wǎng)絡(luò)環(huán)境通信特征,提出了一種基于流量模板的網(wǎng)絡(luò)異常流量檢測方法,該方法實時抓取分析網(wǎng)絡(luò)流量,提取網(wǎng)絡(luò)流量頭部特征和行為特征,基于網(wǎng)絡(luò)八元組信息建立流量模板,通過匹配流量模板檢測網(wǎng)絡(luò)異常流量。實驗結(jié)果表明該方法在受控網(wǎng)絡(luò)環(huán)境下能準確檢測出網(wǎng)絡(luò)異常流量。
受控網(wǎng)絡(luò);異常流量;特征提?。痪W(wǎng)絡(luò)八元組;流量模板
如今網(wǎng)絡(luò)應(yīng)用已經(jīng)滲透到人們生活的方方面面,網(wǎng)絡(luò)數(shù)量和規(guī)模都成倍增長。眾多的網(wǎng)絡(luò)應(yīng)用在帶來便利的同時,也引起了很多問題,這其中由惡意攻擊、設(shè)備故障或者人為因素引起的網(wǎng)絡(luò)異常流量[1]及其檢測方法,逐漸成為安全人士研究的熱點問題。
網(wǎng)絡(luò)異常流量檢測方法的分類有很多種,按檢測建模方法可以分為基于誤用檢測和基于異常檢測兩類[2];按數(shù)據(jù)采集方式可以分為抽樣檢測和非抽樣檢測兩類;按檢測節(jié)點數(shù)量可以分為分布式異常檢測和單節(jié)點異常檢測兩類[3];按數(shù)據(jù)處理方式可以分為初級流量特征統(tǒng)計的異常檢測和挖掘數(shù)據(jù)特征規(guī)律的異常檢測兩類[4]。
基于誤用的異常檢測主要是提取已知異常流量的流量特征和行為特征,建立規(guī)則庫。在檢測階段,實時抓取網(wǎng)絡(luò)流量,統(tǒng)計計算其流量特征和行為特征,與建立好的規(guī)則庫進行匹配[5]。此方法的優(yōu)點是檢測精度高、實時性好,由于基于已知異常流量的統(tǒng)計信息建立規(guī)則庫,此方法的缺點是不能識別新的異常行為?;诋惓5臋z測方法主要是通過統(tǒng)計學習方法建立正常網(wǎng)絡(luò)流量的行為輪廓[6],在檢測階段實時抓取網(wǎng)絡(luò)流量并統(tǒng)計計算當前輪廓,最后計算兩者的偏離程度是否超過閾值來檢測異常流量。此方法的優(yōu)點是能識別出新的異常行為,缺點是流量輪廓刻畫的時間復(fù)雜性高,對檢測實時性有一定影響,另外由于對正常流量的輪廓刻畫不能完全準確,容易造成低檢測精度。
為了受控網(wǎng)絡(luò)環(huán)境不同于一般的網(wǎng)絡(luò),有幾個顯著的特點:一是要先調(diào)試后使用;二是使用嚴格,入網(wǎng)主機的IP地址明確,應(yīng)用層協(xié)議和端口號固定,設(shè)備或終端產(chǎn)生的流速限定。三是網(wǎng)絡(luò)穩(wěn)定性要求高。
(1)嚴格的入網(wǎng)主機規(guī)范。入網(wǎng)主機的IP地址,不同設(shè)備的功能劃分和網(wǎng)絡(luò)拓撲結(jié)構(gòu)都有詳細記錄信息且可知,同時對入網(wǎng)主機的準入有嚴格限制。網(wǎng)絡(luò)中的各類設(shè)備入網(wǎng)信息固定,不會隨意對IP地址,設(shè)備號和所屬部門等關(guān)鍵信息進行更改,網(wǎng)絡(luò)拓撲結(jié)構(gòu)穩(wěn)定,不同網(wǎng)段內(nèi)的主機數(shù)量和對應(yīng)關(guān)系,接入的上一層交換機或路由器端口等網(wǎng)絡(luò)結(jié)構(gòu)信息更新頻率低,且更新后能第一時間獲取改動的具體內(nèi)容。
(2)穩(wěn)定的網(wǎng)絡(luò)會話規(guī)范。由于受控網(wǎng)絡(luò)網(wǎng)環(huán)境下,網(wǎng)絡(luò)間通信應(yīng)用的類型有限、不同終端設(shè)備擔負的任務(wù)單一,因此可以對所有合法的網(wǎng)絡(luò)會話內(nèi)容提取其網(wǎng)絡(luò)流量的頭部特征和行為特征,形成網(wǎng)絡(luò)會話模板。同時,在不同任務(wù)中,針對當前任務(wù)的網(wǎng)絡(luò)會話規(guī)范相對穩(wěn)定,其產(chǎn)生的網(wǎng)絡(luò)流量變化幅度小。
(3)可控的網(wǎng)絡(luò)流量規(guī)模。對受控網(wǎng)絡(luò)網(wǎng)環(huán)境下產(chǎn)生的網(wǎng)絡(luò)流量來說,其不同于通用網(wǎng)絡(luò)環(huán)境下的量級。入網(wǎng)主機的數(shù)量,不同網(wǎng)絡(luò)應(yīng)用的開放數(shù)量和端口數(shù),連接不同服務(wù)器的主機數(shù)和不同主機上運行的應(yīng)用程序數(shù)量,應(yīng)用程序間通信所占帶寬和傳輸?shù)臄?shù)據(jù)量相對于通用網(wǎng)絡(luò)環(huán)境來說規(guī)模較小且可控,因此將其記錄存儲到規(guī)則庫中所占的系統(tǒng)開銷和所占的存儲空間不會影響到網(wǎng)絡(luò)正常使用。
基于以上受控網(wǎng)絡(luò)網(wǎng)環(huán)境所特有的幾個通信特征,可以統(tǒng)計量化網(wǎng)絡(luò)流量數(shù)據(jù)集中的網(wǎng)絡(luò)流量的頭部特征和行為特征,獲取網(wǎng)絡(luò)會話七元組(或三元組)并建立流量白名單(又叫任務(wù)模板),基于HASH桶存儲結(jié)構(gòu)存儲到模板庫中。通過嚴格的模式匹配檢測網(wǎng)絡(luò)異常(或違規(guī))流量。
2.1 相關(guān)定義
定義1:流量模板是一個集合,它的單個元素是由網(wǎng)絡(luò)八元組信息組成的向量,數(shù)學的形式化表示為:
其中:各維度具體含義如下:
可以依據(jù)收集統(tǒng)計的網(wǎng)絡(luò)八元組信息來對網(wǎng)絡(luò)流量進行規(guī)則匹配,并對違規(guī)(或異常)通信發(fā)出報警。
針對受控網(wǎng)絡(luò)環(huán)境下,設(shè)備測試網(wǎng)絡(luò)連接狀態(tài),會產(chǎn)生大量的PING會話,極易被誤報為異常流量,造成錯誤報警。對PING會話單獨建立基于網(wǎng)絡(luò)三元組信息的流量模板,數(shù)學的形式化表示為:
其中,各維度具體含義如下:
定義2:流量模板集合中每一條記錄代表一條規(guī)則,集合中不存在兩條規(guī)則被同一條記錄覆蓋,數(shù)學的形式化表示為:
2.2 HASH桶存儲結(jié)構(gòu)
模式匹配是識別未知事物類別的一種方法,主要用于實現(xiàn)機器自動識別。它的原理是選擇已知的對象作為模板,與待測樣本進行度量計算,通過得出的度量值來識別目標,即看與那個模板的度量值最小,就作為自己的類別。模板中常使用的度量對象有單個模板和模板類中心兩種。
由于模式匹配的核心是建立知識規(guī)則庫,庫所包含的信息量越大,匹配精準度越高,隨之也要占用更大的存儲空間和消耗更長的匹配查找時間。為了解決上述問題,研究者提出了很多方法來極高模板匹配的時空效率,目前使用比較多的有直方圖方法[7],小波方法[8]和HASH函數(shù)方法[9],而在HASH函數(shù)方法中,一種名為HASH桶的算法因其簡單高效和對碰撞的優(yōu)化處理,目前應(yīng)用最為廣泛。雖然HASH散列函數(shù)對某個元素進行散列時是盡力做到對所有元素平均分散排列,盡量避免或者降低他們之間的沖突,但是HASH值在散列計算時的碰撞是無法避免的,為了更好地解決沖突問題,一種HASH桶的存儲結(jié)構(gòu)被研究者們提出。它的定義是:一個盛放不同KEY鏈表的容器(即鏈表數(shù)組),可以把每個key的位置看成是一個孔,孔里存放了一個鏈表(單向或雙向)。
如圖1所示,該HASH桶中共存儲12個不同的元素,它的KEY包含7個表項(key的數(shù)目=7)。從圖中可以看出,元素1、元素6、元素7的HASH值相同,都存儲在第一個表項下的三個不同桶中,為了避免沖突碰撞,三個不同的元素以雙向鏈表的形式存放在不同的桶中,具體的桶的數(shù)量一般情況下都是根據(jù)要處理的數(shù)據(jù)類型特征來考慮使用。比如要存儲網(wǎng)絡(luò)會話中的IP地址,則存放IP地址的HASH桶使用IP地址的后16bit作為key,這樣用一個65536(216)個桶就很好。不同KEY和桶數(shù)量的選擇就是一個界和性能的折中問題。比如當KEY值取問題空間的最大值時,這樣肯定能保證鍵值分散,但是這樣會浪費很多空間。如果值取得太小,則碰撞率很高,會影響到查找效率。HASH桶比其他搜索的數(shù)據(jù)結(jié)構(gòu)靈活的地方就是它的可定制性,可以根據(jù)具體情況調(diào)整,以達到最優(yōu)的效果。
圖1 HASH桶存儲結(jié)構(gòu)
根據(jù)上面的問題分析和給出的相關(guān)定義,結(jié)合受控網(wǎng)絡(luò)環(huán)境下的網(wǎng)絡(luò)通信特征,本節(jié)設(shè)計實現(xiàn)了一種基于流量白名單的模板匹配技術(shù)。該方法的主要工作原理是:在受控網(wǎng)絡(luò)聯(lián)試聯(lián)調(diào)階段,抓取優(yōu)化預(yù)處理后的網(wǎng)絡(luò)會話流量,統(tǒng)計量化頭部特征和行為特征,建立網(wǎng)絡(luò)會話六元組(或三元組)信息,生成流量白名單。基于流量白名單生成規(guī)則庫,在任務(wù)階段通過HASH桶存儲結(jié)構(gòu)和模式匹配對實時網(wǎng)絡(luò)流量進行檢測分類,并及時發(fā)出報警信息,整個檢測流程如圖2所示,共分為四個步驟:
(1)建立流量白名單。在網(wǎng)絡(luò)流量預(yù)處理過濾后的基礎(chǔ)上,通過抓取提取網(wǎng)絡(luò)會話特征,建立網(wǎng)絡(luò)會話六元組(或三元組)流量白名單。
(2)修改流量白名單。根據(jù)網(wǎng)絡(luò)實際情況,人工修改流量白名單數(shù)據(jù),加入特例設(shè)備信息。
(3)匹配判斷。將流量白名單通過HASH桶存儲結(jié)構(gòu)存儲后,在實時抓取當前網(wǎng)絡(luò)會話內(nèi)容后,調(diào)出流量白名單數(shù)據(jù)生成規(guī)則庫,基于模式匹配進行類型判斷。
(4)檢測結(jié)果輸出。對分類檢測結(jié)果發(fā)出違規(guī)(或異常)報警,并加入到流量黑名單和灰名單中。
整個檢測過程分為兩個運行階段:
(1)抓取模板階段。實時抓取網(wǎng)絡(luò)中的流量數(shù)據(jù),提取網(wǎng)絡(luò)會話六元組(或三元組)信息,依據(jù)不同任務(wù)模板建立流量白名單,然后通過HASH桶技術(shù)存儲到數(shù)據(jù)庫中。
圖2 基于流量模板的異常流量檢測流程
(2)檢測網(wǎng)絡(luò)流量階段。依據(jù)建立好的流量白名單和模式匹配算法對實時網(wǎng)絡(luò)流量進行異常檢測。同時,可以根據(jù)檢測結(jié)果人為對流量白名單進行修改。
2.3 關(guān)鍵技術(shù)
關(guān)鍵技術(shù)分為數(shù)據(jù)結(jié)構(gòu)描述,網(wǎng)絡(luò)會話流量白名單模板抓取和流量白名單模式匹配三部分,分別描述如下:
1、數(shù)據(jù)結(jié)構(gòu)描述。在流量白名單建立階段,以網(wǎng)絡(luò)中不同設(shè)備間發(fā)起的連接為單位(通過IP地址和端口號進行區(qū)分),將采集到的網(wǎng)絡(luò)六元組(或三元組)信息量化存儲到定義好的數(shù)據(jù)結(jié)構(gòu)中(見表1),建立流量白名單。根據(jù)使用的傳輸層協(xié)議,區(qū)分TCP、UDP和ICMP三種協(xié)議類型存儲到HASH桶結(jié)構(gòu)中,這里采用雙向鏈表實現(xiàn),便于插入刪除操作。
2、會話模板抓取。通過采集網(wǎng)絡(luò)會話流量的頭部特征和行為特征,統(tǒng)計記錄不同的網(wǎng)絡(luò)會話六元組(或三元組)信息,建立網(wǎng)絡(luò)會話模板來生成流量白名單。其中,對TCP或UDP的網(wǎng)絡(luò)會話來說,前五個元素{源IP地址、源端口、目的IP地址、目的端口、應(yīng)用層協(xié)議}用來區(qū)分不同的網(wǎng)絡(luò)會話連接,會話流速既能代表某個會話連接的特征,也能作為綜合評價因素,反映整個網(wǎng)絡(luò)運行狀態(tài)。對設(shè)備間產(chǎn)生的PING會話,單獨建立網(wǎng)絡(luò)會話三元組信息{源IP地址、目的IP地址、PING次數(shù)},并對其進行抓取采集和統(tǒng)計計算。3、流量白名單模式匹配。以建立好的流量白名單為規(guī)則庫,為了提高算法運行的時間復(fù)雜度和空間復(fù)雜度,采用HASH桶存儲結(jié)構(gòu)進行存儲,通過計算流量白名單模板數(shù)據(jù)結(jié)構(gòu)的HASH值和實時網(wǎng)絡(luò)連接的HASH值,而后將它們進行比較匹配用于異常檢測,匹配流程如圖3所示。
表1 流量白名單數(shù)據(jù)結(jié)構(gòu)
Tab.1 Traffic White List Data Structure
在進行模式匹配時,采取的是and(與)關(guān)系,具體匹配規(guī)則如下:
(1)對TCP或UDP網(wǎng)絡(luò)會話,分為六元組信息全部匹配成功、五元組匹配成功但會話流速超出閾值和五元組信息至少有一個不匹配三種情況。當滿足第一種情況時不報警,當滿足第二種情況時加入灰名單信息中,由用戶查看其在一定時間內(nèi)端口流量、流速的變化情況,進一步確定該設(shè)備是否存在異常,當滿足第三種情況時發(fā)出違規(guī)報警信息并將該網(wǎng)絡(luò)會話加入黑名單中。
(2)對PING會話,采用的是三元組匹配成功、PING次數(shù)超出閾值和至少有一個IP地址不匹配三種情況。當滿足第一種情況時不報警,當滿足第二種情況時發(fā)出異常報警信息,而后由用戶根據(jù)該網(wǎng)絡(luò)會話的詳細信息給出最終判斷,當滿足第三種情況時發(fā)出違規(guī)報警信息并將該網(wǎng)絡(luò)會話加入黑名單。
圖3 流量白名單模式匹配流程
算法的偽代碼描述如表2所示。
表2 流量白名單匹配算法偽代碼描述
Tab.2 Traffic White List Matching Algorithm Pseudo Code Description
3.1 實驗準備
為了驗證方法的有效性,模擬構(gòu)建了一個私有特定網(wǎng)絡(luò)環(huán)境,拓撲結(jié)構(gòu)如圖4所示。
3.2 實驗數(shù)據(jù)
其中,在每臺設(shè)備上,使用feiq通訊軟件、ftp軟件、站長之家軟件分別模擬不同的業(yè)務(wù)流量。在測試電腦上部署基于流量模板的異常流量檢測系統(tǒng),通過設(shè)置交換機鏡像端口,對整個網(wǎng)絡(luò)流量進行抓取分析。
圖4 模擬網(wǎng)絡(luò)環(huán)境拓撲圖
由于真實受控網(wǎng)絡(luò)環(huán)境下,產(chǎn)生異常流量的概率較低,異常流量占得比例小,異常的規(guī)模難以刻畫。本文所做實驗對算法驗證的數(shù)據(jù),使用科來數(shù)據(jù)包生成器軟件來模擬生成背景流量和異常流量,按照正常流量(4801201個數(shù)據(jù)包)占91%,異常流量(361380個數(shù)據(jù)包)占6.8%,其他流量(108414個數(shù)據(jù)包)占2.2%的比例構(gòu)成。各類對應(yīng)的標記值和所包含的數(shù)據(jù)集數(shù)量見表3。
表3 實驗數(shù)據(jù)集比例構(gòu)成
Tab.3 Experimental data set proportion
3.3 實驗結(jié)果
圖5是該算法在受控網(wǎng)絡(luò)環(huán)境在聯(lián)調(diào)測試階段抓取到的流量模板。
表4是基于流量模板的方法與Wenke Lee的數(shù)據(jù)挖掘方法[10],Liu的遺傳聚類算法[11],Eskin的K-NN方法[12]三種方法的實驗結(jié)果比較。從比較結(jié)果可以得出基于流量模板的方法取得了較好的檢測結(jié)果。
3.4 結(jié)果分析
由于受控網(wǎng)絡(luò)環(huán)境下網(wǎng)絡(luò)通信特征不同于一般的網(wǎng)絡(luò),而在任務(wù)調(diào)試測試和執(zhí)行階段產(chǎn)成的網(wǎng)絡(luò)流量具有自相似性和長相關(guān)性,因此可用網(wǎng)絡(luò)會話七元組信息交叉熵特征向量來刻畫網(wǎng)絡(luò)流量特征變化。通過引入支持向量機分類器,克服訓練集樣本小、維度高和不可分的問題。在不同任務(wù)中,當某個網(wǎng)絡(luò)流量特征的交叉熵值偏離了歷史值的平均值,則此特征交叉熵值的差異性會被支持向量機分類器中的核函數(shù)放大化,最終得出分類超平面而形成不同的分類結(jié)果,從而能有效檢測出網(wǎng)絡(luò)異常流量。
圖5 抓取的流量模板結(jié)果部分截圖
表4 流量模板方法與其它方法的檢測結(jié)果比較
Tab.4 flow template method and other methods of detection results comparison
本文通過分析受控網(wǎng)絡(luò)環(huán)境特征,針對傳統(tǒng)的異常流量檢測方法無法用于此類網(wǎng)絡(luò)準確進行異常流量檢測的問題,設(shè)計實現(xiàn)了基于流量模板的網(wǎng)絡(luò)異常流量檢測方法,通過在前期收集網(wǎng)絡(luò)流量特征和行為特征,建立網(wǎng)絡(luò)流量模板,以達到準確檢測網(wǎng)絡(luò)異常流量的目標。通過模擬實驗論證,此方法對受控網(wǎng)絡(luò)環(huán)境下的異常流量檢測效果明顯。下一步研究的工作重點是如何利用已有的各類歷史名單信息(日志)來刻畫網(wǎng)絡(luò)整體行為輪廓,進而提高檢測準確度。
[1] Lakhina A, Crovella M, Diot C. Mining anomalies using traffic distributions[C]// CS Department, Boston University. 2004.
[2] 黃存東. 關(guān)于計算機網(wǎng)絡(luò)信息安全問題的技術(shù)研究[J]. 軟件, 2013, 34(1): 140-141
[3] 王曉軍. 基于網(wǎng)絡(luò)行為分析的跨站攻擊的防御探析[J]. 軟件, 2013, 34(1): 142-143
[4] 朱應(yīng)武, 楊家海, 張金祥. 基于流量信息結(jié)構(gòu)的異常檢測[J]. 軟件學報, 2010, 21(10): 2573-2583.
[5] 楊丹. 網(wǎng)絡(luò)流量異常檢測方法研究及仿真平臺研制[D]. 電子科技大學, 2008.
[6] Silveira F, Diot C, Taft N. ASTUTE: Detecting a different class of traffic Anomalies(Extended Version)[R]. Technicolor, 2010.
[7] Sagara S, Taira Y. DoWitcher: Effective Worm Detection and Containment in the Internet Core[C]// IEEE INFOCOM 2007-, IEEE International Conference on Computer Communications. IEEE Computer Society, 2007: 2541-2545.
[8] Barford P, Kline J, Plonka D, et al. A signal analysis of network traffic anomalies[C]// Proceedings of the 2nd ACM SIGCOMM Workshop on Internet Measurement (IMW’02) New York:ACM Press. 2002: 71-82.
[9] Wenke l, Stolfo S. Data Mining Approaches for Instrusion Detection, Proceedings of the Seventh USENIX Security Symposium, 1998, 79-94.
[10] Wenke l, Stolfo S. Data Mining Approaches for Instrusion Detection, Proceedings of the Seventh USENIX Security Symposium, 1998, 79-94.
[11] Liu Y, Chen K, Liao X, et al. A Genetic Clustering Method for Intrusion Detection. Pattern Recognition. 2004, 37(5): 927-942.
[12] Eskin E, Rnold A, Prerau M, et al. A geometric Framework for Unsupervised Anomaly Detection: Instrusion in Unlabeled.Applications of Data Mining in Computer Security, Kluwer Academics Publisher, 2002.
An Anomaly Traffic Detection Method Based on the Flow Template
JIN Ren-jie, WANG Yu, HAN Wei-jie
(Equiopment Academy, Beijing 101416, China)
The current network anomaly traffic detection technologies usually focus on the rules matching and statistical method which are suitable for the general network environment. For the communication characteristics of the controlled network environment, this paper puts forward a network anomaly traffic detection method based on the flow template, which captures and analyses the real-time network traffic. The method aims to detect the anomaly network traffic by extracting the characteristics of the network traffic and behaviour, establishing the flow template based on the network eight-group information, and comparing the established template with the actual traffic. The final experiment results show that the method can accurately detect the anomaly network traffic in the controlled network environment.
Controlled network; Anomaly traffic; Feature extraction; Network eight-group information; Flow template
TP309.2
A
10.3969/j.issn.1003-6970.2017.04.023
靳仁杰(1983-),男,研究生,主要研究方向:網(wǎng)絡(luò)信息安全;王宇(1971-),男,副教授,主要研究方向為網(wǎng)絡(luò)信息安全;韓偉杰,男,講師,主要研究方向為網(wǎng)絡(luò)信息安全。
本文著錄格式:靳仁杰,王宇,韓偉杰. 基于流量模板檢測網(wǎng)絡(luò)異常流量[J]. 軟件,2017,38(4):121-126