欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種安卓系統(tǒng)惡意應(yīng)用檢測方法及系統(tǒng)與流程

文檔序號:12720925閱讀:282來源:國知局
一種安卓系統(tǒng)惡意應(yīng)用檢測方法及系統(tǒng)與流程

本發(fā)明涉及移動(dòng)互聯(lián)網(wǎng)信息安全領(lǐng)域,特別是指一種安卓系統(tǒng)惡意應(yīng)用檢測方法及系統(tǒng)。



背景技術(shù):

隨著智能手機(jī)的快速普及,人們進(jìn)入了移動(dòng)互聯(lián)網(wǎng)的時(shí)代。基于應(yīng)用商店的發(fā)布模式成為移動(dòng)應(yīng)用的重要模式,移動(dòng)應(yīng)用產(chǎn)業(yè)得到了快速的增長。由于移動(dòng)應(yīng)用可從移動(dòng)終端獲得大量的敏感信息,且其本身能通過移動(dòng)市場及廣告商產(chǎn)生高利潤,移動(dòng)應(yīng)用頻頻遭到了黑客的攻擊,移動(dòng)應(yīng)用安全事件頻發(fā)。魚龍混雜的第三方應(yīng)用市場,海量的移動(dòng)應(yīng)用缺乏集中有效的安全審查等,都導(dǎo)致大量的惡意移動(dòng)應(yīng)用被發(fā)布在移動(dòng)應(yīng)用市場。如何從海量的移動(dòng)應(yīng)用中精確地識(shí)別出可能會(huì)給移動(dòng)終端帶來安全隱患的惡意應(yīng)用,成為移動(dòng)應(yīng)用安全研究的重要問題之一。

現(xiàn)階段惡意應(yīng)用檢測的主要手段可以分為靜態(tài)檢測和動(dòng)態(tài)檢測。靜態(tài)檢測方法:FlowDroid通過分析目標(biāo)程序字節(jié)碼文件和組件的生命周期,可以實(shí)現(xiàn)靜態(tài)的污點(diǎn)分析,并生成函數(shù)調(diào)用圖。TaintDroid提出了系統(tǒng)級的動(dòng)態(tài)污點(diǎn)分析工具,通過標(biāo)記敏感信息,實(shí)現(xiàn)對隱私數(shù)據(jù)的信息流實(shí)時(shí)監(jiān)控;但是靜態(tài)檢測方法需要不斷的更新惡意應(yīng)用的特征庫,且僅能識(shí)別已知的惡意應(yīng)用程序。

動(dòng)態(tài)檢測方法:Kynoid在TaintDroid的基礎(chǔ)上,可以實(shí)現(xiàn)對應(yīng)用與數(shù)據(jù)之間的信息流的動(dòng)態(tài)檢測,提供實(shí)時(shí)的監(jiān)控,防止隱私的泄露;基于TaintDroid動(dòng)態(tài)檢測方法需要修改安卓操作系統(tǒng)源代碼,導(dǎo)致該方法難以推廣應(yīng)用。



技術(shù)實(shí)現(xiàn)要素:

有鑒于此,本發(fā)明的目的在于提出一種高效率、低開銷且不需要修改安卓系統(tǒng)源代碼的安卓系統(tǒng)惡意應(yīng)用檢測方法及系統(tǒng)。

基于上述目的本發(fā)明提供的安卓系統(tǒng)惡意應(yīng)用檢測方法,包括:

通過逆向工程反編譯應(yīng)用程序的安裝文件,得到權(quán)限特征;

通過動(dòng)態(tài)行為捕獲技術(shù)得到所述應(yīng)用程序的行為記錄,將所述行為記錄與定義的行為鏈模型進(jìn)行匹配得到行為特征;

將行為特征與所述權(quán)限特征組合成最終特征;

將多個(gè)已知應(yīng)用程序的最終特征生成特征數(shù)據(jù)樣本集,機(jī)器學(xué)習(xí)算法利用所述特征數(shù)據(jù)樣本集生成分類器;

將得到未知應(yīng)用程序的最終特征輸入生成的分類器,得出所述未知應(yīng)用是否為惡意應(yīng)用的結(jié)論。

進(jìn)一步的,所述將多個(gè)已知應(yīng)用程序的最終特征生成特征數(shù)據(jù)樣本集,機(jī)器學(xué)習(xí)算法利用所述特征數(shù)據(jù)樣本集化生成分類器的方法包括:

將多個(gè)已知正常應(yīng)用程序和惡意應(yīng)用程序的最終特征生成特征數(shù)據(jù)樣本集;

