999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于協議首部的字節頻率統計特征發現方法

2015-01-06 08:21:45羅軍勇
計算機工程 2015年2期
關鍵詞:特征文本

何 升,羅軍勇,劉 琰

(數學工程與先進計算國家重點實驗室,鄭州450002)

基于協議首部的字節頻率統計特征發現方法

何 升,羅軍勇,劉 琰

(數學工程與先進計算國家重點實驗室,鄭州450002)

應用協議識別在網絡安全領域具有極其廣泛的應用,而如何發現協議特征是協議識別的核心問題。為此,提出一種高效準確的協議特征自動發現方法。利用協議自身的格式特點,將消息進行token化,并根據token序列對消息進行分類。由分類數的變化曲線大致判別協議的首部長度,從而確定字頻統計的范圍。對數據流中每個數據包的消息首部進行字節頻率統計,并將字節頻率進行歸一化處理,得到字節頻率特征向量。通過計算待測協議與樣本協議的余弦相似度對協議進行分類和識別。實驗結果表明,用該方法所提取的特征進行識別,準確率超過93.5%。

協議識別;token化;字節頻率;特征向量;余弦相似度

1 概述

隨著互聯網技術的飛速發展,網絡流量分類和應用協議識別對于復雜的網絡活動來說越來越重要,例如入侵檢測和防護系統、網絡管理、流量建模仿真和流量監控等。傳統的基于端口號的識別方法已經無法適用于現今的網絡。而基于特征的識別方法可以避免由于基于端口的識別方法帶來的不確定性,因此如何發現應用協議的特征得到了越來越廣泛的關注。

現今主要的應用協議特征自動發現技術可以分為2類:一類是基于載荷的協議內容特征發現技術;另一類是基于流的協議統計特征發現技術。

基于載荷的協議內容特征發現技術準確性好,精度高,并且通常只需要較小的訓練數據集和較短的訓練時間就可以提取出精準的協議特征。但是,所提取的協議特征受協議名、版本號等因素影響,并不是所有的協議都能提取出區分度較高的協議特征。同樣,該方法也無法提取加密協議的特征。

基于流的協議統計特征發現技術對同一個流中的包長度、包到達時間間隔和包數量等統計特征進行學習,從而訓練出該協議的統計特征。該方法的優點在于不用關心協議具體的載荷內容,所提取的協議特征不受協議內容的變化而影響。但是由于訓練數據的不穩定性和非廣泛性,可能導致所提取的協議特征不具有代表性,精度不高。

結合上述2類方法的優點,本文提出一種協議統計特征自動發現方法。該方法利用協議報文格式的特點,估計協議首部的大致長度,對數據流中每個數據包的應用協議首部進行字節頻率統計,得到字節頻率特征向量,再通過余弦相似度對協議進行識別。

2 相關工作

在早期的基于載荷的手工提取特征方面,文獻[1]將9種不同的特征應用到手工數據分類中,該方法包括端口號、數據包頭和單個數據包載荷的前K個字節的特征等。這些工作都是通過深度分析數據包的應用層協議文檔來獲得協議特征的。

在基于協議載荷的內容特征方面,文獻[2]通過有監督的機器學習方法來自動構建協議特征。采用Na?ve Bayes,AdaBoost和RegularizedMaximum Entropy 3種機器學習算法提取7種應用協議特征,并將流量分類的特征發現范圍縮小至64 Byte。但是隨著協議版本的不斷更新,重新訓練特征又要付出高昂的代價。文獻[3]提出了3種協議推理模型,基于統計的乘積分布模型、馬爾科夫過和通用子串模圖模型。協議模型用來捕獲數據流交換過程中載荷內容的統計和結構化屬性。這3種協議推理模型避免了訓練集的預標記過程,可對原始多協議混雜并存的網絡流數據進行聚類分析并輸出協議特征。文獻[4]采用基于內容的應用層最長公共子序列搜索來發現特征碼,該算法嘗試查找樣本間最長公共子序列。該算法和文獻[5]系統相似。最長公共子序列是從樣本流中提取最長公共子序列作為協議特征的。該算法通過比較2個樣本來獲得最長公共子序列,然后再和其他樣本循環比較來提純特征。該方法受樣本噪音和比較順序影響。并且,當給定協議中存在多個公共子串時,生成特征將變得十分困難。文獻[6]利用Apriori算法提取數據流前5個偏移數據包的應用層首部,自動提取9種應用協議特征,取得97%以上的字節識別精度,但是在處理方式上仍保留龐大的候選集和重復掃描數據等問題。

