專利名稱:惡意代碼檢測方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計算機網(wǎng)絡安全技術(shù)領(lǐng)域,特別涉及一種惡意代碼檢測方法和系統(tǒng)。
背景技術(shù):
隨著惡意代碼數(shù)量急劇膨脹,惡意代碼自動化判別已經(jīng)成為反病毒研究的重要方 向。惡意代碼自動化判別,是通過一定的方法對未知的程序進行判別分類的方法。對非二進制特征碼的惡意代碼檢測的相關(guān)研究主要有靜態(tài)檢測惡意代碼方面、動 態(tài)行為分析檢測惡意代碼及組合檢測?,F(xiàn)有技術(shù)可以通過對文件靜態(tài)反匯編得到API序列 圖,然后與安全策略進行對比,違反安全策略的API序列判定為惡意代碼。還可以根據(jù)軟件 行為監(jiān)控序列的距離判別分類方法。該方法可以在一定程度上進行自動化分類,但所需時 間巨大,需要判別樣本的行為序列與所有其它的行為序列計算距離,隨著樣本量的膨脹呈 線性增長,惡意代碼數(shù)量的膨脹速度導致該方法將耗費巨大的時間來判斷一個未知的惡意 代碼的類別,另外采用讓惡意代碼運行在虛擬機環(huán)境中通過獲取其API調(diào)用來分析軟件行 為這個獲取的層次相對初級。
發(fā)明內(nèi)容
針對以上不足,本發(fā)明要解決的技術(shù)問題是提供一種惡意代碼檢測方法和系統(tǒng), 用以提高軟件判別的準確率,不需要進行人工分析,并且可以快速的進行軟件判別。為了解決上述技術(shù)問題,本發(fā)明提供了一種惡意代碼檢測方法,包括 從未知是否包含惡意代碼的軟件中提取特征;
根據(jù)預先得到的每個特征的貢獻度,計算所述軟件中提取的所有特征的特征貢獻和以 及特征貢獻均值,一個特征的貢獻度是指所述特征對于判斷未知軟件是包含惡意代碼的文 件或不包含惡意代碼的文件的貢獻程度;
根據(jù)計算得到的特征貢獻和與預先得到的特征貢獻和閾值的大小關(guān)系,以及計算得到 的特征貢獻均值與預先得到的特征貢獻均值閾值的大小關(guān)系,確定所述軟件中包含惡意代 碼或不包含惡意代碼。進一步的,根據(jù)預先得到的每個特征的貢獻度計算所述軟件中提取的所有特征的 特征貢獻和以及特征貢獻均值之前,還包括
收集白名單樣本和黑名單樣本,所述白名單樣本是指樣本的靜態(tài)特征與樣本所在的系 統(tǒng)環(huán)境及樣本的活動對系統(tǒng)不會產(chǎn)生威脅的軟件,所述黑名單樣本是指樣本本身及其所在 環(huán)境能夠給系統(tǒng)帶來威脅的軟件; 提取每個樣本的特征;
計算每個特征在所有的黑名單樣本中出現(xiàn)的概率與在所有的白名單中出現(xiàn)的概率; 根據(jù)每個特征在所有的黑名單樣本中出現(xiàn)的概率與在所有的白名單樣本中出現(xiàn)的概 率,計算每個特征的貢獻度。進一步的,計算每個特征的貢獻度后,還包括對所有特征的貢獻度進行排序,保存指定范圍內(nèi)的貢獻度以及對應的特征。進一步的,按照下述方式計算每個特征的貢獻度
權(quán)利要求
一種惡意代碼檢測方法,其特征在于,包括從未知是否包含惡意代碼的軟件中提取特征;根據(jù)預先得到的每個特征的貢獻度,計算所述軟件中提取的所有特征的特征貢獻和以及特征貢獻均值,一個特征的貢獻度是指所述特征對于判斷未知軟件是包含惡意代碼的文件或不包含惡意代碼的文件的貢獻程度;根據(jù)計算得到的特征貢獻和與預先得到的特征貢獻和閾值的大小關(guān)系,以及計算得到的特征貢獻均值與預先得到的特征貢獻均值閾值的大小關(guān)系,確定所述軟件中包含惡意代碼或不包含惡意代碼。
2.如權(quán)利要求1所述的方法,其特征在于,根據(jù)預先得到的每個特征的貢獻度計算所 述軟件中提取的所有特征的特征貢獻和以及特征貢獻均值之前,還包括收集白名單樣本和黑名單樣本,所述白名單樣本是指樣本的靜態(tài)特征與樣本所在的系 統(tǒng)環(huán)境及樣本的活動對系統(tǒng)不會產(chǎn)生威脅的軟件,所述黑名單樣本是指樣v本本身及其所在 環(huán)境能夠給系統(tǒng)帶來威脅的軟件;提取每個樣本的特征;計算每個特征在所有的黑名單樣本中出現(xiàn)的概率與在所有的白名單中出現(xiàn)的概率;根據(jù)每個特征在所有的黑名單樣本中出現(xiàn)的概率與在所有的白名單樣本中出現(xiàn)的概 率,計算每個特征的貢獻度。
3.如權(quán)利要求2所述的方法,其特征在于,計算每個特征的貢獻度后,還包括對所有 特征的貢獻度進行排序,保存指定范圍內(nèi)的貢獻度以及對應的特征。
4.如權(quán)利要求2或3所述的方法,其特征在于,按照下述方式計算每個特征的貢獻度 巧=(PAf⑷-FT(Sj))/(皿⑷+/T⑷),其中,巧為特征的貢獻度,特征S^ei , s為所有樣 本所具有的靜態(tài)特征、動態(tài)行為特征以及相關(guān)環(huán)境特征的集合,PM(兩)為特征^在黑名單 樣本集合Jf中出現(xiàn)的概率,PH^)為特征Si在白名單樣本集合T中出現(xiàn)的概率。
5.如權(quán)利要求1所述的方法,其特征在于,根據(jù)計算得到的特征貢獻和與預先得到的 特征貢獻和閾值的大小關(guān)系,以及計算得到的特征貢獻均值與預先得到的特征貢獻均值閾 值的大小關(guān)系,確定所述未知軟件中包含惡意代碼或不包含惡意代碼之前,還包括收集白名單樣本和黑名單樣本,所述白名單樣本是指一個樣本的靜態(tài)特征與樣本所在 的系統(tǒng)環(huán)境及樣本的活動對系統(tǒng)不會產(chǎn)生威脅的軟件,所述黑名單樣本是指樣本本身及其 所在環(huán)境能夠給系統(tǒng)帶來威脅的軟件;提取每個樣本的特征;計算每個樣本中提取的所有特征的特征貢獻和以及特征貢獻均值;根據(jù)計算得到的每個樣本中提取的所有特征的特征貢獻和與預先確定的初始特征貢 獻和閾值的大小關(guān)系,以及計算得到的每個樣本中提取的所有特征的特征貢獻均值與預先 確定的初始特征貢獻均值閾值的大小關(guān)系,將收集的所有樣本劃分為惡意文件和非惡意文 件兩類;計算將收集的白名單樣本劃分成惡意文件的百分比,或者計算將收集的黑名單樣本劃 分成非惡意文件的百分比,調(diào)整初始特征貢獻和閾值以及初始特征貢獻均值閾值,得到特 征貢獻和閾值以及特征貢獻均值閾值。
6.如權(quán)利要求1或5所述的方法,其特征在于,按照下述方式計算所述軟件或每個樣本中提取的所有特征的特征貢獻和
7.如權(quán)利要求1或5所述的方法,其特征在于,按照下述方式計算所述軟件或每個樣本中提取的所有特征的特征貢獻均值^fzgh^q /、其中,M為特征貢獻均值,A為特征的貢獻度,特征忒』為所述軟件或每個樣本中提取的所有特征j= ^j2A...),并且 巧e為所有軟件或所有樣本所具有的靜態(tài)特征、動態(tài)行為特征以及相關(guān)環(huán)境特征的集 合,如果軟件或樣本中出現(xiàn)特征^,則巧取值為1,否則為0。
8.如權(quán)利要求5所述的方法,其特征在于,根據(jù)計算得到的每個樣本中提取的所有特 征的特征貢獻和與預先確定的初始特征貢獻和閾值的大小關(guān)系,以及計算得到的每個樣本 中提取的所有特征的特征貢獻均值與預先確定的初始特征貢獻均值閾值的大小關(guān)系,將收 集的所有樣本劃分為惡意文件和非惡意文件兩類之前,還包括確定初始特征貢獻和閾值 以及初始特征貢獻均值閾值;
9.如權(quán)利要卞5所述的方法,其特征在于,將收集的所有樣本劃分為惡意文件和非惡 意文件兩類包括如果一個樣本的所有特征的特征貢獻和大于初始特征貢獻和閾值,并且, 該樣本的所有特征的特征貢獻均值大于初始特征貢獻均值閾值,則將該樣本劃分為惡意文 件,否則,將該樣本劃分為非惡意文件。
10.如權(quán)利要求5所述的方法,其特征在于,調(diào)整初始特征貢獻和閾值以及初始特征貢 獻均值閾值、得到特征貢獻和閾值以及特征貢獻均值閾值具體為如果將白名單樣本劃分 成惡意文件的百分比大于0. 1%,則增大初始特征貢獻和閾值以及初始特征貢獻均值閾值, 直到將白名單樣本劃分成惡意文件的百分比不大于0. 1%,將調(diào)整后的初始特征貢獻和閾值 作為特征貢獻和閾值,將調(diào)整后的初始特征貢獻均值閾值作為特征貢獻均值閾值。
11.如權(quán)利要求1所述的方法,其特征在于,根據(jù)計算得到的特征貢獻和與預先得到 的特征貢獻和閾值的大小關(guān)系,以及計算得到的特征貢獻均值與預先得到的特征貢獻均值 閾值的大小關(guān)系,確定所述未知軟件中包含惡意代碼或不包含惡意代碼包括如果計算得 到的特征貢獻和大于特征貢獻和閾值,并且計算得到的特征貢獻均值大于特征貢獻均值閾 值,則確定所述軟件中包含惡意代碼,否則確定所述軟件中不包含惡意代碼。
12.—種惡意代碼檢測系統(tǒng),其特征在于,包括特征提取模塊,用于從 知是否包含惡意代碼的軟件中提取特征; 特征貢獻庫,用于保存每個特征的貢獻度、特征貢獻和閾值和特征貢獻均值閾值,一個特征的貢獻度是指所述特征對于判斷未知軟件是包含惡意代碼的文件或不包含惡意代碼 的文件的貢獻程度;特征分析模塊,用于根據(jù)特征貢獻庫中保存的每個特征的貢獻度,計算特征提取模塊 所述軟件中提取的所有特征的特征貢獻和以及特征貢獻均值;判別模塊,用于根據(jù)特征分析模塊計算得到的特征貢獻和與特征貢獻庫中保存的特征 貢獻和閾值的大小關(guān)系,以及特征分析模塊計算得到的特征貢獻均值與特征貢獻庫中保存 的特征貢獻均值閾值的大小關(guān)系,確定所述未知軟件中包含惡意代碼或不包含惡意代碼。
13.如權(quán)利要求12所述的系統(tǒng),其特征在于,特征貢獻庫具體用于計算保存特征的貢 獻度,包括收集白名單樣本和黑名單樣本,所述白名單樣本是指樣本的靜態(tài)特征與樣本所在的系 統(tǒng)環(huán)境及樣本的活動對系統(tǒng)不會產(chǎn)生威脅的軟件,所述黑名單樣本是指樣本本身及其所在 環(huán)境能夠給系統(tǒng)帶來威脅的軟件; 提取每個樣本的特征; 計算每個特征在所有的黑名單樣本中出現(xiàn)的概率與在所有的白名單樣本中出現(xiàn)的概率;根據(jù)每個特征在所有的黑名單樣本中出現(xiàn)的概率與在所有的白名單樣本中出現(xiàn)的概 率,計算每個特征的貢獻度。
14.如權(quán)利要求13所述的系統(tǒng),其特征在于,計算每個特征的貢獻度后,還包括對所 有特征的貢獻度進行排序,保存指定范圍內(nèi)的貢獻度以及對應的特征。
15.如權(quán)利要求13或14所述的系統(tǒng),其特征在于,按照下述方式計算每個特征的貢獻 度誶
16.如權(quán)利要求12所述的系統(tǒng),其特征在于,特征貢獻庫還用于獲取特征貢獻和閾值 以及特征貢獻均值閾值,具體包括收集白名單樣本和黑名單樣本,所述白名單樣本是指一個樣本的靜態(tài)特征與樣本所在 的系統(tǒng)環(huán)境及樣本的活動對系統(tǒng)不會產(chǎn)生威脅的軟件,所述黑名單樣本是指樣本本身及其 所在環(huán)境能夠給系統(tǒng)帶來威脅的軟件; 提取每個樣本的特征;計算每個樣本中提取的所有特征的特征貢獻和以及特征貢獻均值; 根據(jù)計算得到的每個樣本中提取的所有特征的特征貢獻和與預先確定的初始特征貢 獻和閾值的大小關(guān)系,以及計算得到的每個樣本中提取的所以特征的特征貢獻均值與預先 確定的初始特征貢獻均值閾值的大小關(guān)系,將收集的所有樣本劃分為惡意文件和非惡意文 件兩類;計算將收集的白名單樣本劃分成惡意文件的百分比,或者計算將收集的黑名單樣本劃 分成非惡意文件的百分比,調(diào)整初始特征貢獻和閾值以及初始特征貢獻均值閾值,得到特 征貢獻和閾值以及特征貢獻均值閾值。
17.如權(quán)利要求12或16所述的系統(tǒng),其特征在于,按照下述方式計算所述軟件或每個樣本中提取的所有特征的特征貢獻和「zghh氣其中,
18.如權(quán)利要求12或16所述的系統(tǒng),其特征在于,按照下述方式計算所述軟件或每個樣本中提取的所有特征的特征貢獻均值
19.如權(quán)利要求16所述的系統(tǒng),其特征在于,根據(jù)計算得到的每個樣本鐘提取的所有 特征的特征貢獻和與預先確定的初始特征貢獻和閾值的大小關(guān)系,以及計算得到的每個樣 本中提取的所有特征的特征貢獻均值與預先確定的初始特征貢獻均值閾值的大小關(guān)系,將 收集的所有樣本劃分為惡意文件和非惡意文件兩類之前,還包括確定初始特征貢獻和閾 值以及初始特征貢獻均值閾值; 其中,按照下述方式確定初始特征貢獻和閾值
20.如權(quán)利要求16所述的系統(tǒng),其特征在于,將收集的所有樣本劃分為惡意文件和非 惡意文件兩類包括如果一個樣本的所有特征的特征貢獻和大于初始特征貢獻和閾值,并 且,該樣本的所有特征的特征貢獻均值大于初始特征貢獻均值閾值,則將該樣本劃分為惡 意文件,否則,將該樣本劃分為非惡意文件。
21.如權(quán)利要求16所述的系統(tǒng),其特征在于,調(diào)整初始特征貢獻和閾值以及初始特征 貢獻均值閾值、得到特征貢獻和閾值以及特征貢獻均值閾值具體為如果將白名單樣本劃 分成惡意文件的百分比大于0. 1%,則增大初始特征貢獻和閾值以及初始特征貢獻均值閾 值,直到將白名單樣本劃分成惡意文件的百分比不大于0. 1%,將調(diào)整后的初始特征貢獻和 閾值作為特征貢獻和閾值,將調(diào)整后的初始特征貢獻均值閾值作為特征貢獻均值閾值。
22.如權(quán)利要求12所述的系統(tǒng),其特征在于,判別模塊具體用于根據(jù)計算得到的特征 貢獻和與預先得到的特征貢獻和閾值的大小關(guān)系,以及計算得到的特征貢獻均值與預先得 到的特征貢獻均值閾值的大小關(guān)系,確定所述未知軟件中包含惡意代碼或不包含惡意代碼 包括如果計算得到的特征貢獻和大于特征貢獻和閾值,并且計算得到的特征貢獻均值大 于特征貢獻均值閾值,則確定所述軟件中包含惡意代碼,否則確定所述軟件中不包含惡意 代碼。
全文摘要
本發(fā)明公開了一種惡意代碼檢測方法,包括從未知是否包含惡意代碼的軟件中提取特征;根據(jù)預先得到的每個特征的貢獻度計算所述軟件中提取的所有特征的特征貢獻和以及特征貢獻均值;根據(jù)得到的特征貢獻和與預先得到的特征貢獻和閾值的大小關(guān)系,以及得到的特征貢獻均值與預先計算的特征貢獻均值閾值的大小關(guān)系,確定所述未知軟件中是否包含惡意代碼;本發(fā)明還公開了一種惡意代碼檢測系統(tǒng),包括特征提取模塊,特征貢獻庫,特征分析模塊,判別模塊。本發(fā)明通過自動化判別惡意代碼解決了目前惡意代碼數(shù)量大爆炸導致的無法及時判別的問題,從而可以及時地響應處理惡意代碼。
文檔編號G06F21/00GK101984450SQ20101058933
公開日2011年3月9日 申請日期2010年12月15日 優(yōu)先權(quán)日2010年12月15日
發(fā)明者康學斌, 張栗偉, 肖新光 申請人:北京安天電子設備有限公司