將所述特征數(shù)據(jù)樣本集化分為特征訓(xùn)練樣本集和特征測試樣本集;

所述機(jī)器學(xué)習(xí)算法利用所述特征訓(xùn)練樣本集生成分類器,所述特征測試樣本集測試評估生成的分類器。

進(jìn)一步的,所述通過逆向工程反編譯應(yīng)用程序的安裝文件,得到權(quán)限特征的方法包括:

使用反編譯工具對所述應(yīng)用程序的安裝文件進(jìn)行反編譯,得到所述權(quán)限特征;

定義權(quán)限特征向量P=(μ1,μ2…μi…μk),其中,k表示安卓操作系統(tǒng)中系統(tǒng)權(quán)限的總個(gè)數(shù),μi表示該應(yīng)用是否申請了第i個(gè)權(quán)限,i<1,μi∈{0,1},0表示沒有申請權(quán)限,1表示申請了權(quán)限。

進(jìn)一步的,所述將所述行為記錄與定義的行為鏈模型進(jìn)行匹配得到行為特征的方法包括:

將得到的所述行為記錄與定義的所述行為鏈模型做匹配,可以得到每一個(gè)行為鏈的觸發(fā)次數(shù);

將所有行為鏈的觸發(fā)次數(shù)做歸一化處理,可以得到行為特征向量S=(σ12…σi…σm),其中,m表示行為鏈模型的總個(gè)數(shù),σi表示第i個(gè)行為鏈模型的每千條行為記錄中的觸發(fā)次數(shù),

所示將行為特征與所述權(quán)限特征組合成最終特征包括:

將權(quán)限特征向量P與行為特征向量S組合成一個(gè)最終的特征向量F:

F=(μ12…μi…μk,σ12…σi…σm)。

進(jìn)一步的,所述通過動(dòng)態(tài)行為捕獲技術(shù)得到所述應(yīng)用程序的行為記錄的方法包括:

將本地動(dòng)態(tài)庫文件注入到目標(biāo)應(yīng)用程序的進(jìn)程空間內(nèi);

加載所述本地動(dòng)態(tài)庫;

修改Java層API(Application Programming Interface,應(yīng)用程序編程接口)在Dalvik虛擬機(jī)實(shí)例中的對應(yīng)的Method結(jié)構(gòu)體;

通過動(dòng)態(tài)綁定,攔截API(Application Programming Interface應(yīng)用程序編程接口)調(diào)用,即獲取所述應(yīng)用程序的行為記錄。

另一方面本發(fā)明還提供安卓系統(tǒng)惡意應(yīng)用檢測系統(tǒng),包括:

獲取權(quán)限特征單元,用于通過逆向工程反編譯應(yīng)用程序的安裝文件,得到權(quán)限特征;

獲取行為特征單元,用于通過動(dòng)態(tài)行為捕獲技術(shù)得到所述應(yīng)用程序的行為記錄,將所述行為記錄與定義的行為鏈模型進(jìn)行匹配得到行為特征;

生成最終特征單元,用于將匹配的行為特征與所述權(quán)限特征組合成最終特征;

生成分類器單元,用于將多個(gè)已知正常應(yīng)用程序和惡意應(yīng)用程序的最終特征生成特征數(shù)據(jù)樣本集,將所述特征數(shù)據(jù)樣本集化分為特征訓(xùn)練樣本集和特征測試樣本集,機(jī)器學(xué)習(xí)算法利用所述特征訓(xùn)練樣本數(shù)據(jù)集生成分類器,所述特征測試樣本集用于測試評估生成的分類器;

檢測單元,用于將未知應(yīng)用程序的最終特征輸入生成的分類器,檢測所述未知應(yīng)用是否為惡意應(yīng)用。

進(jìn)一步的,所述生成分類器單元包括:

生成特征數(shù)據(jù)樣本集模塊,用于將多個(gè)已知正常應(yīng)用程序和惡意應(yīng)用程序的最終特征生成特征數(shù)據(jù)樣本集;

劃分樣本集模塊,用于將所述特征數(shù)據(jù)樣本集化分為特征訓(xùn)練樣本集和特征測試樣本集;

訓(xùn)練分類器模塊,用于所述機(jī)器學(xué)習(xí)算法利用所述特征訓(xùn)練樣本集生成分類器,所述特征測試樣本集用于測試評估生成的分類器。

所述獲取權(quán)限特征單元,進(jìn)一步用于使用反編譯工具對所述應(yīng)用程序的安裝文件進(jìn)行反編譯;