在基于統計屬性的網絡流量分類方面,文獻[7]提出了使用EM算法,利用不同的特征將數據流分成簇。文獻[8]提出了帶核估計和FCBF的樸素貝葉斯分類器來分類流量。使用了一個巨大的包含248個特征的特征集,這些特征從TCP協議和數據包序列中統計獲得。文獻[9]使用貝葉斯定理訓練的神經網絡來提高準確率。文獻[10]使用基于EM的AutoClass來學習訓練數據集中內在的自然類別。文獻[11]表明AutoClass的準確率高于有監督的貝葉斯,然而聚類能發現新的不明協議。文獻[12]比較了3種聚類算法,而文獻[13]提出了半監督學習的混合方法。這表明基于統計的流量分類器是可行而且有前途的。文獻[14]提出了早期TCP流分類系統。核心思想是TCP三次握手后的帶載荷的前幾個數據包應該是應用協議的協商階段,這幾個包的載荷大小對于源協議也是很好的預測。文獻[15]提出了統計的協議指紋,它利用高斯過濾的PDF來描述流的3個屬性:包大小,內部包時間和到達順序。

3 字節頻率統計特征發現方法

3.1 方法描述

基于協議首部的字節頻率統計特征發現方法主要分為5個部分:首先對消息載荷進行token化,利用token序列對消息進行分類,利用載荷長度與分類數的變化關系估計協議首部長度,然后對協議首部進行字節頻率統計,將統計結果歸一化處理生成特征向量,最后得到協議特征。

基于協議首部的字節頻率統計特征發現流程如圖1所示。

圖1 特征發現流程

3.2 token化

對token給出相關定義如下:

定義1(token) 消息載荷中可能屬于同一格式字段的,一個或多個連續的字節。

定義2(文本token) 滿足一定長度的,位于2個ASCII碼非可打印字符之間的,多個連續的ASCII碼可打印字符組成的token。

定義3(二進制token) 單個的二進制字節,且不能和任何相鄰的文本token組合成新的文本token。

消息載荷的token化過程,即將消息載荷切割成由token組成的序列,并且區分文本token和二進制token的過程。在執行消息載荷的token化過程時,需要將載荷中的字節進行逐個判定,若為ASCII碼非可打印字符,則直接將該字節判定為二進制token,記為B;若為ASCII碼可打印字符,則將該字符存入臨時token,并繼續掃描后續字符。當后續字符中出現ASCII碼非可打印字符時,判斷臨時文本token的長度,如果滿足最小文本token長度,則將臨時文本token中的連續的ASCII碼可打印字符判定為文本token,記為T,如果不滿足最小文本token長度,則臨時token中的所有ASCII碼可打印字符均視為單個的二進制字符。

消息載荷的token化過程即將消息載荷的前K個字節切割成文本和二進制token的過程。消息載荷的token化過程結束后,每個消息被切割成了以B和T構成的token序列,例如:“{BTBTBBTB BTBT}”,為基于token序列的消息分類做準備。

3.3 消息分類

經過了消息載荷的token化的過程,同一個會話流中的每一個消息都得到了一個與之相對應的token序列。消息分類即根據消息的token序列來對同一會話流中的消息進行分類,將token序列相同的消息歸為一類,這里稱為簇(Cluster),簇中包含的消息個數即為簇的長度。由于token序列實際上反映的是協議格式的一種屬性,而同種協議的格式是相對固定的,所以得到相同的token序列應該居多,即每個簇的長度應該較長。因此,對于每個簇的生成,用最小簇長進行限制,如果產生的簇中的消息數目小于最小簇長,那么丟棄該簇以及簇中的消息。這是由于token化時產生的誤差可能得到并不能正確反映協議格式的token序列,而這樣的token序列應該是較少的,且并不相同,因此通過最小簇長可以將這些誤差產生的token序列進行過濾。

