1.一種基于誤碼率模型的未知通信協(xié)議識別方法,其特征在于,包括以下步驟:
(1)、數(shù)據(jù)采集及預(yù)處理
利用網(wǎng)絡(luò)抓包工具抓取網(wǎng)絡(luò)中的通信數(shù)據(jù),再將通信數(shù)據(jù)按照幀格式進(jìn)行存儲,且每一幀進(jìn)行二進(jìn)制處理,最后將處理完成的已知協(xié)議通信數(shù)據(jù)作為訓(xùn)練數(shù)據(jù),將未知協(xié)議通信數(shù)據(jù)作為被識別數(shù)據(jù);
(2)、對訓(xùn)練數(shù)據(jù)進(jìn)行特征提取,得到協(xié)議特征庫
(2.1)、利用模式匹配算法提取頻繁集
根據(jù)已有網(wǎng)絡(luò)協(xié)議特征字符串允許的長度,窮舉所有的1~6字節(jié)的二進(jìn)制字符串,記為{p1,p2,p3,......,pm},pm表示第m個二進(jìn)制字符串,最后將窮舉的所有二進(jìn)制字符串作為模式字符串;
提取訓(xùn)練數(shù)據(jù)中的每一幀數(shù)據(jù),組成目標(biāo)字符串{t1,t2,t3,......,tn},tn表示第n幀數(shù)據(jù);
將{p1,p2,p3,......,pm}和{t1,t2,t3,......,tn}作為模式匹配算法的輸入,通過模式匹配算法進(jìn)行匹配,并記錄匹配成功的模式字符串以及其在目標(biāo)字符串中的位置,最后統(tǒng)計相同位置上出現(xiàn)同一模式字符串的幀數(shù),并將幀數(shù)占比大于M%的模式字符串定義為此協(xié)議的頻繁字符串,最后將所有頻繁字符串組成頻繁集{f1,f2,f3,......,fK},fK表示第K個頻繁字符串;
(2.2)、利用關(guān)聯(lián)規(guī)則分析算法提取協(xié)議特征
將頻繁集{f1,f2,f3,......,fK}及頻繁字符串在各個幀中出現(xiàn)的位置作為關(guān)聯(lián)規(guī)則分析算法的輸入,通過關(guān)聯(lián)規(guī)則分析算法對頻繁字符串進(jìn)行關(guān)聯(lián)規(guī)則分析,得到關(guān)聯(lián)字符串,再統(tǒng)計出關(guān)聯(lián)字符串出現(xiàn)的次數(shù)和位置,并將關(guān)聯(lián)字符串出現(xiàn)的次數(shù)占比大于M%的關(guān)聯(lián)字符串作為識別規(guī)則,再將識別規(guī)則中的頻繁字符串{f1,f2,f3,......,fk}存入?yún)f(xié)議特征庫中,其中,fk表示第k(k≤K)個頻繁字符串;
(3)、利用模糊匹配算法獲取模糊特征集
(3.1)、計算被識別數(shù)據(jù)允許的最大誤比特數(shù)
其中,L1表示允許的最長特征串的長度,L表示被識別數(shù)據(jù)幀的幀長度,F(xiàn)ER表示被識別數(shù)據(jù)的誤幀率;
(3.2)、根據(jù)協(xié)議特征庫,利用模糊匹配算法提取最大誤比特數(shù)范圍內(nèi)的所有模糊特征字符串
將被識別數(shù)據(jù)、頻繁字符串{f1,f2,f3,......,fk}和被識別數(shù)據(jù)允許的最大誤比特數(shù)作為模糊匹配算法的輸入,通過模糊匹配算法進(jìn)行匹配,記錄匹配成功的模糊特征字符串及其在被識別數(shù)據(jù)幀中的位置,并存入到模糊特征集中;
(4)、采用Jena自動推理機識別幀的協(xié)議類型
首先建立推理規(guī)則庫,再將模糊特征集中的模糊特征字符串和推理規(guī)則庫作為Jena自動推理機的輸入,并進(jìn)行推理,得出每一組模糊特征字符串所對應(yīng)的協(xié)議類型,即為此的協(xié)議類型。
2.根據(jù)權(quán)利要求1所述的一種基于誤碼率模型的未知通信協(xié)議識別方法,其特征在于,所述的模式識別算法包括AC算法、AC-BM算法、Wu-Manber算法。
3.根據(jù)權(quán)利要求1所述的一種基于誤碼率模型的未知通信協(xié)議識別方法,其特征在于,所述的關(guān)聯(lián)規(guī)則分析算法包括Apriori算法和FP-Growth算法。
4.根據(jù)權(quán)利要求1所述的一種基于誤碼率模型的未知通信協(xié)議識別方法,其特征在于,所述的步驟(4)還可以采用SVM識別數(shù)據(jù)協(xié)議類型,具體為:
建立SVM模型:將頻繁字符串{f1,f2,f3,......,fk}作為訓(xùn)練數(shù)據(jù)輸入到SVM中訓(xùn)練,得到SVM模型;
將模糊特征集中的模糊特征字符串輸入到SVM模型中,通過SVM模型識別出每一幀的數(shù)據(jù)協(xié)議類型。