以及用于得到所述權(quán)限特征后,定義權(quán)限特征向量P=(μ12…μi…μk),其中,k表示安卓操作系統(tǒng)中系統(tǒng)權(quán)限的總個(gè)數(shù),μi表示該應(yīng)用是否申請了第i個(gè)權(quán)限,i<1,μi∈{0,1},0表示沒有申請權(quán)限,1表示申請了權(quán)限。

進(jìn)一步的,所述獲取行為特征單元,進(jìn)一步用于將得到的所述行為記錄與定義的所述行為鏈模型做匹配,可以得到每一個(gè)行為鏈的觸發(fā)次數(shù);

以及用于將所有行為鏈的觸發(fā)次數(shù)做歸一化處理,可以得到行為特征向量S=(σ12…σi…σm),其中,m表示行為鏈模型的總個(gè)數(shù),σi表示第i個(gè)行為鏈模型的每千條行為記錄中的觸發(fā)次數(shù),

所述生成最終特征單元,進(jìn)一步用于將權(quán)限特征向量P與行為特征向量S組合成一個(gè)最終的特征向量F:

F=(μ12…μi…μk,σ12…σi…σm)。

進(jìn)一步的,所述獲取行為特征單元包括:獲取行為記錄模塊,用于將本地動(dòng)態(tài)庫文件注入到目標(biāo)應(yīng)用程序的進(jìn)程空間內(nèi);進(jìn)一步用于加載所述本地動(dòng)態(tài)庫;修改Java層API在Dalvik虛擬機(jī)實(shí)例中的對應(yīng)的Method結(jié)構(gòu)體;以及用于通過動(dòng)態(tài)綁定,攔截API調(diào)用,即獲取所述應(yīng)用程序的行為記錄。

從上面可以看出本發(fā)明提供的安卓系統(tǒng)惡意應(yīng)用檢測方法通過提出基于逆向工程和動(dòng)態(tài)行為采集的行為鏈模型,從移動(dòng)應(yīng)用中獲得數(shù)據(jù);通過機(jī)器學(xué)習(xí)算法對未知應(yīng)用的進(jìn)行檢測,從而實(shí)現(xiàn)對惡意應(yīng)用的有效識(shí)別,準(zhǔn)確率較高,彌補(bǔ)了傳統(tǒng)靜態(tài)檢測方法難以檢測未知應(yīng)用的不足;且本發(fā)明提供的安卓系統(tǒng)惡意應(yīng)用檢測方法不需要修改安卓系統(tǒng)源代碼,克服了動(dòng)態(tài)檢測方法需要修改安卓操作系統(tǒng)源代碼的缺陷,可用性好,并且本方法通過云端檢測有效降低移動(dòng)終端性能開銷。

附圖說明

圖1為本發(fā)明提供的安卓系統(tǒng)惡意應(yīng)用檢測方法的一個(gè)實(shí)施例流程圖;

圖2為本發(fā)明提供的安卓系統(tǒng)惡意應(yīng)用檢測方法的另一個(gè)實(shí)施例流程圖;

圖3為本發(fā)明提供的安卓系統(tǒng)惡意應(yīng)用檢測系統(tǒng)的一個(gè)實(shí)施例示意圖。

具體實(shí)施方式

為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,以下結(jié)合具體實(shí)施例,并參照附圖,對本發(fā)明進(jìn)一步詳細(xì)說明。

如圖1所示為本發(fā)明提供的安卓系統(tǒng)惡意應(yīng)用檢測方法的一個(gè)實(shí)施例流程圖,該檢測方法包括:

步驟101,通過逆向工程反編譯應(yīng)用程序的安裝文件,得到權(quán)限特征;

步驟102,通過動(dòng)態(tài)行為捕獲技術(shù)得到所述應(yīng)用程序的行為記錄,將所述行為記錄與定義的行為鏈模型進(jìn)行匹配得到行為特征;

步驟103,將行為特征與所述權(quán)限特征組合成最終特征;

步驟104,將多個(gè)已知應(yīng)用程序的最終特征生成特征數(shù)據(jù)樣本集,機(jī)器學(xué)習(xí)算法利用所述特征數(shù)據(jù)樣本集化生成分類器;

步驟105,將得到未知應(yīng)用程序的最終特征輸入生成的分類器,得出所述未知應(yīng)用是否為惡意應(yīng)用的結(jié)論。

