本發(fā)明屬于涉及網(wǎng)絡(luò)安全技術(shù)領(lǐng)域,更具體地說(shuō),涉及一種基于網(wǎng)絡(luò)行為的木馬檢測(cè)方法。
背景技術(shù):
隨著網(wǎng)絡(luò)的廣泛應(yīng)用與規(guī)模的發(fā)展壯大,網(wǎng)絡(luò)資源共享與信息交流為人類工作和生活提供了極大的便利?;趖cp/ip架構(gòu)的計(jì)算機(jī)網(wǎng)絡(luò)是一個(gè)開(kāi)放和自由的網(wǎng)絡(luò),提高網(wǎng)絡(luò)信息服務(wù)靈活性的同時(shí),也方便了黑客的入侵和攻擊。從當(dāng)前apt(advancedpersistentthreats,高級(jí)持續(xù)性威脅)流程中可以看到,木馬仍然是攻擊者用于滲透進(jìn)目標(biāo)網(wǎng)絡(luò),進(jìn)行遠(yuǎn)程控制的首要手段。因此,對(duì)木馬的網(wǎng)絡(luò)行為進(jìn)行檢測(cè)是apt檢測(cè)的一個(gè)重要環(huán)節(jié)。
目前,針對(duì)木馬的檢測(cè)和防御的方法大致可以分為兩大類:一類是基于主機(jī)的木馬檢測(cè),該方法需要提前知道木馬的文件特征值,建立木馬檢驗(yàn)特征庫(kù),在對(duì)木馬進(jìn)行檢測(cè)時(shí),將惡意軟件特征值與特征庫(kù)中木馬進(jìn)行特征對(duì)比。但是,因?yàn)槟抉R特征庫(kù)的建立存在滯后性,所以,這種方法不能檢測(cè)到未知的木馬程序,同時(shí)對(duì)一些現(xiàn)存的木馬程序的變種,也難以實(shí)現(xiàn)有效檢測(cè);一類是基于網(wǎng)絡(luò)的木馬檢測(cè),該方法主要分為基于特征匹配的檢測(cè)技術(shù)和基于協(xié)議分析的檢測(cè)技術(shù)。其中,基于特征匹配的檢測(cè)技術(shù)同樣存在滯后性,對(duì)于新出現(xiàn)的木馬程序和已存木馬的變種程序難以準(zhǔn)確檢測(cè)?;趨f(xié)議分析的檢測(cè)技術(shù),是一種需要和其他檢測(cè)技術(shù)協(xié)同工作才能達(dá)到較好檢測(cè)效果的木馬檢測(cè)技術(shù)。
隨著互聯(lián)網(wǎng)技術(shù)的迅猛發(fā)展,木馬的種類日趨復(fù)雜化,并且,密碼程序?qū)τ?jì)算機(jī)的危害也越來(lái)越大。木馬的網(wǎng)絡(luò)行為主要指木馬在網(wǎng)絡(luò)中與其他計(jì)算機(jī)之間的通信行為。木馬通過(guò)網(wǎng)絡(luò)通信,以實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)進(jìn)行攻擊、盜取用戶信息、遠(yuǎn)程操控受控主機(jī)的惡意目的。因此,針對(duì)木馬的網(wǎng)絡(luò)通信行為進(jìn)行及時(shí)準(zhǔn)確的識(shí)別尤為重要。
不同木馬程序在目的、采用的網(wǎng)絡(luò)協(xié)議以及所針對(duì)的操作系統(tǒng)方面可能存在較大的差別,但是,木馬程序終將通過(guò)網(wǎng)絡(luò)通信進(jìn)行客戶端和服務(wù)端的連接。所以,木馬程序在網(wǎng)絡(luò)通信行為上存在著一定相似性。通過(guò)對(duì)大量木馬程序的網(wǎng)絡(luò)通信流量樣本進(jìn)行分析可以將木馬程序的網(wǎng)絡(luò)通信行為可以分為建立連接、保持連接和命令交互三個(gè)階段。木馬程序在不同的階段,網(wǎng)絡(luò)通信流量上表現(xiàn)出不同的特征,可以使用這樣的特征來(lái)檢測(cè)木馬。
技術(shù)實(shí)現(xiàn)要素:
針對(duì)現(xiàn)有技術(shù)中存在的新出現(xiàn)的木馬程序和已存木馬的變種程序難以準(zhǔn)確檢測(cè)問(wèn)題,本發(fā)明提供了一種基于網(wǎng)絡(luò)行為的木馬檢測(cè)方法,它可以提高對(duì)木馬程序的檢測(cè)率,有效的對(duì)網(wǎng)絡(luò)中存在的木馬進(jìn)行檢測(cè)。
本發(fā)明的目的通過(guò)以下技術(shù)方案實(shí)現(xiàn)。
基于網(wǎng)絡(luò)行為的木馬檢測(cè)方法,其特征在于,步驟如下:
s1對(duì)網(wǎng)絡(luò)數(shù)據(jù)包進(jìn)行協(xié)議解析,識(shí)別出完整的數(shù)據(jù)包內(nèi)容,對(duì)原始數(shù)據(jù)進(jìn)行規(guī)范化預(yù)處理,用于特征提??;
s2從基本、流量和內(nèi)容三方面提取詳細(xì)的特征;
s3采用r-svm(recursivesupportvectormachine,遞歸支持向量機(jī))算法,根據(jù)各個(gè)特征的貢獻(xiàn)度大小對(duì)提取出的大量數(shù)據(jù)特征進(jìn)行降維處理,刪除大量的冗余數(shù)據(jù)特征,然后根據(jù)篩選后的特征從原始數(shù)據(jù)集中提取,作為svm分類器的訓(xùn)練集;
s4采用組合核函數(shù)構(gòu)建svm分類器,并利用網(wǎng)格搜索對(duì)核函數(shù)參數(shù)進(jìn)行參數(shù)尋優(yōu)。
更進(jìn)一步的,步驟s1的具體步驟為1.對(duì)數(shù)據(jù)包進(jìn)行協(xié)議解析;2.離散型數(shù)據(jù)連續(xù)化;3.將連續(xù)型數(shù)據(jù)歸一化,針對(duì)網(wǎng)絡(luò)數(shù)據(jù)流數(shù)據(jù)特征(均為非負(fù)數(shù)),可減少存儲(chǔ)空間和運(yùn)算次數(shù),有效提高分類效果。
更進(jìn)一步的,步驟s2的具體步驟為1.提取網(wǎng)絡(luò)數(shù)據(jù)基本特征;2.提取網(wǎng)絡(luò)數(shù)據(jù)流量特征;3.提取網(wǎng)絡(luò)數(shù)據(jù)內(nèi)容特征??商崛√崛〉奶卣靼ɑ咎卣?、流量特征和內(nèi)容特征,而不是局限于提取流量特征或協(xié)議特征,可使原始數(shù)據(jù)集候選特征更為全面,供后期特征處理使用。
更進(jìn)一步的,步驟s3的具體步驟為1.使用當(dāng)前所有候選特征訓(xùn)練支持向量機(jī);2.比較當(dāng)前的所有特征在支持向量機(jī)中的相對(duì)貢獻(xiàn)大小,并按照貢獻(xiàn)大小進(jìn)行排序;3.根據(jù)事先確定好的遞歸選擇特征數(shù),選擇出排序在前面的特征,轉(zhuǎn)步驟1,直到達(dá)到所希望選擇的特征數(shù)目結(jié)束。對(duì)數(shù)據(jù)進(jìn)行特征處理,是通過(guò)r-svm算法,根據(jù)各個(gè)特征相對(duì)貢獻(xiàn)度大小,篩選出所需特征數(shù),以達(dá)到刪除原始數(shù)據(jù)集冗余數(shù)據(jù),降低特征空間維數(shù)的目的,從而在保證分類器分類準(zhǔn)確性的前提下,提高分類速度。
更進(jìn)一步的,步驟s4的具體步驟為1.利用多項(xiàng)式核函數(shù)和徑向基核函數(shù)構(gòu)建組合核函數(shù);2.利用基于網(wǎng)格搜索的參數(shù)尋優(yōu),尋找核函數(shù)最優(yōu)參數(shù);3.將經(jīng)過(guò)特征提取的數(shù)據(jù)作為訓(xùn)練集訓(xùn)練svm分類器,用作對(duì)木馬檢測(cè)。利用組合核函數(shù)建立svm分類器,是通過(guò)將多項(xiàng)式核函數(shù)和徑向基核函數(shù)進(jìn)行現(xiàn)行加權(quán)得到的核函數(shù)。多項(xiàng)式核函數(shù)是全局核函數(shù),徑向基核函數(shù)是局部核函數(shù),兩者分別適用于不同的數(shù)據(jù)分布,將兩者進(jìn)行現(xiàn)行加權(quán)組合,得到的核函數(shù)可同時(shí)具備兩種核函數(shù)的優(yōu)點(diǎn),提高svm分類器的性能。
相比于現(xiàn)有技術(shù),本發(fā)明的優(yōu)點(diǎn)在于:
(1)本發(fā)明中利用r-svm特征提取算法來(lái)衡量各個(gè)特征在當(dāng)前的svm模型中的貢獻(xiàn)度大小,可有效刪除冗余特征,降低數(shù)據(jù)特征空間的維度,以提高分類模型在保證分類正確率的前提下,降低分類模型結(jié)構(gòu)的復(fù)雜性,達(dá)到降低模型訓(xùn)練時(shí)間和最終預(yù)測(cè)時(shí)間的目的;
(2)本發(fā)明中的svm算法中使用組合核函數(shù),讓最終的核函數(shù)同時(shí)具備全局合函數(shù)和局部核函數(shù)的優(yōu)點(diǎn),并且利用多重網(wǎng)格搜索確定參數(shù)尋優(yōu),最終選擇了較為優(yōu)秀的核函數(shù)及核參數(shù),優(yōu)化了svm分類性能,提高最終對(duì)木馬程序的檢測(cè)率。
(3)本發(fā)明通過(guò)對(duì)網(wǎng)絡(luò)數(shù)據(jù)包進(jìn)行協(xié)議解析,識(shí)別出完整的數(shù)據(jù)包內(nèi)容,對(duì)原始數(shù)據(jù)進(jìn)行規(guī)范化預(yù)處理,以用于特征提取。并從基本、流量和內(nèi)容三方面提取盡量詳細(xì)的特征,采用r-svm算法,根據(jù)各個(gè)特征的貢獻(xiàn)度大小對(duì)提取出的大量數(shù)據(jù)特征進(jìn)行降維處理,刪除大量的冗余數(shù)據(jù)特征,然后根據(jù)篩選后的特征從原始數(shù)據(jù)集中提取,作為svm分類器的訓(xùn)練集。最后,采用組合核函數(shù)構(gòu)建svm分類器,并利用網(wǎng)格搜索對(duì)核函數(shù)參數(shù)進(jìn)行參數(shù)尋優(yōu),提高了svm分類器的性能。該方法可提高對(duì)木馬程序的檢測(cè)率,有效的對(duì)網(wǎng)絡(luò)中存在的木馬進(jìn)行檢測(cè)。
附圖說(shuō)明
圖1為本發(fā)明的整體過(guò)程流程圖;
圖2為為本發(fā)明的系統(tǒng)架構(gòu)圖。
具體實(shí)施方式
下面結(jié)合說(shuō)明書附圖和具體的實(shí)施例,對(duì)本發(fā)明作詳細(xì)描述。
實(shí)施例1
圖1所示的是一般的基于網(wǎng)絡(luò)行為進(jìn)行木馬檢測(cè)整體上的流程圖,其核心工作單元是特征提取和特征處理,本發(fā)明對(duì)兩個(gè)工作單元進(jìn)行改進(jìn)而最終實(shí)現(xiàn)對(duì)基于網(wǎng)絡(luò)行為的木馬檢測(cè)方法實(shí)現(xiàn)改進(jìn)。該一般流程圖中,特征處理單元在本發(fā)明中就相當(dāng)于一個(gè)利用組合核函數(shù)的svm算法流程。將本發(fā)明中的特征提取和特征處理方法應(yīng)用于一般的基于網(wǎng)絡(luò)行為的木馬檢測(cè)流程中即可得如圖2所示的本發(fā)明的系統(tǒng)架構(gòu)圖。各個(gè)模塊組件的具體實(shí)施方式如下:
1.預(yù)處理
數(shù)據(jù)源或原始數(shù)據(jù)集在被提取特征之前,需要進(jìn)行規(guī)范化預(yù)處理預(yù)處理,將離散型數(shù)據(jù)連續(xù)化,將連續(xù)型數(shù)據(jù)歸一化,并且可以識(shí)別出完整的請(qǐng)求報(bào)文,用于后期的特征提取,訓(xùn)練和檢測(cè)。
2.特征提取
對(duì)于原始數(shù)據(jù)集特征的提取對(duì)svm分類算法的效率具有決定性作用。因此,特征提取必須盡可能的做到準(zhǔn)確、簡(jiǎn)潔,才能夠提高檢測(cè)的準(zhǔn)確性,降低誤報(bào)率并且縮短檢測(cè)時(shí)間,達(dá)到較好的實(shí)時(shí)性。為了能更有效的檢測(cè)出目前木馬的常用攻擊類型,通過(guò)木馬攻擊的特征,考慮提取基本特征、流量特征和內(nèi)容特征。這樣可以彌補(bǔ)傳統(tǒng)的基于協(xié)議分析檢測(cè)手段僅通過(guò)協(xié)議匹配檢測(cè)和傳統(tǒng)的基于流量特征僅基于流量檢測(cè)的不足。
(1)基本特征
tcp/ip協(xié)議時(shí)目前最為流行、應(yīng)用的最為廣泛的互聯(lián)網(wǎng)協(xié)議,但是,基于tcp/ip架構(gòu)的計(jì)算機(jī)網(wǎng)絡(luò)是一個(gè)開(kāi)放和自由的網(wǎng)絡(luò),提高網(wǎng)絡(luò)信息服務(wù)靈活性的同時(shí),也方便了黑客的入侵和攻擊。因此,本發(fā)明主要考慮tcp、udp、icmp包。
因?yàn)榇蠖鄶?shù)攻擊難免會(huì)在包頭留下相關(guān)痕跡,因此,可以提取數(shù)據(jù)包頭的相關(guān)字段作為檢測(cè)手段。對(duì)于tcp數(shù)據(jù)包,可以提取標(biāo)識(shí)位、源端口、目的端口等特征;對(duì)于udp協(xié)議可提取源端口、目的端口等特征;對(duì)于icmp協(xié)議可提取數(shù)據(jù)字節(jié)數(shù)、服務(wù)類型等特征。
(2)流量特征
由于木馬程序的惡意性目的,導(dǎo)致木馬程序運(yùn)行時(shí)在網(wǎng)絡(luò)通信流量行為上和正常程序具有較大差異性。特別是在命令交互階段,木馬的通信流量會(huì)表現(xiàn)出會(huì)話時(shí)長(zhǎng)大于普通通信流量、上傳數(shù)據(jù)量大于下在數(shù)據(jù)量等特征。
(3)內(nèi)容特征
有一些木馬攻擊類型例如u2r和r2l潛藏在數(shù)據(jù)包的負(fù)載部分。單一的數(shù)據(jù)包和正常連接區(qū)別不大。但是,有一些攻擊發(fā)生時(shí)會(huì)明顯的增加連接請(qǐng)求時(shí)長(zhǎng),因此,可以將請(qǐng)求長(zhǎng)度作為特征。
3.特征處理
采用遞歸支持向量機(jī)算法(r-svm)對(duì)所提取出的大量特征屬性做特征提取,刪除相對(duì)不重要的冗余特征,降低數(shù)據(jù)特征空間的維度。
r-svm算法步驟:
(1)使用當(dāng)前所有候選特征訓(xùn)練支持向量機(jī);
(2)比較當(dāng)前的所有特征在支持向量機(jī)中的相對(duì)貢獻(xiàn)大小,并按照貢獻(xiàn)大小進(jìn)行排序;
(3)根據(jù)事先確定好的遞歸選擇特征數(shù),選擇出排序在前面的特征,轉(zhuǎn)(1),直到達(dá)到所希望選擇的特征數(shù)目結(jié)束;
對(duì)于在算法第(1)步訓(xùn)練好的svm分類模型,r-svm通過(guò)尋找使兩個(gè)樣本在這個(gè)svm輸出上分離的最開(kāi)的特征作為最終特征選擇的目標(biāo),利用兩類樣本平均svm輸出值作為代表,定義當(dāng)前特征分離度為:
其中,n1、n2是訓(xùn)練集當(dāng)中w1、w2類樣本的數(shù)量,把分離度表示成各個(gè)特征之和的形式為:
其中,d是當(dāng)前候選特征數(shù),wj是權(quán)向量w的第j個(gè)分量,mj+、mj-分別是兩類樣本在第j維特征的均值,如此,各個(gè)特征的貢獻(xiàn)值為:
2.利用svm進(jìn)行木馬檢測(cè),利用組合和函數(shù)作為svm的內(nèi)部核函數(shù),并利用多重網(wǎng)格搜索進(jìn)行參數(shù)尋優(yōu)。
由于svm的性能主要取決于特征的提取及核函數(shù)的選取以及核函數(shù)參數(shù)的合理確定。在合理提取了特征之后,本發(fā)明利用組合核函數(shù)對(duì)傳統(tǒng)svm中的單一核函數(shù)進(jìn)行優(yōu)化,即將一個(gè)全局核函數(shù)和一個(gè)局部核函數(shù)進(jìn)行線性加權(quán)組合,構(gòu)建組合核函數(shù),使其同時(shí)具備局部核函數(shù)和全局核函數(shù)的優(yōu)點(diǎn)。本發(fā)明選取多項(xiàng)式核函數(shù)和徑向基核函數(shù)進(jìn)行組合。組合后的構(gòu)建的核函數(shù)為:
k(x,z)=u[(x·z)+1]d+vexp(-||x-z||2/σ2)
其中,u、v為加權(quán)系數(shù),并且為正數(shù);d為多項(xiàng)式核函數(shù)的冪指數(shù);σ為徑向基核函數(shù)的寬度參數(shù)。
當(dāng)svm分類器的核函數(shù)確定后,其分類性能主要受核函數(shù)的參數(shù)、懲罰因子c以及寬度參數(shù)σ影響。目前,國(guó)際上并無(wú)公認(rèn)的方法用于svm最優(yōu)參數(shù)選取,目前常用基于網(wǎng)格搜索的參數(shù)尋優(yōu)和基于各種優(yōu)化算法的參數(shù)尋優(yōu)。本發(fā)明采用基于網(wǎng)格搜索的svm最優(yōu)參數(shù)確定方法。
基于網(wǎng)格搜索的svm參數(shù)尋優(yōu)方法主要思路為:
(1)首先將參數(shù)c和σ在一定范圍內(nèi)取值;
(2)對(duì)于取定值的c和σ,把訓(xùn)練集作為原始數(shù)據(jù)集利用k折交叉驗(yàn)證法得到在此組c和σ下的訓(xùn)練集驗(yàn)證分類準(zhǔn)確率
(3)最終取使得訓(xùn)練集驗(yàn)證分類準(zhǔn)確率最高的一組c和σ作為最優(yōu)參數(shù)。
將特征提取后的數(shù)據(jù)作為svm的訓(xùn)練集,輸入svm分類器,對(duì)分類器進(jìn)行訓(xùn)練,用于對(duì)測(cè)試集數(shù)據(jù)的檢測(cè)。
當(dāng)前,針對(duì)網(wǎng)絡(luò)行為的木馬病毒的檢測(cè)方法中,主要使用c4.5決策樹(shù)、樸素貝葉斯、svm等算法。其中,使用樸素貝葉斯算法,因?yàn)闃闼刎惾~斯算法要求各個(gè)特征間相互獨(dú)立,而現(xiàn)實(shí)中數(shù)據(jù)無(wú)法滿足,所以,檢測(cè)率最低,只能達(dá)到86.5%左右。使用c4.5決策樹(shù)算法,基于決策樹(shù)算法進(jìn)行了優(yōu)化,可以達(dá)到88.9%的檢測(cè)率。因?yàn)楸景l(fā)明所采用的svm算法,適用于高維度、小樣本的數(shù)據(jù)分類預(yù)測(cè)工作,因此,使用基本svm算法對(duì)木馬程序的檢測(cè)率即可達(dá)到91.3%,結(jié)合本發(fā)明對(duì)原始數(shù)據(jù)進(jìn)行降維,對(duì)svm核函數(shù)進(jìn)行現(xiàn)行加權(quán)合并,并進(jìn)行參數(shù)尋優(yōu),檢測(cè)率應(yīng)可以達(dá)到94%以上,并有效縮短了分類器訓(xùn)練時(shí)間。
以上示意性地對(duì)本發(fā)明創(chuàng)造及其實(shí)施方式進(jìn)行了描述,該描述沒(méi)有限制性,附圖中所示的也只是本發(fā)明創(chuàng)造的實(shí)施方式之一,實(shí)際的結(jié)構(gòu)并不局限于此。所以,如果本領(lǐng)域的普通技術(shù)人員受其啟示,在不脫離本創(chuàng)造宗旨的情況下,不經(jīng)創(chuàng)造性的設(shè)計(jì)出與該技術(shù)方案相似的結(jié)構(gòu)方式及實(shí)施例,均應(yīng)屬于本專利的保護(hù)范圍。