3.4 協議首部長度估計

通過對常見的應用協議格式進行分析,將應用協議按照格式的不同分為文本協議和二進制協議。文本協議的協議內容為文本類型,例如可讀的ASCII可打印字符。文本協議一般沒有固定的協議首部,協議內容是基于命令的文本段,因此各個字段也沒有固定的偏移位置和長度。常見的文本協議有: HTTP,SMTP和FTP等。二進制協議區別于文本協議,其內容是不可讀的二進制字符。二進制協議大多具有固定的協議首部,其協議首部中的內容符合協議文檔的嚴格規定,因此,首部中各個字段的偏移位置和長度都應該是固定的。常見的二進制協議有:DNS,OICQ和SMB等。

對于二進制協議,由于同種協議的首部長度固定,首部長度以內的字節取值受協議格式的嚴格限制,字節取值范圍較小。因此,當偏移長度的取值小于頭部長度時,隨著偏移長度的增大,根據token序列得到的簇數應該基本保持不變。當偏移長度的取值超過頭部長度,進入消息的數據部分后,由于數據部分的內容由用戶來決定,那么取值將變得多種多樣,所得到的分類數將隨著偏移長度的增加而急劇增加。通過偏移長度的取值和簇數的關系可以判別出該協議大致的首部長度。

圖2顯示了OICQ協議的偏移長度與簇數的關系。

圖2 OICQ的偏移長度與簇數的關系

對于文本協議,由于沒有固定長度的首部,這里考慮文本協議的近似首部長度作為統計的范圍。分類數的取值隨偏移長度取值的增長而增長,而當偏移長度的取值接近于近似首部時,簇數的增長速率應該是最快的。對于同種文本類協議,利用不同的偏移長度取值和其對應的分類數作為二維坐標圖上的離散點,將這些離散點相連并擬合成連續的曲線,得到曲線函數:

通過對曲線函數進行二次求導:

求出二階導數的零點,并進一步分析判斷得到一階導數的極值點,進而得到簇數增長最快的點,從而判別出該協議的近似首部長度。圖3顯示了HTTP協議的偏移長度與簇數的關系以及擬合后得到的曲線函數。

圖3 HTTP的偏移長度與簇數的關系

3.5 字節頻率統計

用于生成特征的訓練數據是經過預先標注的數據流的集合。由于訓練用到的都是已知協議的數據,因此利用數據包捕獲軟件wireshark,可以預先分類得到協議數據流。每個流中的數據包不僅應具有相同的五元組,即源IP、目的IP、源端口、目的端口和協議,還應該是在同一時間段內捕獲到的,并且帶有應用層的載荷數據。

對于一個特定的協議數據流的集合,利用判別出的協議近似首部長度,對這若干個流中的所有消息載荷的近似首部進行字節頻率統計,統計256個字符出現的次數(ASCII碼是從0x00~0xFF)。圖4為HTTP協議的字節頻率統計分布圖。

圖4 HTTP協議字節頻率統計分布

3.6 特征向量歸一化

為了對字節頻率分布的統計特征加以利用,這里采用向量的形式對其進行描述。因為向量具有方向特性,所以將每種協議的字節頻率分布轉化為相應的256維的字節頻率向量,那么每種協議將各自呈現出不同的方向特征。為了方便計算,將向量進行歸一化處理,每個分量同時除以向量的模長,向量的方向不變,得到的歸一化后的向量即為協議的字節頻率特征向量。

4 基于余弦相似度的應用協議識別

定義4(余弦相似度) 通過測量2個向量內積空間夾角的余弦值來度量的相似度。

余弦相似度可以用在任何維度的向量比較中,尤其在高維的正空間中的利用尤為頻繁。例如在信息檢索中,余弦相似度被廣泛用于測量2個文本之間的相似度。

本文將余弦相似度應用于測量協議特征庫中的已知協議與待測的目標協議的相似度,進而判斷2個協議是否為同種協議。類似于文本相似度的計算,這里的詞頻向量即協議的字節頻率特征向量。

余弦相似度計算公式如下:

其中,A代表已知協議的字節頻率向量;B代表未知協議的字節頻率向量;n表示向量的維數,n取256。判定未知協議和已知協議是否是同種協議,需要分別計算出2個協議的字節頻率向量A,B,然后計算A和B的余弦相似度,如果計算出的余弦相似度達到了設定的相似度閾值,則認為未知協議與已知協議為同種協議。相似度閾值的設定通過訓練得到。

5 實驗結果與分析

特征提取過程將已知協議的字節頻率向量進行提取并且保存入特征數據庫。測試時對測試數據中的每個數據流進行字節頻率向量提取,通過和特征數據庫中的特征向量進行比對,如果2個特征向量的余弦相似度滿足相似度閾值,則將測試協議判定為特征庫中的已知協議。

5.1 數據集

本文實驗所用數據一部分來自網上公開的網絡流量數據集MACCDC 2012,另一部分從單機網絡環境采集獲得。實驗數據共包含5種常見協議,其中3種為二進制類的協議(OICQ,DNS和SMB),另外2種為文本類的協議(HTTP和SMTP)。實驗數據一共包含了7 022條數據流,共計1.6 GB的網絡流量。將采集得到的數據集分為訓練集和測試集2個部分。訓練集用來進行特征提取和對相似度閾值進行訓練,測試集則用來識別。

5.2 評價指標

對于識別結果的評價標準,本文采用漏報率(FNrate)、誤報率(FPrate)和總準確率(Overall Accuracy)3項指標來綜合評價所提取特征的質量。設數據總量為N,將數據分為目標協議與非目標協議2類,定義如表1所示。

表1 評價指標的定義

記漏報率為FNr,誤報率為FPr,總準確率為OA,則有:

5.3 實驗結果

5.3.1 協議首部長度

協議首部長度判別結果如表2所示。

表2 協議首部長度判別結果Byte

OICQ協議和DNS協議的估計首部長度都比實際首部長度多出了幾個字節,那是因為OICQ和DNS的數據字段的開始部分都有幾個固定的字節值,導致算法將這幾個本屬于數據字段的字節判定成了協議首部,因此估計的首部長度要比實際的首部長度略長。HTTP協議和SMTP協議沒有固定的首部長度,用近似首部長度代替協議首部長度可以大大避免用戶數據的隨機性對實驗結果的干擾。

5.3.2 Threshold的訓練

為了選取合適的Threshold,使得漏報率和誤報率都能得到較為理想的值,這里通過訓練得到相似度閾值與準確率的關系,如圖5所示。

圖5 相似度閾值與準確率的關系

如圖5所示,隨著相似度閾值的增大,5種協議的總準確率均呈現先上升后下降的趨勢。如圖中豎虛線處所示,當相似度閾值取0.86時,5種協議的總準確率較高。

5.3.3 協議識別結果

協議識別結果如表3所示。

表3 協議識別結果

從實驗結果可以看出,DNS,SMB和HTTP的總準確率均在98%以上,結果較為理想。OICQ的漏報率較高,是由于OICQ的協議數據是單機環境人工采集獲得,所以協議數據可能由于人工采集的失誤導致純度不高,致使漏報率較高。SMTP協議由于其自身的協議規范要求,協議中帶有大量的用戶郵件內容,導致了誤報率較高??傮w來看,5種協議的總準確率均在93.5%以上,這也說明了本文方法的有效性和準確性。

6 結束語

協議識別在入侵檢測、網絡防火墻和網絡監控等領域具有越來越廣泛的應用,而協議特征發現作為協議識別的核心問題也倍受關注。本文提出了一種高效準確的協議流統計特征自動發現方法。利用協議自身的格式特點,通過對報文進行token化得到token序列,利用token序列進行分類后,根據分類數和所截取載荷長度的關系判別出協議首部的大致長度;通過對數據流中每個數據包的應用協議首部進行字節頻率統計,得到字節頻率特征向量;再通過計算已知協議與未知協議特征向量的余弦相似度進行協議識別。通過對OICQ,DNS, SMB,HTTP和SMTP 5種協議進行實驗驗證,識別準確率均超過了93.5%,實驗結果驗證了該方法的有效性和準確性。

[1] Moore A W,PapagiannakiK.TowardtheAccurate IdentificationofNetworkApplications[C]// Proceedings ofthe 6thInternationalWorkshopon PassiveandActiveNetworkMeasurement.Berlin, Germany:Springer,2005:41-54.