從上面可以看出本發(fā)明提供的安卓系統(tǒng)惡意應(yīng)用檢測方法通過提出基于逆向工程和動(dòng)態(tài)行為采集的行為鏈模型,從移動(dòng)應(yīng)用中獲得數(shù)據(jù),通過機(jī)器學(xué)習(xí)算法對未知應(yīng)用的進(jìn)行檢測,從而實(shí)現(xiàn)對惡意應(yīng)用的有效識(shí)別,準(zhǔn)確率較高;本發(fā)明提供的安卓系統(tǒng)惡意應(yīng)用檢測方法不需要修改安卓系統(tǒng)源代碼,可用性好,并且本方法通過云端檢測有效降低移動(dòng)終端性能開銷。

進(jìn)一步的如圖2所示為本發(fā)明提供的安卓系統(tǒng)惡意應(yīng)用檢測方法的另一個(gè)實(shí)施例流程圖:

其中,步驟101,通過逆向工程反編譯應(yīng)用程序的安裝文件,得到權(quán)限特征的方法進(jìn)一步包括:

步驟101a,使用反編譯工具對所述應(yīng)用程序的安裝文件進(jìn)行反編譯;

步驟101b,得到所述權(quán)限特征,定義權(quán)限特征向量P=(μ12…μi…μk),其中,k表示安卓操作系統(tǒng)中系統(tǒng)權(quán)限的總個(gè)數(shù),μi表示應(yīng)用是否申請了第i個(gè)權(quán)限,i<1,μi∈{0,1},0表示沒有申請權(quán)限,1表示申請了權(quán)限。

當(dāng)一個(gè)應(yīng)用程序需要執(zhí)行有潛在風(fēng)險(xiǎn)的操作時(shí),必須先向操作系統(tǒng)申請對應(yīng)的權(quán)限,比如讀取通訊錄需要android.permission.READ_CONTACTS權(quán)限,發(fā)送短信息需要android.permission.SEND_SMS權(quán)限。因此,一個(gè)應(yīng)用程序在安裝時(shí)所申請的權(quán)限,可以在一定程度上體現(xiàn)這個(gè)應(yīng)用程序的行為與動(dòng)機(jī)。

逆向工程是通過不運(yùn)行程序代碼而通過詞法分析、語法分析、控制流分析、數(shù)據(jù)流分析等各種方式對程序文件進(jìn)行處理,從而生成程序的反匯編代碼,然后通過讀取反匯編代碼來了解程序功能。通過對安卓應(yīng)用程序安裝文件進(jìn)行逆向處理可以獲取程序源代碼和應(yīng)用的權(quán)限申請信息。

安卓應(yīng)用程序的安裝文件是一個(gè)APK(Android Package),每一個(gè)APK文件都包含一個(gè)AndroidManifest.xml文件,該文件記錄了該應(yīng)用程序在安裝時(shí)需要向操作系統(tǒng)申請的權(quán)限。

步驟101a,使用反編譯工具對所述應(yīng)用程序的安裝文件進(jìn)行反編譯具體包括:

使用apktool工具對APK文件進(jìn)行反編譯,反編譯之后得到的文件夾內(nèi)容;

使用Smali2JavaUI工具將得到的文件夾內(nèi)容的smali文件轉(zhuǎn)換為java文件,java文件包含有權(quán)限特征。

進(jìn)一步的,步驟102,通過動(dòng)態(tài)行為捕獲技術(shù)得到所述應(yīng)用程序的行為記錄,將所述行為記錄與定義的行為鏈模型進(jìn)行匹配得到行為特征具體包括:

步驟102a,基于進(jìn)程注入行為記錄采集:將本地動(dòng)態(tài)庫文件注入到目標(biāo)應(yīng)用程序的進(jìn)程空間內(nèi);加載所述本地動(dòng)態(tài)庫;修改Java層API(Application Programming Interface,應(yīng)用程序編程接口)在Dalvik虛擬機(jī)實(shí)例中的對應(yīng)的Method結(jié)構(gòu)體;通過動(dòng)態(tài)綁定,攔截API調(diào)用,即獲取所述應(yīng)用程序的行為記錄。

進(jìn)程注入是通過打包的第三方動(dòng)態(tài)鏈接庫加載到指定進(jìn)程的內(nèi)存映射中,并調(diào)用其中的入口函數(shù)從而執(zhí)行預(yù)先設(shè)定好的邏輯。進(jìn)程注入成功后,通過查看進(jìn)程的內(nèi)存映射表可以看到自己打包的動(dòng)態(tài)鏈接庫文件。

