專(zhuān)利名稱(chēng):應(yīng)用識(shí)別處理方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)安全技術(shù),尤其涉及一種應(yīng)用識(shí)別處理方法及裝置。
背景技術(shù):
隨著網(wǎng)絡(luò)應(yīng)用層出不窮,更多更復(fù)雜的安全風(fēng)險(xiǎn)隱藏于各種網(wǎng)絡(luò)應(yīng)用之中,例如 利用web服務(wù)安全漏洞進(jìn)行的攻擊,又如一些消耗帶寬的應(yīng)用,流媒體、視頻下載等,擠占正常的網(wǎng)絡(luò)資源,嚴(yán)重影響了企業(yè)的正常工作,網(wǎng)絡(luò)安全管理面臨新的挑戰(zhàn)和新的問(wèn)題。
基于上述原因,將各種應(yīng)用識(shí)別出來(lái),對(duì)網(wǎng)絡(luò)管理和網(wǎng)絡(luò)安全至關(guān)重要,然而現(xiàn)有技術(shù)中缺少一種快速、精確度高的識(shí)別應(yīng)用的方法。發(fā)明內(nèi)容
針對(duì)上述缺陷,本發(fā)明提供一種應(yīng)用識(shí)別處理方法及裝置。
本發(fā)明一方面提供一種應(yīng)用識(shí)別處理方法,包括
對(duì)與應(yīng)用對(duì)應(yīng)的抓包文件進(jìn)行解析,獲取各抓包文件中的會(huì)話(huà);
對(duì)所述會(huì)話(huà)進(jìn)行特征提取,獲取應(yīng)用特征信息;
對(duì)所述應(yīng)用特征信息進(jìn)行匹配校驗(yàn),獲取與各應(yīng)用特征信息對(duì)應(yīng)的特征命中率;
采用命中率最高的應(yīng)用特征信息,對(duì)所述應(yīng)用進(jìn)行識(shí)別處理。
本發(fā)明另一方面提供一種應(yīng)用識(shí)別處理裝置,包括
解析模塊,用于對(duì)與應(yīng)用對(duì)應(yīng)的抓包文件進(jìn)行解析,獲取各抓包文件中的會(huì)話(huà);
提取模塊,用于對(duì)所述會(huì)話(huà)進(jìn)行特征提取,獲取應(yīng)用特征信息;
校驗(yàn)?zāi)K,對(duì)所述應(yīng)用特征信息進(jìn)行匹配校驗(yàn),獲取與各應(yīng)用特征信息對(duì)應(yīng)的特征命中率;
識(shí)別模塊,采用命中率最高的應(yīng)用特征信息,對(duì)所述應(yīng)用進(jìn)行識(shí)別處理。
本發(fā)明通過(guò)自動(dòng)獲取應(yīng)用的特征信息,并根據(jù)這些特征信息識(shí)別出相應(yīng)的應(yīng)用, 且通過(guò)匹配校驗(yàn)保證了識(shí)別應(yīng)用的準(zhǔn)確性。
圖I為本發(fā)明應(yīng)用數(shù)據(jù)包獲取方法實(shí)施例一的流程示意圖2為本發(fā)明應(yīng)用數(shù)據(jù)包獲取方法實(shí)施例二的流程示意圖3為本發(fā)明應(yīng)用數(shù)據(jù)包獲取方法實(shí)施例三的流程示意圖4為本發(fā)明應(yīng)用數(shù)據(jù)包獲取方法實(shí)施例四的流程示意圖5為本發(fā)明應(yīng)用數(shù)據(jù)包獲取方法實(shí)施例五的流程示意圖6為本發(fā)明應(yīng)用數(shù)據(jù)包獲取方法實(shí)施例六的流程示意圖7為本發(fā)明應(yīng)用數(shù)據(jù)包獲取方法實(shí)施例七的流程示意圖8為本發(fā)明應(yīng)用數(shù)據(jù)包獲取方法實(shí)施例八的流程示意圖9為本發(fā)明應(yīng)用數(shù)據(jù)包獲取方法實(shí)施例九的流程示意圖;5
圖10為本發(fā)明應(yīng)用數(shù)據(jù)包獲取方法實(shí)施例十的流程示意圖11為本發(fā)明應(yīng)用數(shù)據(jù)包獲取裝置實(shí)施例一的結(jié)構(gòu)示意圖12為本發(fā)明應(yīng)用數(shù)據(jù)包獲取裝置實(shí)施例二的結(jié)構(gòu)示意圖13為本發(fā)明應(yīng)用數(shù)據(jù)包獲取裝置實(shí)施例三的結(jié)構(gòu)示意圖。
具體實(shí)施方式
圖I為本發(fā)明應(yīng)用數(shù)據(jù)包獲取方法實(shí)施例一的流程示意圖,如圖I所示,該方法包括
步驟10、對(duì)于應(yīng)用對(duì)應(yīng)的抓包文件進(jìn)行解析,獲取各抓包文件中的會(huì)話(huà);
具體實(shí)現(xiàn)時(shí),首先,在指定位置遍歷所有的抓包(pcap)文件,并對(duì)這些pcap文件的名字進(jìn)行解析,進(jìn)而將所有pcap文件按照應(yīng)用分類(lèi),獲取到與應(yīng)用對(duì)應(yīng)的pcap文件列表;其中,這些pcap文件是人工從大量應(yīng)用中獲取后存放在上述指定位置的,每種應(yīng)用都會(huì)獲取多個(gè)pcap文件,一般來(lái)說(shuō)每個(gè)應(yīng)用獲取5 10個(gè)pcap文件;
然后,在上述與應(yīng)用對(duì)應(yīng)的pcap文件列表中,每次選取一種應(yīng)用的一個(gè)pcap文件進(jìn)行解析,獲取該pcap文件的會(huì)話(huà),其中,每個(gè)會(huì)話(huà)包含至少一個(gè)數(shù)據(jù)包;
步驟20、對(duì)上述會(huì)話(huà)進(jìn)行特征提取,獲取應(yīng)用特征信息;其中,特征是指各應(yīng)用所特有的,即以后可以根據(jù)該應(yīng)用的特征信息識(shí)別出該應(yīng)用;
步驟30、對(duì)上述應(yīng)用特征信息進(jìn)行匹配校驗(yàn),獲取各應(yīng)用特征信息對(duì)應(yīng)的特征命中率;由于從同種應(yīng)用的不同pcap文件中獲取到的特征并不唯一,需要通過(guò)校驗(yàn)來(lái)判斷哪種特征或哪種特征組合的命中率最高,使后續(xù)識(shí)別該應(yīng)用更加精確;這里特征命中率具體指會(huì)話(huà)命中率和數(shù)據(jù)包命中率;
步驟40、采用命中率最高的應(yīng)用特征信息,對(duì)上述應(yīng)用進(jìn)行識(shí)別處理;上述過(guò)程中獲取的應(yīng)用特征信息和校驗(yàn)結(jié)果都寫(xiě)入數(shù)據(jù)庫(kù),并將校驗(yàn)后特征命中率最高的特征組合或特征以及這些特征組合或特征對(duì)應(yīng)的應(yīng)用名稱(chēng),寫(xiě)入最終的特征文件;應(yīng)用識(shí)別處理是指,當(dāng)網(wǎng)絡(luò)中的數(shù)據(jù)流量匹配到特征文件中的特征或特征組合,就可以在該特征文件中查找到匹配到的特征或特征組合對(duì)應(yīng)的應(yīng)用名稱(chēng),也就可以識(shí)別出對(duì)應(yīng)的應(yīng)用。
需要說(shuō)明的是,本發(fā)明整個(gè)過(guò)程都是自動(dòng)化進(jìn)行的,正常情況下,人工在獲取pcap 文件并放到指定位置后,就不需要再有人工干預(yù)了。
本實(shí)施例通過(guò)獲取應(yīng)用的特征信息,實(shí)現(xiàn)了根據(jù)這些特征信息就可以識(shí)別出相應(yīng)應(yīng)用,其中還通過(guò)匹配校驗(yàn),保證了識(shí)別應(yīng)用的準(zhǔn)確性,且整個(gè)過(guò)程自動(dòng)化進(jìn)行,使整個(gè)特征提取和應(yīng)用識(shí)別過(guò)程快速、準(zhǔn)確,不僅節(jié)省了工作時(shí)間也節(jié)省了人力成本。
具體實(shí)現(xiàn)時(shí),上述對(duì)上述會(huì)話(huà)進(jìn)行特征提取,獲取應(yīng)用特征信息之前,還包括對(duì)上述會(huì)話(huà)進(jìn)行過(guò)濾處理,并對(duì)過(guò)濾后的會(huì)話(huà)進(jìn)行重組處理;這里指按照一定約束條件將會(huì)話(huà)中的一些可能影響到后續(xù)提取特征的數(shù)據(jù)包過(guò)濾掉,對(duì)過(guò)濾后的會(huì)話(huà)進(jìn)行重組處理是指按照會(huì)話(huà)的具有的一些共性,對(duì)會(huì)話(huà)進(jìn)行分類(lèi);另外,上述對(duì)上述會(huì)話(huà)進(jìn)行特征提取,獲取應(yīng)用特征信息,包括對(duì)重組處理后的會(huì)話(huà)進(jìn)行特征提取,獲取應(yīng)用特征信息;即應(yīng)用特征信息的提取是在對(duì)應(yīng)用的會(huì)話(huà)重組后進(jìn)行的。
圖2為應(yīng)用數(shù)據(jù)包獲取方法實(shí)施例二的流程示意圖,如圖2所示,上述會(huì)話(huà)進(jìn)行過(guò)濾處理,并對(duì)過(guò)濾后的會(huì)話(huà)進(jìn)行重組處理,具體實(shí)現(xiàn)時(shí),該過(guò)程包括
步驟201、過(guò)濾掉非傳輸控制協(xié)議(Transmission Control Protocol,簡(jiǎn)稱(chēng) TCP)、 用戶(hù)數(shù)據(jù)報(bào)協(xié)議(User Datagram Protocol,簡(jiǎn)稱(chēng)UDP)、超文本傳送協(xié)議(hypertext transport protocol,簡(jiǎn)稱(chēng)HTTP)的數(shù)據(jù)包;避免非TCP、UDP、HTTP的數(shù)據(jù)包使樣本空間擴(kuò)大,從而影響特征提取的最終結(jié)果;
步驟202、過(guò)濾掉UDP數(shù)據(jù)包中的空負(fù)載數(shù)據(jù)包和域名系統(tǒng)(DomainName System, 簡(jiǎn)稱(chēng)DNS)數(shù)據(jù)包;因?yàn)閁DP中空負(fù)載的數(shù)據(jù)包對(duì)后續(xù)特征提取沒(méi)有作用,不需要考慮,而 DNS的數(shù)據(jù)包中包含有一些應(yīng)用共有的特征,會(huì)對(duì)后續(xù)特征提取的結(jié)果造成影響;
步驟203、過(guò)濾掉HTTP數(shù)據(jù)包中的廣告數(shù)據(jù)包;因?yàn)閺V告與應(yīng)用本身并沒(méi)有什么關(guān)系,如果保留的話(huà)會(huì)對(duì)后續(xù)特征提取的結(jié)果造成影響;具體實(shí)現(xiàn)時(shí)是利用HTTP數(shù)據(jù)包頭的網(wǎng)址信息,對(duì)比現(xiàn)有的廣告列表進(jìn)行過(guò)濾;
步驟204、判斷該pcap文件對(duì)應(yīng)的應(yīng)用是否能夠按照端口分類(lèi),其中,若通過(guò)一端口傳輸?shù)臅?huì)話(huà)數(shù)與所有端口傳輸會(huì)話(huà)總數(shù)的比例值大于第一閾值,則將完成過(guò)濾處理之后的會(huì)話(huà)按端口分類(lèi);需要說(shuō)明的是,某些應(yīng)用使用不同的端口通信,另外一些應(yīng)用可能會(huì)經(jīng)常使用同一端口來(lái)通信,上述第一閾值為根據(jù)經(jīng)驗(yàn)設(shè)置的一個(gè)比例值,根據(jù)該第一閾值,判斷會(huì)話(huà)是否能按端口分類(lèi);若會(huì)話(huà)能按端口分類(lèi),則先進(jìn)行步驟205,再進(jìn)行步驟206,若不能按端口分類(lèi),則直接進(jìn)行步驟206 ;
步驟205、將可以按端口分類(lèi)的會(huì)話(huà)及其數(shù)據(jù)包,其中包含采用同一端口通信的會(huì)話(huà)列表,保存到一個(gè)指定位置,可以認(rèn)為使用同一端口通信的會(huì)話(huà)具有某些相同的特征, 后續(xù)從按端口分類(lèi)的會(huì)話(huà)列表中提取該應(yīng)用的特征可能比在所有會(huì)話(huà)中提取特征可靠性聞;
步驟206、判斷該pcap文件對(duì)應(yīng)的應(yīng)用是否能夠按流量分類(lèi),若完成過(guò)濾處理之后的會(huì)話(huà)的數(shù)據(jù)流量大于第二閾值,則將完成過(guò)濾處理之后的會(huì)話(huà)按流量分類(lèi);其中第二閾值為根據(jù)經(jīng)驗(yàn)設(shè)置的一流量值;
以PPlive應(yīng)用為例,當(dāng)它獲取頻道列表時(shí)采用命令通道傳輸命令,而在播放視頻時(shí)采用數(shù)據(jù)通道傳輸視頻信息,所以數(shù)據(jù)通道的數(shù)據(jù)流量通常比命令通道大得多,所以若解析出的pcap文件中存在一些數(shù)據(jù)流量較大的會(huì)話(huà),則可以認(rèn)為是這些會(huì)話(huà)采用的是數(shù)據(jù)通道,這類(lèi)會(huì)話(huà)一般會(huì)采取特殊的數(shù)據(jù)封裝方式,可以從這些會(huì)話(huà)的數(shù)據(jù)負(fù)載中提取出一些共有的特征;
另外,若可以按流量分類(lèi),則進(jìn)行步驟207,若不能按流量分類(lèi),則進(jìn)行步驟208 ;
步驟207、將可以按流量分類(lèi)的會(huì)話(huà),即數(shù)據(jù)流量大于上述第二閾值的會(huì)話(huà),保存到一個(gè)指定位置,后續(xù)從按流量分類(lèi)的會(huì)話(huà)列表中提取該應(yīng)用的特征可能比在所有會(huì)話(huà)中提取特征可靠性高;
步驟208、將不能按端口和流量分類(lèi)的會(huì)話(huà),保存到一個(gè)指定位置,記為未分類(lèi)會(huì)話(huà);
步驟209、對(duì)進(jìn)行端口分類(lèi)或者流量分類(lèi)后的會(huì)話(huà)按TCP、UDP、HTTP協(xié)議分類(lèi);另外上述未分類(lèi)會(huì)話(huà)直接按TCP、UDP、HTTP協(xié)議分類(lèi);
步驟210、將按照協(xié)議分類(lèi)后的會(huì)話(huà)按傳輸方向分類(lèi);即將步驟209中按TCP、UDP、 HTTP分類(lèi)后的會(huì)話(huà)再按傳輸方向分類(lèi),分為服務(wù)(server)端和客戶(hù)(client)端的會(huì)話(huà),即該會(huì)話(huà)是由server端發(fā)出,還是由client端發(fā)出,因?yàn)閺耐欢税l(fā)出的會(huì)話(huà)的數(shù)據(jù)包可能存在一些共性,容易提取出一些特征;
這一步具體實(shí)現(xiàn)時(shí),通過(guò)確定會(huì)話(huà)中的數(shù)據(jù)包是否包含client端的HOST信息, 該HOST信息為數(shù)據(jù)包里的一個(gè)字段,若有HOST信息則數(shù)據(jù)包為client端發(fā)出,否則為 server端發(fā)出;
至此,會(huì)話(huà)重組處理結(jié)束。
上述對(duì)重組后會(huì)話(huà)進(jìn)行特征提取,獲取應(yīng)用特征信息,包括
提取下述特征中的至少一種特征
I、用于描述上述會(huì)話(huà)中的數(shù)據(jù)包負(fù)載長(zhǎng)度信息的第一特征;即描述應(yīng)用的會(huì)話(huà)中的數(shù)據(jù)包負(fù)載長(zhǎng)度總是在一些長(zhǎng)度值上或是總在一個(gè)長(zhǎng)度范圍內(nèi),記為ptlen特征;
2、用于描述承載上述會(huì)話(huà)中的數(shù)據(jù)包負(fù)載長(zhǎng)度信息的字節(jié)的第二特征;即應(yīng)用的會(huì)話(huà)中的數(shù)據(jù)包普遍存在在一偏移位置的幾個(gè)字節(jié),可以是一個(gè)字節(jié)(char)、兩個(gè)字節(jié) (short)、四個(gè)字節(jié)(int),用于承載數(shù)據(jù)包負(fù)載長(zhǎng)度信息或是承載該字節(jié)之后數(shù)據(jù)包負(fù)載長(zhǎng)度信息,記為offlen特征;
3、用于描述上述會(huì)話(huà)中的數(shù)據(jù)包負(fù)載的一偏移位置或一偏移范圍總是出現(xiàn)的特定字符串的第三特征;即描述應(yīng)用的會(huì)話(huà)中的數(shù)據(jù)包負(fù)載普遍存在的在一偏移位置或一偏移范圍的一串一定長(zhǎng)度的公共字符串,記為content特征。
具體實(shí)現(xiàn)過(guò)程中,在按TCP、UDP分類(lèi)的數(shù)據(jù)包中提取ptlen特征、offlen特征、 content特征,對(duì)于HTTP只提取ptlen特征、content特征,因?yàn)镠TTP中不存在offlen特征。
圖3為應(yīng)用數(shù)據(jù)包獲取方法實(shí)施例三的流程示意圖,如圖3所示,提取ptlen特征的流程包括
步驟301、獲取包含應(yīng)用的會(huì)話(huà)列表中所有數(shù)據(jù)包負(fù)載長(zhǎng)度信息的集合;該集合經(jīng)過(guò)去重,即若有至少兩個(gè)數(shù)據(jù)包負(fù)載長(zhǎng)度相同,則該長(zhǎng)度信息只記一次;
步驟302、根據(jù)第三閾值對(duì)上述集合進(jìn)行分類(lèi),分類(lèi)后的集合作為上述第一特征, 即ptlen特征;其中,該第三閾值根據(jù)經(jīng)驗(yàn)設(shè)定,可以為自然數(shù)n,表示元素個(gè)數(shù);判斷上述集合內(nèi)元素個(gè)數(shù)是否大于該第三閾值n,若集合內(nèi)元素個(gè)數(shù)小于等于n,進(jìn)行步驟303,若集合內(nèi)元素個(gè)數(shù)大于n,進(jìn)行步驟304 ;
步驟303、設(shè)置該集合類(lèi)型為len,即該類(lèi)型的數(shù)據(jù)包負(fù)載長(zhǎng)度總是為某些典型的值,于是將該集合作為類(lèi)型Ien的ptlen特征列表,例如(3,5, 8);
步驟304、設(shè)置該集合的類(lèi)型為range,即該類(lèi)型的數(shù)據(jù)包負(fù)載長(zhǎng)度在某一范圍內(nèi);
步驟305、判斷該集合中元素長(zhǎng)度范圍是否超過(guò)數(shù)據(jù)包長(zhǎng)度范圍,一般情況下數(shù)據(jù)包的長(zhǎng)度在廣1500字節(jié),但不以此為限;若超過(guò)數(shù)據(jù)包長(zhǎng)度范圍,進(jìn)行步驟306 ;若沒(méi)有超過(guò)數(shù)據(jù)包長(zhǎng)度范圍,則進(jìn)行步驟307 ;
步驟306、設(shè)置特征為空,即該應(yīng)用沒(méi)有ptlen特征,可記為{null};
步驟307、選取該集合中的最小值和最大值,構(gòu)成ptlen特征列表(min, max),例如 (10,500);
步驟308、將步驟303、307獲取的特征進(jìn)行記錄,可以按照{(diào)特征類(lèi)型,特征列表} 的方式記錄,例如{len, (3,5,8)}或{range, (10, 500)};
步驟309、返回特征,將步驟306、308記錄的特征返回,以備后續(xù)過(guò)程中使用。
至此,ptlen特征提取特征結(jié)束。
圖4為應(yīng)用數(shù)據(jù)包獲取方法實(shí)施例四的流程示意圖,如圖4所示,提取offlen特征的方法包括遍歷上述會(huì)話(huà)中的數(shù)據(jù)包,獲取承載數(shù)據(jù)包負(fù)載長(zhǎng)度信息的字節(jié)作為第二特征,即offlen特征;具體的流程為
步驟401、遍歷上述會(huì)話(huà)中的數(shù)據(jù)包;
步驟402、獲取承載數(shù)據(jù)包負(fù)載長(zhǎng)度信息的字節(jié)作為offlen特征加入特征列表; 即遍歷這些數(shù)據(jù)包后獲取這些數(shù)據(jù)包中用于承載數(shù)據(jù)包負(fù)載長(zhǎng)度信息的字節(jié),作為offIen 特征;該特征列表具體可表示為(偏移位置,類(lèi)型,長(zhǎng)度),其中類(lèi)型指字符型、整型等。
步驟403、判斷是否遍歷完所有的上述會(huì)話(huà)中的數(shù)據(jù)包,若沒(méi)有,則繼續(xù)遍歷,然后返回進(jìn)行步驟401,若已經(jīng)遍歷完成,則進(jìn)行步驟404 ;該步驟具體實(shí)現(xiàn)時(shí),可在程序中設(shè)置計(jì)算數(shù)據(jù)包總數(shù),每遍歷一個(gè)記一次數(shù),直到與總數(shù)相等,即遍歷完成;
步驟404、對(duì)步驟402獲取的特征列表進(jìn)行去重,即若得到的特征列表中有至少兩個(gè)內(nèi)容相同的offlen特征,只記一次;
步驟405、獲取去重后的最終offlen特征列表;
至此,offlen特征提取完成。
圖5為應(yīng)用數(shù)據(jù)包獲取方法實(shí)施例五的流程示意圖,如圖5所示,提取content特征的流程包括
步驟501、將上述會(huì)話(huà)中的HTTP數(shù)據(jù)包的公共字符串替換為空字符串;例如HTTP 數(shù)據(jù)包所共有的固定頭部串,替換為空字符串;
步驟502、遍歷上述會(huì)話(huà)中的數(shù)據(jù)包,獲取上述數(shù)據(jù)包的公共字符串及其出現(xiàn)次數(shù),并構(gòu)建計(jì)數(shù)字典,其中,上述數(shù)據(jù)包包括替換后的HTTP數(shù)據(jù)包;即將在至少兩個(gè)數(shù)據(jù)包中一偏移位置或一偏移范圍出現(xiàn)的相同字符串的內(nèi)容和具體出現(xiàn)次數(shù)進(jìn)行記錄,出現(xiàn)次數(shù)指出現(xiàn)在多少個(gè)數(shù)據(jù)包中,例如子串“abc”在15個(gè)數(shù)據(jù)包的一偏移位置或一偏移范圍出現(xiàn),記為{ “abc” 15};
步驟503、判斷是否遍歷完上述會(huì)話(huà)中的數(shù)據(jù)包;若沒(méi)有,則返回進(jìn)行步驟502,若遍歷完則進(jìn)行步驟504 ;該步驟具體實(shí)現(xiàn)時(shí),可在程序中設(shè)置計(jì)算數(shù)據(jù)包總數(shù),每遍歷一個(gè)記一次數(shù),直到與總數(shù)相等,即遍歷完成;
步驟504、從上述計(jì)數(shù)字典中提取出出現(xiàn)次數(shù)大于第四閾值的公共字符串,構(gòu)建偏移字典;該第四閾值為自然數(shù)n,表示次數(shù),記錄符合要求的公共字符串具體偏移位置或偏移位置范圍;例如子串“abc”偏移2字節(jié),記為{ “abc”:2},若在5 50字節(jié)范圍內(nèi)偏移,記為{ “abc”(5,50)};
步驟505、從上述偏移字典中提取出同一偏移位置的公共字符串;其中,將出現(xiàn)在正向偏移位置的公共字符串構(gòu)建為正向匹配串,記為Z類(lèi)型content特征;將出現(xiàn)在反向偏移位置的公共字符串構(gòu)建為反向匹配串,記為D類(lèi)型content特征;
步驟506、從上述偏移字典中提取出偏移范圍內(nèi)的公共字符串,構(gòu)成搜索串,記為 S類(lèi)型content特征,其中偏移范圍一般指某一正向偏移范圍;
步驟507、獲取最終的content特征列表,包括Z類(lèi)型、D類(lèi)型、S類(lèi)型的content 特征列表。
至此,content特征提取完成。
上述對(duì)上述應(yīng)用特征信息進(jìn)行匹配校驗(yàn),獲取與各應(yīng)用特征信息對(duì)應(yīng)的特征命中率,包括統(tǒng)計(jì)上述應(yīng)用的會(huì)話(huà)中存在至少一個(gè)數(shù)據(jù)包能夠與上述第一特征、第二特征、第三特征中的至少一個(gè)特征匹配的會(huì)話(huà)數(shù);
計(jì)算用于表示所述會(huì)話(huà)數(shù)與所述應(yīng)用的會(huì)話(huà)總數(shù)比值的會(huì)話(huà)命中率;
統(tǒng)計(jì)所述應(yīng)用的會(huì)話(huà)中所有數(shù)據(jù)包中能夠與所述第一特征、第二特征、第三特征中的至少一個(gè)特征匹配的數(shù)據(jù)包數(shù);
計(jì)算用于表示所述數(shù)據(jù)包數(shù)與所述應(yīng)用的會(huì)話(huà)中所有數(shù)據(jù)包總數(shù)比值的數(shù)據(jù)包命中率;
所述會(huì)話(huà)命中率和所述數(shù)據(jù)包命中率作為所述特征命中率。
圖6為應(yīng)用數(shù)據(jù)包獲取方法實(shí)施例六的流程示意圖,如圖6所示,具體實(shí)現(xiàn)時(shí),該校驗(yàn)過(guò)程包括
步驟601、從數(shù)據(jù)庫(kù)中讀取出前述實(shí)施例中獲取到的三種特征;
步驟602、分別對(duì)上述獲得的三種特征進(jìn)行校驗(yàn),以content特征為例,其校驗(yàn)方法如下在上述應(yīng)用的所有pcap解析出的所有會(huì)話(huà)中,統(tǒng)計(jì)出會(huì)話(huà)中存在至少一個(gè)數(shù)據(jù)包匹配到該content特征的會(huì)話(huà)數(shù),算出該統(tǒng)計(jì)值與上述所有會(huì)話(huà)總數(shù)的比值,記為會(huì)話(huà)命中率;然后統(tǒng)計(jì)處上述應(yīng)用的會(huì)話(huà)中所有數(shù)據(jù)包中,能夠匹配到該content特征的數(shù)據(jù)包數(shù),算出該統(tǒng)計(jì)值與上述所有數(shù)據(jù)包總數(shù)的比值,記為數(shù)據(jù)包命中率;ptlen特征、offlen 特征的校驗(yàn)方法與content特征相同;
步驟603、將步驟602中的校驗(yàn)結(jié)果寫(xiě)入數(shù)據(jù)庫(kù);
步驟604、從數(shù)據(jù)庫(kù)中讀取出校驗(yàn)后的content特征,進(jìn)行組合,組合后可以為 (cl, c2, c3)等,但并不以此為限;需要說(shuō)明的是,這里在對(duì)content特征進(jìn)行組合時(shí),每一組合選擇的是不在同一偏移位置的content特征,以獲取最嚴(yán)格的content特征組合,更準(zhǔn)確的識(shí)別出應(yīng)用;
步驟605、對(duì)步驟604中得到的所有content特征組合進(jìn)行校驗(yàn),以(cl, c2, c3) 為例,其校驗(yàn)方法如下在上述應(yīng)用的所有pcap解析出的所有會(huì)話(huà)中,統(tǒng)計(jì)出會(huì)話(huà)中存在至少一個(gè)數(shù)據(jù)包匹配到該特征組合的會(huì)話(huà)數(shù),算出該統(tǒng)計(jì)值與上述所有會(huì)話(huà)總數(shù)的比值, 記為會(huì)話(huà)命中率;然后統(tǒng)計(jì)出上述應(yīng)用的會(huì)話(huà)中所有數(shù)據(jù)包中,能夠匹配到該特征組合的數(shù)據(jù)包數(shù)量,算出該統(tǒng)計(jì)值與上述所有數(shù)據(jù)包總數(shù)的比值,記為數(shù)據(jù)包命中率;其它所有 content特征組合的校驗(yàn)方法與此相同;
步驟606、將步驟605中的校驗(yàn)結(jié)果寫(xiě)入數(shù)據(jù)庫(kù);
步驟607、從數(shù)據(jù)庫(kù)中讀出校驗(yàn)后的ptlen特征、offlen特征以及校驗(yàn)后的content特征組合,并將這些特征進(jìn)行組合,例如取出的ptlen特征記為(pl, p2, p3,......),取出的offlen特征記為(ol, o2, o3,......),取出的content特征記為(cl, c2, c3,......),組合后可以為(pl, ol, cl)或者(pl, ol, c2)等;
步驟608、對(duì)步驟607中得到的所有特征組合進(jìn)行校驗(yàn),以(pl,ol, cl)為例,其校驗(yàn)方法如下在上述應(yīng)用的所有pcap解析出的所有會(huì)話(huà)中,統(tǒng)計(jì)出會(huì)話(huà)中存在至少一個(gè)數(shù)據(jù)包匹配該特征組合的會(huì)話(huà)數(shù)量,算出該統(tǒng)計(jì)值與上述所有會(huì)話(huà)總數(shù)的比值,記為會(huì)話(huà)命中率;然后統(tǒng)計(jì)出上述應(yīng)用的會(huì)話(huà)中所有數(shù)據(jù)包中,能夠匹配到該特征組合的數(shù)據(jù)包數(shù)量,算出該統(tǒng)計(jì)值與上述所有數(shù)據(jù)包總數(shù)的比值,記為數(shù)據(jù)包命中率;其它所有特征組合的校驗(yàn)方法與此相同;
步驟609、將步驟608中的校驗(yàn)結(jié)果寫(xiě)入數(shù)據(jù)庫(kù);
步驟610、根據(jù)上述會(huì)話(huà)命中率及數(shù)據(jù)包命中率,即特征命中率,計(jì)算用于過(guò)濾上述第一特征、第二特征、第三特征的第五閾值;該第五閾值為包含上述會(huì)話(huà)命中率中最大值與最小值的算術(shù)平均值以及上述數(shù)據(jù)包命中率中最大值與最小值的算術(shù)平均值;
步驟611、根據(jù)上述第五閾值,從數(shù)據(jù)庫(kù)中讀取出特征命中率較高的特征或特征組合,寫(xiě)入最終特征文件(命名為signature, int文件)。
圖2、圖3、圖4、圖5、圖6對(duì)應(yīng)的實(shí)施例不斷重復(fù)執(zhí)行,直到將同一應(yīng)用的pcap文件解析完成,并將過(guò)程中獲取的相關(guān)數(shù)據(jù)都存入數(shù)據(jù)庫(kù)。
需要說(shuō)明的是,在上述提取特征的過(guò)程中,可以調(diào)整經(jīng)驗(yàn)參數(shù),即調(diào)整上述提取過(guò)程中設(shè)置的一些用于過(guò)濾的閾值,其目的是防止由于設(shè)置的閾值不準(zhǔn)確,而導(dǎo)致特征遺漏; 調(diào)整經(jīng)驗(yàn)參數(shù)遵循的原則是在最少的數(shù)據(jù)包中找出特征最多且特征出現(xiàn)概率最高的特征組合;且整個(gè)調(diào)整過(guò)程自動(dòng)完成。參數(shù)的調(diào)整可分為以下3個(gè)部分
I、調(diào)整按端口和會(huì)話(huà)流量分類(lèi)時(shí),設(shè)置的上述第一閾值和第二閾值;
圖7為應(yīng)用數(shù)據(jù)包獲取方法實(shí)施例七的流程示意圖,如圖7所示,以第一閾值為例,該調(diào)整過(guò)程為
步驟701、獲取各端口傳輸?shù)臅?huì)話(huà)數(shù)與所有端口傳輸會(huì)話(huà)總數(shù)的比例值;
步驟702、判斷步驟701中獲取各端口比例值的最大值是否大于根據(jù)經(jīng)驗(yàn)設(shè)定的第一閾值的最小值,若大于,則進(jìn)行步驟703 ;否則進(jìn)行步驟704 ;
步驟703、重新計(jì)算第一閾值,接著進(jìn)行步驟705 ;此處重新計(jì)算可以是對(duì)最初設(shè)置的閾值進(jìn)行遞減,一直遞減到提取到合適的特征或遞減到最初設(shè)定的該閾值的最小值;
步驟704、該應(yīng)用不按端口進(jìn)行分類(lèi);
步驟705、根據(jù)最終返回的第一閾值,將會(huì)話(huà)按照端口分類(lèi);需要說(shuō)明的是,若用戶(hù)對(duì)上述比例值有特殊要求,按照用戶(hù)的指定的比例值對(duì)會(huì)話(huà)按照端口分類(lèi)。
另外,第二閾值,即會(huì)話(huà)按流量分類(lèi)的閾值調(diào)整步驟與上述步驟相同,只是將各端口傳輸?shù)臅?huì)話(huà)數(shù)與所有端口傳輸會(huì)話(huà)總數(shù)的比例值換作會(huì)話(huà)流量,在此不再贅述。
2、調(diào)整過(guò)濾特征時(shí)計(jì)算的第五閾值;
圖8為應(yīng)用數(shù)據(jù)包獲取方法實(shí)施例八的流程示意圖,如圖8所示,以content特征為例,該調(diào)整過(guò)程為
步驟801、在上述數(shù)據(jù)庫(kù)中獲取上述應(yīng)用所有content特征的記錄;
步驟802、根據(jù)步驟801中獲取的記錄中的會(huì)話(huà)命中率和數(shù)據(jù)包命中率的最大值和最小值,計(jì)算過(guò)濾content特征的第五閾值;第五閾值的計(jì)算方法如上所述,在此不再贅述;
步驟803、判斷步驟802計(jì)算出的第五閾值是否小于根據(jù)經(jīng)驗(yàn)設(shè)定的過(guò)濾比例的最小值,若小于,則進(jìn)行步驟804 ;若大于,則進(jìn)行步驟805 ;
步驟804、重新計(jì)算用于過(guò)濾content特征的第五閾值;
步驟805、將最終的第五閾值返回給后續(xù)處理環(huán)節(jié);
ptlen特征和offlen特征在數(shù)據(jù)包和會(huì)話(huà)中出現(xiàn)比例的調(diào)整過(guò)程和上述content特征的相關(guān)調(diào)整過(guò)程相同,在此不再贅述。
3、特征提取參數(shù)的調(diào)整,在特征提取過(guò)程中,為了獲取最優(yōu)特征組合,主要通過(guò)調(diào)整3個(gè)參數(shù)的值
用于表示獲取每個(gè)會(huì)話(huà)前幾個(gè)數(shù)據(jù)包進(jìn)行特征提取的第六閾值,記為pt_num ;
用于表示上述第三特征,即content特征在數(shù)據(jù)包中出現(xiàn)比例的第七閾值,記為 ct—per ;
用于表示上述第三特征,即content特征的長(zhǎng)度要求的第八閾值,記為ct_len。
在上述特征提取參數(shù)的調(diào)整前,首先,設(shè)定上述參數(shù)的最嚴(yán) 格條件、最低要求條件、每次調(diào)整的間隔和調(diào)整方法;其中,設(shè)定最嚴(yán)格條件是還包括一個(gè)參數(shù)ptlen特征的閾值,記為ptlen_num,大于該閾值的ptlen特征為range類(lèi)型,小于該閾值的ptlen特征為Ien類(lèi)型;根據(jù)經(jīng)驗(yàn)設(shè)定的最初最嚴(yán)格條件為(pt_num 3 ;ct_per 0. 9 ;ct_len 10 ; ptlen_num :5);設(shè)定最低要求條件,包括ct_per的最低閾值,記為lowest_ct_per ;ct_len 的最低閾值,記為lowest_ct_len ;pt_num的最大值,記為max_pt_num ;以及閾值下調(diào)幅度, 記為per_interval,根據(jù)經(jīng)驗(yàn)設(shè)置的最初最低要求條件為(lowesct_ct_per 0. 3 ;per_ interval 0.I ;lowert_ct_len 4 ; 10);
然后,根據(jù)上述調(diào)整時(shí)間間隔和調(diào)整方法,從上述最嚴(yán)格條件開(kāi)始進(jìn)行特征提取, 其中調(diào)整方法有3中,會(huì)在下文中具體描述;當(dāng)進(jìn)行到特征匹配校驗(yàn)結(jié)束,檢查提取到的特征,如果ptlen特征、offlen特征、content特征同時(shí)滿(mǎn)足上述最嚴(yán)格條件,即(ptlen, content, offlen)特征組合滿(mǎn)足條件,則將此時(shí)的特征組合和各參數(shù)值保存;如果只有 (content, ptlen)或(content, offlen)中的一個(gè)組合滿(mǎn)足上述最嚴(yán)格條件,先檢查之前根據(jù)經(jīng)驗(yàn)設(shè)置的文件中是否保存有此種組合特征,如果有,則保存該特征組合和此時(shí)各參數(shù)值,如果沒(méi)有,則丟棄;如果只有content特征滿(mǎn)足上述最嚴(yán)格條件,先檢查之前根據(jù)經(jīng)驗(yàn)設(shè)置的文件中是否保存有只有content特征的情況,如果有,則保存該特征和此時(shí)各參數(shù)值,如果沒(méi)有,則丟棄;
圖9為應(yīng)用數(shù)據(jù)包獲取方法實(shí)施例九的流程示意圖,如圖9所示,具體實(shí)現(xiàn)時(shí),在上述將特征和相應(yīng)參數(shù)保存的基礎(chǔ)上,開(kāi)始特征提取參數(shù)的調(diào)整,該過(guò)程包括
步驟901、判斷是否需要調(diào)整參數(shù),即在上述保存特征和相應(yīng)參數(shù)的指定位置,檢查是否保存有ptlen特征、offlen特征、content特征同時(shí)滿(mǎn)足條件的,如果有,則不需要調(diào)整參數(shù),進(jìn)行步驟902 ;如果沒(méi)有,則需要調(diào)整參數(shù),進(jìn)行步驟903 ;
步驟902、將獲取的特征和各個(gè)參數(shù)值同時(shí)保存到最終特征文件(命名為 signature, int文件)和數(shù)據(jù)庫(kù)中;
步驟903、調(diào)整參數(shù),即降低參數(shù)要求,然后重復(fù)特征提取過(guò)程;若將參數(shù)降到最低要求條件時(shí),還沒(méi)有提取到ptlen特征、offlen特征、content特征同時(shí)滿(mǎn)足條件的特征組合,則進(jìn)行步驟904;
步驟904、在上述保存特征和相應(yīng)參數(shù)的指定位置,檢查是否保存有(content, ptlen)或(content, offln)這種特征組合,如果有,則進(jìn)行步驟902 ;如果沒(méi)有,則進(jìn)行步驟 905 ;
步驟905、在上述保存特征和相應(yīng)參數(shù)的指定位置,檢查是否保存有只有content 特征的情況,如果有,則進(jìn)行步驟902 ;如果沒(méi)有,則進(jìn)行步驟906 ;
步驟906、將最低要求條件的各參數(shù),即(lowest—ct—per 0. 3 ;per—interval 0.I ;lowest_ct_len 4 ;max_pt_num 10),同時(shí)保存到 signature, int 文件和數(shù)據(jù)庫(kù)中;代表該應(yīng)用沒(méi)有提取到任何特征,然后進(jìn)行下一應(yīng)用的特征提取。
上述步驟903中的調(diào)整參數(shù),具體有三種方式,在設(shè)置上述調(diào)整方法時(shí)進(jìn)行選擇
方式I、將上述3個(gè)參數(shù)同時(shí)降低一次要求,可表示為(pt_num+l, ct_len_l, ct_ per-per_interval),然后再提取特征。如果還沒(méi)有提取到特征,再此基礎(chǔ)上再降低一次要求,依次進(jìn)行,直到提取到合適的特征或參數(shù)已經(jīng)調(diào)整到最低要求條件;
方式2、將3個(gè)參數(shù)按照ct_per、ct_len、pt_num的順序每次降低一個(gè)參數(shù)條件后再提取特征,即按照下列參數(shù)條件組合依次進(jìn)行特征提取
(pt_num, ct_len, ct_per);
(pt_num, ct_len,ct_per-=per_interval);
(pt_num, ct_len_l,ct_per);
如果仍未提取到特征,則按該方式在上述方式1,即(pt_num+l, ct_len_l, ct_ per-per_interval)的基礎(chǔ)上再進(jìn)行特征提取,直到提取到合適的特征或參數(shù)已經(jīng)調(diào)整到最低要求條件;
方式3、將3個(gè)參數(shù)中任一參數(shù)條件降低要求,其他參數(shù)條件不變,然后提取特征, 即按照下列參數(shù)條件組合依次進(jìn)行特征提取
(pt_num, ct_len,ct_per);
(pt_num, ct_len,ct_per-=per_interval);
(pt_num, ct_len_l, ct_per);
(pt_num, ct_len_l,ct_per-=per_interval);
(pt_num+l, ct_len,ct_per);
(pt_num+l, ct_len,ct_per-=per_interval);
(pt_num+l, ct_len_l, ct_per);
如果仍為提取到特征,貝1J按該方式在上述方式1,即(pt_num+l, ct_len_l, ct_ per-per_inter)的基礎(chǔ)上再進(jìn)行特征提取,直到提取到合適的特征或參數(shù)已經(jīng)調(diào)整到最低要求條件。
上述參數(shù)調(diào)整的過(guò)程是在整個(gè)應(yīng)用識(shí)別過(guò)程中動(dòng)態(tài)進(jìn)行的,從而保證了特征提取準(zhǔn)確性。
圖10為應(yīng)用數(shù)據(jù)包獲取方法實(shí)施例十的流程示意圖,如圖10所示,根據(jù)上述所有實(shí)施例,該應(yīng)用識(shí)別處理方法的整個(gè)過(guò)程為
步驟1010、在指定位置遍歷所有的抓包(pcap)文件,并對(duì)這些pcap文件的名字進(jìn)行解析,進(jìn)而將所有pcap文件按照應(yīng)用分類(lèi),獲取到與應(yīng)用對(duì)應(yīng)的pcap文件列表;其中這些pcap文件是人工從大量應(yīng)用中獲取后存放在上述指定位置的,每種應(yīng)用都會(huì)獲取多個(gè) pcap文件;
步驟1020、在上述與應(yīng)用對(duì)應(yīng)的pcap文件列表中,每次選取一種應(yīng)用的一個(gè)pcap 文件進(jìn)行解析,獲取該pcap文件的會(huì)話(huà)信息;
步驟1030、對(duì)解析后的上述pcap文件中的會(huì)話(huà)以及會(huì)話(huà)的數(shù)據(jù)包進(jìn)行過(guò)濾,并對(duì)過(guò)濾后的會(huì)話(huà)進(jìn)行重組;
步驟1040、在重組后的上述會(huì)話(huà)中進(jìn)行特征提取;
步驟1050、對(duì)提取到的上述特征進(jìn)行匹配校驗(yàn),獲取最終的數(shù)據(jù)包命中率和會(huì)話(huà)命中率;
步驟1060、將獲取的上述特征及其校驗(yàn)結(jié)果寫(xiě)入數(shù)據(jù)庫(kù);
步驟1070、判斷上述應(yīng)用的所有pcap包是否解析完,若沒(méi)有,則重復(fù)步驟1020 1060 ;若解析完,則進(jìn)行步驟80 ;具體實(shí)現(xiàn)時(shí),可以通過(guò)在程序中設(shè)置pcap文件的總數(shù),每解析一個(gè)記一次數(shù),直到完成;
步驟1080、判斷是否需要調(diào)整經(jīng)驗(yàn)參數(shù),若需要,則進(jìn)行步驟1090 ;若不需要,則進(jìn)入步驟1090 ;
步驟1090、調(diào)整參數(shù),并在調(diào)整后重復(fù)步驟102(Tl070 ;
步驟1100、從數(shù)據(jù)庫(kù)中讀取命中率最高的特征或特征組合作為推薦的特征值,寫(xiě)入最終特征文件(命名為signature, int文件),同時(shí)該signature, int文件中還記載了這些特征或特征組合對(duì)應(yīng)的應(yīng)用名稱(chēng);
步驟1110、進(jìn)行應(yīng)用識(shí)別;當(dāng)網(wǎng)絡(luò)中的數(shù)據(jù)流量匹配到上述signature, int文件中的特征或特征組合,就可以在該signature, int文件中查找到匹配到的特征或特征組合所對(duì)應(yīng)的應(yīng)用名稱(chēng),就可以識(shí)別出對(duì)應(yīng)的應(yīng)用。
需要說(shuō)明的是,該過(guò)程自動(dòng)化進(jìn)行,人工在獲取pcap文件并放到指定位置后,就不需要再有人工干預(yù)了。
本實(shí)施例通過(guò)在應(yīng)用中提取特征,對(duì)這些特征以及特征組合進(jìn)行匹配校驗(yàn)和并在提取過(guò)程中進(jìn)行參數(shù)調(diào)整,以確保將來(lái)根據(jù)這些獲取的特征及特征組合能準(zhǔn)確識(shí)別出相應(yīng)應(yīng)用,另外,將整個(gè)過(guò)程中的數(shù)據(jù)寫(xiě)入數(shù)據(jù)庫(kù),保證了即使最終獲取的特征或特征組合不是最優(yōu)的話(huà),還可以通過(guò)查詢(xún)數(shù)據(jù)庫(kù)的方式來(lái)獲取其它特征或特征組合;且整個(gè)過(guò)程自動(dòng)化進(jìn)行,使整個(gè)特征提取和應(yīng)用識(shí)別過(guò)程快速、準(zhǔn)確,節(jié)省了工作時(shí)間和人力成本。
圖11為本發(fā)明應(yīng)用數(shù)據(jù)包獲取裝置實(shí)施例一的結(jié)構(gòu)示意圖,如圖11所示,該裝置包括解析模塊110,提取模塊120,校驗(yàn)?zāi)K130和識(shí)別模塊140,其中
解析模塊110,用于對(duì)與應(yīng)用對(duì)應(yīng)的抓包文件進(jìn)行解析,獲取各抓包文件中的會(huì)話(huà);
提取模塊120,用于對(duì)上述會(huì)話(huà)進(jìn)行特征提取,獲取應(yīng)用特征信息;
校驗(yàn)?zāi)K130,對(duì)上述應(yīng)用特征信息進(jìn)行匹配校驗(yàn),獲取與各應(yīng)用特征信息對(duì)應(yīng)的特征命中率;
識(shí)別模塊140,采用命中率最高的應(yīng)用特征信息,對(duì)上述應(yīng)用進(jìn)行識(shí)別處理。
上述各模塊的工作內(nèi)容與圖I所示方法實(shí)施例相同,在此不再贅述。
本實(shí)施例通過(guò)提取模塊提取到的特征信息,識(shí)別模塊就可以根據(jù)這些特征識(shí)別出對(duì)應(yīng)的應(yīng)用,其中由于增加了校驗(yàn)?zāi)K,使得應(yīng)用識(shí)別更加準(zhǔn)確。
圖12為本發(fā)明應(yīng)用數(shù)據(jù)包獲取裝置實(shí)施例二的結(jié)構(gòu)示意圖,如圖11所示,在圖11 的基礎(chǔ)上,該裝置還包括重組模塊150,用于對(duì)上述會(huì)話(huà)中的數(shù)據(jù)包進(jìn)行過(guò)濾處理,并對(duì)過(guò)濾后的會(huì)話(huà)進(jìn)行重組處理;在此,上述提取模塊120,具體用于對(duì)重組處理后的會(huì)話(huà)進(jìn)行特征提取,獲取應(yīng)用特征信息。
更具體的,重組模塊150,用于過(guò)濾掉所述會(huì)話(huà)中的非傳輸控制協(xié)議TCP、用戶(hù)數(shù)據(jù)報(bào)協(xié)議m)P、超文本傳送協(xié)議http的數(shù)據(jù)包;
過(guò)濾掉UDP數(shù)據(jù)包中的空負(fù)載數(shù)據(jù)包和域名系統(tǒng)DNS數(shù)據(jù)包;
過(guò)濾掉HTTP數(shù)據(jù)包中的廣告數(shù)據(jù)包;
對(duì)完成過(guò)濾處理后的會(huì)話(huà)按TCP、UDP、HTTP協(xié)議分類(lèi);
將按照協(xié)議分類(lèi)后的會(huì)話(huà)按傳輸方向分類(lèi)。
此處重組模塊150的功能對(duì)應(yīng)對(duì)上述圖2實(shí)施例中會(huì)話(huà)不按照端口或流量分類(lèi)的情況,即未分類(lèi)的情況,在此不再贅述。
另外,重組模塊150,具體用于所述對(duì)完成過(guò)濾處理后的會(huì)話(huà)按TCP、UDP、HTTP協(xié)議分類(lèi)之前,
若通過(guò)一端口傳輸?shù)臅?huì)話(huà)數(shù)與所有端口傳輸會(huì)話(huà)總數(shù)的比例值大于第一閾值,則將完成過(guò)濾處理之后的會(huì)話(huà)按端口分類(lèi);
若完成過(guò)濾處理之后的會(huì)話(huà)的數(shù)據(jù)流量大于第二閾值,則將完成過(guò)濾處理之后的會(huì)話(huà)按流量分類(lèi);
上述對(duì)完成過(guò)濾處理后的會(huì)話(huà)按TCP、UDP、HTTP協(xié)議分類(lèi),具體為
對(duì)進(jìn)行端口分類(lèi)或者流量分類(lèi)后的會(huì)話(huà)按TCP、UDP、HTTP協(xié)議分類(lèi)。
此處重組模塊150的功能對(duì)應(yīng)于上述圖2實(shí)施例中會(huì)話(huà)按端口或流量分類(lèi)的情況,在此不再贅述。
上述提取模塊120,具體用于提取下述特征中的至少一種特征
用于描述所述會(huì)話(huà)中的數(shù)據(jù)包負(fù)載長(zhǎng)度信息的第一特征;
用于描述承載所述會(huì)話(huà)中的數(shù)據(jù)包負(fù)載長(zhǎng)度信息的字節(jié)的第二特征;
用于描述所述會(huì)話(huà)中的數(shù)據(jù)包負(fù)載的偏移位置或偏移范圍總是出現(xiàn)的特定字符串的第三特征。
更具體的,提取模塊120,用于獲取包含應(yīng)用的會(huì)話(huà)列表中所有數(shù)據(jù)包負(fù)載長(zhǎng)度信息的集合;根據(jù)第三閾值對(duì)所述集合進(jìn)行分類(lèi),分類(lèi)后的集合作為所述第一特征。
用于遍歷所述會(huì)話(huà)中的數(shù)據(jù)包,獲取承載數(shù)據(jù)包負(fù)載長(zhǎng)度信息的字節(jié)作為所述第二特征。
用于將所述會(huì)話(huà)中的HTTP數(shù)據(jù)包的公共字符串替換為空字符;
遍歷所述會(huì)話(huà)中的數(shù)據(jù)包,獲取所述數(shù)據(jù)包的公共字符串及其出現(xiàn)次數(shù),并構(gòu)建計(jì)數(shù)字典,其中,所述數(shù)據(jù)包包括替換后的HTTP數(shù)據(jù)包;
從所述計(jì)數(shù)字典中提取出出現(xiàn)次數(shù)大于第四閾值的公共字符串,構(gòu)建偏移字典;
從所述偏移字典中提取出同一偏移位置的公共字符串作為所述第三特征;
從所述偏移字典中提取出偏移范圍內(nèi)的公共字符串作為所述第三特征。
具體提取過(guò)程對(duì)應(yīng)于上述圖3、圖4、圖5的方法實(shí)施例,在此不再贅述。
在具體實(shí)現(xiàn)過(guò)程中,上述校驗(yàn)?zāi)K130,用于統(tǒng)計(jì)上述應(yīng)用的會(huì)話(huà)中存在至少一個(gè)數(shù)據(jù)包能夠與上述第一特征、第二特征、第三特征中的至少一個(gè)特征匹配的會(huì)話(huà)數(shù);
計(jì)算用于表示上述會(huì)話(huà)數(shù)與上述應(yīng)用的會(huì)話(huà)總數(shù)比值的會(huì)話(huà)命中率;
統(tǒng)計(jì)上述應(yīng)用的會(huì)話(huà)中所有數(shù)據(jù)包中能夠與上述第一特征、第二特征、第三特征中的至少一個(gè)特征匹配的數(shù)據(jù)包數(shù);
計(jì)算用于表示上述數(shù)據(jù)包數(shù)與上述應(yīng)用的會(huì)話(huà)中所有數(shù)據(jù)包總數(shù)比值的數(shù)據(jù)包1命中率;
上述會(huì)話(huà)命中率和數(shù)據(jù)包命中率作為特征命中率。
具體校驗(yàn)過(guò)程對(duì)應(yīng)于上述圖6方法實(shí)施例,在此不再贅述。
圖13為本發(fā)明應(yīng)用數(shù)據(jù)包獲取裝置實(shí)施例三的結(jié)構(gòu)示意圖,如圖13所示,在圖12 的基礎(chǔ)上,該裝置還包括計(jì)算模塊160,計(jì)算模塊,用于根據(jù)上述特征命中率,計(jì)算用于過(guò)濾第一特征、第二特征、第三特征的第五閾值。根據(jù)該第五閾值過(guò)濾后,得到特征命中率較高的特征或特征組合。
需要說(shuō)明的是,其中設(shè)置的各閾值可以通過(guò)增加調(diào)整模塊進(jìn)行自動(dòng)調(diào)整,對(duì)應(yīng)于上述圖7、圖8、圖9方法實(shí)施例,以更好的提高識(shí)別應(yīng)用的準(zhǔn)確性。
本實(shí)施例中提取模塊提取了第一特征、第二特征、第三特征,識(shí)別模塊根據(jù)這三種特種的一個(gè)或組合可以識(shí)別出對(duì)應(yīng)的應(yīng)用,通過(guò)校驗(yàn)?zāi)K的校驗(yàn)可以篩選出特征命中率最高的特征或特征組合,更加保證了識(shí)別應(yīng)用的可靠性和準(zhǔn)確性,且整個(gè)過(guò)程自動(dòng)化實(shí)現(xiàn),節(jié)省了工作時(shí)間和投入的人力成本。
本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述各方法實(shí)施例的全部或部分步驟可以通過(guò)程序指令相關(guān)的硬件來(lái)完成。前述的程序可以存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中。該程序在執(zhí)行時(shí),執(zhí)行包括上述各方法實(shí)施例的步驟;而前述的存儲(chǔ)介質(zhì)包括R0M、RAM、磁碟或者光盤(pán)等各種可以存儲(chǔ)程序代碼的介質(zhì)。
最后應(yīng)說(shuō)明的是以上各實(shí)施例僅用以說(shuō)明本發(fā)明的技術(shù)方案,而非對(duì)其限制; 盡管參照前述各實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說(shuō)明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解其依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分或者全部技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的范圍。
權(quán)利要求
1.一種應(yīng)用識(shí)別處理方法,其特征在于,包括對(duì)與應(yīng)用對(duì)應(yīng)的抓包文件進(jìn)行解析,獲取各抓包文件中的會(huì)話(huà);對(duì)所述會(huì)話(huà)進(jìn)行特征提取,獲取應(yīng)用特征信息;對(duì)所述應(yīng)用特征信息進(jìn)行匹配校驗(yàn),獲取與各應(yīng)用特征信息對(duì)應(yīng)的特征命中率; 采用命中率最高的應(yīng)用特征信息,對(duì)所述應(yīng)用進(jìn)行識(shí)別處理。
2.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述對(duì)所述會(huì)話(huà)進(jìn)行特征提取,獲取應(yīng)用特征信息之前,還包括對(duì)所述會(huì)話(huà)中的數(shù)據(jù)包進(jìn)行過(guò)濾處理,并對(duì)過(guò)濾后的會(huì)話(huà)進(jìn)行重組處理;所述對(duì)所述會(huì)話(huà)進(jìn)行特征提取,獲取應(yīng)用特征信息,包括對(duì)重組處理后的會(huì)話(huà)進(jìn)行特征提取,獲取應(yīng)用特征信息。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述對(duì)所述會(huì)話(huà)進(jìn)行過(guò)濾處理,并對(duì)過(guò)濾后的會(huì)話(huà)進(jìn)行重組處理,包括過(guò)濾掉所述會(huì)話(huà)中的非傳輸控制協(xié)議TCP、用戶(hù)數(shù)據(jù)報(bào)協(xié)議UDP、超文本傳送協(xié)議HTTP 的數(shù)據(jù)包;過(guò)濾掉UDP數(shù)據(jù)包中的空負(fù)載數(shù)據(jù)包和域名系統(tǒng)DNS數(shù)據(jù)包;過(guò)濾掉HTTP數(shù)據(jù)包中的廣告數(shù)據(jù)包;對(duì)完成過(guò)濾處理后的會(huì)話(huà)按TCP、UDP、HTTP協(xié)議分類(lèi);將按照協(xié)議分類(lèi)后的會(huì)話(huà)按傳輸方向分類(lèi)。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述對(duì)完成過(guò)濾處理后的會(huì)話(huà)按TCP、 UDP、HTTP協(xié)議分類(lèi)之前,還包括若通過(guò)一端口傳輸?shù)臅?huì)話(huà)數(shù)與所有端口傳輸會(huì)話(huà)總數(shù)的比例值大于第一閾值,則將完成過(guò)濾處理之后的會(huì)話(huà)按端口分類(lèi);若完成過(guò)濾處理之后的會(huì)話(huà)的數(shù)據(jù)流量大于第二閾值,則將完成過(guò)濾處理之后的會(huì)話(huà)按流量分類(lèi);所述對(duì)完成過(guò)濾處理后的會(huì)話(huà)按TCP、UDP、HTTP協(xié)議分類(lèi),具體為對(duì)進(jìn)行端口分類(lèi)或者流量分類(lèi)后的會(huì)話(huà)按TCP、UDP、HTTP協(xié)議分類(lèi)。
5.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述對(duì)重組處理后的會(huì)話(huà)進(jìn)行特征提取, 獲取應(yīng)用特征信息,包括提取下述特征中的至少一種特征用于描述所述會(huì)話(huà)中的數(shù)據(jù)包負(fù)載長(zhǎng)度信息的第一特征;用于描述承載所述會(huì)話(huà)中的數(shù)據(jù)包負(fù)載長(zhǎng)度信息的字節(jié)的第二特征;用于描述所述會(huì)話(huà)中的數(shù)據(jù)包負(fù)載的一偏移位置或一偏移范圍總是出現(xiàn)的特定字符串的第三特征。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,提取第一特征,包括獲取包含應(yīng)用的會(huì)話(huà)列表中所有數(shù)據(jù)包負(fù)載長(zhǎng)度信息的集合;根據(jù)第三閾值對(duì)所述集合進(jìn)行分類(lèi),分類(lèi)后的集合作為所述第一特征。
7.根據(jù)權(quán)利要求5所述的方法,其特征在于,提取第二特征,包括遍歷所述會(huì)話(huà)中的數(shù)據(jù)包,獲取承載數(shù)據(jù)包負(fù)載長(zhǎng)度信息的字節(jié)作為所述第二特征。
8.根據(jù)權(quán)利要求5所述的方法,其特征在于,提取第三特征,包括將所述會(huì)話(huà)中的HTTP數(shù)據(jù)包的公共字符串替換為空字符串;遍歷所述會(huì)話(huà)中的數(shù)據(jù)包,獲取所述數(shù)據(jù)包的公共字符串及其出現(xiàn)次數(shù),并構(gòu)建計(jì)數(shù)字典,其中,所述數(shù)據(jù)包包括替換后的HTTP數(shù)據(jù)包;從所述計(jì)數(shù)字典中提取出出現(xiàn)次數(shù)大于第四閾值的公共字符串,構(gòu)建偏移字典;從所述偏移字典中提取出同一偏移位置的公共字符串作為所述第三特征;從所述偏移字典中提取出偏移范圍內(nèi)的公共字符串作為所述第三特征。
9.根據(jù)權(quán)利要求51中任一項(xiàng)所述的方法,其特征在于,所述對(duì)所述應(yīng)用特征信息進(jìn)行匹配校驗(yàn),獲取與各應(yīng)用特征信息對(duì)應(yīng)的特征命中率,包括統(tǒng)計(jì)所述應(yīng)用的會(huì)話(huà)中存在至少一個(gè)數(shù)據(jù)包能夠與所述第一特征、第二特征、第三特征中的至少一個(gè)特征匹配的會(huì)話(huà)數(shù);計(jì)算用于表示所述會(huì)話(huà)數(shù)與所述應(yīng)用的會(huì)話(huà)總數(shù)比值的會(huì)話(huà)命中率;統(tǒng)計(jì)所述應(yīng)用的會(huì)話(huà)中所有數(shù)據(jù)包中能夠與所述第一特征、第二特征、第三特征中的至少一個(gè)特征匹配的數(shù)據(jù)包數(shù);計(jì)算用于表示所述數(shù)據(jù)包數(shù)與所述應(yīng)用的會(huì)話(huà)中所有數(shù)據(jù)包總數(shù)比值的數(shù)據(jù)包命中率;所述會(huì)話(huà)命中率和所述數(shù)據(jù)包命中率作為所述特征命中率。
10.根據(jù)權(quán)利要求9所述的方法,其特征在于,所述對(duì)重組處理后的會(huì)話(huà)進(jìn)行特征提取,獲取應(yīng)用特征信息,還包括根據(jù)所述特征命中率,計(jì)算用于過(guò)濾所述第一特征、第二特征、第三特征的第五閾值。
11.一種應(yīng)用識(shí)別處理裝置,其特征在于,包括解析模塊,用于對(duì)與應(yīng)用對(duì)應(yīng)的抓包文件進(jìn)行解析,獲取各抓包文件中的會(huì)話(huà);提取模塊,用于對(duì)所述會(huì)話(huà)進(jìn)行特征提取,獲取應(yīng)用特征信息;校驗(yàn)?zāi)K,對(duì)所述應(yīng)用特征信息進(jìn)行匹配校驗(yàn),獲取與各應(yīng)用特征信息對(duì)應(yīng)的特征命中率;識(shí)別模塊,采用命中率最高的應(yīng)用特征信息,對(duì)所述應(yīng)用進(jìn)行識(shí)別處理。
12.根據(jù)權(quán)利要求11所述的裝置,其特征在于,還包括重組模塊,用于對(duì)所述會(huì)話(huà)中的數(shù)據(jù)包進(jìn)行過(guò)濾處理,并對(duì)過(guò)濾后的會(huì)話(huà)進(jìn)行重組處理;所述提取模塊,具體用于對(duì)重組處理后的會(huì)話(huà)進(jìn)行特征提取,獲取應(yīng)用特征信息。
13.根據(jù)權(quán)利要求12所述的裝置,其特征在于,所述重組模塊,具體用于過(guò)濾掉所述會(huì)話(huà)中的非傳輸控制協(xié)議TCP、用戶(hù)數(shù)據(jù)報(bào)協(xié)議UDP、超文本傳送協(xié)議HTTP的數(shù)據(jù)包;過(guò)濾掉UDP數(shù)據(jù)包中的空負(fù)載數(shù)據(jù)包和域名系統(tǒng)DNS數(shù)據(jù)包;過(guò)濾掉HTTP數(shù)據(jù)包中的廣告數(shù)據(jù)包;對(duì)完成過(guò)濾處理后的會(huì)話(huà)按TCP、UDP、HTTP協(xié)議分類(lèi);將按照協(xié)議分類(lèi)后的會(huì)話(huà)按傳輸方向分類(lèi)。
14.根據(jù)權(quán)利要求13所述的裝置,其特征在于,所述重組模塊,具體用于所述對(duì)完成過(guò)濾處理后的會(huì)話(huà)按TCP、UDP、HTTP協(xié)議分類(lèi)之前,若通過(guò)一端口傳輸?shù)臅?huì)話(huà)數(shù)與所有端口傳輸會(huì)話(huà)總數(shù)的比例值大于第一閾值,則將完成過(guò)濾處理之后的會(huì)話(huà)按端口分類(lèi);若完成過(guò)濾處理之后的會(huì)話(huà)的數(shù)據(jù)流量大于第二閾值,則將完成過(guò)濾處理之后的會(huì)話(huà)按流量分類(lèi);所述對(duì)完成過(guò)濾處理后的會(huì)話(huà)按TCP、UDP、HTTP協(xié)議分類(lèi),具體為對(duì)進(jìn)行端口分類(lèi)或者流量分類(lèi)后的會(huì)話(huà)按TCP、UDP、HTTP協(xié)議分類(lèi)。
15.根據(jù)權(quán)利要求12所述的裝置,其特征在于,所述提取模塊,具體用于提取下述特征中的至少一種特征用于描述所述會(huì)話(huà)中的數(shù)據(jù)包負(fù)載長(zhǎng)度信息的第一特征;用于描述承載所述會(huì)話(huà)中的數(shù)據(jù)包負(fù)載長(zhǎng)度信息的字節(jié)的第二特征;用于描述所述會(huì)話(huà)中的數(shù)據(jù)包負(fù)載的偏移位置或偏移范圍總是出現(xiàn)的特定字符串的第二特征。
16.根據(jù)權(quán)利要求15所述的裝置,其特征在于,所述提取模塊,具體用于獲取包含應(yīng)用的會(huì)話(huà)列表中所有數(shù)據(jù)包負(fù)載長(zhǎng)度信息的集合;根據(jù)第三閾值對(duì)所述集合進(jìn)行分類(lèi),分類(lèi)后的集合作為所述第一特征。
17.根據(jù)權(quán)利要求15所述的裝置,其特征在于,所述提取模塊,具體用于遍歷所述會(huì)話(huà)中的數(shù)據(jù)包,獲取承載數(shù)據(jù)包負(fù)載長(zhǎng)度信息的字節(jié)作為所述第二特征。
18.根據(jù)權(quán)利要求15所述的裝置,其特征在于,所述提取模塊,具體用于將所述會(huì)話(huà)中的HTTP數(shù)據(jù)包的公共字符串替換為空字符;遍歷所述會(huì)話(huà)中的數(shù)據(jù)包,獲取所述數(shù)據(jù)包的公共字符串及其出現(xiàn)次數(shù),并構(gòu)建計(jì)數(shù)字典,其中,所述數(shù)據(jù)包包括替換后的HTTP數(shù)據(jù)包;從所述計(jì)數(shù)字典中提取出出現(xiàn)次數(shù)大于第四閾值的公共字符串,構(gòu)建偏移字典;從所述偏移字典中提取出同一偏移位置的公共字符串作為所述第三特征;從所述偏移字典中提取出偏移范圍內(nèi)的公共字符串作為所述第三特征。
19.根據(jù)權(quán)利要求15 18中任一項(xiàng)所述的裝置,其特征在于,所述校驗(yàn)?zāi)K,具體用于統(tǒng)計(jì)所述應(yīng)用的會(huì)話(huà)中存在至少一個(gè)數(shù)據(jù)包能夠與所述第一特征、第二特征、第三特征中的至少一個(gè)特征匹配的會(huì)話(huà)數(shù);計(jì)算用于表示所述會(huì)話(huà)數(shù)與所述應(yīng)用的會(huì)話(huà)總數(shù)比值的會(huì)話(huà)命中率;統(tǒng)計(jì)所述應(yīng)用的會(huì)話(huà)中所有數(shù)據(jù)包中能夠與所述第一特征、第二特征、第三特征中的至少一個(gè)特征匹配的數(shù)據(jù)包數(shù);計(jì)算用于表示所述數(shù)據(jù)包數(shù)與所述應(yīng)用的會(huì)話(huà)中所有數(shù)據(jù)包總數(shù)比值的數(shù)據(jù)包命中率;所述會(huì)話(huà)命中率和所述數(shù)據(jù)包命中率作為所述特征命中率。
20.根據(jù)權(quán)利要求19所述的裝置,其特征在于,還包括計(jì)算模塊,用于根據(jù)所述特征命中率,計(jì)算用于過(guò)濾所述第一特征、第二特征、第三特征的第五閾值。
全文摘要
本發(fā)明提供一種應(yīng)用識(shí)別處理方法及裝置,該方法包括對(duì)與應(yīng)用對(duì)應(yīng)的抓包文件進(jìn)行解析,獲取各抓包文件中的會(huì)話(huà);對(duì)所述會(huì)話(huà)進(jìn)行特征提取,獲取應(yīng)用特征信息;對(duì)所述應(yīng)用特征信息進(jìn)行匹配校驗(yàn),獲取與各應(yīng)用特征信息對(duì)應(yīng)的特征命中率;采用命中率最高的應(yīng)用特征信息,對(duì)所述應(yīng)用進(jìn)行識(shí)別處理。本發(fā)明通過(guò)獲取應(yīng)用的特征信息,實(shí)現(xiàn)了根據(jù)這些特征信息識(shí)別出相應(yīng)的應(yīng)用,并通過(guò)匹配校驗(yàn)保證了識(shí)別應(yīng)用的準(zhǔn)確性。
文檔編號(hào)H04L29/06GK102938764SQ20121044805
公開(kāi)日2013年2月20日 申請(qǐng)日期2012年11月9日 優(yōu)先權(quán)日2012年11月9日
發(fā)明者韓鵬, 李偉超, 楊碩飛, 魯迅, 陳裕濤, 盧蓉, 劉海霞 申請(qǐng)人:北京神州綠盟信息安全科技股份有限公司, 北京神州綠盟科技有限公司