一種樣本文件分析方法及裝置製造方法
2023-05-14 02:25:16
一種樣本文件分析方法及裝置製造方法
【專利摘要】本發明提供一種樣本文件分析方法及裝置,其中,方法包括:獲得二進位格式的樣本文件;將所述二進位格式的樣本文件映射到內存;對映射到內存的所述二進位格式的樣本文件進行全文字符串過濾分析,得到過濾後的二進位格式的樣本文件;輸出所述過濾後的二進位格式的樣本文件。本發明的方案可以從二進位格式的樣本文件中提取可見字符串,作為判斷文件是否是病毒的依據,並加以對可見字符串的有效性過濾,有效減小樣本文件的分析結果集合,大大提升病毒查殺效率。
【專利說明】一種樣本文件分析方法及裝置
【技術領域】
[0001]本發明涉及計算機安全【技術領域】,特別是指一種樣本文件分析方法及裝置。
【背景技術】
[0002]在反病毒領域,每日樣本增量都是海量的,通過人工方式進行識別將浪費大量時間,因此,樣本文件的自動分析成了反病毒領域的一個核心問題。
[0003]目前已有的樣本文件自動分析技術可以分為兩類:
[0004](I)靜態自動分析,即通過反彙編代碼分析、文件靜態內容比對以及一系列啟發式規則對比來給文件定性;這種做法的優點是:快速、吞吐量高,可以應對每日的海量文件,並給出分析結果;但缺點是:精準度一般,無法給出樣本的惡意行為,對加密處理過的樣本存在較多的誤報和漏報。
[0005](2)動態自動分析,即通過動態執行樣本並記錄運行過程,進行動態行為分析,利用分析結果對樣本文件進行定性;這種做法的優點是:精準度非常高,可以明確指出樣本惡意行為並可以精確對其定性;但缺點是:低速,吞吐量低,若想應對海量的樣本文件,需要大量硬體資源投入。
【發明內容】
[0006]本發明要解決的技術問題是提供一種樣本文件分析方法及裝置,從二進位格式的樣本文件中提取可見字符串,作為判斷文件是否是病毒的依據,並加以對可見字符串的有效性過濾,有效減小樣本文件的分析結果集合,大大提升病毒查殺效率。
[0007]為解決上述技術問題,本發明的實施例提供一種樣本文件分析方法,包括:
[0008]獲得二進位格式的樣本文件;
[0009]將所述二進位格式的樣本文件映射到內存;
[0010]對映射到內存的所述二進位格式的樣本文件進行全文字符串過濾分析,得到過濾後的二進位格式的樣本文件;
[0011]輸出所述過濾後的二進位格式的樣本文件。
[0012]其中,所述對映射到內存的所述二進位格式的樣本文件進行全文字符串過濾分析,得到過濾後的二進位格式的樣本文件的步驟包括:
[0013]根據字符編碼集和病毒家族庫的特徵串,對映射到內存的所述二進位格式的樣本文件進行全文字符串匹配,獲得匹配不成功的字符串;
[0014]過濾掉所述匹配不成功的字符串,得到過濾後的二進位格式的樣本文件。
[0015]其中,所述根據字符編碼集和病毒家族庫的特徵串,對映射到內存的所述二進位格式的樣本文件進行全文字符串匹配的步驟包括:
[0016]對映射到內存的所述二進位格式的樣本文件與所述字符編碼集中的字符串相匹配,獲得匹配不成功的無意義的字符串以及匹配成功的字符串對應的樣本文件;
[0017]對所述匹配成功的字符串對應的樣本文件與所述病毒家族庫中的特徵串進行匹配,獲得匹配不成功的待過濾串。
[0018]其中,對所述匹配成功的字符串組成的樣本文件與所述病毒家族庫中的特徵串進行匹配,獲得匹配不成功的待過濾串的步驟包括:
[0019]計算所述匹配成功的字符串對應的樣本文件中的字符串的哈希值;
[0020]計算所述病毒家族庫中的特徵串的哈希值;
[0021]將所述二進位格式的樣本文件中的字符串的哈希值與所述病毒家族庫中的特徵串的哈希值進行比較,若不相等,認為相比較的兩個字符串匹配不成功,並獲得匹配不成功的待過濾串,否則認為匹配成功。
[0022]其中,將所述二進位格式的樣本文件中的字符串的哈希值與所述病毒家族庫中的特徵串的哈希值進行比較的步驟包括:
[0023]採用一條處理器指令將所述二進位格式的樣本文件中的字符串的哈希值與所述病毒家族庫中的特徵串的哈希值進行比較。
[0024]其中,所述過濾掉所述匹配不成功的字符串,得到過濾後的二進位格式的樣本文件的步驟包括:
[0025]過濾掉所述匹配不成功的無意義的字符串以及所述匹配不成功的待過濾串,得到過濾後的二進位格式的樣本文件。
[0026]其中,所述字符編碼集包括:UNIC0DE,UFT-8,GBK, GB2312和/或MBCS字符編碼。
[0027]本發明的實施例還提供一種樣本文件分析裝置,包括:
[0028]獲得模塊,用於獲得二進位格式的樣本文件;
[0029]映射模塊,用於將所述二進位格式的樣本文件映射到內存;
[0030]分析模塊,用於對映射到內存的所述二進位格式的樣本文件進行全文字符串過濾分析,得到過濾後的二進位格式的樣本文件;
[0031 ] 輸出模塊,用於輸出所述過濾後的二進位格式的樣本文件。
[0032]其中,所述分析模塊包括:
[0033]第一分析子模塊,用於根據字符編碼集和病毒家族庫的特徵串,對映射到內存的所述二進位格式的樣本文件進行全文字符串匹配,獲得匹配不成功的字符串;
[0034]第二分析子模塊,用於過濾掉所述匹配不成功的字符串,得到過濾後的二進位格式的樣本文件。
[0035]其中,所述第一分析子模塊包括:
[0036]第一匹配模塊,用於對映射到內存的所述二進位格式的樣本文件與所述字符編碼集中的字符串相匹配,獲得匹配不成功的無意義的字符串以及匹配成功的字符串組成的樣本文件;
[0037]第二匹配模塊,用於對所述匹配成功的字符串組成的樣本文件與所述病毒家族庫中的特徵串進行匹配,獲得匹配不成功的待過濾串。
[0038]其中,所述第二匹配模塊包括:
[0039]第一計算模塊,用於計算所述匹配成功的字符串組成的樣本文件中的字符串的哈希值;
[0040]第二計算模塊,用於計算所述病毒家族庫中的特徵串的哈希值;
[0041]匹配子模塊,用於將所述二進位格式的樣本文件中的字符串的哈希值與所述病毒家族庫中的特徵串的哈希值進行比較,若不相等,認為相比較的兩個字符串匹配不成功,並獲得匹配不成功的待過濾串,否則認為匹配成功。
[0042]其中,所述第二分析子模塊具體用於:過濾掉所述匹配不成功的無意義的字符串以及所述匹配不成功的待過濾串,得到過濾後的二進位格式的樣本文件。
[0043]本發明的上述技術方案的有益效果如下:
[0044]上述方案中,通過將獲得的二進位格式的樣本文件映射到內存,並對該二進位格式的樣本文件進行全文字符串過濾分析,從而過濾掉匹配不成功的字符串,提取有效串,有效減小樣本文件的分析結果集合,大大提升病毒查殺效率。
【專利附圖】
【附圖說明】
[0045]圖1為本發明的樣本文件分析方法流程圖;
[0046]圖2為本發明的樣本文件分析裝置的結構框示意圖。
【具體實施方式】
[0047]為使本發明要解決的技術問題、技術方案和優點更加清楚,下面將結合附圖及具體實施例進行詳細描述。
[0048]如圖1所示,本發明的實施例提供一種樣本文件分析方法,包括:
[0049]步驟11,獲得二進位格式的樣本文件;
[0050]步驟12,將所述二進位格式的樣本文件映射到內存;
[0051]步驟13,對映射到內存的所述二進位格式的樣本文件進行全文字符串過濾,得到過濾後的二進位格式的樣本文件;
[0052]步驟14,輸出所述過濾後的二進位格式的樣本文件。
[0053]本發明的該實施例通過將獲得的二進位格式的樣本文件映射到內存,並對該二進位格式的樣本文件進行全文字符串過濾分析,有效減小樣本文件的分析結果集合,大大提升病毒查殺效率。
[0054]在本發明的另一實施例中,包括上述步驟11 - 14的基礎上,上述步驟13包括:
[0055]步驟131,根據字符編碼集和病毒家族庫的特徵串,對映射到內存的所述二進位格式的樣本文件進行全文字符串匹配,獲得匹配不成功的字符串;
[0056]步驟132,過濾掉所述匹配不成功的字符串,得到過濾後的二進位格式的樣本文件。
[0057]其中,字符編碼集包括UNICODE,UFT-8, GBK, GB2312, MBCS等所有常用的字符編碼集,病毒家族庫包括已確定的某一類型或者多種類型病毒對應的特徵串形成的特徵串集
口 ο
[0058]在本發明的另一實施例中,包括上述步驟11 - 14的基礎上,上述步驟131包括:
[0059]步驟1311,對映射到內存的所述二進位格式的樣本文件與所述字符編碼集中的字符串相匹配,獲得匹配不成功的無意義的字符串以及匹配成功的字符串對應的樣本文件;
[0060]步驟1312,對所述匹配成功的字符串對應的樣本文件與所述病毒家族庫中的特徵串進行匹配,獲得匹配不成功的待過濾串。
[0061]該實施例中,通過對映射到內存的二進位格式的樣本文件與字符編碼集中的字符串相匹配,獲得匹配不成功的無意義的字符串,這裡採用常用字過濾的方法,排除掉明顯無意義的字符串,如:〃犒嗣S莪撒嗖燙燙燙燙",得到匹配成功的字符串對應的樣本文件,從而縮小二進位格式的樣本文件的數量,可大幅提升病毒的查殺效率。
[0062]進一步地,在本發明的另一實施例中,步驟1312可以包括:
[0063]步驟13121,計算所述匹配成功的字符串對應的樣本文件中的字符串的哈希(Hash)值;
[0064]步驟13122,計算所述病毒家族庫中的特徵串的Hash值;
[0065]步驟13123,將所述二進位格式的樣本文件中的字符串的Hash值與所述病毒家族庫中的特徵串的Hash值進行比較,若不相等,認為相比較的兩個字符串匹配不成功,並獲得匹配不成功的待過濾串,否則認為匹配成功。
[0066]該實施例中,字符串的Hash值或者特徵串的Hash值均是採用CRC32算法生成的一個DWORD (雙字節的值),在字符串匹配時,根據生成的該CRC32值,只需要一條處理器指令,如,(Cmp,eRX,eRX)就可判斷兩個字符串的CRC32值是否相等,即兩個字符串是否匹配,這樣極大提升了分析效率。具體地,上述步驟13123中,所述將所述二進位格式的樣本文件中的字符串的Hash值與所述家族庫中的特徵串的Hash值進行比較的步驟包括:採用一條處理器指令將所述二進位格式的樣本文件中的字符串的Hash值與所述家族庫中的特徵串的Hash值進行比較。其中,在得到匹配不成功的待過濾串後,可以對這些匹配不成功的待過濾串進行排序,如採用快速排序方法進行排序,從而強制過濾掉這些待過濾串。
[0067]相應地,上述實施例中,步驟132可以包括:過濾掉所述匹配不成功的無意義的字符串以及所述匹配不成功的待過濾串,得到過濾後的二進位格式的樣本文件。
[0068]其中,上述實施例中,所述字符編碼集包括:UNIC0DE,UFT-8, GBK, GB2312, MBCS字符編碼。其中,可以根據常用的3500個漢字,英文,符號等來當作有效字符集進行匹配,從而排除掉無效字符。
[0069]本發明的上述實施列中,對二進位格式的樣本文件映射到內存,並採用包括所有字符編碼集的有效字符集進行匹配,排除掉明顯無意義的字符串,縮小二進位格式的樣本文件的數量,即減小分析的樣本數量,從而可大幅提升病毒查殺效率,進一步對排除掉無意義的字符串後的樣本文件(即提取出的可見串)與病毒家族庫的特徵串進行匹配,從而過濾掉匹配不成功的字符串,從而有效減小分析結果集合,提升病毒查殺效率。
[0070]如圖2所示,本發明的實施例還提供一種樣本文件分析裝置,包括:
[0071]獲得模塊21,用於獲得二進位格式的樣本文件;
[0072]映射模塊22,用於將所述二進位格式的樣本文件映射到內存;
[0073]分析模塊23,用於對映射到內存的所述二進位格式的樣本文件進行全文字符串過濾分析,得到過濾後的二進位格式的樣本文件;
[0074]輸出模塊24,用於輸出所述過濾後的二進位格式的樣本文件。
[0075]本發明的該裝置實施例同樣通過將獲得的二進位格式的樣本文件映射到內存,並對該二進位格式的樣本文件進行全文字符串過濾分析,有效減小樣本文件的分析結果集合,大大提升病毒查殺效率。
[0076]其中,所述分析模塊包括:
[0077]第一分析子模塊,用於根據字符編碼集和病毒家族庫的特徵串,對映射到內存的所述二進位格式的樣本文件進行全文字符串匹配,獲得匹配不成功的字符串;
[0078]第二分析子模塊,用於過濾掉所述匹配不成功的字符串,得到過濾後的二進位格式的樣本文件。
[0079]其中,字符編碼集包括UNICODE,UFT-8, GBK, GB2312, MBCS等所有常用的字符編碼集,病毒家族庫包括已確定的某一類型或者多種類型病毒對應的特徵串形成的特徵串集
口 ο
[0080]其中,所述第一分析子模塊包括:
[0081]第一匹配模塊,用於對映射到內存的所述二進位格式的樣本文件與所述字符編碼集中的字符串相匹配,獲得匹配不成功的無意義的字符串以及匹配成功的字符串組成的樣本文件;
[0082]第二匹配模塊,用於對所述匹配成功的字符串組成的樣本文件與所述病毒家族庫中的特徵串進行匹配,獲得匹配不成功的待過濾串。
[0083]其中,所述第二匹配模塊包括:
[0084]第一計算模塊,用於計算所述匹配成功的字符串組成的樣本文件中的字符串的哈希值;
[0085]第二計算模塊,用於計算所述病毒家族庫中的特徵串的哈希值;
[0086]匹配子模塊,用於將所述二進位格式的樣本文件中的字符串的哈希值與所述病毒家族庫中的特徵串的哈希值進行比較,若不相等,認為相比較的兩個字符串匹配不成功,並獲得匹配不成功的待過濾串,否則認為匹配成功。
[0087]該實施例中,通過對映射到內存的二進位格式的樣本文件與字符編碼集中的字符串相匹配,獲得匹配不成功的無意義的字符串,這裡採用常用字過濾的方法,排除掉明顯無意義的字符串,如犒嗣S莪撒嗖燙燙燙燙",得到匹配成功的字符串對應的樣本文件,從而縮小二進位格式的樣本文件的數量,可大幅提升病毒的查殺效率。
[0088]其中,所述第二分析子模塊具體用於:過濾掉所述匹配不成功的無意義的字符串以及所述匹配不成功的待過濾串,得到過濾後的二進位格式的樣本文件。
[0089]本發明的該裝置實施例同樣通過對二進位格式的樣本文件映射到內存,並採用包括所有字符編碼集的有效字符集進行匹配,排除掉明顯無意義的字符串,縮小二進位格式的樣本文件的數量,即減小分析的樣本數量,從而可大幅提升病毒查殺效率,進一步對排除掉無意義的字符串後的樣本文件(即提取出的可見串)與病毒家族庫的特徵串進行匹配,從而過濾掉匹配不成功的字符串,從而有效減小分析結果集合,提升病毒查殺效率。
[0090]以上所述是本發明的優選實施方式,應當指出,對於本【技術領域】的普通技術人員來說,在不脫離本發明所述原理的前提下,還可以作出若干改進和潤飾,這些改進和潤飾也應視為本發明的保護範圍。
【權利要求】
1.一種樣本文件分析方法,其特徵在於,包括:獲得二進位格式的樣本文件;將所述二進位格式的樣本文件映射到內存;對映射到內存的所述二進位格式的樣本文件進行全文字符串過濾分析,得到過濾後的二進位格式的樣本文件;輸出所述過濾後的二進位格式的樣本文件。
2.根據權利要求1所述的樣本文件分析方法,其特徵在於,所述對映射到內存的所述二進位格式的樣本文件進行全文字符串過濾分析,得到過濾後的二進位格式的樣本文件的步驟包括:根據字符編碼集和病毒家族庫的特徵串,對映射到內存的所述二進位格式的樣本文件進行全文字符串匹配,獲得匹配不成功的字符串;過濾掉所述匹配不成功的字符串,得到過濾後的二進位格式的樣本文件。
3.根據權利要求2所述的樣本文件分析方法,其特徵在於,所述根據字符編碼集和病毒家族庫的特徵串,對映射到內存的所述二進位格式的樣本文件進行全文字符串匹配的步驟包括:對映射到內存的所述二進位格式的樣本文件與所述字符編碼集中的字符串相匹配,獲得匹配不成功的無意義的字符串以及匹配成功的字符串對應的樣本文件;對所述匹配成功的字符串對應的樣本文件與所述病毒家族庫中的特徵串進行匹配,獲得匹配不成功的待過濾串。
4.根據權利要求3所述的樣本文件分析方法,其特徵在於,對所述匹配成功的字符串組成的樣本文件與所述病毒家族庫中的特徵串進行匹配,獲得匹配不成功的待過濾串的步驟包括:計算所述匹配成功的字符串對應的樣本文件中的字符串的哈希值;計算所述病毒家族庫中的特徵串的哈希值;將所述二進位格式的樣本文件中的字符串的哈希值與所述病毒家族庫中的特徵串的哈希值進行比較,若不相等,認為相比較的兩個字符串匹配不成功,並獲得匹配不成功的待過濾串,否則認為匹配成功。
5.根據權利要求4所述的樣本文件分析方法,其特徵在於,將所述二進位格式的樣本文件中的字符串的哈希值與所述病毒家族庫中的特徵串的哈希值進行比較的步驟包括:採用一條處理器指令將所述二進位格式的樣本文件中的字符串的哈希值與所述病毒家族庫中的特徵串的哈希值進行比較。
6.根據權利要求3或4所述的樣本文件分析方法,其特徵在於,所述過濾掉所述匹配不成功的字符串,得到過濾後的二進位格式的樣本文件的步驟包括:過濾掉所述匹配不成功的無意義的字符串以及所述匹配不成功的待過濾串,得到過濾後的二進位格式的樣本文件。
7.根據權利要求2所述的樣本文件分析方法,其特徵在於,所述字符編碼集包括:UNICODE, UFT-8, GBK, GB2312 和 / 或 MBCS 字符編碼。
8.—種樣本文件分析裝置,其特徵在於,包括:獲得模塊,用於獲得二進位格式的樣本文件;映射模塊,用於將所述二進位格式的樣本文件映射到內存;分析模塊,用於對映射到內存的所述二進位格式的樣本文件進行全文字符串過濾分析,得到過濾後的二進位格式的樣本文件;輸出模塊,用於輸出所述過濾後的二進位格式的樣本文件。
9.根據權利要求8所述的樣本文件分析裝置,其特徵在於,所述分析模塊包括:第一分析子模塊,用於根據字符編碼集和病毒家族庫的特徵串,對映射到內存的所述二進位格式的樣本文件進行全文字符串匹配,獲得匹配不成功的字符串;第二分析子模塊,用於過濾掉所述匹配不成功的字符串,得到過濾後的二進位格式的樣本文件。
10.根據權利要求9所述的樣本文件分析裝置,其特徵在於,所述第一分析子模塊包括:第一匹配模塊,用於對映射到內存的所述二進位格式的樣本文件與所述字符編碼集中的字符串相匹配,獲得匹配不成功的無意義的字符串以及匹配成功的字符串組成的樣本文件;第二匹配模塊,用於 對所述匹配成功的字符串組成的樣本文件與所述病毒家族庫中的特徵串進行匹配,獲得匹配不成功的待過濾串。
11.根據權利要求10所述的樣本文件分析裝置,其特徵在於,所述第二匹配模塊包括:第一計算模塊,用於計算所述匹配成功的字符串組成的樣本文件中的字符串的哈希值;第二計算模塊,用於計算所述病毒家族庫中的特徵串的哈希值;匹配子模塊,用於將所述二進位格式的樣本文件中的字符串的哈希值與所述病毒家族庫中的特徵串的哈希值進行比較,若不相等,認為相比較的兩個字符串匹配不成功,並獲得匹配不成功的待過濾串,否則認為匹配成功。
12.根據權利要求11所述的樣本文件分析裝置,其特徵在於,所述第二分析子模塊具體用於:過濾掉所述匹配不成功的無意義的字符串以及所述匹配不成功的待過濾串,得到過濾後的二進位格式的樣本文件。
【文檔編號】G06F17/30GK103455753SQ201210174885
【公開日】2013年12月18日 申請日期:2012年5月30日 優先權日:2012年5月30日
【發明者】蘇海峰, 徐鳴, 張楠 申請人:北京金山安全軟體有限公司, 可牛網絡技術(北京)有限公司, 貝殼網際(北京)安全技術有限公司