何 升,羅軍勇,劉 琰
(數(shù)學(xué)工程與先進(jìn)計(jì)算國家重點(diǎn)實(shí)驗(yàn)室,鄭州450002)
基于協(xié)議首部的字節(jié)頻率統(tǒng)計(jì)特征發(fā)現(xiàn)方法
何 升,羅軍勇,劉 琰
(數(shù)學(xué)工程與先進(jìn)計(jì)算國家重點(diǎn)實(shí)驗(yàn)室,鄭州450002)
應(yīng)用協(xié)議識(shí)別在網(wǎng)絡(luò)安全領(lǐng)域具有極其廣泛的應(yīng)用,而如何發(fā)現(xiàn)協(xié)議特征是協(xié)議識(shí)別的核心問題。為此,提出一種高效準(zhǔn)確的協(xié)議特征自動(dòng)發(fā)現(xiàn)方法。利用協(xié)議自身的格式特點(diǎn),將消息進(jìn)行token化,并根據(jù)token序列對(duì)消息進(jìn)行分類。由分類數(shù)的變化曲線大致判別協(xié)議的首部長度,從而確定字頻統(tǒng)計(jì)的范圍。對(duì)數(shù)據(jù)流中每個(gè)數(shù)據(jù)包的消息首部進(jìn)行字節(jié)頻率統(tǒng)計(jì),并將字節(jié)頻率進(jìn)行歸一化處理,得到字節(jié)頻率特征向量。通過計(jì)算待測協(xié)議與樣本協(xié)議的余弦相似度對(duì)協(xié)議進(jìn)行分類和識(shí)別。實(shí)驗(yàn)結(jié)果表明,用該方法所提取的特征進(jìn)行識(shí)別,準(zhǔn)確率超過93.5%。
協(xié)議識(shí)別;token化;字節(jié)頻率;特征向量;余弦相似度
隨著互聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,網(wǎng)絡(luò)流量分類和應(yīng)用協(xié)議識(shí)別對(duì)于復(fù)雜的網(wǎng)絡(luò)活動(dòng)來說越來越重要,例如入侵檢測和防護(hù)系統(tǒng)、網(wǎng)絡(luò)管理、流量建模仿真和流量監(jiān)控等。傳統(tǒng)的基于端口號(hào)的識(shí)別方法已經(jīng)無法適用于現(xiàn)今的網(wǎng)絡(luò)。而基于特征的識(shí)別方法可以避免由于基于端口的識(shí)別方法帶來的不確定性,因此如何發(fā)現(xiàn)應(yīng)用協(xié)議的特征得到了越來越廣泛的關(guān)注。
現(xiàn)今主要的應(yīng)用協(xié)議特征自動(dòng)發(fā)現(xiàn)技術(shù)可以分為2類:一類是基于載荷的協(xié)議內(nèi)容特征發(fā)現(xiàn)技術(shù);另一類是基于流的協(xié)議統(tǒng)計(jì)特征發(fā)現(xiàn)技術(shù)。
基于載荷的協(xié)議內(nèi)容特征發(fā)現(xiàn)技術(shù)準(zhǔn)確性好,精度高,并且通常只需要較小的訓(xùn)練數(shù)據(jù)集和較短的訓(xùn)練時(shí)間就可以提取出精準(zhǔn)的協(xié)議特征。但是,所提取的協(xié)議特征受協(xié)議名、版本號(hào)等因素影響,并不是所有的協(xié)議都能提取出區(qū)分度較高的協(xié)議特征。同樣,該方法也無法提取加密協(xié)議的特征。
基于流的協(xié)議統(tǒng)計(jì)特征發(fā)現(xiàn)技術(shù)對(duì)同一個(gè)流中的包長度、包到達(dá)時(shí)間間隔和包數(shù)量等統(tǒng)計(jì)特征進(jìn)行學(xué)習(xí),從而訓(xùn)練出該協(xié)議的統(tǒng)計(jì)特征。該方法的優(yōu)點(diǎn)在于不用關(guān)心協(xié)議具體的載荷內(nèi)容,所提取的協(xié)議特征不受協(xié)議內(nèi)容的變化而影響。但是由于訓(xùn)練數(shù)據(jù)的不穩(wěn)定性和非廣泛性,可能導(dǎo)致所提取的協(xié)議特征不具有代表性,精度不高。
結(jié)合上述2類方法的優(yōu)點(diǎn),本文提出一種協(xié)議統(tǒng)計(jì)特征自動(dòng)發(fā)現(xiàn)方法。該方法利用協(xié)議報(bào)文格式的特點(diǎn),估計(jì)協(xié)議首部的大致長度,對(duì)數(shù)據(jù)流中每個(gè)數(shù)據(jù)包的應(yīng)用協(xié)議首部進(jìn)行字節(jié)頻率統(tǒng)計(jì),得到字節(jié)頻率特征向量,再通過余弦相似度對(duì)協(xié)議進(jìn)行識(shí)別。
在早期的基于載荷的手工提取特征方面,文獻(xiàn)[1]將9種不同的特征應(yīng)用到手工數(shù)據(jù)分類中,該方法包括端口號(hào)、數(shù)據(jù)包頭和單個(gè)數(shù)據(jù)包載荷的前K個(gè)字節(jié)的特征等。這些工作都是通過深度分析數(shù)據(jù)包的應(yīng)用層協(xié)議文檔來獲得協(xié)議特征的。
在基于協(xié)議載荷的內(nèi)容特征方面,文獻(xiàn)[2]通過有監(jiān)督的機(jī)器學(xué)習(xí)方法來自動(dòng)構(gòu)建協(xié)議特征。采用Na?ve Bayes,AdaBoost和RegularizedMaximum Entropy 3種機(jī)器學(xué)習(xí)算法提取7種應(yīng)用協(xié)議特征,并將流量分類的特征發(fā)現(xiàn)范圍縮小至64 Byte。但是隨著協(xié)議版本的不斷更新,重新訓(xùn)練特征又要付出高昂的代價(jià)。文獻(xiàn)[3]提出了3種協(xié)議推理模型,基于統(tǒng)計(jì)的乘積分布模型、馬爾科夫過和通用子串模圖模型。協(xié)議模型用來捕獲數(shù)據(jù)流交換過程中載荷內(nèi)容的統(tǒng)計(jì)和結(jié)構(gòu)化屬性。這3種協(xié)議推理模型避免了訓(xùn)練集的預(yù)標(biāo)記過程,可對(duì)原始多協(xié)議混雜并存的網(wǎng)絡(luò)流數(shù)據(jù)進(jìn)行聚類分析并輸出協(xié)議特征。文獻(xiàn)[4]采用基于內(nèi)容的應(yīng)用層最長公共子序列搜索來發(fā)現(xiàn)特征碼,該算法嘗試查找樣本間最長公共子序列。該算法和文獻(xiàn)[5]系統(tǒng)相似。最長公共子序列是從樣本流中提取最長公共子序列作為協(xié)議特征的。該算法通過比較2個(gè)樣本來獲得最長公共子序列,然后再和其他樣本循環(huán)比較來提純特征。該方法受樣本噪音和比較順序影響。并且,當(dāng)給定協(xié)議中存在多個(gè)公共子串時(shí),生成特征將變得十分困難。文獻(xiàn)[6]利用Apriori算法提取數(shù)據(jù)流前5個(gè)偏移數(shù)據(jù)包的應(yīng)用層首部,自動(dòng)提取9種應(yīng)用協(xié)議特征,取得97%以上的字節(jié)識(shí)別精度,但是在處理方式上仍保留龐大的候選集和重復(fù)掃描數(shù)據(jù)等問題。
在基于統(tǒng)計(jì)屬性的網(wǎng)絡(luò)流量分類方面,文獻(xiàn)[7]提出了使用EM算法,利用不同的特征將數(shù)據(jù)流分成簇。文獻(xiàn)[8]提出了帶核估計(jì)和FCBF的樸素貝葉斯分類器來分類流量。使用了一個(gè)巨大的包含248個(gè)特征的特征集,這些特征從TCP協(xié)議和數(shù)據(jù)包序列中統(tǒng)計(jì)獲得。文獻(xiàn)[9]使用貝葉斯定理訓(xùn)練的神經(jīng)網(wǎng)絡(luò)來提高準(zhǔn)確率。文獻(xiàn)[10]使用基于EM的AutoClass來學(xué)習(xí)訓(xùn)練數(shù)據(jù)集中內(nèi)在的自然類別。文獻(xiàn)[11]表明AutoClass的準(zhǔn)確率高于有監(jiān)督的貝葉斯,然而聚類能發(fā)現(xiàn)新的不明協(xié)議。文獻(xiàn)[12]比較了3種聚類算法,而文獻(xiàn)[13]提出了半監(jiān)督學(xué)習(xí)的混合方法。這表明基于統(tǒng)計(jì)的流量分類器是可行而且有前途的。文獻(xiàn)[14]提出了早期TCP流分類系統(tǒng)。核心思想是TCP三次握手后的帶載荷的前幾個(gè)數(shù)據(jù)包應(yīng)該是應(yīng)用協(xié)議的協(xié)商階段,這幾個(gè)包的載荷大小對(duì)于源協(xié)議也是很好的預(yù)測。文獻(xiàn)[15]提出了統(tǒng)計(jì)的協(xié)議指紋,它利用高斯過濾的PDF來描述流的3個(gè)屬性:包大小,內(nèi)部包時(shí)間和到達(dá)順序。
3.1 方法描述
基于協(xié)議首部的字節(jié)頻率統(tǒng)計(jì)特征發(fā)現(xiàn)方法主要分為5個(gè)部分:首先對(duì)消息載荷進(jìn)行token化,利用token序列對(duì)消息進(jìn)行分類,利用載荷長度與分類數(shù)的變化關(guān)系估計(jì)協(xié)議首部長度,然后對(duì)協(xié)議首部進(jìn)行字節(jié)頻率統(tǒng)計(jì),將統(tǒng)計(jì)結(jié)果歸一化處理生成特征向量,最后得到協(xié)議特征。
基于協(xié)議首部的字節(jié)頻率統(tǒng)計(jì)特征發(fā)現(xiàn)流程如圖1所示。
圖1 特征發(fā)現(xiàn)流程
3.2 token化
對(duì)token給出相關(guān)定義如下:
定義1(token) 消息載荷中可能屬于同一格式字段的,一個(gè)或多個(gè)連續(xù)的字節(jié)。
定義2(文本token) 滿足一定長度的,位于2個(gè)ASCII碼非可打印字符之間的,多個(gè)連續(xù)的ASCII碼可打印字符組成的token。
定義3(二進(jìn)制token) 單個(gè)的二進(jìn)制字節(jié),且不能和任何相鄰的文本token組合成新的文本token。
消息載荷的token化過程,即將消息載荷切割成由token組成的序列,并且區(qū)分文本token和二進(jìn)制token的過程。在執(zhí)行消息載荷的token化過程時(shí),需要將載荷中的字節(jié)進(jìn)行逐個(gè)判定,若為ASCII碼非可打印字符,則直接將該字節(jié)判定為二進(jìn)制token,記為B;若為ASCII碼可打印字符,則將該字符存入臨時(shí)token,并繼續(xù)掃描后續(xù)字符。當(dāng)后續(xù)字符中出現(xiàn)ASCII碼非可打印字符時(shí),判斷臨時(shí)文本token的長度,如果滿足最小文本token長度,則將臨時(shí)文本token中的連續(xù)的ASCII碼可打印字符判定為文本token,記為T,如果不滿足最小文本token長度,則臨時(shí)token中的所有ASCII碼可打印字符均視為單個(gè)的二進(jìn)制字符。
消息載荷的token化過程即將消息載荷的前K個(gè)字節(jié)切割成文本和二進(jìn)制token的過程。消息載荷的token化過程結(jié)束后,每個(gè)消息被切割成了以B和T構(gòu)成的token序列,例如:“{BTBTBBTB BTBT}”,為基于token序列的消息分類做準(zhǔn)備。
3.3 消息分類
經(jīng)過了消息載荷的token化的過程,同一個(gè)會(huì)話流中的每一個(gè)消息都得到了一個(gè)與之相對(duì)應(yīng)的token序列。消息分類即根據(jù)消息的token序列來對(duì)同一會(huì)話流中的消息進(jìn)行分類,將token序列相同的消息歸為一類,這里稱為簇(Cluster),簇中包含的消息個(gè)數(shù)即為簇的長度。由于token序列實(shí)際上反映的是協(xié)議格式的一種屬性,而同種協(xié)議的格式是相對(duì)固定的,所以得到相同的token序列應(yīng)該居多,即每個(gè)簇的長度應(yīng)該較長。因此,對(duì)于每個(gè)簇的生成,用最小簇長進(jìn)行限制,如果產(chǎn)生的簇中的消息數(shù)目小于最小簇長,那么丟棄該簇以及簇中的消息。這是由于token化時(shí)產(chǎn)生的誤差可能得到并不能正確反映協(xié)議格式的token序列,而這樣的token序列應(yīng)該是較少的,且并不相同,因此通過最小簇長可以將這些誤差產(chǎn)生的token序列進(jìn)行過濾。
3.4 協(xié)議首部長度估計(jì)
通過對(duì)常見的應(yīng)用協(xié)議格式進(jìn)行分析,將應(yīng)用協(xié)議按照格式的不同分為文本協(xié)議和二進(jìn)制協(xié)議。文本協(xié)議的協(xié)議內(nèi)容為文本類型,例如可讀的ASCII可打印字符。文本協(xié)議一般沒有固定的協(xié)議首部,協(xié)議內(nèi)容是基于命令的文本段,因此各個(gè)字段也沒有固定的偏移位置和長度。常見的文本協(xié)議有: HTTP,SMTP和FTP等。二進(jìn)制協(xié)議區(qū)別于文本協(xié)議,其內(nèi)容是不可讀的二進(jìn)制字符。二進(jìn)制協(xié)議大多具有固定的協(xié)議首部,其協(xié)議首部中的內(nèi)容符合協(xié)議文檔的嚴(yán)格規(guī)定,因此,首部中各個(gè)字段的偏移位置和長度都應(yīng)該是固定的。常見的二進(jìn)制協(xié)議有:DNS,OICQ和SMB等。
對(duì)于二進(jìn)制協(xié)議,由于同種協(xié)議的首部長度固定,首部長度以內(nèi)的字節(jié)取值受協(xié)議格式的嚴(yán)格限制,字節(jié)取值范圍較小。因此,當(dāng)偏移長度的取值小于頭部長度時(shí),隨著偏移長度的增大,根據(jù)token序列得到的簇?cái)?shù)應(yīng)該基本保持不變。當(dāng)偏移長度的取值超過頭部長度,進(jìn)入消息的數(shù)據(jù)部分后,由于數(shù)據(jù)部分的內(nèi)容由用戶來決定,那么取值將變得多種多樣,所得到的分類數(shù)將隨著偏移長度的增加而急劇增加。通過偏移長度的取值和簇?cái)?shù)的關(guān)系可以判別出該協(xié)議大致的首部長度。
圖2顯示了OICQ協(xié)議的偏移長度與簇?cái)?shù)的關(guān)系。
圖2 OICQ的偏移長度與簇?cái)?shù)的關(guān)系
對(duì)于文本協(xié)議,由于沒有固定長度的首部,這里考慮文本協(xié)議的近似首部長度作為統(tǒng)計(jì)的范圍。分類數(shù)的取值隨偏移長度取值的增長而增長,而當(dāng)偏移長度的取值接近于近似首部時(shí),簇?cái)?shù)的增長速率應(yīng)該是最快的。對(duì)于同種文本類協(xié)議,利用不同的偏移長度取值和其對(duì)應(yīng)的分類數(shù)作為二維坐標(biāo)圖上的離散點(diǎn),將這些離散點(diǎn)相連并擬合成連續(xù)的曲線,得到曲線函數(shù):
通過對(duì)曲線函數(shù)進(jìn)行二次求導(dǎo):
求出二階導(dǎo)數(shù)的零點(diǎn),并進(jìn)一步分析判斷得到一階導(dǎo)數(shù)的極值點(diǎn),進(jìn)而得到簇?cái)?shù)增長最快的點(diǎn),從而判別出該協(xié)議的近似首部長度。圖3顯示了HTTP協(xié)議的偏移長度與簇?cái)?shù)的關(guān)系以及擬合后得到的曲線函數(shù)。
圖3 HTTP的偏移長度與簇?cái)?shù)的關(guān)系
3.5 字節(jié)頻率統(tǒng)計(jì)
用于生成特征的訓(xùn)練數(shù)據(jù)是經(jīng)過預(yù)先標(biāo)注的數(shù)據(jù)流的集合。由于訓(xùn)練用到的都是已知協(xié)議的數(shù)據(jù),因此利用數(shù)據(jù)包捕獲軟件wireshark,可以預(yù)先分類得到協(xié)議數(shù)據(jù)流。每個(gè)流中的數(shù)據(jù)包不僅應(yīng)具有相同的五元組,即源IP、目的IP、源端口、目的端口和協(xié)議,還應(yīng)該是在同一時(shí)間段內(nèi)捕獲到的,并且?guī)в袘?yīng)用層的載荷數(shù)據(jù)。
對(duì)于一個(gè)特定的協(xié)議數(shù)據(jù)流的集合,利用判別出的協(xié)議近似首部長度,對(duì)這若干個(gè)流中的所有消息載荷的近似首部進(jìn)行字節(jié)頻率統(tǒng)計(jì),統(tǒng)計(jì)256個(gè)字符出現(xiàn)的次數(shù)(ASCII碼是從0x00~0xFF)。圖4為HTTP協(xié)議的字節(jié)頻率統(tǒng)計(jì)分布圖。
圖4 HTTP協(xié)議字節(jié)頻率統(tǒng)計(jì)分布
3.6 特征向量歸一化
為了對(duì)字節(jié)頻率分布的統(tǒng)計(jì)特征加以利用,這里采用向量的形式對(duì)其進(jìn)行描述。因?yàn)橄蛄烤哂蟹较蛱匦?所以將每種協(xié)議的字節(jié)頻率分布轉(zhuǎn)化為相應(yīng)的256維的字節(jié)頻率向量,那么每種協(xié)議將各自呈現(xiàn)出不同的方向特征。為了方便計(jì)算,將向量進(jìn)行歸一化處理,每個(gè)分量同時(shí)除以向量的模長,向量的方向不變,得到的歸一化后的向量即為協(xié)議的字節(jié)頻率特征向量。
定義4(余弦相似度) 通過測量2個(gè)向量內(nèi)積空間夾角的余弦值來度量的相似度。
余弦相似度可以用在任何維度的向量比較中,尤其在高維的正空間中的利用尤為頻繁。例如在信息檢索中,余弦相似度被廣泛用于測量2個(gè)文本之間的相似度。
本文將余弦相似度應(yīng)用于測量協(xié)議特征庫中的已知協(xié)議與待測的目標(biāo)協(xié)議的相似度,進(jìn)而判斷2個(gè)協(xié)議是否為同種協(xié)議。類似于文本相似度的計(jì)算,這里的詞頻向量即協(xié)議的字節(jié)頻率特征向量。
余弦相似度計(jì)算公式如下:
其中,A代表已知協(xié)議的字節(jié)頻率向量;B代表未知協(xié)議的字節(jié)頻率向量;n表示向量的維數(shù),n取256。判定未知協(xié)議和已知協(xié)議是否是同種協(xié)議,需要分別計(jì)算出2個(gè)協(xié)議的字節(jié)頻率向量A,B,然后計(jì)算A和B的余弦相似度,如果計(jì)算出的余弦相似度達(dá)到了設(shè)定的相似度閾值,則認(rèn)為未知協(xié)議與已知協(xié)議為同種協(xié)議。相似度閾值的設(shè)定通過訓(xùn)練得到。
特征提取過程將已知協(xié)議的字節(jié)頻率向量進(jìn)行提取并且保存入特征數(shù)據(jù)庫。測試時(shí)對(duì)測試數(shù)據(jù)中的每個(gè)數(shù)據(jù)流進(jìn)行字節(jié)頻率向量提取,通過和特征數(shù)據(jù)庫中的特征向量進(jìn)行比對(duì),如果2個(gè)特征向量的余弦相似度滿足相似度閾值,則將測試協(xié)議判定為特征庫中的已知協(xié)議。
5.1 數(shù)據(jù)集
本文實(shí)驗(yàn)所用數(shù)據(jù)一部分來自網(wǎng)上公開的網(wǎng)絡(luò)流量數(shù)據(jù)集MACCDC 2012,另一部分從單機(jī)網(wǎng)絡(luò)環(huán)境采集獲得。實(shí)驗(yàn)數(shù)據(jù)共包含5種常見協(xié)議,其中3種為二進(jìn)制類的協(xié)議(OICQ,DNS和SMB),另外2種為文本類的協(xié)議(HTTP和SMTP)。實(shí)驗(yàn)數(shù)據(jù)一共包含了7 022條數(shù)據(jù)流,共計(jì)1.6 GB的網(wǎng)絡(luò)流量。將采集得到的數(shù)據(jù)集分為訓(xùn)練集和測試集2個(gè)部分。訓(xùn)練集用來進(jìn)行特征提取和對(duì)相似度閾值進(jìn)行訓(xùn)練,測試集則用來識(shí)別。
5.2 評(píng)價(jià)指標(biāo)
對(duì)于識(shí)別結(jié)果的評(píng)價(jià)標(biāo)準(zhǔn),本文采用漏報(bào)率(FNrate)、誤報(bào)率(FPrate)和總準(zhǔn)確率(Overall Accuracy)3項(xiàng)指標(biāo)來綜合評(píng)價(jià)所提取特征的質(zhì)量。設(shè)數(shù)據(jù)總量為N,將數(shù)據(jù)分為目標(biāo)協(xié)議與非目標(biāo)協(xié)議2類,定義如表1所示。
表1 評(píng)價(jià)指標(biāo)的定義
記漏報(bào)率為FNr,誤報(bào)率為FPr,總準(zhǔn)確率為OA,則有:
5.3 實(shí)驗(yàn)結(jié)果
5.3.1 協(xié)議首部長度
協(xié)議首部長度判別結(jié)果如表2所示。
表2 協(xié)議首部長度判別結(jié)果Byte
OICQ協(xié)議和DNS協(xié)議的估計(jì)首部長度都比實(shí)際首部長度多出了幾個(gè)字節(jié),那是因?yàn)镺ICQ和DNS的數(shù)據(jù)字段的開始部分都有幾個(gè)固定的字節(jié)值,導(dǎo)致算法將這幾個(gè)本屬于數(shù)據(jù)字段的字節(jié)判定成了協(xié)議首部,因此估計(jì)的首部長度要比實(shí)際的首部長度略長。HTTP協(xié)議和SMTP協(xié)議沒有固定的首部長度,用近似首部長度代替協(xié)議首部長度可以大大避免用戶數(shù)據(jù)的隨機(jī)性對(duì)實(shí)驗(yàn)結(jié)果的干擾。
5.3.2 Threshold的訓(xùn)練
為了選取合適的Threshold,使得漏報(bào)率和誤報(bào)率都能得到較為理想的值,這里通過訓(xùn)練得到相似度閾值與準(zhǔn)確率的關(guān)系,如圖5所示。
圖5 相似度閾值與準(zhǔn)確率的關(guān)系
如圖5所示,隨著相似度閾值的增大,5種協(xié)議的總準(zhǔn)確率均呈現(xiàn)先上升后下降的趨勢。如圖中豎虛線處所示,當(dāng)相似度閾值取0.86時(shí),5種協(xié)議的總準(zhǔn)確率較高。
5.3.3 協(xié)議識(shí)別結(jié)果
協(xié)議識(shí)別結(jié)果如表3所示。
表3 協(xié)議識(shí)別結(jié)果
從實(shí)驗(yàn)結(jié)果可以看出,DNS,SMB和HTTP的總準(zhǔn)確率均在98%以上,結(jié)果較為理想。OICQ的漏報(bào)率較高,是由于OICQ的協(xié)議數(shù)據(jù)是單機(jī)環(huán)境人工采集獲得,所以協(xié)議數(shù)據(jù)可能由于人工采集的失誤導(dǎo)致純度不高,致使漏報(bào)率較高。SMTP協(xié)議由于其自身的協(xié)議規(guī)范要求,協(xié)議中帶有大量的用戶郵件內(nèi)容,導(dǎo)致了誤報(bào)率較高。總體來看,5種協(xié)議的總準(zhǔn)確率均在93.5%以上,這也說明了本文方法的有效性和準(zhǔn)確性。
協(xié)議識(shí)別在入侵檢測、網(wǎng)絡(luò)防火墻和網(wǎng)絡(luò)監(jiān)控等領(lǐng)域具有越來越廣泛的應(yīng)用,而協(xié)議特征發(fā)現(xiàn)作為協(xié)議識(shí)別的核心問題也倍受關(guān)注。本文提出了一種高效準(zhǔn)確的協(xié)議流統(tǒng)計(jì)特征自動(dòng)發(fā)現(xiàn)方法。利用協(xié)議自身的格式特點(diǎn),通過對(duì)報(bào)文進(jìn)行token化得到token序列,利用token序列進(jìn)行分類后,根據(jù)分類數(shù)和所截取載荷長度的關(guān)系判別出協(xié)議首部的大致長度;通過對(duì)數(shù)據(jù)流中每個(gè)數(shù)據(jù)包的應(yīng)用協(xié)議首部進(jìn)行字節(jié)頻率統(tǒng)計(jì),得到字節(jié)頻率特征向量;再通過計(jì)算已知協(xié)議與未知協(xié)議特征向量的余弦相似度進(jìn)行協(xié)議識(shí)別。通過對(duì)OICQ,DNS, SMB,HTTP和SMTP 5種協(xié)議進(jìn)行實(shí)驗(yàn)驗(yàn)證,識(shí)別準(zhǔn)確率均超過了93.5%,實(shí)驗(yàn)結(jié)果驗(yàn)證了該方法的有效性和準(zhǔn)確性。
[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算法的流量識(shí)別特征自動(dòng)提取方法[J].通信學(xué)報(bào),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
何 升,羅軍勇,劉 琰.基于協(xié)議首部的字節(jié)頻率統(tǒng)計(jì)特征發(fā)現(xiàn)方法[J].計(jì)算機(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
國家自然科學(xué)基金資助項(xiàng)目(61309007);國家“863”計(jì)劃基金資助項(xiàng)目(2012AA012902)。
何 升(1989-),男,碩士研究生,主研方向:信息安全;羅軍勇,教授;劉 琰,副教授、博士。
2014-03-13
:2014-04-14E-mail:sniperhs@sina.com