亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

基于代碼指紋識別的惡意腳本啟發(fā)式檢測方法及系統(tǒng)與流程

文檔序號:11156198閱讀:1039來源:國知局
基于代碼指紋識別的惡意腳本啟發(fā)式檢測方法及系統(tǒng)與制造工藝

本發(fā)明涉及計算機網(wǎng)絡(luò)安全領(lǐng)域,特別涉及一種基于代碼指紋識別的惡意腳本啟發(fā)式檢測方法及系統(tǒng)。



背景技術(shù):

隨著計算機的更新?lián)Q代及互聯(lián)網(wǎng)的普及,惡意代碼也響應(yīng)的發(fā)生著演變,無論是從數(shù)量上還是總類上都呈現(xiàn)出較高的增長趨勢。其中,腳本類的惡意代碼也在頻頻出現(xiàn)在我們的周圍。

傳統(tǒng)的啟發(fā)式檢測技術(shù)針對樣本實體來進行分析,例如分析邏輯結(jié)構(gòu)、虛擬環(huán)境中動態(tài)執(zhí)行等等,從而進行啟發(fā)式檢測,但是現(xiàn)有的啟發(fā)式檢測方法不夠快捷,一定程度上比較浪費資源。



技術(shù)實現(xiàn)要素:

針對上述問題,本發(fā)明提出一種基于代碼指紋識別的惡意腳本啟發(fā)式檢測方法及系統(tǒng),解決了現(xiàn)有檢測方法速度較慢的問題,有效的提高了檢測速度及準確度。

首先本發(fā)明提出一種基于代碼指紋識別的惡意腳本啟發(fā)式檢測方法,包括:

獲取輸入的待檢測腳本文件;

提取待檢測腳本文件中的代碼指紋屬性;

將代碼指紋屬性生成代碼指紋;

將所述代碼指紋與代碼指紋庫匹配,若匹配成功,則根據(jù)代碼指紋庫確定待檢測腳本文件來源,及待檢測腳本文件的惡意度;否則對待檢測腳本文件進行分析;

分析待檢測腳本文件,若所述待檢測腳本分析結(jié)果為惡意,則將提取到的代碼指紋及代碼來源添加到代碼指紋庫;若所述待檢測腳本分析結(jié)果為非惡意,則放行所述待檢測腳本文件。

所述的方法中,所述代碼指紋屬性為根據(jù)已知惡意腳本文件確定的代碼屬性,包括詞組縮寫、單詞拼寫、關(guān)鍵詞、函數(shù)命名及參數(shù)名。

所述的方法中,所述代碼指紋庫由已知惡意腳本文件確定的代碼指紋屬性、對應(yīng)權(quán)值及惡意腳本文件來源組成。

所述的方法中,將代碼指紋屬性生成代碼指紋具體為:待檢測腳本文件中提取到的所有代碼指紋屬性組成的數(shù)組,即為待檢測腳本文件的代碼指紋。

所述的方法中,將所述代碼指紋與代碼指紋庫匹配,具體為:將所述代碼指紋與代碼指紋庫匹配,并計算匹配的代碼指紋的權(quán)值和,若權(quán)值和大于預設(shè)值,則匹配成功。

本發(fā)明還提出一種基于代碼指紋識別的惡意腳本啟發(fā)式檢測系統(tǒng),包括:

獲取模塊,用于獲取輸入的待檢測腳本文件;

指紋提取模塊,用于提取待檢測腳本文件中的代碼指紋屬性;

指紋生成模塊,用于將代碼指紋屬性生成代碼指紋;

匹配模塊,用于將所述代碼指紋與代碼指紋庫匹配,若匹配成功,則根據(jù)代碼指紋庫確定待檢測腳本文件來源,及待檢測腳本文件的惡意度;否則對待檢測腳本文件進行分析;

腳本分析模塊,用于分析待檢測腳本文件,若所述待檢測腳本分析結(jié)果為惡意,則將提取到的代碼指紋及代碼來源添加到代碼指紋庫;若所述待檢測腳本分析結(jié)果為非惡意,則放行所述待檢測腳本文件;

代碼指紋庫模塊,用于存儲代碼指紋庫。

所述的系統(tǒng)中,所述代碼指紋屬性為根據(jù)已知惡意腳本文件確定的代碼屬性,包括詞組縮寫、單詞拼寫、關(guān)鍵詞、函數(shù)命名及參數(shù)名。

所述的系統(tǒng)中,所述代碼指紋庫由已知惡意腳本文件確定的代碼指紋屬性、對應(yīng)權(quán)值及惡意腳本文件來源組成。

所述的系統(tǒng)中,將代碼指紋屬性生成代碼指紋具體為:待檢測腳本文件中提取到的所有代碼指紋屬性組成的數(shù)組,即為待檢測腳本文件的代碼指紋。