[2] Haffner P,Sen S,Spatscheck O,et al.ACAS:Automated ConstructionofApplicationSignatures[C]// Proceedings of ACM SIGCOMM Workshop on Mining Network Data.[S.l.]:ACM Press,2005:197-202.

[3] Ma J,Levchenko K,Kreibich C,et al.Unexpected Means of Protocol Inference[C]//Proceedings of the 6thACMSIGCOMMConferenceonInternet Measurement.[S.l.]:ACM Press,2006:313-326.

[4] Park B C,Won Y J,Kim M S,et al.Towards Automated ApplicationSignatureGenerationforTraffic Identification[C]//Proceedings of Network Operations and Management Symposium.[S.l.]:IEEE Press, 2008:160-167.

[5] Newsome J,Karp B,Song D.Polygraph:Automatically Generating Signatures for Polymorphic Worms[C]// ProceedingsofIEEESymposiumonSecurityand Privacy.[S.l.]:IEEE Press,2005:226-241.

[6] 劉興彬,楊建華,謝高崗,等.基于Apriori算法的流量識別特征自動提取方法[J].通信學報,2009,29(12): 51-59.

[7] McGregor A,Hall M,Lorier P,et al.Flow Clustering Using MachineLearningTechniques[M].Berlin, Germany:Springer,2004:205-214.

[8] Moore A W,Zuev D.InternetTrafficClassification UsingBayesianAnalysisTechniques[J].ACM SIGMETRICS Performance Evaluation Review,2005, 33(1):50-60.

[9] Auld T,MooreAW,GullSF.BayesianNeural Networks for Internet Traffic Classification[J].IEEE Transactions on Neural Networks,2007,18(1):223-239.

[10] Zander S,Nguyen T,Armitage G.Automated Traffic ClassificationandApplicationIdentificationUsing MachineLearning[C]//Proceedingsofthe30th Anniversary Conference on Local Computer Networks. [S.l.]:IEEE Press,2005:250-257.

[11] Erman J,Mahanti A,Arlitt M.Qrp05-4:Internet Traffic Identification Using Machine Learning[C]//Proceedings of Global Telecommunications Conference.[S.l.]:IEEE Press,2006:1-6.

[12] Erman J,Arlitt M,Mahanti A.Traffic Classification UsingClusteringAlgorithms[C]//Proceedingsof SIGCOMM Workshop on Mining Network Data.ACM Press,2006:281-286.

[13] Erman J,Mahanti A,Arlitt M,et al.Semi-supervised Network Traffic Classification[J].ACM SIGMETRICS Performance Evaluation Review,2007,35(1):369-370.

[14] Bernaille L,Teixeira R,Akodkenou I,et al.Traffic Classification on the Fly[J].ACM SIGCOMM Computer Communication Review,2006,36(2):23-26.

[15] Crotti M,Dusi M,Gringoli F,et al.Traffic Classification Through Simple Statistical Fingerprinting[J].ACM SIGCOMM Computer Communication Review,2007, 37(1):5-16.

編輯 顧逸斐

Feature Discovering Method of Byte Frequency Statistics Based on Protocol Header

HE Sheng,LUO Junyong,LIU Yan
(State Key Laboratory of Mathematical Engineering and Advanced Computing,Zhengzhou 450002,China)

Application protocol identification is widely applied in network security and the key problem of the protocol is how to discover the protocol feature.This paper proposes an efficient and precise method to automatically discover the protocol feature.The method takes advantage of the feature of protocol format to token the message,classify the messages according to the token sequence,and generally discriminate the protocol header length by change curve of classification number.Thus determine the scope of the word frequency statistics.The byte frequency of each data packet message header in data stream is counted and dealt under normalization.It gets the byte frequency vector of the protocol header,and utilizes the cosine similarity by calculating measured protocol and sample protocol to classify and identify the protocol. Experimental result shows that it has a high accuracy over 93.5%using the signature extracted by this method.

protocol identification;tokenization;byte frequency;feature vector;cosine similarity

何 升,羅軍勇,劉 琰.基于協議首部的字節頻率統計特征發現方法[J].計算機工程,2015,41(2): 272-277.

