最新的毛片基地免费,国产国语一级毛片,免费国产成人高清在线电影,中天堂国产日韩欧美,中国国产aa一级毛片,国产va欧美va在线观看,成人不卡在线

一種融合多檢測(cè)結(jié)果的惡意程序檢測(cè)方法與流程

文檔序號(hào):11156188閱讀:881來(lái)源:國(guó)知局
一種融合多檢測(cè)結(jié)果的惡意程序檢測(cè)方法與制造工藝

本發(fā)明屬于信息安全領(lǐng)域,具體涉及一種融合多檢測(cè)結(jié)果的惡意程序檢測(cè)方法。



背景技術(shù):

隨著互聯(lián)網(wǎng)應(yīng)用的不斷普及和發(fā)展,涌現(xiàn)了大量基于網(wǎng)絡(luò)的服務(wù),使網(wǎng)絡(luò)空間成為繼陸、海、空、天后的第五疆域。網(wǎng)絡(luò)空間安全也成為了全球共同關(guān)注的熱點(diǎn)話題,受到廣泛關(guān)注。在各類網(wǎng)絡(luò)安全事件中,以計(jì)算機(jī)病毒為代表的惡意程序已經(jīng)成為威脅網(wǎng)絡(luò)和信息安全的主要因素之一。惡意程序通常是指帶有攻擊意圖所編寫(xiě)的一段程序,主要包括:計(jì)算機(jī)病毒、陷門(mén)、邏輯炸彈、特洛伊木馬、蠕蟲(chóng)等。從某種意義上說(shuō),21世紀(jì)是計(jì)算機(jī)病毒與反病毒激烈角逐的時(shí)代,而智能化、人性化、隱蔽化、多樣化也在逐漸成為新世紀(jì)計(jì)算機(jī)病毒的發(fā)展趨勢(shì)。

一般來(lái)講,惡意代碼檢測(cè)方法可以分為兩種:一種是靜態(tài)檢測(cè)方法,另一種是動(dòng)態(tài)檢測(cè)方法。

靜態(tài)檢測(cè)方法主要包括:基于特征碼的檢測(cè)法和啟發(fā)式掃描方法等。

動(dòng)態(tài)分析方法主要包括:系統(tǒng)監(jiān)控法和動(dòng)態(tài)跟蹤法等。

基于特征碼的檢測(cè)法是現(xiàn)有的商業(yè)反病毒軟件中廣泛應(yīng)用的一種方法,幾乎現(xiàn)有的所有反病毒軟件都具有這一功能。首先,采集已知病毒樣本,抽取其特征碼并將其納入病毒數(shù)據(jù)庫(kù)。檢測(cè)時(shí),打開(kāi)被檢測(cè)文件,在文件中搜索,檢查文件中是否含有病毒數(shù)據(jù)庫(kù)中的病毒特征代碼。如果發(fā)現(xiàn)病毒特征碼,由于特征碼與病毒一一對(duì)應(yīng),便可以斷定,被查文件中患有何種病毒。但這種方法不能檢測(cè)未知病毒;搜集已知病毒的特征代碼,費(fèi)用開(kāi)銷大;惡意代碼的種類、數(shù)量越來(lái)越多,特征庫(kù)的維護(hù)也變得越來(lái)越困難,并且過(guò)多的特征碼會(huì)影響檢測(cè)效率。啟發(fā)式掃描技術(shù)其實(shí)就是對(duì)基于特征碼檢測(cè)方法的一種改進(jìn),這種方法不僅能檢測(cè)出己知的惡意代碼,還能識(shí)別出一些變種、變形和未知的惡意代碼。但是該方法仍然離不開(kāi)特征碼的提取。