通過動(dòng)態(tài)行為捕獲技術(shù),安卓應(yīng)用程序調(diào)用安卓API時(shí)將會(huì)產(chǎn)生行為信息記錄,如調(diào)用時(shí)間、API類名、API方法名、線程號、參數(shù)、上下文等信息??梢圆捎肑SON對行為采集信息打包,利于在進(jìn)程間與網(wǎng)絡(luò)中的快速傳輸。

同時(shí)執(zhí)行步驟102b,定義的行為鏈模型為:

L=(B1,B2,…,Bn)

L表示行為鏈,B表示行為,n表示所述行為鏈的行為個(gè)數(shù)。

行為是指應(yīng)用程序在運(yùn)行時(shí)執(zhí)行了一段指令,獲取手機(jī)的GPS定位是一個(gè)行為,發(fā)起HTTP請求也是一個(gè)行為,然而一個(gè)行為本身并不具備惡意性,比如一個(gè)應(yīng)用程序獲取手機(jī)的GPS定位既有可能是在幫助用戶導(dǎo)航,也有可能是在泄露用戶的位置信息,因此,將多個(gè)行為以特定的順序組合成行為鏈,通過分析行為鏈,能更加有效的得到應(yīng)用程序的行為意圖。

步驟102c將所述行為記錄與定義的行為鏈模型進(jìn)行匹配得到行為特征,具體包括:

將得到的包含調(diào)用時(shí)間、API類名、API方法名、線程號、參數(shù)、上下文等信息的大量的行為記錄與定義的所述行為鏈模型做匹配,可以得到每一個(gè)行為鏈L的觸發(fā)次數(shù);

將所有行為鏈的觸發(fā)次數(shù)做歸一化處理,可以得到行為特征向量S=(σ12…σi…σm),其中,m表示行為鏈模型的總個(gè)數(shù),σi表示第i個(gè)行為鏈模型的每千條行為記錄中的觸發(fā)次數(shù),

步驟103,將行為特征與所述權(quán)限特征組合成最終特征,具體包括:征將權(quán)限特征向量P與行為特征向量S組合成一個(gè)最終的特征向量F:

F=(μ12…μi…μk,σ12…σi…σm)。

步驟104,將多個(gè)已知應(yīng)用程序的最終特征生成特征數(shù)據(jù)樣本集,機(jī)器學(xué)習(xí)算法利用所述特征數(shù)據(jù)樣本集化生成分類器具體包括:

步驟104a將多個(gè)已知正常應(yīng)用程序和惡意應(yīng)用程序的最終特征生成特征數(shù)據(jù)樣本集;

步驟104b,將所述特征數(shù)據(jù)樣本集化分為特征訓(xùn)練樣本集和特征測試樣本集;

步驟104c,機(jī)器學(xué)習(xí)算法利用所述特征訓(xùn)練樣本集生成分類器,所述特征測試樣本集用于測試評估生成的分類器;

分類器通過對已知類別訓(xùn)練集的分析,從中發(fā)現(xiàn)分類規(guī)則,以此預(yù)測新數(shù)據(jù)的類別。本發(fā)明可以采用貝葉斯分類器,分類原理是通過某對象的先驗(yàn)概率,利用貝葉斯公式計(jì)算出其后驗(yàn)概率,即該對象屬于某一類的概率,選擇具有最大后驗(yàn)概率的類作為該對象所屬的類。

在步驟103中可以得到任意應(yīng)用程序的所有對應(yīng)的特征向量F,在大量不同的已知應(yīng)用程序上重復(fù)這些操作,可以得到特征向量數(shù)據(jù)樣本集??梢詫⑻卣鲾?shù)據(jù)樣本集按9:1的比例分成特征訓(xùn)練樣本集和特征測試樣本集。用征訓(xùn)練樣本集訓(xùn)練貝葉斯分類器得到用于檢測惡意程序的分類器。

步驟105,將得到未知應(yīng)用程序的最終特征輸入生成的分類器,得出所述未知應(yīng)用是否為惡意應(yīng)用的結(jié)論具體包括:

檢測未知應(yīng)用時(shí),得到待測應(yīng)用程序的最終特征向量,然后將待測應(yīng)用程序的最終特征向量,輸入到訓(xùn)練完成的貝葉斯分類器,得出該未知應(yīng)用是否為惡意應(yīng)用的結(jié)論。

通過一個(gè)具體實(shí)施例進(jìn)一步說明本發(fā)明提供的檢測方法,例如:

從安卓系統(tǒng)權(quán)限中選出了30個(gè)潛在風(fēng)險(xiǎn)較高的權(quán)限。然后反編譯應(yīng)用程序的安裝文件,通過分析AndroidManifest.xml文件得到該應(yīng)用申請的權(quán)限,生成權(quán)限特征向量P。

