移動設(shè)備應(yīng)用程序的安全檢測方法及裝置制造方法
【專利摘要】本發(fā)明提供了一種移動設(shè)備應(yīng)用程序的安全檢測方法及裝置,涉及安卓應(yīng)用檢測【技術(shù)領(lǐng)域】,方法包括對多個待測應(yīng)用程序進行特征碼掃描,獲取待測特征碼;將所述待測特征碼與一預(yù)先設(shè)置的特征碼庫中的預(yù)存特征碼進行比對,確定所述預(yù)存特征碼中是否有所述待測特征碼;將所述待測應(yīng)用程序進行反編譯,獲取到所述待測應(yīng)用程序的代碼;通過所述待測應(yīng)用程序的代碼確定所述待測應(yīng)用程序是否有風(fēng)險;運行所述待測應(yīng)用程序,根據(jù)所述待測應(yīng)用程序的代碼對所述待測應(yīng)用程序進行動態(tài)行為監(jiān)控,確定所述待測應(yīng)用程序運行時是否有惡意行為發(fā)生。本發(fā)明能夠解決當(dāng)前對應(yīng)用程序的安全檢測不全面,對繁多的應(yīng)用程序進行檢測的時間較長的問題。
【專利說明】移動設(shè)備應(yīng)用程序的安全檢測方法及裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及安卓應(yīng)用檢測【技術(shù)領(lǐng)域】,尤其涉及移動設(shè)備應(yīng)用程序的安全檢測方法及裝置。
【背景技術(shù)】
[0002]近年來,移動設(shè)備(例如智能手機和平板電腦)的發(fā)展十分迅速,伴隨著移動設(shè)備的發(fā)展,大量的移動應(yīng)用程序也越來越多,而目前很多移動應(yīng)用程序并非來自于安卓官方網(wǎng)站,例如論壇、游戲下載等網(wǎng)站同樣可以下載到移動應(yīng)用程序的安裝包(如APK文件)。因此,目前移動應(yīng)用程序的安全性參差不齊,很多移動應(yīng)用程序存在惡意的行為,影響到了用戶的信息、設(shè)備和財產(chǎn)安全,因此目前對終端應(yīng)用程序的安全性檢測尤為重要。
[0003]為了保證應(yīng)用程序用戶的信息、設(shè)備和財產(chǎn)安全,現(xiàn)有技術(shù)中有多種應(yīng)用程序的安全檢測方法。對于應(yīng)用程序的檢測主要分為兩個方面,即應(yīng)用程序防攻擊性檢測和應(yīng)用程序惡意性檢測。應(yīng)用程序防攻擊性表示應(yīng)用防御其它應(yīng)用或者網(wǎng)絡(luò)攻擊的能力,應(yīng)用程序惡意性表示應(yīng)用本身是否具有惡意行為。目前,防攻擊性檢測主要是進行漏洞檢查,而惡意性檢測的方法則各不相同,例如病毒庫掃描等。
[0004]但是,當(dāng)前對應(yīng)用程序的安全檢測方式較為單一,每次檢測選擇的檢測方式不同,也導(dǎo)致了檢測的不全面,對繁多的應(yīng)用程序進行檢測的時間較長。
【發(fā)明內(nèi)容】
[0005]本發(fā)明的實施例提供一種移動設(shè)備應(yīng)用程序的安全檢測方法及裝置,以解決當(dāng)前對應(yīng)用程序的安全檢測方式較為單一,每次檢測選擇的檢測方式不同,也導(dǎo)致了檢測的不全面,對繁多的應(yīng)用程序進行檢測的時間較長的問題。
[0006]為達到上述目的,本發(fā)明采用如下技術(shù)方案:
[0007]—種移動設(shè)備應(yīng)用程序的安全檢測方法,包括:
[0008]對多個待測應(yīng)用程序進行特征碼掃描,獲取到各待測應(yīng)用程序的待測特征碼;
[0009]將所述待測特征碼與一預(yù)先設(shè)置的特征碼庫中的預(yù)存特征碼進行比對,確定所述預(yù)存特征碼中是否有所述待測特征碼;
[0010]若所述預(yù)存特征碼中存在所述待測特征碼,確定所述待測特征碼對應(yīng)的待測應(yīng)用程序為惡意應(yīng)用程序;
[0011]若所述預(yù)存特征碼中不存在所述待測特征碼,將所述待測應(yīng)用程序進行反編譯,獲取到所述待測應(yīng)用程序的代碼;
[0012]通過所述待測應(yīng)用程序的代碼確定所述待測應(yīng)用程序是否有風(fēng)險;
[0013]若所述待測應(yīng)用程序有風(fēng)險,確定所述待測應(yīng)用程序為惡意應(yīng)用程序;
[0014]運行所述待測應(yīng)用程序,根據(jù)所述待測應(yīng)用程序的代碼對所述待測應(yīng)用程序進行動態(tài)行為監(jiān)控,確定所述待測應(yīng)用程序運行時是否有惡意行為發(fā)生;
[0015]若所述待測應(yīng)用程序運行時發(fā)生了惡意行為,確定所述待測應(yīng)用程序為惡意應(yīng)用程序。
[0016]進一步的,在對多個待測應(yīng)用程序進行特征碼掃描之前,包括:
[0017]根據(jù)預(yù)先設(shè)置的待測應(yīng)用程序優(yōu)先級確定對所述待測應(yīng)用程序進行特征碼掃描的順序。
[0018]另外,在將所述待測應(yīng)用程序進行反編譯之前,包括:
[0019]根據(jù)預(yù)先設(shè)置的待測應(yīng)用程序優(yōu)先級確定將所述待測應(yīng)用程序進行反編譯的順序。
[0020]具體的,所述通過所述待測應(yīng)用程序的代碼確定所述待測應(yīng)用程序是否有風(fēng)險,包括:
[0021]將所述待測應(yīng)用程序的代碼進行靜態(tài)分析,確定所述待測應(yīng)用程序的權(quán)限信息和行為信息;
[0022]列出所述行為信息的調(diào)用棧;
[0023]調(diào)用一預(yù)先設(shè)置的風(fēng)險行為判定規(guī)則庫,根據(jù)所述待測應(yīng)用程序的權(quán)限信息、所述調(diào)用棧對所述行為信息進行風(fēng)險判定;
[0024]若所述行為信息存在風(fēng)險,則確定所述待測應(yīng)用程序有風(fēng)險。
[0025]具體的,所述運行所述待測應(yīng)用程序,根據(jù)所述待測應(yīng)用程序的代碼對所述待測應(yīng)用程序進行動態(tài)行為監(jiān)控,確定所述待測應(yīng)用程序運行時是否有惡意行為發(fā)生,包括:
[0026]根據(jù)所述權(quán)限信息和行為信息對所述待測應(yīng)用程序進行動態(tài)行為監(jiān)控,確定所述待測應(yīng)用程序運行時是否有惡意行為發(fā)生;
[0027]若確定所述待測應(yīng)用程序運行時有惡意行為發(fā)生,記錄所述惡意行為發(fā)生的時間,以及確定所述待測應(yīng)用程序的代碼中該惡意行為所對應(yīng)的位置。
[0028]另外,所述移動設(shè)備應(yīng)用程序的安全檢測方法,還包括:
[0029]在所述特征碼庫中生成所述惡意應(yīng)用程序的特征碼,以更新所述特征碼庫。
[0030]一種移動設(shè)備應(yīng)用程序的安全檢測裝置,包括:
[0031]特征碼掃描單元,用于對多個待測應(yīng)用程序進行特征碼掃描,獲取到各待測應(yīng)用程序的待測特征碼;
[0032]特征碼比對單元,用于將所述特征碼掃描單元獲取到的待測特征碼與一預(yù)先設(shè)置的特征碼庫中的預(yù)存特征碼進行比對,確定所述預(yù)存特征碼中是否有所述待測特征碼;
[0033]惡意應(yīng)用程序檢測單元,用于在所述預(yù)存特征碼中存在所述待測特征碼時,確定所述待測特征碼對應(yīng)的待測應(yīng)用程序為惡意應(yīng)用程序;
[0034]反編譯單元,用于在所述預(yù)存特征碼中不存在所述待測特征碼時,將所述待測應(yīng)用程序進行反編譯,獲取到所述待測應(yīng)用程序的代碼;
[0035]風(fēng)險確定單元,用于通過所述反編譯單元獲取到的待測應(yīng)用程序的代碼確定所述待測應(yīng)用程序是否有風(fēng)險;
[0036]所述惡意應(yīng)用程序檢測單元,還用于在所述待測應(yīng)用程序有風(fēng)險時,確定所述待測應(yīng)用程序為惡意應(yīng)用程序;
[0037]動態(tài)行為監(jiān)控單元,用于運行所述待測應(yīng)用程序,根據(jù)所述待測應(yīng)用程序的代碼對所述待測應(yīng)用程序進行動態(tài)行為監(jiān)控,確定所述待測應(yīng)用程序運行時是否有惡意行為發(fā)生;
[0038]所述惡意應(yīng)用程序檢測單元,還用于在所述待測應(yīng)用程序運行時發(fā)生了惡意行為時,確定所述待測應(yīng)用程序為惡意應(yīng)用程序。
[0039]進一步的,所述移動設(shè)備應(yīng)用程序的安全檢測裝置,還包括:
[0040]特征碼掃描順序確定單元,用于根據(jù)預(yù)先設(shè)置的待測應(yīng)用程序優(yōu)先級確定對所述待測應(yīng)用程序進行特征碼掃描的順序。
[0041]進一步的,所述移動設(shè)備應(yīng)用程序的安全檢測裝置,還包括:
[0042]反編譯順序確定單元,用于根據(jù)預(yù)先設(shè)置的待測應(yīng)用程序優(yōu)先級確定將所述待測應(yīng)用程序進行反編譯的順序。
[0043]具體的,所述風(fēng)險確定單元,包括:
[0044]靜態(tài)分析模塊,用于將所述待測應(yīng)用程序的代碼進行靜態(tài)分析,確定所述待測應(yīng)用程序的權(quán)限信息和行為信息;
[0045]調(diào)用棧確定模塊,用于列出所述行為信息的調(diào)用棧;
[0046]風(fēng)險判定模塊,用于調(diào)用一預(yù)先設(shè)置的風(fēng)險行為判定規(guī)則庫,根據(jù)所述待測應(yīng)用程序的權(quán)限信息、所述調(diào)用棧對所述行為信息進行風(fēng)險判定,在所述行為信息存在風(fēng)險時,則確定所述待測應(yīng)用程序有風(fēng)險。
[0047]具體的,所述動態(tài)行為監(jiān)控單元,包括:
[0048]動態(tài)行為監(jiān)控模塊,用于根據(jù)所述權(quán)限信息和行為信息對所述待測應(yīng)用程序進行動態(tài)行為監(jiān)控,確定所述待測應(yīng)用程序運行時是否有惡意行為發(fā)生;
[0049]惡意行為信息獲取模塊,用于在確定所述待測應(yīng)用程序運行時有惡意行為發(fā)生時,記錄所述惡意行為發(fā)生的時間,以及確定所述待測應(yīng)用程序的代碼中該惡意行為所對應(yīng)的位置。
[0050]進一步的,所述移動設(shè)備應(yīng)用程序的安全檢測裝置,還包括:
[0051]特征碼庫更新單元,用于在所述特征碼庫中生成所述惡意應(yīng)用程序的特征碼,以更新所述特征碼庫。
[0052]本發(fā)明實施例提供的移動設(shè)備應(yīng)用程序的安全檢測方法及裝置,能夠?qū)Χ鄠€待測應(yīng)用程序依次進行特征碼檢測、反編譯后進行靜態(tài)分析以及動態(tài)行為分析,能夠快捷識別出多個待測應(yīng)用程序中的惡意應(yīng)用程序,避免了檢測方式單一的問題,檢測較為全面,避免了對繁多的應(yīng)用程序進行檢測的時間較長的問題。
【專利附圖】
【附圖說明】
[0053]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0054]圖1為本發(fā)明實施例提供的移動設(shè)備應(yīng)用程序的安全檢測方法的流程圖一;
[0055]圖2為本發(fā)明實施例提供的移動設(shè)備應(yīng)用程序的安全檢測方法的流程圖二 ;
[0056]圖3為本發(fā)明實施例中的安全檢測系統(tǒng)示意圖;
[0057]圖4為本發(fā)明實施例中的移動設(shè)備應(yīng)用程序的安全檢測裝置的結(jié)構(gòu)示意圖一;
[0058]圖5為本發(fā)明實施例中的移動設(shè)備應(yīng)用程序的安全檢測裝置的結(jié)構(gòu)示意圖二。
【具體實施方式】
[0059]下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0060]本發(fā)明實施例提供一種移動設(shè)備應(yīng)用程序的安全檢測方法,如圖1所示,包括:
[0061]步驟101、對多個待測應(yīng)用程序進行特征碼掃描,獲取到各待測應(yīng)用程序的待測特征碼。
[0062]步驟102、將待測特征碼與一預(yù)先設(shè)置的特征碼庫中的預(yù)存特征碼進行比對,確定預(yù)存特征碼中是否有待測特征碼。
[0063]若預(yù)存特征碼中存在待測特征碼,執(zhí)行步驟103 ;若預(yù)存特征碼中不存在待測特征碼,執(zhí)行步驟104。
[0064]步驟103、確定待測特征碼對應(yīng)的待測應(yīng)用程序為惡意應(yīng)用程序。
[0065]步驟104、將待測應(yīng)用程序進行反編譯,獲取到待測應(yīng)用程序的代碼。在步驟104之后繼續(xù)執(zhí)行步驟105。
[0066]步驟105、通過待測應(yīng)用程序的代碼確定待測應(yīng)用程序是否有風(fēng)險。
[0067]步驟106、若待測應(yīng)用程序有風(fēng)險,確定待測應(yīng)用程序為惡意應(yīng)用程序。
[0068]步驟107、運行待測應(yīng)用程序,根據(jù)待測應(yīng)用程序的代碼對待測應(yīng)用程序進行動態(tài)行為監(jiān)控,確定待測應(yīng)用程序運行時是否有惡意行為發(fā)生。
[0069]步驟108、若待測應(yīng)用程序運行時發(fā)生了惡意行為,確定待測應(yīng)用程序為惡意應(yīng)用程序。
[0070]本發(fā)明實施例提供的移動設(shè)備應(yīng)用程序的安全檢測方法,能夠?qū)Χ鄠€待測應(yīng)用程序依次進行特征碼檢測、反編譯后進行靜態(tài)分析以及動態(tài)行為分析,能夠快捷識別出多個待測應(yīng)用程序中的惡意應(yīng)用程序,避免了檢測方式單一的問題,檢測較為全面,避免了對繁多的應(yīng)用程序進行檢測的時間較長的問題。
[0071]為了使得本領(lǐng)域的技術(shù)人員更好的了解本發(fā)明,下面列舉一個更為具體的實施例,如圖2所示,本發(fā)明提供的一種移動設(shè)備應(yīng)用程序的安全檢測方法,包括:
[0072]步驟201、根據(jù)預(yù)先設(shè)置的待測應(yīng)用程序優(yōu)先級確定對待測應(yīng)用程序進行特征碼掃描的順序。
[0073]具體的,該待測應(yīng)用程序優(yōu)先級包括低優(yōu)先級、中優(yōu)先級、高優(yōu)先級、緊急優(yōu)先級,其中,待測應(yīng)用程序的默認優(yōu)先級為低優(yōu)先級。
[0074]步驟202、對多個待測應(yīng)用程序進行特征碼掃描,獲取到各待測應(yīng)用程序的待測特征碼。
[0075]步驟203、將待測特征碼與一預(yù)先設(shè)置的特征碼庫中的預(yù)存特征碼進行比對,確定預(yù)存特征碼中是否有待測特征碼。
[0076]若預(yù)存特征碼中存在待測特征碼,執(zhí)行步驟204 ;若預(yù)存特征碼中不存在待測特征碼,執(zhí)行步驟205。
[0077]其中,該特征碼庫中可以包含預(yù)存特征碼以及各種應(yīng)用程序的行為信息;例如某一應(yīng)用程序的行為信息包括該應(yīng)用程序的惡意發(fā)短信行為、惡意調(diào)用終端設(shè)備攝像頭的行為等。
[0078]步驟204、確定待測特征碼對應(yīng)的待測應(yīng)用程序為惡意應(yīng)用程序。之后繼續(xù)執(zhí)行步驟 212。
[0079]步驟205、根據(jù)預(yù)先設(shè)置的待測應(yīng)用程序優(yōu)先級確定將待測應(yīng)用程序進行反編譯的順序。在步驟205之后,繼續(xù)執(zhí)行步驟206。
[0080]步驟206、將待測應(yīng)用程序進行反編譯,獲取到待測應(yīng)用程序的代碼。
[0081]步驟207、將待測應(yīng)用程序的代碼進行靜態(tài)分析,確定待測應(yīng)用程序的權(quán)限信息和行為信息,并列出行為信息的調(diào)用棧。
[0082]步驟208、調(diào)用一預(yù)先設(shè)置的風(fēng)險行為判定規(guī)則庫,根據(jù)待測應(yīng)用程序的權(quán)限信息、調(diào)用棧對行為信息進行風(fēng)險判定。
[0083]該風(fēng)險行為判定規(guī)則庫中記錄有各種行為的風(fēng)險等級,通過該風(fēng)險行為判定規(guī)則庫可以確定待測應(yīng)用程序所進行的行為的風(fēng)險。
[0084]步驟209、若行為信息存在風(fēng)險,則確定待測應(yīng)用程序有風(fēng)險,并確定待測應(yīng)用程序為惡意應(yīng)用程序。之后繼續(xù)執(zhí)行步驟212。
[0085]在步驟208之后,還可以繼續(xù)執(zhí)行步驟210,當(dāng)然也可以不執(zhí)行步驟210的動態(tài)行為監(jiān)控。
[0086]步驟210、根據(jù)權(quán)限信息和行為信息對待測應(yīng)用程序進行動態(tài)行為監(jiān)控,確定待測應(yīng)用程序運行時是否有惡意行為發(fā)生。
[0087]步驟211、若確定待測應(yīng)用程序運行時有惡意行為發(fā)生,記錄惡意行為發(fā)生的時間,以及確定待測應(yīng)用程序的代碼中該惡意行為所對應(yīng)的位置,并確定待測應(yīng)用程序為惡意應(yīng)用程序。之后繼續(xù)執(zhí)行步驟212。
[0088]步驟212、在特征碼庫中生成惡意應(yīng)用程序的特征碼,以更新特征碼庫。
[0089]通過更新該特征碼庫,使得在步驟202和步驟203之中的特征碼掃描比對更為準確,能夠快捷的判斷出惡意應(yīng)用程序。
[0090]上述步驟201-步驟212可以由如下的安全檢測系統(tǒng)來實現(xiàn),如圖3所示,其中該安全檢測系統(tǒng)包括動態(tài)行為監(jiān)控主機31、用于顯示檢測結(jié)果的用戶主機32、防火墻33、主機34、交換機35、磁盤陣列36、特征碼掃描引擎37以及多個靜態(tài)源碼分析引擎38。其中,交換機35與磁盤陣列36、特征碼掃描引擎37以及多個靜態(tài)源碼分析引擎38兩兩連接。另夕卜,交換機35、主機34、防火墻33、用戶主機32依次連接。該用戶主機32可以連接多個動態(tài)行為監(jiān)控主機31,每個動態(tài)行為監(jiān)控主機31可以監(jiān)控多個移動設(shè)備30。
[0091]其中,動態(tài)行為監(jiān)控主機31可以根據(jù)權(quán)限信息和行為信息對待測應(yīng)用程序進行動態(tài)行為監(jiān)控,確定待測應(yīng)用程序運行時是否有惡意行為發(fā)生。
[0092]靜態(tài)源碼分析引擎38可以將待測應(yīng)用程序的代碼進行靜態(tài)分析,確定待測應(yīng)用程序的權(quán)限信息和行為信息,列出行為信息的調(diào)用棧,調(diào)用一預(yù)先設(shè)置的風(fēng)險行為判定規(guī)則庫,根據(jù)待測應(yīng)用程序的權(quán)限信息、調(diào)用棧對行為信息進行風(fēng)險判定。該靜態(tài)源碼分析引擎38的數(shù)量可以為16個或者更多,以便于同時對多個待測應(yīng)用程序的代碼進行靜態(tài)分析處理。
[0093]特征碼掃描引擎37可以對多個待測應(yīng)用程序進行特征碼掃描,獲取到各待測應(yīng)用程序的待測特征碼。
[0094]在上述確定待測應(yīng)用程序為惡意應(yīng)用程序后,可以將確定結(jié)果反饋給上述用戶主機32。
[0095]本發(fā)明實施例提供的移動設(shè)備應(yīng)用程序的安全檢測方法,能夠?qū)Χ鄠€待測應(yīng)用程序依次進行特征碼檢測、反編譯后進行靜態(tài)分析以及動態(tài)行為分析,能夠快捷識別出多個待測應(yīng)用程序中的惡意應(yīng)用程序,避免了檢測方式單一的問題,檢測較為全面,避免了對繁多的應(yīng)用程序進行檢測的時間較長的問題。同時能夠?qū)μ卣鞔a庫進行更新,提高了特征碼檢測的精度。
[0096]對應(yīng)于上述的方法實施例,本發(fā)明實施例還提供一種移動設(shè)備應(yīng)用程序的安全檢測裝置,如圖4所示,包括:
[0097]特征碼掃描單元41,可以對多個待測應(yīng)用程序進行特征碼掃描,獲取到各待測應(yīng)用程序的待測特征碼。
[0098]特征碼比對單元42,可以將該特征碼掃描單元41獲取到的待測特征碼與一預(yù)先設(shè)置的特征碼庫中的預(yù)存特征碼進行比對,確定預(yù)存特征碼中是否有待測特征碼。
[0099]惡意應(yīng)用程序檢測單元43,可以在預(yù)存特征碼中存在待測特征碼時,確定待測特征碼對應(yīng)的待測應(yīng)用程序為惡意應(yīng)用程序。
[0100]反編譯單元44,可以在預(yù)存特征碼中不存在待測特征碼時,將待測應(yīng)用程序進行反編譯,獲取到待測應(yīng)用程序的代碼。
[0101]風(fēng)險確定單元45,可以通過反編譯單元44獲取到的待測應(yīng)用程序的代碼確定待測應(yīng)用程序是否有風(fēng)險。
[0102]惡意應(yīng)用程序檢測單元43,還可以在待測應(yīng)用程序有風(fēng)險時,確定待測應(yīng)用程序為惡意應(yīng)用程序。
[0103]動態(tài)行為監(jiān)控單元46,可以運行待測應(yīng)用程序,根據(jù)待測應(yīng)用程序的代碼對待測應(yīng)用程序進行動態(tài)行為監(jiān)控,確定待測應(yīng)用程序運行時是否有惡意行為發(fā)生。
[0104]惡意應(yīng)用程序檢測單元43,還可以在待測應(yīng)用程序運行時發(fā)生了惡意行為時,確定待測應(yīng)用程序為惡意應(yīng)用程序。
[0105]進一步的,如圖5所示,移動設(shè)備應(yīng)用程序的安全檢測裝置,還包括:
[0106]特征碼掃描順序確定單元47,可以根據(jù)預(yù)先設(shè)置的待測應(yīng)用程序優(yōu)先級確定對待測應(yīng)用程序進行特征碼掃描的順序。
[0107]進一步的,如圖5所示,移動設(shè)備應(yīng)用程序的安全檢測裝置,還包括:
[0108]反編譯順序確定單元48,可以根據(jù)預(yù)先設(shè)置的待測應(yīng)用程序優(yōu)先級確定將待測應(yīng)用程序進行反編譯的順序。
[0109]具體的,風(fēng)險確定單元45,包括:
[0110]靜態(tài)分析模塊451,可以將待測應(yīng)用程序的代碼進行靜態(tài)分析,確定待測應(yīng)用程序的權(quán)限信息和行為信息。
[0111]調(diào)用棧確定模塊452,可以列出行為信息的調(diào)用棧。
[0112]風(fēng)險判定模塊453,可以調(diào)用一預(yù)先設(shè)置的風(fēng)險行為判定規(guī)則庫,根據(jù)待測應(yīng)用程序的權(quán)限信息、調(diào)用棧對行為信息進行風(fēng)險判定,在行為信息存在風(fēng)險時,則確定待測應(yīng)用程序有風(fēng)險。
[0113]具體的,動態(tài)行為監(jiān)控單元46,包括:
[0114]動態(tài)行為監(jiān)控模塊461,可以根據(jù)權(quán)限信息和行為信息對待測應(yīng)用程序進行動態(tài)行為監(jiān)控,確定待測應(yīng)用程序運行時是否有惡意行為發(fā)生。
[0115]惡意行為信息獲取模塊462,可以在確定待測應(yīng)用程序運行時有惡意行為發(fā)生時,記錄惡意行為發(fā)生的時間,以及確定待測應(yīng)用程序的代碼中該惡意行為所對應(yīng)的位置。
[0116]進一步的,如圖5所示,移動設(shè)備應(yīng)用程序的安全檢測裝置,還包括:
[0117]特征碼庫更新單元49,可以在特征碼庫中生成惡意應(yīng)用程序的特征碼,以更新特征碼庫。
[0118]值得說明的是,本發(fā)明實施例提供的移動設(shè)備應(yīng)用程序的安全檢測裝置的具體實現(xiàn)方式可以參見上述圖1和圖2所示的方法實施例,此處不再贅述。
[0119]本發(fā)明實施例提供的移動設(shè)備應(yīng)用程序的安全檢測裝置,能夠?qū)Χ鄠€待測應(yīng)用程序依次進行特征碼檢測、反編譯后進行靜態(tài)分析以及動態(tài)行為分析,能夠快捷識別出多個待測應(yīng)用程序中的惡意應(yīng)用程序,避免了檢測方式單一的問題,檢測較為全面,避免了對繁多的應(yīng)用程序進行檢測的時間較長的問題。同時能夠?qū)μ卣鞔a庫進行更新,提高了特征碼檢測的精度。
[0120]本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實施例可提供為方法、系統(tǒng)、或計算機程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實施例、完全軟件實施例、或結(jié)合軟件和硬件方面的實施例的形式。而且,本發(fā)明可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(zhì)(包括但不限于磁盤存儲器、CD-ROM、光學(xué)存儲器等)上實施的計算機程序產(chǎn)品的形式。
[0121]本發(fā)明是參照根據(jù)本發(fā)明實施例的方法、設(shè)備(系統(tǒng))、和計算機程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計算機程序指令實現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合。可提供這些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個機器,使得通過計算機或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
[0122]這些計算機程序指令也可存儲在能引導(dǎo)計算機或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
[0123]這些計算機程序指令也可裝載到計算機或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計算機或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計算機實現(xiàn)的處理,從而在計算機或其他可編程設(shè)備上執(zhí)行的指令提供用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
[0124]本發(fā)明中應(yīng)用了具體實施例對本發(fā)明的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時,對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在【具體實施方式】及應(yīng)用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對本發(fā)明的限制。
【權(quán)利要求】
1.一種移動設(shè)備應(yīng)用程序的安全檢測方法,其特征在于,包括: 對多個待測應(yīng)用程序進行特征碼掃描,獲取到各待測應(yīng)用程序的待測特征碼; 將所述待測特征碼與一預(yù)先設(shè)置的特征碼庫中的預(yù)存特征碼進行比對,確定所述預(yù)存特征碼中是否有所述待測特征碼; 若所述預(yù)存特征碼中存在所述待測特征碼,確定所述待測特征碼對應(yīng)的待測應(yīng)用程序為惡意應(yīng)用程序; 若所述預(yù)存特征碼中不存在所述待測特征碼,將所述待測應(yīng)用程序進行反編譯,獲取到所述待測應(yīng)用程序的代碼; 通過所述待測應(yīng)用程序的代碼確定所述待測應(yīng)用程序是否有風(fēng)險; 若所述待測應(yīng)用程序有風(fēng)險,確定所述待測應(yīng)用程序為惡意應(yīng)用程序; 運行所述待測應(yīng)用程序,根據(jù)所述待測應(yīng)用程序的代碼對所述待測應(yīng)用程序進行動態(tài)行為監(jiān)控,確定所述待測應(yīng)用程序運行時是否有惡意行為發(fā)生; 若所述待測應(yīng)用程序運行時發(fā)生了惡意行為,確定所述待測應(yīng)用程序為惡意應(yīng)用程序。
2.根據(jù)權(quán)利要求1所述的移動設(shè)備應(yīng)用程序的安全檢測方法,其特征在于,在對多個待測應(yīng)用程序進行特征碼掃描之前,包括: 根據(jù)預(yù)先設(shè)置的待測應(yīng)用程序優(yōu)先級確定對所述待測應(yīng)用程序進行特征碼掃描的順序。
3.根據(jù)權(quán)利要求1所述的移動設(shè)備應(yīng)用程序的安全檢測方法,其特征在于,在將所述待測應(yīng)用程序進行反編譯之前,包括: 根據(jù)預(yù)先設(shè)置的待測應(yīng)用程序優(yōu)先級確定將所述待測應(yīng)用程序進行反編譯的順序。
4.根據(jù)權(quán)利要求1-3任一項所述的移動設(shè)備應(yīng)用程序的安全檢測方法,其特征在于,所述通過所述待測應(yīng)用程序的代碼確定所述待測應(yīng)用程序是否有風(fēng)險,包括: 將所述待測應(yīng)用程序的代碼進行靜態(tài)分析,確定所述待測應(yīng)用程序的權(quán)限信息和行為信息; 列出所述行為信息的調(diào)用棧; 調(diào)用一預(yù)先設(shè)置的風(fēng)險行為判定規(guī)則庫,根據(jù)所述待測應(yīng)用程序的權(quán)限信息、所述調(diào)用棧對所述行為信息進行風(fēng)險判定; 若所述行為信息存在風(fēng)險,則確定所述待測應(yīng)用程序有風(fēng)險。
5.根據(jù)權(quán)利要求4所述的移動設(shè)備應(yīng)用程序的安全檢測方法,其特征在于,所述運行所述待測應(yīng)用程序,根據(jù)所述待測應(yīng)用程序的代碼對所述待測應(yīng)用程序進行動態(tài)行為監(jiān)控,確定所述待測應(yīng)用程序運行時是否有惡意行為發(fā)生,包括: 根據(jù)所述權(quán)限信息和行為信息對所述待測應(yīng)用程序進行動態(tài)行為監(jiān)控,確定所述待測應(yīng)用程序運行時是否有惡意行為發(fā)生; 若確定所述待測應(yīng)用程序運行時有惡意行為發(fā)生,記錄所述惡意行為發(fā)生的時間,以及確定所述待測應(yīng)用程序的代碼中該惡意行為所對應(yīng)的位置。
6.根據(jù)權(quán)利要求5所述的移動設(shè)備應(yīng)用程序的安全檢測方法,其特征在于,還包括: 在所述特征碼庫中生成所述惡意應(yīng)用程序的特征碼,以更新所述特征碼庫。
7.一種移動設(shè)備應(yīng)用程序的安全檢測裝置,其特征在于,包括: 特征碼掃描單元,用于對多個待測應(yīng)用程序進行特征碼掃描,獲取到各待測應(yīng)用程序的待測特征碼; 特征碼比對單元,用于將所述特征碼掃描單元獲取到的待測特征碼與一預(yù)先設(shè)置的特征碼庫中的預(yù)存特征碼進行比對,確定所述預(yù)存特征碼中是否有所述待測特征碼; 惡意應(yīng)用程序檢測單元,用于在所述預(yù)存特征碼中存在所述待測特征碼時,確定所述待測特征碼對應(yīng)的待測應(yīng)用程序為惡意應(yīng)用程序; 反編譯單元,用于在所述預(yù)存特征碼中不存在所述待測特征碼時,將所述待測應(yīng)用程序進行反編譯,獲取到所述待測應(yīng)用程序的代碼; 風(fēng)險確定單元,用于通過所述反編譯單元獲取到的待測應(yīng)用程序的代碼確定所述待測應(yīng)用程序是否有風(fēng)險; 所述惡意應(yīng)用程序檢測單元,還用于在所述待測應(yīng)用程序有風(fēng)險時,確定所述待測應(yīng)用程序為惡意應(yīng)用程序; 動態(tài)行為監(jiān)控單元,用于運行所述待測應(yīng)用程序,根據(jù)所述待測應(yīng)用程序的代碼對所述待測應(yīng)用程序進行動態(tài)行為監(jiān)控,確定所述待測應(yīng)用程序運行時是否有惡意行為發(fā)生;所述惡意應(yīng)用程序檢測單元,還用于在所述待測應(yīng)用程序運行時發(fā)生了惡意行為時,確定所述待測應(yīng)用程序為惡意應(yīng)用程序。
8.根據(jù)權(quán)利要求7所述的移動設(shè)備應(yīng)用程序的安全檢測裝置,其特征在于,還包括: 特征碼掃描順序確定單元,用于根據(jù)預(yù)先設(shè)置的待測應(yīng)用程序優(yōu)先級確定對所述待測應(yīng)用程序進行特征碼掃描的順序。
9.根據(jù)權(quán)利要求7所述的移動設(shè)備應(yīng)用程序的安全檢測裝置,其特征在于,還包括: 反編譯順序確定單元,用于根據(jù)預(yù)先設(shè)置的待測應(yīng)用程序優(yōu)先級確定將所述待測應(yīng)用程序進行反編譯的順序。
10.根據(jù)權(quán)利要求7-9任一項所述的移動設(shè)備應(yīng)用程序的安全檢測裝置,其特征在于,所述風(fēng)險確定單元,包括: 靜態(tài)分析模塊,用于將所述待測應(yīng)用程序的代碼進行靜態(tài)分析,確定所述待測應(yīng)用程序的權(quán)限信息和行為信息; 調(diào)用棧確定模塊,用于列出所述行為信息的調(diào)用棧; 風(fēng)險判定模塊,用于調(diào)用一預(yù)先設(shè)置的風(fēng)險行為判定規(guī)則庫,根據(jù)所述待測應(yīng)用程序的權(quán)限信息、所述調(diào)用棧對所述行為信息進行風(fēng)險判定,在所述行為信息存在風(fēng)險時,則確定所述待測應(yīng)用程序有風(fēng)險。
11.根據(jù)權(quán)利要求10所述的移動設(shè)備應(yīng)用程序的安全檢測裝置,其特征在于,所述動態(tài)行為監(jiān)控單元,包括: 動態(tài)行為監(jiān)控模塊,用于根據(jù)所述權(quán)限信息和行為信息對所述待測應(yīng)用程序進行動態(tài)行為監(jiān)控,確定所述待測應(yīng)用程序運行時是否有惡意行為發(fā)生; 惡意行為信息獲取模塊,用于在確定所述待測應(yīng)用程序運行時有惡意行為發(fā)生時,記錄所述惡意行為發(fā)生的時間,以及確定所述待測應(yīng)用程序的代碼中該惡意行為所對應(yīng)的位置。
12.根據(jù)權(quán)利要求11所述的移動設(shè)備應(yīng)用程序的安全檢測裝置,其特征在于,還包括: 特征碼庫更新單元,用于在所述特征碼庫中生成所述惡意應(yīng)用程序的特征碼,以更新所述特征碼庫。
【文檔編號】G06F21/56GK104361285SQ201410668238
【公開日】2015年2月18日 申請日期:2014年11月20日 優(yōu)先權(quán)日:2014年11月20日
【發(fā)明者】潘娟, 陳婉瑩, 孫龍, 張鵬, 王艷紅, 王金琦 申請人:工業(yè)和信息化部電信研究院