1.一種安卓系統(tǒng)惡意應用檢測方法,其特征在于,包括:
通過逆向工程反編譯應用程序的安裝文件,得到權限特征;
通過動態(tài)行為捕獲技術得到所述應用程序的行為記錄,將所述行為記錄與定義的行為鏈模型進行匹配得到行為特征;
將行為特征與所述權限特征組合成最終特征;
將多個已知應用程序的最終特征生成特征數(shù)據(jù)樣本集,機器學習算法利用所述特征數(shù)據(jù)樣本集生成分類器;
將得到未知應用程序的最終特征輸入生成的分類器,得到所述未知應用是否為惡意應用的結論。
2.根據(jù)權利要求1所述的安卓系統(tǒng)惡意應用檢測方法,其特征在于,所述將多個已知應用程序的最終特征生成特征數(shù)據(jù)樣本集,機器學習算法利用所述特征數(shù)據(jù)樣本集生成分類器的方法包括:
將多個已知正常應用程序和惡意應用程序的最終特征生成特征數(shù)據(jù)樣本集;
將所述特征數(shù)據(jù)樣本集化分為特征訓練樣本集和特征測試樣本集;
所述機器學習算法利用所述特征訓練樣本集生成分類器,所述特征測試樣本集用于測試評估生成的分類器。
3.根據(jù)權利要求2所述的安卓系統(tǒng)惡意應用檢測方法,其特征在于,所述通過逆向工程反編譯應用程序的安裝文件,得到權限特征的方法包括:
使用反編譯工具對所述應用程序的安裝文件進行反編譯;
得到所述權限特征,定義權限特征向量P=(μ1,μ2…μi…μk),其中,k表示安卓操作系統(tǒng)中系統(tǒng)權限的總個數(shù),μi表示該應用是否申請了第i個權限,i<1,μi∈{0,1},0表示沒有申請權限,1表示申請了權限。
4.根據(jù)權利要求3所述的安卓系統(tǒng)惡意應用檢測方法,其特征在于,所述將所述行為記錄與定義的行為鏈模型進行匹配得到行為特征的方法包括:
將得到的所述行為記錄與定義的所述行為鏈模型做匹配,可以得到每一個行為鏈的觸發(fā)次數(shù);
將所有行為鏈的觸發(fā)次數(shù)做歸一化處理,可以得到行為特征向量S=(σ1,σ2…σi…σm),其中,m表示行為鏈模型的總個數(shù),σi表示第i個行為鏈模型的每千條行為記錄中的觸發(fā)次數(shù),
所示將行為特征與所述權限特征組合成最終特征包括:
將權限特征向量P與行為特征向量S組合成一個最終的特征向量F:
F=(μ1,μ2…μi…μk,σ1,σ2…σi…σm)。
5.根據(jù)權利要求1-4任意一項所述的安卓系統(tǒng)惡意應用檢測方法,其特征在于,所述通過動態(tài)行為捕獲技術得到所述應用程序的行為記錄的方法包括:
將本地動態(tài)庫文件注入到目標應用程序的進程空間內(nèi);
加載所述本地動態(tài)庫;
修改Java層API在Dalvik虛擬機實例中的對應的Method結構體;
通過動態(tài)綁定,攔截API調(diào)用,即獲取所述應用程序的行為記錄。
6.一種安卓系統(tǒng)惡意應用檢測系統(tǒng),其特征在于,包括:
獲取權限特征單元,用于通過逆向工程反編譯應用程序的安裝文件,得到權限特征;
獲取行為特征單元,用于通過動態(tài)行為捕獲技術得到所述應用程序的行為記錄,將所述行為記錄與定義的行為鏈模型進行匹配得到行為特征;
生成最終特征單元,用于將匹配的行為特征與所述權限特征組合成最終特征;
生成分類器單元,用于將多個已知應用程序的最終特征生成特征數(shù)據(jù)樣本集,機器學習算法利用所述特征數(shù)據(jù)樣本集生成分類器;
檢測單元,用于將未知應用程序的最終特征輸入生成的分類器,檢測所述未知應用是否為惡意應用。
7.根據(jù)權利要求6所述的安卓系統(tǒng)惡意應用檢測系統(tǒng),其特征在于,所述生成分類器單元包括:
生成特征數(shù)據(jù)樣本集模塊,用于將多個已知正常應用程序和惡意應用程序的最終特征生成特征數(shù)據(jù)樣本集;
劃分樣本集模塊,用于將所述特征數(shù)據(jù)樣本集化分為特征訓練樣本集和特征測試樣本集;
訓練分類器模塊,用于所述機器學習算法利用所述特征訓練樣本集生成分類器,所述特征測試樣本集測試評估生成的分類器。
8.根據(jù)權利要求7所述的安卓系統(tǒng)惡意應用檢測系統(tǒng),其特征在于,所述獲取權限特征單元,進一步用于使用反編譯工具對所述應用程序的安裝文件進行反編譯,得到所述權限特征;
以及用于定義權限特征向量P=(μ1,μ2…μi…μk),其中,k表示安卓操作系統(tǒng)中系統(tǒng)權限的總個數(shù),μi表示該應用是否申請了第i個權限,i<1,μi∈{0,1},0表示沒有申請權限,1表示申請了權限。
9.根據(jù)權利要求8所述的安卓系統(tǒng)惡意應用檢測系統(tǒng),其特征在于,所述獲取行為特征單元,進一步用于將得到的所述行為記錄與定義的所述行為鏈模型做匹配,可以得到每一個行為鏈的觸發(fā)次數(shù);
以及用于將所有行為鏈的觸發(fā)次數(shù)做歸一化處理,可以得到行為特征向量S=(σ1,σ2…σi…σm),其中,m表示行為鏈模型的總個數(shù),σi表示第i個行為鏈模型的每千條行為記錄中的觸發(fā)次數(shù),
所述生成最終特征單元,進一步用于將權限特征向量P與行為特征向量S組合成一個最終的特征向量F:
F=(μ1,μ2…μi…μk,σ1,σ2…σi…σm)。
10.根據(jù)權利要求6-9任意一項所述的安卓系統(tǒng)惡意應用檢測系統(tǒng),其特征在于,所述獲取行為特征單元包括:獲取行為記錄模塊,用于將本地動態(tài)庫文件注入到目標應用程序的進程空間內(nèi);進一步用于加載所述本地動態(tài)庫,修改Java層API在Dalvik虛擬機實例中的對應的Method結構體;以及用于通過動態(tài)綁定,攔截API調(diào)用,即獲取所述應用程序的行為記錄。