P=(0,1,1,1,0,0,0,0,0,1,1,0,0,0,1,1,0,0,1,0,1,0,0,0,1,1,0,0,1,1)

通過動(dòng)態(tài)行為捕獲可以得到安卓應(yīng)用程序的大量行為記錄,每一條記錄都包含API方法名、調(diào)用時(shí)間、方法參數(shù)、方法返回值、進(jìn)程號、線程號的上下文信息。

以發(fā)起HTTP(HyperText Transfer Protocol超文本傳輸協(xié)議)請求為例建立行為鏈模型,應(yīng)用程序通過一系列方法調(diào)用能完成HTTP請求的發(fā)起:(1)構(gòu)造URL(Uniform Resoure Locator統(tǒng)一資源定位器)對象(2)調(diào)用URL對象的openConnection方法獲取HttpURLConnection對象(3)調(diào)用HttpURLConnection對象的getInputStream方法獲取輸入字節(jié)流(4)調(diào)用InputStream對象的read方法。由此可以得到HTTP請求的行為鏈模型L=(B1,B2,B3,B4)。

根據(jù)同樣的方法,可以定義多個(gè)有潛在風(fēng)險(xiǎn)的行為鏈模型,例如定義10個(gè)行為鏈模型。

將得到的行為鏈模型與大量的行為記錄進(jìn)行匹配,可以得到每一個(gè)行為鏈L的觸發(fā)次數(shù),并生成行為特征向量S:S=(142,49,82,73,17,251,109,207,29,41)

由權(quán)限特征向量P和行為特征向量S可以得到最終的特征向量F:F=(0,1,1,1,0,0,0,0,0,1,1,0,0,0,1,1,0,0,1,0,1,0,0,0,1,1,0,0,1,1,142,49,82,73,17,251,109,207,29,41)。

通過以上步驟可以得到任意安卓應(yīng)用程序的特征向量,例如可以選擇200個(gè)惡意應(yīng)用和200個(gè)正常應(yīng)用作為樣本集,分別分析這400個(gè)應(yīng)用程序,將得到的400個(gè)特征向量作為特征向量數(shù)據(jù)樣本集,可以將特征數(shù)據(jù)樣本集按9:1的比例分成特征訓(xùn)練樣本集和特征測試樣本集,用征訓(xùn)練樣本集訓(xùn)練貝葉斯分類器得到訓(xùn)練完成的用于檢測惡意程序的貝葉斯分類器。

檢測未知應(yīng)用時(shí),得到待測應(yīng)用程序的特征向量,然后將待測應(yīng)用程序的特征向量,輸入到訓(xùn)練完成的貝葉斯分類器,得出該未知應(yīng)用是否為惡意應(yīng)用的結(jié)論。

可見本發(fā)明提供的安卓系統(tǒng)惡意應(yīng)用檢測方法通過提出基于逆向工程和動(dòng)態(tài)行為采集的行為鏈模型,從移動(dòng)應(yīng)用中獲得數(shù)據(jù);通過機(jī)器學(xué)習(xí)算法對未知應(yīng)用的進(jìn)行檢測,從而實(shí)現(xiàn)對惡意應(yīng)用的有效識(shí)別,準(zhǔn)確率較高,彌補(bǔ)了傳統(tǒng)靜態(tài)檢測方法難以檢測未知應(yīng)用的不足;本發(fā)明提供的安卓系統(tǒng)惡意應(yīng)用檢測方法不需要修改安卓系統(tǒng)源代碼,克服了動(dòng)態(tài)檢測方法需要修改安卓操作系統(tǒng)源代碼的缺陷;并且本發(fā)明提供的檢測方法采用動(dòng)態(tài)分析與靜態(tài)分析相結(jié)合,優(yōu)勢互補(bǔ),通過云端檢測,降低移動(dòng)終端性能開銷,可見本發(fā)明提供一種高效率、低開銷且不需要修改安卓系統(tǒng)源代碼的安卓系統(tǒng)惡意應(yīng)用檢測方法。

另一方面本發(fā)明還提供安卓系統(tǒng)惡意應(yīng)用檢測系統(tǒng),如圖3所示為本發(fā)明提供的安卓系統(tǒng)惡意應(yīng)用檢測系統(tǒng)實(shí)施例示意圖,該系統(tǒng)包括:

獲取權(quán)限特征單元301,用于通過逆向工程反編譯應(yīng)用程序的安裝文件,得到權(quán)限特征;