英文引用格式:He Sheng,Luo Junyong,Liu Yan.Feature Discovering Method of Byte Frequency Statistics Based on Protocol Header[J].Computer Engineering,2015,41(2):272-277.

1000-3428(2015)02-0272-06

:A

:TP301.6

10.3969/j.issn.1000-3428.2015.02.052

國家自然科學基金資助項目(61309007);國家“863”計劃基金資助項目(2012AA012902)。

何 升(1989-),男,碩士研究生,主研方向:信息安全;羅軍勇,教授;劉 琰,副教授、博士。

2014-03-13

:2014-04-14E-mail:sniperhs@sina.com

猜你喜歡
特征文本
抓住特征巧觀察
新型冠狀病毒及其流行病學特征認識
初中群文閱讀的文本選擇及組織
甘肅教育(2020年8期)2020-06-11 06:10:02
如何表達“特征”
在808DA上文本顯示的改善
不忠誠的四個特征
當代陜西(2019年10期)2019-06-03 10:12:04
基于doc2vec和TF-IDF的相似文本識別
電子制作(2018年18期)2018-11-14 01:48:06
抓住特征巧觀察
文本之中·文本之外·文本之上——童話故事《坐井觀天》的教學隱喻
論《柳毅傳》對前代文本的繼承與轉化
人間(2015年20期)2016-01-04 12:47:10
主站蜘蛛池模板: a级毛片免费网站| 无码人中文字幕| 亚洲国产理论片在线播放| 91精品国产丝袜| 国产av剧情无码精品色午夜| 国产在线观看第二页| 无套av在线| 1769国产精品视频免费观看| 亚洲日韩高清无码| 免费看一级毛片波多结衣| 亚洲色成人www在线观看| 国产成人亚洲无吗淙合青草| 国产美女91视频| 日本三区视频| 日韩毛片免费| 国产91小视频在线观看| 国产精品免费久久久久影院无码| 欧美a级在线| 亚洲欧美日韩成人高清在线一区| 精品国产乱码久久久久久一区二区| 国产av无码日韩av无码网站| 91探花在线观看国产最新| 亚洲视频免| 亚洲一区二区三区在线视频| 午夜国产精品视频黄| 亚洲中文在线视频| 午夜精品一区二区蜜桃| 亚洲欧美不卡中文字幕| 丰满少妇αⅴ无码区| 亚洲欧美综合在线观看| 最新国产高清在线| 大陆国产精品视频| 亚洲另类国产欧美一区二区| 亚洲av无码成人专区| 精品撒尿视频一区二区三区| 中文字幕永久在线观看| 欧美高清国产| 欧美成在线视频| 国内精品久久久久久久久久影视| 狠狠v日韩v欧美v| 亚洲性网站| 四虎永久免费地址| AV天堂资源福利在线观看| 在线视频亚洲欧美| 国产午夜看片| 亚洲欧美日韩成人高清在线一区| 日本午夜在线视频| 老熟妇喷水一区二区三区| 日韩精品亚洲一区中文字幕| 日a本亚洲中文在线观看| 亚洲bt欧美bt精品| 天天做天天爱天天爽综合区| 婷婷丁香色| 国产白丝av| 精品国产aⅴ一区二区三区| 亚洲国产精品美女| 亚洲区欧美区| 久久香蕉国产线看观看式| 日韩黄色大片免费看| 国产爽歪歪免费视频在线观看| 久久久无码人妻精品无码| 亚洲成人一区二区三区| 高清无码手机在线观看| 88av在线播放| 国产精品尤物铁牛tv | 欧美无遮挡国产欧美另类| 精品色综合| 色婷婷亚洲综合五月| 国产成人精品高清不卡在线| 最新亚洲人成网站在线观看| 国产精品lululu在线观看| 九九免费观看全部免费视频| 成人另类稀缺在线观看| 欧美日韩综合网| 污污网站在线观看| 三级国产在线观看| 日韩精品久久久久久久电影蜜臀| 国产成人欧美| 国产成人av一区二区三区| 内射人妻无码色AV天堂| 2021天堂在线亚洲精品专区| 久久久久久久久18禁秘|