[發明專利]一種基于函數特征的惡意程序檢測方法有效
| 申請號: | 201410153802.6 | 申請日: | 2014-04-16 |
| 公開(公告)號: | CN103914657B | 公開(公告)日: | 2016-10-19 |
| 發明(設計)人: | 曾慶凱;董殿靖 | 申請(專利權)人: | 南京大學 |
| 主分類號: | G06F21/56 | 分類號: | G06F21/56 |
| 代理公司: | 南京瑞弘專利商標事務所(普通合伙) 32249 | 代理人: | 陳建和 |
| 地址: | 210093 江*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 函數 特征 惡意程序 檢測 方法 | ||
技術領域
本發明涉及惡意程序的識別和檢測,特別涉及一種基于函數語義特征的惡意程序檢測方法。
背景技術
目前惡意程序檢測大多采用了基于行為的檢測方法,利用API相關的數據流和控制流關系識別惡意行為。然而Windows的DLL加載機制使得動態庫可以被輕易替代。DLL文件的完整性驗證不夠充分和Hooking技術的出現,更使得對DLL的篡改變得異常簡單。并且,當惡意程序運行于操作系統內核中時,可以隨意篡改函數內容,甚至是系統調用的實現。即使不改變調用規則,程序實際執行的代碼已經改變。因此,基于API的檢測機制不再有效,導致檢測結果錯誤,造成漏報。
發明內容
本發明目的是:提出一種基于函數特征的惡意程序檢測方法,在函數二進制代碼的基礎上,抽取與功能相關的指令,構建具有魯棒性的函數語義特征。由于函數特征從語義層面產生,具有一定的抽象性,抗混淆和穩定性比較好。函數語義的提取來自于程序實際執行的代碼,為字節粒度的特征表示,是較為可靠的程序特征。特征的提取與系統無關,解脫了對應用程序接口甚至是系統調用的依賴,不會受到篡改系統調用或API的干擾。因此,本方法有利于更為準確地檢測和識別惡意程序,減少檢測漏報,以提高系統安全性。
本發明提供一種基于函數特征的惡意程序檢測方法,其特征是步驟如下:
(1)惡意程序的功能函數選擇:通過對惡意程序樣本的選取,經反匯編和人工分析,指定與惡意行為緊密關聯的函數為功能函數;
(2)函數特征的提取:對與惡意行為緊密關聯函數的函數體代碼進行處理,去除干擾指令,識別條件判斷語句、循環語句,轉換為其等價的表示形式,作為函數特征;
(3)惡意程序特征庫的建立:利用惡意程序樣本庫,將提取到的各惡意程序樣本的功能函數的函數特征,建立一個作為惡意程序模型的惡意程序特征庫;
(4)惡意程序檢測:依據惡意程序特征庫,對待測程序分析其所有函數的函數特征集合,判斷是否與惡意程序特征庫中特征模型相一致,以識別待測程序是否惡意程序。
本發明的有益效果,通過提取惡意程序具有魯棒性的的函數特征,將惡意程序的功能具體化表示,進而建立惡意程序特征庫。對于待檢測程序,提取其函數特征,通過與惡意程序特征庫中惡意程序特征的比對,判斷是否為惡意程序。從而實現本發明所述目的。
附圖說明
圖1表示基于函數特征的惡意程序檢測系統結構示意圖;
圖2表示惡意程序特征庫建立流程圖;
圖3惡意程序功能函數選擇流程圖;
圖4表示函數的特征提取流程圖;
圖5表示函數代碼預處理流程圖;
圖6表示函數代碼去混淆處理流程圖;
圖7表示函數代碼條件語句處理流程圖;
圖8表示循環語句處理流程圖;
圖9表示提取嵌套調用的函數特征流程圖;
圖10表示惡意程序檢測過程流程圖。
具體實施方式
下面結合附圖對本發明進行詳細說明。
圖1所示為本方法實施的整體流程和工作原理。惡意程序樣本是已收集的用于訓練的惡意程序樣本集合,并經過了規范命名和區分種類。待檢程序是待判定的未知應用程序。從惡意程序樣本集中選取惡意程序樣本,通過人工選取功能函數、對功能函數提取函數特征,并加入特征庫。在訓練過程結束后,建立惡意程序特征庫。對于待檢程序,提取所有函數。這些函數經過預處理、去混淆、條件語句和循環語句處理、嵌套調用處理后,獲取其函數特征集合。將各函數的函數特征與惡意程序特征庫比對,判定待檢程序是否是惡意程序。在本方法中,利用了反匯編軟件objdump和IDA(實現語言為IDC和IDA?python)對惡意程序樣本的選取。惡意程序特征庫中的內容是特征經過SHA-1計算后的結果,即每個特征互不相同,都表示為40位長度的字符串。
圖2表示建立惡意程序特征庫過程的流程。具體流程如下。步驟20是開始狀態。步驟21從惡意程序樣本集合中取惡意程序樣本,步驟22判斷惡意程序樣本是否取到,若取到轉步驟23,否則轉步驟26。步驟23選擇惡意程序的功能函數,具體處理流程如圖3所示。通過人工選取功能函數、對功能函數提取函數特征;步驟24判斷是否取到功能函數,若取到,轉步驟25,否則返回步驟21。步驟25功能函數的函數特征提取,具體處理流程如圖4所示。步驟26將生成的函數特征計算SHA-1哈希值,存入惡意程序特征庫中。步驟27是結束狀態。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于南京大學,未經南京大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410153802.6/2.html,轉載請聲明來源鉆瓜專利網。