獲取行為特征單元302,用于通過動(dòng)態(tài)行為捕獲技術(shù)得到所述應(yīng)用程序的行為記錄,將所述行為記錄與定義的行為鏈模型進(jìn)行匹配得到行為特征;

生成最終特征單元303,用于將匹配的行為特征與所述權(quán)限特征組合成最終特征;

生成分類器單元304,用于將多個(gè)已知應(yīng)用程序的最終特征生成特征數(shù)據(jù)樣本集,機(jī)器學(xué)習(xí)算法利用特征數(shù)據(jù)樣本集;

檢測單元305,用于將未知應(yīng)用程序的最終特征輸入生成的分類器,檢測所述未知應(yīng)用是否為惡意應(yīng)用。

其中,獲取權(quán)限特征單元301,進(jìn)一步用于使用反編譯工具對所述應(yīng)用程序的安裝文件進(jìn)行反編譯;以及用于得到所述權(quán)限特征后,定義權(quán)限特征向量P=(μ12…μi…μk),其中,k表示安卓操作系統(tǒng)中系統(tǒng)權(quán)限的總個(gè)數(shù),μi表示該應(yīng)用是否申請了第i個(gè)權(quán)限,i<1,μi∈{0,1},0表示沒有申請權(quán)限,1表示申請了權(quán)限。

所述定義的行為鏈模型為:

L=(B1,B2,…,Bn)

L表示行為鏈,B表示行為,n表示所述行為鏈的行為個(gè)數(shù)。

獲取行為特征單元302,進(jìn)一步用于將得到的所述行為記錄與定義的所述行為鏈模型做匹配,可以得到每一個(gè)行為鏈L的觸發(fā)次數(shù);

以及用于將所有行為鏈的觸發(fā)次數(shù)做歸一化處理,可以得到行為特征向量S=(σ12…σi…σm),其中,m表示行為鏈模型的總個(gè)數(shù),σi表示第i個(gè)行為鏈模型的每千條行為記錄中的觸發(fā)次數(shù),

生成最終特征單元303,進(jìn)一步用于將權(quán)限特征向量P與行為特征向量S組合成一個(gè)最終的特征向量F:

F=(μ12…μi…μk,σ12…σi…σm)。

進(jìn)一步的,獲取權(quán)限特征單元301包括:獲取行為記錄模塊,用于將本地動(dòng)態(tài)庫文件注入到目標(biāo)應(yīng)用程序的進(jìn)程空間內(nèi);進(jìn)一步用于加載所述本地動(dòng)態(tài)庫;修改Java層API在Dalvik虛擬機(jī)實(shí)例中的對應(yīng)的Method結(jié)構(gòu)體;以及用于通過動(dòng)態(tài)綁定,攔截API調(diào)用,即獲取所述應(yīng)用程序的行為記錄。

進(jìn)一步的,生成分類器單元304包括:

生成特征數(shù)據(jù)樣本集模塊,用于將多個(gè)已知正常應(yīng)用程序和惡意應(yīng)用程序的最終特征生成特征數(shù)據(jù)樣本集;

劃分樣本集模塊,用于將所述特征數(shù)據(jù)樣本集化分為特征訓(xùn)練樣本集和特征測試樣本集;

訓(xùn)練分類器模塊,用于所述機(jī)器學(xué)習(xí)算法利用所述特征訓(xùn)練樣本集生成分類器,所述特征測試樣本集用于測試評估生成的分類器。

可見本發(fā)明提供的安卓系統(tǒng)惡意應(yīng)用檢測方法及系統(tǒng)通過提出基于逆向工程和動(dòng)態(tài)行為采集的行為鏈模型,從移動(dòng)應(yīng)用中獲得數(shù)據(jù);通過機(jī)器學(xué)習(xí)算法對未知應(yīng)用的進(jìn)行檢測,從而實(shí)現(xiàn)對惡意應(yīng)用的有效識(shí)別,準(zhǔn)確率較高,彌補(bǔ)了傳統(tǒng)靜態(tài)檢測方法難以檢測未知應(yīng)用的不足;本發(fā)明提供的安卓系統(tǒng)惡意應(yīng)用檢測方法不需要修改安卓系統(tǒng)源代碼,克服了動(dòng)態(tài)檢測方法需要修改安卓操作系統(tǒng)源代碼的缺陷;并且本發(fā)明提供的檢測方法采用動(dòng)態(tài)分析與靜態(tài)分析相結(jié)合,優(yōu)勢互補(bǔ),通過云端檢測,降低移動(dòng)終端性能開銷,可見本發(fā)明提供了高效率、低開銷且不需要修改安卓系統(tǒng)源代碼的安卓系統(tǒng)惡意應(yīng)用檢測方法及系統(tǒng)。

