一種對Android加固應用的惡意代碼檢測方法及系統的制作方法
【專利摘要】本發明公開了一種對Android加固應用的惡意代碼檢測方法及系統,首先,加載待檢測目標APK,啟動虛擬執行環境;模擬安裝待檢測目標APK,模擬全局消息變量的注冊過程,模擬資源加載,模擬代碼加載和執行;判斷模擬流程是否能夠正常進行,若是,則獲取虛擬內存中出現的新增文件,并對所述新增文件進行是否惡意的檢測,否則中斷模擬流程,對虛擬內存數據進行完整掃描和檢測,并輸出檢測結果。從而實現對經過加密和混淆技術處理的應用進行惡意代碼的檢測。
【專利說明】—種對Android加固應用的惡意代碼檢測方法及系統
【技術領域】
[0001]本發明涉及移動終端惡意代碼檢測【技術領域】,尤其涉及一種對Android加固應用的惡意代碼檢測方法及系統。
【背景技術】
[0002]隨著移動互聯網的高速發展,移動開發者的數量急劇增多,開發技術不斷的升級,目前出現了大量的對移動應用進行安全防護和保護的技術。其通過對開發者已有的應用采取加密,混淆等技術,從而實現對開發者的程序進行保護。
[0003]由于在Android系統上,大多數情況下,正常應用都不具備最高的Root權限,也無法訪問到其它應用的內存數據。因此無法對其它應用的內存中的數據進行檢測。同時目前現有的Android惡意代碼檢測方法通常都是針對Android應用的APK文件或DEX文件來進行檢測的。而對于加固之后的應用,其往往采取各種保護機制和動態加載機制,使得真實的代碼數據都不以任何文件的形態明文出現,因此使得目前已有的惡意代碼檢測方法都無法進行有效的檢測。
【發明內容】
[0004]針對上述技術問題,本發明提供了一種對Android加固應用的惡意代碼檢測方法及系統,該發明通過在虛擬環境中模擬執行待檢測APK,監控其新增文件,并對所述新增文件進行是否惡意的檢測,從而有效解決加固應用無法有效檢測的問題。
[0005]本發明采用如下方法來實現:一種對Android加固應用的惡意代碼檢測方法,包括:
加載待檢測目標APK,啟動虛擬執行環境;
模擬安裝待檢測目標APK,模擬全局消息變量的注冊過程,模擬資源加載,模擬代碼加載和執行;
判斷模擬流程是否能夠正常進行,若是,則獲取虛擬內存中出現的新增文件,并對所述新增文件進行是否惡意的檢測,否則中斷模擬流程,對虛擬內存數據進行完整掃描和檢測,并輸出檢測結果。
[0006]進一步地,所述虛擬執行環境需要模擬執行環境所需的數據資源和系統功能資源,包括:模擬系統內存環境、模擬磁盤環境、系統消息注冊功能和系統調用功能。
[0007]本發明采用如下系統來實現:一種對Android加固應用的惡意代碼檢測系統,包括:
準備模塊,用于加載待檢測目標APK,啟動虛擬執行環境;
模擬模塊,用于模擬安裝待檢測目標APK,模擬全局消息變量的注冊過程,模擬資源加載,模擬代碼加載和執行;
判定模塊,用于判斷模擬流程是否能夠正常進行,若是,則獲取虛擬內存中出現的新增文件,并對所述新增文件進行是否惡意的檢測,否則中斷模擬流程,對虛擬內存數據進行完整掃描和檢測,并輸出檢測結果。
[0008]進一步地,所述虛擬執行環境需要模擬執行環境所需的數據資源和系統功能資源,包括:模擬系統內存環境、模擬磁盤環境、系統消息注冊功能和系統調用功能。
[0009]綜上所述,本發明提供了一種對Android加固應用的惡意代碼檢測方法及系統,本發明基于Dalvik運行時執行機理,通過模仿構造dex的執行的前置準備環節,實現對目標APK的仿真執行加載,從而在內存中獲得目標APK的虛擬內存數據,進而可以實現對加固應用的代碼數據進行惡意代碼檢測。并進而有效的解決現有Android惡意代碼檢測技術無法有效檢測Android加固應用的現狀。
【專利附圖】
【附圖說明】
[0010]為了更清楚地說明本發明的技術方案,下面將對實施例中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明中記載的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
[0011]圖1為本發明提供的一種對Android加固應用的惡意代碼檢測方法流程圖;
圖2為本發明提供的一種對Android加固應用的惡意代碼檢測系統結構圖。
【具體實施方式】
[0012]本發明給出了一種對Android加固應用的惡意代碼檢測方法及系統,為了使本【技術領域】的人員更好地理解本發明實施例中的技術方案,并使本發明的上述目的、特征和優點能夠更加明顯易懂,下面結合附圖對本發明中技術方案作進一步詳細的說明:
本發明首先提供了一種對Android加固應用的惡意代碼檢測方法,如圖1所示,包括: SlOl加載待檢測目標APK,啟動虛擬執行環境;
S102模擬安裝待檢測目標APK,模擬全局消息變量的注冊過程,模擬資源加載,模擬代碼加載和執行;
S103判斷模擬流程是否能夠正常進行,若是,則獲取虛擬內存中出現的新增文件,并對所述新增文件進行是否惡意的檢測,否則中斷模擬流程,對虛擬內存數據進行完整掃描和檢測,并輸出檢測結果。
[0013]優選地,所述虛擬執行環境需要模擬執行環境所需的數據資源和系統功能資源,包括:模擬系統內存環境、模擬磁盤環境、系統消息注冊功能和系統調用功能。
[0014]本發明還提供了一種對Android加固應用的惡意代碼檢測系統,如圖2所示,包括:
準備模塊201,用于加載待檢測目標APK,啟動虛擬執行環境;
模擬模塊202,用于模擬安裝待檢測目標APK,模擬全局消息變量的注冊過程,模擬資源加載,模擬代碼加載和執行;
判定模塊203,用于判斷模擬流程是否能夠正常進行,若是,則獲取虛擬內存中出現的新增文件,并對所述新增文件進行是否惡意的檢測,否則中斷模擬流程,對虛擬內存數據進行完整掃描和檢測,并輸出檢測結果。
[0015]進一步地,所述虛擬執行環境需要模擬執行環境所需的數據資源和系統功能資源,包括:模擬系統內存環境、模擬磁盤環境、系統消息注冊功能和系統調用功能。[0016]如上所述,本發明給出了一種對Android加固應用的惡意代碼檢測方法及系統的具體實施例,其與傳統方法的區別在于,傳統的android系統惡意代碼檢測方法是針對APK文件或者DEX文件來進行檢測的,而對于進行加密或者混淆處理之后的應用程序沒有檢測能力。本發明通過準備虛擬執行環境,并在此虛擬執行環境中模擬安裝APK,并模擬資源加載,模擬代碼加載和模擬代碼執行過程,并判斷模擬執行過程是否正常進行,若是,則獲取虛擬系統內存中的新增文件,判斷所述新增文件的安全性,否則對虛擬內存數據進行完整檢測和判定。本發明基于Dalvik的執行機理,在虛擬環境中模擬待檢測應用的安裝和執行過程,從而有效獲取待檢測APK虛擬內存數據,從而有效檢測其APK的安全性。
[0017]以上實施例用以說明而非限制本發明的技術方案。不脫離本發明精神和范圍的任何修改或局部替換,均應涵蓋在本發明的權利要求范圍當中。
【權利要求】
1.一種對Android加固應用的惡意代碼檢測方法,其特征在于,包括: 加載待檢測目標APK,啟動虛擬執行環境; 模擬安裝待檢測目標APK,模擬全局消息變量的注冊過程,模擬資源加載,模擬代碼加載和執行; 判斷模擬流程是否能夠正常進行,若是,則獲取虛擬內存中出現的新增文件,并對所述新增文件進行是否惡意的檢測,否則中斷模擬流程,對虛擬內存數據進行完整掃描和檢測,并輸出檢測結果。
2.如權利要求1所述的方法,其特征在于,所述虛擬執行環境需要模擬執行環境所需的數據資源和系統功能資源,包括:模擬系統內存環境、模擬磁盤環境、系統消息注冊功能和系統調用功能。
3.一種對Android加固應用的惡意代碼檢測系統,其特征在于,包括: 準備模塊,用于加載待檢測目標APK,啟動虛擬執行環境; 模擬模塊,用于模擬安裝待檢測目標APK,模擬全局消息變量的注冊過程,模擬資源加載,模擬代碼加載和執行; 判定模塊,用于判斷模擬流程是否能夠正常進行,若是,則獲取虛擬內存中出現的新增文件,并對所述新增文件進行是否惡意的檢測,否則中斷模擬流程,對虛擬內存數據進行完整掃描和檢測,并輸出檢測結果。
4.如權利要求3所述的系統,其特征在于,所述虛擬執行環境需要模擬執行環境所需的數據資源和系統功能資源,包括:模擬系統內存環境、模擬磁盤環境、系統消息注冊功能和系統調用功能。
【文檔編號】G06F21/56GK103902908SQ201310725137
【公開日】2014年7月2日 申請日期:2013年12月25日 優先權日:2013年12月25日
【發明者】潘宣辰, 潘博文, 肖新光 申請人:武漢安天信息技術有限責任公司