蒙治伸,張振威,朱思義,谷源濤
(1. 清華大學(xué)電子工程系,北京 100084;2. 盲信號處理重點(diǎn)實(shí)驗(yàn)室,四川 成都 610000)
針對網(wǎng)絡(luò)流量的分析是目前網(wǎng)絡(luò)研究的重要領(lǐng)域之一,不僅可以得到目標(biāo)網(wǎng)絡(luò)的基本通信信息,找出其通信規(guī)律,還可以加工分析其獲取到的基本信息,來進(jìn)行網(wǎng)絡(luò)管理、網(wǎng)絡(luò)度量以及網(wǎng)絡(luò)安全相關(guān)領(lǐng)域的工作和研究。在現(xiàn)如今網(wǎng)絡(luò)發(fā)達(dá),網(wǎng)絡(luò)管理較為困難的情況下,網(wǎng)絡(luò)流量分析具有很重要的現(xiàn)實(shí)意義。
網(wǎng)絡(luò)流量分析的定義是通過使用統(tǒng)計(jì)信息或其它復(fù)雜方法發(fā)現(xiàn)網(wǎng)絡(luò)流量數(shù)據(jù)中有用信息的過程,該過程普遍包括捕獲、收集和存儲網(wǎng)絡(luò)流量數(shù)據(jù),匯總數(shù)據(jù)以進(jìn)行查詢和分析,以及分析數(shù)據(jù)以挖掘有用的信息[1]。
根據(jù)網(wǎng)絡(luò)流量分析的不同層次,當(dāng)前針對網(wǎng)絡(luò)流量的研究分為三大類:網(wǎng)絡(luò)流層次、單一主機(jī)層次和主機(jī)群層次。大部分先前的研究關(guān)注網(wǎng)絡(luò)流量層次,將主機(jī)通信信息按照網(wǎng)絡(luò)流進(jìn)行聚合整理,提取特征再進(jìn)行分析。Trestian等人利用谷歌搜索引擎,通過互聯(lián)網(wǎng)獲得的信息,研究了一種網(wǎng)絡(luò)流量分類技術(shù)[2];文獻(xiàn)[3]提出了一種基于相似網(wǎng)絡(luò)流量特征,將網(wǎng)絡(luò)數(shù)據(jù)包頭數(shù)據(jù)加入聚類算法中的方法;文獻(xiàn)[4]提出通過處理網(wǎng)絡(luò)數(shù)據(jù)包,將網(wǎng)絡(luò)流按照不同特征劃分的方法,也在分類上取得了不錯的效果。另外,還有很多研究關(guān)注的層次為單一主機(jī)層次,即網(wǎng)絡(luò)單個主機(jī)的行為特征[5,6],或是根據(jù)單個主機(jī)的流量特征分析主機(jī)的角色[7,8]。在文獻(xiàn)[6]中,作者為了對網(wǎng)絡(luò)流量進(jìn)行分類,在社交、功能和業(yè)務(wù)三個層次研究主機(jī)的行為。文獻(xiàn)[5]則利用流量通信關(guān)系對主機(jī)的行為進(jìn)行畫像。文獻(xiàn)[7]設(shè)計(jì)了兩個算法通過主機(jī)之間的通聯(lián)關(guān)系,來對企業(yè)網(wǎng)絡(luò)內(nèi)主機(jī)的角色進(jìn)行劃分。文獻(xiàn)[8]根據(jù)一個大型企業(yè)網(wǎng)絡(luò)數(shù)據(jù),來研究主機(jī)通信的社團(tuán)(Communities of Interest)。但是上述的研究都存在一定的問題,由于網(wǎng)絡(luò)流量特征在不同網(wǎng)絡(luò)中不盡相同,這些方法往往會遇到性能或結(jié)果不穩(wěn)定等問題。且大多數(shù)研究只是基于比較底層的網(wǎng)絡(luò)流層次和單一主機(jī)層次,鮮有研究關(guān)注更高的主機(jī)群的層面,難以獲得更高層面的普遍性規(guī)律。
針對上述情況,本文提出了一種基于網(wǎng)絡(luò)流量特征分析的主機(jī)群分析研究方法,從更高的主機(jī)群層次來對網(wǎng)絡(luò)和主機(jī)進(jìn)行分析和研究。利用采集到的網(wǎng)絡(luò)流量PCAP數(shù)據(jù)包,進(jìn)行包頭分析提取出其五元組信息組成網(wǎng)絡(luò)流,之后進(jìn)行統(tǒng)計(jì)分析提取得到其基礎(chǔ)通信信息和隱含信息。之后依照本文中重新定義的四個層次的主機(jī)行為特征,在一定時間段內(nèi)給主機(jī)進(jìn)行畫像,對主機(jī)的一系列行為特征屬性進(jìn)行抽象性描述。最后,通過主機(jī)畫像來計(jì)算主機(jī)之間的距離,判斷主機(jī)之間的相似性程度,在此基礎(chǔ)上使用聚類算法對主機(jī)群進(jìn)行劃分,得到一些彼此相似的主機(jī)集群,從而挖掘出進(jìn)一步的主機(jī)行為模式。
為了實(shí)現(xiàn)上述目的,本文設(shè)計(jì)了一套完整的主機(jī)群分析研究系統(tǒng),包括了最初的數(shù)據(jù)采集到主機(jī)畫像再到最后的主機(jī)群分析的部分。系統(tǒng)的整體框架如圖1所示。
圖1 系統(tǒng)整體框架圖
由上圖可以看出,系統(tǒng)主要由網(wǎng)絡(luò)流元數(shù)據(jù)和主機(jī)活動提取模塊、網(wǎng)絡(luò)流元數(shù)據(jù)存儲數(shù)據(jù)庫、主機(jī)畫像構(gòu)建模塊和主機(jī)聚類分析模塊四個模塊組成。其主要流程可以分為三個部分,分別是網(wǎng)絡(luò)流量采集部分、主機(jī)畫像構(gòu)建部分和主機(jī)聚類分析部分。以下將會對這三個部分進(jìn)行詳細(xì)敘述。
該部分的主要功能是將網(wǎng)絡(luò)流量數(shù)據(jù)獲取的PCAP數(shù)據(jù)包進(jìn)行讀取和輸入,便于后續(xù)在其它子模塊進(jìn)行處理,是一個比較簡單的部分,該部分只需要將提前采集好的PCAP格式數(shù)據(jù)包輸入分析系統(tǒng)中即可,支持單個或多個PCAP文件的讀取。
收集網(wǎng)絡(luò)流量數(shù)據(jù)有多種方法,如:SNMP、NetFlow、原始PCAP數(shù)據(jù)包等。大部分國內(nèi)外研究都采用首先采集原始網(wǎng)絡(luò)PCAP數(shù)據(jù)包,再利用開源或商業(yè)的網(wǎng)絡(luò)流分析軟件對原始數(shù)據(jù)進(jìn)行處理得到網(wǎng)絡(luò)流的統(tǒng)計(jì)信息,之后再進(jìn)行進(jìn)一步的分析處理。本文也采取此方法來獲取相關(guān)數(shù)據(jù),所以設(shè)計(jì)了此部分用以便捷的讀取采集到的PCAP數(shù)據(jù)包。
該部分是整個系統(tǒng)最為復(fù)雜也是最為重要的部分,同時對于魯棒性和處理速度也有較高的要求。該部分又可以細(xì)分為三個子模塊,分別為網(wǎng)絡(luò)流元數(shù)據(jù)和主機(jī)活動提取模塊、網(wǎng)絡(luò)流元數(shù)據(jù)存儲數(shù)據(jù)庫和主機(jī)畫像構(gòu)建模塊。該部分的主要目的就是利用采集到的PCAP數(shù)據(jù)包,提取其五元組信息(源IP,目的IP,源端口,目的端口,傳輸層協(xié)議)并構(gòu)成網(wǎng)絡(luò)流,對網(wǎng)絡(luò)流進(jìn)行深度包檢測(DPI),獲取其基本通信信息,并對其主機(jī)操作系統(tǒng)等隱含信息進(jìn)行推測和分析,最后將信息進(jìn)行整合,構(gòu)建主機(jī)畫像。該部分是主機(jī)群分析的基礎(chǔ)部分,需要保證數(shù)據(jù)處理的可靠性、準(zhǔn)確性和快速性。下面將會對這三個模塊進(jìn)行詳細(xì)說明。
2.2.1 網(wǎng)絡(luò)流元數(shù)據(jù)和主機(jī)活動提取模塊
該模塊的主要功能是提取輸入數(shù)據(jù)包中的網(wǎng)絡(luò)流元數(shù)據(jù)和主機(jī)關(guān)鍵活動,并推測主機(jī)的相關(guān)隱含信息,并進(jìn)行統(tǒng)計(jì),便于后續(xù)的存儲和使用。先將傳入的PCAP數(shù)據(jù)包進(jìn)行數(shù)據(jù)包包頭解析,得出其通信基本信息,之后利用解析得到的五元組信息(源IP,目的IP,源端口,目的端口,傳輸層協(xié)議)來構(gòu)建網(wǎng)絡(luò)流,此后的提取統(tǒng)計(jì)工作都在上述被標(biāo)識的網(wǎng)絡(luò)流的基礎(chǔ)上進(jìn)行。之后提取網(wǎng)絡(luò)流中的元數(shù)據(jù)信息和主機(jī)關(guān)鍵活動信息。提取過程就是檢測PCAP的數(shù)據(jù)包,一層層解析其包內(nèi)每一幀數(shù)據(jù),將有用的信息提取出來。為了提升此過程處理和運(yùn)算的速度,本系統(tǒng)采用了管道模型(Pipeline)設(shè)計(jì)模式搭建,其原理圖如圖2所示。
圖2 網(wǎng)絡(luò)流元數(shù)據(jù)提取模塊
此模塊將整體功能拆分成若干個子階段,每個子階段都采用獨(dú)立的管道來處理,隨后將各個管道拼接來實(shí)現(xiàn)整個流程。這樣的設(shè)計(jì)方案靈活高效,不僅可以將各個管道靈活組裝來應(yīng)對不同的場景,還可以做到并行利用資源、提高計(jì)算效率,每個管道專門處理得到相應(yīng)的處理結(jié)果,便于存儲和有效利用關(guān)鍵信息。在處理的過程中,每一個管道都不用處理完整的PCAP數(shù)據(jù)包,而是只需要處理一部分?jǐn)?shù)據(jù),即每個管道只需要專門處理自己需要的部分?jǐn)?shù)據(jù),可以達(dá)到快速處理數(shù)據(jù)的目的。
此模塊還提取了主機(jī)的其它隱含信息——主機(jī)的操作系統(tǒng)。該部分主要是利用前面提取到的一些關(guān)鍵信息和特殊字段以及PCAP數(shù)據(jù)包中的一些特殊數(shù)據(jù),來對目標(biāo)主機(jī)的操作系統(tǒng)進(jìn)行推斷?,F(xiàn)階段主要有兩種方法來對目標(biāo)主機(jī)的操作系統(tǒng)進(jìn)行判斷,分別是主動掃描和被動檢測兩種方法。主動掃描即主動在目標(biāo)通信網(wǎng)絡(luò)上獲取各種數(shù)據(jù)包來分析,向目標(biāo)主機(jī)直接發(fā)送數(shù)據(jù)包,根據(jù)其響應(yīng)的不同和特殊字段來進(jìn)行判斷。這種方法的主要優(yōu)點(diǎn)是準(zhǔn)確性高,效果可靠,但是其致命缺點(diǎn)是容易被人追蹤,占用大量的帶寬資源,同時會在網(wǎng)絡(luò)中加入流量,無法離線使用。而被動掃描和主動掃描相反。被動掃描是被動的去收聽目標(biāo)網(wǎng)絡(luò)中被廣播出的信息,從被傳輸?shù)臄?shù)據(jù)包中來推斷目標(biāo)的操作系統(tǒng)。該方法本質(zhì)上是完全安靜的,沒有被發(fā)現(xiàn)的風(fēng)險,但是其準(zhǔn)確性就會受到影響[9]。由于本研究需離線使用,且本研究主要處理的數(shù)據(jù)都是經(jīng)過采集的PCAP網(wǎng)絡(luò)數(shù)據(jù)包,而非線上主動偵聽,故本系統(tǒng)采用被動掃描的方式來對目標(biāo)主機(jī)的操作系統(tǒng)進(jìn)行推測。本系統(tǒng)采取HTTP UserAgent和被動指紋識別相結(jié)合的方法來對目標(biāo)主機(jī)的操作系統(tǒng)進(jìn)行推測,前者使用HTTP協(xié)議連接過程中明文傳輸?shù)腢serAgent字段進(jìn)行判斷,優(yōu)點(diǎn)是可以直接簡單明了知道目標(biāo)操作系統(tǒng)等信息,一旦目標(biāo)主機(jī)沒有修改該字段,準(zhǔn)確率為100%,缺點(diǎn)就是該字段信息容易被修改,且只能判斷網(wǎng)絡(luò)中客戶端主機(jī)的信息。后者則是利用不同操作系統(tǒng)在傳輸TCP SYN和SYN+ACK數(shù)據(jù)包過程中一些特殊字段和一些特殊標(biāo)志符組成的指紋來進(jìn)行對比識別。其優(yōu)點(diǎn)是可以識別通信雙方的操作系統(tǒng),缺點(diǎn)則是依賴指紋庫,且準(zhǔn)確性有待提升。所以本系統(tǒng)將二者融合,兩者結(jié)果可以相互印證,達(dá)到更準(zhǔn)確的識別和推測。
2.2.2 網(wǎng)絡(luò)流元數(shù)據(jù)存儲數(shù)據(jù)庫模塊
該模塊內(nèi)容較為簡單,主要功能就是將上一個模塊得到的元數(shù)據(jù)信息和一些推測統(tǒng)計(jì)信息存儲到數(shù)據(jù)庫內(nèi)部,便于讀取和使用。此模塊采用基于分布式文件存儲的MongoDB數(shù)據(jù)庫來進(jìn)行存儲,其所有信息都采用類似于JSON的BSON格式進(jìn)行存儲,該存儲相比于傳統(tǒng)的關(guān)系型數(shù)據(jù)庫具有對象清晰、使用方便、輕量級、易擴(kuò)展等優(yōu)點(diǎn),便于后續(xù)的處理工作。
2.2.3 主機(jī)畫像構(gòu)建模塊
該模塊的主要作用構(gòu)建主機(jī)畫像,對主機(jī)行為進(jìn)行抽象化描述。該模塊通過從上一模塊的數(shù)據(jù)庫中讀取元信息,然后從網(wǎng)絡(luò)流中按照主機(jī)畫像的定義規(guī)則篩選出頻繁出現(xiàn)的主機(jī),并通過網(wǎng)絡(luò)流信息為這些主機(jī)構(gòu)建主機(jī)畫像。本系統(tǒng)中重新定義了主機(jī)行為特征的四個層次:連接層次、功能層次、流量層次和應(yīng)用層次,并使用這四個層次的一些行為特征對主機(jī)進(jìn)行畫像,這四個層次的特征如下:
1)連接層次:包含主機(jī)通信的目的IP的信息,即該主機(jī)與哪些其它主機(jī)進(jìn)行交流。該層次僅需要網(wǎng)絡(luò)流中的源IP和目的IP信息,提取的主機(jī)屬性為:目的IP個數(shù)、目的IP第二與第四字節(jié)熵的比值、目的IP第三與第四字節(jié)熵之比等。
2)功能層次:包含主機(jī)的目的IP聯(lián)合主機(jī)的開放端口信息,反映主機(jī)在網(wǎng)絡(luò)中的作用(如服務(wù)器還是個人PC等)。該層次提取的主機(jī)屬性為主機(jī)源端口個數(shù),主機(jī)目的端口個數(shù),系統(tǒng)端口、用戶端口和動態(tài)端口。
3)流量層次:包含主機(jī)流量的詳細(xì)統(tǒng)計(jì)信息,反映主機(jī)的流量特征。包括網(wǎng)絡(luò)流平均包個數(shù)、平均流量大小、平均包大小、平均持續(xù)時間等,另外還包含TCP連接一些字段的信息,如流平均ACK個數(shù)、流平均PSH個數(shù)等。
4)應(yīng)用層次:包含主機(jī)流量類型信息,反映主機(jī)業(yè)務(wù)類型的分布。該層次需要對網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行深度包檢測(DPI),從而得到每個網(wǎng)絡(luò)流所承載的協(xié)議。針對流量應(yīng)用進(jìn)行分析,可以準(zhǔn)確地定位主機(jī)的角色。流量應(yīng)用類型也是主機(jī)行為的一部分,對于服務(wù)器而言可以反映服務(wù)類型,對于客戶端而言可以揭示用戶的訪問習(xí)慣。
在構(gòu)建主機(jī)畫像過程中,本系統(tǒng)認(rèn)為TCP連接是有向的,對于一個主機(jī)來說,只有由這個主機(jī)建立的TCP連接才被計(jì)算進(jìn)這個主機(jī)的特征;而其它主機(jī)向這個主機(jī)建立的TCP連接則不算入該主機(jī)的特征。對于UDP流量而言,本系統(tǒng)認(rèn)為UDP連接是雙向的,UDP連接會被算入連接雙方主機(jī)的特征中。主機(jī)畫像的時間間隔按照網(wǎng)絡(luò)數(shù)據(jù)包的數(shù)據(jù)大小和詳細(xì)程度可以人為確定,且主機(jī)連接次數(shù)和網(wǎng)絡(luò)流量均大于一定閾值才被用于主機(jī)畫像。
該部分是整個系統(tǒng)的最后一部分,主要功能是通過前一模塊得到的主機(jī)畫像,來計(jì)算主機(jī)之間的距離,在此基礎(chǔ)之上使用聚類算法來對主機(jī)群進(jìn)行劃分,從而進(jìn)一步挖掘主機(jī)的行為模式,找到更高層次的普遍性的規(guī)律,進(jìn)行進(jìn)一步的分析工作。
主機(jī)聚類是利用主機(jī)的特征畫像計(jì)算主機(jī)間的相似性,然后將相似的一些主機(jī)組成不同的類別,得到一些彼此相似的主機(jī)群,最后再進(jìn)行分析處理工作。對主機(jī)進(jìn)行聚類來分析網(wǎng)絡(luò)數(shù)據(jù)可以用來挖掘網(wǎng)絡(luò)主機(jī)更深層次的行為模型,定位主機(jī)角色。還可以幫助監(jiān)控網(wǎng)絡(luò)情況,檢測網(wǎng)絡(luò)異常行為。并且可以減少監(jiān)控網(wǎng)絡(luò)、挖掘信息所需要的計(jì)算資源,提升分析方法的可擴(kuò)展性。
為了更好的反映主機(jī)之間的關(guān)系,在對主機(jī)聚類前,對主機(jī)畫像中的數(shù)值特征進(jìn)行歸一化和降維處理,先將所有特征數(shù)值都在范圍[0,1]之間。在特征歸一化之后對所有的特征進(jìn)行降維,本系統(tǒng)采用PCA(主成分分析)特征降維方法。之后進(jìn)行主機(jī)相似性度量,對于集合類型的特征采用Jaccard距離,并通過一定系數(shù)加權(quán)相加得到最終主機(jī)間的距離
D(xi,xj)=α1×dEuclidean(xi,Num,xj,Num)
+α2×djaccrard(xi,port,xj,port)
(1)
其中Jaccard距離公式如下
(2)
本系統(tǒng)采用聚合層次聚類(Hierarchical Clustering)的方法來對網(wǎng)絡(luò)主機(jī)進(jìn)行聚類,通過將數(shù)據(jù)組織成若干組并形成一個相應(yīng)的樹狀圖來進(jìn)行聚類。將每個主機(jī)均認(rèn)為是簇,簇與簇之間按照簇間相似度來逐漸進(jìn)行組合,直到滿足某個終結(jié)條件(達(dá)到預(yù)先給定的簇?cái)?shù)目或兩個簇組合之后得到的簇內(nèi)分散度大于給定閾值)或者所有主機(jī)均在一個簇中。采用基于Single-Link的聚類方法,根據(jù)兩個聚類中間隔最近的兩個點(diǎn)之間的距離來評價這兩個類之間的相似程度。這樣即可以得到一系列的主機(jī)群。
本實(shí)驗(yàn)利用網(wǎng)絡(luò)公開數(shù)據(jù)集:The UNSW-NB15 Dataset來進(jìn)行實(shí)驗(yàn)驗(yàn)證上述結(jié)果。
本實(shí)驗(yàn)共采用兩種不同的語言來進(jìn)行各個部分內(nèi)容的實(shí)現(xiàn)。第一部分主要語言為Java,實(shí)現(xiàn)的功能模塊為網(wǎng)絡(luò)流量采集部分和主機(jī)畫像構(gòu)建部分的前兩個模塊,即將所有分析結(jié)果寫入數(shù)據(jù)庫前面的所有模塊均用Java實(shí)現(xiàn),后續(xù)的用戶畫像和主機(jī)聚類分析模塊則使用Python實(shí)現(xiàn)。各個模塊各司其職,便于利用各個語言的優(yōu)勢,提升處理速率。
本實(shí)驗(yàn)使用pipeline模型,使得實(shí)驗(yàn)處理速率很快,可以達(dá)到10MB/s以上,可以高速的處理數(shù)據(jù)量很大的pcap數(shù)據(jù)包,很好地體現(xiàn)了管道模型的優(yōu)越性。
圖3 管道模型處理速率
本實(shí)驗(yàn)在主機(jī)聚類方面采用了一種改進(jìn)算法,使用存儲到數(shù)據(jù)庫中的關(guān)鍵特征來進(jìn)行聚類分析。這里還用了兩個其它的算法PCH(Profiling and Clustering Internet Host)和BCH(Unsupervised Host Behavior Classification from connection patterns)來作為對照算法,來檢驗(yàn)聚類的可靠性問題。下圖是三種算法的結(jié)果圖。
圖4 PCH聚類結(jié)果
圖5 BCH聚類結(jié)果
圖6 論文所提方法聚類結(jié)果
從上圖的結(jié)果可以看出,本文所采用的聚類方法可以得到比前兩種方法更好且更加準(zhǔn)確地分類結(jié)果。
在PCH算法中,該算法使用公共數(shù)據(jù)包中的包頭數(shù)據(jù)來選擇相關(guān)的特征對互聯(lián)網(wǎng)主機(jī)進(jìn)行畫像,并在主機(jī)畫像的基礎(chǔ)上使用分層聚類技術(shù)構(gòu)建包含所有主機(jī)的樹狀圖。左圖顯示的是相似矩陣的熱度圖,右圖則以樹狀圖的形式顯示層次聚類的結(jié)果。該聚類算法只得出了兩個主機(jī)群(紅色部分和綠色部分),有一些孤立的主機(jī)和連接數(shù)據(jù)較少的主機(jī)則被忽略,這是由于該算法在預(yù)處理的時候省略了一些IP所導(dǎo)致的。此算法可以得到一個大致的結(jié)果,但是沒有很準(zhǔn)確的給出所有主機(jī)群的情況,并不是完整的分類,具有很明顯的缺點(diǎn)。
在BCH算法中,該算法使用簡單的譜聚類算法來發(fā)現(xiàn)網(wǎng)絡(luò)主機(jī)之間的行為相似性以及主機(jī)行為類別。左圖顯示的是該數(shù)據(jù)集各個主機(jī)群聚類的結(jié)果,右圖則是顯示該數(shù)據(jù)集的投影圖加權(quán)鄰接矩陣??梢钥吹皆摂?shù)據(jù)集的主機(jī)群有兩個大類,還有一些小類和很多孤立的單個主機(jī)。該算法比PCH得到了更多的主機(jī)類別,還指出了一些孤立的主機(jī)。該算法得到的結(jié)果更加準(zhǔn)確一些,但是一些單點(diǎn)的分類還存在一定的問題,一些單點(diǎn)被錯誤合并,而一些單點(diǎn)則被錯誤分開,對于一些小類別該算法的分類結(jié)果就不理想,幾乎都是變成了單點(diǎn)或者進(jìn)行了合并。該算法每一次運(yùn)算后一些單點(diǎn)的分類都不相同。且一些幾乎不活躍的IP地址也被此算法忽略,會遺失一部分小流量IP的數(shù)據(jù)。
在本文所使用的改進(jìn)算法中,將類別進(jìn)行了一個很好的劃分,更加清楚的看到不同的類別??梢钥吹酱怂惴ㄒ驳玫搅藘深惔蟮闹鳈C(jī)群(分別為綠色和紫色),還有一些兩個主機(jī)構(gòu)成的小型的主機(jī)群,還有很多的單點(diǎn),可以看到大致結(jié)果和上述兩種算法得出的結(jié)果一致。此算法明確顯示出了一些小型的主機(jī)群以及它們之間的距離,對于一些單點(diǎn)的分類結(jié)果也要好于上述算法,更加明確且直觀的給出了該數(shù)據(jù)集各個主機(jī)之間行為的相似性和分布特征。該算法還可以調(diào)整閾值來控制主機(jī)聚類的細(xì)致結(jié)果,便于在不同維度和精度要求下宏觀調(diào)控主機(jī)群行為特征。且該算法涵蓋了數(shù)據(jù)集中的絕大多數(shù)IP,對于一些特殊的不活躍IP也有劃分,得到的結(jié)果也更加完整,且本算法幾次的結(jié)果都有較好的穩(wěn)定性。
使用本實(shí)驗(yàn)的上述結(jié)果,還可以根據(jù)其行為模式和行為特征描述,來進(jìn)行一些主機(jī)群類型和角色的推斷。如下表所示:
表1 主機(jī)群角色推測
可以根據(jù)主機(jī)群活動的群體行為模式,依照主機(jī)群畫像特征,來對主機(jī)群的角色進(jìn)行推斷,得到主機(jī)的典型行為,便于網(wǎng)絡(luò)的監(jiān)控和管理等。不僅可以在更高層次進(jìn)行一個分析,得出普遍規(guī)律,還可以發(fā)現(xiàn)其中一些危險主機(jī)群或者異常主機(jī)群,在一些特殊領(lǐng)域有著重要的意義。
隨著目前網(wǎng)絡(luò)通信的不斷發(fā)展,網(wǎng)絡(luò)結(jié)構(gòu)不斷的擴(kuò)大,網(wǎng)絡(luò)分析的難度也越來越大。低層次的分析往往無法覆蓋大規(guī)模網(wǎng)絡(luò),也滿足不了龐大的網(wǎng)絡(luò)需求,所以在更高層次的分析就顯得尤為重要。對主機(jī)群進(jìn)行聚類來分析網(wǎng)絡(luò)數(shù)據(jù)可以挖掘網(wǎng)絡(luò)主機(jī)更深層次的行為模型,定位主機(jī)角色,通過分析主機(jī)群的流量特征,可以挖掘出主機(jī)的行為模式以及其在網(wǎng)絡(luò)中對應(yīng)的角色。主機(jī)群聚類分析還可以幫助監(jiān)控網(wǎng)絡(luò)情況,檢測網(wǎng)絡(luò)異常行為。將整個網(wǎng)絡(luò)的流量,拆分成一個個主機(jī)群的流量,則可以更好的對流量進(jìn)行人為解讀。另外,通過聚類發(fā)現(xiàn)的主機(jī)行為特征還可以幫助針對網(wǎng)絡(luò)構(gòu)建合適的ACL規(guī)則,在一定程度上可以阻止黑客攻擊和網(wǎng)絡(luò)病毒。實(shí)驗(yàn)結(jié)果也表明,本文采取的方法能夠很好的獲取更高層次的主機(jī)群規(guī)律,且穩(wěn)定性較好,可以從數(shù)據(jù)包中一步步獲取目標(biāo)主機(jī)群的關(guān)系,便于大規(guī)模網(wǎng)絡(luò)的管理。