所屬領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:以上任何實(shí)施例的討論僅為示例性的,并非旨在暗示本公開的范圍(包括權(quán)利要求)被限于這些例子;在本發(fā)明的思路下,以上實(shí)施例或者不同實(shí)施例中的技術(shù)特征之間也可以進(jìn)行組合,步驟可以以任意順序?qū)崿F(xiàn),并存在如上所述的本發(fā)明的不同方面的許多其它變化,為了簡明它們沒有在細(xì)節(jié)中提供。

本發(fā)明提供的安卓系統(tǒng)惡意應(yīng)用檢測方法及系統(tǒng)通過提出基于逆向工程和動(dòng)態(tài)行為采集的行為鏈模型,從移動(dòng)應(yīng)用中獲得數(shù)據(jù);通過機(jī)器學(xué)習(xí)算法對未知應(yīng)用的進(jìn)行檢測,從而實(shí)現(xiàn)對惡意應(yīng)用的有效識(shí)別,準(zhǔn)確率較高,彌補(bǔ)了傳統(tǒng)靜態(tài)檢測方法難以檢測未知應(yīng)用的不足;本發(fā)明提供的安卓系統(tǒng)惡意應(yīng)用檢測方法不需要修改安卓系統(tǒng)源代碼,克服了動(dòng)態(tài)檢測方法需要修改安卓操作系統(tǒng)源代碼的缺陷;并且本發(fā)明提供的檢測方法采用動(dòng)態(tài)分析與靜態(tài)分析相結(jié)合,優(yōu)勢互補(bǔ),通過云端檢測,降低移動(dòng)終端性能開銷,可見本發(fā)明提供了高效率、低開銷且不需要修改安卓系統(tǒng)源代碼的安卓系統(tǒng)惡意應(yīng)用檢測方法及系統(tǒng)。

另外,為簡化說明和討論,并且為了不會(huì)使本發(fā)明難以理解,在所提供的附圖中可以示出或可以不示出與集成電路(IC)芯片和其它部件的公知的電源/接地連接。此外,可以以框圖的形式示出裝置,以便避免使本發(fā)明難以理解,并且這也考慮了以下事實(shí),即關(guān)于這些框圖裝置的實(shí)施方式的細(xì)節(jié)是高度取決于將要實(shí)施本發(fā)明的平臺(tái)的(即,這些細(xì)節(jié)應(yīng)當(dāng)完全處于本領(lǐng)域技術(shù)人員的理解范圍內(nèi))。在闡述了具體細(xì)節(jié)(例如,電路)以描述本發(fā)明的示例性實(shí)施例的情況下,對本領(lǐng)域技術(shù)人員來說顯而易見的是,可以在沒有這些具體細(xì)節(jié)的情況下或者這些具體細(xì)節(jié)有變化的情況下實(shí)施本發(fā)明。因此,這些描述應(yīng)被認(rèn)為是說明性的而不是限制性的。

盡管已經(jīng)結(jié)合了本發(fā)明的具體實(shí)施例對本發(fā)明進(jìn)行了描述,但是根據(jù)前面的描述,這些實(shí)施例的很多替換、修改和變型對本領(lǐng)域普通技術(shù)人員來說將是顯而易見的。例如,其它存儲(chǔ)器架構(gòu)(例如,動(dòng)態(tài)RAM(DRAM))可以使用所討論的實(shí)施例。

本發(fā)明的實(shí)施例旨在涵蓋落入所附權(quán)利要求的寬泛范圍之內(nèi)的所有這樣的替換、修改和變型。因此,凡在本發(fā)明的精神和原則之內(nèi),所做的任何省略、修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
1
扶绥县| 甘谷县| 区。| 阿克陶县| 中江县| 北流市| 南溪县| 太原市| 枣强县| 肥东县| 濉溪县| 信阳市| 靖边县| 墨脱县| 禄丰县| 和田市| 阿合奇县| 东辽县| 启东市| 西贡区| 九寨沟县| 宁安市| 房产| 雷山县| 乐清市| 彩票| 衡东县| 襄垣县| 新宾| 宝山区| 长乐市| 长宁县| 临沧市| 安宁市| 大理市| 灵丘县| 个旧市| 夹江县| 济阳县| 贡觉县| 满城县|