所述的系統(tǒng)中,將所述代碼指紋與代碼指紋庫匹配,具體為:將所述代碼指紋與代碼指紋庫匹配,并計算匹配的代碼指紋的權(quán)值和,若權(quán)值和大于預設(shè)值,則匹配成功。

本發(fā)明的關(guān)鍵在于,通過提取腳本編寫特有的語法習慣、編寫特點等作為代碼指紋屬性,然后通過相關(guān)規(guī)則轉(zhuǎn)換為代碼指紋,再錄入代碼指紋庫。當遇到未知腳本代碼時,將提取到的代碼指紋,與代碼指紋庫進行匹配,再根據(jù)匹配到的來源的可信性進行惡意度的判定。

本發(fā)明方法相比傳統(tǒng)的啟發(fā)式檢測,不需要進行復雜的邏輯分析,也不需要虛擬環(huán)境來動態(tài)執(zhí)行腳本,而是采用基于代碼指紋,根據(jù)代碼來源的惡意性來進行啟發(fā)式檢測,可以有效的提高檢測的速度、準確度等。

附圖說明

為了更清楚地說明本發(fā)明或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明中記載的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。

圖1為本發(fā)明一種基于代碼指紋識別的惡意腳本啟發(fā)式檢測方法實施例流程圖;

圖2為本發(fā)明一種基于代碼指紋識別的惡意腳本啟發(fā)式檢測系統(tǒng)實施例結(jié)構(gòu)示意圖。

具體實施方式

為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明實施例中的技術(shù)方案,并使本發(fā)明的上述目的、特征和優(yōu)點能夠更加明顯易懂,下面結(jié)合附圖對本發(fā)明中技術(shù)方案作進一步詳細的說明。

針對腳本類的惡意代碼,傳統(tǒng)的啟發(fā)式檢測需要分析邏輯結(jié)構(gòu)等,不夠快捷。因此在這里提出一種比較快捷的針對腳本類的啟發(fā)式檢測方法。

正如生物指紋可以唯一的標識一個人,每個代碼編寫者都會有自己的語法特點與編寫習慣,稱之為代碼指紋。對于解釋執(zhí)行類腳本,即不需要經(jīng)歷編譯環(huán)節(jié)的語言,可以最大限度的保留作者的代碼指紋,例如python、lua、php等。這些特點與習慣都是一個代碼編寫者的慣有習慣,可以幫助我們進行來源追溯。例如:當一些惡意程序的作者的某一個變量名書寫會產(chǎn)生特定的錯誤,并且會習慣的將該項錯誤延續(xù)下去,我們可以將該種錯誤記錄為指紋的一個屬性依據(jù)。那么,一旦我們準確收集到某惡意代碼作者的代碼指紋,當再次出現(xiàn)來源于該作者的腳本代碼時,我們便可以與代碼指紋庫進行匹配,這樣便可以快速的追蹤到該代碼作者,來進行啟發(fā)式檢測。

本發(fā)明提出一種基于代碼指紋識別的惡意腳本啟發(fā)式檢測方法及系統(tǒng),解決了現(xiàn)有檢測方法速度較慢的問題,有效的提高了檢測速度及準確度。

首先本發(fā)明提出一種基于代碼指紋識別的惡意腳本啟發(fā)式檢測方法,如圖1所示,包括:

S101:獲取輸入的待檢測腳本文件;

S102:提取待檢測腳本文件中的代碼指紋屬性;

S103:將代碼指紋屬性生成代碼指紋;

S104:將所述代碼指紋與代碼指紋庫匹配,若匹配成功,則根據(jù)代碼指紋庫確定待檢測腳本文件來源,及待檢測腳本文件的惡意度;否則執(zhí)行S105;

S105:分析待檢測腳本文件,若所述待檢測腳本分析結(jié)果為惡意,則執(zhí)行S106;若所述待檢測腳本分析結(jié)果為非惡意,則放行所述待檢測腳本文件;代碼指紋庫是一個不斷豐富的過程。當我們遇到指紋庫不匹配的腳本時,就要進行分析,從而得到該代碼的惡意行判定,一旦判定為惡意,就要獲取該代碼的代碼指紋,錄入代碼指紋庫;

S106:將提取到的代碼指紋及代碼來源添加到代碼指紋庫。