系統(tǒng)監(jiān)控法—般是將惡意代碼運(yùn)行在一個(gè)可控的環(huán)境中,通過(guò)對(duì)比系統(tǒng)某些標(biāo)志性的狀態(tài)信息在執(zhí)行惡意代碼前后發(fā)生的變化來(lái)確定惡意代碼的功能和目的。系統(tǒng)監(jiān)控方法可以監(jiān)控程序?qū)ο到y(tǒng)資源的一切操作,實(shí)時(shí)檢測(cè)出狀態(tài)變化,所以能夠快速的發(fā)現(xiàn)已知和未知的惡意代碼。動(dòng)態(tài)跟蹤法是指實(shí)時(shí)監(jiān)控惡意代碼運(yùn)行時(shí)的動(dòng)態(tài)行為,從而分析惡意代碼的功能和目的。這種檢測(cè)方法能有效地分析出惡意代碼的行為,但是其實(shí)現(xiàn)的技術(shù)難度比較大。此外,動(dòng)態(tài)分析方法的高度敏感性可能產(chǎn)生誤報(bào)警、不能識(shí)別病毒名稱,不利于感染文件病毒的清除?,F(xiàn)有的殺毒軟件大多都具有行為監(jiān)測(cè)的功能,但往往由于配置不當(dāng)而形同虛設(shè)。

網(wǎng)絡(luò)時(shí)代的惡意程序更隱秘,潛伏程度更高,傳播范圍更廣,帶來(lái)的損失更為嚴(yán)重。加上代碼混淆技術(shù)的流行,惡意程序自動(dòng)生成引擎的廣泛傳播,造成惡意程序數(shù)目不斷增長(zhǎng),對(duì)網(wǎng)絡(luò)空間安全造成了嚴(yán)重的威脅。因此,研制新型惡意程序檢測(cè)技術(shù)對(duì)確保網(wǎng)絡(luò)空間安全具有重要意義。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明的目的是針對(duì)基于特征碼的檢測(cè)方法不能檢測(cè)出未知惡意程序和已知惡意程序變種的問(wèn)題,提供一種融合多種檢測(cè)結(jié)果的惡意程序檢測(cè)方法。對(duì)未知惡意程序及已知惡意程序具有良好的檢測(cè)效果,為惡意程序的檢測(cè)及與現(xiàn)有檢測(cè)方法的融合提供了一種有益的方法。

為實(shí)現(xiàn)本發(fā)明目的,本發(fā)明的技術(shù)方案如下:一種融合多檢測(cè)結(jié)果的惡意程序檢測(cè)方法,包括以下步驟:

步驟S1、建立字符串集合:所述建立字符串集合包括在計(jì)算機(jī)系統(tǒng)中收集正常程序,構(gòu)成正常程序集合Bp,收集一部分有代表性的惡意程序構(gòu)成惡意程序集Mp;在正常程序集合Bp中選取一部分常見(jiàn)的程序構(gòu)成正常程序子集Bp1,在惡意程序集合Bp中選取一部分常見(jiàn)的程序構(gòu)成惡意程序子集Mp1;在正常程序子集Bp1和惡意程序子集Mp1中提取長(zhǎng)度為len的、不重復(fù)的十六進(jìn)制字符串,并將其添加到字符串集合中,len的取值范圍為2-20字節(jié)。

步驟S2、計(jì)算每個(gè)字符串的信息增益,選取特定數(shù)量的字符串構(gòu)成基因庫(kù):即計(jì)算字符串集合中的每個(gè)十六進(jìn)制字符串的信息增益值,然后按信息增益從大到小按降序進(jìn)行排序,選取信息增益量較大的N個(gè)十六進(jìn)制字符串構(gòu)成基因庫(kù),N大于或等于100小于或等于2000。

步驟S3、提取正常程序的特征向量,形成正常程序向量空間:具體為基于步驟S2建立的基因庫(kù),對(duì)計(jì)算機(jī)系統(tǒng)中的正常程序建立特征向量,并進(jìn)一步構(gòu)建在當(dāng)前基因庫(kù)下的正常程序的向量空間。

步驟S4、生成惡意程序檢測(cè)器:即基于步驟S3建立的正常程序向量空間,進(jìn)一步生成覆蓋惡意程序特征向量空間的惡意程序檢測(cè)器。

步驟S5、初步判定待檢程序是否為惡意程序:即對(duì)每一個(gè)待檢測(cè)程序進(jìn)行特征提取,生成待檢測(cè)程序的特征向量,計(jì)算待檢測(cè)程序的特征向量與檢測(cè)器之間的r連續(xù)位距離,若所述r連續(xù)位距離大于或等于設(shè)定的閾值,判定待檢測(cè)程序?yàn)閻阂獬绦?否則為正常程序。

