一種識別動態(tài)鏈接庫的方法及裝置制造方法
【專利摘要】本發(fā)明實施例公開了一種識別動態(tài)鏈接庫的方法及裝置,一種識別動態(tài)鏈接庫的方法,包括:提取待識別動態(tài)鏈接庫的導(dǎo)出函數(shù)名、文件大小以及文件信息熵;將待識別動態(tài)鏈接庫的導(dǎo)出函數(shù)名、文件特征值,分別與樣本動態(tài)鏈接庫的導(dǎo)出函數(shù)名、文件特征值進行比較,根據(jù)比較結(jié)果,判斷待識別動態(tài)鏈接庫與樣本動態(tài)鏈接庫是否一致,其中,待識別動態(tài)鏈接庫的文件特征值為待識別動態(tài)鏈接庫的文件大小與待識別動態(tài)鏈接庫的文件信息熵的乘積值,樣本動態(tài)鏈接庫的文件特征值為樣本動態(tài)鏈接庫的文件大小與樣本動態(tài)鏈接庫的文件信息熵的乘積值。與現(xiàn)有技術(shù)相比,用戶修改待識別動態(tài)鏈接庫的一個字符,本發(fā)明方法仍能識別出修改后的待識別動態(tài)鏈接庫的類型。
【專利說明】一種識別動態(tài)鏈接庫的方法及裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計算機安全【技術(shù)領(lǐng)域】,特別涉及一種識別動態(tài)鏈接庫的方法及裝置?!颈尘凹夹g(shù)】
[0002]動態(tài)鏈接庫是微軟公司在微軟視窗操作系統(tǒng)(即Windows操作系統(tǒng))中實現(xiàn)共享函數(shù)庫的一種方式。動態(tài)鏈接庫包含一定數(shù)目的代碼和數(shù)據(jù),多個程序可以同時使用動態(tài)鏈接庫中的代碼和數(shù)據(jù),以實現(xiàn)其相應(yīng)的功能。例如,一些大型網(wǎng)頁游戲在運行時,需要通過加載動態(tài)鏈接庫來實現(xiàn)背景音樂播放等功能。有時,在程序加載動態(tài)鏈接庫之前,用戶希望確定這個動態(tài)鏈接庫是否為該程序需要加載的目標(biāo)動態(tài)鏈接庫,以避免加載惡意動態(tài)鏈接庫。
[0003]目前,已經(jīng)存在一種識別動態(tài)鏈接庫的方法,該方法具體為:提取待識別動態(tài)鏈接庫的特征碼,將該特征碼與樣本動態(tài)鏈接庫的特征碼進行比較,依據(jù)比較結(jié)果,確定待識別動態(tài)鏈接庫的類型,其中,樣本動態(tài)鏈接庫可以為官方動態(tài)鏈接庫或惡意動態(tài)鏈接庫。例如,當(dāng)樣本動態(tài)鏈接庫為惡意動態(tài)鏈接庫時,首先,通過hash算法提取待識別動態(tài)鏈接庫的hash值,然后,將該hash值與惡意動態(tài)鏈接庫的hash值進行比較,如果待識別動態(tài)鏈接庫的hash值與惡意動態(tài)鏈接庫的hash值相同,則判斷該待識別動態(tài)鏈接庫為惡意動態(tài)鏈接庫。
[0004]然而,用戶修改待識別動態(tài)鏈接庫的一個字符,修改后的待識別動態(tài)鏈接庫的特征碼就會發(fā)生改變,因此很容易地繞過現(xiàn)有方法的識別。
【發(fā)明內(nèi)容】
[0005]為解決上述問題,本發(fā)明實施例公開了一種識別動態(tài)鏈接庫的方法及裝置,以達到有效識別動態(tài)鏈接庫類型的目的。具體技術(shù)方案如下:
[0006]一種識別動態(tài)鏈接庫的方法,該方法包括:
[0007]提取待識別動態(tài)鏈接庫的導(dǎo)出函數(shù)名、文件大小以及文件信息熵;
[0008]將所述待識別動態(tài)鏈接庫的導(dǎo)出函數(shù)名、文件特征值,分別與樣本動態(tài)鏈接庫的導(dǎo)出函數(shù)名、文件特征值進行比較,根據(jù)比較結(jié)果,判斷所述待識別動態(tài)鏈接庫與所述樣本動態(tài)鏈接庫是否一致,其中,所述待識別動態(tài)鏈接庫的文件特征值為所述待識別動態(tài)鏈接庫的文件大小與所述待識別動態(tài)鏈接庫的文件信息熵的乘積值,所述樣本動態(tài)鏈接庫的文件特征值為所述樣本動態(tài)鏈接庫的文件大小與所述樣本動態(tài)鏈接庫的文件信息熵的乘積值。
[0009]優(yōu)選的,所述將所述待識別動態(tài)鏈接庫的導(dǎo)出函數(shù)名、文件特征值,分別與樣本動態(tài)鏈接庫的導(dǎo)出函數(shù)名、文件特征值進行比較,根據(jù)比較結(jié)果,判斷所述待識別動態(tài)鏈接庫與所述樣本動態(tài)鏈接庫是否一致,具體包括:
[0010]將所述待識別動態(tài)鏈接庫的導(dǎo)出函數(shù)名與樣本動態(tài)鏈接庫的導(dǎo)出函數(shù)名進行比較;[0011]若所述待識別動態(tài)鏈接庫的導(dǎo)出函數(shù)名與所述樣本動態(tài)鏈接庫的導(dǎo)出函數(shù)名相同,則進一步將所述待識別動態(tài)鏈接庫的文件特征值與所述樣本動態(tài)鏈接庫的文件特征值進行比較;
[0012]若所述待識別動態(tài)鏈接庫的文件特征值與所述樣本動態(tài)鏈接庫的文件特征值的近似度符合預(yù)設(shè)范圍,則判斷所述待識別動態(tài)鏈接庫與所述樣本動態(tài)鏈接庫一致。
[0013]優(yōu)選的,所述將所述待識別動態(tài)鏈接庫的導(dǎo)出函數(shù)名、文件特征值,分別與樣本動態(tài)鏈接庫的導(dǎo)出函數(shù)名、文件特征值進行比較,根據(jù)比較結(jié)果,判斷所述待識別動態(tài)鏈接庫與所述樣本動態(tài)鏈接庫是否一致,具體包括:
[0014]將所述待識別動態(tài)鏈接庫的文件特征值與樣本動態(tài)鏈接庫的文件特征值進行比較;
[0015]若所述待識別動態(tài)鏈接庫的文件特征值與所述樣本動態(tài)鏈接庫的文件特征值的近似度符合預(yù)設(shè)范圍,則進一步將所述待識別動態(tài)鏈接庫的導(dǎo)出函數(shù)名與所述樣本動態(tài)鏈接庫的導(dǎo)出函數(shù)名進行比較;
[0016]若所述待識別動態(tài)鏈接庫的導(dǎo)出函數(shù)名與所述樣本動態(tài)鏈接庫的導(dǎo)出函數(shù)名相同,則判斷所述待識別動態(tài)鏈接庫與所述樣本動態(tài)鏈接庫一致。
[0017]優(yōu)選的,所述樣本動態(tài)鏈接庫為惡意動態(tài)鏈接庫。
[0018]優(yōu)選的,所述樣本動態(tài)鏈接庫為官方動態(tài)鏈接庫。
[0019]優(yōu)選的,所述待識別的動態(tài)鏈接庫為用戶提交的動態(tài)鏈接庫,所述樣本動態(tài)鏈接庫為官方動態(tài)鏈接庫;該方法還包括:
[0020]判斷出所述待識別動態(tài)鏈接庫與所述官方動態(tài)鏈接庫不一致后,向用戶提供獲取該官方動態(tài)鏈接庫的快捷方式。
[0021]一種識別動態(tài)鏈接庫的裝置,該裝置包括:
[0022]信息提取模塊,用于提取待識別動態(tài)鏈接庫的導(dǎo)出函數(shù)名、文件大小以及文件信息摘;
[0023]判斷模塊,用于將所述待識別動態(tài)鏈接庫的導(dǎo)出函數(shù)名、文件特征值,分別與樣本動態(tài)鏈接庫的導(dǎo)出函數(shù)名、文件特征值進行比較,根據(jù)比較結(jié)果,判斷所述待識別動態(tài)鏈接庫與所述樣本動態(tài)鏈接庫是否一致,其中,所述待識別動態(tài)鏈接庫的文件特征值為所述待識別動態(tài)鏈接庫的文件大小與所述待識別動態(tài)鏈接庫的文件信息熵的乘積值,所述樣本動態(tài)鏈接庫的文件特征值為所述樣本動態(tài)鏈接庫的文件大小與所述樣本動態(tài)鏈接庫的文件信息熵的乘積值。
[0024]優(yōu)選的,所述判斷模塊,包括:
[0025]第一比較子模塊,用于將所述待識別動態(tài)鏈接庫的導(dǎo)出函數(shù)名與樣本動態(tài)鏈接庫的導(dǎo)出函數(shù)名進行比較;
[0026]第二比較子模塊,用于在所述待識別動態(tài)鏈接庫的導(dǎo)出函數(shù)名與所述樣本動態(tài)鏈接庫的導(dǎo)出函數(shù)名相同的情況下,進一步將所述待識別動態(tài)鏈接庫的文件特征值與所述樣本動態(tài)鏈接庫的文件特征值進行比較;
[0027]第一判斷子模塊,用于在所述待識別動態(tài)鏈接庫的文件特征值與所述樣本動態(tài)鏈接庫的文件特征值的近似度符合預(yù)設(shè)范圍的情況下,判斷所述待識別動態(tài)鏈接庫與所述樣本動態(tài)鏈接庫一致。[0028]優(yōu)選的,所述判斷模塊,包括:
[0029]第三比較子模塊,用于將所述待識別動態(tài)鏈接庫的文件特征值與樣本動態(tài)鏈接庫的文件特征值進行比較;
[0030]第四比較子模塊,用于在所述待識別動態(tài)鏈接庫的文件特征值與所述樣本動態(tài)鏈接庫的文件特征值的近似度符合預(yù)設(shè)范圍的情況下,進一步將所述待識別動態(tài)鏈接庫的導(dǎo)出函數(shù)名與所述樣本動態(tài)鏈接庫的導(dǎo)出函數(shù)名進行比較;
[0031]第二判斷子模塊,用于在所述待識別動態(tài)鏈接庫的導(dǎo)出函數(shù)名與所述樣本動態(tài)鏈接庫的導(dǎo)出函數(shù)名相同的情況下,判斷所述待識別動態(tài)鏈接庫與所述樣本動態(tài)鏈接庫一致。
[0032]優(yōu)選的,所述樣本動態(tài)鏈接庫為惡意動態(tài)鏈接庫。
[0033]優(yōu)選的,所述樣本動態(tài)鏈接庫為官方動態(tài)鏈接庫。
[0034]優(yōu)選的,所述待識別的動態(tài)鏈接庫為用戶提交的動態(tài)鏈接庫,所述樣本動態(tài)鏈接庫為官方動態(tài)鏈接庫;該裝置還包括:
[0035]推送模塊,用于在所述判斷模塊判斷出所述待識別動態(tài)鏈接庫與所述官方動態(tài)鏈接庫不一致后,向用戶提供獲取該官方動態(tài)鏈接庫的快捷方式。
[0036]上述技術(shù)方案中,通過將待識別動態(tài)鏈接庫的導(dǎo)出函數(shù)名、文件特征值,分別與樣本動態(tài)鏈接庫的導(dǎo)出函數(shù)名、文件特征值進行比較,根據(jù)比較結(jié)果,以達到判斷所述待識別動態(tài)鏈接庫與所述樣本動態(tài)鏈接庫是否一致的目的。
[0037]與現(xiàn)有技術(shù)相比,用戶修改待識別動態(tài)鏈接庫的一個字符,修改后的待識別動態(tài)鏈接庫的導(dǎo)出函數(shù)名,以及文件特征值并不會同時改變,本發(fā)明方法仍能識別出修改后的待識別動態(tài)鏈接庫的類型。
【專利附圖】
【附圖說明】
[0038]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0039]圖1為本發(fā)明實施例提供的識別動態(tài)鏈接庫的方法的第一種流程圖;
[0040]圖2為本發(fā)明實施例提供的識別動態(tài)鏈接庫的方法的第二種流程圖;
[0041]圖3為本發(fā)明實施例提供的識別動態(tài)鏈接庫的方法的第三種流程圖;
[0042]圖4為本發(fā)明實施例提供的識別動態(tài)鏈接庫的方法的第四種流程圖;
[0043]圖5為本發(fā)明實施例提供的一種識別動態(tài)鏈接庫的裝置的結(jié)構(gòu)示意圖;
[0044]圖6為本發(fā)明實施例提供的判斷模塊的一種結(jié)構(gòu)示意圖;
[0045]圖7為本發(fā)明實施例提供的判斷模塊的另一種結(jié)構(gòu)示意圖;
[0046]圖8為本發(fā)明實施例提供的另一種識別動態(tài)鏈接庫的裝置的結(jié)構(gòu)示意圖。
【具體實施方式】
[0047]下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0048]現(xiàn)有技術(shù)中,識別動態(tài)鏈接庫的方法為:提取待識別動態(tài)鏈接庫的特征碼,將該特征碼與樣本動態(tài)鏈接庫的特征碼進行比較,依據(jù)比較結(jié)果,確定待識別動態(tài)鏈接庫的類型。然而,用戶修改待識別動態(tài)鏈接庫的一個字符,修改后的待識別動態(tài)鏈接庫的特征碼就會發(fā)生改變,該修改后的待識別動態(tài)鏈接庫就能很容易地繞過現(xiàn)有方法的檢測。為此,本發(fā)明提出了一種識別動態(tài)鏈接庫的方法及裝置。
[0049]下面通過具體實施例,對本發(fā)明進行詳細說明。
[0050]圖1為本發(fā)明實施例提供的識別動態(tài)鏈接庫的方法的第一種流程圖,該方法包括以下步驟:
[0051]SlOl:提取待識別動態(tài)鏈接庫的導(dǎo)出函數(shù)名、文件大小以及文件信息熵;
[0052]其中,動態(tài)鏈接庫是一個包含一定數(shù)目的代碼和數(shù)據(jù)的庫,多個程序可以同時使用該庫中的代碼和數(shù)據(jù);它是實現(xiàn)代碼和數(shù)據(jù)共享的一種方式;
[0053]導(dǎo)出函數(shù)是目標(biāo)動態(tài)鏈接庫的執(zhí)行入口標(biāo)識,程序可以根據(jù)該標(biāo)識獲取該目標(biāo)動態(tài)鏈接庫內(nèi)的代碼和數(shù)據(jù);
[0054]文件信息熵表征文件的字節(jié)碼的混亂程度或者文件可被壓縮的壓縮比,文件信息熵的數(shù)值越大,表明文件的字節(jié)越混亂,或者文件能被壓縮的程度越低;文件信息熵是0-1之間的數(shù)字,不能為O或1,它是一個沒有單位的數(shù)值。
[0055]可以理解的是,不同類型的動態(tài)鏈接庫具有不同的導(dǎo)出函數(shù)、文件大小以及文件信息熵,例如,動態(tài)鏈接庫0000D260NetDll.dll含有導(dǎo)出函數(shù)名為GetVTable、GetDllVersion>DestroyNetFactory>CreateNetFactory 的 4 個導(dǎo)出函數(shù),該動態(tài)鏈接庫的文件大小為80.0KB (81.931bytes),該動態(tài)鏈接庫的文件信息熵為0.618211。
[0056]另外需要說明的是,本發(fā)明實施例可以采用現(xiàn)有技術(shù)中任意一種能達到提取動態(tài)鏈接庫的導(dǎo)出函數(shù)名、文件大小以及文件信息熵的目的的方法,本發(fā)明實施例對此不進行具體限制。
[0057]S102:將所述待識別動態(tài)鏈接庫的導(dǎo)出函數(shù)名、文件特征值,分別與樣本動態(tài)鏈接庫的導(dǎo)出函數(shù)名、文件特征值進行比較,根據(jù)比較結(jié)果,判斷所述待識別動態(tài)鏈接庫與所述樣本動態(tài)鏈接庫是否一致;
[0058]其中,所述待識別動態(tài)鏈接庫的文件特征值為所述待識別動態(tài)鏈接庫的文件大小與所述待識別動態(tài)鏈接庫的文件信息熵的乘積值,所述樣本動態(tài)鏈接庫的文件特征值為所述樣本動態(tài)鏈接庫的文件大小與所述樣本動態(tài)鏈接庫的文件信息熵的乘積值。
[0059]可以理解的是,由于動態(tài)鏈接庫的文件信息熵是一個沒有單位的數(shù)值,文件信息熵與文件大小的乘積值也沒有數(shù)值單位上的意義。
[0060]在本實施例中,仍以動態(tài)鏈接庫0000D260NetDll.dll為例進行說明,已知它的導(dǎo)出函數(shù)有 GetVTable、GetDllVersion、DestroyNetFactory、CreateNetFactory,文件大小為80.0KB (81,931bytes),文件信息熵為 0.618211,文件特征值 50650.645441 (81931 乘以0.618211)。
[0061]本發(fā)明實施例提供的判斷模塊,根據(jù)待識別動態(tài)鏈接庫中的導(dǎo)出函數(shù)是否也為GetVTable、GetDllVersion、DestroyNetFactory、CreateNetFactory,文件特征值是否也為50650.645441,來判斷待識別的動態(tài)鏈接庫與動態(tài)鏈接庫0000D260NetDll.dll是不是同
一類型。
[0062]可以理解的是,在本發(fā)明實施例中,樣本動態(tài)鏈接庫可以為官方動態(tài)鏈接庫,也可以為惡意動態(tài)鏈接庫,本發(fā)明實施例對此不做具體限制。其中,官方動態(tài)鏈接庫是從目標(biāo)軟件的官方網(wǎng)站上獲取到的文件,惡意動態(tài)鏈接庫是被惡意利用的、與官方動態(tài)鏈接庫名相同的、但沒有官方動態(tài)鏈接庫的功能的文件。
[0063]上述實施例的方案并沒有對導(dǎo)出函數(shù)名、文件特征值的比較順序做出具體限制。在實際應(yīng)用中,可以對比較順序進行細化,鑒于此,本發(fā)明實施例提供了另一種識別動態(tài)鏈接庫的方法,如圖2所示,該方法可以包括以下步驟:
[0064]S201,提取待識別動態(tài)鏈接庫的導(dǎo)出函數(shù)名、文件大小以及文件信息熵。
[0065]S202,比較待識別動態(tài)鏈接庫文件特征值與樣本動態(tài)鏈接庫文件特征值的近似度是否符合預(yù)設(shè)范圍;
[0066]如果是,則轉(zhuǎn)到S203 ;否則,轉(zhuǎn)到S205。
[0067]S203,比較待識別動態(tài)鏈接庫導(dǎo)出函數(shù)名與樣本動態(tài)鏈接庫導(dǎo)出函數(shù)名是否相同;
[0068]如果是,則轉(zhuǎn)到S204 ;否則,轉(zhuǎn)到S205。
[0069]S204,判斷待識別動態(tài)鏈接庫與樣本動態(tài)鏈接庫一致。
[0070]S205,判斷待識別動態(tài)鏈接庫與樣本動態(tài)鏈接庫不一致。
[0071]本實施例中的S201與前一實施例中的SlOl相同,在這里,不再贅述。本實施例對導(dǎo)出函數(shù)名、文件特征值的比較順序做了具體限制,即先比較文件特征值,再比較導(dǎo)出函數(shù)名。
[0072]可以理解的是,文件特征值和導(dǎo)出函數(shù)名只要有一項不一致,則待識別動態(tài)鏈接庫與樣本動態(tài)鏈接庫的類型就不一致。
[0073]另外需要說明的是,所述待識別動態(tài)鏈接庫文件特征值與樣本動態(tài)鏈接庫文件特征值的近似度可以通過計算兩者的差值或比值來獲得;通常情況下,依據(jù)經(jīng)驗值,預(yù)設(shè)范圍設(shè)置為低于或高于對比文件的10%的范圍;另外還可以根據(jù)實際需要,對預(yù)設(shè)范圍進行設(shè)定,本發(fā)明實施例對此不進行具體限制。
[0074]然而在實際應(yīng)用中,考慮到識別效率的問題,本發(fā)明實施例提供了另一種識別動態(tài)鏈接庫的方法,如圖3所示,該方法可以包括以下步驟:
[0075]S301,提取待識別動態(tài)鏈接庫的導(dǎo)出函數(shù)名、文件大小以及文件信息熵。
[0076]S302,比較待識別動態(tài)鏈接庫導(dǎo)出函數(shù)名與樣本動態(tài)鏈接庫導(dǎo)出函數(shù)名是否相同;
[0077]如果是,則轉(zhuǎn)到S303 ;否則,轉(zhuǎn)到S305。
[0078]S303,比較待識別動態(tài)鏈接庫文件特征值與樣本動態(tài)鏈接庫文件特征值的近似值是否符合預(yù)設(shè)范圍;
[0079]如果是,則轉(zhuǎn)到S304 ;否則,轉(zhuǎn)到S305。
[0080]S304,判斷待識別動態(tài)鏈接庫與樣本動態(tài)鏈接庫一致。
[0081]S305,判斷待識別動態(tài)鏈接庫與樣本動態(tài)鏈接庫不一致。
[0082]本實施例中的S301與前一實施例中的S201相同,在這里不再贅述。本實施例對導(dǎo)出函數(shù)名、文件特征值的比較順序做了具體限制,即先比較導(dǎo)出函數(shù)名,再比較文件特征值。
[0083]可以理解的是,相比于從動態(tài)鏈接庫中提取文件信息熵的繁瑣,對導(dǎo)出函數(shù)名的提取更容易,導(dǎo)出函數(shù)名的比較也更為直觀,如果導(dǎo)出函數(shù)名不一致,則直接可以判斷待識別的動態(tài)鏈接庫與樣本動態(tài)鏈接庫不一致,省去了提取文件信息熵的繁瑣步驟。
[0084]在待識別動態(tài)鏈接庫為用戶提交的動態(tài)鏈接庫,樣本動態(tài)鏈接庫為官方動態(tài)鏈接庫的情況下,本發(fā)明實施例提供了另一種識別動態(tài)鏈接庫的方法,如圖4所示,該方法可以包括:
[0085]S401,提取待識別動態(tài)鏈接庫的導(dǎo)出函數(shù)名、文件大小及文件信息熵。
[0086]S402,比較待識別動態(tài)鏈接庫導(dǎo)出函數(shù)名與官方動態(tài)鏈接庫導(dǎo)出函數(shù)名是否相同,兩庫文件特征值的近似度是否符合預(yù)設(shè)范圍;
[0087]如果待識別動態(tài)鏈接庫導(dǎo)出函數(shù)名與官方動態(tài)鏈接庫導(dǎo)出函數(shù)名是相同,且兩庫文件特征值的近似度是符合預(yù)設(shè)范圍,則轉(zhuǎn)到S404 ;否則,轉(zhuǎn)到S403。
[0088]S403,向用戶提供獲取該官方動態(tài)鏈接庫的快捷方式。
[0089]S404,判斷待識別動態(tài)鏈接庫與樣本動態(tài)鏈接庫一致。
[0090]本實施例中的S401與前面實施例中的SlOl相同,在這里不再贅述。在S402中,待識別動態(tài)鏈接庫導(dǎo)出函數(shù)名、文件特征值與官方動態(tài)鏈接庫導(dǎo)出函數(shù)名、文件特征值的比較,可以按照前面實施例中的S202、S203的順序進行比較,也可以按照前面實施例中的S302、S303的順序進行比較。在新增的S403中,在用戶提交的動態(tài)鏈接庫與官方動態(tài)鏈接庫不一致之后,可以提供給用戶獲取該官方動態(tài)鏈接庫的快捷方式,用戶可以根據(jù)實際需要選擇是否獲取該庫。需要說明的是,這里的快捷方式可以是網(wǎng)址鏈接,也可以是該官方鏈接庫文件,本實施例對此不做具體限制。
[0091]可以理解的是,官方動態(tài)鏈接庫是安全的,當(dāng)待識別的動態(tài)鏈接庫與官方動態(tài)鏈接庫不同時,該待識別的動態(tài)鏈接庫可能存在安全隱患,考慮到安全性,可以向用戶提供獲取官方動態(tài)鏈接庫的快捷方式。
[0092]由此可見,本實施例中,在待識別動態(tài)鏈接庫為用戶提交的動態(tài)鏈接庫,樣本動態(tài)鏈接庫為官方動態(tài)鏈接庫的情況下,當(dāng)待識別的動態(tài)鏈接庫與官方動態(tài)鏈接庫不一致后,向用戶提供獲取官方動態(tài)鏈接庫的快捷方式,用戶可以根據(jù)該快捷方式獲取安全的動態(tài)鏈接庫,提高了安全性。
[0093]相應(yīng)于上面的方法實施例,本發(fā)明還提供一種識別動態(tài)鏈接庫的裝置,參見圖5所示,該裝置可以包括:
[0094]信息提取模塊501,用于提取待識別動態(tài)鏈接庫的導(dǎo)出函數(shù)名、文件大小以及文件
信息熵;
[0095]判斷模塊502,用于將所述待識別動態(tài)鏈接庫的導(dǎo)出函數(shù)名、文件特征值,分別與樣本動態(tài)鏈接庫的導(dǎo)出函數(shù)名、文件特征值進行比較,根據(jù)比較結(jié)果,判斷所述待識別動態(tài)鏈接庫與所述樣本動態(tài)鏈接庫是否一致;
[0096]其中,所述樣本動態(tài)鏈接庫的文件特征值為所述樣本動態(tài)鏈接庫的文件大小與所述樣本動態(tài)鏈接庫的文件信息熵的乘積值,所述樣本動態(tài)鏈接庫的文件特征值為所述樣本動態(tài)鏈接庫的文件大小與所述樣本動態(tài)鏈接庫的文件信息熵的乘積值。[0097]本發(fā)明實施例提供的另一種識別動態(tài)鏈接庫的裝置,如圖6所示,所述識別模塊502可以包括:
[0098]第一比較子模塊502a,用于將所述待識別動態(tài)鏈接庫導(dǎo)出函數(shù)名與樣本動態(tài)鏈接庫的導(dǎo)出函數(shù)名進行比較;
[0099]第二比較子模塊502b,用于在所述待識別動態(tài)鏈接庫的導(dǎo)出函數(shù)名與樣本動態(tài)鏈接庫的導(dǎo)出函數(shù)名相同的情況下,進一步將所述待識別動態(tài)鏈接庫的文件特征值與所述樣本動態(tài)鏈接庫的文件特征值進行比較;
[0100]第一判斷子模塊502c,用于在所述待識別動態(tài)鏈接庫的文件特征值與所述樣本動態(tài)鏈接庫的文件特征值的近似度符合預(yù)設(shè)范圍的情況下,判斷所述待識別動態(tài)鏈接庫與所述樣本動態(tài)鏈接庫一致。
[0101]需要說明的是,所述待識別動態(tài)鏈接庫文件特征值與樣本動態(tài)鏈接庫文件特征值的近似度可以通過計算兩者的差值或比值來獲得;通常情況下,依據(jù)經(jīng)驗值,預(yù)設(shè)范圍設(shè)置為低于或高于對比文件的10%的范圍;另外還可以根據(jù)實際需要,對預(yù)設(shè)范圍進行設(shè)定,本發(fā)明實施例對此不進行具體限制。
[0102]本發(fā)明實施例還提供了另一種識別動態(tài)鏈接庫的裝置,如圖7所示,所述識別模塊502可以包括:
[0103]第三比較子模塊502c,用于將所述待識別動態(tài)鏈接庫的文件特征值,與樣本動態(tài)鏈接庫的文件特征值進行比較;
[0104]第四比較子模塊502d,用于在所述待識別動態(tài)鏈接庫的文件特征值與所述樣本動態(tài)鏈接庫的文件特征值的近似度符合預(yù)設(shè)范圍的情況下,進一步將所述待識別動態(tài)鏈接庫的導(dǎo)出函數(shù)名與所述樣本動態(tài)鏈接庫的導(dǎo)出函數(shù)名進行比較;
[0105]第二判斷子模塊502e,用于在所述待識別動態(tài)鏈接庫的導(dǎo)出函數(shù)名與所述樣本動態(tài)鏈接庫的導(dǎo)出函數(shù)名相同的情況下,判斷所述待識別動態(tài)鏈接庫與所述樣本動態(tài)鏈接庫—致。
[0106]在待識別動態(tài)鏈接庫為用戶提交的動態(tài)鏈接庫,樣本動態(tài)鏈接庫為官方動態(tài)鏈接庫的情況下,本發(fā)明實施例還提供了另一種識別動態(tài)鏈接庫的裝置,如圖8所示,該裝置可以包括:
[0107]信息提取模塊501、判斷模塊502,以及推送模塊503 ;
[0108]其中,推送模塊503,用于在判斷出所述待識別動態(tài)鏈接庫與所述官方動態(tài)鏈接庫不一致后,向用戶提供獲取該官方動態(tài)鏈接庫的快捷方式。
[0109]本實施例中的信息提取模塊501、判斷模塊502與第一個裝置實施例中的信息提取模塊501、判斷模塊502相同,這里不再贅述。
[0110]本實施例中,在待識別動態(tài)鏈接庫為用戶提交的動態(tài)鏈接庫、樣本動態(tài)鏈接庫為官方動態(tài)鏈接庫的情況下,當(dāng)判斷待識別動態(tài)鏈接庫與官方動態(tài)鏈接庫不一致后,向用戶提供獲取該官方動態(tài)鏈接庫的快捷方式,用戶可以根據(jù)該快捷方式獲取安全的動態(tài)鏈接庫,提聞了安全性。
[0111]為了描述的方便,描述以上裝置時以功能分為各種單元分別描述。當(dāng)然,在實施本發(fā)明時可以把各單元的功能在同一個或多個軟件和/或硬件中實現(xiàn)。
[0112]需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。
[0113]本說明書中的各個實施例均采用相關(guān)的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對于裝置實施例而言,由于其基本相似于方法實施例,所以描述的比較簡單,相關(guān)之處參見方法實施例的部分說明即可。
[0114]本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述方法實施方式中的全部或部分步驟是可以通過程序來指令相關(guān)的硬件來完成,所述的程序可以存儲于計算機可讀取存儲介質(zhì)中,這里所稱得的存儲介質(zhì),如:R0M/RAM、磁碟、光盤等。
[0115]以上所述僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護范圍。凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換、改進等,均包含在本發(fā)明的保護范圍內(nèi)。`
【權(quán)利要求】
1.一種識別動態(tài)鏈接庫的方法,其特征在于,該方法包括: 提取待識別動態(tài)鏈接庫的導(dǎo)出函數(shù)名、文件大小以及文件信息熵; 將所述待識別動態(tài)鏈接庫的導(dǎo)出函數(shù)名、文件特征值,分別與樣本動態(tài)鏈接庫的導(dǎo)出函數(shù)名、文件特征值進行比較,根據(jù)比較結(jié)果,判斷所述待識別動態(tài)鏈接庫與所述樣本動態(tài)鏈接庫是否一致,其中,所述待識別動態(tài)鏈接庫的文件特征值為所述待識別動態(tài)鏈接庫的文件大小與所述待識別動態(tài)鏈接庫的文件信息熵的乘積值,所述樣本動態(tài)鏈接庫的文件特征值為所述樣本動態(tài)鏈接庫的文件大小與所述樣本動態(tài)鏈接庫的文件信息熵的乘積值。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述將所述待識別動態(tài)鏈接庫的導(dǎo)出函數(shù)名、文件特征值,分別與樣本動態(tài)鏈接庫的導(dǎo)出函數(shù)名、文件特征值進行比較,根據(jù)比較結(jié)果,判斷所述待識別動態(tài)鏈接庫與所述樣本動態(tài)鏈接庫是否一致,具體包括: 將所述待識別動態(tài)鏈接庫的導(dǎo)出函數(shù)名與樣本動態(tài)鏈接庫的導(dǎo)出函數(shù)名進行比較; 若所述待識別動態(tài)鏈接庫的導(dǎo)出函數(shù)名與所述樣本動態(tài)鏈接庫的導(dǎo)出函數(shù)名相同,則進一步將所述待識別動態(tài)鏈接庫的文件特征值與所述樣本動態(tài)鏈接庫的文件特征值進行比較; 若所述待識別動態(tài)鏈接庫的文件特征值與所述樣本動態(tài)鏈接庫的文件特征值的近似度符合預(yù)設(shè)范圍,則判斷所述待識別動態(tài)鏈接庫與所述樣本動態(tài)鏈接庫一致。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述將所述待識別動態(tài)鏈接庫的導(dǎo)出函數(shù)名、文件特征值,分別與樣本動態(tài)鏈接庫的導(dǎo)出函數(shù)名、文件特征值進行比較,根據(jù)比較結(jié)果,判斷所述待識別動態(tài)鏈接庫與所述樣本動態(tài)鏈接庫是否一致,具體包括: 將所述待識別動態(tài)鏈接庫的文件特征值與樣本動態(tài)鏈接庫的文件特征值進行比較; 若所述待識別動態(tài)鏈接庫的文件特征值與所述樣本動態(tài)鏈接庫的文件特征值的近似度符合預(yù)設(shè)范圍,則進一步將所述待`識別動態(tài)鏈接庫的導(dǎo)出函數(shù)名與所述樣本動態(tài)鏈接庫的導(dǎo)出函數(shù)名進行比較; 若所述待識別動態(tài)鏈接庫的導(dǎo)出函數(shù)名與所述樣本動態(tài)鏈接庫的導(dǎo)出函數(shù)名相同,則判斷所述待識別動態(tài)鏈接庫與所述樣本動態(tài)鏈接庫一致。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述樣本動態(tài)鏈接庫為惡意動態(tài)鏈接庫。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述樣本動態(tài)鏈接庫為官方動態(tài)鏈接庫。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述待識別的動態(tài)鏈接庫為用戶提交的動態(tài)鏈接庫,所述樣本動態(tài)鏈接庫為官方動態(tài)鏈接庫;該方法還包括: 判斷出所述待識別動態(tài)鏈接庫與所述官方動態(tài)鏈接庫不一致后,向用戶提供獲取該官方動態(tài)鏈接庫的快捷方式。
7.一種識別動態(tài)鏈接庫的裝置,其特征在于,該裝置包括: 信息提取模塊,用于提取待識別動態(tài)鏈接庫的導(dǎo)出函數(shù)名、文件大小以及文件信息熵; 判斷模塊,用于將所述待識別動態(tài)鏈接庫的導(dǎo)出函數(shù)名、文件特征值,分別與樣本動態(tài)鏈接庫的導(dǎo)出函數(shù)名、文件特征值進行比較,根據(jù)比較結(jié)果,判斷所述待識別動態(tài)鏈接庫與所述樣本動態(tài)鏈接庫是否一致,其中,所述待識別動態(tài)鏈接庫的文件特征值為所述待識別動態(tài)鏈接庫的文件大小與所述待識別動態(tài)鏈接庫的文件信息熵的乘積值,所述樣本動態(tài)鏈接庫的文件特征值為所述樣本動態(tài)鏈接庫的文件大小與所述樣本動態(tài)鏈接庫的文件信息熵的乘積值。
8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述判斷模塊,包括: 第一比較子模塊,用于將所述待識別動態(tài)鏈接庫的導(dǎo)出函數(shù)名與樣本動態(tài)鏈接庫的導(dǎo)出函數(shù)名進行比較; 第二比較子模塊,用于在所述待識別動態(tài)鏈接庫的導(dǎo)出函數(shù)名與所述樣本動態(tài)鏈接庫的導(dǎo)出函數(shù)名相同的情況下,進一步將所述待識別動態(tài)鏈接庫的文件特征值與所述樣本動態(tài)鏈接庫的文件特征值進行比較; 第一判斷子模塊,用于在所述待識別動態(tài)鏈接庫的文件特征值與所述樣本動態(tài)鏈接庫的文件特征值的近似度符合預(yù)設(shè)范圍的情況下,判斷所述待識別動態(tài)鏈接庫與所述樣本動態(tài)鏈接庫一致。
9.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述判斷模塊,包括: 第三比較子模塊,用于將所述待識別動態(tài)鏈接庫的文件特征值與樣本動態(tài)鏈接庫的文件特征值進行比較; 第四比較子模塊,用于在所述待識別動態(tài)鏈接庫的文件特征值與所述樣本動態(tài)鏈接庫的文件特征值的近似度符合預(yù)設(shè)范圍的情況下,進一步將所述待識別動態(tài)鏈接庫的導(dǎo)出函數(shù)名與所述樣本動態(tài)鏈接庫的導(dǎo)出函數(shù)名進行比較; 第二判斷子模塊,用于在所述待識別動態(tài)鏈接庫的導(dǎo)出函數(shù)名與所述樣本動態(tài)鏈接庫的導(dǎo)出函數(shù)名相同的情況下,判斷所述待識別動態(tài)鏈接庫與所述樣本動態(tài)鏈接庫一致。
10.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述樣本動態(tài)鏈接庫為惡意動態(tài)鏈接庫。`
11.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述樣本動態(tài)鏈接庫為官方動態(tài)鏈接庫。
12.根據(jù)權(quán)利要求11所述的裝置,其特征在于,所述待識別的動態(tài)鏈接庫為用戶提交的動態(tài)鏈接庫,所述樣本動態(tài)鏈接庫為官方動態(tài)鏈接庫;該裝置還包括: 推送模塊,用于在所述判斷模塊判斷出所述待識別動態(tài)鏈接庫與所述官方動態(tài)鏈接庫不一致后,向用戶提供獲取該官方動態(tài)鏈接庫的快捷方式。
【文檔編號】G06F21/57GK103886042SQ201410086815
【公開日】2014年6月25日 申請日期:2014年3月10日 優(yōu)先權(quán)日:2014年3月10日
【發(fā)明者】李敏怡, 姚輝, 劉桂峰 申請人:珠海市君天電子科技有限公司