[發明專利]基于API名稱和立即數的啟發式樣本檢測方法及系統有效
| 申請號: | 201510985230.2 | 申請日: | 2015-12-25 |
| 公開(公告)號: | CN105740706B | 公開(公告)日: | 2019-05-07 |
| 發明(設計)人: | 童志明;劉爽;何公道 | 申請(專利權)人: | 哈爾濱安天科技股份有限公司 |
| 主分類號: | G06F21/56 | 分類號: | G06F21/56 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 150028 黑龍江省哈爾濱*** | 國省代碼: | 黑龍江;23 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 api 名稱 立即 啟發式 樣本 檢測 方法 系統 | ||
本發明提出一種基于API名稱和立即數的啟發式樣本檢測方法及系統,包括:獲取系統文件的全部導出函數名稱,并計算各導出函數名稱的散列值;將所有導出函數名稱的散列值形成散列匹配庫;遍歷待檢測樣本的全部指令中所包含的立即數;將所述立即數與散列匹配庫中的散列值匹配,并計算匹配成功的立即數個數;判斷所述匹配成功的立即數個數是否超過閾值,如果是,則所述待檢測樣本為惡意文件,否則所述待檢測樣本為普通文件。本發明通過對API名稱進行散列計算與待檢測樣本的立即數匹配,能夠快速發現存在隱藏自身API調用的惡意代碼樣本。
技術領域
本發明涉及網絡安全技術領域,特別涉及一種基于API名稱和立即數的啟發式樣本檢測方法及系統。
背景技術
傳統的惡意代碼檢測方式是在深度分析機器指令后,根據指令序列進行相關特征的提取。這種檢測方式的原理是同一個病毒家族總是會有若干段相同的指令序列,但不足在于,指令序列必須經過大量人工分析后才能得到,有時候在惡意代碼有意隱藏的情況下,如將API調用中使用的API名稱進行散列變換,甚至得不到期望的相同指令序列,則無法對惡意代碼進行有效的檢測。
發明內容
本發明提出了一種基于API名稱和立即數的啟發式樣本檢測方法及系統,通過對API名稱進行散列計算與待檢測樣本的立即數匹配,能夠快速發現存在隱藏自身API調用的惡意代碼樣本。
一種基于API名稱和立即數的啟發式樣本檢測方法,包括:
獲取系統文件的全部導出函數名稱,并計算各導出函數名稱的散列值;
將所有導出函數名稱的散列值形成散列匹配庫;
遍歷待檢測樣本的全部指令中所包含的立即數;
將所述立即數與散列匹配庫中的散列值匹配,并計算匹配成功的立即數個數;
判斷所述匹配成功的立即數個數是否超過閾值,如果是,則所述待檢測樣本為惡意文件,否則所述待檢測樣本為普通文件;
其中,將所述立即數與散列匹配庫中的散列值匹配,具體為:若待檢測樣本存在惡意代碼,惡意代碼會將API的名稱進行散列計算,并在指令中使用散列計算數值作為指令的立即數來進行API的隱式調用的行為,即所述立即數與散列值存在匹配情況。
一種基于API名稱和立即數的啟發式樣本檢測系統,包括:
散列計算模塊,用于獲取系統文件的全部導出函數名稱,并計算各導出函數名稱的散列值;
散列匹配庫模塊,用于將所有導出函數名稱的散列值形成散列匹配庫;
遍歷模塊,用于遍歷待檢測樣本的全部指令中所包含的立即數;
匹配模塊,用于將所述立即數與散列匹配庫中的散列值匹配,并計算匹配成功的立即數個數;
判斷模塊,用于判斷所述匹配成功的立即數個數是否超過閾值,如果是,則所述待檢測樣本為惡意文件,否則所述待檢測樣本為普通文件;
其中,將所述立即數與散列匹配庫中的散列值匹配,具體為:若待檢測樣本存在惡意代碼,惡意代碼會將API的名稱進行散列計算,并在指令中使用散列計算數值作為指令的立即數來進行API的隱式調用的行為,即所述立即數與散列值存在匹配情況。
本發明的優勢在于,利用一些惡意代碼為了隱藏自身躲避檢測,會將API的名稱進行散列計算,并在指令中使用該數值作為指令的立即數來進行API的隱式調用的行為,通過將系統API名稱計算散列值,并與待檢測樣本的立即數匹配進行檢測,能夠快速準確發現存在隱藏自身API調用的惡意代碼樣本。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于哈爾濱安天科技股份有限公司,未經哈爾濱安天科技股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201510985230.2/2.html,轉載請聲明來源鉆瓜專利網。