步驟S6、根據(jù)融合規(guī)則判斷待檢程序是否為惡意程序:具體為在步驟S1采用不同的值,通過(guò)步驟S2得到不同長(zhǎng)度的基因庫(kù),重復(fù)步驟S3至步驟S5,對(duì)待檢測(cè)程序再次進(jìn)行檢測(cè),得到新的檢測(cè)結(jié)果,并至少重復(fù)一次,再次得到新的檢測(cè)結(jié)果,由多個(gè)檢測(cè)結(jié)果,運(yùn)用融合規(guī)則,計(jì)算其為正常程序或者是惡意程序的基本信任分配,最終判定待檢測(cè)程序是惡意程序或者是正常程序。

進(jìn)一步的,步驟1所述的建立字符串集合的步驟還包括:

步驟S11、對(duì)正常程序子集Bp1和惡意程序子Mp1中的每一個(gè)程序p,從它的開(kāi)始位置每次滑動(dòng)一個(gè)字節(jié),依次提取長(zhǎng)度為len的十六進(jìn)制字符串,直至程序結(jié)尾為止。

步驟S12、對(duì)提取到的每一個(gè)十六進(jìn)制字符串進(jìn)行判定其是否出現(xiàn)在長(zhǎng)度為len的字符串集合中,若是,則執(zhí)行驟S13,若否則執(zhí)行步驟S14。

步驟S13、丟棄。

步驟S14、將此字符串加入到字符串集合中。

步驟S15:改變基因長(zhǎng)度len的值,重復(fù)以上操作,得到不同長(zhǎng)度的字符串集合,len的取值范圍為2至20。

進(jìn)一步的,步驟2所述的建立基因庫(kù)的步驟還包括:

步驟S21、定義信息增益IG(Information Gain)為:

其中,Ci={Bp,Mp},Str表示提取的十六進(jìn)制字符串,vStr=1表示字符串在程序中出現(xiàn),否則vStr=0,P(vStr,C)為字符串取值為vStr時(shí)在集合C中的比例,P(vStr)為Str取值為vStr時(shí)在整個(gè)測(cè)試集中的比例,P(C)表示程序?qū)儆贑的概率,對(duì)長(zhǎng)度相同的字符串集合中的每一個(gè)字符串,按照上式計(jì)算其信息增益的值。

步驟S22、對(duì)信息增益按照降序進(jìn)行排列,選取信息增益值較大的N個(gè)十六進(jìn)制字符串作為基因庫(kù),基因庫(kù)的大小N取值范圍為:100-2000。

步驟S23:對(duì)不同長(zhǎng)度字符串集合重復(fù)以上操作,通過(guò)對(duì)不同長(zhǎng)度的字符串集合的大小進(jìn)行削減后得到不同長(zhǎng)度的基因庫(kù)。

進(jìn)一步的,步驟3還包括以下步驟:

步驟S31、對(duì)每一個(gè)正常程序集合中的程序從第一個(gè)字節(jié)開(kāi)始,提取長(zhǎng)度為len的十六進(jìn)制字符串,每次向后滑動(dòng)一個(gè)字節(jié),直到文件結(jié)尾為止。

步驟S32、判斷長(zhǎng)度為len的基因庫(kù)中是否存在提取的十六進(jìn)制字符串;如是,則執(zhí)行步驟S34,若否則執(zhí)行步驟S33。

步驟S33、采用默認(rèn)值0,不做任何處理。

步驟S34、將特征向量的對(duì)應(yīng)位設(shè)置為1。

步驟S35、對(duì)正常程序集合中的每個(gè)程序重復(fù)以上操作,則可以構(gòu)建正常程序在當(dāng)前基因庫(kù)下的正常程序向量空間。

步驟S36:對(duì)正常程序集合中的所有程序依次用不同長(zhǎng)度的基因庫(kù)進(jìn)行特征提取,構(gòu)建出不同長(zhǎng)度基因庫(kù)下的正常程序向量空間。

