本發(fā)明涉及信息安全領(lǐng)域,特別涉及一種應(yīng)用程序檢測方法、裝置和終端。
背景技術(shù):
近年來,隨著各種關(guān)于終端的操作系統(tǒng)的普及與開發(fā),針對于各種操作系統(tǒng)的病毒程序也日益猖狂。在技術(shù)層面,病毒程序會嘗試偷偷獲取該操作系統(tǒng)的root權(quán)限,進(jìn)而“隱形”地安裝到該操作系統(tǒng)中,在后臺消耗終端的流量、獲取終端中的信息,其中,所謂的“隱形”具體指:該病毒程序的程序圖標(biāo)不顯示在終端的主界面上或桌面上。
而對于這種隱形安裝的且獲得終端的操作系統(tǒng)的root權(quán)限的病毒程序,現(xiàn)有技術(shù)雖然能察覺出該病毒程序的存在,但難以確定該病毒程序的位置,那么對于如何識別該病毒程序成為了亟待解決的問題。
技術(shù)實現(xiàn)要素:
本發(fā)明實施例公開了一種應(yīng)用程序檢測方法、裝置和終端,以實現(xiàn)對“隱形”安裝于終端的病毒程序的識別。具體方案如下:
第一方面,本發(fā)明實施例提供了一種應(yīng)用程序檢測方法,應(yīng)用于終端,所述方法包括:
識別存在于所述終端的系統(tǒng)目錄下的應(yīng)用程序,確定為第一應(yīng)用程序;
依據(jù)所述第一應(yīng)用程序的簽名信息,對所述第一應(yīng)用程序進(jìn)行分組,生成第一組別,所述第一組別包括至少一組簽名組,且簽名組與簽名信息具有唯一對應(yīng)性;
依據(jù)所述第一應(yīng)用程序的安裝時間,對所述第一應(yīng)用程序進(jìn)行分組,生成第二組別,所述第二組別包括至少一組時間組,且時間組與安裝時間具有唯一對應(yīng)性;
判斷在所述第一組別中是否存在符合預(yù)定條件的第一簽名組,如果是,將所述第一簽名組所包括的第一應(yīng)用程序確定為病毒程序,其中,所述預(yù)定條件至少包括:所包括的第一應(yīng)用程序能夠覆蓋至少一組時間組所包括的第一應(yīng)用程序。
較佳的,所述預(yù)定條件還包括:所包括第一應(yīng)用程序的數(shù)量最少;
所述判斷在所述第一組別中是否存在符合預(yù)定條件的第一簽名組,包括:
判斷在所述第一組別中,是否存在所包括的第一應(yīng)用程序能夠覆蓋至少一組時間組所包括的第一應(yīng)用程序且所包括第一應(yīng)用程序的數(shù)量最少的第一簽名組。
較佳的,所述第一應(yīng)用程序的簽名組包括:
系統(tǒng)原生類簽名組、硬件廠商類簽名組、設(shè)備廠商類簽名組或應(yīng)用廠商簽名組。
較佳的,所述依據(jù)所述第一應(yīng)用程序的安裝時間,對所述第一應(yīng)用程序進(jìn)行分組,包括:
依據(jù)所述第一應(yīng)用程序的安裝日期,對所述第一應(yīng)用程序進(jìn)行分組。
較佳的,本發(fā)明實施例所提供的一種應(yīng)用程序檢測方法,還包括:
將所述第一簽名組所包括的第一應(yīng)用程序確定為病毒程序后,輸出提示信息,以提示用戶所述第一簽名組所包括的第一應(yīng)用程序確定為病毒程序。
較佳的,本發(fā)明實施例所提供的一種應(yīng)用程序檢測方法,還包括:
將所述第一簽名組所包括的第一應(yīng)用程序確定為病毒程序后,獲取系統(tǒng)權(quán)限,強制卸載所述病毒程序。
第二方面,本發(fā)明實施例還提供了一種應(yīng)用程序檢測裝置,應(yīng)用于終端,所述裝置包括:確定模塊、第一分組模塊、第二分組模塊和判斷模塊;
所述確定模塊:用于識別存在于所述終端的系統(tǒng)目錄下的應(yīng)用程序,確定為第一應(yīng)用程序;
所述第一分組模塊:用于依據(jù)所述第一應(yīng)用程序的簽名信息,對所述第一 應(yīng)用程序進(jìn)行分組,生成第一組別,所述第一組別包括至少一組簽名組,且簽名組與簽名信息具有唯一對應(yīng)性;
所述第二分組模塊:用于依據(jù)所述第一應(yīng)用程序的安裝時間,對所述第一應(yīng)用程序進(jìn)行分組,生成第二組別,所述第二組別包括至少一組時間組,且時間組與安裝時間具有唯一對應(yīng)性;
所述判斷模塊:用于判斷在所述第一組別中是否存在符合預(yù)定條件的第一簽名組,如果是,將所述第一簽名組所包括的第一應(yīng)用程序確定為病毒程序,其中,所述預(yù)定條件至少包括:所包括的第一應(yīng)用程序能夠覆蓋至少一組時間組所包括的第一應(yīng)用程序。
較佳的,所述預(yù)定條件還包括:所包括第一應(yīng)用程序的數(shù)量最少;
所述判斷模塊具體用于:
判斷在所述第一組別中,是否存在所包括的第一應(yīng)用程序能夠覆蓋至少一組時間組所包括的第一應(yīng)用程序且所包括第一應(yīng)用程序的數(shù)量最少的第一簽名組。
較佳的,所述第一應(yīng)用程序的簽名組包括:
系統(tǒng)原生類簽名組、硬件廠商類簽名組、設(shè)備廠商類簽名組或應(yīng)用廠商簽名組。
較佳的,所述第二分組模塊具體用于:
依據(jù)所述第一應(yīng)用程序的安裝日期,對所述第一應(yīng)用程序進(jìn)行分組。
較佳的,本發(fā)明實施例所提供的一種應(yīng)用程序檢測裝置,還包括信息輸出模塊;
所述提示信息輸出模塊:用于所述判斷模塊將所述第一簽名組所包括的第一應(yīng)用程序確定為病毒程序后,輸出提示信息,以提示用戶所述第一簽名組所包括的第一應(yīng)用程序確定為病毒程序。
較佳的,本發(fā)明實施例所提供的一種應(yīng)用程序檢測裝置,還包括卸載模塊;
所述卸載模塊:用于所述判斷模塊將所述第一簽名組所包括的第一應(yīng)用程序確定為病毒程序后,獲取系統(tǒng)權(quán)限,強制卸載所述病毒程序。
第三方面,本發(fā)明實施例還提供了一種終端,包括:殼體、處理器、存儲器、電路板和電源電路,其中,電路板安置在殼體圍成的空間內(nèi)部,處理器和存儲器設(shè)置在電路板上;電源電路,用于為終端的各個電路或器件供電;存儲器用于存儲可執(zhí)行程序代碼;處理器通過讀取存儲器中存儲的可執(zhí)行程序代碼來運行與可執(zhí)行程序代碼對應(yīng)的程序,以用于執(zhí)行以下步驟:
識別存在于所述終端的系統(tǒng)目錄下的應(yīng)用程序,確定為第一應(yīng)用程序;
依據(jù)所述第一應(yīng)用程序的簽名信息,對所述第一應(yīng)用程序進(jìn)行分組,生成第一組別,所述第一組別包括至少一組簽名組,且簽名組與簽名信息具有唯一對應(yīng)性;
依據(jù)所述第一應(yīng)用程序的安裝時間,對所述第一應(yīng)用程序進(jìn)行分組,生成第二組別,所述第二組別包括至少一組時間組,且時間組與安裝時間具有唯一對應(yīng)性;
判斷在所述第一組別中是否存在符合預(yù)定條件的第一簽名組,如果是,將所述第一簽名組所包括的第一應(yīng)用程序確定為病毒程序,其中,所述預(yù)定條件至少包括:所包括的第一應(yīng)用程序能夠覆蓋至少一組時間組所包括的第一應(yīng)用程序。
本方案中,首先識別存在于該終端的系統(tǒng)目錄下的第一應(yīng)用程序;然后依據(jù)該第一應(yīng)用程序的簽名信息,對該第一應(yīng)用程序進(jìn)行分組,生成包括至少一組簽名組的第一組別,其中,簽名組與簽名信息具有唯一對應(yīng)性;依據(jù)該第一應(yīng)用程序的安裝時間,對該第一應(yīng)用程序進(jìn)行分組,生成包括至少一組時間組的第二組別,其中,時間組與安裝時間具有唯一對應(yīng)性;判斷在該第一組別中是否存在符合預(yù)定條件的第一簽名組,如果是,將該第一簽名組所包括的第一應(yīng)用程序確定為病毒程序,其中,該預(yù)定條件至少包括:所包括的第一應(yīng)用程序能夠覆蓋至少一組時間組所包括的第一應(yīng)用程序??梢姡ㄟ^本方案可以實現(xiàn)對“隱形”安裝于終端的病毒程序的識別。當(dāng)然,實施本發(fā)明的任一產(chǎn)品或方法必不一定需要同時達(dá)到以上所述的所有優(yōu)點。
附圖說明
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實施例提供的一種應(yīng)用程序檢測方法的流程示意圖;
圖2為本發(fā)明實施例提供的一種應(yīng)用程序檢測方法的另一流程示意圖;
圖3為本發(fā)明實施例提供的一種應(yīng)用程序檢測方法的另一流程示意圖;
圖4為本發(fā)明實施例提供的一種應(yīng)用程序檢測裝置的結(jié)構(gòu)示意圖;
圖5為本發(fā)明實施例提供的一種應(yīng)用程序檢測裝置的另一結(jié)構(gòu)示意圖;
圖6為本發(fā)明實施例提供的一種應(yīng)用程序檢測裝置的另一結(jié)構(gòu)示意圖;
圖7為本發(fā)明實施例提供的一種終端的結(jié)構(gòu)示意圖。
具體實施方式
下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護(hù)的范圍。
為解決現(xiàn)有技術(shù)問題,本發(fā)明實施例提供了一種應(yīng)用程序檢測方法、裝置和終端,可以實現(xiàn)對“隱形”安裝于終端的病毒程序的識別。
下面首先對本發(fā)明實施例所提供的一種應(yīng)用程序檢測方法進(jìn)行介紹。
需要說明的是,本發(fā)明實施例所提供的一種應(yīng)用程序檢測方法,可以應(yīng)用于終端,該終端可以為臺式電腦、筆記本電腦、平板電腦以及智能手機(jī)。無論該終端在連接網(wǎng)絡(luò)的情況下還是在未連接網(wǎng)絡(luò)的情況下,都可以應(yīng)用本發(fā)明實施例所提供的應(yīng)用程序檢測方法。
并且,實現(xiàn)本發(fā)明實施例所提供的一種應(yīng)用程序檢測方法的功能軟件可以為專門的客戶端軟件,或者,也可以為現(xiàn)有的能夠檢測病毒程序的客戶端軟件的插件或殺毒客戶端軟件的插件,當(dāng)然,還可以為基于終端的操作系統(tǒng)的插件,這都是合理的。
如圖1所示,本發(fā)明實施例提供的一種應(yīng)用程序檢測方法,該步驟可以包括:
s101:識別存在于該終端的系統(tǒng)目錄下的應(yīng)用程序,確定為第一應(yīng)用程序;
需要說明的是,定期或不定期的對該終端所安裝的應(yīng)用程序進(jìn)行檢測,識別存在于該終端的系統(tǒng)目錄下的應(yīng)用程序,將該存在于該終端的系統(tǒng)目錄下的應(yīng)用程序確定為第一應(yīng)用程序,其中,對該終端所安裝的應(yīng)用程序進(jìn)行的檢測的時間可以為功能軟件的默認(rèn)檢測時間,也可以為用戶自行設(shè)置的時間。
并且,識別存在于該終端的系統(tǒng)目錄下的應(yīng)用程序的具體實現(xiàn)方式可以采用現(xiàn)有技術(shù)中存在的實現(xiàn)方式,在此不做限定。
s102:依據(jù)該第一應(yīng)用程序的簽名信息,對該第一應(yīng)用程序進(jìn)行分組,生成第一組別,該第一組別包括至少一組簽名組,且簽名組與簽名信息具有唯一對應(yīng)性;
需要說明的是,對于任一操作系統(tǒng),如android系統(tǒng),所有安裝到使用該操作系統(tǒng)的終端上的應(yīng)用程序都必有一個數(shù)字證書,該數(shù)字證書用于標(biāo)識該應(yīng)用程序的來源,并且建立來源與應(yīng)用程序之間的信任關(guān)系,本發(fā)明實施例中的該簽名信息等同于這里的數(shù)字證書。同時,不同的來源的應(yīng)用程序的簽名信息不同,同一來源的應(yīng)用程序的簽名信息相同。
可以理解的是,在依據(jù)該第一應(yīng)用程序的簽名信息,對該第一應(yīng)用程序進(jìn)行分組,生成第一組別時,該第一組別中可以包括至少一組簽名組,且簽名組與簽名信息具有唯一對應(yīng)性,即對于該簽名信息與簽名組來說,不同簽名組所對應(yīng)的簽名信息不同,每一簽名組所包括的至少一個第一應(yīng)用程序的簽名信息相同。
具體的,所述第一應(yīng)用程序的簽名組可以包括:
系統(tǒng)原生類簽名組、硬件廠商類簽名組、設(shè)備廠商類簽名組或應(yīng)用廠商簽名組。
其中,對于操作系統(tǒng)為android系統(tǒng)的終端來說,其系統(tǒng)原生類簽名組為谷歌google原生類簽名組。當(dāng)然,對于操作系統(tǒng)為ios系統(tǒng)或者windows系統(tǒng)的終端,都有其所對應(yīng)的系統(tǒng)原生類簽名組,對于不同的操作系統(tǒng)會對應(yīng)于不同的 系統(tǒng)原生類簽名組,本發(fā)明實施例并不對系統(tǒng)原生類簽名組進(jìn)行限定。
需要說明的是,對于第一應(yīng)用程序來說,由于該第一應(yīng)用程序的來源不同,其對應(yīng)的簽名信息也是不同的,該來源可能為該終端硬件生產(chǎn)廠家、該終端軟件生產(chǎn)廠家、該終端銷售商家以及該終端用戶的下載等,可能會出現(xiàn)如下情況:在依據(jù)該第一應(yīng)用程序的簽名信息進(jìn)行分組時,其生成的第一組別中所包括的至少一個簽名組可能不同;當(dāng)然對于同一終端不同時間依據(jù)該第一應(yīng)用程序的簽名信息進(jìn)行分組,其生成的第一組別中所包括的至少一個簽名組也可能不同;本發(fā)明實施例并不對該第一應(yīng)用程序的簽名信息進(jìn)行限定。
s103:依據(jù)該第一應(yīng)用程序的安裝時間,對該第一應(yīng)用程序進(jìn)行分組,生成第二組別,該第二組別包括至少一組時間組,且時間組與安裝時間具有唯一對應(yīng)性;
需要說明的是,依據(jù)該第一應(yīng)用程序的安裝時間,對該第一應(yīng)用程序進(jìn)行分組,生成第二組別,該第二組別可以包括至少一組時間組,且時間組與安裝時間具有唯一對應(yīng)性,即對于時間組與安裝時間來說,不同時間組所對應(yīng)的安裝時間不同,每一時間組所包括的至少一個第一應(yīng)用程序的安裝時間相同。
具體的,所述依據(jù)該第一應(yīng)用程序的安裝時間,對該第一應(yīng)用程序進(jìn)行分組,可以包括:
依據(jù)該第一應(yīng)用程序的安裝日期,對該第一應(yīng)用程序進(jìn)行分組。
可以理解的是,依據(jù)該第一應(yīng)用程序的安裝時間,對該第一應(yīng)用程序進(jìn)行分組,可以依據(jù)該第一應(yīng)用程序的安裝日期,也可以依據(jù)該第一應(yīng)用程序的精確到小時的安裝時間,當(dāng)然也可以設(shè)置時間范圍,將安裝時間在同一時間范圍的第一應(yīng)用程序分成一組,本發(fā)明實施例并不對該第一應(yīng)用程序依據(jù)安裝時間的分組的具體分組情況進(jìn)行限定。
s104:判斷在該第一組別中是否存在符合預(yù)定條件的第一簽名組,如果是,執(zhí)行步驟s105,如果不是,結(jié)束流程;
其中,該預(yù)定條件至少包括:所包括的第一應(yīng)用程序能夠覆蓋至少一組時間組所包括的第一應(yīng)用程序;
s105:將該第一簽名組所包括的第一應(yīng)用程序確定為病毒程序。
對于病毒程序,其在安裝時可能會將自身的簽名信息偽裝或修改成其他的簽名信息,但對于相同屬性的病毒程序其偽裝或修改的簽名信息都會是相同的;且對于相同屬性的病毒程序會同時安裝于其感染的終端中。
可以理解的是,將該第一簽名組所包括的第一應(yīng)用程序確定為病毒程序,即能確定該第一應(yīng)用程序(病毒程序)的名稱,即可根據(jù)該第一應(yīng)用程序(病毒程序)的名稱,實現(xiàn)對該第一應(yīng)用程序(病毒程序)的定位。
需要說明的是,判斷在該第一組別中是否存在符合預(yù)定條件的第一簽名組,如果是,證明該第一組別中存在至少一組簽名組,該至少一組簽名組滿足預(yù)設(shè)條件,該預(yù)設(shè)條件至少包括:該至少一組簽名組中所包括的第一應(yīng)用程序能夠覆蓋至少一組時間組所包括的第一應(yīng)用程序,該至少一組簽名組即為第一簽名組,此時,則可以確定該第一簽名組所包括的第一應(yīng)用程序確定為病毒程序;如果不是,則證明不存在滿足預(yù)設(shè)條件的第一簽名組,則證明所有簽名組中所包括的第一應(yīng)用程序都可能為非病毒程序,結(jié)束流程。
舉例而言,第一組別中存在a、b、c3個簽名組,其中,該a簽名組中包括第一應(yīng)用程序a、b、c,該b簽名組中包括第一應(yīng)用程序d、e、f、g,該c簽名組中包括第一應(yīng)用程序h、m、n、o、p;第二組別中存在x、y、z3個時間組,該x簽名組中包括第一應(yīng)用程序a、b,該y簽名組中包括第一應(yīng)用程序c、d、e、f、g、m,該z簽名組中包括第一應(yīng)用程序h、n、o、p;可知,該a簽名組中包括第一應(yīng)用程序a、b、c覆蓋了該x簽名組中包括第一應(yīng)用程序a、b,則確定該a簽名組中包括第一應(yīng)用程序a、b、c為病毒程序。
本實施例所提供的方案中,首先識別存在于該終端的系統(tǒng)目錄下的第一應(yīng)用程序;然后依據(jù)該第一應(yīng)用程序的簽名信息,對該第一應(yīng)用程序進(jìn)行分組,生成包括至少一組簽名組的第一組別,其中,簽名組與簽名信息具有唯一對應(yīng)性;依據(jù)該第一應(yīng)用程序的安裝時間,對該第一應(yīng)用程序進(jìn)行分組,生成包括至少一組時間組的第二組別,其中,時間組與安裝時間具有唯一對應(yīng)性;判斷在該第一組別中是否存在符合預(yù)定條件的第一簽名組,如果是,將該第一簽名組所包括的第一應(yīng)用程序確定為病毒程序,其中,該預(yù)定條件至少包括:所包括的第一應(yīng)用程序能夠覆蓋至少一組時間組所包括的第一應(yīng)用程序??梢姡ㄟ^本方案可以實現(xiàn)對“隱形”安裝于終端的病毒程序的識別。
進(jìn)一步的,在實際情況中,在終端中,其如果安裝了病毒程序的話,該病毒程序與該終端所安裝的非病毒程序的應(yīng)用程序相比,其數(shù)量會相對很少,且如果第一組別中所包括的簽名組相對較多時,用第一組別中所有的簽名組與第二組別中所有的時間組進(jìn)行檢測的話,需要的時間會非常長,為了提高病毒程序的確定精度以及節(jié)省檢測時間,可以在第一組別中存在的簽名組的數(shù)量超過設(shè)定閾值時,確定第一簽名組時,該預(yù)定條件還可以包括:所包括第一應(yīng)用程序的數(shù)量最少;
相應(yīng)的,所述判斷在該第一組別中是否存在符合預(yù)定條件的第一簽名組,可以包括:
判斷在該第一組別中,是否存在所包括的第一應(yīng)用程序能夠覆蓋至少一組時間組所包括的第一應(yīng)用程序且所包括第一應(yīng)用程序的數(shù)量最少的第一簽名組。
舉例而言,當(dāng)?shù)谝唤M別中所包括的簽名組的數(shù)量低于某一設(shè)定閾值時,判斷在該第一組別中是否存在符合預(yù)定條件的第一簽名組時,所選擇的該預(yù)定條件可以為:所包括的第一應(yīng)用程序能夠覆蓋至少一組時間組所包括的第一應(yīng)用程序;當(dāng)?shù)谝唤M別中所包括的簽名組的數(shù)量超過某一設(shè)定閾值時,所選擇的該預(yù)定條件可以為:所包括的第一應(yīng)用程序能夠覆蓋至少一組時間組所包括的第一應(yīng)用程序且所包括第一應(yīng)用程序的數(shù)量最少。
進(jìn)一步的,當(dāng)應(yīng)用本發(fā)明實施例所提供的應(yīng)用程序檢測方法檢測到病毒程序后,為了更好的保障用戶的利益,在確定出病毒程序后,可以輸出相關(guān)的提示信息,以提示用戶該應(yīng)用程序為病毒程序,以便用戶進(jìn)行相應(yīng)的操作,對該病毒程序進(jìn)行處理,具體的,基于步驟s101~步驟s105,如圖2所示,將該第一簽名組所包括的第一應(yīng)用程序確定為病毒程序后,本發(fā)明實施例所提供的一種應(yīng)用程序檢測方法還可以包括:
s106:輸出提示信息,以提示用戶該第一簽名組所包括的第一應(yīng)用程序確定為病毒程序。
需要說明的是,該提示信息可以為聲音提示,可以為屏幕亮度提示,可以為文字信息提示,還可以為界面跳轉(zhuǎn)提示,等等,本發(fā)明實施例并不對該提示信息的提示形式進(jìn)行限定。
可以理解的是,輸出提示信息以起到提示用戶被歸為病毒程序的第一應(yīng)用程序的名稱以及該病毒程序的具體安裝位置,后續(xù)的,用戶可以針對該提示信息對該病毒程序進(jìn)行相應(yīng)的操作,其中,該相應(yīng)的操作可以為用戶手動對該病毒程序進(jìn)行強制刪除或卸載,當(dāng)然該終端也可以自動對該病毒程序進(jìn)行強制刪除或卸載,等等,這都是合理的。
進(jìn)一步的,基于步驟s101~步驟s105,如圖3所示,將該第一簽名組所包括的第一應(yīng)用程序確定為病毒程序后,本發(fā)明實施例所提供的應(yīng)用程序檢測方法還可以包括:
s107:獲取系統(tǒng)權(quán)限,強制卸載該病毒程序。
具體的,在確定該第一簽名組所包括的第一應(yīng)用程序為病毒程序后,可以繼續(xù)采取相應(yīng)的措施將該病毒程序從該終端中刪除或卸載,那么對于該不易被刪除或卸載的應(yīng)用程序,首先可以獲取該終端的系統(tǒng)權(quán)限,然后強制卸載該病毒程序??梢岳斫獾氖?,本發(fā)明實施例中獲取終端的操作系統(tǒng)的系統(tǒng)權(quán)限的具體實現(xiàn)方式可以為現(xiàn)有技術(shù)的任意一種系統(tǒng)權(quán)限獲取方式,在此不做限定。舉例而言,該系統(tǒng)權(quán)限可以為root權(quán)限,其中,在獲得root權(quán)限后,可以控制終端的中的任意對象。
相應(yīng)于上述方法實施例,如圖4所示,本發(fā)明實施例還提供了一種應(yīng)用程序檢測裝置,該裝置可以包括:確定模塊401、第一分組模塊402、第二分組模塊403和判斷模塊404;
該確定模塊401:用于識別存在于該終端的系統(tǒng)目錄下的應(yīng)用程序,確定為第一應(yīng)用程序;
該第一分組模塊402:用于依據(jù)該第一應(yīng)用程序的簽名信息,對該第一應(yīng)用程序進(jìn)行分組,生成第一組別,該第一組別包括至少一組簽名組,且簽名組與 簽名信息具有唯一對應(yīng)性;
該第二分組模塊403:用于依據(jù)該第一應(yīng)用程序的安裝時間,對該第一應(yīng)用程序進(jìn)行分組,生成第二組別,該第二組別包括至少一組時間組,且時間組與安裝時間具有唯一對應(yīng)性;
該判斷模塊404:用于判斷在該第一組別中是否存在符合預(yù)定條件的第一簽名組,如果是,將該第一簽名組所包括的第一應(yīng)用程序確定為病毒程序,其中,該預(yù)定條件至少包括:所包括的第一應(yīng)用程序能夠覆蓋至少一組時間組所包括的第一應(yīng)用程序。
應(yīng)用本發(fā)明實施例,首先識別存在于該終端的系統(tǒng)目錄下的第一應(yīng)用程序;依據(jù)該第一應(yīng)用程序的簽名信息,對該第一應(yīng)用程序進(jìn)行分組,生成包括至少一組簽名組的第一組別,簽名組與簽名信息具有唯一對應(yīng)性;依據(jù)該第一應(yīng)用程序的安裝時間,對該第一應(yīng)用程序進(jìn)行分組,生成包括至少一組時間組的第二組別,時間組與安裝時間具有唯一對應(yīng)性;判斷在該第一組別中是否存在符合預(yù)定條件的第一簽名組,如果是,將該第一簽名組中的第一應(yīng)用程序確定為病毒程序,該預(yù)定條件至少包括:所包括的第一應(yīng)用程序能夠覆蓋至少一組時間組所包括的第一應(yīng)用程序,可以實現(xiàn)對“隱形”安裝于終端的病毒程序的識別。
具體的,所述預(yù)定條件還包括:所包括第一應(yīng)用程序的數(shù)量最少;
所述判斷模塊404具體用于:
判斷在該第一組別中,是否存在所包括的第一應(yīng)用程序能夠覆蓋至少一組時間組所包括的第一應(yīng)用程序且所包括第一應(yīng)用程序的數(shù)量最少的第一簽名組。
具體的,所述第一應(yīng)用程序的簽名組可以包括:
系統(tǒng)原生類簽名組、硬件廠商類簽名組、設(shè)備廠商類簽名組或應(yīng)用廠商簽名組。
具體的,所述第二分組模塊具體用于:
依據(jù)該第一應(yīng)用程序的安裝日期,對該第一應(yīng)用程序進(jìn)行分組。
進(jìn)一步的,如圖5所示,本發(fā)明實施例所提供的一種應(yīng)用程序檢測裝置還可以包括提示信息輸出模塊405;
該提示信息輸出模塊405:用于該判斷模塊404將該第一簽名組所包括的第一應(yīng)用程序確定為病毒程序后,輸出提示信息,以提示用戶所述第一簽名組所包括的第一應(yīng)用程序確定為病毒程序。
進(jìn)一步的,如圖6所示,本發(fā)明實施例所提供的一種應(yīng)用程序檢測裝置還可以包括卸載模塊406;
該卸載模塊406:用于該判斷模塊404將該第一簽名組所包括的第一應(yīng)用程序確定為病毒程序后,獲取系統(tǒng)權(quán)限,強制卸載該病毒程序。
另外,本發(fā)明實施例還提供了一種終端,如圖7所示,該終端可以包括:殼體701、處理器702、存儲器703、電路板704和電源電路705,其中,電路板704安置在殼體701圍成的空間內(nèi)部,處理器702和存儲器703設(shè)置在電路板704上;電源電路705,用于為終端的各個電路或器件供電;存儲器703用于存儲可執(zhí)行程序代碼;處理器702通過讀取存儲器703中存儲的可執(zhí)行程序代碼來運行與可執(zhí)行程序代碼對應(yīng)的程序,以用于執(zhí)行以下步驟:
識別存在于所述終端的系統(tǒng)目錄下的應(yīng)用程序,確定為第一應(yīng)用程序;
依據(jù)該第一應(yīng)用程序的簽名信息,對該第一應(yīng)用程序進(jìn)行分組,生成第一組別,該第一組別包括至少一組簽名組,且簽名組與簽名信息具有唯一對應(yīng)性;
依據(jù)該第一應(yīng)用程序的安裝時間,對該第一應(yīng)用程序進(jìn)行分組,生成第二組別,該第二組別包括至少一組時間組,且時間組與安裝時間具有唯一對應(yīng)性;
判斷在該第一組別中是否存在符合預(yù)定條件的第一簽名組,如果是,將該第一簽名組所包括的第一應(yīng)用程序確定為病毒程序,其中,該預(yù)定條件至少包括:所包括的第一應(yīng)用程序能夠覆蓋至少一組時間組所包括的第一應(yīng)用程序。
處理器702對上述步驟的具體執(zhí)行過程以及處理器702通過運行可執(zhí)行程序代碼來進(jìn)一步執(zhí)行的步驟,可以參見本發(fā)明圖1-6所示實施例的描述,在此不再贅述。
應(yīng)用本發(fā)明實施例,首先識別存在于該終端的系統(tǒng)目錄下的第一應(yīng)用程序;依據(jù)該第一應(yīng)用程序的簽名信息,對該第一應(yīng)用程序進(jìn)行分組,生成包括至少一組簽名組的第一組別,簽名組與簽名信息具有唯一對應(yīng)性;依據(jù)該第一應(yīng)用程序的安裝時間,對該第一應(yīng)用程序進(jìn)行分組,生成包括至少一組時間組的第二組別,時間組與安裝時間具有唯一對應(yīng)性;判斷在該第一組別中是否存在符合預(yù)定條件的第一簽名組,如果是,將該第一簽名組中的第一應(yīng)用程序確定為病毒程序,該預(yù)定條件至少包括:所包括的第一應(yīng)用程序能夠覆蓋至少一組時間組所包括的第一應(yīng)用程序,可以實現(xiàn)對“隱形”安裝于終端的病毒程序的識別。
該終端以多種形式存在,包括但不限于:
(1)移動通信設(shè)備:這類設(shè)備的特點是具備移動通信功能,并且以提供話音、數(shù)據(jù)通信為主要目標(biāo)。這類終端包括:智能手機(jī)(例如iphone)、多媒體手機(jī)、功能性手機(jī),以及低端手機(jī)等。
(2)超移動個人計算機(jī)設(shè)備:這類設(shè)備屬于個人計算機(jī)的范疇,有計算和處理功能,一般也具備移動上網(wǎng)特性。這類終端包括:pda、mid和umpc設(shè)備等,例如ipad。
(3)便攜式娛樂設(shè)備:這類設(shè)備可以顯示和播放多媒體內(nèi)容。該類設(shè)備包括:音頻、視頻播放器(例如ipod),掌上游戲機(jī),電子書,以及智能玩具和便攜式車載導(dǎo)航設(shè)備。
(4)服務(wù)器:提供計算服務(wù)的設(shè)備,服務(wù)器的構(gòu)成包括處理器、硬盤、內(nèi)存、系統(tǒng)總線等,服務(wù)器和通用的計算機(jī)架構(gòu)類似,但是由于需要提供高可靠的服務(wù),因此在處理能力、穩(wěn)定性、可靠性、安全性、可擴(kuò)展性、可管理性等方面要求較高。
(5)其他具有數(shù)據(jù)交互功能的電子裝置。
對于裝置以及終端實施例而言,由于其基本相似于方法實施例,所以描述的比較簡單,相關(guān)之處參見方法實施例的部分說明即可。
需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。
本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述方法實施方式中的全部或部分步驟是可以通過程序來指令相關(guān)的硬件來完成,所述的程序可以存儲于計算機(jī)可讀取存儲介質(zhì)中,這里所稱得的存儲介質(zhì),如:rom/ram、磁碟、光盤等。
以上所述僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換、改進(jìn)等,均包含在本發(fā)明的保護(hù)范圍內(nèi)。