所述的方法中,所述代碼指紋屬性為根據(jù)已知惡意腳本文件確定的代碼屬性,包括詞組縮寫、單詞拼寫、關(guān)鍵詞、函數(shù)命名及參數(shù)名。這里的代碼屬性即為代碼編寫者的編寫特點,包括但不限于語法習慣、詞組縮寫習慣、單詞誤寫習慣等等。隨著代碼指紋屬性的收集,代碼指紋庫將不斷擴大,越來越完善。如:單詞誤寫習慣:關(guān)鍵字中的result,被寫成resault, 這是一個代碼指紋屬性;短語命名習慣:短語由單詞全拼連接,比如analy_line_data, 這是一個代碼指紋屬性;函數(shù)命名習慣:函數(shù)命名func_get(),func字符串可以為一個代碼指紋屬性;代碼注釋習慣:每份代碼里都會加一個僅屬于自己的標記,比如 XXX 注釋等等。

所述的方法中,所述代碼指紋庫由已知惡意腳本文件確定的代碼指紋屬性、對應(yīng)權(quán)值及惡意腳本文件來源組成。即每個代碼編寫者在代碼指紋庫中都有自己的代碼指紋屬性列表及權(quán)值匹配額度。

所述的方法中,將代碼指紋屬性生成代碼指紋具體為:待檢測腳本文件中提取到的所有代碼指紋屬性組成的數(shù)組,即為待檢測腳本文件的代碼指紋。

所述的方法中,將所述代碼指紋與代碼指紋庫匹配,具體為:將所述代碼指紋與代碼指紋庫匹配,并計算匹配的代碼指紋的權(quán)值和,若權(quán)值和大于預設(shè)值,則匹配成功。

舉例來說,假設(shè)對于待檢測腳本文件提取到代碼指紋屬性為A、B、C,則其代碼指紋為{A、B、C},其對應(yīng)權(quán)值分別為0.2、0.1、0.3,計算權(quán)值和為0.6,若預設(shè)值為0.5,由于權(quán)值和大于預設(shè)值,則匹配成功,根據(jù)代碼指紋庫中的代碼來源,確定該腳本文件的惡意度。

本發(fā)明還提出一種基于代碼指紋識別的惡意腳本啟發(fā)式檢測系統(tǒng),如圖2所示,包括:

獲取模塊201,用于獲取輸入的待檢測腳本文件;

指紋提取模塊202,用于提取待檢測腳本文件中的代碼指紋屬性;

指紋生成模塊203,用于將代碼指紋屬性生成代碼指紋;

匹配模塊204,用于將所述代碼指紋與代碼指紋庫匹配,若匹配成功,則根據(jù)代碼指紋庫確定待檢測腳本文件來源,及待檢測腳本文件的惡意度;否則對待檢測腳本文件進行分析;

腳本分析模塊205,用于分析待檢測腳本文件,若所述待檢測腳本分析結(jié)果為惡意,則將提取到的代碼指紋及代碼來源添加到代碼指紋庫;若所述待檢測腳本分析結(jié)果為非惡意,則放行所述待檢測腳本文件;

代碼指紋庫模塊206,用于存儲代碼指紋庫。

所述的系統(tǒng)中,所述代碼指紋屬性為根據(jù)已知惡意腳本文件確定的代碼屬性,包括詞組縮寫、單詞拼寫、關(guān)鍵詞、函數(shù)命名及參數(shù)名。

所述的系統(tǒng)中,所述代碼指紋庫由已知惡意腳本文件確定的代碼指紋屬性、對應(yīng)權(quán)值及惡意腳本文件來源組成。

所述的系統(tǒng)中,將代碼指紋屬性生成代碼指紋具體為:待檢測腳本文件中提取到的所有代碼指紋屬性組成的數(shù)組,即為待檢測腳本文件的代碼指紋。

所述的系統(tǒng)中,將所述代碼指紋與代碼指紋庫匹配,具體為:將所述代碼指紋與代碼指紋庫匹配,并計算匹配的代碼指紋的權(quán)值和,若權(quán)值和大于預設(shè)值,則匹配成功。

本發(fā)明的關(guān)鍵在于,通過提取腳本編寫特有的語法習慣、編寫特點等作為代碼指紋屬性,然后通過相關(guān)規(guī)則轉(zhuǎn)換為代碼指紋,再錄入代碼指紋庫。當遇到未知腳本代碼時,將提取到的代碼指紋,與代碼指紋庫進行匹配,再根據(jù)匹配到的來源的可信性進行惡意行的判定。

本發(fā)明方法相比傳統(tǒng)的啟發(fā)式檢測,不需要進行復雜的邏輯分析,也不需要虛擬環(huán)境來動態(tài)執(zhí)行腳本,而是采用基于代碼指紋,根據(jù)代碼來源的惡意性來進行啟發(fā)式檢測,可以有效的提高檢測的速度、準確度等。

雖然通過實施例描繪了本發(fā)明,本領(lǐng)域普通技術(shù)人員知道,本發(fā)明有許多變形和變化而不脫離本發(fā)明的精神,希望所附的權(quán)利要求包括這些變形和變化而不脫離本發(fā)明的精神。

當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1