進(jìn)一步的,步驟4所述生成惡意程序檢測(cè)器還包括以下步驟:

步驟S41、隨機(jī)生成一個(gè)維數(shù)與基因庫(kù)基因數(shù)量相等的二進(jìn)制串,將其視為一個(gè)可能的檢測(cè)器,計(jì)算該檢測(cè)器與正常程序向量空間中的每個(gè)向量的r連續(xù)位距離值。

步驟S42、判斷檢測(cè)器是否與所有正常程序向量空間中的向量的r連續(xù)位距離值是否小于預(yù)先設(shè)定的閾值,若是,則執(zhí)行步驟S44,若否,則執(zhí)行步驟S43。

步驟S43、丟棄。

步驟S44、加入檢測(cè)器集合。

步驟S45、判斷生成的檢測(cè)器數(shù)量達(dá)到預(yù)定的值,預(yù)定的值為300-5000,若是,則執(zhí)行步驟S46,若否,則執(zhí)行步驟S41繼續(xù)生成檢測(cè)器。

步驟S46、對(duì)不同長(zhǎng)度基因庫(kù)生成的正常程序向量空間,重復(fù)以上操作,產(chǎn)生與不同基因庫(kù)對(duì)應(yīng)的檢測(cè)器。

進(jìn)一步的,步驟5所述初步判定待檢程序是否為惡意程序包括以下步驟:

步驟S51:對(duì)每一個(gè)待檢測(cè)程序從第一個(gè)字節(jié)開(kāi)始,提取長(zhǎng)度為len的十六進(jìn)制字符串,每次滑動(dòng)一個(gè)字節(jié),直到文件結(jié)尾為止。

步驟S52,判斷長(zhǎng)度為len基因庫(kù)中是否存在提取的十六進(jìn)制字符串;若是表明提取的十六進(jìn)制字符串出現(xiàn)在了基因庫(kù)中,執(zhí)行步驟S54,若否,則表明提取的十六進(jìn)制字符串沒(méi)有出現(xiàn)在基因庫(kù)中,執(zhí)行步驟S53。

步驟S53:采用默認(rèn)值0,不做任何處理。

步驟S54:將特征向量的對(duì)應(yīng)位設(shè)置為1,以此獲得待檢測(cè)程序的特征向量。

步驟S55:判斷待檢測(cè)程序的特征向量與所有檢測(cè)器的r連續(xù)距離值是否小于預(yù)先設(shè)定的閾值;如是,則待檢測(cè)程序?yàn)檎3绦?,否則,表明該程序被惡意程序檢測(cè)器識(shí)別,可以初步判斷待檢測(cè)程序?yàn)閻阂獬绦颉?/p>

進(jìn)一步的,步驟6所述由融合規(guī)則判斷待檢程序是否為惡意程序還包括以下步驟:

步驟S61:取辨識(shí)框架Θ為{B,M},B為正常程序,M為惡意程序,有定義基本信任分配函數(shù)m:P({B,M})→[0,1],m(B)+m(M)=1。其中,m(M)表示支持惡意程序的基本信任分配,m(B)表示支持正常程序的基本信任分配。

步驟S62:根據(jù)融合公式對(duì)多個(gè)惡意程序檢測(cè)方法的檢測(cè)結(jié)果的基本信任分配進(jìn)行融合,得到新的基本信任分配,即m1...n(B)和m1...n(M),分別表示n個(gè)識(shí)別結(jié)果對(duì)正常程序,惡意程序的基本信任分配。

步驟S63:比較m1...n(B)和m1...n(M)這兩個(gè)值的大小,如果m1...n(B)>m1...n(V),則待檢測(cè)程序?yàn)檎3绦?,否則,為惡意程序。

進(jìn)一步的,步驟6所述對(duì)待檢測(cè)程序再進(jìn)行檢測(cè)的次數(shù)為2至5次,選取不同的len值生成的檢測(cè)器對(duì)待檢測(cè)程序再進(jìn)行檢測(cè)的次數(shù)不宜太少,太少不利于進(jìn)行多結(jié)果融合判斷,也不宜太多,太多則增加檢測(cè)時(shí)間,因此再進(jìn)行檢測(cè)的次數(shù)為2至5次為宜。

