国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種提取pe文件特征的方法及裝置制造方法

      文檔序號(hào):6540043閱讀:171來(lái)源:國(guó)知局
      一種提取pe文件特征的方法及裝置制造方法【專利摘要】本發(fā)明實(shí)施例公開了一種提取PE文件特征的方法及裝置,所述方法包括:對(duì)目標(biāo)PE文件的源代碼進(jìn)行分析,獲得所述源代碼中的特征代碼;所述特征代碼為以下幾種中任意一種或幾種的組合,目標(biāo)PE文件的代碼節(jié)、目標(biāo)PE文件的附加數(shù)據(jù)或目標(biāo)PE文件的資源節(jié);提取所述特征代碼的hash特征;根據(jù)所述特征代碼的hash特征生成目標(biāo)PE文件的特征,所述目標(biāo)PE文件的特征用于檢測(cè)所述目標(biāo)PE文件是否被病毒感染。殺毒軟件利用通過(guò)本發(fā)明實(shí)施提供的方法提取的特征進(jìn)行病毒檢測(cè)時(shí)不易被繞過(guò),且能夠提高殺毒軟件利用該特征進(jìn)行病毒檢測(cè)時(shí)的通用性,且應(yīng)用本發(fā)明實(shí)施例可以提高提取目標(biāo)PE文件特征的速度?!緦@f(shuō)明】一種提取PE文件特征的方法及裝置【
      技術(shù)領(lǐng)域
      】[0001]本發(fā)明涉及數(shù)據(jù)安全【
      技術(shù)領(lǐng)域
      】,特別涉及一種提取PE文件特征的方法及裝置?!?br>背景技術(shù)
      】[0002]PE(PortableExecute)文件被稱為可移植的執(zhí)行體,例如,exe文件、dll文件、OCX文件、sys文件和com文件等均為PE文件。由于實(shí)際應(yīng)用中PE文件感染計(jì)算機(jī)病毒的現(xiàn)象越來(lái)越常見,因此,用戶在獲得某一PE文件后,通常先通過(guò)殺毒軟件檢測(cè)該P(yáng)E文件是否已被計(jì)算機(jī)病毒感染。[0003]應(yīng)用殺毒軟件檢測(cè)待檢測(cè)PE文件是否已被計(jì)算機(jī)病毒感染時(shí),首先要提取待檢測(cè)PE文件的特征?,F(xiàn)有技術(shù)中,提取待檢測(cè)PE文件的全文hash(哈希)特征是較常見的一種PE文件特征提取方法。在提取全文hash特征時(shí),其計(jì)算范圍為待檢測(cè)PE文件中的所有字節(jié),因此,該特征可以精確的描述待檢測(cè)文件的特征。但是,全文hash特征對(duì)數(shù)據(jù)比較敏感,即使改變文件中的一個(gè)字節(jié)也會(huì)帶來(lái)全文hash特征的改變,例如,兩個(gè)PE文件的核心代碼是一樣的,但是非核心代碼稍有區(qū)別,則全文hash特征可能存在很大差別,因此,殺毒軟件利用全文hash特征匹配法進(jìn)行病毒檢測(cè)時(shí),全文hash特征的通用性較弱。另外,一般PE文件中會(huì)存在多處可以隨意修改但是不影響文件正常運(yùn)行的結(jié)構(gòu),例如,節(jié)縫隙等等,因此,實(shí)際應(yīng)用中病毒程序可以通過(guò)修改這些地方而改變待檢測(cè)文件的全文hash特征,從而繞過(guò)殺毒軟件的檢測(cè)。再者,由于提取全文hash特征時(shí),需覆蓋待檢測(cè)PE文件中的所有字節(jié),因此,提取全文hash特征時(shí),速度慢、消耗資源高。【
      發(fā)明內(nèi)容】[0004]本發(fā)明實(shí)施例公開了一種提取PE文件特征的方法及裝置,以使得殺毒軟件利用該特征進(jìn)行病毒檢測(cè)時(shí)不易被繞過(guò),且提高利用該特征進(jìn)行病毒檢測(cè)時(shí)的通用性,及提取目標(biāo)PE文件特征的速度。[0005]為達(dá)到上述目的,本發(fā)明實(shí)施例公開了一種提取PE文件特征的方法,所述方法包括:[0006]對(duì)目標(biāo)PE文件的源代碼進(jìn)行分析,獲得所述源代碼中的特征代碼;所述特征代碼為以下幾種中任意一種或幾種的組合,目標(biāo)PE文件的代碼節(jié)、目標(biāo)PE文件的附加數(shù)據(jù)或目標(biāo)PE文件的資源節(jié);[0007]提取所述特征代碼的hash特征;[0008]根據(jù)所述特征代碼的hash特征生成目標(biāo)PE文件的特征,所述目標(biāo)PE文件的特征用于檢測(cè)所述目標(biāo)PE文件是否被病毒感染。[0009]較佳的,所述提取所述特征代碼的hash值,包括:[0010]根據(jù)預(yù)設(shè)規(guī)則對(duì)特征代碼進(jìn)行分段;[0011]提取分段后各個(gè)代碼段預(yù)設(shè)位置對(duì)應(yīng)的子代碼段;[0012]提取各個(gè)子代碼段的hash特征;[0013]根據(jù)各個(gè)子代碼段的hash特征生成特征代碼的hash特征。[0014]較佳的,所述預(yù)設(shè)位置,包括:[0015]從代碼段的開始位置,向后,長(zhǎng)度為預(yù)設(shè)的第一閾值的代碼區(qū)間;或[0016]從代碼段的結(jié)束位置,向前,長(zhǎng)度為預(yù)設(shè)的第二閾值的代碼區(qū)間;或[0017]從代碼段的中間位置,向前和向后,長(zhǎng)度均為預(yù)設(shè)的第三閾值的代碼區(qū)間。[0018]較佳的,在分析得知所述目標(biāo)PE文件包括多個(gè)代碼節(jié)的情況下,[0019]所述獲得所述源代碼中的特征代碼,包括:[0020]獲得所述源代碼中的一個(gè)或多個(gè)代碼節(jié)。[0021]較佳的,所述獲得所述源代碼中的一個(gè)代碼節(jié),包括:[0022]獲得所述源代碼中長(zhǎng)度最長(zhǎng)的代碼節(jié);或[0023]獲得所述源代碼中包含入口代碼的代碼節(jié)。[0024]為達(dá)到上述目的,本發(fā)明實(shí)施例公開了一種提取PE文件特征的裝置,所述裝置包括:[0025]特征代碼獲得模塊,用于對(duì)目標(biāo)PE文件的源代碼進(jìn)行分析,獲得所述源代碼中的特征代碼;所述特征代碼為以下幾種中任意一種或幾種的組合,目標(biāo)PE文件的代碼節(jié)、目標(biāo)PE文件的附加數(shù)據(jù)或目標(biāo)PE文件的資源節(jié);[0026]hash特征提取模塊,用于提取所述特征代碼的hash特征;[0027]PE文件特征生成模塊,用于根據(jù)所述特征代碼的hash特征生成目標(biāo)PE文件的特征,所述目標(biāo)PE文件的特征用于檢測(cè)所述目標(biāo)PE文件是否被病毒感染。[0028]較佳的,所述hash特征提取模塊,包括:特征代碼分段子模塊、子代碼段提取子模塊、子代碼段hash特征提取子模塊和hash特征生成子模塊;[0029]所述特征代碼分段子模塊,用于根據(jù)預(yù)設(shè)規(guī)則對(duì)特征代碼進(jìn)行分段;[0030]所述子代碼段提取子模塊,用于提取分段后各個(gè)代碼段預(yù)設(shè)位置對(duì)應(yīng)的子代碼段;[0031]所述子代碼段hash特征提取子模塊,用于提取各個(gè)子代碼段的hash特征;[0032]所述hash特征生成子模塊,用于根據(jù)各個(gè)子代碼段的hash特征生成特征代碼的hash特征。[0033]較佳的,所述子代碼段提取子模塊,具體用于提取分段后各個(gè)代碼段以下位置對(duì)應(yīng)的子代碼段,[0034]從代碼段的開始位置,向后,長(zhǎng)度為預(yù)設(shè)的第一閾值的代碼區(qū)間;或[0035]從代碼段的結(jié)束位置,向前,長(zhǎng)度為預(yù)設(shè)的第二閾值的代碼區(qū)間;或[0036]從代碼段的中間位置,向前和向后,長(zhǎng)度均為預(yù)設(shè)的第三閾值的代碼區(qū)間。[0037]較佳的,所述特征代碼獲得模塊,具體用于對(duì)目標(biāo)PE文件的源代碼進(jìn)行分析,在分析得知所述目標(biāo)PE文件的源代碼中包括多個(gè)代碼節(jié)的情況下,獲得所述源代碼中的一個(gè)或多個(gè)代碼節(jié)。[0038]較佳的,所述特征代碼獲得模塊,[0039]具體用于對(duì)目標(biāo)PE文件的源代碼進(jìn)行分析,獲得所述源代碼中長(zhǎng)度最長(zhǎng)的代碼節(jié);或[0040]具體用于對(duì)目標(biāo)PE文件的源代碼進(jìn)行分析,獲得所述源代碼中包含入口代碼的代碼節(jié)。[0041]由以上可見,本方案中,通過(guò)提取目標(biāo)PE文件特征代碼的hash特征來(lái)生成該目標(biāo)PE文件的特征,以使得殺毒軟件利用該目標(biāo)PE文件的特征檢測(cè)該目標(biāo)PE文件是否被計(jì)算機(jī)病毒感染。與現(xiàn)有技術(shù)相比,由于全文hash特征對(duì)數(shù)據(jù)比較敏感,改變文件中的一個(gè)字節(jié)即可引起全文hash特征的改變,而PE文件的特征代碼部分為PE文件的核心代碼,且不能夠被隨意修改,因此,用特征代碼的hash特征生成目標(biāo)PE文件的特征,可以使得殺毒軟件利用該特征進(jìn)行病毒檢測(cè)時(shí)不易被繞過(guò),且能夠提高殺毒軟件利用該特征進(jìn)行病毒檢測(cè)時(shí)的通用性,又由于本方案中只提取目標(biāo)PE文件的特征代碼的特征而非全文的特征,因此提高了提取目標(biāo)PE文件特征的速度?!緦@綀D】【附圖說(shuō)明】[0042]為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。[0043]圖1為本發(fā)明實(shí)施例提供的一種提取PE文件特征的方法的流程示意圖;[0044]圖2為本發(fā)明實(shí)施例提供的提取特征代碼的hash特征方法的流程示意圖;[0045]圖3為本發(fā)明實(shí)施例提供的一種病毒檢測(cè)方法的流程示意圖;[0046]圖4為本發(fā)明實(shí)施例提供的一種提取PE文件特征的裝置的結(jié)構(gòu)示意圖;[0047]圖5為本發(fā)明實(shí)施例提供的一種hash特征提取模塊的結(jié)構(gòu)示意圖?!揪唧w實(shí)施方式】[0048]現(xiàn)有技術(shù)中,常通過(guò)提取全文hash特征的方法獲得待檢測(cè)PE文件的特征,雖然全文hash特征能夠精確的描述待檢測(cè)PE文件的特征,但是其對(duì)數(shù)據(jù)比較敏感,殺毒軟件利用該特征進(jìn)行病毒檢測(cè)時(shí),通用性差且易被病毒繞過(guò),又由于提取全文hash特征時(shí),需覆蓋待檢測(cè)PE文件的所有字節(jié),因此該提取PE文件特征的方法速度慢。鑒于現(xiàn)有提取PE文件的方法中存在上述問(wèn)題,本發(fā)明實(shí)施例提供了一種提取PE文件特征的方法及裝置,以使得殺毒軟件利用該特征進(jìn)行病毒檢測(cè)時(shí)不易被繞過(guò),且提高利用該特征進(jìn)行病毒檢測(cè)時(shí)的通用性,及提取目標(biāo)PE文件特征的速度。[0049]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。[0050]圖1為本發(fā)明實(shí)施例提供的一種提取PE文件特征的方法的流程示意圖,該方法包括以下步驟:[0051]SlOl:對(duì)目標(biāo)PE文件的源代碼進(jìn)行分析,獲得所述源代碼中的特征代碼。[0052]其中,特征代碼可以包括:以下幾種中任意一種或幾種的組合,目標(biāo)PE文件的代碼節(jié)、目標(biāo)PE文件的附加數(shù)據(jù)或目標(biāo)PE文件的資源節(jié)等等,本申請(qǐng)不對(duì)目標(biāo)PE文件特征代碼的具體表現(xiàn)形式進(jìn)行限定,可以根據(jù)目標(biāo)PE文件的具體代碼結(jié)構(gòu)確定。[0053]實(shí)際應(yīng)用中,由于常用的PE文件的代碼節(jié)屬于PE文件的關(guān)鍵代碼,其被隨意修改后,很容易導(dǎo)致文件運(yùn)行錯(cuò)誤,所以,通常情況下,PE文件的代碼節(jié)部分不易被自動(dòng)化工具修改,可以選取代碼節(jié)作為PE文件的特征代碼。[0054]一個(gè)PE文件中可以包括一個(gè)代碼節(jié)也可以包括多個(gè)代碼節(jié),當(dāng)分析得知當(dāng)前PE文件包括多個(gè)代碼節(jié)時(shí),可以選取其中的一個(gè)或多個(gè)代碼節(jié)作為當(dāng)前目標(biāo)PE文件的特征代碼。當(dāng)當(dāng)前PE文件的源代碼中包括多個(gè)代碼節(jié),而只選取其中的一個(gè)代碼節(jié)作為特征代碼時(shí),可以選取各個(gè)代碼節(jié)中長(zhǎng)度最長(zhǎng)的代碼節(jié)作為特征代碼,也可以選取包含入口代碼的代碼節(jié)作為特征代碼。[0055]除了選取上述的一個(gè)或多個(gè)代碼節(jié)作為PE文件的特征代碼外,一個(gè)或多個(gè)代碼節(jié)還可以與PE文件的頭信息或附加數(shù)據(jù)組合作為PE文件的特征代碼。[0056]其中,附加數(shù)據(jù)是指PE文件的源代碼中最后一個(gè)節(jié)的末尾至文件末尾之間的區(qū)域?qū)?yīng)的數(shù)據(jù)。[0057]實(shí)際應(yīng)用中,還存在另外一種類型的PE文件,該類型的PE文件含有大量框架代碼,不同文件之間PE頭信息和所有節(jié)的數(shù)據(jù)幾乎一樣,但是其附加數(shù)據(jù)的內(nèi)容不同,例如:腳本驅(qū)動(dòng)類型的PE文件。這一類型的PE文件可以選取附加數(shù)據(jù)或者資源節(jié)或者兩者的組合等作為特征代碼。[0058]其中,資源節(jié)是指PE文件中用于存放外圍數(shù)據(jù)的節(jié)區(qū)域,例如,編譯器通常將PE文件的圖標(biāo)、版本信息、界面對(duì)話框等等信息存放于資源節(jié)區(qū)域內(nèi)。[0059]S102:提取所述特征代碼的hash特征。[0060]在本發(fā)明的一個(gè)具體實(shí)施例中,提供了一種提取所述特征代碼的hash特征的具體實(shí)現(xiàn)方式,圖2為本發(fā)明實(shí)施例提供的提取特征代碼的hash特征方法的流程示意圖,該方法包括以下步驟:[0061]S102A:根據(jù)預(yù)設(shè)規(guī)則對(duì)特征代碼進(jìn)行分段。[0062]上述的預(yù)設(shè)規(guī)則可以是從特征代碼的起始位置開始,按照固定值依次對(duì)特征代碼進(jìn)行分段,各段之間不重疊。例如:選取長(zhǎng)度為0x10000的代碼節(jié)作為特征代碼,則可以從特征代碼的起始位置開始,每0x1000長(zhǎng)度的代碼段為一段,將特征代碼分段,即:[0x0000,OxOFFF]、[0x1000,OxlFFF],[0x2000,0x2FFF]......[0063]上述的預(yù)設(shè)規(guī)則還可以是從特征代碼的起始位置開始,按照固定值依次對(duì)特征代碼進(jìn)行分段,各段之間部分重疊。例如:上述特征代碼按照該預(yù)設(shè)規(guī)則分段后各段的區(qū)間為:[0x0000,OxlOOF]、[0x0FF5,0x200F]......[0064]當(dāng)然,本申請(qǐng)只是以上述為例進(jìn)行說(shuō)明,實(shí)際應(yīng)用中預(yù)設(shè)規(guī)則的具體形式不僅限于此,例如:分段間隔還可以是非固定值等等。[0065]S102B:提取分段后各個(gè)代碼段預(yù)設(shè)位置對(duì)應(yīng)的子代碼段。[0066]其中,預(yù)設(shè)位置,可以是:[0067]從代碼段的開始位置,向后,長(zhǎng)度為預(yù)設(shè)的第一閾值的代碼區(qū)間;或[0068]從代碼段的結(jié)束位置,向前,長(zhǎng)度為預(yù)設(shè)的第二閾值的代碼區(qū)間;或[0069]從代碼段的中間位置,向前和向后,長(zhǎng)度均為預(yù)設(shè)的第三閾值的代碼區(qū)間等等。[0070]具體的,上述按照固定值對(duì)特征代碼分段,且各段之間不重疊的情況,可以選擇分段后各個(gè)代碼段的中間位置、長(zhǎng)度為0x100的代碼區(qū)間作為子代碼段。[0071]S102C:提取各個(gè)子代碼段的hash特征。[0072]S102D:根據(jù)各個(gè)子代碼段的hash特征生成特征代碼的hash特征。[0073]本步驟中,可以通過(guò)計(jì)算各個(gè)子代碼段的hash特征的hash特征,生成目標(biāo)PE文件的特征代碼的hash特征。[0074]S103:根據(jù)所述特征代碼的hash特征生成目標(biāo)PE文件的特征。[0075]由以上可見,本方案中,通過(guò)提取目標(biāo)PE文件特征代碼的hash特征來(lái)生成該目標(biāo)PE文件的特征,以使得殺毒軟件利用該目標(biāo)PE文件的特征檢測(cè)該目標(biāo)PE文件是否被計(jì)算機(jī)病毒感染。與現(xiàn)有技術(shù)相比,由于全文hash特征對(duì)數(shù)據(jù)比較敏感,改變文件中的一個(gè)字節(jié)即可引起全文hash特征的改變,而PE文件的特征代碼部分為PE文件的核心代碼,且不能夠被隨意修改,因此,用特征代碼的hash特征生成目標(biāo)PE文件的特征,可以使得殺毒軟件利用該特征進(jìn)行病毒檢測(cè)時(shí)不易被繞過(guò),且能夠提高殺毒軟件利用該特征進(jìn)行病毒檢測(cè)時(shí)的通用性,又由于本方案中只提取目標(biāo)PE文件的特征代碼的特征而非全文的特征,因此提高了提取目標(biāo)PE文件特征的速度。[0076]殺毒軟件進(jìn)行病毒檢測(cè)時(shí),首先需提取待檢測(cè)PE文件的特征,再根據(jù)所提取的特征對(duì)待檢測(cè)PE文件進(jìn)行病毒檢測(cè)。其中,提取待檢測(cè)PE文件的特征可以采用圖1所示實(shí)施例提供的提取PE文件特征的方法進(jìn)行。具體的,殺毒軟件進(jìn)行病毒檢測(cè),可以分為以下三種情況:[0077]第一種情況,待檢測(cè)PE文件存儲(chǔ)于客戶端,客戶端通過(guò)圖1所示實(shí)施例提供的提取PE文件特征的方法提取待檢測(cè)PE文件的特征,并將該特征與存儲(chǔ)于客戶端的預(yù)設(shè)的特征病毒庫(kù)匹配,進(jìn)行病毒檢測(cè);[0078]第二種情況,待檢測(cè)PE文件存儲(chǔ)于客戶端,客戶端通過(guò)圖1所示實(shí)施例提供的提取PE文件特征的方法提取待檢測(cè)PE文件的特征,并將該特征發(fā)送給服務(wù)器端,服務(wù)器端接收到該特征后,將該特征與存儲(chǔ)于服務(wù)器端的預(yù)設(shè)的特征病毒庫(kù)匹配,進(jìn)行病毒檢測(cè);[0079]第三種情況,待檢測(cè)PE文件存儲(chǔ)于服務(wù)器端,服務(wù)器端通過(guò)圖1所示實(shí)施例提供的提取PE文件特征的方法提取待檢測(cè)PE文件的特征,并將該特征與存儲(chǔ)于服務(wù)器端的預(yù)設(shè)的特征病毒庫(kù)匹配,進(jìn)行病毒檢測(cè)。[0080]其中,預(yù)設(shè)的特征病毒庫(kù)中的特征是通過(guò)圖1所示實(shí)施例提供的提取PE文件特征的方法提取樣本PE文件得到的。[0081]下面通過(guò)具體實(shí)施例進(jìn)行詳細(xì)說(shuō)明。[0082]圖3為本發(fā)明實(shí)施例提供的一種病毒檢測(cè)方法的流程示意圖,該方法包括:[0083]S301:確定待檢測(cè)PE文件的特征信息。[0084]實(shí)際應(yīng)用中,待檢測(cè)PE文件的特征信息可以是客戶端提取存儲(chǔ)于客戶端的待檢測(cè)PE文件的特征信息后,發(fā)送給服務(wù)器端的特征信息、服務(wù)器端提取的存儲(chǔ)于服務(wù)器端的待檢測(cè)PE文件的特征信息或客戶端提取的存儲(chǔ)于客戶端的待檢測(cè)PE文件的特征信息。其中,提取待檢測(cè)PE文件的特征信息可以通過(guò)圖1所示實(shí)施例提供的方法實(shí)現(xiàn)。[0085]待檢測(cè)PE文件的特征信息是指:待檢測(cè)PE文件的特征代碼對(duì)應(yīng)的特征信息。每一個(gè)待檢測(cè)PE文件的源代碼都可以按照各部分代碼的不同的功能劃分為不同的代碼段,其中,有些代碼段可以隨意修改而不會(huì)影響文件的正常運(yùn)行,而有些代碼段一旦修改即可導(dǎo)致文件運(yùn)行錯(cuò)誤。待檢測(cè)PE文件源代碼中修改后會(huì)導(dǎo)致文件運(yùn)行錯(cuò)誤的代碼段,稱為待檢測(cè)PE文件的特征代碼。[0086]具體的,待檢測(cè)PE文件的特征代碼可以是待檢測(cè)PE文件的代碼節(jié)、待檢測(cè)PE文件的附加數(shù)據(jù)或待檢測(cè)PE文件的資源節(jié)等等,也可以是上述幾種的任意組合。[0087]S302:將所述特征信息與預(yù)設(shè)的特征病毒庫(kù)中的特征進(jìn)行匹配,獲得第一匹配結(jié)果O[0088]通常情況下,預(yù)設(shè)的特征病毒庫(kù)中會(huì)包含多個(gè)已被病毒感染的樣本文件的特征信息,在S301確定待檢測(cè)PE文件的特征信息后,將該特征信息與預(yù)設(shè)的特征病毒庫(kù)中的特征逐個(gè)進(jìn)行匹配,若與該病毒庫(kù)中的任一特征相匹配,則說(shuō)明待檢測(cè)PE文件已被與待檢測(cè)PE文件的特征相匹配的特征對(duì)應(yīng)的病毒感染,否則,則說(shuō)明待檢測(cè)PE文件未被預(yù)設(shè)的特征病毒庫(kù)中特征對(duì)應(yīng)的病毒感染。[0089]其中,預(yù)設(shè)的特征病毒庫(kù)中的特征是通過(guò)圖1所示實(shí)施例提供的提取PE文件特征的方法提取樣本PE文件得到的。[0090]S103:根據(jù)第一匹配結(jié)果生成病毒檢測(cè)報(bào)告。[0091]本步驟中生成的病毒檢測(cè)報(bào)告中可以包括:待檢測(cè)PE文件是否已被病毒感染、已感染病毒的類型、對(duì)待檢測(cè)PE文件的處理建議等等,當(dāng)然,實(shí)際應(yīng)用中,病毒檢測(cè)報(bào)告所包括的內(nèi)容不僅限于上述幾種。[0092]由以上可見,本方案中,通過(guò)將待檢測(cè)PE文件的特征與預(yù)設(shè)的特征病毒庫(kù)中的特征相匹配的方法進(jìn)行病毒檢測(cè)。由于現(xiàn)有的全文hash特征匹配法中,全文hash特征對(duì)數(shù)據(jù)比較敏感,改變文件中的一個(gè)字節(jié)即可引起全文hash特征的改變,因此,全文hash特征通用性較弱,而應(yīng)用圖1所示實(shí)施例提供的提取PE文件特征的方法提取的待檢測(cè)PE文件的特征通用性較強(qiáng),用該特征進(jìn)行病毒檢測(cè),可以降低病毒檢測(cè)的誤報(bào)率。[0093]圖4為本發(fā)明實(shí)施例提供的一種提取PE文件特征的裝置的結(jié)構(gòu)示意圖,該裝置包括:特征代碼獲得模塊401、hash特征提取模塊402和PE文件特征生成模塊403。[0094]其中,特征代碼獲得模塊401,用于對(duì)目標(biāo)PE文件的源代碼進(jìn)行分析,獲得所述源代碼中的特征代碼;所述特征代碼為以下幾種中任意一種或幾種的組合,目標(biāo)PE文件的代碼節(jié)、目標(biāo)PE文件的附加數(shù)據(jù)或目標(biāo)PE文件的資源節(jié);[0095]hash特征提取模塊402,用于提取所述特征代碼的hash特征;[0096]PE文件特征生成模塊403,用于根據(jù)所述hash特征生成目標(biāo)PE文件的特征,所述目標(biāo)PE文件的特征用于檢測(cè)所述目標(biāo)PE文件是否被病毒感染。[0097]在本發(fā)明的一個(gè)具體實(shí)施例中,提供了一種hash特征提取模塊402的具體實(shí)現(xiàn)方式,圖5為本發(fā)明實(shí)施例提供的一種hash特征提取模塊的結(jié)構(gòu)示意圖,具體包括:特征代碼分段子模塊4021、子代碼段提取子模塊4022、子代碼段hash特征提取子模塊4023和hash特征生成子模塊4024。[0098]所述特征代碼分段子模塊4021,用于根據(jù)預(yù)設(shè)規(guī)則對(duì)特征代碼進(jìn)行分段;[0099]所述子代碼段提取子模塊4022,用于提取分段后各個(gè)代碼段預(yù)設(shè)位置對(duì)應(yīng)的子代碼段;[0100]所述子代碼段hash特征提取子模塊4023,用于提取各個(gè)子代碼段的hash特征;[0101]所述hash特征生成子模塊4024,用于根據(jù)各個(gè)子代碼段的hash特征生成特征代碼的hash特征。[0102]其中,所述子代碼段提取子模塊4022,可以具體用于提取分段后各個(gè)代碼段以下位置對(duì)應(yīng)的子代碼段,[0103]從代碼段的開始位置,向后,長(zhǎng)度為預(yù)設(shè)的第一閾值的代碼區(qū)間;或[0104]從代碼段的結(jié)束位置,向前,長(zhǎng)度為預(yù)設(shè)的第二閾值的代碼區(qū)間;或[0105]從代碼段的中間位置,向前和向后,長(zhǎng)度均為預(yù)設(shè)的第三閾值的代碼區(qū)間。[0106]本實(shí)施例中,所述特征代碼獲得模塊401,可以具體用于對(duì)目標(biāo)PE文件的源代碼進(jìn)行分析,在分析得知所述目標(biāo)PE文件的源代碼中包括多個(gè)代碼節(jié)的情況下,獲得所述源代碼中的一個(gè)或多個(gè)代碼節(jié)。[0107]本實(shí)施例中,所述特征代碼獲得模塊401,[0108]可以具體用于對(duì)目標(biāo)PE文件的源代碼進(jìn)行分析,獲得所述源代碼中長(zhǎng)度最長(zhǎng)的代碼節(jié);或[0109]可以具體用于對(duì)目標(biāo)PE文件的源代碼進(jìn)行分析,獲得所述源代碼中包含入口代碼的代碼節(jié)。[0110]由以上可見,本方案中,通過(guò)提取目標(biāo)PE文件特征代碼的hash特征來(lái)生成該目標(biāo)PE文件的特征,以使得殺毒軟件利用該目標(biāo)PE文件的特征檢測(cè)該目標(biāo)PE文件是否被計(jì)算機(jī)病毒感染。與現(xiàn)有技術(shù)相比,由于全文hash特征對(duì)數(shù)據(jù)比較敏感,改變文件中的一個(gè)字節(jié)即可引起全文hash特征的改變,而PE文件的特征代碼部分為PE文件的核心代碼,且不能夠被隨意修改,因此,用特征代碼的hash特征生成目標(biāo)PE文件的特征,可以使得殺毒軟件利用該特征進(jìn)行病毒檢測(cè)時(shí)不易被繞過(guò),且能夠提高殺毒軟件利用該特征進(jìn)行病毒檢測(cè)時(shí)的通用性,又由于本方案中只提取目標(biāo)PE文件的特征代碼的特征而非全文的特征,因此提高了提取目標(biāo)PE文件特征的速度。`[0111]對(duì)于裝置實(shí)施例而言,由于其基本相似于方法實(shí)施例,所以描述的比較簡(jiǎn)單,相關(guān)之處參見方法實(shí)施例的部分說(shuō)明即可。[0112]需要說(shuō)明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語(yǔ)僅僅用來(lái)將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開來(lái),而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語(yǔ)“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過(guò)程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒(méi)有明確列出的其他要素,或者是還包括為這種過(guò)程、方法、物品或者設(shè)備所固有的要素。在沒(méi)有更多限制的情況下,由語(yǔ)句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過(guò)程、方法、物品或者設(shè)備中還存在另外的相同要素。[0113]本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述方法實(shí)施方式中的全部或部分步驟是可以通過(guò)程序來(lái)指令相關(guān)的硬件來(lái)完成,所述的程序可以存儲(chǔ)于計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,這里所稱得的存儲(chǔ)介質(zhì),如:R0M/RAM、磁碟、光盤等。[0114]以上所述僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換、改進(jìn)等,均包含在本發(fā)明的保護(hù)范圍內(nèi)。【權(quán)利要求】1.一種提取PE文件特征的方法,其特征在于,所述方法包括:對(duì)目標(biāo)PE文件的源代碼進(jìn)行分析,獲得所述源代碼中的特征代碼;所述特征代碼為以下幾種中任意一種或幾種的組合,目標(biāo)PE文件的代碼節(jié)、目標(biāo)PE文件的附加數(shù)據(jù)或目標(biāo)PE文件的資源節(jié);提取所述特征代碼的hash特征;根據(jù)所述特征代碼的hash特征生成目標(biāo)PE文件的特征,所述目標(biāo)PE文件的特征用于檢測(cè)所述目標(biāo)PE文件是否被病毒感染。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述提取所述特征代碼的hash值,包括:根據(jù)預(yù)設(shè)規(guī)則對(duì)特征代碼進(jìn)行分段;提取分段后各個(gè)代碼段預(yù)設(shè)位置對(duì)應(yīng)的子代碼段;提取各個(gè)子代碼段的hash特征;根據(jù)各個(gè)子代碼段的hash特征生成特征代碼的hash特征。3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述預(yù)設(shè)位置,包括:從代碼段的開始位置,向后,長(zhǎng)度為預(yù)設(shè)的第一閾值的代碼區(qū)間;或從代碼段的結(jié)束位置,向前,長(zhǎng)度為預(yù)設(shè)的第二閾值的代碼區(qū)間;或從代碼段的中間位置,向前和向后`,長(zhǎng)度均為預(yù)設(shè)的第三閾值的代碼區(qū)間。4.根據(jù)權(quán)利要求1-3中任一項(xiàng)所述的方法,其特征在于,在分析得知所述目標(biāo)PE文件包括多個(gè)代碼節(jié)的情況下,所述獲得所述源代碼中的特征代碼,包括:獲得所述源代碼中的一個(gè)或多個(gè)代碼節(jié)。5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述獲得所述源代碼中的一個(gè)代碼節(jié),包括:獲得所述源代碼中長(zhǎng)度最長(zhǎng)的代碼節(jié);或獲得所述源代碼中包含入口代碼的代碼節(jié)。6.一種提取PE文件特征的裝置,其特征在于,所述裝置包括:特征代碼獲得模塊,用于對(duì)目標(biāo)PE文件的源代碼進(jìn)行分析,獲得所述源代碼中的特征代碼;所述特征代碼為以下幾種中任意一種或幾種的組合,目標(biāo)PE文件的代碼節(jié)、目標(biāo)PE文件的附加數(shù)據(jù)或目標(biāo)PE文件的資源節(jié);hash特征提取模塊,用于提取所述特征代碼的hash特征;PE文件特征生成模塊,用于根據(jù)所述特征代碼的hash特征生成目標(biāo)PE文件的特征,所述目標(biāo)PE文件的特征用于檢測(cè)所述目標(biāo)PE文件是否被病毒感染。7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述hash特征提取模塊,包括:特征代碼分段子模塊、子代碼段提取子模塊、子代碼段hash特征提取子模塊和hash特征生成子模塊;所述特征代碼分段子模塊,用于根據(jù)預(yù)設(shè)規(guī)則對(duì)特征代碼進(jìn)行分段;所述子代碼段提取子模塊,用于提取分段后各個(gè)代碼段預(yù)設(shè)位置對(duì)應(yīng)的子代碼段;所述子代碼段hash特征提取子模塊,用于提取各個(gè)子代碼段的hash特征;所述hash特征生成子模塊,用于根據(jù)各個(gè)子代碼段的hash特征生成特征代碼的hash特征。8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述子代碼段提取子模塊,具體用于提取分段后各個(gè)代碼段以下位置對(duì)應(yīng)的子代碼段,從代碼段的開始位置,向后,長(zhǎng)度為預(yù)設(shè)的第一閾值的代碼區(qū)間;或從代碼段的結(jié)束位置,向前,長(zhǎng)度為預(yù)設(shè)的第二閾值的代碼區(qū)間;或從代碼段的中間位置,向前和向后,長(zhǎng)度均為預(yù)設(shè)的第三閾值的代碼區(qū)間。9.根據(jù)權(quán)利要求6-8中任一項(xiàng)所述的裝置,其特征在于,所述特征代碼獲得模塊,具體用于對(duì)目標(biāo)PE文件的源代碼進(jìn)行分析,在分析得知所述目標(biāo)PE文件的源代碼中包括多個(gè)代碼節(jié)的情況下,獲得所述源代碼中的一個(gè)或多個(gè)代碼節(jié)。10.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述特征代碼獲得模塊,具體用于對(duì)目標(biāo)PE文件的源代碼進(jìn)行分析,獲得所述源代碼中長(zhǎng)度最長(zhǎng)的代碼節(jié);或具體用于對(duì)目標(biāo)PE文件的源代碼進(jìn)行分析,獲得所述源代碼中包含入口代碼的代碼節(jié)。`【文檔編號(hào)】G06F21/10GK103886229SQ201410086803【公開日】2014年6月25日申請(qǐng)日期:2014年3月10日優(yōu)先權(quán)日:2014年3月10日【發(fā)明者】王鑫,姚輝,劉桂峰申請(qǐng)人:珠海市君天電子科技有限公司
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1