[發明專利]基于虛擬機內外視圖交叉比對惡意代碼行為檢測方法及系統有效
| 申請號: | 201210185449.0 | 申請日: | 2012-06-07 |
| 公開(公告)號: | CN102750475B | 公開(公告)日: | 2017-08-15 |
| 發明(設計)人: | 張文政;周安明;祝世雄;劉嘉勇;董新鋒;趙偉 | 申請(專利權)人: | 中國電子科技集團公司第三十研究所 |
| 主分類號: | G06F21/55 | 分類號: | G06F21/55;G06F9/455 |
| 代理公司: | 工業和信息化部電子專利中心11010 | 代理人: | 張紅玉 |
| 地址: | 610041 四川*** | 國省代碼: | 四川;51 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 虛擬機 內外 視圖 交叉 惡意代碼 行為 檢測 方法 系統 | ||
技術領域
本發明涉及虛擬機技術,特別涉及一種基于虛擬機內外視圖交叉比對惡意代碼行為檢測方法。
背景技術
惡意代碼分析和檢測方法,就目前而言,主要分為靜態分析檢測和動態分析檢測兩種方法。靜態分析檢測法是指在不運行惡意代碼的情況下,利用分析工具對惡意代碼的靜態特征和功能模塊進行分析,找到惡意代碼的特征字符串、惡意代碼特征代碼段,包括通信特征等。
靜態分析具有一定的局限性:(1)靜態分析主要分析目標文件的結構信息,但是不能完全得到功能語義信息,比如那些包含多個組件協作工作的語義信息,運行期分析可以很好捕獲運行期的信息;(2)對于代碼或者數據的混淆方法,比如加密、加殼、多態變形等,靜態分析往往也無能為力,而運行期分析可以避免處理這些復雜的混淆手段,因為動態執行過程中,以加密為例,進程本身會解密指令執行。
靜態檢測方法具有一定的滯后性,需要不斷更新特征庫,而且不能對加殼、變形、多態的惡意代碼進行檢測。
動態分析檢測法是通過監控惡意代碼的運行過程來了解惡意代碼的功能,主要有環境比較法和動態跟蹤法。動態分析法可以克服傳統靜態特征檢測模型的滯后性,對未知惡意代碼進行檢測。環境比較法是利用系統監視工具觀察惡意代碼運行過程中系統環境的變化,該種方法往往可以被一些惡意代碼狡猾的手段繞過。比如在一系列操作結束后,通過抹掉痕跡的方法,如刪除中間文件,刪除日志的方式,使用前后快照比較的方法,往往會忽略到這些惡意操作,而動態行為監控的方式可以記錄全部行為操作,抓住所有行為操作痕跡。
動態跟蹤法是通過跟蹤惡意代碼執行過程中使用的系統函數和指令特征來分析惡意代碼功能的技術,而目前大多數主流的安全防御技術主要是使用動態跟蹤法來實現對惡意軟件的檢測,即大家熟知的主動防御技術,同時針對虛擬機來實現對惡意軟件的分析技術在國外首先得到研究,目前國內對此研究也逐漸開始興起,大多數的使用都是基于對惡意代碼在虛擬機環境中運行,然后動態監控跟蹤其執行代碼的路徑來判斷是否滿足其惡意軟件的條件,也即常用的動態跟蹤法來檢測,不能有效地對內核級的Rootkit惡意代碼檢測,檢測準確率不高。此外如今惡意代碼的設計趨向于組件式,惡意代碼的行為特征呈現復雜的邏輯關系,單一的檢測手段也有一定的局限性。
發明內容
為了克服現有技術的不足,本發明提出了一種基于虛擬機內外視圖交叉比對的惡意代碼行為檢測方法,本方法不僅在虛擬機內部動態監控惡意代碼行為特征,還把外部監控虛擬機原始內存的技術和原有的內部監控技術結合起來,采用了多視角的動態行為實時監控方式獲取對虛擬機系統的操作行為。
本發明的基于虛擬機內外視圖交叉比對惡意代碼行為檢測方法,包括:虛擬機控制器啟動虛擬機檢測器,將分析目錄的惡意代碼發送給虛擬機檢測器,并對虛擬機檢測器進行控制;虛擬機檢測器在運行惡意代碼的同時,監視虛擬機內存的變化,同時記錄運行痕跡,并形成原始報表,當原始報表生成完畢后,再將該報表發送到綜合分析器;綜合分析器對這些報表記錄的惡意序列行為,綜合分析行為事件屬性元素間的關系以及行為上下文關系分析該惡意代碼的惡意行為。
具體地,包括下列步驟:
步驟100:服務器接受用戶提交的惡意代碼,并將其保存到本地未檢測的目錄;
步驟200:系統監控到未檢測文件目錄不為空,則啟動虛擬機進程,待虛擬機啟動完畢,上傳未檢測文件樣本;同時啟動虛擬機監視器,監控虛擬機內存運行的信息;
步驟300:當虛擬機啟動完畢,先創建一個進程,將系統信息收集單元加載起來,同時加載虛擬機監視器,當所有加載程序加載完畢,然后運行樣本;
步驟400:在執行完畢后,綜合分析器根據虛擬機檢測器發送的分析信息分析操作的惡意等級。
其中,在步驟400之后,進一步包括步驟:
當樣本在檢測過程中出現超時等待情況,則立即結束目標進程;而檢測結果文件則繼續發給綜合分析器以方便結果報表文件的生成。
其中,綜合分析器對系統數據處理后進行分析,包括:
首先得到根據時間排序的行為事件序列SeqE={E1,E2,……,En};
將執行體劃分到多個進程域或者中間文件域,建立執行體的上下文關系,完成域的劃分;劃分后的行為序列為P::{E1,E2,E8},,C1::{E3,E4},C2::{E5,E6},C3::{E7};其中,P表示父進程或者主體文件,{Ci}表示子進程或者其主體文件的組件文件;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國電子科技集團公司第三十研究所,未經中國電子科技集團公司第三十研究所許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210185449.0/2.html,轉載請聲明來源鉆瓜專利網。