本發(fā)明的有益效果為:

1、通過(guò)構(gòu)建基因庫(kù),然后生成正常程序的特征空間,進(jìn)而產(chǎn)生覆蓋惡意程序空間的檢測(cè)器來(lái)實(shí)現(xiàn)對(duì)惡意程序的檢測(cè),有效避免了惡意程序特征碼的提取和龐大特征庫(kù)的維護(hù)。

2、本發(fā)明具有檢測(cè)未知惡意程序的能力,由于本發(fā)明通過(guò)構(gòu)建正常程序的特征向量空間,生成覆蓋惡意程序特征空間的檢測(cè)器,進(jìn)而實(shí)現(xiàn)對(duì)惡意程序的檢測(cè),不需要提取未知惡意程序的特征碼,因此本發(fā)明具有良好的檢測(cè)未知惡意程序和已知惡意程序變種的能力。

3、本發(fā)明可以提高惡意程序檢測(cè)的準(zhǔn)確率,由于本發(fā)明是對(duì)多個(gè)(或者是多種檢測(cè)方法的)檢測(cè)結(jié)果進(jìn)行綜合評(píng)判,因此本發(fā)明可以提高惡意程序檢測(cè)的準(zhǔn)確率。

附圖說(shuō)明

圖1為本發(fā)明一種融合多檢測(cè)結(jié)果的惡意程序檢測(cè)方法的系統(tǒng)框架圖。

圖2為本發(fā)明一種融合多檢測(cè)結(jié)果的惡意程序檢測(cè)方法生成不同長(zhǎng)度字符串集合的流程圖。

圖3為本發(fā)明一種融合多檢測(cè)結(jié)果的惡意程序檢測(cè)方法對(duì)不同長(zhǎng)度基因庫(kù)進(jìn)行大小削減的流程圖。

圖4為本發(fā)明一種融合多檢測(cè)結(jié)果的惡意程序檢測(cè)方法構(gòu)建正常程序向量空間的流程圖。

圖5為本發(fā)明一種融合多檢測(cè)結(jié)果的惡意程序檢測(cè)方法生成惡意程序檢測(cè)器的流程圖。

圖6為本發(fā)明一種融合多檢測(cè)結(jié)果的惡意程序檢測(cè)方法對(duì)待檢測(cè)程序進(jìn)行初步判斷的流程圖。

圖7為本發(fā)明一種融合多檢測(cè)結(jié)果的惡意程序檢測(cè)方法對(duì)待檢測(cè)程序進(jìn)行融合判定的流程圖。

具體實(shí)施方式

為了更加清楚地理解本發(fā)明的目的、技術(shù)方案及有益效果,下面結(jié)合附圖對(duì)本發(fā)明做進(jìn)一步的說(shuō)明,但并不將本發(fā)明的保護(hù)范圍限定在以下實(shí)施例中。

如圖1所示,本發(fā)明的一種融合多檢測(cè)結(jié)果的惡意程序檢測(cè)方法包括如下步驟:

