• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于主動(dòng)學(xué)習(xí)和SVM方法的網(wǎng)絡(luò)協(xié)議識別技術(shù)

      2013-10-29 08:26:16王一鵬云曉春張永錚李書豪
      通信學(xué)報(bào) 2013年10期
      關(guān)鍵詞:網(wǎng)絡(luò)協(xié)議數(shù)據(jù)流分類器

      王一鵬,云曉春,張永錚,李書豪

      (1. 中國科學(xué)院 計(jì)算技術(shù)研究所,北京 100190;2. 中國科學(xué)院大學(xué),北京 100049;3. 中國科學(xué)院 信息工程研究所,北京 100093)

      1 引言

      識別網(wǎng)絡(luò)數(shù)據(jù)流中所承載的應(yīng)用協(xié)議在網(wǎng)絡(luò)與安全領(lǐng)域有著眾多應(yīng)用,例如入侵檢測和防范系統(tǒng)(IDS/IPS)、網(wǎng)絡(luò)測量、面向應(yīng)用的緩存和路由機(jī)制、面向應(yīng)用感知的負(fù)載均衡、流量分類和隧道檢測等。以其在入侵檢測和防范系統(tǒng)中的應(yīng)用為例,入侵檢測和防范系統(tǒng)通常依照已有的協(xié)議規(guī)范,通過對數(shù)據(jù)分組載荷部分的有效解析從而實(shí)現(xiàn)積極、有效的安全防護(hù)策略。然而,互聯(lián)網(wǎng)中許多網(wǎng)絡(luò)協(xié)議屬于未知協(xié)議或者私有協(xié)議,這些網(wǎng)絡(luò)協(xié)議沒有公開可得到的協(xié)議規(guī)范文檔,這給網(wǎng)絡(luò)協(xié)議分類與識別帶來新的挑戰(zhàn)。根據(jù)Internet2 NetFlow組織對骨干網(wǎng)中流量的統(tǒng)計(jì)發(fā)現(xiàn):超過40%的網(wǎng)絡(luò)數(shù)據(jù)流屬于未知的應(yīng)用協(xié)議[1],其中惡意代碼流量占有相當(dāng)?shù)谋壤M瑫r(shí),傳統(tǒng)以端口分配規(guī)則(IANA[2]規(guī)范)判定協(xié)議類別的流量分類方法也面臨著諸多新的問題。例如,互聯(lián)網(wǎng)中大量涌現(xiàn)的 Peer-to-Peer(P2P)協(xié)議因其在服務(wù)質(zhì)量(QoS[3])上的巨大優(yōu)勢,在文件分享和在線流媒體等領(lǐng)域中取得了廣泛應(yīng)用。然而,大多數(shù)P2P應(yīng)用協(xié)議并不遵守IANA規(guī)范,通常采用動(dòng)態(tài)端口等技術(shù)進(jìn)行偽裝,從而逃避網(wǎng)絡(luò)服務(wù)提供者(ISP)的檢測。當(dāng)面臨大量未知流量時(shí),傳統(tǒng)的檢測方法或手段很難對相關(guān)未知應(yīng)用協(xié)議做出正確識別。針對上述問題,設(shè)計(jì)合理、有效的未知網(wǎng)絡(luò)協(xié)議識別方法給網(wǎng)絡(luò)信息安全研究人員帶來了新的挑戰(zhàn)。

      網(wǎng)絡(luò)協(xié)議識別方法根據(jù)其研究對象的不同可劃分為基于傳輸層端口、基于數(shù)據(jù)分組載荷[6~14]和基于網(wǎng)絡(luò)流行為[4,5]3種類別。目前,基于數(shù)據(jù)分組載荷的分析方法主要通過基于主機(jī)端的協(xié)議解析[6~9]和基于網(wǎng)絡(luò)端的協(xié)議指紋[10~14]2種方式構(gòu)建所分析協(xié)議的分類特征。其中,基于協(xié)議指紋的分析方法又可劃分為人工分析和自動(dòng)分析2種。人工分析方法依照經(jīng)驗(yàn)或先驗(yàn)知識獲取協(xié)議指紋信息,這種分析過程通常耗時(shí)、費(fèi)力。自動(dòng)化的分析方法應(yīng)用模式識別、機(jī)器學(xué)習(xí)等理論對網(wǎng)絡(luò)數(shù)據(jù)流中的協(xié)議指紋信息進(jìn)行自動(dòng)提取,從而最大可能地減少人工成本開銷。本文僅針對自動(dòng)化的協(xié)議指紋提取工作展開相關(guān)討論。

      傳統(tǒng)的網(wǎng)絡(luò)協(xié)議識別方法大多屬于非主動(dòng)學(xué)習(xí)的機(jī)器學(xué)習(xí)方法。這類方法依照所獲得的離線學(xué)習(xí)樣本構(gòu)建單一或者多種協(xié)議分類模型,從而實(shí)現(xiàn)對網(wǎng)絡(luò)協(xié)議的準(zhǔn)確識別。這類方法實(shí)驗(yàn)效果的優(yōu)劣均依賴所分析的訓(xùn)練樣本集合。然而,在實(shí)際分析過程中,未知協(xié)議網(wǎng)絡(luò)數(shù)據(jù)流(如僵尸網(wǎng)絡(luò))的獲取與標(biāo)記工作嚴(yán)重依賴領(lǐng)域?qū)<?。這是一件費(fèi)時(shí)且繁雜的工作。甚至在樣本數(shù)據(jù)量過大時(shí),人工標(biāo)記已無法滿足實(shí)際需求。因此,在復(fù)雜的網(wǎng)絡(luò)環(huán)境中如何以最小的樣本標(biāo)記代價(jià)構(gòu)建準(zhǔn)確的協(xié)議識別模型,是目前網(wǎng)絡(luò)協(xié)議識別領(lǐng)域的研究熱點(diǎn)。

      針對上述問題,本文提出了一種基于主動(dòng)學(xué)習(xí)的未知網(wǎng)絡(luò)協(xié)議識別方法,基于該方法設(shè)計(jì)并實(shí)現(xiàn)了ProLearner系統(tǒng)。該方法以網(wǎng)絡(luò)數(shù)據(jù)流為輸入,自動(dòng)地從混雜網(wǎng)絡(luò)流量中對所分析協(xié)議的網(wǎng)絡(luò)數(shù)據(jù)流進(jìn)行準(zhǔn)確識別。該方法只分析 TCP/UDP數(shù)據(jù)分組的載荷部分,不需要對程序的可執(zhí)行代碼進(jìn)行逆向分析,也不依賴協(xié)議規(guī)范中的先驗(yàn)知識(如分隔符等)。同時(shí),該方法可解決面向連接協(xié)議(如TCP)和面向無連接協(xié)議(如UDP)的識別問題,并可適用于文本和二進(jìn)制類協(xié)議的分析。該方法的主要特點(diǎn)是通過采用主動(dòng)學(xué)習(xí)算法,在學(xué)習(xí)過程中只選擇最有價(jià)值的樣本訓(xùn)練分類器。這種抽樣策略使得學(xué)習(xí)效率(樣本標(biāo)記時(shí)間、學(xué)習(xí)訓(xùn)練時(shí)間等)得到大幅度的提高。在實(shí)踐過程中,通過對訓(xùn)練樣本的合理選取,在樣本標(biāo)記代價(jià)很小的前提下,同樣可以保證很高的識別準(zhǔn)確率和召回率。

      2 相關(guān)研究工作

      本文屬于基于數(shù)據(jù)分組載荷的研究方法。下面對此部分相關(guān)工作進(jìn)行介紹。

      2.1 協(xié)議解析

      2007年,CABALLERO等人[6]通過分析應(yīng)用程序的可執(zhí)行代碼和數(shù)據(jù)分組載荷部分信息,采用協(xié)議逆向工程中的動(dòng)態(tài)分析方法對協(xié)議的信息格式進(jìn)行提取。2008年,LIN等人[7]和WONDRACEK等人[8]通過對可執(zhí)行程序處理協(xié)議報(bào)文的工作流程進(jìn)行觀察分析,構(gòu)建分析工具從而實(shí)現(xiàn)對協(xié)議格式信息的自動(dòng)提取。2008年,CUI等人[9]提出并設(shè)計(jì)了Tupni系統(tǒng),該系統(tǒng)利用逆向工程分析方法對輸入數(shù)據(jù)流中的諸如記錄序列、記錄類別等格式信息自動(dòng)地提取,從而實(shí)現(xiàn)有效的協(xié)議解析。

      與以上工作不同,本文方法不需要對可執(zhí)行程序進(jìn)行逆向分析。

      2.2 協(xié)議指紋提取

      2005年,HAFFNER等人[10]提出了一種自動(dòng)化的協(xié)議指紋構(gòu)建方法——ACAS。該方法以所分析協(xié)議網(wǎng)絡(luò)數(shù)據(jù)流中前64 byte作為協(xié)議特征,應(yīng)用機(jī)器學(xué)習(xí)算法構(gòu)建協(xié)議分類模型。2006年,KANNAN等人[11]提出了一種基于泊松過程的協(xié)議格式特征挖掘方法。該方法是一個(gè)半自動(dòng)化的方法,可有效識別屬于同一會(huì)話的多個(gè)連接;但該方法只針對TCP數(shù)據(jù)流進(jìn)行分析,并且利用了TCP數(shù)據(jù)分組中的SYN、FIN和RST等標(biāo)志作為先驗(yàn)條件。2006年,MA等人[12]提出了一種基于無監(jiān)督學(xué)習(xí)的協(xié)議推理方法,該方法通過對網(wǎng)絡(luò)流的載荷部分進(jìn)行分析,利用聚類方法實(shí)現(xiàn)對網(wǎng)絡(luò)協(xié)議的自動(dòng)識別。2007年,CUI等人[13]提出并設(shè)計(jì)了Discoverer系統(tǒng)。CUI的方法利用統(tǒng)計(jì)學(xué)習(xí)和數(shù)據(jù)挖掘的研究方法,自動(dòng)地從特定協(xié)議的網(wǎng)絡(luò)數(shù)據(jù)流中提取該協(xié)議的格式信息。Discoverer系統(tǒng)在分析文本類協(xié)議過程中需要依賴經(jīng)驗(yàn)分隔符,在一定程度上限制了該系統(tǒng)的通用性。2010年,F(xiàn)IANAMORE等人提出了一個(gè)基于數(shù)據(jù)分組載荷特征的協(xié)議分類系統(tǒng)——KISS[14]。該系統(tǒng)基于假設(shè)檢驗(yàn)和機(jī)器學(xué)習(xí)理論,通過構(gòu)建統(tǒng)計(jì)化的協(xié)議指紋信息實(shí)現(xiàn)對 UDP網(wǎng)絡(luò)數(shù)據(jù)流準(zhǔn)確、快速的識別。該方法只針對 UDP數(shù)據(jù)流分析建模,在適用范圍上受到了一定的限制。

      然而,上述研究均未涉及應(yīng)用主動(dòng)學(xué)習(xí)方法以減少在學(xué)習(xí)過程中樣本的標(biāo)記代價(jià),從而實(shí)現(xiàn)協(xié)議分類模型的構(gòu)建。

      3 離線學(xué)習(xí)

      本文提出并設(shè)計(jì)實(shí)現(xiàn)了一個(gè)基于主動(dòng)學(xué)習(xí)的未知網(wǎng)絡(luò)協(xié)議識別系統(tǒng)——ProLearner。如圖 1所示,ProLearner系統(tǒng)由兩階段構(gòu)成:離線學(xué)習(xí)和在線識別。離線學(xué)習(xí)是ProLearner系統(tǒng)的第一階段。在這個(gè)階段,通過對離線訓(xùn)練樣本進(jìn)行學(xué)習(xí)進(jìn)而構(gòu)建協(xié)議識別模型。離線學(xué)習(xí)階段首先對網(wǎng)絡(luò)數(shù)據(jù)分組的載荷部分進(jìn)行數(shù)據(jù)分組建模,依照建模后得到的數(shù)據(jù)分組特征向量,采用面向SVM的主動(dòng)學(xué)習(xí)算法構(gòu)建協(xié)議分類模型。

      3.1 數(shù)據(jù)分組建模

      本文使用自然語言處理中的 n-gram模型實(shí)現(xiàn)對網(wǎng)絡(luò)數(shù)據(jù)分組的抽象建模。n-gram模型可以將原始網(wǎng)絡(luò)數(shù)據(jù)分組中的字節(jié)序列映射到新的特征維度空間。n-gram模型的主要優(yōu)點(diǎn)是:在并不依賴任何先驗(yàn)知識(如分割符等)的前提下,可以將任意的網(wǎng)絡(luò)數(shù)據(jù)分組表示為 n-gram序列的形式。因此,n-gram模型適用于文本類和二進(jìn)制類的協(xié)議分析。數(shù)據(jù)分組建模部分由2個(gè)部分組成,分別是數(shù)據(jù)分組n-gram序列化和數(shù)據(jù)分組向量化。

      3.1.1 數(shù)據(jù)分組n-gram序列化

      數(shù)據(jù)分組 n-gram序列化利用計(jì)算語言學(xué)和概率論中的 n-gram模型對所分析的網(wǎng)絡(luò)數(shù)據(jù)分組進(jìn)行分析建模。數(shù)據(jù)分組 n-gram序列化操作利用n-gram模型將網(wǎng)絡(luò)數(shù)據(jù)分組轉(zhuǎn)化為以n-gram元素為基本單元的網(wǎng)絡(luò)數(shù)據(jù)分組。

      每個(gè)含有特定信息的網(wǎng)絡(luò)數(shù)據(jù)分組都含有一個(gè)或多個(gè)協(xié)議關(guān)鍵字。網(wǎng)絡(luò)協(xié)議識別的目標(biāo)就是從數(shù)據(jù)分組中提取出能有效對網(wǎng)絡(luò)協(xié)議合理區(qū)分的協(xié)議關(guān)鍵字。從本質(zhì)上說,協(xié)議關(guān)鍵字是任意長度的字節(jié)序列。例如,“250”和“OK”是 SMTP的協(xié)議關(guān)鍵字。對于文本類協(xié)議,通??梢岳媒?jīng)驗(yàn)分割符(如空格符和制表符)對協(xié)議中的關(guān)鍵字進(jìn)行有效劃分。然而,除了要處理文本類協(xié)議(如SMTP和HTTP),本文方法同樣也需要處理二進(jìn)制類協(xié)議(如SMB和RTP)。因此,在實(shí)踐中較優(yōu)的選擇是不依賴經(jīng)驗(yàn)知識,而將數(shù)據(jù)分組內(nèi)容看作若干相同長度且由基本元素構(gòu)成的組合序列。這樣的分析方法對文本和二進(jìn)制類協(xié)議都適用,從而可以大大提高系統(tǒng)在實(shí)際中的可擴(kuò)展性和通用性。

      在自然語言處理中,n-gram模型已成功應(yīng)用于解決相似問題,因此本文利用n-gram模型來對網(wǎng)絡(luò)數(shù)據(jù)分組的載荷部分進(jìn)行建模分析。在計(jì)算語言學(xué)與概率學(xué)領(lǐng)域中,n-gram 是給定序列的(至少為 n個(gè)元素的序列) n個(gè)連續(xù)元素的子序列。例如,如果將每個(gè)字節(jié)視為一個(gè)元素,那么 SMTP協(xié)議報(bào)文——“MAIL_FROM”所產(chǎn)生的 3-gram元素是:“MAI”、“AIL”、“IL_”、“L_F”、“_FR”、“FRO”和”ROM”。具體而言,給定一個(gè)網(wǎng)絡(luò)數(shù)據(jù)分組,n-gram產(chǎn)生模塊將字節(jié)大小為 m的網(wǎng)絡(luò)數(shù)據(jù)分組序列 b1b2…bm分解為 n-gram(n≤m)序列:b1b2…bnb2b3…bn+1…bm-n+1bm-n+2…bm。基于 n-gram 的序列化操作,網(wǎng)絡(luò)數(shù)據(jù)分組中的每個(gè)字節(jié)都被映射到新的維度空間。值得注意的是,在n-gram分析中通常應(yīng)盡量避免較大的 n值,因?yàn)檩^大的 n值會(huì)使得n-gram集合中元素的數(shù)目過于龐大,在實(shí)踐中需要使用大量的訓(xùn)練數(shù)據(jù)集合才可以避免狀態(tài)空間過于稀疏。

      n值的選擇是n-gram序列化的一個(gè)關(guān)鍵問題,該值的選擇應(yīng)盡量保證系統(tǒng)對不同協(xié)議的分析效果都較優(yōu)秀。通過對多種協(xié)議的實(shí)驗(yàn)分析發(fā)現(xiàn),n-gram元素的出現(xiàn)頻率與其在頻率表中的排名是在以log-log為刻度的坐標(biāo)軸下近似的一條直線,如圖2所示。其中,R2代表擬合系數(shù),其越接近1,表示擬合效果越好。這種現(xiàn)象滿足了自然語言中齊夫定律(Zipf's law)[15]的分布特性,因此認(rèn)為可以利用齊夫定律來近似地找到使得語言模型為最佳的擬合參數(shù)。對于網(wǎng)絡(luò)協(xié)議數(shù)據(jù)分組的前16 byte,在n為不同取值的情況下,進(jìn)行實(shí)驗(yàn)對比分析發(fā)現(xiàn),當(dāng)n=3時(shí)的擬合效果最好。

      圖1 ProLearner系統(tǒng)架構(gòu)

      圖2 SMTP協(xié)議中n-gram元素的概率分布

      3.1.2 數(shù)據(jù)分組向量化

      通過n-gram分析,數(shù)據(jù)分組中的字節(jié)序列被映射為n-gram序列。然而以n-gram序列形式描述的數(shù)據(jù)分組無法直接進(jìn)行后續(xù)的運(yùn)算處理。為解決這一問題,作者使用數(shù)據(jù)分組向量化操作對數(shù)據(jù)分組中的n-gram進(jìn)行描述。通過該操作,每個(gè)數(shù)據(jù)分組都被表示為一個(gè)特征向量,特征向量的每個(gè)維度是唯一的 n-gram元素,特征向量的分量數(shù)值代表n-gram元素在所分析數(shù)據(jù)分組中出現(xiàn)的次數(shù)。例如,假定有4種類型n-gram元素,分別為“HEL”、“ELO”、“DAT”和“ATA”。那么SMTP數(shù)據(jù)分組“DATA”向量化分析后的結(jié)果為 (0, 0, 1, 1)。其中數(shù)值0代表所分析數(shù)據(jù)分組中沒有該n-gram元素,數(shù)值1代表該n-gram元素出現(xiàn)1次。

      3.2 主動(dòng)學(xué)習(xí)方法

      經(jīng)過數(shù)據(jù)分組建模分析后,ProLearner得到數(shù)據(jù)分組的特征向量。依照這些分類特征,ProLearner利用面向SVM的主動(dòng)學(xué)習(xí)算法進(jìn)行訓(xùn)練并得到所分析協(xié)議的分類模型。下面將詳細(xì)介紹本文所使用的面向SVM的主動(dòng)學(xué)習(xí)方法。

      3.2.1 主動(dòng)學(xué)習(xí)方法概述

      有監(jiān)督機(jī)器學(xué)習(xí)(supervised machine learning)領(lǐng)域根據(jù)對學(xué)習(xí)樣本處理方式的不同,可將分類模型劃分為兩大類別:被動(dòng)學(xué)習(xí)模型和主動(dòng)學(xué)習(xí)模型。被動(dòng)學(xué)習(xí)模型隨機(jī)地從訓(xùn)練數(shù)據(jù)中選取樣本進(jìn)行分類模型構(gòu)建。然而,訓(xùn)練集本身經(jīng)常包含許多信息量太少的樣本,甚至可能是冗余或者噪音樣本。這些樣本的出現(xiàn)不僅使得樣本標(biāo)記工作大大增加、訓(xùn)練時(shí)間大幅度提高,而且還有可能導(dǎo)致分類器泛化能力的下降。與被動(dòng)學(xué)習(xí)模型不同,主動(dòng)學(xué)習(xí)模型采取主動(dòng)的策略,選擇最有利于提高分類器性能指標(biāo)的訓(xùn)練樣本,并只對這些樣本進(jìn)行標(biāo)記。這樣的選擇策略有效地避免了學(xué)習(xí)模型本身對于重復(fù)的、無意義的樣本的學(xué)習(xí),使標(biāo)記訓(xùn)練樣本的代價(jià)大幅度降低,同時(shí)減少了訓(xùn)練過程的時(shí)間開銷。

      在主動(dòng)學(xué)習(xí)中,主動(dòng)抽樣策略的出現(xiàn)是主動(dòng)學(xué)習(xí)模型與傳統(tǒng)被動(dòng)學(xué)習(xí)模型最大的不同。根據(jù)抽樣策略對未標(biāo)記樣本處理方式的不同,可將主動(dòng)學(xué)習(xí)算法劃分為:成員查詢綜合 (membership query synthesis)算法[16]、基于流(stream-based)的主動(dòng)學(xué)習(xí)[17]和基于池(pool-based)的主動(dòng)學(xué)習(xí)[18]。其中,基于池的主動(dòng)學(xué)習(xí)算法是目前研究最充分、使用最廣泛的一類策略。按照選擇未標(biāo)記樣本標(biāo)準(zhǔn)的不同,pool-based 算法又可分為基于不確定性的抽樣 (UBS, uncertainty based sampling)策略、基于委員會(huì)投票的選擇(QBC, query by committee)策略和基于估計(jì)誤差縮減(EER, estimated error reduction)的抽樣策略等幾種策略[19]。本文采用了基于不確定性的抽樣策略。

      評價(jià)主動(dòng)學(xué)習(xí)算法相對于被動(dòng)學(xué)習(xí)算法性能的提升通??梢詮?個(gè)角度進(jìn)行考慮。一個(gè)角度是:在給定性能指標(biāo)的前提下,主動(dòng)學(xué)習(xí)方法相對于被動(dòng)學(xué)習(xí)方法訓(xùn)練樣本數(shù)量的精簡比例。另一角度是:在給定訓(xùn)練樣本數(shù)目的前提下,主動(dòng)學(xué)習(xí)方法相對于被動(dòng)學(xué)習(xí)方法性能的提升比例。在實(shí)際執(zhí)行過程中,主動(dòng)學(xué)習(xí)方法通常需要使用一定的終止策略。一方面可以控制樣本標(biāo)記的數(shù)目,從而減少總的執(zhí)行時(shí)間;另一方面可以控制主動(dòng)學(xué)習(xí)方法的學(xué)習(xí)效果,如準(zhǔn)確率和召回率。

      3.2.2 面向SVM的主動(dòng)學(xué)習(xí)方法

      由于SVM分類器在高維度和小樣本數(shù)據(jù)分類中的突出表現(xiàn),本文采用以SVM作為基準(zhǔn)分類器的主動(dòng)學(xué)習(xí)算法來構(gòu)建協(xié)議分類模型。

      給定未標(biāo)記樣本集合U的情況下,面向SVM的主動(dòng)學(xué)習(xí)算法l主要由分類器f、查詢函數(shù)q和已標(biāo)記樣本集合X 3部分組成[20],如圖3所示。主動(dòng)學(xué)習(xí)算法是一個(gè)迭代訓(xùn)練分類器f的過程。其中,查詢函數(shù)q是主動(dòng)學(xué)習(xí)模型與被動(dòng)學(xué)習(xí)模型最大的不同。

      在面向 SVM 的主動(dòng)學(xué)習(xí)算法中,查詢函數(shù) q所采取的查詢策略為:每次選取距離分類超平面最近的一個(gè)或幾個(gè)樣本,并將這個(gè)或這些樣本提交給領(lǐng)域?qū)<覙?biāo)記,這種查詢策略也被稱為不確定抽樣(UBS)。這些新的已標(biāo)記好的訓(xùn)練樣本將被加入到已標(biāo)記樣本集合X中,用于重新對分類器f的訓(xùn)練。不確定抽樣選擇策略總是選擇不確定性最大的樣本進(jìn)行學(xué)習(xí),因?yàn)檫@些樣本最有可能是SVM 分類器的支持向量。這樣的選擇策略可以有效避免SVM分類器對無意義、重復(fù)樣本的學(xué)習(xí),從而大大減少標(biāo)注時(shí)間,提高學(xué)習(xí)效率。

      圖3 主動(dòng)學(xué)習(xí)算法過程

      主動(dòng)學(xué)習(xí)的過程如圖3所示,其具體算法過程如下。

      輸入:已標(biāo)記訓(xùn)練樣本集合X中少量已標(biāo)記樣本x(至少包含一個(gè)正樣本和一個(gè)負(fù)樣本),未標(biāo)記測試樣本集合U中(包含有正樣本和負(fù)樣本)大量未標(biāo)記樣本u。r為主動(dòng)學(xué)習(xí)終止條件。

      輸出:分類器f和已標(biāo)注樣本集合X。

      1) 根據(jù)已標(biāo)記訓(xùn)練樣本集合 X中少量已標(biāo)記樣本x,訓(xùn)練構(gòu)造SVM分類器f,從而樣本集合X被劃分為 2 類,f : X →{-1, 1}。

      2) 利用已構(gòu)造的SVM分類器f對U中所有未標(biāo)記的樣本u進(jìn)行分類。

      3) 根據(jù)分類器f的分類結(jié)果,查詢函數(shù)q判定未標(biāo)記樣本集合U中每個(gè)樣本的信息量,將信息量最大、最不確定(距離超平面最近)的樣本交由領(lǐng)域?qū)<疫M(jìn)行標(biāo)記。

      4) 將經(jīng)由領(lǐng)域?qū)<覙?biāo)記好的樣本加入到已標(biāo)記樣本集合X中,根據(jù)更新后的已標(biāo)記樣本集合X對分類器模型f進(jìn)行評估。

      5) 若達(dá)到終止條件r時(shí),則算法終止,返回分類器f;否則重復(fù)步驟1)~步驟4)。

      4 在線識別

      在線識別階段通過利用離線學(xué)習(xí)階段得到的分類器實(shí)現(xiàn)對實(shí)時(shí)網(wǎng)絡(luò)流量的協(xié)議判別。在線識別階段的輸入是待測網(wǎng)絡(luò)數(shù)據(jù)分組。通過對數(shù)據(jù)分組載荷部分進(jìn)行n-gram建模,得到該數(shù)據(jù)分組的特征向量。依照其分類特征和離線學(xué)習(xí)階段訓(xùn)練得到的分類器ProLearner對所分析網(wǎng)絡(luò)數(shù)據(jù)分組的協(xié)議屬性進(jìn)行判別。在線識別階段的輸出結(jié)果為2類:一類是屬于目標(biāo)協(xié)議的網(wǎng)絡(luò)數(shù)據(jù)分組,另一類是非目標(biāo)協(xié)議的網(wǎng)絡(luò)數(shù)據(jù)分組。

      5 實(shí)驗(yàn)結(jié)果和分析

      為了驗(yàn)證ProLearner系統(tǒng)在實(shí)際網(wǎng)絡(luò)環(huán)境中的有效性,作者使用真實(shí)的網(wǎng)絡(luò)數(shù)據(jù)流量對該系統(tǒng)進(jìn)行驗(yàn)證。在實(shí)驗(yàn)階段,假定幾種協(xié)議的網(wǎng)絡(luò)數(shù)據(jù)流是未知的,從而模擬對未知網(wǎng)絡(luò)協(xié)議識別的整個(gè)交互過程。

      5.1 數(shù)據(jù)集

      對于特定協(xié)議網(wǎng)絡(luò)數(shù)據(jù)流的獲取通??梢圆捎靡韵?種方法:1) 在可控環(huán)境下運(yùn)行所分析協(xié)議的可執(zhí)行程序代碼,從而獲得該協(xié)議的網(wǎng)絡(luò)數(shù)據(jù)分組(例如GT方法[21]);2)對于使用非可變傳輸層端口的協(xié)議,在可控環(huán)境下進(jìn)行端口監(jiān)聽的方式。2種方法都可在已獲得程序可執(zhí)行代碼的前提下,實(shí)現(xiàn)對未知協(xié)議網(wǎng)絡(luò)流量的獲取。然而,在已獲得的網(wǎng)絡(luò)數(shù)據(jù)流中,可能同時(shí)混雜有其他非所分析協(xié)議的網(wǎng)絡(luò)數(shù)據(jù)流。因此,在這個(gè)環(huán)節(jié)中需要領(lǐng)域?qū)<业膮⑴c,從而對訓(xùn)練樣本進(jìn)行有效、合理的區(qū)分。在本文中,作者采用第2種方法實(shí)現(xiàn)對數(shù)據(jù)集合的構(gòu)建。

      本文選取了4種協(xié)議對ProLearner系統(tǒng)的性能進(jìn)行測試,分別是 SMTP、DNS、XUNLEI和CIFS/SMB協(xié)議,這些協(xié)議中既包含有面向連接的協(xié)議(如TCP),也包含面向無連接的協(xié)議(如UDP),同時(shí),也包含文本和二進(jìn)制類協(xié)議。SMTP協(xié)議通常用于電子郵件通信,CIFS/SMB協(xié)議主要用來提供共享的文件訪問策略。為了獲得這2種協(xié)議的網(wǎng)絡(luò)數(shù)據(jù)流,作者采用TCP端口過濾的方法進(jìn)行數(shù)據(jù)采集,SMTP端口號為 25, CIFS/SMB端口號為445。DNS協(xié)議是域名系統(tǒng),其主要用于將域名信息轉(zhuǎn)化為數(shù)字化的網(wǎng)絡(luò)地址,XUNLEI協(xié)議是當(dāng)今十分流行的P2P文件共享應(yīng)用,其在國內(nèi)骨干網(wǎng)流量中占有相當(dāng)?shù)谋壤?。為了獲得這2種協(xié)議的網(wǎng)絡(luò)數(shù)據(jù)流,作者使用UDP端口過濾的方法對數(shù)據(jù)進(jìn)行采集,DNS端口號為53,XUNLEI端口號為15 000。非目標(biāo)協(xié)議的網(wǎng)絡(luò)數(shù)據(jù)流(負(fù)樣本)則通過在以上指定之外的端口來進(jìn)行捕獲。在每種協(xié)議的數(shù)據(jù)集合中隨機(jī)提取10 000條所分析協(xié)議的網(wǎng)絡(luò)數(shù)據(jù)分組和2 000條非目標(biāo)協(xié)議的數(shù)據(jù)分組。采用模5(即5-fold)交叉驗(yàn)證的方法,重復(fù)實(shí)驗(yàn)10次取平均值。

      5.2 評價(jià)指標(biāo)體系

      給定ProLearner系統(tǒng)要分析的某種未知協(xié)議,首先定義以下3種數(shù)據(jù)集合。

      1) true positives (TP): 被 ProLearner系統(tǒng)識別為某協(xié)議的網(wǎng)絡(luò)數(shù)據(jù)分組,且確實(shí)是屬于該協(xié)議的網(wǎng)絡(luò)數(shù)據(jù)分組集合。

      2) false positives (FP): 被 ProLearner系統(tǒng)識別為某協(xié)議的網(wǎng)絡(luò)數(shù)據(jù)分組,但并不屬于該協(xié)議的網(wǎng)絡(luò)數(shù)據(jù)分組集合。

      3) false negatives (FN): 被 ProLearner系統(tǒng)識別為非某協(xié)議的網(wǎng)絡(luò)數(shù)據(jù)分組,但其實(shí)是屬于該協(xié)議的網(wǎng)絡(luò)數(shù)據(jù)分組集合。

      基于以上3種數(shù)據(jù)集合,本文采用機(jī)器學(xué)習(xí)領(lǐng)域中通常使用的準(zhǔn)確率(precision)、召回率(recall)和F-Measure 3種評價(jià)指標(biāo)來對ProLearner系統(tǒng)的有效性和可靠性進(jìn)行評價(jià)。3種評價(jià)指標(biāo)定義如下。

      由于準(zhǔn)確率與召回率分別描述系統(tǒng)性能的2個(gè)方面,單一使用準(zhǔn)確率和召回率作為評價(jià)指標(biāo)具有局限性,因此,本文選用F-Measure指標(biāo)將這2個(gè)指標(biāo)進(jìn)行綜合考慮,從而選擇最優(yōu)方案。

      5.3 實(shí)驗(yàn)結(jié)果

      ProLearner系統(tǒng)的整個(gè)過程需要確定以下幾個(gè)參數(shù):

      1) 每個(gè)數(shù)據(jù)分組分析的字節(jié)數(shù)l;

      2) SVM模型中核函數(shù)的參數(shù)C和γ;

      3) 集合X中已標(biāo)記樣本個(gè)數(shù)的初始值T。

      5.3.1 每個(gè)數(shù)據(jù)分組分析的字節(jié)數(shù)l

      本文以網(wǎng)絡(luò)數(shù)據(jù)分組的載荷部分作為研究對象。在實(shí)驗(yàn)分析過程中,ProLearner系統(tǒng)選取每個(gè)數(shù)據(jù)分組的前l(fā) byte進(jìn)行分析。通常而言,分析過程中l(wèi)選取的越大,其越能準(zhǔn)確地反映出所分析協(xié)議載荷部分的特征,從而使得ProLearner系統(tǒng)在識別過程中的分類準(zhǔn)確率越高。然而,分類方法的計(jì)算復(fù)雜性和內(nèi)存開銷同樣也隨著l的變大而相應(yīng)增加。在驗(yàn)證實(shí)驗(yàn)中,作者選擇了一個(gè)折中數(shù)值,設(shè)l為16。

      5.3.2 SVM模型中的參數(shù)

      本文SVM模型中所選用的核函數(shù)為徑向基核函數(shù)(radial basis function)。徑向基核函數(shù)可以將樣本映射到一個(gè)更高維的空間,從而對復(fù)雜特征的樣本集進(jìn)行有效分類。徑向基核函數(shù)中有2個(gè)可調(diào)節(jié)參數(shù)分別為C和γ,其中,C為懲罰因子,γ 為核參數(shù)。通過交叉驗(yàn)證進(jìn)行對比發(fā)現(xiàn),模型中參數(shù)的最佳取值為C=1 000,γ=0.5。

      5.3.3 召回率和準(zhǔn)確率

      本節(jié)對數(shù)據(jù)集中的4種協(xié)議在集合X中已標(biāo)記樣本個(gè)數(shù)的初始值T為10、30和50這3種不同取值的情況下分別進(jìn)行實(shí)驗(yàn)。在對所獲得的網(wǎng)絡(luò)協(xié)議數(shù)據(jù)集合進(jìn)行分析時(shí),傳統(tǒng)方法通常采用隨機(jī)抽樣的方法來構(gòu)建學(xué)習(xí)集合。因此,在驗(yàn)證對比實(shí)驗(yàn)中,作者分別對每種協(xié)議進(jìn)行訓(xùn)練和測試,并比較其在主動(dòng)學(xué)習(xí)策略和隨機(jī)抽樣方法下的準(zhǔn)確率、召回率和F-Measure 3種評價(jià)指標(biāo)。

      DNS和XUNLEI 2種協(xié)議的實(shí)驗(yàn)結(jié)果如圖4和圖5所示。對于這2種協(xié)議,在T為不同取值的情況下,通過對比實(shí)驗(yàn)發(fā)現(xiàn):當(dāng)已標(biāo)記樣本集合的數(shù)目達(dá)到100時(shí),主動(dòng)學(xué)習(xí)方法和隨機(jī)抽樣方法的召回率均已達(dá)到約 100%。然而,通過觀察發(fā)現(xiàn)當(dāng)已標(biāo)記樣本數(shù)量為100、150、200、250和300時(shí),主動(dòng)學(xué)習(xí)方法的準(zhǔn)確率接近100%,而隨機(jī)抽樣策略的準(zhǔn)確率大約在85%左右。主動(dòng)學(xué)習(xí)方法的實(shí)驗(yàn)效果明顯優(yōu)于隨機(jī)抽樣策略。圖4和圖5同時(shí)表明,對于DNS和XUNLEI這2種協(xié)議,隨著T值的增大,主動(dòng)學(xué)習(xí)方法達(dá)到識別最佳實(shí)驗(yàn)效果的收斂速度將減慢。

      圖6為CIFS/SMB協(xié)議的實(shí)驗(yàn)結(jié)果。通過改變T值進(jìn)行實(shí)驗(yàn)對比發(fā)現(xiàn):當(dāng)已標(biāo)記樣本集合的數(shù)量達(dá)到100時(shí),主動(dòng)學(xué)習(xí)和隨機(jī)抽樣方法2種策略的識別準(zhǔn)確率基本達(dá)到一致。從圖6中可以發(fā)現(xiàn),主動(dòng)學(xué)習(xí)方法的召回率已達(dá)到約100%,且不隨T值的增大而改變。而隨機(jī)抽樣策略的召回率相對于主動(dòng)學(xué)習(xí)方法則比較低,且隨樣本數(shù)量的增加而緩慢提高。對于CIFS/SMB協(xié)議,隨機(jī)抽樣策略的召回率在小樣本的情況下與主動(dòng)學(xué)習(xí)方法在實(shí)際效果上有一定的差距。

      圖4 主動(dòng)學(xué)習(xí)方法與隨機(jī)采樣方法在DNS中的對比實(shí)驗(yàn)

      圖5 主動(dòng)學(xué)習(xí)方法與隨機(jī)采樣方法在XUNLEI中的對比實(shí)驗(yàn)

      圖6 主動(dòng)學(xué)習(xí)方法與隨機(jī)采樣方法在CIFS/SMB中的對比實(shí)驗(yàn)

      圖7 主動(dòng)學(xué)習(xí)方法與隨機(jī)采樣方法在SMTP協(xié)議中的對比實(shí)驗(yàn)

      SMTP協(xié)議的實(shí)驗(yàn)結(jié)果如圖7所示。通過改變T值進(jìn)行對比實(shí)驗(yàn)發(fā)現(xiàn):主動(dòng)學(xué)習(xí)方法的F-Measure指標(biāo)在大多數(shù)情況下均高于隨機(jī)抽樣策略。當(dāng)T=50,已標(biāo)記樣本數(shù)量增加到300時(shí),主動(dòng)學(xué)習(xí)方法達(dá)到最佳的識別效果,其F-Measure指標(biāo)為0.98。此時(shí)隨機(jī)抽樣策略的F-Measure指標(biāo)為0.92。從3組對比實(shí)驗(yàn)可以發(fā)現(xiàn),對于SMTP協(xié)議,需要將已標(biāo)記樣本集合中初始的樣本數(shù)目適當(dāng)增大,從而獲得較優(yōu)的識別效果。

      5.4 總結(jié)與討論

      在實(shí)驗(yàn)驗(yàn)證階段,作者使用包含文本和二進(jìn)制的真實(shí)網(wǎng)絡(luò)數(shù)據(jù)流對ProLearner系統(tǒng)的有效性進(jìn)行測試。多種協(xié)議的實(shí)驗(yàn)結(jié)果表明,在已標(biāo)記樣本量很少的情況下,ProLearner系統(tǒng)能夠從混雜的網(wǎng)絡(luò)流量中準(zhǔn)確地識別所分析的網(wǎng)絡(luò)協(xié)議。在針對未知網(wǎng)絡(luò)協(xié)議的識別過程中,相對于隨機(jī)抽樣策略,主動(dòng)學(xué)習(xí)方法可以使用較少的已標(biāo)記樣本達(dá)到較優(yōu)的學(xué)習(xí)效率(高準(zhǔn)確率和高召回率),從而有效地降低了學(xué)習(xí)過程中標(biāo)記的樣本數(shù)目。然而,本文的方法并不適用于解決加密網(wǎng)絡(luò)數(shù)據(jù)流的識別問題,這也是本文方法的局限性。

      6 結(jié)束語

      隨著網(wǎng)絡(luò)流量的日益復(fù)雜多樣,有效的未知網(wǎng)絡(luò)協(xié)議識別方法成為信息安全領(lǐng)域一個(gè)重要的研究方向。由于未知協(xié)議網(wǎng)絡(luò)數(shù)據(jù)流的獲取與標(biāo)記工作通常需要高昂的人工成本,因此需要研究可適用于實(shí)際網(wǎng)絡(luò)環(huán)境的樣本標(biāo)記方法。本文從網(wǎng)絡(luò)數(shù)據(jù)流出發(fā),構(gòu)建了一整套基于主動(dòng)學(xué)習(xí)的未知網(wǎng)絡(luò)協(xié)議識別方法。該方法僅依靠原始網(wǎng)絡(luò)數(shù)據(jù)流實(shí)現(xiàn)對未知網(wǎng)絡(luò)協(xié)議的有效識別。實(shí)驗(yàn)結(jié)果表明,本文方法對面向連接和面向無連接的協(xié)議均可取得較好的實(shí)驗(yàn)結(jié)果。在保證識別準(zhǔn)確率和召回率的前提下,有效地降低了學(xué)習(xí)過程中所需的標(biāo)記樣本數(shù)量。因此,本文的方法可直接應(yīng)用于實(shí)際的網(wǎng)絡(luò)環(huán)境。

      [1] Internet netflow statistics[EB/OL]. http://netflow.internet2.edu, 2010.

      [2] TCP and UDP port numbers[EB/OL]. http://www.iana.org/assignments/port-numbers, 2008.

      [3] ROUGHAN M, SEN S, SPATSCHECK O, et al. Class-of-service mapping for QoS: a statistical signature-based approach to IP traffic classification[A]. Proceedings of the 4th ACM SIGCOMM Conference on Internet Measurement[C]. Taormina, Sicily, Italy, 2004.135-148.

      [4] ZHANG J, CHEN C, XIANG Y. An effective network traffic classification method with unknown flow detection[J]. IEEE Transactions on Network and Service Management, 2013, 10(1):1-15.

      [5] KARAGIANNIS T, PAPAGIANNAKI K, FALOUTSOS M. BLINC:multilevel traffic classification in the dark[J]. SIGCOMM Computer Communication Review, 2005, 35(4):229-240.

      [6] CABALLERO J, YIN H, LIANG Z, et al. Polyglot: automatic extraction of protocol message format using dynamic binary analysis[A].Proceedings of the 14th ACM Conference on Computer and Communications Security[C]. Virginia, USA, 2007.317-329.

      [7] LIN Z, JIANG X, XU D, et al. Automatic protocol format reverse engineering through context-aware monitored execution[A]. Proceedings of the 15th Network and Distributed System Security Symposium[C]. California, USA, 2008.1-17.

      [8] WONDRACEK G, MILANI P, KRUEGEL C, et al. Automatic network protocol analysis[A]. Proceedings of the 16th Network and Distributed System Security Symposium[C]. California, USA, 2008.1-18.

      [9] CUI W, PEINADO M, CHEN K, et al. Tupni: automatic reverse engineering of input formats[A]. Proceedings of the 15th ACM Conference on Computer and Communications Security[C]. Virginia, USA, 2008.391-402.

      [10] HAFFNER P, SEN S, SPATSCHECK O, et al. ACAS: automated construction of application signatures[A]. Proceedings of the 2005 ACM SIGCOMM Workshop on Mining Network Data[C]. Pennsylvania, USA, 2005.197-202.

      [11] KANNAN J, JUNG J, PAXSON V, et al. Semi-automated discovery of application session structure[A]. Proceedings of the 6th ACM SIGCOMM Conference on Internet Measurement[C]. New York, USA, 2006.119-132.

      [12] MA J, LEVCHENKO K, KREIBICH C, et al. Unexpected means of protocol inference[A]. Proceedings of the 6th ACM SIGCOMM Conference on Internet Measurement[C]. Rio de Janeriro, Brazil, 2006.313-326.

      [13] CUI W, KANNAN J, WANG H J. Discoverer: automatic protocol reverse engineering from network traces[A]. Proceedings of 16th USENIX Security Symposium on USENIX Security Symposium[C]. Boston,MA, 2007.313-326.

      [14] FINAMORE A, MELLIA M, MEO M, et al. KISS: stochastic packet inspection classifier for UDP traffic[J]. IEEE/ACM Transactions on Networking, 2010, 18(5):1505-1515.

      [15] MANNING C, SCHUTZE H. Foundations of Statistical Natural Language Processing[M]. MIT Press, 1999.

      [16] ANGLUIN D. Queries and concept learning[J]. Machine Learning,1988, 2(4):319-342.

      [17] COHN D, ATLAS L, LADNER R. Improving generalization with active learning[J]. Machine Learning, 1994, 15(2):201-221.

      [18] LEWIS D, GALE W. A sequential algorithm for training text classifiers[A]. Proceedings of the 17th Annual International ACM SIGIR Conference on Research and Development in Information Retrieval[C].New York, USA, 1994.3-12.

      [19] SETTLES B. Active learning literature survey[EB/OL]. http://research.cs.wisc.edu/techreports/2009/TR1648.pdf.

      [20] TONG S, KOLLER D. Support vector machine active learning with applications to text classification[J]. Journal of Machine Learning Research, 2002, 2:45-66.

      [21] GRINGOLI F, SALGARELLI L, DUSI M, et al. GT: picking up the truth from the ground for internet traffic[J]. SIGCOMM Computer Communication Review, 2009, 39(5):12-18.

      猜你喜歡
      網(wǎng)絡(luò)協(xié)議數(shù)據(jù)流分類器
      計(jì)算機(jī)網(wǎng)絡(luò)理論下的傳播研究結(jié)構(gòu)模型:Communication一詞的兩種翻譯
      汽車維修數(shù)據(jù)流基礎(chǔ)(下)
      一種藍(lán)牙多跳網(wǎng)絡(luò)協(xié)議的設(shè)計(jì)與研究
      電子制作(2018年17期)2018-09-28 01:56:52
      BP-GA光照分類器在車道線識別中的應(yīng)用
      電子測試(2018年1期)2018-04-18 11:52:35
      一種提高TCP與UDP數(shù)據(jù)流公平性的擁塞控制機(jī)制
      基于DPI技術(shù)的語音視頻流量監(jiān)控系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
      加權(quán)空-譜與最近鄰分類器相結(jié)合的高光譜圖像分類
      結(jié)合模糊(C+P)均值聚類和SP-V-支持向量機(jī)的TSK分類器
      基于數(shù)據(jù)流聚類的多目標(biāo)跟蹤算法
      芻議局域網(wǎng)中網(wǎng)絡(luò)協(xié)議的添加與配置
      科技資訊(2015年10期)2015-06-29 18:17:23
      隆回县| 黔南| 邢台市| 芜湖县| 肇源县| 屏南县| 义马市| 盐池县| 石景山区| 晋中市| 公主岭市| 德惠市| 深州市| 乐东| 陇西县| 榆中县| 稻城县| 东源县| 临沧市| 安宁市| 儋州市| 正宁县| 慈溪市| 永年县| 塘沽区| 南部县| 夏津县| 蕲春县| 十堰市| 潍坊市| 辽阳市| 合阳县| 延津县| 滁州市| 聂拉木县| 来安县| 郧西县| 郴州市| 建德市| 大渡口区| 陈巴尔虎旗|