本發(fā)明涉及終端安全技術(shù)領(lǐng)域,具體涉及一種應(yīng)用程序安裝方法、裝置及移動(dòng)終端。
背景技術(shù):
一些移動(dòng)終端出于安全考慮,設(shè)置了相應(yīng)的安全模式,以保護(hù)用戶在網(wǎng)上交易、網(wǎng)上支付、銀行查詢等等場合的安全,例如,360手機(jī)的財(cái)產(chǎn)隔離系統(tǒng),該系統(tǒng)一方面通過內(nèi)置安全應(yīng)用商店的方式來防止盜取木馬、仿冒應(yīng)用的入侵,從源頭上保證了應(yīng)用的來源安全,同時(shí),將金融理財(cái)?shù)葦?shù)據(jù)進(jìn)行系統(tǒng)隔離,禁止惡意應(yīng)用非法讀取,從根本上保障了用戶支付環(huán)境的安全。
而用戶在安裝應(yīng)用時(shí)基本都是在系統(tǒng)普通模式下安裝,并且由于安卓陣營的碎片化,用戶仍然可能選擇多種應(yīng)用的下載、安裝途徑,造成虛假應(yīng)用也同樣可能被安裝到系統(tǒng)中,并且對于安全性要求較高的應(yīng)用,安裝到系統(tǒng)普通模式下無法更好地保證應(yīng)用的運(yùn)行安全。
綜上所述,如何避免虛假應(yīng)用安裝到系統(tǒng)中、如何讓用戶更便利地將安全性要求較高的應(yīng)用安裝到系統(tǒng)安全模式下是終端安全技術(shù)領(lǐng)域亟需解決的問題。
技術(shù)實(shí)現(xiàn)要素:
鑒于上述問題,本發(fā)明提出一種應(yīng)用安裝方法、裝置及移動(dòng)終端,其可以在用戶安裝新應(yīng)用時(shí),檢測應(yīng)用的是否存在安全風(fēng)險(xiǎn),避免虛假應(yīng)用安裝到系統(tǒng)中,并且將安全性要求較高的應(yīng)用安裝到系統(tǒng)安全模式下,減少用戶需要手動(dòng)選擇的操作步驟,并且系統(tǒng)安全模式下能更好地保障應(yīng)用的使用安全。
為實(shí)現(xiàn)該目的,本發(fā)明采用如下技術(shù)方案:
第一方面,本發(fā)明提供一種應(yīng)用安裝方法,包括如下步驟:
在監(jiān)測到應(yīng)用安裝事件時(shí)獲取待安裝應(yīng)用的標(biāo)識信息;
將所述待安裝應(yīng)用的標(biāo)識信息上傳到云端服務(wù)器以對所述待安裝應(yīng)用進(jìn)行白名單判定;
接收云端服務(wù)器反饋的白名單判定的結(jié)果信息并根據(jù)所述結(jié)果信息執(zhí)行相應(yīng)操作,其中,當(dāng)所述結(jié)果信息為白名單判定通過時(shí),將所述待安裝應(yīng)用安裝到系統(tǒng)安全模式對應(yīng)的第二用戶的存儲目錄下;當(dāng)所述結(jié)果信息為白名單判定不通過時(shí),將所述待安裝應(yīng)用安裝到系統(tǒng)普通模式對應(yīng)的第一用戶的存儲目錄下;所述系統(tǒng)安全模式配置有用于為預(yù)定應(yīng)用的運(yùn)行提供運(yùn)行資源的安全空間,該安全空間在系統(tǒng)普通模式下是不可訪問的。
結(jié)合第一方面,本發(fā)明的第一種可能的實(shí)現(xiàn)方式,所述預(yù)定應(yīng)用包括支付相關(guān)的應(yīng)用、理財(cái)相關(guān)的應(yīng)用和銀行相關(guān)的應(yīng)用中的至少其中一種。
結(jié)合第一方面,本發(fā)明的第二種可能的實(shí)現(xiàn)方式,所述運(yùn)行資源包括應(yīng)用程序本身、應(yīng)用程序配置數(shù)據(jù)和應(yīng)用程序的用戶數(shù)據(jù)其中至少一種,所述安全空間包括存儲空間。
結(jié)合第一方面,本發(fā)明的第三種可能的實(shí)現(xiàn)方式,所述待安裝應(yīng)用的標(biāo)識信息包括待安裝應(yīng)用的包名、版本號及對應(yīng)的文件大小、數(shù)字簽名的一項(xiàng)或多項(xiàng)。
結(jié)合第一方面,本發(fā)明的第四種可能的實(shí)現(xiàn)方式,在對所述待安裝應(yīng)用進(jìn)行白名單判定之前,還包括對所述待安裝應(yīng)用進(jìn)行安全性判定。
結(jié)合第一方面的第四種實(shí)現(xiàn)方式,本發(fā)明的第五種可能的實(shí)現(xiàn)方式,所述安全性判定包括仿冒檢測和病毒檢測。
結(jié)合第一方面的第五種實(shí)現(xiàn)方式,本發(fā)明的第六種可能的實(shí)現(xiàn)方式,所述仿冒檢測通過比較待安裝應(yīng)用的數(shù)字簽名與由所述待安裝應(yīng)用的包名確定的官方數(shù)字簽名是否相同,若不同,則確定所述待安裝應(yīng)用為偽冒應(yīng)用。
結(jié)合第一方面的第六種實(shí)現(xiàn)方式,本發(fā)明的第七種可能的實(shí)現(xiàn)方式,所述系統(tǒng)為安卓系統(tǒng),通過獲取PackageInfo類的對象packageName的屬性以獲取待安裝應(yīng)用的包名,通過PackageManger類中的packageInfo獲得Signature數(shù)組以獲取待安裝應(yīng)用的數(shù)字簽名。
結(jié)合第一方面的第五種實(shí)現(xiàn)方式,本發(fā)明的第八種可能的實(shí)現(xiàn)方式,所述仿冒檢測通過比較待安裝應(yīng)用的文件大小與由所述待安裝應(yīng)用的包名、版本號確定的官方文件大小是否相同,若不同,則確定所述待安裝應(yīng)用為偽冒應(yīng)用。
結(jié)合第一方面的第八種實(shí)現(xiàn)方式,本發(fā)明的第九種可能的實(shí)現(xiàn)方式,所述系統(tǒng)為安卓系統(tǒng),通過反射機(jī)制調(diào)用getPackageSizeInfo()方法獲取待安裝應(yīng)用的文件大小,通過獲取PackageInfo的對象versionName的屬性獲取待安裝應(yīng)用的版本號。
結(jié)合第一方面,本發(fā)明的第十種可能的實(shí)現(xiàn)方式,在所述當(dāng)所述結(jié)果信息為白名單判定通過時(shí)之后,將所述待安裝應(yīng)用安裝到系統(tǒng)安全模式對應(yīng)的第二用戶的存儲目錄下之前,還包括:
輸出應(yīng)用安裝確認(rèn)窗口以在接收到用戶的確認(rèn)指令后將所述待安裝應(yīng)用安裝到系統(tǒng)安全模式對應(yīng)的第二用戶的存儲目錄下。
結(jié)合第一方面的第六種實(shí)現(xiàn)方式或第八種實(shí)現(xiàn)方式,本發(fā)明的第十一種可能的實(shí)現(xiàn)方式,當(dāng)確定所述待安裝應(yīng)用為偽冒應(yīng)用時(shí),輸出應(yīng)用安裝終止窗口以在接收到用戶的終止指令后終止安裝所述待安裝應(yīng)用。
相應(yīng)地,第二方面,本發(fā)明提供一種應(yīng)用程序安裝裝置,該裝置具有實(shí)現(xiàn)上述第一方面中應(yīng)用程序安裝方法的功能,所述功能可以通過硬件實(shí)現(xiàn),也可以通過硬件執(zhí)行相應(yīng)的軟件實(shí)現(xiàn),所述硬件或軟件包括一個(gè)或多個(gè)與上述功能相對應(yīng)的模塊,具體包括:
監(jiān)測模塊:用于在監(jiān)測到應(yīng)用安裝事件時(shí)獲取待安裝應(yīng)用的標(biāo)識信息;
上傳模塊:用于與將所述待安裝應(yīng)用的標(biāo)識信息上傳到云端服務(wù)器以對所述待安裝應(yīng)用進(jìn)行白名單判定;
執(zhí)行模塊:用于接收云端服務(wù)器反饋的白名單判定的結(jié)果信息并根據(jù)所述結(jié)果信息執(zhí)行相應(yīng)操作,其中,當(dāng)所述結(jié)果信息為白名單判定通過時(shí),將所述待安裝應(yīng)用安裝到系統(tǒng)安全模式對應(yīng)的第二用戶的存儲目錄下;當(dāng)所述結(jié)果信息為白名單判定不通過時(shí),將所述待安裝應(yīng)用安裝到系統(tǒng)普通模式對應(yīng)的第一用戶的存儲目錄下;所述系統(tǒng)安全模式配置有用于為預(yù)定應(yīng)用的運(yùn)行提供運(yùn)行資源的安全空間,該安全空間在系統(tǒng)普通模式下是不可訪問的。
結(jié)合第二方面,本發(fā)明的第一種可能的實(shí)現(xiàn)方式,所述預(yù)定應(yīng)用包括支付相關(guān)的應(yīng)用、理財(cái)相關(guān)的應(yīng)用和銀行相關(guān)的應(yīng)用中的至少其中一種。
結(jié)合第二方面,本發(fā)明的第二種可能的實(shí)現(xiàn)方式,所述運(yùn)行資源包括應(yīng)用程序本身、應(yīng)用程序配置數(shù)據(jù)和應(yīng)用程序的用戶數(shù)據(jù)其中至少一種,所述安全空間包括存儲空間。
結(jié)合第二方面,本發(fā)明的第三種可能的實(shí)現(xiàn)方式,所述待安裝應(yīng)用的標(biāo)識信息包括待安裝應(yīng)用的包名、版本號及對應(yīng)的文件大小、數(shù)字簽名的一項(xiàng)或多項(xiàng)。
結(jié)合第二方面,本發(fā)明的第四種可能的實(shí)現(xiàn)方式,所述裝置還包括:
安全判定模塊:用于在對所述待安裝應(yīng)用進(jìn)行白名單判定之前,對所述待安裝應(yīng)用進(jìn)行安全性判定。
結(jié)合第二方面的第四種實(shí)現(xiàn)方式,本發(fā)明的第五種可能的實(shí)現(xiàn)方式,所述安全判定模塊包括仿冒檢測單元和病毒檢測單元。
結(jié)合第二方面的第五種實(shí)現(xiàn)方式,本發(fā)明的第六種可能的實(shí)現(xiàn)方式,所述仿冒檢測單元用于比較待安裝應(yīng)用的數(shù)字簽名與由所述待安裝應(yīng)用的包名確定的官方數(shù)字簽名是否相同,若不同,則確定所述待安裝應(yīng)用為偽冒應(yīng)用。
結(jié)合第二方面的第六種實(shí)現(xiàn)方式,本發(fā)明的第七種可能的實(shí)現(xiàn)方式,所述系統(tǒng)為安卓系統(tǒng),所述仿冒檢測單元通過獲取PackageInfo類的對象packageName的屬性以獲取待安裝應(yīng)用的包名,通過PackageManger類中的packageInfo獲得Signature數(shù)組以獲取待安裝應(yīng)用的數(shù)字簽名。
結(jié)合第二方面的第五種實(shí)現(xiàn)方式,本發(fā)明的第八種可能的實(shí)現(xiàn)方式,所述仿冒檢測單元用于比較待安裝應(yīng)用的文件大小與由所述待安裝應(yīng)用的包名、版本號確定的官方文件大小是否相同,若不同,則確定所述待安裝應(yīng)用為偽冒應(yīng)用。
結(jié)合第二方面的第八種實(shí)現(xiàn)方式,本發(fā)明的第九種可能的實(shí)現(xiàn)方式,所述系統(tǒng)為安卓系統(tǒng),所述仿冒檢測單元通過反射機(jī)制調(diào)用getPackageSizeInfo()方法獲取待安裝應(yīng)用的文件大小,通過獲取PackageInfo的對象versionName的屬性獲取待安裝應(yīng)用的版本號。
結(jié)合第二方面,本發(fā)明的第十種可能的實(shí)現(xiàn)方式,還包括:
第一輸出單元:用于在所述當(dāng)所述結(jié)果信息為白名單判定通過時(shí)之后,將所述待安裝應(yīng)用安裝到系統(tǒng)安全模式對應(yīng)的第二用戶的存儲目錄下之前,輸出應(yīng)用安裝確認(rèn)窗口以在接收到用戶的確認(rèn)指令后將所述待安裝應(yīng)用安裝到系統(tǒng)安全模式對應(yīng)的第二用戶的存儲目錄下。
結(jié)合第二方面的第六種實(shí)現(xiàn)方式或第八種實(shí)現(xiàn)方式,本發(fā)明的第十一種可能的實(shí)現(xiàn)方式,還包括:
第二輸出單元:用于當(dāng)確定所述待安裝應(yīng)用為偽冒應(yīng)用時(shí),輸出應(yīng)用安裝終止窗口以在接收到用戶的終止指令后終止安裝所述待安裝應(yīng)用。
第三方面,本發(fā)明還提供一種移動(dòng)終端,其特征在于,包括:
觸敏顯示器:用于顯示該方法實(shí)現(xiàn)過程中產(chǎn)生的中間信息及結(jié)果信息;
存儲器:用于存儲上述方法實(shí)現(xiàn)過程中產(chǎn)生的候選中間數(shù)據(jù)以及結(jié)果數(shù)據(jù);
一個(gè)或多個(gè)處理器:所述處理器被配置為用于執(zhí)行實(shí)現(xiàn)上述方法的步驟。
與現(xiàn)有技術(shù)相比,本發(fā)明具備如下優(yōu)點(diǎn):
本發(fā)明考慮應(yīng)用安裝時(shí)的安全風(fēng)險(xiǎn)及應(yīng)用運(yùn)行的安全性要求,通過改寫安卓終端系統(tǒng)的PackageManagerService類的installPackage()函數(shù),以在監(jiān)測到應(yīng)用安裝事件時(shí)對待安裝應(yīng)用進(jìn)行安全性判定和白名單判定,避免非官方的虛假應(yīng)用安裝到系統(tǒng)中,確保所安裝的應(yīng)用安全運(yùn)行;并且基于安卓系統(tǒng)的多用戶模式,將安全性判定通過且白名單判定通過的應(yīng)用安裝到系統(tǒng)安全模式下,減少用戶需要手動(dòng)選擇安裝的操作步驟,并且該安全模式配置有為預(yù)定應(yīng)用的運(yùn)行提供運(yùn)行資源的安全空間,該安全空間在系統(tǒng)普通模式下是不可訪問的,更好地保障應(yīng)用的使用安全;
同時(shí),通過改寫PackageManagerService類的installPackage()函數(shù),不論應(yīng)用是通過靜默安裝或非靜默安裝的形式進(jìn)行安裝,都將被監(jiān)測到應(yīng)用安裝事件,進(jìn)而對待安裝應(yīng)用進(jìn)行安全性判定和白名單判定,避免應(yīng)用通過靜默安裝的形式繞過監(jiān)測機(jī)制。
顯然,上述有關(guān)本發(fā)明優(yōu)點(diǎn)的描述是概括性的,更多的優(yōu)點(diǎn)描述將體現(xiàn)在后續(xù)的實(shí)施例揭示中,以及,本領(lǐng)域技術(shù)人員也可以本發(fā)明所揭示的內(nèi)容合理地發(fā)現(xiàn)本發(fā)明的其他諸多優(yōu)點(diǎn)。
本發(fā)明附加的方面和優(yōu)點(diǎn)將在下面的描述中部分給出,這些將從下面的描述中變得明顯,或通過本發(fā)明的實(shí)踐了解到。
【附圖說明】
圖1為本發(fā)明應(yīng)用程序安裝方法的一實(shí)施例流程示意圖;
圖2為本發(fā)明應(yīng)用程序安裝方法的一實(shí)施例流程示意圖;
圖3為本發(fā)明應(yīng)用程序安裝裝置的一實(shí)施例流程示意圖;
圖4為本發(fā)明實(shí)施例提供的移動(dòng)終端部分結(jié)構(gòu)的一實(shí)施例示意框圖。
【具體實(shí)施方式】
下面結(jié)合附圖和示例性實(shí)施例對本發(fā)明作進(jìn)一步地描述,其中附圖中相同的標(biāo)號全部指的是相同的部件。此外,如果已知技術(shù)的詳細(xì)描述對于示出本發(fā)明的特征是不必要的,則將其省略。
本技術(shù)領(lǐng)域技術(shù)人員可以理解,除非特意聲明,這里使用的單數(shù)形式“一”、“一個(gè)”、“所述”和“該”也可包括復(fù)數(shù)形式。應(yīng)該進(jìn)一步理解的是,本發(fā)明的說明書中使用的措辭“包括”是指存在所述特征、整數(shù)、步驟、操作、元件和/或組件,但是并不排除存在或添加一個(gè)或多個(gè)其他特征、整數(shù)、步驟、操作、元件、組件和/或它們的組。應(yīng)該理解,當(dāng)我們稱元件被“連接”或“耦接”到另一元件時(shí),它可以直接連接或耦接到其他元件,或者也可以存在中間元件。此外,這里使用的“連接”或“耦接”可以包括無線連接或無線耦接。這里使用的措辭“和/或”包括一個(gè)或更多個(gè)相關(guān)聯(lián)的列出項(xiàng)的全部或任一單元和全部組合。
本技術(shù)領(lǐng)域技術(shù)人員可以理解,除非另外定義,這里使用的所有術(shù)語(包括技術(shù)術(shù)語和科學(xué)術(shù)語),具有與本發(fā)明所屬領(lǐng)域中的普通技術(shù)人員的一般理解相同的意義。還應(yīng)該理解的是,諸如通用字典中定義的那些術(shù)語,應(yīng)該被理解為具有與現(xiàn)有技術(shù)的上下文中的意義一致的意義,并且除非像這里一樣被特定定義,否則不會(huì)用理想化或過于正式的含義來解釋。
本技術(shù)領(lǐng)域技術(shù)人員可以理解,這里所使用的“終端”、“終端設(shè)備”既包括無線信號接收器的設(shè)備,其僅具備無發(fā)射能力的無線信號接收器的設(shè)備,又包括接收和發(fā)射硬件的設(shè)備,其具有能夠在雙向通信鏈路上,執(zhí)行雙向通信的接收和發(fā)射硬件的設(shè)備。這種設(shè)備可以包括:蜂窩或其他通信設(shè)備,其具有單線路顯示器或多線路顯示器或沒有多線路顯示器的蜂窩或其他通信設(shè)備;PCS(Personal Communications Service,個(gè)人通信系統(tǒng)),其可以組合語音、數(shù)據(jù)處理、傳真和/或數(shù)據(jù)通信能力;PDA(Personal Digital Assistant,個(gè)人數(shù)字助理),其可以包括射頻接收器、尋呼機(jī)、互聯(lián)網(wǎng)/內(nèi)聯(lián)網(wǎng)訪問、網(wǎng)絡(luò)瀏覽器、記事本、日歷和/或GPS(Global Positioning System,全球定位系統(tǒng))接收器;常規(guī)膝上型和/或掌上型計(jì)算機(jī)或其他設(shè)備,其具有和/或包括射頻接收器的常規(guī)膝上型和/或掌上型計(jì)算機(jī)或其他設(shè)備。這里所使用的“終端”、“移動(dòng)終端”、“終端設(shè)備”可以是便攜式、可運(yùn)輸、安裝在交通工具(航空、海運(yùn)和/或陸地)中的,或者適合于和/或配置為在本地運(yùn)行,和/或以分布形式,運(yùn)行在地球和/或空間的任何其他位置運(yùn)行。這里所使用的“終端”、“移動(dòng)終端”、“終端設(shè)備”還可以是通信終端、上網(wǎng)終端、音樂/視頻播放終端,例如可以是PDA、MID(Mobile Internet Device,移動(dòng)互聯(lián)網(wǎng)設(shè)備)和/或具有音樂/視頻播放功能的移動(dòng)電話,也可以是智能電視、機(jī)頂盒等設(shè)備。
本技術(shù)領(lǐng)域技術(shù)人員可以理解,這里所使用的遠(yuǎn)端網(wǎng)絡(luò)設(shè)備,其包括但不限于計(jì)算機(jī)、網(wǎng)絡(luò)主機(jī)、單個(gè)網(wǎng)絡(luò)服務(wù)器、多個(gè)網(wǎng)絡(luò)服務(wù)器集或多個(gè)服務(wù)器構(gòu)成的云。在此,云由基于云計(jì)算(Cloud Computing)的大量計(jì)算機(jī)或網(wǎng)絡(luò)服務(wù)器構(gòu)成,其中,云計(jì)算是分布式計(jì)算的一種,由一群松散耦合的計(jì)算機(jī)集組成的一個(gè)超級虛擬計(jì)算機(jī)。本發(fā)明的實(shí)施例中,遠(yuǎn)端網(wǎng)絡(luò)設(shè)備、終端設(shè)備與WNS服務(wù)器之間可通過任何通信方式實(shí)現(xiàn)通信,包括但不限于,基于3GPP、LTE、WIMAX的移動(dòng)通信、基于TCP/IP、UDP協(xié)議的計(jì)算機(jī)網(wǎng)絡(luò)通信以及基于藍(lán)牙、紅外傳輸標(biāo)準(zhǔn)的近距無線傳輸方式。
本技術(shù)領(lǐng)域技術(shù)人員可以理解,本發(fā)明所述的用戶界面/操作界面泛指能夠用于向智能終端發(fā)送控制指令的顯示界面,例如,可以為Android系統(tǒng)的設(shè)置頁面中的一個(gè)選項(xiàng)(或按鍵,由所述應(yīng)用程序添加其中,下同),也可以是從桌面呼出的通知欄或者交互頁面中的一個(gè)選項(xiàng),還可以是所述應(yīng)用程序的一個(gè)活動(dòng)組件所構(gòu)造的頁面中的一個(gè)選項(xiàng)。
本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,本發(fā)明所稱的“應(yīng)用”、“應(yīng)用程序”、“應(yīng)用軟件”以及類似表述的概念,是業(yè)內(nèi)技術(shù)人員所公知的相同概念,是指由一系列計(jì)算機(jī)指令及相關(guān)數(shù)據(jù)資源有機(jī)構(gòu)造的適于電子運(yùn)行的計(jì)算機(jī)軟件。除非特別指定,這種命名本身不受編程語言種類、級別,也不受其賴以運(yùn)行的操作系統(tǒng)或平臺所限制。理所當(dāng)然地,此類概念也不受任何形式的終端所限制。
第一方面,如圖1所示是本發(fā)明應(yīng)用安裝方法的一實(shí)施例流程示意圖,包括如下步驟:
步驟S100:在監(jiān)測到應(yīng)用安裝事件時(shí)獲取待安裝應(yīng)用的標(biāo)識信息。
在安卓系統(tǒng)中,在安卓系統(tǒng)中,PackageManagerService用于處理應(yīng)用的安裝、卸載、管理等事件,應(yīng)用安裝包括了以下幾種方式:
①開機(jī)時(shí)完成系統(tǒng)已有應(yīng)用安裝;
②從網(wǎng)絡(luò)下載應(yīng)用后安裝;
③使用ADB(Android Debug Bridge,調(diào)試橋)工具安裝應(yīng)用;
④從SD卡里的APK文件安裝;
其中,第②③④種應(yīng)用安裝方式都會(huì)調(diào)用到PackageManagerService類的installPackage()函數(shù),本實(shí)施例通過改寫installPackage()函數(shù)的邏輯以在監(jiān)測到應(yīng)用安裝事件時(shí)進(jìn)行相應(yīng)的響應(yīng),即獲取待安裝應(yīng)用的標(biāo)識信息,進(jìn)而執(zhí)行本實(shí)施例的后續(xù)操作。
本實(shí)施例通過改寫PackageManagerService類的installPackage()函數(shù),不論應(yīng)用是通過靜默安裝或非靜默安裝的形式進(jìn)行安裝,都將被監(jiān)測到應(yīng)用安裝事件,進(jìn)而對待安裝應(yīng)用進(jìn)行安全性判定和白名單判定,避免應(yīng)用通過靜默安裝的形式繞過監(jiān)測機(jī)制。
具體的,所述待安裝應(yīng)用的標(biāo)識信息包括待安裝應(yīng)用的包名、版本號及對應(yīng)的文件大小、數(shù)字簽名的一項(xiàng)或多項(xiàng)。
其中,包名(Package Name)為應(yīng)用的唯一標(biāo)識,一個(gè)包名代表一個(gè)應(yīng)用,包名主要用于系統(tǒng)識別應(yīng)用,在安卓系統(tǒng)中不允許安裝兩個(gè)相同包名的應(yīng)用,包名在安裝包中的AndroidManifest.xml文件中定義,本實(shí)施例通過PackageInfo類的對象packageName的屬性獲取待安裝應(yīng)用的包名。
另外,應(yīng)用的版本號是用于區(qū)別不同階段發(fā)布的應(yīng)用的標(biāo)識,在安卓系統(tǒng)中,應(yīng)用的版本號是在其安裝包中解析得到的AndroidManifest.xml文件中配置的,并且安卓系統(tǒng)的PackageInfo類封裝了從AndroidManifest.xml文件中獲取所有應(yīng)用的多種信息,本實(shí)施例通過PackageInfo的對象versionName的屬性獲取應(yīng)用的版本號;同時(shí),文件大小為應(yīng)用安裝包的文件大小,并且,同一包名、不同版本號的應(yīng)用的安裝包大小也有所不同,安裝包的大小信息封裝在PackageStats類中,只要獲取PackageStats類的對象可以獲取到應(yīng)用安裝包的文件大小,本實(shí)施例通過反射機(jī)制調(diào)用getPackageSizeInfo()方法獲取待安裝應(yīng)用的文件大小。
應(yīng)用程序的數(shù)字簽名是用來建立應(yīng)用程序的開發(fā)者和在應(yīng)用程序之間的信任關(guān)系,數(shù)字簽名由應(yīng)用程序的開發(fā)者完成,用來讓應(yīng)用程序包自我認(rèn)證的,安卓系統(tǒng)要求每一個(gè)應(yīng)用程序必須要經(jīng)過數(shù)字簽名后才能夠被安裝到系統(tǒng)中,應(yīng)用程序的數(shù)字簽名被封裝在PackageInfo類中,本實(shí)施例通過PackageManager來獲得包含有應(yīng)用數(shù)字簽名信息的PackageInfo,再通過packageInfo獲得Signature數(shù)組,循環(huán)遍歷將簽名進(jìn)行拼接完成獲取數(shù)字簽名。
因此,在一些實(shí)施例中,可以僅僅用包名和/或數(shù)字簽名作為應(yīng)用的標(biāo)識信息。而在一些實(shí)施例中,在識別應(yīng)用時(shí),即使包名和/或數(shù)字簽名都正確,也可能出現(xiàn)由于某些應(yīng)用版本基于安全原因而棄用或者某些應(yīng)用的安裝包出現(xiàn)破壞而使得文件大小發(fā)生變化等現(xiàn)象,因此為了進(jìn)一步提高識別應(yīng)用的準(zhǔn)確度,還可以將應(yīng)用的版本號信息及對應(yīng)的文件大小信息與上述的包名和/或數(shù)字簽名一起作為標(biāo)識信息。
可以理解的是,上述獲取待安裝應(yīng)用的標(biāo)識信息的方法為示例性方法,本領(lǐng)域技術(shù)人員可以根據(jù)本實(shí)施例的實(shí)現(xiàn)邏輯利用其他方法獲取待安裝應(yīng)用的標(biāo)識信息,不能將其理解為對本方法的限制。
步驟S200:將所述待安裝應(yīng)用的標(biāo)識信息上傳到云端服務(wù)器以對所述待安裝應(yīng)用進(jìn)行白名單判定。
終端在獲取了待安裝應(yīng)用的標(biāo)識信息后,通過TCP/IP協(xié)議經(jīng)遠(yuǎn)程接口將所述待安裝應(yīng)用的標(biāo)識信息上傳到云端服務(wù)器,并且請求云端服務(wù)器根據(jù)對所述待安裝應(yīng)用進(jìn)行白名單判定。
具體的,在云端服務(wù)器中設(shè)有應(yīng)用白名單,所述應(yīng)用白名單中的應(yīng)用包括支付相關(guān)的應(yīng)用、理財(cái)相關(guān)的應(yīng)用和銀行相關(guān)的應(yīng)用的一種或多種,并且每個(gè)應(yīng)用以其官方發(fā)布時(shí)的包名作為區(qū)別特征標(biāo)識存儲在應(yīng)用白名單中,服務(wù)器在接收到待安裝應(yīng)用的標(biāo)識信息后,查詢待安裝應(yīng)用的包名是否存儲在所述應(yīng)用白名單中,若存在,則白名單判定通過,否則,白名單判定不通過。
進(jìn)一步的,由于安卓應(yīng)用安裝包的開放性,應(yīng)用容易被他人反編譯、修改并重新打包、發(fā)布,所以在應(yīng)用安裝前檢測應(yīng)用是否存在安全風(fēng)險(xiǎn)可以有效地避免虛假應(yīng)用安裝到終端系統(tǒng)中,本實(shí)施例在服務(wù)器對所述待安裝應(yīng)用進(jìn)行白名單判定之前,先對其進(jìn)行安全性判定,具體的,所述安全性判定包括仿冒檢測和病毒檢測。
在一種實(shí)施方式中,所述仿冒檢測通過比較待安裝應(yīng)用的數(shù)字簽名與由所述待安裝應(yīng)用的包名確定的官方數(shù)字簽名是否相同,若不同,則確定所述待安裝應(yīng)用為偽冒應(yīng)用。具體的,數(shù)字簽名的比較通過比較待安裝應(yīng)用的數(shù)字簽名的MD5值(或SHA1值)與官方數(shù)字簽名的MD5值(或SHA1值),若兩者相同,則確定待安裝應(yīng)用的數(shù)字簽名與官方數(shù)字簽名相同。
在另一種實(shí)施方式中,所述仿冒檢測通過比較待安裝應(yīng)用的文件大小與由所述待安裝應(yīng)用的包名、版本號確定的官方文件大小是否相同,若不同,則確定所述待安裝應(yīng)用為偽冒應(yīng)用。例如,待安裝應(yīng)用為“銀聯(lián)錢包”,終端獲取得到該待安裝應(yīng)用的包名為com.unionpay、版本號為4.4.6、安裝包大小為10.94M,服務(wù)器查詢到包名為com.unionpay、版本號為4.4.6的“銀聯(lián)錢包”應(yīng)用的官方安裝包大小為10.83M,則此時(shí)服務(wù)器判定所述待安裝應(yīng)用為偽冒應(yīng)用。
更佳地,當(dāng)待安裝應(yīng)用的文件大小與由所述待安裝應(yīng)用的包名、版本號確定的官方文件大小相同,且待安裝應(yīng)用的數(shù)字簽名與由所述待安裝應(yīng)用的包名確定的官方數(shù)字簽名相同時(shí),判定待安裝應(yīng)用通過偽冒檢測,為可信任的安全應(yīng)用,若其中有一項(xiàng)不相同,則判定待安裝應(yīng)用為偽冒應(yīng)用。例如,待安裝應(yīng)用為“中國工商銀行”,包名為com.icbc,版本號為1.5.5,服務(wù)器根據(jù)所述包名及版本號確定對應(yīng)的官方文件大小為18.24MB,再與終端上傳的待安裝應(yīng)用的文件大小比較是否相同,若相同再比較所述待安裝應(yīng)用的數(shù)字簽名與官方數(shù)字簽名是否相同,若數(shù)字簽名也相同則確定所述待安裝應(yīng)用通過偽冒檢測,為可信任的安全應(yīng)用;若兩次比較有一次不同,則確定所述待安裝應(yīng)用為偽冒應(yīng)用。
對待安裝應(yīng)用的病毒檢測則通過對比待安裝應(yīng)用的安裝包文件的MD5值與云端服務(wù)器中的病毒庫作對比,若該MD5值存在于病毒庫中時(shí),則判定待安裝應(yīng)用攜帶有病毒。
優(yōu)選的,只有在所述待安裝應(yīng)用通過安全性判定后,才對所述待安裝應(yīng)用進(jìn)行白名單判定,然后服務(wù)器將判定后的結(jié)果信息反饋給終端,所述結(jié)果信息包括安全性判定的結(jié)果信息和白名單判定的結(jié)果信息。
步驟S300:接收云端服務(wù)器反饋的白名單判定的結(jié)果信息并根據(jù)所述結(jié)果信息執(zhí)行相應(yīng)操作,其中,當(dāng)所述結(jié)果信息為白名單判定通過時(shí),將所述待安裝應(yīng)用安裝到系統(tǒng)安全模式對應(yīng)的第二用戶的存儲目錄下;當(dāng)所述結(jié)果信息為白名單判定不通過時(shí),將所述待安裝應(yīng)用安裝到系統(tǒng)普通模式對應(yīng)的第一用戶的存儲目錄下。
終端接收云端服務(wù)器對所述待安裝應(yīng)用進(jìn)行安全性判定和白名單判定后反饋的結(jié)果信息數(shù)據(jù)包,然后解析得到所述結(jié)果信息并根據(jù)所述結(jié)果信息執(zhí)行相應(yīng)的操作。
具體的,本實(shí)施例中的所述終端基于安卓多用戶模式創(chuàng)建了一個(gè)新的用戶,在創(chuàng)建新用戶后,會(huì)在/data/system/users/userlist.xml文件中保存新用戶的id(uid),然后創(chuàng)建/data/system/users/uid目錄,并將用戶信息保存至其下的uid.xml文件中,每一個(gè)用戶均分配有獨(dú)立的存儲空間,用于存放各自的應(yīng)用數(shù)據(jù)和用戶數(shù)據(jù)。安卓系統(tǒng)的默認(rèn)用戶(即管理員用戶)uid為0,默認(rèn)用戶對應(yīng)于本實(shí)施例的第一用戶,新創(chuàng)建的第一個(gè)用戶(即普通用戶)uid為10,新創(chuàng)建的用戶對應(yīng)于本實(shí)施例的第二用戶,安卓多用戶模式支持創(chuàng)建多個(gè)新用戶,若在創(chuàng)建10用戶后再創(chuàng)建一個(gè)新用戶,其uid為11,同樣為本實(shí)施例所述的第二用戶,并且,本實(shí)施例中,系統(tǒng)以第一用戶登錄時(shí)為系統(tǒng)普通模式,以第二用戶登錄時(shí)為系統(tǒng)安全模式,由于多用戶模式下的數(shù)據(jù)資源相互獨(dú)立且無法直接進(jìn)行讀寫操作,本實(shí)施例中所述系統(tǒng)安全模式配置有用于為預(yù)定應(yīng)用的運(yùn)行提供運(yùn)行資源的安全空間,該安全空間在系統(tǒng)普通模式下是不可訪問的,并將安全性要求較高的預(yù)定應(yīng)用安裝到安全模式下對應(yīng)的第二用戶的存儲目錄下。
具體的,所述預(yù)定應(yīng)用即能夠通過服務(wù)器白名單判定的應(yīng)用,其包括支付相關(guān)的應(yīng)用(例如支付寶APP)、理財(cái)相關(guān)的應(yīng)用(例如陸金所APP)和銀行相關(guān)的應(yīng)用(例如工商銀行APP)中的至少其中一種。所述運(yùn)行資源既可以是理解為應(yīng)用程序本身,也可以理解為應(yīng)用程序的配置數(shù)據(jù),還可以理解為應(yīng)用程序的用戶數(shù)據(jù),當(dāng)然,運(yùn)行資源還可以理解為運(yùn)行保護(hù)策略,所述的安全空間就可以理解為存儲空間及其相應(yīng)的運(yùn)行保護(hù)策略配置環(huán)境,運(yùn)行保護(hù)策略配置環(huán)境為:在運(yùn)行該應(yīng)用時(shí)啟動(dòng)殺毒、查殺木馬等等安全保護(hù)措施的配置環(huán)境。
基于上述的優(yōu)選實(shí)施方式(只有在所述待安裝應(yīng)用通過安全性判定后,才對所述待安裝應(yīng)用進(jìn)行白名單判定)可以知道,服務(wù)器判定后的結(jié)果信息包括:
①安全性判定通過且白名單判斷通過;
②安全性判定通過而白名單判斷不通過;
③安全性判定不通過。
如圖2所示是本發(fā)明應(yīng)用程序安裝方法的另一實(shí)施例流程圖。
當(dāng)終端解析得到服務(wù)器反饋的結(jié)果信息為安全性判定通過且白名單判定通過時(shí),將所述待安裝應(yīng)用安裝到系統(tǒng)安全模式對應(yīng)的第二用戶的存儲目錄下;例如,待安裝應(yīng)用為“中國工商銀行”,包名為com.icbc,其通過安全性判斷及白名單判定,將其安裝到第二用戶的存儲目錄下,即該待安裝應(yīng)用的安裝目錄為/data/user/10/com.icbc/。
當(dāng)終端解析得到服務(wù)器反饋的結(jié)果信息為安全性判定通過而白名單判定不通過時(shí),將所述待安裝應(yīng)用安裝到系統(tǒng)普通模式對應(yīng)的第一用戶的存儲目錄下;例如,待安裝應(yīng)用為“相機(jī)360”,包名為vStudio.Android.Camera360,其通過安全性判斷而不通過白名單判定,將其安裝到第一用戶的存儲目錄下,即該待安裝應(yīng)用的安裝目錄為/data/user/0/vStudio.Android.Camera360/。
較佳地,在終端解析得到服務(wù)器反饋的結(jié)果信息為白名單判定通過時(shí)之后,將所述待安裝應(yīng)用安裝到系統(tǒng)安全模式對應(yīng)的第二用戶的存儲目錄下之前,還包括步驟:
輸出應(yīng)用安裝確認(rèn)窗口以在接收到用戶的確認(rèn)指令后將所述待安裝應(yīng)用安裝到系統(tǒng)安全模式對應(yīng)的第二用戶的存儲目錄下。例如,確認(rèn)窗口上顯示諸如“該應(yīng)用即將安裝到支付域(即系統(tǒng)安全模式)中,請確認(rèn)”的提示信息,并提供諸如“確認(rèn)”的按鈕以接收用戶的確認(rèn)指令,并在接收到用戶的確認(rèn)指令后將所述待安裝應(yīng)用安裝到系統(tǒng)安全模式對應(yīng)的第二用戶的存儲目錄下。
另外,當(dāng)終端解析得到服務(wù)器反饋的結(jié)果信息為安全性判定不通過時(shí),則確定所述待安裝應(yīng)用為虛假應(yīng)用,然后在用戶界面上輸出應(yīng)用安裝終止窗口以在接收到用戶的終止指令后終止安裝所述待安裝應(yīng)用。例如,在終止窗口上顯示諸如“該應(yīng)用可能是虛假應(yīng)用,是否終止安裝”的提示信息,并提供諸如“終止”的按鈕以接收用戶的終止指令,并在接收到用戶的終止指令后終止安裝所述待安裝應(yīng)用。
第二方面,如圖3所示是本發(fā)明應(yīng)用安裝裝置的一實(shí)施例示意圖,包括:
監(jiān)測模塊100:用于在監(jiān)測到應(yīng)用安裝事件時(shí)獲取待安裝應(yīng)用的標(biāo)識信息。
在安卓系統(tǒng)中,在安卓系統(tǒng)中,PackageManagerService用于處理應(yīng)用的安裝、卸載、管理等事件,應(yīng)用安裝包括了以下幾種方式:
①開機(jī)時(shí)完成系統(tǒng)已有應(yīng)用安裝;
②從網(wǎng)絡(luò)下載應(yīng)用后安裝;
③使用ADB(Android Debug Bridge,調(diào)試橋)工具安裝應(yīng)用;
④從SD卡里的APK文件安裝;
其中,第②③④種應(yīng)用安裝方式都會(huì)調(diào)用到PackageManagerService類的installPackage()函數(shù),本實(shí)施例通過改寫installPackage()函數(shù)的邏輯以在監(jiān)測模塊100監(jiān)測到應(yīng)用安裝事件時(shí)進(jìn)行相應(yīng)的響應(yīng),即獲取待安裝應(yīng)用的標(biāo)識信息,進(jìn)而執(zhí)行本實(shí)施例的后續(xù)操作。
具體的,所述待安裝應(yīng)用的標(biāo)識信息包括待安裝應(yīng)用的包名、版本號及對應(yīng)的文件大小、數(shù)字簽名的一項(xiàng)或多項(xiàng)。
其中,包名(Package Name)為應(yīng)用的唯一標(biāo)識,一個(gè)包名代表一個(gè)應(yīng)用,包名主要用于系統(tǒng)識別應(yīng)用,在安卓系統(tǒng)中不允許安裝兩個(gè)相同包名的應(yīng)用,包名在安裝包中的AndroidManifest.xml文件中定義,本實(shí)施例通過PackageInfo類的對象packageName的屬性獲取待安裝應(yīng)用的包名。
另外,應(yīng)用的版本號是用于區(qū)別不同階段發(fā)布的應(yīng)用的標(biāo)識,在安卓系統(tǒng)中,應(yīng)用的版本號是在其安裝包中解析得到的AndroidManifest.xml文件中配置的,并且安卓系統(tǒng)的PackageInfo類封裝了從AndroidManifest.xml文件中獲取所有應(yīng)用的多種信息,本實(shí)施例通過PackageInfo的對象versionName的屬性獲取應(yīng)用的版本號;同時(shí),文件大小為應(yīng)用安裝包的文件大小,并且,同一包名、不同版本號的應(yīng)用的安裝包大小也有所不同,安裝包的大小信息封裝在PackageStats類中,只要獲取PackageStats類的對象可以獲取到應(yīng)用安裝包的文件大小,本實(shí)施例通過反射機(jī)制調(diào)用getPackageSizeInfo()方法獲取待安裝應(yīng)用的文件大小。
應(yīng)用程序的數(shù)字簽名是用來建立應(yīng)用程序的開發(fā)者和在應(yīng)用程序之間的信任關(guān)系,數(shù)字簽名由應(yīng)用程序的開發(fā)者完成,用來讓應(yīng)用程序包自我認(rèn)證的,安卓系統(tǒng)要求每一個(gè)應(yīng)用程序必須要經(jīng)過數(shù)字簽名后才能夠被安裝到系統(tǒng)中,應(yīng)用程序的數(shù)字簽名被封裝在PackageInfo類中,本實(shí)施例通過PackageManager來獲得包含有應(yīng)用數(shù)字簽名信息的PackageInfo,再通過packageInfo獲得Signature數(shù)組,循環(huán)遍歷將簽名進(jìn)行拼接完成獲取數(shù)字簽名。
可以理解的是,上述獲取待安裝應(yīng)用的標(biāo)識信息的方法為示例性方法,本領(lǐng)域技術(shù)人員可以根據(jù)本實(shí)施例的實(shí)現(xiàn)邏輯利用其他方法獲取待安裝應(yīng)用的標(biāo)識信息,不能將其理解為對本發(fā)明的限制。
上傳模塊200:用戶與將所述待安裝應(yīng)用的標(biāo)識信息上傳到云端服務(wù)器以對所述待安裝應(yīng)用進(jìn)行白名單判定;
在監(jiān)測模塊100獲取了待安裝應(yīng)用的標(biāo)識信息后,上傳模塊200通過TCP/IP協(xié)議經(jīng)遠(yuǎn)程接口將所述待安裝應(yīng)用的標(biāo)識信息上傳到云端服務(wù)器,并且請求云端服務(wù)器根據(jù)對所述待安裝應(yīng)用進(jìn)行白名單判定。
具體的,所述云端服務(wù)器包括白名單判定模塊,白名單判定模塊中設(shè)有應(yīng)用白名單,所述應(yīng)用白名單中的應(yīng)用包括支付相關(guān)的應(yīng)用、理財(cái)相關(guān)的應(yīng)用和銀行相關(guān)的應(yīng)用的一種或多種,并且每個(gè)應(yīng)用以其官方發(fā)布時(shí)的包名作為區(qū)別特征標(biāo)識存儲在應(yīng)用白名單中,服務(wù)器在接收到待安裝應(yīng)用的標(biāo)識信息后,白名單判定模塊查詢待安裝應(yīng)用的包名是否存儲在所述應(yīng)用白名單中,若存在,則白名單判定通過,否則,白名單判定不通過。
進(jìn)一步的,由于安卓應(yīng)用安裝包的開放性,應(yīng)用容易被他人反編譯、修改并重新打包、發(fā)布,所以在應(yīng)用安裝前檢測應(yīng)用是否存在安全風(fēng)險(xiǎn)可以有效地避免虛假應(yīng)用安裝到終端系統(tǒng)中,本實(shí)施例所述云端服務(wù)器還包括安全判定模塊,用于在對所述待安裝應(yīng)用進(jìn)行白名單判定之前,先對其進(jìn)行安全性判定,具體的,所述安全判定模塊包括仿冒檢測單元和病毒檢測單元。
在一種實(shí)施方式中,所述仿冒檢測單元用于比較待安裝應(yīng)用的數(shù)字簽名與由所述待安裝應(yīng)用的包名確定的官方數(shù)字簽名是否相同,若不同,則確定所述待安裝應(yīng)用為偽冒應(yīng)用。具體的,數(shù)字簽名的比較通過比較待安裝應(yīng)用的數(shù)字簽名的MD5值(或SHA1值)與官方數(shù)字簽名的MD5值(或SHA1值),若兩者相同,則確定待安裝應(yīng)用的數(shù)字簽名與官方數(shù)字簽名相同。
在另一種實(shí)施方式中,所述仿冒檢測單元用于比較待安裝應(yīng)用的文件大小與由所述待安裝應(yīng)用的包名、版本號確定的官方文件大小是否相同,若不同,則確定所述待安裝應(yīng)用為偽冒應(yīng)用。例如,待安裝應(yīng)用為“銀聯(lián)錢包”,終端獲取得到該待安裝應(yīng)用的包名為com.unionpay、版本號為4.4.6、安裝包大小為10.94M,仿冒檢測單元查詢到包名為com.unionpay、版本號為4.4.6的“銀聯(lián)錢包”應(yīng)用的官方安裝包大小為10.83M,則此時(shí)仿冒檢測單元判定所述待安裝應(yīng)用為偽冒應(yīng)用。
更佳地,當(dāng)待安裝應(yīng)用的文件大小與由所述待安裝應(yīng)用的包名、版本號確定的官方文件大小相同,且待安裝應(yīng)用的數(shù)字簽名與由所述待安裝應(yīng)用的包名確定的官方數(shù)字簽名相同時(shí),仿冒檢測單元即可判定待安裝應(yīng)用通過偽冒檢測,為可信任的安全應(yīng)用,若其中有一項(xiàng)不相同,則判定待安裝應(yīng)用為偽冒應(yīng)用。例如,待安裝應(yīng)用為“中國工商銀行”,包名為com.icbc,版本號為1.5.5,仿冒檢測單元根據(jù)所述包名及版本號確定對應(yīng)的官方文件大小為18.24MB,再與終端上傳的待安裝應(yīng)用的文件大小比較是否相同,若相同再比較所述待安裝應(yīng)用的數(shù)字簽名與官方數(shù)字簽名是否相同,若數(shù)字簽名也相同則確定所述待安裝應(yīng)用通過偽冒檢測,為可信任的安全應(yīng)用;若兩次比較結(jié)果有一次不同,則確定所述待安裝應(yīng)用為偽冒應(yīng)用。
所述病毒檢測單元對待安裝應(yīng)用的病毒檢測則通過對比待安裝應(yīng)用的安裝包文件的MD5值與云端服務(wù)器中的病毒庫作對比,若該MD5值存在于病毒庫中時(shí),則判定待安裝應(yīng)用攜帶有病毒。
優(yōu)選的,只有在所述待安裝應(yīng)用通過安全性判定后,才對所述待安裝應(yīng)用進(jìn)行白名單判定,然后服務(wù)器將判定后的結(jié)果信息反饋給終端,所述結(jié)果信息包括安全性判定的結(jié)果信息和白名單判定的結(jié)果信息。
執(zhí)行模塊300:用于接收云端服務(wù)器反饋的白名單判定的結(jié)果信息并根據(jù)所述結(jié)果信息執(zhí)行相應(yīng)操作,其中,當(dāng)所述結(jié)果信息為白名單判定通過時(shí),將所述待安裝應(yīng)用安裝到系統(tǒng)安全模式對應(yīng)的第二用戶的存儲目錄下;當(dāng)所述結(jié)果信息為白名單判定不通過時(shí),將所述待安裝應(yīng)用安裝到系統(tǒng)普通模式對應(yīng)的第一用戶的存儲目錄下。
執(zhí)行模塊300接收云端服務(wù)器對所述待安裝應(yīng)用進(jìn)行安全性判定和白名單判定后反饋的結(jié)果信息數(shù)據(jù)包,然后解析得到所述結(jié)果信息并根據(jù)所述結(jié)果信息執(zhí)行相應(yīng)的操作。
具體的,本實(shí)施例中的所述終端基于安卓多用戶模式創(chuàng)建了一個(gè)新的用戶,在創(chuàng)建新用戶后,會(huì)在/data/system/users/userlist.xml文件中保存新用戶的id(uid),然后創(chuàng)建/data/system/users/uid目錄,并將用戶信息保存至其下的uid.xml文件中,每一個(gè)用戶均分配有獨(dú)立的存儲空間,用于存放各自的應(yīng)用數(shù)據(jù)和用戶數(shù)據(jù)。安卓系統(tǒng)的默認(rèn)用戶(即管理員用戶)uid為0,默認(rèn)用戶對應(yīng)于本實(shí)施例的第一用戶,新創(chuàng)建的第一個(gè)用戶(即普通用戶)uid為10,新創(chuàng)建的用戶對應(yīng)于本實(shí)施例的第二用戶,安卓多用戶模式支持創(chuàng)建多個(gè)新用戶,若在創(chuàng)建10用戶后再創(chuàng)建一個(gè)新用戶,其uid為11,同樣為本實(shí)施例所述的第二用戶,并且,本實(shí)施例中,系統(tǒng)以第一用戶登錄時(shí)為系統(tǒng)普通模式,以第二用戶登錄時(shí)為系統(tǒng)安全模式,由于多用戶模式下的數(shù)據(jù)資源相互獨(dú)立且無法直接進(jìn)行讀寫操作,本實(shí)施例中所述系統(tǒng)安全模式配置有用于為預(yù)定應(yīng)用的運(yùn)行提供運(yùn)行資源的安全空間,該安全空間在系統(tǒng)普通模式下是不可訪問的,并將安全性要求較高的預(yù)定應(yīng)用安裝到安全模式下對應(yīng)的第二用戶的存儲目錄下。
具體的,所述預(yù)定應(yīng)用即能夠通過服務(wù)器白名單判定的應(yīng)用,其包括支付相關(guān)的應(yīng)用(例如支付寶APP)、理財(cái)相關(guān)的應(yīng)用(例如陸金所APP)和銀行相關(guān)的應(yīng)用(例如工商銀行APP)中的至少其中一種。所述運(yùn)行資源既可以是理解為應(yīng)用程序本身,也可以理解為應(yīng)用程序的配置數(shù)據(jù),還可以理解為應(yīng)用程序的用戶數(shù)據(jù),當(dāng)然,運(yùn)行資源還可以理解為運(yùn)行保護(hù)策略,所述的安全空間就可以理解為存儲空間及其相應(yīng)的運(yùn)行保護(hù)策略配置環(huán)境,運(yùn)行保護(hù)策略配置環(huán)境為:在運(yùn)行該應(yīng)用時(shí)啟動(dòng)殺毒、查殺木馬等等安全保護(hù)措施的配置環(huán)境。
基于上述的優(yōu)選實(shí)施方式(只有在所述待安裝應(yīng)用通過安全性判定后,才對所述待安裝應(yīng)用進(jìn)行白名單判定)可以知道,服務(wù)器判定后的結(jié)果信息包括:
①安全性判定通過且白名單判斷通過;
②安全性判定通過而白名單判斷不通過;
③安全性判定不通過。
當(dāng)執(zhí)行模塊300解析得到服務(wù)器反饋的結(jié)果信息為安全性判定通過且白名單判定通過時(shí),將所述待安裝應(yīng)用安裝到系統(tǒng)安全模式對應(yīng)的第二用戶的存儲目錄下;例如,待安裝應(yīng)用為“中國工商銀行”,包名為com.icbc,其通過安全性判斷及白名單判定,將其安裝到第二用戶的存儲目錄下,即該待安裝應(yīng)用的安裝目錄為/data/user/10/com.icbc/。
當(dāng)執(zhí)行模塊300解析得到服務(wù)器反饋的結(jié)果信息為安全性判定通過而白名單判定不通過時(shí),將所述待安裝應(yīng)用安裝到系統(tǒng)普通模式對應(yīng)的第一用戶的存儲目錄下;例如,待安裝應(yīng)用為“相機(jī)360”,包名為vStudio.Android.Camera360,其通過安全性判斷而不通過白名單判定,將其安裝到第一用戶的存儲目錄下,即該待安裝應(yīng)用的安裝目錄為/data/user/0/vStudio.Android.Camera360/。
較佳地,所述裝置還包括:
第一輸出單元:用于在所述當(dāng)所述結(jié)果信息為白名單判定通過時(shí)之后,將所述待安裝應(yīng)用安裝到系統(tǒng)安全模式對應(yīng)的第二用戶的存儲目錄下之前,輸出應(yīng)用安裝確認(rèn)窗口以在接收到用戶的確認(rèn)指令后將所述待安裝應(yīng)用安裝到系統(tǒng)安全模式對應(yīng)的第二用戶的存儲目錄下。
例如,第一輸出單元輸出的確認(rèn)窗口上顯示諸如“該應(yīng)用即將安裝到支付域(即系統(tǒng)安全模式)中,請確認(rèn)”的提示信息,并提供諸如“確認(rèn)”的按鈕以接收用戶的確認(rèn)指令,并在接收到用戶的確認(rèn)指令后將所述待安裝應(yīng)用安裝到系統(tǒng)安全模式對應(yīng)的第二用戶的存儲目錄下。
另外,所述裝置還包括:
第二輸出單元:用于當(dāng)確定所述待安裝應(yīng)用為偽冒應(yīng)用時(shí),輸出應(yīng)用安裝終止窗口以在接收到用戶的終止指令后終止安裝所述待安裝應(yīng)用。
當(dāng)執(zhí)行模塊300解析得到服務(wù)器反饋的結(jié)果信息為安全性判定不通過時(shí),則確定所述待安裝應(yīng)用為虛假應(yīng)用,然后第二輸出單元在用戶界面上輸出應(yīng)用安裝終止窗口以在接收到用戶的終止指令后終止安裝所述待安裝應(yīng)用。例如,在終止窗口上顯示諸如“該應(yīng)用可能是虛假應(yīng)用,是否終止安裝”的提示信息,并提供諸如“終止”的按鈕以接收用戶的終止指令,并在接收到用戶的終止指令后終止安裝所述待安裝應(yīng)用。
另外,第三方面,本發(fā)明還提供一種移動(dòng)終端,用于實(shí)現(xiàn)應(yīng)用程序安裝方法,如圖4所示,為了便于說明,僅示出了與本發(fā)明實(shí)施例相關(guān)的部分,具體技術(shù)細(xì)節(jié)未揭示的,請參照本發(fā)明實(shí)施例方法部分。該終端可以為包括手機(jī)、平板電腦、PDA(Personal Digital Assistant,個(gè)人數(shù)字助理)、POS(Point of Sales,銷售終端)、車載電腦等任意終端設(shè)備,以移動(dòng)終端為手機(jī)為例:
圖4示出的是與本發(fā)明實(shí)施例提供的移動(dòng)終端相關(guān)的手機(jī)的部分結(jié)構(gòu)的框圖。參考圖4,手機(jī)包括:基帶處理模塊410、存儲器420、輸入單元430、顯示單元440、傳感器450、音頻電路460、無線保真(wireless fidelity,WiFi)模塊470、處理器480、以及電源490等部件。本領(lǐng)域技術(shù)人員可以理解,圖4中示出的手機(jī)結(jié)構(gòu)并不構(gòu)成對手機(jī)的限定,可以包括比圖示更多或更少的部件,或者組合某些部件,或者不同的部件布置。
基帶處理模塊410可用于合成即將發(fā)射的基帶信號,或?qū)邮盏降幕鶐盘栠M(jìn)行解碼。具體地說,就是發(fā)射時(shí)把音頻信號編譯成用來發(fā)射的基帶碼;接收時(shí),把收到的基帶碼解譯為音頻信號。同時(shí),也負(fù)責(zé)地址信息(手機(jī)號、網(wǎng)站地址)、文字信息(短訊文字、網(wǎng)站文字)、圖片信息(彩信)的編譯。
存儲器420可用于存儲軟件程序以及模塊,處理器480通過運(yùn)行存儲在存儲器420的軟件程序以及模塊,從而執(zhí)行手機(jī)的各種功能應(yīng)用以及數(shù)據(jù)處理。存儲器420可主要包括存儲程序區(qū)和存儲數(shù)據(jù)區(qū),其中,存儲程序區(qū)可存儲操作系統(tǒng)、至少一個(gè)功能所需的應(yīng)用程序(比如聲音播放功能、圖像播放功能等)等;存儲數(shù)據(jù)區(qū)可存儲根據(jù)手機(jī)的使用所創(chuàng)建的數(shù)據(jù)(比如音頻數(shù)據(jù)、電話本等)等。此外,存儲器420可以包括高速隨機(jī)存取存儲器,還可以包括非易失性存儲器,例如至少一個(gè)磁盤存儲器件、閃存器件、或其他易失性固態(tài)存儲器件。
輸入單元430可用于接收輸入的數(shù)字或字符信息,以及產(chǎn)生與手機(jī)的用戶設(shè)置以及功能控制有關(guān)的鍵信號輸入。具體地,輸入單元430可包括觸控面板431以及其他輸入設(shè)備432。觸控面板431,也稱為觸摸屏,可收集用戶在其上或附近的觸摸操作(比如用戶使用手指、觸筆等任何適合的物體或附件在觸控面板431上或在觸控面板431附近的操作),并根據(jù)預(yù)先設(shè)定的程式驅(qū)動(dòng)相應(yīng)的連接裝置??蛇x的,觸控面板431可包括觸摸檢測裝置和觸摸控制器兩個(gè)部分。其中,觸摸檢測裝置檢測用戶的觸摸方位,并檢測觸摸操作帶來的信號,將信號傳送給觸摸控制器;觸摸控制器從觸摸檢測裝置上接收觸摸信息,并將它轉(zhuǎn)換成觸點(diǎn)坐標(biāo),再送給處理器480,并能接收處理器480發(fā)來的命令并加以執(zhí)行。此外,可以采用電阻式、電容式、紅外線以及表面聲波等多種類型實(shí)現(xiàn)觸控面板431。除了觸控面板431,輸入單元430還可以包括其他輸入設(shè)備432。具體地,其他輸入設(shè)備432可以包括但不限于物理鍵盤、功能鍵(比如音量控制按鍵、開關(guān)按鍵等)、軌跡球、鼠標(biāo)、操作桿等中的一種或多種。
顯示單元440可用于顯示由用戶輸入的信息或提供給用戶的信息以及手機(jī)的各種菜單。顯示單元440可包括顯示面板441,可選的,可以采用液晶顯示器(Liquid Crystal Display,LCD)、有機(jī)發(fā)光二極管(Organic Light-Emitting Diode,OLED)等形式來配置顯示面板441。進(jìn)一步的,觸控面板431可覆蓋顯示面板441,當(dāng)觸控面板431檢測到在其上或附近的觸摸操作后,傳送給處理器480以確定觸摸事件的類型,隨后處理器480根據(jù)觸摸事件的類型在顯示面板441上提供相應(yīng)的視覺輸出。雖然在圖4中,觸控面板431與顯示面板441是作為兩個(gè)獨(dú)立的部件來實(shí)現(xiàn)手機(jī)的輸入和輸入功能,但是在某些實(shí)施例中,可以將觸控面板431與顯示面板441集成而實(shí)現(xiàn)手機(jī)的輸入和輸出功能。
手機(jī)還可包括至少一種傳感器450,比如光傳感器、運(yùn)動(dòng)傳感器以及其他傳感器。具體地,光傳感器可包括環(huán)境光傳感器及接近傳感器,其中,環(huán)境光傳感器可根據(jù)環(huán)境光線的明暗來調(diào)節(jié)顯示面板441的亮度,接近傳感器可在手機(jī)移動(dòng)到耳邊時(shí),關(guān)閉顯示面板441和/或背光。作為運(yùn)動(dòng)傳感器的一種,加速計(jì)傳感器可檢測各個(gè)方向上(一般為三軸)加速度的大小,靜止時(shí)可檢測出重力的大小及方向,可用于識別手機(jī)姿態(tài)的應(yīng)用(比如橫豎屏切換、相關(guān)游戲、磁力計(jì)姿態(tài)校準(zhǔn))、振動(dòng)識別相關(guān)功能(比如計(jì)步器、敲擊)等;至于手機(jī)還可配置的陀螺儀、氣壓計(jì)、濕度計(jì)、溫度計(jì)、紅外線傳感器等其他傳感器,在此不再贅述。
音頻電路460、揚(yáng)聲器461,傳聲器462可提供用戶與手機(jī)之間的音頻接口。音頻電路460可將接收到的音頻數(shù)據(jù)轉(zhuǎn)換后的電信號,傳輸?shù)綋P(yáng)聲器461,由揚(yáng)聲器461轉(zhuǎn)換為聲音信號輸出;另一方面,傳聲器462將收集的聲音信號轉(zhuǎn)換為電信號,由音頻電路460接收后轉(zhuǎn)換為音頻數(shù)據(jù),再將音頻數(shù)據(jù)輸出處理器480處理后,經(jīng)RF電路410以發(fā)送給比如另一手機(jī),或者將音頻數(shù)據(jù)輸出至存儲器420以便進(jìn)一步處理。
WiFi屬于短距離無線傳輸技術(shù),手機(jī)通過WiFi模塊470可以幫助用戶收發(fā)電子郵件、瀏覽網(wǎng)頁和訪問流式媒體等,它為用戶提供了無線的寬帶互聯(lián)網(wǎng)訪問。雖然圖4示出了WiFi模塊470,但是可以理解的是,其并不屬于手機(jī)的必須構(gòu)成,完全可以根據(jù)需要在不改變發(fā)明的本質(zhì)的范圍內(nèi)而省略。
處理器480是手機(jī)的控制中心,利用各種接口和線路連接整個(gè)手機(jī)的各個(gè)部分,通過運(yùn)行或執(zhí)行存儲在存儲器420內(nèi)的軟件程序和/或模塊,以及調(diào)用存儲在存儲器420內(nèi)的數(shù)據(jù),執(zhí)行手機(jī)的各種功能和處理數(shù)據(jù),從而對手機(jī)進(jìn)行整體監(jiān)控??蛇x的,處理器480可包括一個(gè)或多個(gè)處理單元;優(yōu)選的,處理器480可集成應(yīng)用處理器和調(diào)制解調(diào)處理器,其中,應(yīng)用處理器主要處理操作系統(tǒng)、用戶界面和應(yīng)用程序等,調(diào)制解調(diào)處理器主要處理無線通信??梢岳斫獾氖?,上述調(diào)制解調(diào)處理器也可以不集成到處理器480中。
手機(jī)還包括給各個(gè)部件供電的電源490(比如電池),優(yōu)選的,電源可以通過電源管理系統(tǒng)與處理器480邏輯相連,從而通過電源管理系統(tǒng)實(shí)現(xiàn)管理充電、放電、以及功耗管理等功能。
盡管未示出,手機(jī)還可以包括攝像頭、藍(lán)牙模塊等,在此不再贅述。
在本發(fā)明實(shí)施例中,該終端所包括的處理器480還具有以下功能:
在監(jiān)測到應(yīng)用安裝事件時(shí)獲取待安裝應(yīng)用的標(biāo)識信息;
將所述待安裝應(yīng)用的標(biāo)識信息上傳到云端服務(wù)器以對所述待安裝應(yīng)用進(jìn)行白名單判定;
接收云端服務(wù)器反饋的白名單判定的結(jié)果信息并根據(jù)所述結(jié)果信息執(zhí)行相應(yīng)操作,其中,當(dāng)所述結(jié)果信息為白名單判定通過時(shí),將所述待安裝應(yīng)用安裝到系統(tǒng)安全模式對應(yīng)的第二用戶的存儲目錄下。
所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡潔,上述描述的系統(tǒng),裝置和單元的具體工作過程,可以參考前述方法實(shí)施例中的對應(yīng)過程,在此不再贅述。
在本申請所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的系統(tǒng),裝置和方法,可以通過其它的方式實(shí)現(xiàn)。例如,以上所描述的裝置實(shí)施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,例如多個(gè)單元或組件可以結(jié)合或者可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機(jī)械或其它的形式。
所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部單元來實(shí)現(xiàn)本實(shí)施例方案的目的。
另外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中。上述集成的單元既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能單元的形式實(shí)現(xiàn)。
本領(lǐng)域普通技術(shù)人員可以理解上述實(shí)施例的各種方法中的全部或部分步驟是可以通過程序來指令相關(guān)的硬件來完成,該程序可以存儲于一計(jì)算機(jī)可讀存儲介質(zhì)中,存儲介質(zhì)可以包括:只讀存儲器(ROM,Read Only Memory)、隨機(jī)存取存儲器(RAM,Random Access Memory)、磁盤或光盤等。
本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分步驟是可以通過程序來指令相關(guān)的硬件完成,所述的程序可以存儲于一種計(jì)算機(jī)可讀存儲介質(zhì)中,上述提到的存儲介質(zhì)可以是只讀存儲器,磁盤或光盤等。
概括地說,本發(fā)明提供的技術(shù)方案如下:
A1、一種應(yīng)用程序安裝方法,包括如下步驟:
在監(jiān)測到應(yīng)用安裝事件時(shí)獲取待安裝應(yīng)用的標(biāo)識信息;
將所述待安裝應(yīng)用的標(biāo)識信息上傳到云端服務(wù)器以對所述待安裝應(yīng)用進(jìn)行白名單判定;
接收云端服務(wù)器反饋的白名單判定的結(jié)果信息并根據(jù)所述結(jié)果信息執(zhí)行相應(yīng)操作,其中,當(dāng)所述結(jié)果信息為白名單判定通過時(shí),將所述待安裝應(yīng)用安裝到系統(tǒng)安全模式對應(yīng)的第二用戶的存儲目錄下;當(dāng)所述結(jié)果信息為白名單判定不通過時(shí),將所述待安裝應(yīng)用安裝到系統(tǒng)普通模式對應(yīng)的第一用戶的存儲目錄下;所述系統(tǒng)安全模式配置有用于為預(yù)定應(yīng)用的運(yùn)行提供運(yùn)行資源的安全空間,該安全空間在系統(tǒng)普通模式下是不可訪問的。
A2、根據(jù)A1所述的方法,所述預(yù)定應(yīng)用包括支付相關(guān)的應(yīng)用、理財(cái)相關(guān)的應(yīng)用和銀行相關(guān)的應(yīng)用中的至少其中一種。
A3、根據(jù)A1所述的方法,所述運(yùn)行資源包括應(yīng)用程序本身、應(yīng)用程序配置數(shù)據(jù)和應(yīng)用程序的用戶數(shù)據(jù)其中至少一種,所述安全空間包括存儲空間。
A4、根據(jù)A1所述的方法,所述待安裝應(yīng)用的標(biāo)識信息包括待安裝應(yīng)用的包名、版本號及對應(yīng)的文件大小、數(shù)字簽名的一項(xiàng)或多項(xiàng)。
A5、根據(jù)A1所述的方法,在對所述待安裝應(yīng)用進(jìn)行白名單判定之前,還包括對所述待安裝應(yīng)用進(jìn)行安全性判定。
A6、根據(jù)A5所述的方法,所述安全性判定包括仿冒檢測和病毒檢測。
A7、根據(jù)A6所述的方法,所述仿冒檢測通過比較待安裝應(yīng)用的數(shù)字簽名與由所述待安裝應(yīng)用的包名確定的官方數(shù)字簽名是否相同,若不同,則確定所述待安裝應(yīng)用為偽冒應(yīng)用。
A8、根據(jù)A7所述的方法,所述系統(tǒng)為安卓系統(tǒng),通過獲取PackageInfo類的對象packageName的屬性以獲取待安裝應(yīng)用的包名,通過PackageManger類中的packageInfo獲得Signature數(shù)組以獲取待安裝應(yīng)用的數(shù)字簽名。
A9、根據(jù)A6所述的方法,所述仿冒檢測通過比較待安裝應(yīng)用的文件大小與由所述待安裝應(yīng)用的包名、版本號確定的官方文件大小是否相同,若不同,則確定所述待安裝應(yīng)用為偽冒應(yīng)用。
A10、根據(jù)A9所述的方法,所述系統(tǒng)為安卓系統(tǒng),通過反射機(jī)制調(diào)用getPackageSizeInfo()方法獲取待安裝應(yīng)用的文件大小,通過獲取PackageInfo的對象versionName的屬性獲取待安裝應(yīng)用的版本號。
A11、根據(jù)A1所述的方法,在所述當(dāng)所述結(jié)果信息為白名單判定通過時(shí)之后,將所述待安裝應(yīng)用安裝到系統(tǒng)安全模式對應(yīng)的第二用戶的存儲目錄下之前,還包括:
輸出應(yīng)用安裝確認(rèn)窗口以在接收到用戶的確認(rèn)指令后將所述待安裝應(yīng)用安裝到系統(tǒng)安全模式對應(yīng)的第二用戶的存儲目錄下。
A12、根據(jù)A7或A9所述的方法,當(dāng)確定所述待安裝應(yīng)用為偽冒應(yīng)用時(shí),輸出應(yīng)用安裝終止窗口以在接收到用戶的終止指令后終止安裝所述待安裝應(yīng)用。
B13、一種應(yīng)用安裝裝置,包括:
監(jiān)測模塊:用于在監(jiān)測到應(yīng)用安裝事件時(shí)獲取待安裝應(yīng)用的標(biāo)識信息;
上傳模塊:用于與將所述待安裝應(yīng)用的標(biāo)識信息上傳到云端服務(wù)器以對所述待安裝應(yīng)用進(jìn)行白名單判定;
執(zhí)行模塊:用于接收云端服務(wù)器反饋的白名單判定的結(jié)果信息并根據(jù)所述結(jié)果信息執(zhí)行相應(yīng)操作,其中,當(dāng)所述結(jié)果信息為白名單判定通過時(shí),將所述待安裝應(yīng)用安裝到系統(tǒng)安全模式對應(yīng)的第二用戶的存儲目錄下;當(dāng)所述結(jié)果信息為白名單判定不通過時(shí),將所述待安裝應(yīng)用安裝到系統(tǒng)普通模式對應(yīng)的第一用戶的存儲目錄下;所述系統(tǒng)安全模式配置有用于為預(yù)定應(yīng)用的運(yùn)行提供運(yùn)行資源的安全空間,該安全空間在系統(tǒng)普通模式下是不可訪問的。
B14、根據(jù)B13所述的裝置,所述預(yù)定應(yīng)用包括支付相關(guān)的應(yīng)用、理財(cái)相關(guān)的應(yīng)用和銀行相關(guān)的應(yīng)用中的至少其中一種。
B15、根據(jù)B13所述的裝置,所述運(yùn)行資源包括應(yīng)用程序本身、應(yīng)用程序配置數(shù)據(jù)和應(yīng)用程序的用戶數(shù)據(jù)其中至少一種,所述安全空間包括存儲空間。
B16、根據(jù)B13所述的裝置,所述待安裝應(yīng)用的標(biāo)識信息包括待安裝應(yīng)用的包名、版本號及對應(yīng)的文件大小、數(shù)字簽名的一項(xiàng)或多項(xiàng)。
B17、根據(jù)B13所述的裝置,還包括:
安全判定模塊:用于在對所述待安裝應(yīng)用進(jìn)行白名單判定之前,對所述待安裝應(yīng)用進(jìn)行安全性判定。
B18、根據(jù)B17所述的裝置,所述安全判定模塊包括仿冒檢測單元和病毒檢測單元。
B19、根據(jù)B18所述的裝置,所述仿冒檢測單元用于比較待安裝應(yīng)用的數(shù)字簽名與由所述待安裝應(yīng)用的包名確定的官方數(shù)字簽名是否相同,若不同,則確定所述待安裝應(yīng)用為偽冒應(yīng)用。
B20、根據(jù)B19所述的裝置,所述系統(tǒng)為安卓系統(tǒng),所述仿冒檢測單元通過獲取PackageInfo類的對象packageName的屬性以獲取待安裝應(yīng)用的包名,通過PackageManger類中的packageInfo獲得Signature數(shù)組以獲取待安裝應(yīng)用的數(shù)字簽名。
B21、根據(jù)B18所述的裝置,所述仿冒檢測單元用于比較待安裝應(yīng)用的文件大小與由所述待安裝應(yīng)用的包名、版本號確定的官方文件大小是否相同,若不同,則確定所述待安裝應(yīng)用為偽冒應(yīng)用。
B22、根據(jù)B21所述的裝置,所述系統(tǒng)為安卓系統(tǒng),所述仿冒檢測單元通過反射機(jī)制調(diào)用getPackageSizeInfo()方法獲取待安裝應(yīng)用的文件大小,通過獲取PackageInfo的對象versionName的屬性獲取待安裝應(yīng)用的版本號。
B23、根據(jù)B13所述的裝置,其特征在于,還包括:
第一輸出單元:用于在所述當(dāng)所述結(jié)果信息為白名單判定通過時(shí)之后,將所述待安裝應(yīng)用安裝到系統(tǒng)安全模式對應(yīng)的第二用戶的存儲目錄下之前,輸出應(yīng)用安裝確認(rèn)窗口以在接收到用戶的確認(rèn)指令后將所述待安裝應(yīng)用安裝到系統(tǒng)安全模式對應(yīng)的第二用戶的存儲目錄下。
B24、根據(jù)B19或B21所述的裝置,其特征在于,還包括:
第二輸出單元:用于當(dāng)確定所述待安裝應(yīng)用為偽冒應(yīng)用時(shí),輸出應(yīng)用安裝終止窗口以在接收到用戶的終止指令后終止安裝所述待安裝應(yīng)用。
C25、一種移動(dòng)終端,其特征在于,包括:
觸敏顯示器;
存儲器;
一個(gè)或多個(gè)處理器;
所述一個(gè)或多個(gè)處理器被配置為用于執(zhí)行如C1~C12所述任意一項(xiàng)所述方法的步驟。
本發(fā)明考慮應(yīng)用安裝時(shí)的安全風(fēng)險(xiǎn)及應(yīng)用運(yùn)行的安全性要求,通過改寫安卓終端系統(tǒng)的PackageManagerService類的installPackage()函數(shù),以在監(jiān)測到應(yīng)用安裝事件時(shí)對待安裝應(yīng)用進(jìn)行安全性判定和白名單判定,避免非官方的虛假應(yīng)用安裝到系統(tǒng)中,確保所安裝的應(yīng)用安全運(yùn)行;并且基于安卓系統(tǒng)的多用戶模式,將安全性判定通過且白名單判定通過的應(yīng)用安裝到系統(tǒng)安全模式下,減少用戶需要手動(dòng)選擇安裝的操作步驟,并且該安全模式配置有為預(yù)定應(yīng)用的運(yùn)行提供運(yùn)行資源的安全空間,該安全空間在系統(tǒng)普通模式下是不可訪問的,更好地保障應(yīng)用的使用安全;
同時(shí),通過改寫PackageManagerService類的installPackage()函數(shù),不論應(yīng)用是通過靜默安裝或非靜默安裝的形式進(jìn)行安裝,都將被監(jiān)測到應(yīng)用安裝事件,進(jìn)而對待安裝應(yīng)用進(jìn)行安全性判定和白名單判定,避免應(yīng)用通過靜默安裝的形式繞過監(jiān)測機(jī)制。
雖然上面已經(jīng)示出了本發(fā)明的一些示例性實(shí)施例,但是本領(lǐng)域的技術(shù)人員將理解,在不脫離本發(fā)明的原理或精神的情況下,可以對這些示例性實(shí)施例做出改變,本發(fā)明的范圍由權(quán)利要求及其等同物限定。