步驟1、在收集計(jì)算機(jī)系統(tǒng)中的正常程序,構(gòu)成正常程序集合Bp,以安全的方式收集一部分有代表性的惡意程序構(gòu)成惡意程序集Mp;在正常程序集合Bp中選取一部分常見(jiàn)的程序構(gòu)成正常程序子集Bp1,在惡意程序集合Bp中選取一部分常見(jiàn)的程序構(gòu)成惡意程序子集Mp1;在正常程序子集Bp1和惡意程序子集Mp1中提取長(zhǎng)度為len的、不重復(fù)的十六進(jìn)制字符串,并將其添加到字符串集合中??梢愿鶕?jù)不同長(zhǎng)度的len構(gòu)建不同長(zhǎng)度字符串集合,具體如圖2所示,可以按以下步驟構(gòu)建:步驟S11、對(duì)正常程序子集Bp1和惡意程序子集Mp1中的每一個(gè)程序p,從它的開(kāi)始位置每次滑動(dòng)一個(gè)字節(jié),依次提取長(zhǎng)度為len的十六進(jìn)制字符串,直至程序結(jié)尾為止;步驟S12、對(duì)提取到的每一個(gè)十六進(jìn)制字符串進(jìn)行判定其是否出現(xiàn)在長(zhǎng)度為len的字符串集合中,若是,表明已經(jīng)存在基因集中,則執(zhí)行步驟S13;若否,則表明基因集中不存在此字符串,則執(zhí)行步驟S14;步驟S13、丟棄。步驟S14、將此字符串加入到字符串集合中;步驟S15:改變基因長(zhǎng)度len的值,重復(fù)以上操作,得到不同長(zhǎng)度的字符串集合,通常len的取值范圍為2至20字符;例如第一次提取時(shí)基因長(zhǎng)度len的值為2,則其下一次提取時(shí)的基因長(zhǎng)度len的值為3。

步驟S2、計(jì)算每個(gè)字符串的信息增益,選取特定數(shù)量的字符串構(gòu)成基因庫(kù):即計(jì)算字符串集合中的每個(gè)十六進(jìn)制字符串的信息增益值,然后按信息增益從大到小按降序進(jìn)行排序,信息增益量較大的100-2000個(gè)十六進(jìn)制字符串構(gòu)成基因庫(kù)。忽略信息增益值小的十六進(jìn)制串是因?yàn)殡S著len值的增大,從程序中提取的十六進(jìn)制字符串組成的基因庫(kù)也成指數(shù)級(jí)增長(zhǎng),使得提取程序特征的效率降低;因此,有必要對(duì)每個(gè)字符串集合大小進(jìn)行削減。如圖3所示,為不同長(zhǎng)度字符串集合大小進(jìn)行削減的步驟包括:步驟S21:定義信息增益IG(Information Gain)為:

其中,Ci={Bp,Mp},Str表示提取的十六進(jìn)制字符串,vStr=1表示字符串在程序中出現(xiàn),否則vStr=0,P(vStr,C)為字符串取值為vStr時(shí)在集合C中的比例,P(vStr)為Str取值為vStr時(shí)在整個(gè)測(cè)試集中的比例,P(C)表示程序?qū)儆贑的概率;對(duì)長(zhǎng)度相同的字符串集合中的每一個(gè)字符串,按照上式計(jì)算其信息增益的值;步驟S22:對(duì)信息增益按照降序進(jìn)行排列,選取信息增益值較大的N個(gè)十六進(jìn)制字符串作為基因庫(kù),基因庫(kù)的大小N取值范圍為:100-2000,基因越短,則基因庫(kù)的大小可適當(dāng)取大一些,反之,基因越長(zhǎng),則基因庫(kù)的大小可以適當(dāng)取小一些,以確保檢測(cè)的效率;步驟S23:對(duì)不同長(zhǎng)度字符串集合重復(fù)以上操作,通過(guò)對(duì)不同長(zhǎng)度的字符串集合的大小進(jìn)行削減后得到不同長(zhǎng)度的基因庫(kù)。

