一種實(shí)現(xiàn)惡意代碼標(biāo)注的方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及計(jì)算機(jī)安全領(lǐng)域,尤指一種基于紋理聚類(lèi)實(shí)現(xiàn)惡意代碼標(biāo)注的方法及 系統(tǒng)。
【背景技術(shù)】
[0002] 隨著計(jì)算機(jī)技術(shù)和互網(wǎng)絡(luò)應(yīng)用的快速發(fā)展,信息安全變得愈發(fā)重要,信息安全也 成為一個(gè)備受關(guān)注的重要研究領(lǐng)域。面對(duì)層出不窮的安全問(wèn)題和爆炸式增長(zhǎng)的惡意軟件及 其變種,需要不斷完善和提高檢測(cè)技術(shù),做到及時(shí)準(zhǔn)確的檢測(cè)和查殺。
[0003] 惡意軟件是一段計(jì)算機(jī)指令,由攻擊者通過(guò)系統(tǒng)安全漏洞或其他方法將惡意代碼 植入被攻擊值的計(jì)算機(jī)中,使得被攻擊者的計(jì)算機(jī)按照攻擊者的意愿執(zhí)行任務(wù),任何能對(duì) 計(jì)算機(jī)系統(tǒng)信息安全造成威脅的計(jì)算機(jī)指令序列和數(shù)據(jù)都可W歸屬于惡意軟件。常見(jiàn)的惡 意軟件有;漏洞攻擊程序、計(jì)算機(jī)惡意代碼、蠕蟲(chóng)、惡意移動(dòng)腳本、后口、木馬、RootKit、間謀 軟件W及更深層次的BIOS木馬、惡意CPU微代碼等,當(dāng)然還包括W上類(lèi)型惡意軟件的組合 成的惡意軟件。
[0004] 反惡意代碼防御惡意軟件(AV)軟件產(chǎn)品主要使用基于簽名的方法來(lái)識(shí)別威脅, 對(duì)于對(duì)給定一組惡意軟件樣本,該些AV廠商首先將樣本標(biāo)注為家族,在同一個(gè)家族的樣本 具有共同的特征,并使用該些公共特征作為惡意代碼家族的特征,W此來(lái)檢測(cè)該惡意代碼 家族的變種。
[0005] 惡意代碼的分類(lèi)標(biāo)注主要通過(guò)人工分析和經(jīng)驗(yàn),查找描述庫(kù)和搜索示例作為輔助 手段。人工分析方法通常時(shí)間密集型和勞動(dòng)密集型,而且分析人員經(jīng)驗(yàn)與標(biāo)注正確關(guān)系較 大。當(dāng)前,由于惡意代碼源碼公開(kāi)、自動(dòng)生成機(jī)的普及、黑客工具的肆意傳播使得惡意代碼 已經(jīng)形成灰色產(chǎn)業(yè)鏈,該導(dǎo)致惡意代碼規(guī)模呈指數(shù)級(jí)增長(zhǎng),Symantec的2010年報(bào)告指出, 2008年新增惡意代碼169323例,2009年新增2895802例,2010年Symantec的惡意代碼的 語(yǔ)料庫(kù)規(guī)模達(dá)到了 286000000例。惡意代碼的規(guī)模和增長(zhǎng)速度為分析工作帶來(lái)嚴(yán)峻挑戰(zhàn), 主要表現(xiàn)為兩個(gè)方面,一是如何能夠自動(dòng)提取反應(yīng)惡意代碼本質(zhì)的特征,為下一步進(jìn)行自 動(dòng)分析或人工分析提供更為全面描述信息;第二點(diǎn)就是根據(jù)特征如何能更為快速對(duì)未知惡 意樣本進(jìn)行自動(dòng)標(biāo)注,從而提升處理速度或提高人工分析效率。
[0006] 在過(guò)去幾年里,針對(duì)惡意代碼自動(dòng)標(biāo)注系統(tǒng)已經(jīng)取得了一定的成果,研究人員已 經(jīng)開(kāi)發(fā)了各式的惡意軟件自動(dòng)分類(lèi)系統(tǒng)。在該些系統(tǒng)中,惡意代碼檢測(cè)過(guò)程一般可W概括 為兩個(gè)步驟,特征提取和分類(lèi)標(biāo)注。在第一步中,通過(guò)使用靜態(tài)分析或動(dòng)態(tài)分析方法將惡意 代碼的特征提取W作為其特征向量,例如API調(diào)用、指令序列調(diào)用等。在第二步中,智能分 析技術(shù)將使用步驟一提供的特征向量自動(dòng)標(biāo)注惡意代碼,即將惡意代碼分類(lèi)到某個(gè)惡意代 碼家族。上述的家族類(lèi)別標(biāo)注方法,使用分類(lèi)或聚類(lèi)技術(shù)能夠?qū)阂鈽颖具M(jìn)行劃分,但普遍 存在家族判定時(shí)效性差、特征提取能力不足、命名規(guī)則不統(tǒng)一,甚至頻繁出現(xiàn)即使名稱(chēng)相同 也不一定是同一個(gè)家族的樣本。
[0007] 由于W上問(wèn)題,大多數(shù)家族標(biāo)注方法難W應(yīng)用到工業(yè)界中,而且由于不同反惡意 程序軟件公司采用的標(biāo)注方法不同,例如,由于缺乏監(jiān)督信息,不同AV公司采用的特征提 取技術(shù)也不盡相同,不同的聚類(lèi)算法得出的分類(lèi)結(jié)果也差異較大,甚至由于隨機(jī)初始化和 隨機(jī)模型的差異,同一個(gè)聚類(lèi)算法得出的分類(lèi)結(jié)果也不相同。因此,會(huì)大量存在不同的反惡 意程序軟件給出的惡意代碼的分類(lèi)結(jié)果各有不同,命名規(guī)則也沒(méi)有統(tǒng)一的標(biāo)準(zhǔn),即使名稱(chēng) 相同也不一定是同一個(gè)家族的樣本。
[0008] 綜上,目前的惡意代碼分類(lèi)標(biāo)注方法中,標(biāo)注方法不統(tǒng)一,家族標(biāo)注準(zhǔn)確度不高等 問(wèn)題。
【發(fā)明內(nèi)容】
[0009] 為了解決上述技術(shù)問(wèn)題,本發(fā)明提供一種實(shí)現(xiàn)惡意代碼標(biāo)注的方法及系統(tǒng),能夠 規(guī)范對(duì)惡意代碼的標(biāo)注方法,提高惡意代碼標(biāo)注的準(zhǔn)確性。
[0010] 為了達(dá)到上述發(fā)明目的,本發(fā)明公開(kāi)了一種實(shí)現(xiàn)惡意代碼標(biāo)注的方法,包括:
[0011] 將惡意代碼的可移植的執(zhí)行體PE文件進(jìn)行處理,獲取惡意代碼的信息摘要簽名 和基準(zhǔn)標(biāo)注和紋理特征;
[0012] 根據(jù)基準(zhǔn)標(biāo)注及信息摘要簽名,將屬于同一惡意代碼家族的紋理特征生成相應(yīng)的 紋理特征集合;
[0013] 根據(jù)紋理特征集合生成第一聚類(lèi)簇,將第一聚類(lèi)簇進(jìn)行合并W生成第二聚類(lèi)簇, 結(jié)合信息摘要簽名及惡意代碼家族深度命名對(duì)第二聚類(lèi)簇進(jìn)行深度標(biāo)注。
[0014] 進(jìn)一步地,將惡意代碼的PE文件進(jìn)行處理,獲取惡意代碼的信息摘要簽名和基準(zhǔn) 標(biāo)注和紋理特征包括:
[0015] 采用信息摘要算法獲取惡意代碼的PE文件中的各惡意代碼的信息摘要作為惡意 代碼的信息摘要簽名;
[0016] 對(duì)惡意代碼的PE文件進(jìn)行檢測(cè),將檢測(cè)結(jié)果進(jìn)行處理后,結(jié)合惡意代碼家族命名 策略,形成區(qū)分惡意代碼家族的基準(zhǔn)標(biāo)注;
[0017] 將惡意代碼的PE文件映射為紋理圖像文件,并從紋理圖像文件獲取惡意代碼的 紋理特征。
[0018] 進(jìn)一步地,根據(jù)紋理特征集合生成第一聚類(lèi)簇包括:
[0019] 建立位置敏感哈希函數(shù)族,將惡意代碼的紋理特征集合映射到與哈希函數(shù)對(duì)應(yīng)的 哈希表的哈希桶中,W生成第一聚類(lèi)簇。
[0020] 進(jìn)一步地,將第一聚類(lèi)簇進(jìn)行合并W生成第二聚類(lèi)簇為:將第一聚類(lèi)簇按照共享 的紋理特征進(jìn)行合并,生成第二聚類(lèi)簇。
[0021] 進(jìn)一步地,信息摘要算法為W下任一種:消息摘要算法第五版MD5、或安全散列算 法SHA、或消息認(rèn)證碼算法MAC、或CRC32、或SHA1、或SHA256、或SHA384、或SHA512。
[0022] 進(jìn)一步地,對(duì)惡意代碼PE文件進(jìn)行檢測(cè)為;使用Virustotal檢測(cè)方法對(duì)惡意代碼 PE文件進(jìn)行檢測(cè)。
[0023] 進(jìn)一步地,對(duì)檢測(cè)結(jié)果進(jìn)行處理具體包括:
[0024] 對(duì)檢測(cè)結(jié)果進(jìn)行預(yù)處理;
[00巧]對(duì)預(yù)處理的信息根據(jù)導(dǎo)入的詞表文件進(jìn)行分詞處理;
[0026] 根據(jù)分詞處理的結(jié)果進(jìn)行詞頻統(tǒng)計(jì)處理,W進(jìn)一步進(jìn)行投票處理獲得投票結(jié)果。
[0027] 進(jìn)一步地,檢測(cè)結(jié)果包含;反惡意代碼antivirus部分及其對(duì)應(yīng)的結(jié)果Result部 分。
[0028] 進(jìn)一步地,預(yù)處理至少包括;分隔符替換、和特殊符號(hào)移除、和簡(jiǎn)寫(xiě)補(bǔ)全。
[0029] 進(jìn)一步地,詞頻統(tǒng)計(jì)為:對(duì)分詞處理后的關(guān)鍵詞進(jìn)行頻度統(tǒng)計(jì),對(duì)非關(guān)鍵詞進(jìn)行過(guò) 濾。
[0030] 進(jìn)一步地,進(jìn)行投票處理包括:根據(jù)詞頻統(tǒng)計(jì)處理對(duì)關(guān)鍵詞中低頻詞進(jìn)行過(guò)濾,對(duì) 高頻詞進(jìn)行由大到小排序。
[0031] 進(jìn)一步地,惡意代碼命名策略包括;行業(yè)命名規(guī)范、公司命名規(guī)范和個(gè)性化命名規(guī) 范。
[0032] 進(jìn)一步地,從紋理圖像文件獲取惡意代碼的紋理特征為;從所述紋理圖像文件中 進(jìn)行特征提取,并對(duì)提取的紋理特征進(jìn)行歸一化處理后,得到惡意代碼的紋理特征。
[0033] 進(jìn)一步地,將惡意代碼PE文件映射為紋理圖像文件為:將所述惡意代碼PE文件的 每個(gè)惡意代碼使用二進(jìn)制映射為圖像B2M算法映射為無(wú)損壓縮格式的紋理圖像文件。
[0034] 進(jìn)一步地,紋理圖像文件為;PNG格式,或GIF格式,或BMP格式。
[00巧]進(jìn)一步地,特征提取包括;使用灰度共生矩陣方法;或GIST方法;或傅里葉變換方 法;或局部二值模式LBP方法進(jìn)行紋理圖像文件的特征提取。
[0036] 進(jìn)一步地,歸一化處理包括;使用高斯歸一化算法對(duì)紋理特征進(jìn)行歸一化的處理。
[0037] 進(jìn)一步地,建立位置敏感哈希函數(shù)族,將所述惡意代碼的紋理特征映射到與哈希 函數(shù)對(duì)應(yīng)的哈希表的哈希桶中,W生成第一聚類(lèi)簇包括;建立位置敏感哈希函數(shù)族,從中選 擇K個(gè)位置敏感的哈希函數(shù),分別使用K個(gè)位置敏感哈希函數(shù)對(duì)同一惡意代碼家族的紋理 特征進(jìn)行哈希操作,得到K個(gè)哈希值W構(gòu)成K維的哈希桶地址,將紋理特征映射于哈希桶地 址中,W生成第一類(lèi)聚類(lèi)簇;
[00測(cè)所述K為自然數(shù)。
[0039] 進(jìn)一步地,在將第一聚類(lèi)簇按照共享的紋理特征進(jìn)行合并,生成第二聚類(lèi)簇時(shí),該 方法還包括;生成第二聚類(lèi)簇時(shí)還生成聚類(lèi)簇ID、聚類(lèi)簇規(guī)模。
[0040] 進(jìn)一步地,惡意代碼家族深度命名包括;基準(zhǔn)標(biāo)注、聚類(lèi)簇ID、聚類(lèi)簇規(guī)模、聚類(lèi) 簇比例;
[0041] 所述,聚類(lèi)簇比例為當(dāng)前聚類(lèi)簇占基準(zhǔn)標(biāo)注后的惡意代碼的比例。
[0042] 進(jìn)一步地,基本標(biāo)注后,該方法還包括;對(duì)所述基準(zhǔn)標(biāo)記結(jié)果作為惡意代碼的描述 信息存儲(chǔ)到惡意代碼的語(yǔ)料庫(kù)中。
[0043] 進(jìn)一步地,進(jìn)行深度標(biāo)注后,該方法還包括;將深度標(biāo)注的結(jié)果與消息摘要標(biāo)簽結(jié) 合作為惡意代碼的基準(zhǔn)標(biāo)簽。
[0044] 另一方面,本申請(qǐng)還提供一種實(shí)現(xiàn)惡意代碼標(biāo)注的系統(tǒng),包括;文件處理單元、特 征集合單元、深度標(biāo)注單元;其中,
[0045] 文件處理單元,用于將惡意代碼的可移植的執(zhí)行體陽(yáng)文件進(jìn)行處理,獲取惡意代 碼的信息摘要簽名和基準(zhǔn)標(biāo)注和紋理特征;
[0046] 特征集合單元,用于根據(jù)文件處理單元的基準(zhǔn)標(biāo)注及信息摘要簽名,將屬于同一 惡意代碼家族的紋理特征生成相應(yīng)的紋理特征集合;
[0047] 深度標(biāo)注單元,用于根據(jù)紋理特征集合生成第一聚類(lèi)簇,將第一聚類(lèi)簇進(jìn)行合并 w生成第二聚類(lèi)簇,結(jié)合信息摘要簽名及惡意代碼家族深度命名對(duì)第二聚類(lèi)簇進(jìn)行深度標(biāo) 注。
[0048] 進(jìn)一步地,文件處理單元包括信息摘要模塊、基準(zhǔn)標(biāo)注模塊和紋理特征模塊;其 中,
[0049] 信息摘要模塊,用于采用信息摘要算法獲取惡意代碼的PE文件中的各惡意代碼 的信息摘要作為惡意代碼的信息摘要簽名;
[0050] 基準(zhǔn)標(biāo)注模塊,用于對(duì)惡意代碼的PE文件進(jìn)行檢測(cè),將檢測(cè)結(jié)果進(jìn)行處理后,結(jié) 合惡意代碼家族命名策略,形成區(qū)分惡意代碼家族的基準(zhǔn)標(biāo)注;
[0051] 紋理特征模塊,用于將惡意代碼的PE文件映射為紋理圖像文件,并從紋理圖像文 件獲取惡意代碼的紋理特征。
[0052]進(jìn)一步地,深度標(biāo)注單元包含第一聚類(lèi)模塊、第二聚類(lèi)模塊和深度標(biāo)注模塊;其 中,
[0053] 第一聚類(lèi)模塊,用于建立位置敏感哈希函數(shù)族,將惡意代碼的紋理特征集合映射 到與哈希函數(shù)對(duì)應(yīng)的哈希表的哈希桶中,W生成第一聚類(lèi)簇;
[0054] 第二聚類(lèi)模塊,用于將第一聚類(lèi)簇進(jìn)行合并W生成第二聚類(lèi)簇;
[0055] 深度標(biāo)注模塊,用于結(jié)合信息摘要簽名及惡意代碼家族深度命名對(duì)第二聚類(lèi)簇進(jìn) 行深度標(biāo)注。
[0056] 進(jìn)一步地,深度標(biāo)注單元包含第一聚類(lèi)模塊、第二聚類(lèi)模塊和深度標(biāo)注模塊;其 中,
[0057] 第一聚類(lèi)模塊,用于根據(jù)紋理特征集合生成第一聚類(lèi)簇;
[0058] 第二聚類(lèi)模塊,用于將第一聚類(lèi)簇按照共享的紋理特征進(jìn)行合并,生成第二聚類(lèi) 簇;
[0059] 深度標(biāo)注模塊,用于結(jié)合信息摘要簽名及惡意代碼家族深度命名對(duì)第二聚類(lèi)簇進(jìn) 行深度標(biāo)注。
[0060] 進(jìn)一步地,信息摘要算法為W下任一種;消息摘要算法第五版MD5、或安全散列算 法SH