現(xiàn),具體為:分析代碼的PE結(jié)構(gòu),得到可選映像頭中的數(shù)據(jù)目錄表,并獲取其中的導(dǎo)入表地址,從導(dǎo)入表中得到導(dǎo)入的API函數(shù)的函數(shù)名。
[0024]進(jìn)一步地,所述提取已知惡意代碼樣本和待檢測惡意代碼API傳入的參數(shù),通過動態(tài)分析實現(xiàn),具體為:通過API HOOK技術(shù),鉤掛API函數(shù),得到傳入API函數(shù)的參數(shù)。
[0025]進(jìn)一步地,所述若存在API函數(shù)名相同個數(shù)大于規(guī)定閾值,則首先取API函數(shù)名相同個數(shù)最多的已知惡意代碼樣本的MD5值或HASH值,與待檢測惡意代碼的MD5值或HASH值進(jìn)行比較,若比較結(jié)果為相同,則待檢測惡意代碼與所述最大對比結(jié)果對應(yīng)的已知惡意代碼樣本相同,此時對待檢測惡意代碼進(jìn)行過濾;
若比較結(jié)果為不相同,則提取待檢測惡意代碼中所述相同API函數(shù)名對應(yīng)的API函數(shù)傳入的參數(shù),并將其對應(yīng)的與各記錄的已知惡意代碼樣本中API函數(shù)名對應(yīng)的API函數(shù)傳入的參數(shù)進(jìn)行對比。
[0026]本說明書中方法的實施例采用遞進(jìn)的方式描述,對于系統(tǒng)的實施例而言,由于其基本相似于方法實施例,所以描述的比較簡單,相關(guān)之處參見方法實施例的部分說明即可。本發(fā)明提出了一種檢測惡意代碼家族變種及新家族的方法及系統(tǒng),將現(xiàn)有惡意代碼家族及其已知的惡意代碼樣本作為訓(xùn)練數(shù)據(jù),解析待檢測惡意代碼的API函數(shù)名及其傳入的參數(shù),與訓(xùn)練數(shù)據(jù)的API函數(shù)名及其傳入的參數(shù)進(jìn)行對比,能夠準(zhǔn)確的檢測出待檢測惡意代碼屬于現(xiàn)有家族中的變種還是屬于新增家族的樣本。通過本發(fā)明的方法,可以有效的將惡意代碼按照家族進(jìn)行劃分,并發(fā)現(xiàn)新的家族,有利于分析惡意代碼作者的意圖,為后續(xù)對惡意代碼進(jìn)行針對性的防御提供便利,從而有效提高惡意代碼檢測效率,并且可以通過家族劃分來追溯惡意代碼來源。本發(fā)明首先通過API函數(shù)名的對比初步判斷待檢測惡意代碼是否屬于現(xiàn)有惡意代碼家族,考慮到API函數(shù)名可以被修改,為了更精確的判斷待檢測惡意代碼是否屬于現(xiàn)有惡意代碼家族,增加了 API函數(shù)傳入?yún)?shù)的對比,使得檢測結(jié)果更精確可靠。
[0027]雖然通過實施例描繪了本發(fā)明,本領(lǐng)域普通技術(shù)人員知道,本發(fā)明有許多變形和變化而不脫離本發(fā)明的精神,希望所附的權(quán)利要求包括這些變形和變化而不脫離本發(fā)明的精神。
【主權(quán)項】
1.一種檢測惡意代碼家族變種及新家族的方法,其特征在于,包括: 解析現(xiàn)有惡意代碼家族中的已知惡意代碼樣本,提取并存儲已知惡意代碼樣本所包含的API函數(shù)名及API函數(shù)傳入的參數(shù); 提取待檢測惡意代碼所包含的API函數(shù)名,將其分別與各已知惡意代碼樣本的API函數(shù)名進(jìn)行對比,若API函數(shù)名相同個數(shù)都不大于規(guī)定閾值,則待檢測惡意代碼為新增惡意代碼家族的惡意代碼樣本; 若存在API函數(shù)名相同個數(shù)大于規(guī)定閾值,則記錄對應(yīng)的已知惡意代碼樣本,并分別提取記錄的已知惡意代碼樣本與待檢測惡意代碼相同的API函數(shù)名; 提取待檢測惡意代碼中所述相同API函數(shù)名對應(yīng)的API函數(shù)傳入的參數(shù),并將其分別與各記錄的已知惡意代碼樣本中API函數(shù)名對應(yīng)的API函數(shù)傳入的參數(shù)進(jìn)行對比,若對比結(jié)果顯示傳入的參數(shù)完全相同,則該結(jié)果對應(yīng)的已知惡意代碼樣本的權(quán)值加1 ; 若對比結(jié)果顯示傳入的參數(shù)不完全相同,則該結(jié)果對應(yīng)的已知惡意代碼樣本的權(quán)值減1 ; 統(tǒng)計所有已知惡意代碼樣本的權(quán)值,若權(quán)值均小于規(guī)定數(shù)值,則待檢測惡意代碼為新增惡意代碼家族的惡意代碼樣本; 若存在權(quán)值不小于規(guī)定數(shù)值,則記錄權(quán)值最大的已知惡意代碼樣本,且待檢測惡意代碼為該已知惡意代碼樣本對應(yīng)的惡意代碼家族的變種。2.如權(quán)利要求1所述的方法,其特征在于,所述提取已知惡意代碼樣本所包含的API函數(shù)名,和提取待檢測惡意代碼所包含的API函數(shù)名,通過代碼靜態(tài)分析實現(xiàn),具體為:分析代碼的PE結(jié)構(gòu),得到可選映像頭中的數(shù)據(jù)目錄表,并獲取其中的導(dǎo)入表地址,從導(dǎo)入表中得到導(dǎo)入的API函數(shù)的函數(shù)名。3.如權(quán)利要求1所述的方法,其特征在于,所述提取已知惡意代碼樣本和待檢測惡意代碼API傳入的參數(shù),通過動態(tài)分析實現(xiàn),具體為:通過API HOOK技術(shù),鉤掛API函數(shù),得到傳入API函數(shù)的參數(shù)。4.如權(quán)利要求1所述的方法,其特征在于,所述若存在API函數(shù)名相同個數(shù)大于規(guī)定閾值,則首先取API函數(shù)名相同個數(shù)最多的已知惡意代碼樣本的MD5值或HASH值,與待檢測惡意代碼的MD5值或HASH值進(jìn)行比較,若比較結(jié)果為相同,則待檢測惡意代碼與所述最大對比結(jié)果對應(yīng)的已知惡意代碼樣本相同,此時對待檢測惡意代碼進(jìn)行過濾; 若比較結(jié)果為不相同,則提取待檢測惡意代碼中所述相同API函數(shù)名對應(yīng)的API函數(shù)傳入的參數(shù),并將其對應(yīng)的與各記錄的已知惡意代碼樣本中API函數(shù)名對應(yīng)的API函數(shù)傳入的參數(shù)進(jìn)行對比。5.一種檢測惡意代碼家族變種及新家族的系統(tǒng),其特征在于,包括: 現(xiàn)有惡意代碼家族解析模塊,用于解析現(xiàn)有惡意代碼家族中的已知惡意代碼樣本,提取并存儲已知惡意代碼樣本所包含的API函數(shù)名及API函數(shù)傳入的參數(shù); API函數(shù)名檢測模塊,用于提取待檢測惡意代碼所包含的API函數(shù)名,將其分別與各已知惡意代碼樣本的API函數(shù)名進(jìn)行對比,若API函數(shù)名相同個數(shù)都不大于規(guī)定閾值,則待檢測惡意代碼為新增惡意代碼家族的惡意代碼樣本,若存在API函數(shù)名相同個數(shù)大于規(guī)定閾值,則通過API參數(shù)檢測模塊進(jìn)行進(jìn)一步檢測; API參數(shù)檢測模塊,存在API函數(shù)名相同個數(shù)大于規(guī)定閾值時,用于記錄對應(yīng)的已知惡意代碼樣本,并分別提取記錄的已知惡意代碼樣本與待檢測惡意代碼相同的API函數(shù)名,提取待檢測惡意代碼中所述相同API函數(shù)名對應(yīng)的API函數(shù)傳入的參數(shù),并將其分別與各記錄的已知惡意代碼樣本中API函數(shù)名對應(yīng)的API函數(shù)傳入的參數(shù)進(jìn)行對比,若對比結(jié)果顯示傳入的參數(shù)完全相同,則該結(jié)果對應(yīng)的已知惡意代碼樣本的權(quán)值加1,若對比結(jié)果顯示傳入的參數(shù)不完全相同,則該結(jié)果對應(yīng)的已知惡意代碼樣本的權(quán)值減1 ; 權(quán)值統(tǒng)計模塊,用于統(tǒng)計所有已知惡意代碼樣本的權(quán)值,若權(quán)值均小于規(guī)定數(shù)值,則待檢測惡意代碼為新增惡意代碼家族的惡意代碼樣本,若存在權(quán)值不小于規(guī)定數(shù)值,則記錄權(quán)值最大的已知惡意代碼樣本,且待檢測惡意代碼為該已知惡意代碼樣本對應(yīng)的惡意代碼家族的變種。6.如權(quán)利要求5所述的系統(tǒng),其特征在于,所述提取已知惡意代碼樣本所包含的API函數(shù)名,和提取待檢測惡意代碼所包含的API函數(shù)名,通過代碼靜態(tài)分析實現(xiàn),具體為:分析代碼的PE結(jié)構(gòu),得到可選映像頭中的數(shù)據(jù)目錄表,并獲取其中的導(dǎo)入表地址,從導(dǎo)入表中得到導(dǎo)入的API函數(shù)的函數(shù)名。7.如權(quán)利要求5所述的系統(tǒng),其特征在于,所述提取已知惡意代碼樣本和待檢測惡意代碼API傳入的參數(shù),通過動態(tài)分析實現(xiàn),具體為:通過API HOOK技術(shù),鉤掛API函數(shù),得到傳入API函數(shù)的參數(shù)。8.如權(quán)利要求5所述的系統(tǒng),其特征在于,所述若存在API函數(shù)名相同個數(shù)大于規(guī)定閾值,則首先取API函數(shù)名相同個數(shù)最多的已知惡意代碼樣本的MD5值或HASH值,與待檢測惡意代碼的MD5值或HASH值進(jìn)行比較,若比較結(jié)果為相同,則待檢測惡意代碼與所述最大對比結(jié)果對應(yīng)的已知惡意代碼樣本相同,此時對待檢測惡意代碼進(jìn)行過濾; 若比較結(jié)果為不相同,則提取待檢測惡意代碼中所述相同API函數(shù)名對應(yīng)的API函數(shù)傳入的參數(shù),并將其對應(yīng)的與各記錄的已知惡意代碼樣本中API函數(shù)名對應(yīng)的API函數(shù)傳入的參數(shù)進(jìn)行對比。
【專利摘要】本發(fā)明公開了一種檢測惡意代碼家族變種及新家族的方法及系統(tǒng),首先通過現(xiàn)有的已知惡意代碼家族及其樣本作為訓(xùn)練數(shù)據(jù),提取其中的API函數(shù)名和API函數(shù)傳入的參數(shù),在檢測過程中,將待檢測惡意代碼的API函數(shù)名與訓(xùn)練數(shù)據(jù)的函數(shù)名進(jìn)行對比,初步判斷其是否屬于已知惡意代碼家族,然后將待檢測惡意代碼API函數(shù)傳入的參數(shù)與訓(xùn)練數(shù)據(jù)的API函數(shù)傳入的參數(shù)進(jìn)行對比,判斷其屬于現(xiàn)有家族的變種還是屬于新增家族的樣本,最終返回檢測結(jié)果。本發(fā)明彌補(bǔ)了現(xiàn)有惡意代碼檢測都為單一目標(biāo)樣本的檢測,并沒有對家族樣本進(jìn)行分類,無法直觀的發(fā)現(xiàn)目前正在活躍的家族并根據(jù)其新的變種做針對性的防御的不足,且檢測結(jié)果精確,可靠性高。
【IPC分類】G06F21/56
【公開號】CN105488409
【申請?zhí)枴緾N201410845278
【發(fā)明人】賈瓊, 李柏松
【申請人】哈爾濱安天科技股份有限公司
【公開日】2016年4月13日
【申請日】2014年12月31日