步驟S3、基于步驟S2建立的基因庫(kù),對(duì)計(jì)算機(jī)系統(tǒng)中的正常程序提取特征,建立特征向量,并進(jìn)一步構(gòu)建在當(dāng)前基因庫(kù)下的正常程序的向量空間。為正常程序集中的每個(gè)程序構(gòu)建一個(gè)與基因庫(kù)大小相同維數(shù)的特征向量,也就是對(duì)正常程序進(jìn)行特征抽取,所有的正常程序的特征向量構(gòu)建正常程序狀態(tài)空間,如圖4所示,具體的步驟包括:步驟S31:對(duì)每一個(gè)正常程序集合中的程序從第一個(gè)字節(jié)開(kāi)始,提取長(zhǎng)度為len的十六進(jìn)制字符串,每次向后滑動(dòng)一個(gè)字節(jié),直到文件結(jié)尾為止;步驟S32、判斷長(zhǎng)度為len的基因庫(kù)中是否存在提取的十六進(jìn)制字符串;若是,則說(shuō)明提取的十六進(jìn)制字符串沒(méi)有出現(xiàn)在基因庫(kù)中,執(zhí)行步驟S34,若否,則說(shuō)明提取的十六進(jìn)制字符串出現(xiàn)在了基因庫(kù)中,執(zhí)行步驟S33;步驟S33、采用默認(rèn)值0,不做任何處理;步驟S34、將特征向量的對(duì)應(yīng)位設(shè)置為1,特征向量的對(duì)應(yīng)位為1,表示該基因出現(xiàn)在程序中;由此,可獲得程序的特征向量(x1,x2,…,xn)中的每一維的數(shù)值xi(xi∈{0,1},i=1,…n),經(jīng)程序特征提取后,所獲得的程序特征向量為一個(gè)大小與基因庫(kù)基因數(shù)量相等的二進(jìn)制字符串;步驟S35、對(duì)正常程序集合中的每個(gè)程序重復(fù)以上操作,則可以構(gòu)建正常程序在當(dāng)前基因庫(kù)下的正常程序向量空間;步驟S36、對(duì)正常程序集合中的所有程序依次用不同長(zhǎng)度的基因庫(kù)進(jìn)行特征提取,構(gòu)建出不同長(zhǎng)度基因庫(kù)下的正常程序向量空間。

步驟S4、基于步驟S3建立的正常程序向量空間,進(jìn)一步生成覆蓋惡意程序特征向量空間的惡意程序檢測(cè)器。具體而言,生成惡意程序檢測(cè)器可采用如圖5所示的步驟:步驟S41、隨機(jī)生成一個(gè)維數(shù)與基因庫(kù)基因數(shù)量相等的二進(jìn)制串,將其視為一個(gè)可能的檢測(cè)器,計(jì)算該檢測(cè)器與正常程序向量空間中的每個(gè)向量的r連續(xù)位距離值。步驟S42、判斷檢測(cè)器是否與所有正常程序向量空間中的向量的r連續(xù)位距離值是否小于預(yù)先設(shè)定的閾值,閾值的設(shè)定根據(jù)檢測(cè)的需要進(jìn)行設(shè)置,一般而言,閾值越小,檢測(cè)能力越強(qiáng),模型的錯(cuò)誤否定率越低,但是模型的錯(cuò)誤肯定率則越高,為獲得滿意的檢測(cè)效果,用戶可以根據(jù)需要自行設(shè)定,如設(shè)定為10,若是,則說(shuō)明該檢測(cè)器位于某個(gè)正常程序向量空間內(nèi),執(zhí)行步驟S44,若否,由表明該檢測(cè)器與正常程序向量空間中的任一正常程序特征向量的r連續(xù)位距離均小于10,則說(shuō)明該檢測(cè)器沒(méi)有處于正常程序空間內(nèi),可以作為一個(gè)合法的檢測(cè)器,則執(zhí)行步驟S43;步驟S43、丟棄;步驟S44、加入檢測(cè)器集合;步驟45、判斷生成的檢測(cè)器數(shù)量是否達(dá)到預(yù)定的值,預(yù)定的值為300-5000,若是,則執(zhí)行步驟S46,若否,則執(zhí)行步驟S41繼續(xù)生成檢測(cè)器;步驟S46:對(duì)不同長(zhǎng)度基因庫(kù)生成的正常程序向量空間,重復(fù)以上操作,產(chǎn)生與不同基因庫(kù)對(duì)應(yīng)的檢測(cè)器。

