亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

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

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

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

        (1. 中國科學院 計算技術(shù)研究所,北京 100190;2. 中國科學院大學,北京 100049;3. 中國科學院 信息工程研究所,北京 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)用的緩存和路由機制、面向應(yīng)用感知的負載均衡、流量分類和隧道檢測等。以其在入侵檢測和防范系統(tǒng)中的應(yīng)用為例,入侵檢測和防范系統(tǒng)通常依照已有的協(xié)議規(guī)范,通過對數(shù)據(jù)分組載荷部分的有效解析從而實現(xiàn)積極、有效的安全防護策略。然而,互聯(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)計發(fā)現(xiàn):超過40%的網(wǎng)絡(luò)數(shù)據(jù)流屬于未知的應(yīng)用協(xié)議[1],其中惡意代碼流量占有相當?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ī)范,通常采用動態(tài)端口等技術(shù)進行偽裝,從而逃避網(wǎng)絡(luò)服務(wù)提供者(ISP)的檢測。當面臨大量未知流量時,傳統(tǒng)的檢測方法或手段很難對相關(guān)未知應(yīng)用協(xié)議做出正確識別。針對上述問題,設(shè)計合理、有效的未知網(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ù)分組載荷的分析方法主要通過基于主機端的協(xié)議解析[6~9]和基于網(wǎng)絡(luò)端的協(xié)議指紋[10~14]2種方式構(gòu)建所分析協(xié)議的分類特征。其中,基于協(xié)議指紋的分析方法又可劃分為人工分析和自動分析2種。人工分析方法依照經(jīng)驗或先驗知識獲取協(xié)議指紋信息,這種分析過程通常耗時、費力。自動化的分析方法應(yīng)用模式識別、機器學習等理論對網(wǎng)絡(luò)數(shù)據(jù)流中的協(xié)議指紋信息進行自動提取,從而最大可能地減少人工成本開銷。本文僅針對自動化的協(xié)議指紋提取工作展開相關(guān)討論。

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

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

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

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

        2.1 協(xié)議解析

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

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

        2.2 協(xié)議指紋提取

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

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

        3 離線學習

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

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

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

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

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

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

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

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

        圖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ù)分組無法直接進行后續(xù)的運算處理。為解決這一問題,作者使用數(shù)據(jù)分組向量化操作對數(shù)據(jù)分組中的n-gram進行描述。通過該操作,每個數(shù)據(jù)分組都被表示為一個特征向量,特征向量的每個維度是唯一的 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 主動學習方法

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

        3.2.1 主動學習方法概述

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

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

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

        3.2.2 面向SVM的主動學習方法

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

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

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

        圖3 主動學習算法過程

        主動學習的過程如圖3所示,其具體算法過程如下。

        輸入:已標記訓練樣本集合X中少量已標記樣本x(至少包含一個正樣本和一個負樣本),未標記測試樣本集合U中(包含有正樣本和負樣本)大量未標記樣本u。r為主動學習終止條件。

        輸出:分類器f和已標注樣本集合X。

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

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

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

        4) 將經(jīng)由領(lǐng)域?qū)<覙擞浐玫臉颖炯尤氲揭褬擞洏颖炯蟈中,根據(jù)更新后的已標記樣本集合X對分類器模型f進行評估。

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

        4 在線識別

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

        5 實驗結(jié)果和分析

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

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

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

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

        5.2 評價指標體系

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

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

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

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

        5.3 實驗結(jié)果

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

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

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

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

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

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

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

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

        5.3.3 召回率和準確率

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

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

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

        圖4 主動學習方法與隨機采樣方法在DNS中的對比實驗

        圖5 主動學習方法與隨機采樣方法在XUNLEI中的對比實驗

        圖6 主動學習方法與隨機采樣方法在CIFS/SMB中的對比實驗

        圖7 主動學習方法與隨機采樣方法在SMTP協(xié)議中的對比實驗

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

        5.4 總結(jié)與討論

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

        6 結(jié)束語

        隨著網(wǎng)絡(luò)流量的日益復雜多樣,有效的未知網(wǎng)絡(luò)協(xié)議識別方法成為信息安全領(lǐng)域一個重要的研究方向。由于未知協(xié)議網(wǎng)絡(luò)數(shù)據(jù)流的獲取與標記工作通常需要高昂的人工成本,因此需要研究可適用于實際網(wǎng)絡(luò)環(huán)境的樣本標記方法。本文從網(wǎng)絡(luò)數(shù)據(jù)流出發(fā),構(gòu)建了一整套基于主動學習的未知網(wǎng)絡(luò)協(xié)議識別方法。該方法僅依靠原始網(wǎng)絡(luò)數(shù)據(jù)流實現(xiàn)對未知網(wǎng)絡(luò)協(xié)議的有效識別。實驗結(jié)果表明,本文方法對面向連接和面向無連接的協(xié)議均可取得較好的實驗結(jié)果。在保證識別準確率和召回率的前提下,有效地降低了學習過程中所需的標記樣本數(shù)量。因此,本文的方法可直接應(yīng)用于實際的網(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ù)流分類器
        計算機網(wǎng)絡(luò)理論下的傳播研究結(jié)構(gòu)模型:Communication一詞的兩種翻譯
        汽車維修數(shù)據(jù)流基礎(chǔ)(下)
        一種藍牙多跳網(wǎng)絡(luò)協(xié)議的設(shè)計與研究
        電子制作(2018年17期)2018-09-28 01:56:52
        BP-GA光照分類器在車道線識別中的應(yīng)用
        電子測試(2018年1期)2018-04-18 11:52:35
        一種提高TCP與UDP數(shù)據(jù)流公平性的擁塞控制機制
        基于DPI技術(shù)的語音視頻流量監(jiān)控系統(tǒng)設(shè)計與實現(xiàn)
        加權(quán)空-譜與最近鄰分類器相結(jié)合的高光譜圖像分類
        結(jié)合模糊(C+P)均值聚類和SP-V-支持向量機的TSK分類器
        基于數(shù)據(jù)流聚類的多目標跟蹤算法
        芻議局域網(wǎng)中網(wǎng)絡(luò)協(xié)議的添加與配置
        科技資訊(2015年10期)2015-06-29 18:17:23
        国产三级黄色在线观看| 扒开腿狂躁女人爽出白浆 | 伊人加勒比在线观看视频| 又色又爽又高潮免费视频国产| 国产人妻鲁鲁一区二区| 日夜啪啪一区二区三区| 国产日韩在线播放观看| 中文乱码字幕在线中文乱码| 日韩肥臀人妻中文字幕一区| 国产乱了真实在线观看| 国产成人无码区免费内射一片色欲| 亚洲国产精品国自产电影| 国产一区亚洲一区二区| 国产内射一级一片内射视频| 亚洲av日韩专区在线观看| 久久波多野结衣av| 亚洲中文字幕国产剧情| 色与欲影视天天看综合网| 亚洲欧洲无码av不卡在线| 久久精品成人亚洲另类欧美| 国产一级av理论手机在线| 亚洲精品国产第一综合色吧| 女人下面毛多水多视频| 国产精品九九久久一区hh| 亚洲av资源网站手机在线| 亚洲国产精彩中文乱码av| 少妇厨房愉情理伦片bd在线观看 | 成人国产精品三上悠亚久久| 一区二区三区av波多野结衣| 国产日韩欧美网站| 麻豆视频在线观看免费在线观看| 精品香蕉99久久久久网站 | 99久久国产露脸精品竹菊传媒| 免费无遮挡毛片中文字幕| 女同一区二区三区在线观看 | 无码日日模日日碰夜夜爽| 亚洲国产综合精品久久av| 中文有码人妻字幕在线 | 亚洲免费人成在线视频观看| 日本变态网址中国字幕 | 亚洲欧美乱日韩乱国产|