病毒特征的提取方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及安全技術(shù)領(lǐng)域,具體涉及一種病毒特征的提取方法及裝置。
【背景技術(shù)】
[0002]作為一種特殊的數(shù)據(jù)信息,病毒特征是區(qū)分病毒文件、病毒感染文件和正常文件的關(guān)鍵,通常被記錄在病毒庫(kù)中。幾乎所有殺毒軟件都需要根據(jù)病毒庫(kù)中所記錄的病毒特征來(lái)判斷文件是否為病毒文件,以及文件是否已經(jīng)感染病毒。
[0003]現(xiàn)有技術(shù)中,病毒類別的劃分通常是按照通用的分類規(guī)則進(jìn)行的。比如名稱為“Trojan.Downloader_1420”的病毒中的前綴“Trojan”代表該病毒屬于木馬病毒,而“Downloader-1420”即該病毒與其他木馬病毒的區(qū)分標(biāo)識(shí)?;谙鄬?duì)固定的分類規(guī)則,現(xiàn)有技術(shù)就可以對(duì)不同類別的病毒分別進(jìn)行病毒特征的提取。
[0004]然而,相對(duì)固定的分類規(guī)則卻很容易導(dǎo)致病毒庫(kù)中信息的冗余。舉例來(lái)說(shuō),兩個(gè)相近病毒實(shí)際上具有共同的病毒特征,但在分類規(guī)則中出于某種原因而被歸為不同的類別,因而在病毒庫(kù)中各自以不同的病毒特征被分別記錄。病毒庫(kù)中信息的冗余會(huì)在病毒檢測(cè)過(guò)程中導(dǎo)致大量地重復(fù)性判斷,不利于病毒檢測(cè)效率的提升。
【發(fā)明內(nèi)容】
[0005]針對(duì)現(xiàn)有技術(shù)中的缺陷,本發(fā)明提供一種病毒特征的提取方法及裝置,可以解決現(xiàn)有技術(shù)中相對(duì)固定的分類規(guī)則很容易導(dǎo)致病毒庫(kù)中信息的冗余的問(wèn)題。
[0006]第一方面,本發(fā)明提供了一種病毒特征的提取裝置,包括:
[0007]獲取單元,用于獲取若干個(gè)病毒樣本;
[0008]分類單元,用于將所述獲取單元得到的若干個(gè)病毒樣本分為至少一個(gè)類別,以使屬于同一個(gè)類別的任意兩個(gè)病毒樣本的特征值之間的相似度大于等于一預(yù)設(shè)閾值;
[0009]提取單元,用于對(duì)于所述分類單元得到的每一類別,提取屬于該類別的所有病毒樣本的共同特征。
[0010]可選地,所述病毒樣本的特征值為該病毒樣本在文件格式下的模糊哈希特征值。
[0011]可選地,所述分類單元具體包括:
[0012]獲取模塊,用于獲取所述獲取單元得到的若干個(gè)病毒樣本的特征值,以組成特征值集合;
[0013]估計(jì)模塊,用于估計(jì)每一可用的計(jì)算設(shè)備的計(jì)算速度;
[0014]重復(fù)模塊,用于在所述特征值集合中任意兩個(gè)特征值之間的相似度小于預(yù)設(shè)閾值之前,重復(fù)地執(zhí)行下述步驟:
[0015]根據(jù)所述估計(jì)模塊得到的每一可用的計(jì)算設(shè)備的計(jì)算速度將所述特征值集合中的所有特征值分配給至少一個(gè)計(jì)算設(shè)備,以使所述至少一個(gè)計(jì)算設(shè)備在處理時(shí)間滿足預(yù)設(shè)條件的前提下對(duì)分配到的特征值進(jìn)行篩選,使得任意兩個(gè)特征值之間的相似度小于所述預(yù)設(shè)閾值。
[0016]可選地,所述估計(jì)模塊具體包括:
[0017]發(fā)送子模塊,用于將所述獲取單元得到的預(yù)設(shè)數(shù)量的特征值發(fā)送給任一可用的計(jì)算設(shè)備,以使該計(jì)算設(shè)備對(duì)所述預(yù)設(shè)數(shù)量的特征值進(jìn)行篩選,使得任意兩個(gè)特征值之間的相似度小于所述預(yù)設(shè)閾值;
[0018]獲取子模塊,用于獲取該計(jì)算設(shè)備的處理時(shí)間,以得到所述每一可用的計(jì)算設(shè)備的計(jì)算速度的估計(jì)值。
[0019]可選地,所述重復(fù)模塊具體包括:
[0020]確定子模塊,用于根據(jù)所述估計(jì)模塊得到的每一可用的計(jì)算設(shè)備的計(jì)算速度和所述預(yù)設(shè)條件確定分配給每一計(jì)算設(shè)備的特征值的數(shù)量;
[0021]發(fā)送子模塊,用于按照所述確定子模塊得到的特征值的數(shù)量將所述特征值集合中的所有特征值分發(fā)給至少一個(gè)計(jì)算設(shè)備,以使所述至少一個(gè)計(jì)算設(shè)備對(duì)分配到的特征值進(jìn)行篩選,使得任意兩個(gè)特征值之間的相似度小于所述預(yù)設(shè)閾值;
[0022]接收子模塊,用于接收來(lái)自所述至少一個(gè)計(jì)算設(shè)備的篩選后的特征值,以更新所述特征值集合。
[0023]可選地,所述對(duì)分配到的特征值進(jìn)行篩選,使得任意兩個(gè)特征值之間的相似度小于所述預(yù)設(shè)閾值,具體包括:
[0024]將一個(gè)特征值保留,并對(duì)其余的所有特征值依次執(zhí)行以下步驟:
[0025]判斷特征值是否與已保留的任一特征值之間的相似度大于等于所述預(yù)設(shè)閾值;
[0026]若是,則將該特征值去除;
[0027]若否,則將該特征值保留。
[0028]可選地,所述分類單元還包括:
[0029]發(fā)送模塊,用于將所有待聚類的樣本分為若干份,并與所述重復(fù)模塊得到的特征值集合一起分別發(fā)送給若干個(gè)計(jì)算設(shè)備,以使所述計(jì)算設(shè)備依次計(jì)算每一樣本的特征值與所述特征值集合中所有特征值的相似度,并將每一樣本標(biāo)記為與該樣本的特征值之間的相似度最大的特征值所對(duì)應(yīng)的類別;
[0030]接收模塊,用于接收來(lái)自所述若干個(gè)計(jì)算設(shè)備的每一樣本的類別標(biāo)記,以對(duì)所有待聚類的樣本進(jìn)行分類。
[0031]可選地,所述預(yù)設(shè)條件包括:
[0032]任一計(jì)算設(shè)備的所述處理時(shí)間小于第一預(yù)設(shè)值;
[0033]和/ 或,
[0034]所有計(jì)算設(shè)備的所述處理時(shí)間趨于一致;
[0035]和/ 或,
[0036]在所述特征值集合中的特征值數(shù)量大于第二預(yù)設(shè)值時(shí),任一所述計(jì)算設(shè)備的所述處理時(shí)間趨近于第三預(yù)設(shè)值。
[0037]第二方面,本發(fā)明還提供了一種病毒特征的提取方法,包括:
[0038]獲取若干個(gè)病毒樣本;
[0039]將所述若干個(gè)病毒樣本分為至少一個(gè)類別,以使屬于同一個(gè)類別的任意兩個(gè)病毒樣本的特征值之間的相似度大于等于一預(yù)設(shè)閾值;
[0040]對(duì)于每一類別,提取屬于該類別的所有病毒樣本的共同特征。
[0041]可選地,所述病毒樣本的特征值為該病毒樣本在文件格式下的模糊哈希特征值。
[0042]由上述技術(shù)方案可知,本發(fā)明結(jié)合聚類方法,在提取病毒特征之前先對(duì)所有病毒樣本進(jìn)行相似性的分類,從而可以避免相近類別的病毒被分別提取不同的病毒特征,因而本發(fā)明不僅可以解決現(xiàn)有技術(shù)中相對(duì)固定的分類規(guī)則很容易導(dǎo)致病毒庫(kù)中信息的冗余的問(wèn)題,大大降低病毒庫(kù)中的信息冗余,還可以有助于改進(jìn)病毒的分類機(jī)制,提升病毒檢測(cè)的準(zhǔn)確程度和檢測(cè)效率。
【附圖說(shuō)明】
[0043]為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡(jiǎn)單的介紹,顯而易見(jiàn)地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0044]圖1是本發(fā)明一個(gè)實(shí)施例中一種病毒特征的提取方法的步驟流程示意圖;
[0045]圖2是本發(fā)明一個(gè)實(shí)施例中一種對(duì)若干個(gè)病毒樣本進(jìn)行分類的步驟流程示意圖;
[0046]圖3是本發(fā)明一個(gè)實(shí)施例中一種進(jìn)行聚類計(jì)算的步驟流程示意圖;
[0047]圖4是本發(fā)明一個(gè)實(shí)施例中一種估計(jì)運(yùn)算速度的步驟流程示意圖;
[0048]圖5是本發(fā)明一個(gè)實(shí)施例中一種病毒特征的提取裝置的結(jié)構(gòu)框圖。
【具體實(shí)施方式】
[0049]為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(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]在本發(fā)明的描述中需要說(shuō)明的是,術(shù)語(yǔ)“上”、“下”等指示的方位或位置關(guān)系為基于附圖所示的方位或位置關(guān)系,僅是為了便于描述本發(fā)明和簡(jiǎn)化描述,而不是指示或暗示所指的裝置或元件必須具有特定的方位、以特定的方位構(gòu)造和操作,因此不能理解為對(duì)本發(fā)明的限制。除非另有明確的規(guī)定和限定,術(shù)語(yǔ)“安裝”、“相連”、“連接”應(yīng)做廣義理解,例如,可以是固定連接,也可以是可拆卸連接,或一體地連接;可以是機(jī)械連接,也可以是電連接;可以是直接相連,也可以通過(guò)中間媒介間接相連,可以是兩個(gè)元件內(nèi)部的連通。對(duì)于本領(lǐng)域的普通技術(shù)人員而言,可以根據(jù)具體情況理解上述術(shù)語(yǔ)在本發(fā)明中的具體含義。
[0051]圖1是本發(fā)明一個(gè)實(shí)施例中一種病毒特征的提取方法的步驟流程示意圖。參見(jiàn)圖1,該方法包括:
[0052]步驟101:獲取若干個(gè)病毒樣本;
[0053]步驟102:將上述若干個(gè)病毒樣本分為至少一個(gè)類別,以使屬于同一個(gè)類別的任意兩個(gè)病毒樣本的特征值之間的相似度大于等于一預(yù)設(shè)閾值;
[0054]步驟103:對(duì)于每一類別,提取屬于該類別的所有病毒樣本的共同特征。
[0055]應(yīng)理解的是,上述步驟101中獲取的病毒樣本可以具體是被認(rèn)定為是病毒文件或者被認(rèn)定為是被病毒感染的文件,而且數(shù)量可以非常龐大。還應(yīng)理解的是,本發(fā)明實(shí)施例中,類別的劃分基于每個(gè)待聚類的樣本的特征值及其之間的相似度。具體地,在本發(fā)明的不同實(shí)施例中,上述特征值可以具體為樣本的一種任意形式下的哈希值(把任意長(zhǎng)度的輸入通過(guò)一定的哈希算法變換成的固定長(zhǎng)度的輸出),比如分別對(duì)應(yīng)一種現(xiàn)有哈希算法的MD4值、MD5值、SHAl值、N-Hash值、RIPE-MD值或者HAVAL值等等;相應(yīng)的,特征值之間的相似度的計(jì)算可以通過(guò)比較兩個(gè)樣本的哈希值之間的差異程度來(lái)實(shí)現(xiàn),其是本領(lǐng)域技術(shù)人員所熟知的,在此不再贅述。
[0056]由此可見(jiàn),本發(fā)明實(shí)施例結(jié)合聚類方法,在提取病毒特征之前先對(duì)所有病毒樣本進(jìn)行相似性的分類,從而可以避免相近類別的病毒被