步驟S5、對(duì)每一個(gè)待檢測(cè)程序進(jìn)行特征提取,生成待檢測(cè)程序的特征向量,計(jì)算待檢測(cè)程序的特征向量與所有檢測(cè)器之間的r連續(xù)位距離,若存在一個(gè)r連續(xù)位距離大于或等于設(shè)定的閾值10,判定待檢測(cè)程序?yàn)閻阂獬绦?否則為正常程序。具體而言,為更準(zhǔn)確的判定待檢程序是否為惡意程序,如圖6所示,對(duì)待檢測(cè)程序進(jìn)行檢測(cè)的步驟包括:步驟S51:對(duì)每一個(gè)待檢測(cè)程序從第一個(gè)字節(jié)開(kāi)始,提取長(zhǎng)度為len的十六進(jìn)制字符串,每次滑動(dòng)一個(gè)字節(jié),直到文件結(jié)尾為止。步驟S52,判斷長(zhǎng)度為len基因庫(kù)中是否存在提取的十六進(jìn)制字符串;若是表明提取的十六進(jìn)制字符串出現(xiàn)在了基因庫(kù)中,執(zhí)行步驟S54,若否,則表明提取的十六進(jìn)制字符串沒(méi)有出現(xiàn)在基因庫(kù)中,執(zhí)行步驟S53;步驟S53:采用默認(rèn)值0,不做任何處理。步驟S54:將特征向量的對(duì)應(yīng)位設(shè)置為1,以此獲得待檢測(cè)程序的特征向量;步驟S55:判斷待檢測(cè)程序的特征向量與所有檢測(cè)器的r連續(xù)距離值是否小于預(yù)先設(shè)定的閾值10;如是,則待檢測(cè)程序?yàn)檎3绦?,否則,表明該程序被惡意程序檢測(cè)器識(shí)別,可以初步判斷待檢測(cè)程序?yàn)閻阂獬绦颉?/p>

步驟S6、由融合規(guī)則判斷待檢程序是否為惡意程序:在步驟S1采用不同的len值,通過(guò)步驟S2得到不同長(zhǎng)度的基因庫(kù),重復(fù)步驟S3至步驟S5,對(duì)待檢測(cè)程序再次進(jìn)行檢測(cè),得到新的檢測(cè)結(jié)果,并至少重復(fù)一次,最好是2至5次,再次得到新的檢索結(jié)果,根據(jù)多個(gè)檢測(cè)結(jié)果,如圖7所示,根據(jù)融合規(guī)則,由以下步驟進(jìn)行融合判斷,步驟S61:取辨識(shí)框架Θ為{B,M},B為正常程序,M為惡意程序,有定義基本信任分配函數(shù)m:P({B,M})→[0,1],m(B)+m(M)=1。其中,m(M)表示支持惡意程序的基本信任分配,m(B)表示支持正常程序的基本信任分配;步驟S62:根據(jù)融合公式對(duì)多個(gè)惡意程序檢測(cè)方法的檢測(cè)結(jié)果的基本信任分配進(jìn)行融合,得到新的基本信任分配,即m1...n(B)和m1...n(M),分別表示n個(gè)識(shí)別結(jié)果對(duì)正常程序,惡意程序的基本信任分配;步驟S63:比較m1...n(B)和m1...n(M)這兩個(gè)值的大小,如果m1...n(B)>m1...n(V),則待檢測(cè)程序?yàn)檎3绦颍駝t,為惡意程序。

通過(guò)上述步驟,本發(fā)明的技術(shù)方案可成功通過(guò)構(gòu)建基因庫(kù),然后生成正常程序的特征空間,進(jìn)而產(chǎn)生覆蓋惡意程序空間的檢測(cè)器來(lái)實(shí)現(xiàn)對(duì)惡意程序的檢測(cè),有效避免了惡意程序特征碼的提取和龐大特征庫(kù)的維護(hù),同時(shí),通過(guò)融合多個(gè)惡意程序的檢測(cè)結(jié)果,再次進(jìn)行綜合評(píng)判,進(jìn)一步提高惡意程序檢測(cè)的準(zhǔn)確率。

以上顯示和描述了本發(fā)明的基本原理和主要特征和本發(fā)明的優(yōu)點(diǎn)。本行業(yè)的技術(shù)人員應(yīng)該了解,本發(fā)明不受上述實(shí)施例的限制,上述實(shí)施例和說(shuō)明書(shū)中描述的只是說(shuō)明本發(fā)明的原理,在不脫離本發(fā)明精神和范圍的前提下,本發(fā)明還會(huì)有各種變化和改進(jìn),這些變化和改進(jìn)都落入要求保護(hù)的本發(fā)明范圍內(nèi)。

當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1