汪潔,楊力立,楊珉
?
基于集成分類器的惡意網(wǎng)絡流量檢測
汪潔,楊力立,楊珉
(中南大學信息科學與工程學院,湖南 長沙 410083)
針對目前網(wǎng)絡大數(shù)據(jù)環(huán)境攻擊檢測中因某些攻擊步驟樣本的缺失而導致攻擊模型訓練不夠準確的問題,以及現(xiàn)有集成分類器在構建多級分類器時存在的不足,提出基于多層集成分類器的惡意網(wǎng)絡流量檢測方法。該方法首先采用無監(jiān)督學習框架對數(shù)據(jù)進行預處理并將其聚成不同的簇,并對每一個簇進行噪音處理,然后構建一個多層集成分類器MLDE檢測網(wǎng)絡惡意流量。MLDE集成框架在底層使用基分類器,非底層使用不同的集成元分類器。該框架構建簡單,能并發(fā)處理大數(shù)據(jù)集,并能根據(jù)數(shù)據(jù)集的大小來調(diào)整集成分類器的規(guī)模。實驗結(jié)果顯示,當MLDE的基層使用隨機森林、第2層使用bagging集成分類器、第3層使用AdaBoost集成分類器時,AUC的值能達到0.999。
惡意網(wǎng)絡流量;攻擊檢測;攻擊階段;網(wǎng)絡流量聚類;集成分類器
由于大量的網(wǎng)絡用戶和高速增長的云服務數(shù)量,網(wǎng)絡安全大數(shù)據(jù)吸引了很多研究者[1-8]。網(wǎng)絡惡意流量種類繁多且數(shù)量龐大,這種特性使得網(wǎng)絡異常流量的檢測必然屬于大數(shù)據(jù)問題。除此以外,由于網(wǎng)絡流量具有復雜性和實時性,導致網(wǎng)絡流量的異常檢測面臨著一個巨大的挑戰(zhàn)。網(wǎng)絡惡意流量是互聯(lián)網(wǎng)安全威脅之一,它的產(chǎn)生是由于網(wǎng)絡黑客對網(wǎng)絡中某個節(jié)點發(fā)起攻擊。隨著攻擊技術的發(fā)展,攻擊場景越來越復雜,攻擊的隱蔽性和多態(tài)性加深了攻擊預防與檢測的難度。
網(wǎng)絡異常主要來自于網(wǎng)絡/系統(tǒng)故障或者攻擊行為。其中,系統(tǒng)/網(wǎng)絡故障很容易發(fā)現(xiàn)并定位問題。但是,由于攻擊行為具有隱蔽性、多樣性和時間的非連續(xù)性,給網(wǎng)絡異常檢測帶來困難。然而,如果盡早地發(fā)現(xiàn)攻擊,做好防御措施就能夠盡量地減少攻擊帶來的損害。許多研究者對網(wǎng)絡異常檢測展開了研究,提出了很多網(wǎng)絡異常檢測方法,包括基于單分類支持向量機和主動學習的方法[9]、基于主成分分析的方法[10]、基于時間序列分析的方法[11]和基于健壯多元概率校準模型的方法[12]等。
在網(wǎng)絡異常流量檢測領域中,近年來研究者們關注使用流量的統(tǒng)計特征在數(shù)據(jù)集中挖掘異常。目前,流量異常檢測方法主要包括基于簽名的異常檢測、基于行為的異常檢測、基于流量統(tǒng)計特征的異常檢測。尤其許多研究者重點關注使用機器學習與數(shù)據(jù)挖掘的方法來分析異常流量統(tǒng)計特征,如最大報文大小、平均報文大小、TCP(transmission control protocol)數(shù)量等。然而,大多數(shù)的研究重點關注檢測攻擊類型,同目前的IPS一樣,是針對單一攻擊事件的檢測。在真實情景下,攻擊是有步驟可分的,攻擊行為之間常常存在關聯(lián)。在模型構建的過程中,如果缺失某個攻擊步驟的樣本,就會導致模型的訓練不夠準確。
目前,有許多研究者關注網(wǎng)絡大數(shù)據(jù)的安全問題,并在大數(shù)據(jù)背景下提出了很多異常檢測方法。例如,Zhang等[5]提出基于離群點的異常檢測方法(A-SPOT, adaptive stream projected outlier detection),使用的研究數(shù)據(jù)集是KDD99。KDD99是經(jīng)典的入侵檢測數(shù)據(jù)集。A-SPOT在大量的高維度數(shù)據(jù)中首先構建子空間聚類模式,在子空間中檢測異常。最近,在大數(shù)據(jù)集的處理問題上使用集成分類器得到了研究者的廣泛關注。
分類器主要包含2種類型,基分類器和集成分類器[13]。常見的基分類器有BayesNet、J48、SMO等。集成分類器指的是結(jié)合簡單基分類器構建的分類器模型,例如隨機森林、AdaBoost。在人工智能和數(shù)據(jù)挖掘領域,研究者們已經(jīng)提出許多創(chuàng)建集成分類器的方法,集成分類器同時也是一種多級分類器[14-15]。
傳統(tǒng)的集成分類器使用單一的基分類器,并在集成分類器的生成階段,使用所有的基分類器來處理數(shù)據(jù),收集每個基分類器的輸入并結(jié)合這些輸入進行最后的決策。例如,隨機森林就是一種傳統(tǒng)的集成分類器。隨機森林自動生成隨機樹集合,并聯(lián)合所有隨機樹的結(jié)果共同決策。盡管研究者已經(jīng)提出多級分類器,但這些方法在系統(tǒng)中使用的都是基分類器,沒有把集成元分類器考慮到多層系統(tǒng)中[16-18]。
本文針對目前網(wǎng)絡大數(shù)據(jù)環(huán)境攻擊檢測存在的問題,以及現(xiàn)有集成分類器存在的不足,設計了一個層多級分布式自動化集成分類器(MLDE, multi-level distributed ensemble classifiers)來檢測大數(shù)據(jù)環(huán)境下的網(wǎng)絡惡意流量。MLDE集成框架在非底層迭代使用集成元分類器,且每層使用的集成元分類器不同,而在最底層使用基分類器。整個MLDE集成框架自動將每層的分析結(jié)果合并起來傳輸給上一層進行分析,最后由頂層分類器實施最終的決策,實現(xiàn)框架的自動化。在整個MLDE集成框架構建過程中,不需要人為干預。在面臨大數(shù)據(jù)處理時,這種特性使得MLDE框架的構建簡單。另外,這種迭代分層的協(xié)作方法能夠以一種并發(fā)的方式處理大數(shù)據(jù)集,同時能夠根據(jù)數(shù)據(jù)集的大小來調(diào)整集成分類器的規(guī)模。
在訓練MLDE之前,對數(shù)據(jù)進行一系列的預處理。首先,從數(shù)據(jù)流中提取統(tǒng)計特征,然后對特征進行預處理,例如對其進行離散化等。由于網(wǎng)絡惡意流量是復雜的,常常包含多個攻擊階段,例如,在整個DDoS(distributed denial of service)的攻擊活動過程中,常常包含多個攻擊步驟,如掃描、安裝特洛伊木馬、發(fā)起DDoS等。不同的攻擊階段包含不同的網(wǎng)絡流量統(tǒng)計特征。如果將所有的攻擊階段數(shù)據(jù)流放在一起分析,很難訓練出精確的攻擊檢測模型。因此,在訓練MLDE之前,采取了無監(jiān)督學習模式來預處理數(shù)據(jù)集,將數(shù)據(jù)集劃分到不同的簇,使得每個簇的數(shù)據(jù)集盡可能屬于一個攻擊階段。另外,由于網(wǎng)絡惡意流量中常常會包含噪音,因此在預處理階段采用種子擴充算法去除這些噪音流。
本文的主要目標是為大數(shù)據(jù)環(huán)境下的網(wǎng)絡惡意流量開發(fā)MLDE分類器,總的來說本文的貢獻包括以下幾個方面。
1) 提出了基于攻擊階段無監(jiān)督學習的異常檢測框架。
2) 提出層MLDE集成分類器對網(wǎng)絡惡意流量進行檢測。MLDE分類器是針對大數(shù)據(jù)環(huán)境設計的,當數(shù)據(jù)集較小時,MLDE分類器能夠轉(zhuǎn)化為僅僅使用基分類器或者僅使用整個分類器的一部分對數(shù)據(jù)集進行預處理。
3) 使用種子擴充算法移除噪音,提高分類器的正確性。
本文研究內(nèi)容包括基于異常流量的數(shù)據(jù)預處理技術、攻擊階段搜索方法和基于攻擊階段的異常流量集成檢測技術3部分。在進行這些研究之前,需要對攻擊階段的相關概念進行定義。
目前經(jīng)典的對網(wǎng)絡攻擊階段的定義來自著名的攻擊鏈模型(cyber kill chain model)[19-22]。深入理解這個模型能夠幫助安全機構在遇到安全威脅時選擇正確的安全防御措施。攻擊鏈模型將攻擊分為7個攻擊階段。
1) 踩點(reconnaisance):在這個階段,攻擊者通過對公開的可得到的信息進行研究,對攻擊目標進行相關決策。
2) 武裝( weaponization):為了攻擊目標,攻擊者收集攻擊需要用到的設備和工具。收集到的信息越多,則越有利于攻擊的進行。攻擊的形式包括利用Web應用程序漏洞(Web application exploitation)、現(xiàn)有的或自己開發(fā)的惡意軟件( off-the-shelf or custom malware)、復合文檔漏洞(compound document vulnerabilities )、水坑攻擊( watering hole attacks)等。
3) 投送(delivery):攻擊者通過郵件或者其他的方式發(fā)送惡意載荷(payload)到目標。
4) 攻擊(exploitation):執(zhí)行攻擊載荷。
5) 安裝(installation):該階段的操作可能需要較久的時間,安裝對象可能是一個惡意軟件或可執(zhí)行代碼。安裝的惡意軟件或可執(zhí)行代碼能夠打開一個通道使得外部機器或網(wǎng)絡設備能夠訪問目標。而且,這個通道需要在一定的時間內(nèi)保持活躍。
6) 命令與控制(command and control):攻擊者創(chuàng)建一個命令與控制通道,這個通道能夠持續(xù)的控制和操作已經(jīng)能夠訪問的目標機器。
7) 收割(action on targets):在攻擊者能夠訪問目標機器后,可能進行一次或多次的漏洞利用,直到攻擊者的目標已經(jīng)實現(xiàn)。
除了經(jīng)典的攻擊鏈模型對攻擊階段的定義外,很多研究者在自己的研究工作中也對攻擊階段進行了歸納。例如,綠盟將攻擊分為5個階段,分別是偵查階段、定向攻擊階段、“攻陷+入侵”階段、安裝工具階段和惡意活動攻陷階段。偵查階段即是對網(wǎng)絡、系統(tǒng)、端口、漏洞等進行探測掃描,了解目標信息。定向攻擊階段利用堆棧漏洞、Web漏洞、邏輯配置漏洞、內(nèi)存漏洞等對主機實施滲透攻擊。當攻擊進入“攻陷+入侵”階段,表示主機已經(jīng)被成功攻陷,攻擊者可以做進一步的系統(tǒng)權限提升或者進一步攻擊目標系統(tǒng)中的其他服務,如ftp登陸、telnet密碼破解等。安裝工具階段即是在目標機器上安裝惡意軟件,比如安裝木馬程序,通過這些惡意軟件實現(xiàn)對目標的持續(xù)控制。在惡意活動階段,攻擊者實現(xiàn)此次攻擊的最終目的,收取最終利益。
使用聚類的方法分析異常流量,即是嘗試從網(wǎng)絡流量相似性的角度來劃分攻擊階段。雖然屬于同一攻擊階段的流量具有相似性,但是并不是所有屬于同一攻擊階段的流量都絕對是相似的。例如,掃描流量屬于攻擊階段流量,針對大部分普通端口的掃描流量是相似的,但是這些普通端口的掃描流量與掃描http(hypertext transfer protocol)服務和ftp服務的流量是不相似的。所以,本文依據(jù)攻擊粗細粒度的不同對攻擊階段等概念作如下定義。
1) 攻擊場景(attack scenario):無論攻擊是否成功,一次完整的攻擊活動稱為攻擊場景,它由多個攻擊階段組成。
2) 攻擊階段(attack stage):不同的攻擊階段在攻擊場景中完成不同的任務。不同的攻擊階段之間具有邏輯關系和時間先后順序。每個攻擊階段由多個元攻擊階段組成。參考大量文獻后,本文將攻擊場景劃分為5個攻擊階段,并對一次成功或失敗的攻擊場景所依賴的攻擊階段組合進行總結(jié),如表1所示。在真實情景下,收集到的某一攻擊類型的攻擊階段組合是其中的一種。
在這里攻擊的5個階段分別是:偵查階段、掃描階段、獲取目標權限階段、控制目標階段和發(fā)起攻擊階段。偵查階段即是攻擊者通過各種渠道盡可能多地了解目標。偵查階段所采用的手段包括:社會工程、互聯(lián)網(wǎng)搜索、域名管理/搜索服務、搜尋垃圾數(shù)據(jù)、非侵入性的網(wǎng)絡掃描等。為了尋找網(wǎng)絡環(huán)境中的漏洞,攻擊者針對目標以及目標周邊的網(wǎng)絡環(huán)境實施帶有侵入性地掃描。掃描內(nèi)容包括:開放的端口、開發(fā)的應用服務、操作系統(tǒng)/應用程序漏洞、保護性差的數(shù)據(jù)傳輸鏈路、局域網(wǎng)/廣域網(wǎng)設備的品牌和型號等。獲取目標權限階段意味著攻擊已經(jīng)開始,可以通過電子郵件、即時通信軟件、社交網(wǎng)絡或是應用程序/系統(tǒng)漏洞等獲取目標權限。控制目標階段即是保持攻擊者與目標主機或者肉機連接,常見的方式如安裝木馬程序等。發(fā)起攻擊階段即是開展一系列目標主機的非正?;顒?。
表1 攻擊階段組合
本文提出基于攻擊階段的異常流量自動檢測框架如圖1所示,主要包括6個步驟。
1) 訓練離散標準:首先人工標記訓練集為5個攻擊階段,并利用標記后的流量訓練有監(jiān)督的離散標準。
2) 離散化:利用訓練好的離散標準離散化正常流量數(shù)據(jù)集和異常流量數(shù)據(jù)集,然后對離散后的數(shù)據(jù)集進行二元化。
3) k-means聚類:利用k-means對“混合訓練集”進行聚類,為擴展實驗k-means算法的輸入?yún)?shù)從1擴展到8。其中,混合訓練集指數(shù)據(jù)集中包含正常流量和異常流量。
4) 去噪音:使用種子擴充算法移除k-means聚類結(jié)果中的噪音[23]。
5) 訓練攻擊階段模型:利用去噪音后的k-means聚類結(jié)果, 訓練多層集成分類器MLDE模型。
6) 檢測:驗證模型精度。
本文所有實驗采用的數(shù)據(jù)集來自麻省理工學院林肯實驗室網(wǎng)絡安全信息科學組[24]?;诠綦A段的異常流量自動檢測框架的第一步是訓練離散標準。在訓練離散標準之前,根據(jù)數(shù)據(jù)集的說明文檔將其人為地標記為5個階段,即搜索階段、掃描階段、獲取目標權限階段、控制目標階段和發(fā)起攻擊階段。
圖1 基于攻擊階段的異常流量檢測框架
本文使用異常流量的統(tǒng)計特征來研究異常流量的分析與檢測。Wang等[25]將IP數(shù)據(jù)流定義為互聯(lián)網(wǎng)中2個節(jié)點之間的所有IP分組。IP數(shù)據(jù)流是異常流量分析與檢測的基本單元。本文使用五元組定義IP數(shù)據(jù)流:源IP、源端口、目的IP、目的端口和協(xié)議。
特征選擇和轉(zhuǎn)換在機器學習中扮演了一個重要的角色。Comar等[29]使用提取自Narus語義流量分析器(STA, semantic traffic analyzer)的少于248個特征的108個屬性研究惡意軟件的檢測。其研究對象包括蠕蟲、木馬軟件等流量的檢測。他們提取的部分流量統(tǒng)計屬性包括:數(shù)據(jù)分組的數(shù)目、有效載荷的字節(jié)大小等。使用這些流量統(tǒng)計屬性進行分類面臨的挑戰(zhàn)包括:1) 同時處理連續(xù)值和離散值;2) 特征的關聯(lián)特性;3) 缺失值的處理。選擇越多的統(tǒng)計特征并不意味著對分類越好,有許多關于特征選擇的文章對這點進行了論證。但是,Comar等的工作證明了這108個統(tǒng)計屬性在異常流量分析中具有區(qū)分度。本文的目標是在這些屬性中發(fā)現(xiàn)最具有區(qū)分度的流量統(tǒng)計屬性。
Lim等[30]討論了流量特征及其組合在網(wǎng)絡流量分類中的區(qū)分度。他們將流量特征進行分組,然后使用機器學習算法對這些特征組合及特征進行評估,以此找出最具有區(qū)分度的屬性度量,并對這些屬性的區(qū)分度進行排名。研究結(jié)果顯示分組大小和端口信息在所有的算法中有著最高的精度。除此而外,還進一步分析了不同數(shù)目的數(shù)據(jù)分組的大小的區(qū)分度,例如,最大和平均分組大小總體上比其他單一的獨立分組大小的精度更高。
根據(jù)上述研究者的工作,可以得出結(jié)論:統(tǒng)計信息pkt size,pkts,bytes,duration,tcp flag在流量分類中擁有區(qū)分度。結(jié)合Comar等人的研究,本文選擇的統(tǒng)計特征如表2所示。
異常流量的統(tǒng)計屬性通常是連續(xù)值。為了使得挖掘更為有效,常在預處理階段中使用數(shù)據(jù)變換策略[31],這些策略包括:光滑策略、屬性構造策略、聚集策略、離散化策略、二元化策略等。由于網(wǎng)絡異常流量的屬性值差別很大,直接使用連續(xù)的屬性值進行分類聚類會導致分類精度不高。因此首先需要對其進行預處理。已有研究表明離散化對于分類有很大的影響,它能夠進一步提升分類的準確度[30]。受此啟發(fā),本節(jié)主要研究離散化對于聚類的影響。
表2 流特征屬性
離散化指的是將連續(xù)值劃分為多個區(qū)間,并給劃分區(qū)間打上區(qū)間標簽或者概念標簽。在這個過程中,連續(xù)的數(shù)值型屬性離散成標稱型屬性。離散化方法包括有監(jiān)督的離散方法和無監(jiān)督的離散方法,典型的有監(jiān)督的離散方法是Ent-MDL。這個方法基于最短描述法則,同時也是基于熵的離散化方法。在離散化劃分過程中,Ent-MDL使用基于最短描述法則的方法自上而下停止基于熵的劃分。典型的無監(jiān)督離散化方法是分箱。分箱在離散化過程不需要使用類信息,所以是無監(jiān)督的離散化方法。這是一種自頂向下的分裂方法,包括等寬分箱和等頻分箱。等寬分箱指的是對連續(xù)值進行劃分,每個劃分區(qū)間的長度相同。等頻分箱指的是每個分箱的數(shù)據(jù)值個數(shù)相同。分箱后使用箱均值、箱中位數(shù)、箱邊界替換箱中的每一個值,可將屬性離散化。
接下來通過實驗對比有監(jiān)督的離散化方法和無監(jiān)督的離散化方法對聚類的影響。實驗所采用的數(shù)據(jù)集是攻擊階段流量,采用的聚類算法包括k-means、EM、farthestfirst、canopy,采用的有監(jiān)督離散化方法是Ent-MDL,采用的無監(jiān)督離散化方法是分箱。如圖2~圖5所示。橫坐標表示聚類的數(shù)目,縱坐標表示未正確聚類實例的百分比。這個百分比越小表示聚類準確度越高,聚類效果越好。從圖2~圖5中可以看出,使用無監(jiān)督離散化方法離散的數(shù)據(jù)集對聚類算法進行評估,其未正確聚類實例的百分比高于使用有監(jiān)督的離散化方法離散的數(shù)據(jù)集,即使用有監(jiān)督的離散化方法處理數(shù)據(jù)集能夠取得更好的聚類結(jié)果。基于此,本文在處理異常流量時采用有監(jiān)督的離散化方法來離散數(shù)據(jù)集。
圖2 不同離散化方法對k-means影響
圖4 不同離散化方法對farthestfirst影響
圖5 不同離散化方法對canopy影響
正如前面所提,網(wǎng)絡惡意流量包含多個階段,因此本文首先應用simple k-means將流量聚成5類。simple k-means是經(jīng)典k-means算法,Weka實現(xiàn)了該算法,在文獻[32]進行了詳細地描述。由于網(wǎng)絡惡意流量中經(jīng)常包含了一些噪音流量,而simple k-means能很好地聚成5類,但是并不能去除其中的噪音流量,因此本文進一步對每一類應用種子擴充算法[23]去除其中的噪音流量。種子擴充算法的目標是發(fā)現(xiàn)那些與簇中其他節(jié)點距離均比較大的節(jié)點,并把它們作為噪音流。具體對于種子擴充算法的描述請見文獻[23],本文不做細述。
本文提出的MLDE框架理論上包含層,是一種通用的多級分類器方法。但實際上由于計算機計算能力的不同,真實情景下,普通個人的計算機能實現(xiàn)的層次僅為3層或4層??紤]到面向大數(shù)據(jù)時框架的通用性,本文敘述層MLDE框架的構建方法。
MLDE框架如圖6所示。MLDE在不同的層次使用不同的分類器。第1層是最底層,最底層使用基分類器,如BayesNet、J48、SMO(Sequential Minimal Optimization)等。而在第2層至第層框架使用集成元分類器(ensemble meta classifier),包括AdaBoost、bagging、dagging等。在這里,第–1層分類器是第層中的一部分。第–2層是第–1層中不可分割的一部分。同上,底層是第2層中不可分割的一部分。圖6中箭頭的方向指示了數(shù)據(jù)流的方向。底層分類器使用基分類器來分析原始數(shù)據(jù)實例,并將分析結(jié)果上交給第2層分類器。從第2層分類器以后,每一層的分類器都使用集成元分類器。第2層的集成分類器收集來自第1層的基分類器的輸出,并將輸出的結(jié)果進行合并分析,然后將本層的輸出結(jié)果傳遞給當前層次的上一層分類器,即第3層分類器。類似地,當?shù)讪C1層分類器收集到來自第–2層分類器的輸出結(jié)果,同時合并分析這些結(jié)果,將本層的結(jié)果傳遞給第層/頂層分類器。最終,由頂層分類器做出最后決策。
圖6 N層MLDE框架
在構建MLDE時,框架的初始化方向即是從頂層到底層的分類器的調(diào)用方向,圖7~圖9動態(tài)地展示整個初始化/調(diào)用過程。圖中箭頭指示的方向是調(diào)用方向/初始化方向,反映了分類器之間的關系。正如圖7所示,每一層的分類器可以包含一個或多個分類器。第–1層分類器由第層分類器生成,即是–1層分類器作為第層分類器的輸入?yún)?shù)進行初始化。第–1層分類器由第–2層分類器生成,此時第–2層分類器作為第–1層的輸入?yún)?shù)進行初始化,如圖4~圖5所示。類似地,依次從第層、第–1層……,直第2層使用集成元分類器進行初始化。當初始化最底層/第1層時,第2層將第1層分類器作為輸入?yún)?shù),且第1層的分類器使用基分類器。圖9展示了初始化后的整個MLDE框架。
圖7 頂層調(diào)用關系
圖8 第N層到N–2層調(diào)用關系
使用MLDE的優(yōu)勢是它能自動的構建整個系統(tǒng),由于在每一層使用不同的集成元分類器,因此下一層的集成分類器作為上一層的集成分類器的參數(shù),即下一層分類器作為上一層的集成分類器的一部分。這種構建方式使得模型的建立簡單有效。在不同層次使用不同的集成元分類器,增強了整個框架的分類能力和并行處理能力。層次越多的MLDE框架在構建模型時,消耗的計算機內(nèi)存越多。當數(shù)據(jù)集較小時,MLDE可以由多層分類器退化為一級分類器。這樣使得框架能滿足不同規(guī)模大小的數(shù)據(jù)集的需求。
圖9 MLDE調(diào)用關系
經(jīng)典的基分類器包括:SMO、FURIA、SPegasos、random forest、MLP、DTNB(decision table Na?ve Bayes)、BayesNet、J48。本節(jié)對這些基分類器作一個簡單的介紹。
SVM(support vector machine)算法的目的是解決一個大的二次規(guī)劃問題。訓練一個支持向量機需要消耗大量內(nèi)存和運行時間。為了簡單化支持向量機算法,Platt 提出SMO算法(sequential minimal optimization)[33],這個算法將一個大的二次規(guī)劃問題分成一系列小的只包含2個變量的問題。FURIA (fuzzy unordered rule induction algorithm) 是一個基于模糊規(guī)則的算法[34],它是對規(guī)則學習器RIPPER(repeated incremental pruning to produce error reduction)算法的修正和擴展。FURIA使用模糊規(guī)則代替常規(guī)規(guī)則,使用無序規(guī)則代替有序規(guī)則?;谠诰€的次梯度投影方法SPegasos(primal estimated sub-gradient solver for SVM)[35]。這個方法在處理大規(guī)模數(shù)據(jù)集問題上已經(jīng)取得了較好的實驗結(jié)果。
random forest是一種集成的機器學習方法[36],這個方法利用隨機重復抽樣技術和節(jié)點隨機劃分技術去構造多個決策樹。最后的分類結(jié)果通過投票獲得。MLP(multilayer perception)是多層感知器技術[37]。單層感知器技術能夠完成線性分離數(shù)據(jù)的分類問題,但是不能夠解決非線性問題。通過增加一個新的隱藏層次,MLP能夠解決非線性問題。 DTNB是一個結(jié)合決策表和樸素貝葉斯分類算法的組合分類算法[38]。貝葉斯網(wǎng)絡(BayesNet)描述的是一組變量所遵從的概率分布,它通過一組條件概率來指定一組條件獨立性假定。J48算法是C4.5算法在weka中的應用[32],是決策樹算法。
本文同時也研究了部分集成分類器的性能,它們包括stacking、bagging、AdaBoost、multiboost、grading、decorate、dagging等。stacking算法是Wolpert為疊加泛化提出一個機器學習框架[39]。算法由2階段構成:基分類器的輸出結(jié)果被用來作為第2階段集成分類器的輸入。集成學習算法被用來揭示如何更好地集成每一個基分類器的輸出結(jié)果。
bagging 算法的主要思想是給出一個弱學習算法和訓練數(shù)據(jù)集,弱學習算法對這個訓練樣本進行多次分類[40]。采用多數(shù)投票的方法確定最終的分類結(jié)果。通過這種方式,最終結(jié)果的分類精度將會被提高。AdaBoost是boosting算法的一種[41]。該算法使用不同的弱分類器對同一個訓練數(shù)據(jù)集進行分類,然后把所有弱分類器集合起來,構成一個強分類器。multiboost結(jié)合bagging算法和AdaBoost算法[42]。合并這2個算法的原因為:1) bagging算法主要是減少方差,然而AdaBoost不僅減少方差,同時減少偏差。2) 在減少方差時,bagging比AdaBoost更有效。
grading 算法試圖標志和修正基分類器中的不正確預測[43]。這是一個元分類技術,它使用基分類器的預測作為元級屬性,使用“分等級的”預測作為元級類。decorate是一個集成同構分類器算法[44]?;舅枷胧遣粩嗟卦黾尤斯颖镜接柧毤?,以確保在增加一個新的分類器后集成分類器的精度不會減少。dagging算法是一個有效的集成分類方法,尤其當獨立的分類器有著糟糕的時間復雜度時[45]。這個元分類器在數(shù)據(jù)之外構造一系列的節(jié)點和層級,而且對基分類器的副本提供數(shù)據(jù)通道。算法通過聯(lián)合投票規(guī)則將弱學習算法的輸出結(jié)果結(jié)合起來。
理論上MLDE是一個層框架,大于或等于1。但實際上,由于計算機硬件水平的限制,并不能無限大。所以,在對MLDE框架進行評估的時候,本文重點研究在不同的層次使用不同的集成元分類器是否能夠增強分類效果。本文實驗的計算機配置為處理器intel(R) core(TM) i7-6700HQ CPU @ 2.60 GHz、內(nèi)存8.00 GB、64位操作系統(tǒng)。
實驗主要測試基分類器和集成分類器在構建MLDE時對惡意流量和正常流量的分類效果。本文使用WEKA中的simpleCLI來生成和執(zhí)行分類器,并采用10倍交叉的驗證方式來評估分類器的效率[46],評估的結(jié)果用常見的分類器的性能評估指標(area under curve or ROC area)進行展示。
首先比較針對網(wǎng)絡惡意流量的幾種不同的基分類器的性能。實驗過程中不對數(shù)據(jù)集進行數(shù)據(jù)預處理,得到的基分類器結(jié)果如圖10所示。從圖10可以看出,random forest取得最好的實驗結(jié)果,其次是J48算法。
基于圖10的結(jié)果,在基于攻擊階段的異常檢測框架中有一個步驟是“k-means粗糙聚類”,實驗過程中,在k-means聚類的過程中輸入聚類數(shù)目1~8作為輸入?yún)?shù),從而生成8組k-means實驗結(jié)果。然后,分別基于這8組實驗結(jié)果使用random forest進行分類,分類結(jié)果如圖11所示。隨著k-means聚類數(shù)目的增加,AUC也跟著增加。當聚類數(shù)目達到5的時候,AUC開始保持穩(wěn)定。所以,采用聚類數(shù)目是5的k-means實驗結(jié)果進行下一步分析。觀察了實驗結(jié)果數(shù)據(jù),發(fā)現(xiàn)k-means聚出的5類基本對應于之前標記的攻擊5個階段。這主要是因為在聚類之前,本文首先訓練了離散標準,即人工標記訓練集為5個攻擊階段,并利用標記后的流量訓練有監(jiān)督的離散標準。最后實驗利用種子擴充算法來移除網(wǎng)絡惡意流量的噪音,結(jié)果如表3所示,移除噪音能夠進一步提升分類效率。在本數(shù)據(jù)集,去除的噪音比例大約在10%。
圖10 幾種基分類器的評估結(jié)果
圖11 被聚類的數(shù)據(jù)集的AUC結(jié)果
實驗還驗證了多級集成分類器提高分類效果的能力。本文選擇測試結(jié)果最好的random forest作為MLDE的第1層基分類器,然后再采用經(jīng)典的集成分類器和使用較多的集成分類器放在MLDE的第2層與random forest組合在一起進行測試。測試組合包括:(AdaBoost,random forest)、(bagging,random forest)、(dagging,random forest)、(decorate,random forest)、(grading,random forest)、(multiboost,random forest)、(stacking,random forest),括號中第1項表示MLDE第2層采用的集成分類器,第2項表示采用的基分類器。其中,組合(AdaBoost,random forest)在第2層分類器中表現(xiàn)最佳,如圖12所示。從圖12可以看出,組合(AdaBoost,random forest)、(bagging,random forest)、(dagging,random forest)、(decorate,random forest)取得了較好的實驗結(jié)果。因此,在對第3層MLDE集成框架進行評估時,本文選用AdaBoost、bagging、dagging和decorate作為第3層的候選集成分類器,并對所有組合進行了測試。實驗結(jié)果如圖13所示??v坐標表示第2層和第3層的集成分類器組合,其中左邊的分類器是第3層分類器,右邊的分類器是第2層分類器。在3層MLDE框架中,沒有在不同層次中使用同一種集成元分類器。因為已有實驗顯示這種組合并不能提高分類效率,使得分類效果有所改善[16-17]。當AdaBoost在第3層中使用,bagging 在第2層中使用,random forest作為第1層的基分類器時實驗取得最好結(jié)果,AUC達到了0.99以上。另外實驗結(jié)果顯示,由于5個階段的流量有其各自的特點,因此識別難度是基本相同的。
表3 去噪音與未去噪音實驗結(jié)果對比
圖12 不同的集成分類器的AUC結(jié)果
圖13 3層MLDE實驗結(jié)果
本文提出基于攻擊階段的異常流量集群檢測技術(MLDE),并詳細的解釋了框架中的每個步驟,包括訓練離散標準、離散化、k-means粗糙聚類、去噪音、訓練攻擊階段模型、檢測等步驟。實驗結(jié)果顯示在MLDE框架中使用不同的集成元分類器組合能夠進一步提升分類模型標識惡意網(wǎng)絡流量的能力。其中,在所有的基分類器中,random forest是最適合用來分類網(wǎng)絡惡意流量數(shù)據(jù)集。比起其他的集成元分類器,AdaBoost進一步提升分類效果的能力最強。在3層MLDE框架中,訓練出的模型能夠獲得的最好AUC值達到0.99以上。
[1] MOKHTAR B,ELTOWEISSY M. Big data and semantics management system for computer networks[J]. Ad Hoc Networks, 2017, 57: 32-51.
[2] BROEDERS D, SCHRIJVERS E, SLOOT B VD, et al. Big data and security policies: towards a framework for regulating the phases of analytics and use of big data[J]. Computer Law & Security Review, 2017, 33(3):309-323.
[3] MANOGARAN G, THOTA C, KUMAR M V. MetaCloudDataStorage architecture for BIG DATA security in cloud computing[J]. Procedia Computer Science, 2016, 87: 128-133.
[4] XIA Y, CHEN J, LU X, et al. Big traffic data processing framework for intelligent monitoring and recording systems[J]. Neurocomputing, 2016, 181: 139-146.
[5] ZHANG J, LI H, GAO Q, et al. Detecting anomalies from big network traffic data using an adaptive detection approach[J]. Information Sciences, 2015, 318(C): 91-110.
[6] SARALADEVI B, PAZHANIRAJA N, PAUL P V, et al. Big data and hadoop-a study in security perspective[J]. Procedia computer science, 2015, 50: 596-601.
[7] WANG H, JIANG X, KAMBOURAKIS G. Special issue on Security, Privacy and Trust in network-based big data[J]. Information Sciences, 2015, 318(C): 48-50.
[8] SANCHEZ M I, ZEYDAN E, OLIVA A D L, et al. Mobility management: deployment and adaptability aspects through mobile data traffic analysis[J]. Computer Communications, 2016, 95: 3-14.
[9] 劉敬, 谷利澤, 鈕心忻, 等. 基于單分類支持向量機和主動學習的網(wǎng)絡異常檢測研究[J]. 通信學報, 2012, 36(11): 136-146.
LIU J, GU L Z, NIU X X, et al. Research on network anomaly detection based on one-class SVM and active learning[J]. Journal on Communications, 2012, 36(11): 136-146.
[10] 錢葉魁, 陳鳴, 葉立新. 基于多尺度主成分分析的全網(wǎng)絡異常檢測方法[J]. 軟件學報,2012,23(2):361-377.
QIAN Y K, CHEN M, YE L X. Network-wide anomaly detection method based on multiscale principal component analysis[J]. Journal of Software, 2012,23(2):361-377.
[11] 鄭黎明. 大規(guī)模通信網(wǎng)絡流量異常檢測與優(yōu)化關鍵技術研究[D]. 長沙: 國防科技大學, 2012.
ZHENG L M. Key Technologies research on traffic anomaly detection and optimization for large-scale networks[D]. Changsha: National University of Defense Technology, 2012.
[12] 李宇翀, 羅興國, 錢葉魁, 等. RMPCM: 一種基于健壯多元概率校準模型的全網(wǎng)絡異常檢測方法[J]. 通信學報, 2015,36(11):201-212.
LI Y C, LUO X G, QIAN Y K, et al. Network-wide anomaly detection method based on robust multivariate probabilistic calibration model[J]. Journal on Communications, 2015,36(11):201-212.
[13] ABAWAJY J H, KELAREV A, CHOWDHURY M. Large iterative multitier ensemble classifiers for security of big data[J]. IEEE Transactions on Emerging Topics in Computing, 2014, 2(3): 352-363.
[14] ABAWAJY J, CHOWDHURY M, KELAREV A. Hybrid consensus pruning of ensemble classifiers for big data malware detection[J]. IEEE Transactions on Cloud Computing, 2015,PP(99):1.
[15] ISLAM R, ABAWAJY J. A multi-tier phishing detection and filtering approach[J]. Journal of Network and Computer Applications, 2013, 36(1): 324-335.
[16] ISLAM M R, ABAWAJY J, WARREN M. Multi-tier phishing email classification with an impact of classifier rescheduling[C]//Pervasive Systems, Algorithms, and Networks (ISPAN).IEEE,2009: 789-793.
[17] ISLAM R, SINGH J, CHONKA A, et al. Multi-classifier classification of spam email on a ubiquitous multi-core architecture[C]//Network and Parallel Computing. IEEE, 2008: 210-217.
[18] ISLAM MR, ZHOU W, GUO M, et al. An innovative analyser for multi-classifier email classification based on grey list analysis[J]. Journal of network and computer applications, 2009, 32(2): 357-366.
[19] RUTHERFORD J R, WHITE G B. Using an improved cybersecurity kill chain to develop an improved honey community[C]//International Conference on System Sciences. 2016: 2624-2632.
[20] MIHAI I C, PRUNA S, BARBU I D. Cyber kill chain analysis[J]. Information Security and Cybercrime,2014, 3: 37.
[21] DALZIEL H. Securing social media in the enterprise[M]. Amsterdam: Syngress Publishing, 2015: 7-15.
[22] WINKLER I, GOMES A T. Advanced persistent security[M]. Amsterdam :Syngress Publishing, 2017: 179-184.
[23] 汪潔,何小賢. 基于種子——擴充的多態(tài)蠕蟲特征自動提取方法[J]. 通信學報, 2014,35(9):12-19.
WANG J, HE X X. Automated polymorphic worm signature generation approach based on seed-extending[J]. Journal on Communications, 2014,35(9):12-19.
[24] LINCOLN LABORATORY. 2000 DARPA Intrusion Detection Scenario Specific Data Sets[EB].Lexington: Massachusetts Institute of Technology,2000.
[25] WANG Y, XIANG Y, ZHANG J, et al. Internet traffic classification using constrained clustering[J]. IEEE Transactions on Parallel and Distributed Systems, 2014, 25(11): 2932-2943.
[26] MOORE A, ZUEV D, CROGAN M. Discriminators for use in flow-based classification[M]. London: Queen Mary and Westfield College,2005.
[27] CASAS P, MAZEL J, OWEZARSKI P. Unsupervised network intrusion detection systems: Detecting the unknown without knowledge[J]. Computer Communications, 2012, 35(7): 772-783.
[28] WANG Y, XIANG Y, ZHANG J, et al. Internet traffic clustering with side information[J]. Journal of Computer and System Sciences, 2014, 80(5): 1021-1036.
[29] COMAR P M, LIU L, SAHA S, et al. Combining supervised and unsupervised learning for zero-day malware detection[C]// INFOCOM, 2013 Proceedings IEEE. IEEE, 2013: 2022-2030.
[30] LIM Y, KIM H, JEONG J, et al. Internet traffic classification demystified: on the sources of the discriminative power[C]//International Conference. ACM, 2010: 9.
[31] HAN J W, KAMBER M , PEI J. Data mining: concepts and techniques, Third Edition[M]. 3rd ed. San Francisco: Morgan Kaufmann Publishing, 2011: 211-321.
[32] QUINLAN J R. C4. 5: programs for machine learning[M]. Elsevier, 2014.
[33] PLATT J C. Fast training of support vector machines using sequential minimal optimization[M]. Advances in kernel methods.MIT Press,1999: 185-208.
[34] HüHN J, HüLLERMEIER E. FURIA: an algorithm for unordered fuzzy rule induction[J]. Data Mining and Knowledge Discovery, 2009, 19(3): 293-319.
[35] SHALEV-SHWARTZ S, SINGER Y, SREBRO N. Pegasos: Primal estimated sub-gradient solver for SVM[C]//Proceedings of the 24th international conference on Machine learning. ACM, 2007: 807-814.
[36] BREIMAN L. Random forests[J]. Machine learning, 2001, 45(1): 5-32.
[37] RUMELHART D E, HINTON G E, WILLIAMS R J. Learning internal representations by error propagation[R]. California Univ San Diego La Jolla Inst for Cognitive Science, 1985.
[38] HALL M A, FRANK E. Combining naive bayes and decision tables[C]//FLAIRS Conference. 2008, 2118: 318-319.
[39] WOLPERT D H. Stacked generalization[J]. Neural networks, 1992, 5(2): 241-259.
[40] BREIMAN L. Bagging predictors[J]. Machine learning, 1996, 24(2): 123-140.
[41] FREUND Y, SCHAPIRE R E. Experiments with a new boosting algorithm[C]//ICML. 1996, 96: 148-156.
[42] WEBB G I. Multiboosting: A technique for combining boosting and wagging[J]. Machine learning, 2000, 40(2): 159-196.
[43] SEEWALD A K, FüRNKRANZ J. An evaluation of grading classifiers[C]// International Symposium on Intelligent Data Analysis. Springer-Verlag, 2001: 115-124.
[44] MELVILLE P, MOONEY R J. Constructing diverse classifier ensembles using artificial training examples[C]// International Joint Conference on Artificial Intelligence. Morgan Kaufmann Publishers Inc. 2003, 3: 505-510.
[45] KAI M T,WITTEN I H. Stacking bagged and dagged models[C]// Fourteenth international conference on machine learning. Morgan Kaufmann Publisher Inc. 1997:367-375.
[46] WITTEN I H, FRANK E. Data mining: practical machine learning tools and techniques[M]. Amsterdam: Elsevier/Morgan Kaufman, 2011.
Multitier ensemble classifiers for malicious network traffic detection
WANG Jie, YANG Lili, YANG Min
School of Information Science and Engineering, Central South University, Changsha 410083, China
A malicious network traffic detection method based on multi-level distributed ensemble classifier was proposed for the problem that the attack model was not trained accurately due to the lack of some samples of attack steps for detecting attack in the current network big data environment, as well as the deficiency of the existing ensemble classifier in the construction of multilevel classifier. The dataset was first preprocessed and aggregated into different clusters, then noise processing on each cluster was performed, and then a multi-level distributed ensemble classifier, MLDE, was built to detect network malicious traffic. In the MLDE ensemble framework the base classifier was used at the bottom, while the non-bottom different ensemble classifiers were used. The framework was simple to be built. In the framework, big data sets were concurrently processed, and the size of ensemble classifier was adjusted according to the size of data sets. The experimental results show that the AUC value can reach 0.999 when MLDE base users random forest was used in the first layer,bagging was used in the second layer and AdaBoost classifier was used in the third layer.
malicious network traffic, attack detection, attack phase, network flow clustering, ensemble classifier
TP302
A
10.11959/j.issn.1000-436x.2018224
汪潔(1980?),女,湖南桃江人,博士,中南大學副教授,主要研究方向為網(wǎng)絡與信息安全等。
楊力立(1992?),女,布依族,貴州安順人,中南大學碩士生,主要研究方向為網(wǎng)絡與信息安全等。
楊珉(1993?),男,江西南昌人,中南大學碩士生,主要研究方向為強化學習等。
2017?10?12;
2018?07?19
國家自然科學基金資助項目(No.61202495)
The National Natural Science Foundation of China (No.61202495)