基于智能終端設備安裝應用程序的方法與裝置制造方法
【專利摘要】本發(fā)明公開了一種基于智能終端設備安裝應用程序的方法與裝置。該方法包括:進行應用程序安裝,在監(jiān)測到應用程序需要讀取配置信息文件后,加載為該待安裝應用程序設置的應用程序授權權限列表界面,所述應用程序授權權限列表界面為提供用于修改應用程序授權權限列表的界面,包含有用戶為所述待安裝應用程序選擇性授權的一個或多個行為權限;按照加載的應用程序授權權限列表界面包含的授權行為權限配置應用程序的行為權限,并完成應用程序的安裝。應用本發(fā)明,可以提升用戶安全性。
【專利說明】基于智能終端設備安裝應用程序的方法與裝置
【技術領域】
[0001]本發(fā)明涉及安卓(Android)平臺技術,具體涉及一種基于智能終端設備安裝應用程序的方法與裝置。
【背景技術】
[0002]Android平臺是基于Linux的開源手機操作系統(tǒng)平臺,由操作系統(tǒng)、用戶界面和應用程序組成,對第三方應用程序完全開放。由于Android平臺的開放性,使得應用程序開發(fā)者在開發(fā)應用程序時擁有更大的自由度,因而,吸引了很多應用程序開發(fā)者,應用程序開發(fā)者也開發(fā)并提供了大量基于Android平臺的安卓的應用程序,這種應用程序的安裝包是以一種被稱為APK (AndroidPackage)的形式進行發(fā)布,通過安裝安卓安裝包實現(xiàn)應用程序的運行,使得越來越多的應用程序可以承載在Android平臺上。Android平臺作為世界上最流行的移動操作系統(tǒng)平臺,已經(jīng)覆蓋了數(shù)以十億計的移動終端以及眾多的應用程序。
[0003]Android平臺在設計之初設計了基于授予行為權限的安全訪問策略,在用戶進行應用程序安裝時,如果應用程序涉及到對用戶安全性的操作,例如,讀取用戶隱私信息的操作,或是可能導致用戶費用損失的操作,都需要用戶對應用程序進行行為授權方可進行。舉例來說,如果應用程序在安裝后需要執(zhí)行發(fā)送短信、訪問聯(lián)系人數(shù)據(jù)、讀取存儲卡數(shù)據(jù)等讀取用戶隱私信息的操作,以及使用網(wǎng)絡連接等增加用戶費用的操作時,需要在安裝時向用戶申請對應的行為權限,也就是在應用程序安裝過程中,通過移動終端將需要用戶授權的行為權限聲明向用戶展示,從而由用戶決定是否授予該應用程序執(zhí)行用戶安全性操作的訪問權限。
[0004]在應用程序安裝過程中,由于Android平臺的安全訪問策略,用戶在安裝應用程序時,只能從整體上授予應用程序申請的行為權限,即智能終端設備操作系統(tǒng)從整體上授予行為權限。因而,在應用程序安裝時,向用戶展示出應用程序申請的行為權限服務后,用戶或者接受應用程序申請的所有行為權限服務以繼續(xù)安裝該應用程序,或者,只能取消安裝該應用程序并退出該應用程序安裝。舉例來說,當用戶安裝KC網(wǎng)絡電話應用程序時,由于需要獲取用戶安全信息的相關行為權限,Android平臺根據(jù)基于行為權限的安全訪問策略,在移動終端的顯示界面展示需要用戶授權的安全相關行為權限,例如,讀取移動終端狀態(tài)和ID、攔截呼出、直接呼叫電話號碼、編輯SMS或麗S、發(fā)送文本信息、錄音以及精確GPS位置信息等,如果用戶授權KC網(wǎng)絡電話應用程序執(zhí)行上述所有安全操作,則可以通過點擊顯示界面的下一步控件繼續(xù)進行安裝,這樣,在安裝KC網(wǎng)絡電話應用程序后,KC網(wǎng)絡電話應用程序將有權限獲取用戶的錄音信息以及精確GPS位置信息等用戶安全信息;如果用戶不授權KC網(wǎng)絡電話應用程序執(zhí)行上述所有安全操作,則可以通過點擊顯示界面的取消控件,退出當前KC網(wǎng)絡電話應用程序安裝。
[0005]近年來,利用Android平臺對應用程序只能從整體上授予行為權限的特點,針對Android平臺的惡意應用程序大量增加,惡意應用程序在申請用戶授權的行為權限上,增加多個影響用戶安全性的行為權限,例如,發(fā)送短信、讀取聯(lián)系人、聯(lián)網(wǎng)、錄音、讀取用戶精確GPS位置信息等行為權限,與該惡意應用程序正常運行所需的行為權限進行綁定,并以各種誘人的名字、功能和應用吸引用戶安裝,同時,在移動終端的顯示界面展示需要用戶授權的安全相關行為權限時,將增加的影響用戶安全性的行為權限置于用戶不太關注的地方,從而通過用戶點擊顯示界面的下一步控件繼續(xù)進行安裝,而一旦安裝并運行該惡意應用程序,意味著用戶授予了該惡意應用程序申請的所有行為權限,使得用戶的安全面臨重大風險,而該惡意應用程序通過用戶的安裝,實現(xiàn)了竊取用戶隱私、惡意吸費等目的。進一步地,即使用戶對惡意應用程序申請的其中一些行為權限存有疑慮,但除了放棄安裝外沒有其他選擇。
[0006]為了降低惡意應用程序給用戶帶來的安全隱患,現(xiàn)有Android平臺提供了安全應用程序,用以提供主動防御以及行為權限管理功能,即通過運行安全應用程序,可以由用戶選擇需要禁用的各應用程序的行為權限,也就是說,通過運行安全應用程序,可以提供給用戶超級管理員的權限(即root權限),使得用戶可以利用超級管理員權限修改和更新各應用程序的行為權限,從而使應用程序在運行時,不再享有用戶在安裝該應用程序過程中授予的行為權限,從而在后續(xù)應用中,可以避免該應用程序對用戶安全性形成威脅。但該方法,不能有效避免用戶在安裝應用程序后,通過安全應用程序設置禁止行為權限前的時間段內(nèi),由于應用程序運行時給用戶帶來的安全性隱患,用戶的安全信息在該時間段內(nèi),還是可能被竊取或泄露,從而給用戶帶來損失,使得用戶安全性降低。進一步地,一些應用程序中確實存在較好的體驗點,但由于用戶擔心該應用程序申請的行為權限可能會導致個人隱私信息的泄露,最終選擇不安裝該應用程序,這樣,不僅降低了用戶的業(yè)務體驗,也給應用程序開發(fā)商帶來了極大的經(jīng)濟損失。
【發(fā)明內(nèi)容】
[0007]鑒于上述問題,提出了本發(fā)明以便提供一種克服上述問題或者至少部分地解決上述問題的基于智能終端設備安裝應用程序的方法與裝置。
[0008]依據(jù)本發(fā)明的一個方面,提供了基于智能終端設備安裝應用程序的方法,該方法包括:
[0009]進行應用程序安裝,在監(jiān)測到應用程序需要讀取配置信息文件后,加載為該待安裝應用程序設置的應用程序授權權限列表界面,所述應用程序授權權限列表界面為提供用于修改應用程序授權權限列表的界面,包含有用戶為所述待安裝應用程序選擇性授權的一個或多個行為權限;
[0010]按照加載的應用程序授權權限列表界面包含的授權行為權限配置應用程序的行為權限,并完成應用程序的安裝。
[0011]優(yōu)選地,所述加載為該待安裝應用程序設置的應用程序授權權限列表界面包括:
[0012]解析用于安裝應用程序的應用程序文件包,獲取應用程序文件包中的應用程序標識;
[0013]根據(jù)獲取的應用程序標識,查詢預先設置的應用程序授權權限列表庫,得到該應用程序標識對應的應用程序授權權限列表;
[0014]在安裝界面加載得到的應用程序授權權限列表,生成所述應用程序授權權限列表界面。[0015]優(yōu)選地,設置所述應用程序授權權限列表庫包括:
[0016]對每一應用程序,采集并獲取應用程序申請的行為權限;
[0017]根據(jù)用戶從獲取的應用程序申請的行為權限中授權的行為權限,生成存儲在應用程序授權權限列表庫中的應用程序授權權限列表。
[0018]優(yōu)選地,所述獲取應用程序申請的行為權限包括:
[0019]通過應用程序官方下載網(wǎng)站獲取應用程序文件包;
[0020]解析應用程序文件包中的配置信息文件,得到該應用程序需要申請的行為權限。
[0021]優(yōu)選地,所述解析應用程序文件包中的配置信息文件包括:
[0022]解壓基于智能終端設備的應用程序文件,從解壓的應用程序文件中獲取加密的全局變量描述的配置信息文件,并對加密的配置信息文件進行解密,獲取解密的原始配置信息文件,掃描解密的原始配置信息文件中的行為權限描述部分。
[0023]優(yōu)選地,利用Java中的可擴展標記語言文件解析器,解析所述解密的原始配置信息文件中的行為權限描述部分。
[0024]優(yōu)選地,每一所述應用程序對應一所述應用程序授權權限列表,多個應用程序授權權限列表組成應用程序授權權限列表庫。
[0025]優(yōu)選地,在所述根據(jù)用戶從獲取的應用程序申請的權限中授權的行為權限之前,所述方法進一步包括:
[0026]將獲取的應用程序申請的行為權限進行展示。
[0027]優(yōu)選地,在所述獲取應用程序申請的行為權限之后,所述方法進一步包括:
[0028]將獲取的應用程序申請的行為權限分類為用于提醒用戶重點關注的隱私權限以及按照應用程序申請直接授權的其它權限。
[0029]優(yōu)選地,所述方法進一步包括:
[0030]將隱私權限分為運行應用程序所必需的必需權限以及運行應用程序可選的非必需權限,并在授權設置界面向用戶展示所述非必要權限的提示信息。
[0031]優(yōu)選地,所述方法進一步包括:
[0032]利用隔離沙箱、和/或,靜態(tài)代碼分析、和/或,自動代碼特征掃描方法,對應用程序申請的所述必需權限進行合法性以及合理性的驗證,以確定必需權限中的每一權限是否都為應用程序運行時所需的必不可少的權限,如果不是,則將該權限從必需權限中刪除,并作為非必要權限向用戶展示。
[0033]優(yōu)選地,所述方法進一步包括:
[0034]運行預先設置的安全應用程序,對應用程序的授權行為權限進行更新,以使應用程序在后續(xù)運行時,按照更新的授權行為權限進行相應的訪問。
[0035]優(yōu)選地,所述方法進一步包括:
[0036]在監(jiān)測到應用程序訪問需要行為權限的應用程序接口時,安卓平臺根據(jù)用戶為該應用程序設置的應用程序授權權限列表中的記錄,判斷訪問應用程序接口的行為權限是否被禁用,如果訪問應用程序接口的行為權限被禁用,通過人機接口提示用戶是否選擇修改;若用戶選擇修改行為權限,則安卓平臺允許該應用程序訪問所述應用程序接口,否則,安卓平臺通知該應用程序退出訪問。
[0037]優(yōu)選地,在所述進行應用程序安裝之前,所述方法進一步包括:[0038]對待安裝的應用程序對應的應用程序文件包進行安全掃描,如果待安裝的應用程序文件包通過安全掃描,執(zhí)行所述應用程序安裝的流程,否則,結束流程。
[0039]優(yōu)選地,所述安全掃描包括但不限于木馬病毒掃描、廣告插件掃描、漏洞掃描。
[0040]優(yōu)選地,進一步包括:
[0041]采用加載的應用程序授權權限列表界面替換所述應用程序安裝過程中由智能終端設備操作系統(tǒng)提供的安裝界面。
[0042]優(yōu)選地,所述加載為該待安裝應用程序設置的應用程序授權權限列表界面包括:
[0043]通過鉤子將由智能終端設備操作系統(tǒng)提供的安裝界面跳轉指向至所述應用程序授權權限列表界面,并在確認或完成應用程序授權權限列表修改后,結束對所述智能終端設備操作系統(tǒng)提供的安裝界面的跳轉。
[0044]優(yōu)選地,所述加載為該待安裝應用程序設置的應用程序授權權限列表界面包括:
[0045]在智能終端設備運行平臺框架層的源代碼中,找到應用程序的配置信息文件中需要插入鉤子的類和接口,所述類和接口為涉及到用戶隱私權限的類和接口 ;
[0046]分析并修改所述類和接口的源代碼,使得需要讀取配置信息文件時插入的鉤子的所述類和接口指向預先為該待安裝應用程序設置的應用程序授權權限列表;
[0047]運行預先設置的程序代碼段,將應用程序授權權限列表加載到當前安裝界面,生成所述應用程序授權權限列表界面。
[0048]優(yōu)選地,在所述完成應用程序的安裝之前,所述方法進一步包括:
[0049]在按照加載的應用程序授權權限列表界面包含的授權行為權限配置應用程序的行為權限后的界面中,設置下一步控件需對應插入鉤子的類和接口指向,所述指向與所述應用程序讀取配置信息文件進行應用程序的行為權限配置后顯示的下一步控件需對應插入鉤子的類和接口的指向相同。
[0050]優(yōu)選地,配置的所述應用程序的行為權限符合所述用程序授權權限列表界面的顯
/Jn ο
[0051]優(yōu)選地,所述配置信息文件中包含有由智能終端設備操作系統(tǒng)授予所述應用程序的行為權限。
[0052]優(yōu)選地,所述智能終端設備的運行平臺包括但不限于安卓平臺。
[0053]根據(jù)本發(fā)明的另一個方面提供了一種基于智能終端設備安裝應用程序的裝置,該裝置包括:監(jiān)測模塊、加載模塊以及權限配置模塊,其中,
[0054]監(jiān)測模塊,用于進行應用程序安裝,在監(jiān)測到應用程序需要讀取配置信息文件后,通知加載模塊;
[0055]加載模塊,用于根據(jù)接收的通知,加載為該待安裝應用程序設置的應用程序授權權限列表界面,所述應用程序授權權限列表界面為提供用于修改應用程序授權權限列表的界面,包含有用戶為所述待安裝應用程序選擇性授權的一個或多個行為權限;
[0056]權限配置模塊,用于按照加載的應用程序授權權限列表界面包含的授權行為權限配置應用程序的行為權限,并完成應用程序的安裝。
[0057]優(yōu)選地,所述加載模塊包括:解析單元、查詢單元以及加載單元,其中,
[0058]解析單元,解析用于安裝應用程序的應用程序文件包,獲取應用程序文件包中的應用程序標識;[0059]查詢單元,用于根據(jù)獲取的應用程序標識,查詢預先設置的應用程序授權權限列表庫,得到該應用程序標識對應的應用程序授權權限列表;
[0060]加載單元,用于在安裝界面加載得到的應用程序授權權限列表,生成所述應用程序授權權限列表界面。
[0061]優(yōu)選地,所述加載模塊進一步包括:
[0062]第一分類單元,用于將獲取的應用程序申請的行為權限分類為用于提醒用戶重點關注的隱私權限以及按照應用程序申請直接授權的其它權限。
[0063]優(yōu)選地,所述加載模塊進一步包括:
[0064]第二分類單元,用于將隱私權限分為運行應用程序所必需的必需權限以及運行應用程序可選的非必需權限,并在授權設置界面向用戶展示所述非必要權限的提示信息。
[0065]優(yōu)選地,所述加載模塊進一步包括:
[0066]驗證單元,用于利用隔離沙箱、和/或,靜態(tài)代碼分析、和/或,自動代碼特征掃描方法,對應用程序申請的所述必需權限進行合法性以及合理性的驗證,以確定必需權限中的每一權限是否都為應用程序運行時所需的必不可少的權限,如果不是,則將該權限從必需權限中刪除,并作為非必要權限向用戶展示。
[0067]優(yōu)選地,進一步包括:
[0068]展示模塊,用于將獲取的應用程序申請的行為權限進行展示。
[0069]優(yōu)選地,進一步包括:
[0070]權限更新模塊,用于運行預先設置的安全應用程序,對應用程序的授權行為權限進行更新,以使應用程序在后續(xù)運行時,按照更新的授權行為權限進行相應的訪問。
[0071]優(yōu)選地,進一步包括:
[0072]安全掃描模塊,用于對待安裝的應用程序文件包進行安全掃描,如果待安裝的應用程序文件包通過安全掃描,執(zhí)行所述安裝應用程序文件包的流程,否則,結束流程。
[0073]優(yōu)選地,所述加載單元包括:查詢子單元、重配置子單元以及界面生成子單元,其中,
[0074]查詢子單元,用于在智能終端設備運行平臺框架層的源代碼中,找到應用程序的配置信息文件中需要插入鉤子的類和接口,所述類和接口為涉及到用戶隱私權限的類和接Π ;
[0075]重配置子單元,用于分析并修改所述類和接口的源代碼,使得需要讀取配置信息文件時插入的鉤子的所述類和接口指向預先為該待安裝應用程序設置的應用程序授權權限列表;
[0076]界面生成子單元,運行預先設置的程序代碼段,將應用程序授權權限列表加載到當前安裝界面,生成所述應用程序授權權限列表界面。
[0077]根據(jù)本發(fā)明的基于智能終端設備安裝應用程序的方法與裝置,可以通過安裝應用程序之前,選擇并確定可以授予該應用程序的行為權限以及禁止授予的行為權限,在應用程序安裝時,配置用戶預先為該應用程序的授權權限。由此解決了在安裝應用程序前,即可禁止應用程序獲取用戶對敏感行為權限的授權,使得應用程序安裝后采用用戶預先設置的授權權限進行相應訪問的技術問題,取得了既可以保證用戶正常使用該應用程序提供的業(yè)務功能,又可有效保障用戶安全的有益效果。[0078]上述說明僅是本發(fā)明技術方案的概述,為了能夠更清楚了解本發(fā)明的技術手段,而可依照說明書的內(nèi)容予以實施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點能夠更明顯易懂,以下特舉本發(fā)明的【具體實施方式】。
【專利附圖】
【附圖說明】
[0079]通過閱讀下文優(yōu)選實施方式的詳細描述,各種其他的優(yōu)點和益處對于本領域普通技術人員將變得清楚明了。附圖僅用于示出優(yōu)選實施方式的目的,而并不認為是對本發(fā)明的限制。而且在整個附圖中,用相同的參考符號表示相同的部件。在附圖中:
[0080]圖1示出了本發(fā)明實施例基于智能終端設備安裝應用程序的方法流程;以及,
[0081]圖2示出了本發(fā)明實施例基于智能終端設備安裝應用程序的裝置結構。
【具體實施方式】
[0082]下面將參照附圖更詳細地描述本公開的示例性實施例。雖然附圖中顯示了本公開的示例性實施例,然而應當理解,可以以各種形式實現(xiàn)本公開而不應被這里闡述的實施例所限制。相反,提供這些實施例是為了能夠更透徹地理解本公開,并且能夠將本公開的范圍完整的傳達給本領域的技術人員。
[0083]現(xiàn)有基于智能終端設備安裝應用程序時,由于具有只能從整體上授予應用程序申請的行為權限的特點,用戶不能按照自己安全性的需求選擇行為權限服務,如需安裝應用程序,在移動終端的顯示界面展示的需要用戶授權的行為權限服務中,只能被迫接受應用程序申請的所有行為權限以繼續(xù)進行應用程序安裝,即默認用戶對應用程序申請的行為權限進行全部授權,從而通過用戶點擊顯示界面的下一步控件繼續(xù)進行安裝,而一旦安裝并運行應用程序,意味著用戶授予了該應用程序申請的所有行為權限,使得用戶的安全將面臨重大風險。而安全應用程序提供的主動防御以及權限管理功能,還是不能有效避免用戶在安裝應用程序后,通過安全應用程序設置禁止行為權限前,由于應用程序運行時給用戶帶來的安全性隱患,使得用戶安全性降低。
[0084]現(xiàn)有的應用程序,向用戶申請的行為權限以及對應用程序的配置信息攜帶在應用程序的配置信息文件中,由于配置信息文件由應用程序開發(fā)者通過簽名生成,因而,不能通過解析配置信息文件,并對解析的配置信息文件進行修改而更改應用程序申請的行為權限。本發(fā)明實施例中,提出一種基于智能終端設備安裝應用程序的方法,通過預先獲取各應用程序申請的行為權限,并在應用程序安裝前,由用戶對應用程序申請的行為權限進行選擇性授權,使用戶可以根據(jù)自己對應用程序的功能需要以及安全性考慮,在應用程序所申請的行為權限中進行相應選擇并授權,生成應用程序授權權限列表,并在應用程序安裝過程中,觸發(fā)應用程序將生成的應用程序授權權限列表作為應用程序安裝后具有的行為權限,從而既可以保證用戶正常使用該應用程序提供的業(yè)務功能,又可有效保障用戶安全。
[0085]圖1示出了本發(fā)明實施例基于智能終端設備安裝應用程序的方法流程。參見圖1,該流程包括:
[0086]步驟101,進行應用程序安裝,在監(jiān)測到應用程序需要讀取配置信息文件后,加載為該待安裝應用程序設置的應用程序授權權限列表界面,所述應用程序授權權限列表界面為提供用于修改應用程序授權權限列表的界面,包含有用戶為所述待安裝應用程序選擇性授權的一個或多個行為權限;
[0087]本步驟中,加載為該待安裝應用程序設置的應用程序授權權限列表界面包括:
[0088]All,解析用于安裝應用程序的應用程序文件包,獲取應用程序文件包中的應用程序標識;
[0089]本步驟中,通過解析應用程序文件包,可以獲取用于對應用程序進行唯一標記的應用程序標識。
[0090]A12,根據(jù)獲取的應用程序標識,查詢預先設置的應用程序授權權限列表庫,得到該應用程序標識對應的應用程序授權權限列表;
[0091]本步驟中,在預先設置的應用程序授權權限列表庫中,某些應用程序對應有一應用程序授權權限列表,應用程序授權權限列表以應用程序標識為標記。在每一應用程序授權權限列表中,存儲有用戶預先為該應用程序授權的行為權限。如果該列表中沒有對應于該應用程序的行為權限,則沒有具體權限建議,但用戶仍可對所有權限授權或禁止。
[0092]本發(fā)明實施例中,預先設置的應用程序授權權限列表庫可以通過下述方法得到:
[0093]對每一應用程序,執(zhí)行如下步驟Bll和B12:
[0094]B11,采集并獲取應用程序申請的行為權限;
[0095]本步驟中,在安裝某一應用程序之前,需要預先為該應用程序進行權限授權。作為可選實施例,可以通過應用程序官方下載網(wǎng)站獲取應用程序文件包,也可以從其他途徑獲取正規(guī)的應用程序提供商提供的應用程序文件包。例如,從應用程序運營商網(wǎng)站獲取應用程序文件包。也就是說,應用程序文件包可以是應用程序開發(fā)者上傳的,也可以是應用程序運營商上傳的,還可以是通過其他渠道上傳的正版的應用程序文件包,只要能夠獲取正版的應用程序文件包即可。這樣,通過正規(guī)途徑獲取應用程序文件包,可以保證該應用程序申請權限的合法性和合理性,避免通過其他方法對應用程序文件包進行非法修改后,使得非法修改后的應用程序惡意申請更多涉及用戶安全的行為權限。
[0096]在下載得到應用程序文件包后,通過解析應用程序文件包中的配置信息文件,可以得到該應用程序需要申請的行為權限。
[0097]本發(fā)明實施例中,在Android平臺下,應用程序文件包即為APK文件,每一 APK文件中包含了應用程序的二進制代碼信息、資源信息、配置信息文件等。配置信息文件即為APK文件中的AndroidManifest.xml文件,是每一應用程序都必須定義和包含的,它描述了應用程序的名字、版本、權限、引用的庫文件等信息。實際應用中,解析應用程序文件包中的配置信息文件包括:解壓基于Android平臺的應用程序文件,從解壓的應用程序文件中獲取加密的全局變量描述的配置信息文件,即AndroidManifest.xml文件,并對加密的配置信息文件進行解密,獲取解密的原始配置信息文件:AndroiManifest.xml文件;掃描AndroidManifest.xml文件中的權限描述部分,即可獲取應用程序所申請的行為權限列表,行為權限列表中包含的行為權限即為應用程序申請的行為權限。
[0098]應用程序的行為權限在AndroidManifest.xml文件中的聲明形式如下:
[0099]文件名:AndroidManifest.xml
[0100]<uses-permissionandroid:name =“使用權限,,/>
[0101]作為可選實施例,在上述解析流程中,可以使用Java中的可擴展標記語言(XML,ExtensibleMarkupLanguage)文件解析器,解析AndroidManifest.xml文件中的權限描述部分,以獲取應用程序申請的行為權限列表。當然,也可以使用其他XML解析器,或者,使用其他編程語言,例如C/C++、python等編程語言開發(fā)XML解析器,對AndroidManifest.xml文件進行解析,以獲得相應的應用程序所申請的行為權限列表。
[0102]B12,根據(jù)用戶從獲取的應用程序申請的行為權限中選取的授權的行為權限,生成存儲在應用程序授權權限列表庫中的應用程序授權權限列表。
[0103]本步驟中,用戶從每一應用程序申請的行為權限中,根據(jù)自身的業(yè)務需求以及安全性考慮,分別為每一應用程序進行權限授權,根據(jù)為每一應用程序選取的授權行為權限,生成對應該應用程序的應用程序授權權限列表。每一應用程序對應一應用程序授權權限列表,應用程序授權權限列表以應用程序標識進行標記。本發(fā)明實施例中,多個應用程序授權權限列表組成應用程序授權權限列表庫,應用程序授權權限列表中,不僅包含有用戶為應用程序授權的一個或多個行為權限,也包含有用戶為應用程序禁止授權的一個或多個行為權限,也就是說,應用程序授權權限列表中的行為權限,其屬性為授權或禁止授權,如果申請的行為權限在應用程序授權權限列表中,其屬性為授權,則允許應用程序進行申請的行為權限訪問;如果申請的行為權限在應用程序授權權限列表中,其屬性為禁止授權,則拒絕應用程序進行申請的行為權限訪問。
[0104]作為可選實施例,為了便于用戶對行為權限的授權選取操作,在根據(jù)用戶從獲取的應用程序申請的行為權限中選取授權權限之前,該方法還可以進一步包括:
[0105]將獲取的應用程序申請的行為權限進行展示。
[0106]本步驟中,為用戶提供授權設置界面(應用程序授權權限列表界面),在授權設置界面上展示應用程序申請的行為權限,用戶在授權設置界面上對展示的行為權限進行授權選取。這樣,用戶可以借助可視的授權設置界面,方便地選取所需的行為權限進行授權。
[0107]作為另一可選實施例,為了提高用戶對應用程序申請的行為權限的了解,該方法還可以進一步包括:
[0108]對獲取的應用程序申請的行為權限進行分類。
[0109]本步驟中,可針對每一應用程序,將獲取的行為權限分類為隱私權限以及其它權限,其中,對于隱私權限,由于涉及到用戶的隱私,需要提醒用戶重點關注,而對于其它權限,用戶可以根據(jù)應用程序的申請,無需過多關注,授予其權限即可。
[0110]本發(fā)明實施例中,隱私權限包括但不限于以下信息:發(fā)送短消息(android,permission.SEND_SMS)> 接入互聯(lián)網(wǎng)(android, permission.1NTERNET)、讀短消息(android, permission.READ_SMS)> 寫短消息(android, permission.WRITE_SMS)、讀通訊錄(android, permission.READ_C0NTACTS)、寫通訊錄(android, permission.WRITE_CONTACTS)、撥打電話(android, permission.CALL_PH0NE)、寫系統(tǒng)設置(android.permission.WRITE_SYNC_SETTINGS)、讀取位置信息、進行錄音以及讀取錄音信息。每一隱私權限對應有一函數(shù),例如,對于發(fā)送短消息權限,對應的函數(shù)為SmsManager.SendTextMessage、SmsManager.sendDataMessage、SmsManager.sendMultipartTextMessage 等。
[0111]對于隱私權限,又可進一步分為必需權限以及非必需權限。其中,必需權限為運行應用程序所必需的、由用戶授權的行為權限,缺少該授權的行為權限,則應用程序無法正常運行,用戶如果需要安裝該應用程序,則必須對應用程序申請的必需權限進行全部授權,否則無法安裝。非必需權限為應用程序需要的用戶授權的行為權限,但為可選項,不會影響應用程序的運行,如果該行為權限未獲用戶授權,不影響應用程序的安裝和運行。例如,必需權限可以包括:寫通訊錄、撥打電話等,非必需權限可以包括:讀取位置信息、接入互聯(lián)網(wǎng)、
讀取錄音信息等。
[0112]作為可選實施例,對于非必要權限,進一步在授權設置界面向用戶展示該非必要權限的提示信息。提示信息可以是:非必須權限建議取消,或權限為可選授權項,請根據(jù)自身安全策略進行授權等。即建議用戶在授權非必要權限時,基于自己隱私安全的考慮,慎重選擇授予應用程序的行為權限。
[0113]作為另一可選實施例,對于必需權限,還可以進行驗證,以確定所有的必需權限是否都為應用程序運行時所必需的,即對應用程序申請的必需權限進行合法性以及合理性的驗證。驗證的方法可以利用包括隔離沙箱、和/或,靜態(tài)代碼分析、和/或,自動代碼特征掃描等方法,以確定必需權限中的每一行為權限是否都為應用程序運行時所需的必不可少的行為權限,如果不是,則將該行為權限從必需權限中刪除,并作為非必要權限向用戶展示。其中,應用靜態(tài)代碼分析,能夠快速、準確地查找、定位每一應用程序申請的必需權限存在的安全風險及漏洞。而隔離沙箱利用虛擬機技術,通過虛擬機克隆Android平臺內(nèi)硬盤的某一分區(qū)或所有分區(qū),并形成一個影子,稱之為影子模式。影子模式與Android平臺系統(tǒng)具有相同架構和功能,用戶可以在影子模式下運行應用程序,對應用程序的任何操作,例如,刪改文件、安裝測試各種應用程序(包括流氓應用程序、病毒應用程序),都被隔離沙箱所包裹,惡意應用程序對用戶隱私信息的截取,都被限制在隔離沙箱內(nèi),只要將隔離沙箱關閉,就可以使得危害Android平臺的操作消失。因而,通過隔離沙箱方法,監(jiān)測應用程序對用戶數(shù)據(jù)的訪問行為,可以確定應用程序申請的必需權限是否涉及權限濫用,即應用程序出于各種目的,是否向用戶申請了本不該申請的行為權限。如果應用程序通過必需權限的方式申請了額外的行為權限,可能導致用戶隱私信息泄露,因而,需要將該額外申請的行為權限從必需權限中剔除。例如,如果一個單機游戲應用程序申請了讀取用戶電話本的行為權限,該讀取用戶電話本就可能屬于單機游戲應用程序本不該申請的行為權限,從而提升用戶隱私的安全性。關于利用隔離沙箱、靜態(tài)代碼分析、自動代碼特征掃描等方法對應用程序申請的必需權限進行合法性以及合理性的驗證,為公知技術,在此略去詳述。
[0114]這樣,通過將應用程序申請的行為權限分類為隱私權限以及其它權限,使得用戶對其中涉及的隱私權限進行關注,從而考慮是否需要對應用程序授予該權限,保障了用戶隱私安全;進一步地,通過將隱私權限分為必需權限以及非必需權限,使得用戶對于非必需權限,基于自身的安全策略,盡量避免對其授權,從而提升用戶隱私安全性;而且,對于必需權限,進行合法性以及合理性的驗證,可以將惡意應用程序額外申請的行為權限進行剔除,最大限度地保障用戶安全性。
[0115]A13,在安裝界面加載得到的應用程序授權權限列表,生成所述應用程序授權權限列表界面。
[0116]本步驟中,采用加載的應用程序授權權限列表界面替換所述應用程序安裝過程中由智能終端設備操作系統(tǒng)提供的安裝界面。加載為該待安裝應用程序設置的應用程序授權權限列表界面包括:通過鉤子將由智能終端設備操作系統(tǒng)提供的安裝界面跳轉指向至所述應用程序授權權限列表界面,并在確認或完成應用程序授權權限列表修改后,結束對所述智能終端設備操作系統(tǒng)提供的安裝界面的跳轉。具體地,可以在Android平臺框架層的源代碼中找到應用程序安裝執(zhí)行中需要插入鉤子的類和接口,這些類和接口為涉及到用戶隱私信息的類和接口,通過分析并修改類和接口的源代碼,使得需要讀取配置信息文件時插入的鉤子的類和接口指向本發(fā)明實施例預先設置的應用程序授權權限列表,而非指向應用程序文件包中的配置信息文件,運行預先設置的程序代碼段,將應用程序授權權限列表加載到當前安裝界面,生成所述應用程序授權權限列表界面,并在完成該應用程序授權權限列表界面后,指向讀取該應用程序的配置信息文件后的操作,使得在完成該應用程序授權權限列表界面后的操作與現(xiàn)有讀取應用程序的配置信息文件后的操作相同。即在按照加載的應用程序授權權限列表界面包含的授權行為權限配置應用程序的行為權限后的界面中,設置下一步控件需對應插入鉤子的類和接口指向,所述指向與所述應用程序讀取配置信息文件進行應用程序的行為權限配置后顯示的下一步控件需對應插入鉤子的類和接口的指向相同。關于依據(jù)本發(fā)明實施例描述的功能實現(xiàn)源代碼的修改,為公知技術,在此略去詳述。實際應用中,通過修改源代碼的方式替換Android平臺原默認的應用程序安裝器,從而實現(xiàn)本發(fā)明實施例的應用程序授權權限列表加載,其中,替換Android平臺原安裝器的方法包括但不限于如下幾種:由用戶選擇新的安裝器為Android平臺默認的安裝器、如果在Root過的移動終端上,可以直接替換Android平臺原應用程序安裝方案,以及在移動終端的ROM中,替換Android平臺原應用程序安裝方案。
[0117]步驟102,按照加載的應用程序授權權限列表界面包含的授權行為權限配置應用程序的行為權限,并完成應用程序的安裝。
[0118]本步驟中,在應用程序安裝器按照加載的應用程序授權權限列表配置好應用程序的行為權限后,后續(xù)安裝流程為公知技術,在此略去詳述。
[0119]本發(fā)明實施例在應用程序安裝過程中,舉例來說,向用戶展示的應用程序授權權限列表界面可以分行顯示,每行依序具體如下:該應用程序申請11項權限,是否安裝此應用程序?(第一行);3項隱私權限(非必要權限,建議取消)(第二行);讀取位置信息(第三行,讀取位置信息前設置有可選框控件);發(fā)送短信(第四行,發(fā)送短信前設置有可選框控件);撥打電話(第五行,撥打電話前設置有可選框控件);8項其它權限(第六行)等;在界面的最底端,設置有取消控件、安裝控件。這樣,在加載應用程序授權權限列表后,可以按照安卓平臺的整體授權策略進行應用程序的安裝,不同的是,該應用程序授權權限列表為用戶預先為該應用程序設置的授權權限以及禁止權限,而非應用程序文件包攜帶的配置信息文件中的申請的權限,使得配置的所述應用程序的行為權限符合所述用程序授權權限列表界面的顯
/Jn ο
[0120]作為可選實施例,在后續(xù)流程中,用戶如果需要對應用程序的授權權限進行調(diào)整,該方法還可以進一步包括:
[0121]步驟103,運行預先設置的安全應用程序,對應用程序的授權權限進行更新,以使應用程序在后續(xù)運行時,按照更新的授權權限進行相應的訪問。
[0122]本步驟中,當用戶安裝好相應的應用程序后,如果需要對應用程序的一些功能或授予應用程序的授權權限進行更新,可以通過運行安全應用程序,在安全應用程序對應的更新界面,由用戶選擇需要禁用或授權的各應用程序的行為權限,以對應用程序的相應功能以及授權權限進行修改,從而在應用程序再重新運行時,支持用戶修改后的相應功能和授權權限的訪問。例如,如果禁用了某一授權權限,則在應用程序再次運行時,不再享有用戶禁用了的授權權限。
[0123]當然,實際應用中,也可以在應用程序試圖訪問需要權限的應用程序接口(API,ApplicationProgramInterface)時,Android平臺根據(jù)用戶為該應用程序設置的應用程序授權權限列表中的記錄,判斷訪問API的權限是否被禁用,如果訪問API的權限被禁用,該應用程序可以通過人機接口提示用戶是否選擇修改;若用戶選擇修改權限,則Android平臺允許該應用程序訪問所述API,否則,Android平臺通知該應用程序退出訪問。
[0124]作為另一可選實施例,還可以在安裝應用程序文件包之前,對該待安裝的應用程序文件包進行安全掃描,以確保待安裝應用程序文件包的安全性,降低安裝惡意應用程序的概率。這樣,該方法進一步包括:
[0125]對待安裝的應用程序文件包進行安全掃描,如果待安裝的應用程序文件包通過安全掃描,執(zhí)行所述安裝應用程序文件包的流程,否則,結束流程。
[0126]本步驟中,在安裝應用程序文件包前,通過對該應用程序文件包進行深度安全掃描,深度安全掃描包括但不限于木馬病毒掃描、廣告插件掃描、漏洞掃描。例如,對于木馬病毒掃描,可以通過將應用程序文件包與預存儲的惡意程序庫內(nèi)的特征進行匹配,當應用程序文件包與惡意程序庫內(nèi)的特征相匹配時,提示該應用程序文件包為惡意程序,并建議用戶禁止對該應用程序的安裝。這樣,在安裝應用程序前,通過對待安裝應用程序文件包進行深度安全掃描,可以識別出惡意應用程序,極大降低用戶誤安裝惡意應用程序的概率。
[0127]由上述可見,本發(fā)明實施例的基于Android平臺安裝應用程序的方法,用戶在安裝應用程序之前,即可選擇并確定可以授予該應用程序的行為權限以及禁止授予的行為權限。這樣,對于一些敏感行為權限,例如,發(fā)送短信、讀取聯(lián)系人等權限,用戶在安裝該應用程序前,即可禁止該應用程序獲取用戶對敏感行為權限的授權,在應用程序安裝過程中,采用用戶安裝該應用程序前選擇并確定的授權權限對應用程序權限進行配置。因而,即使用戶不小心安裝并運行了惡意應用程序,由于相應的行為權限已經(jīng)在安裝前被用戶禁止,可以將安全隱患損失降到最低,有效提高Android平臺的安全性。具體來說,本發(fā)明實施例具有安裝前的權限管理機制,即在應用程序安裝前,用戶可以為待安裝的應用程序授予選擇的行為權限;以及,安裝后的權限管理機制,即在應用程序安裝完成后,允許用戶對已安裝的應用程序授予的行為權限進行權限修改,并將修改的授權權限進行存儲,以供應用程序在運行時根據(jù)修改的權限進行相應的訪問。
[0128]圖2示出了本發(fā)明實施例基于智能終端設備安裝應用程序的裝置結構。參見圖2,該裝置包括:監(jiān)測模塊、加載模塊以及權限配置模塊,其中,
[0129]監(jiān)測模塊,用于進行應用程序安裝,在監(jiān)測到應用程序需要讀取配置信息文件后,通知加載模塊;
[0130]本發(fā)明實施例中,監(jiān)測模塊還可以進一步用于在監(jiān)測到應用程序訪問需要行為權限的應用程序接口后,安卓平臺根據(jù)用戶為該應用程序設置的應用程序授權權限列表中的記錄,判斷訪問應用程序接口的權限是否被禁用,如果訪問應用程序接口的權限被禁用,通過人機接口提示用戶是否選擇修改;若用戶選擇修改權限,則安卓平臺允許該應用程序訪問所述應用程序接口,否則,安卓平臺通知該應用程序退出訪問。
[0131]加載模塊,用于根據(jù)接收的通知,加載為該待安裝應用程序設置的應用程序授權權限列表界面,所述應用程序授權權限列表界面為提供用于修改應用程序授權權限列表的界面,包含有用戶為所述待安裝應用程序選擇性授權的一個或多個行為權限;
[0132]權限配置模塊,用于按照加載的應用程序授權權限列表界面包含的授權行為權限配置應用程序的行為權限,并完成應用程序的安裝。
[0133]本發(fā)明實施例中,加載模塊包括:解析單元、查詢單元以及加載單元(圖中未示出),其中,
[0134]解析單元,解析用于安裝應用程序的應用程序文件包,獲取應用程序文件包中的應用程序標識;
[0135]本發(fā)明實施例中,獲取應用程序申請的行為權限包括:通過應用程序官方下載網(wǎng)站獲取應用程序文件包;解析應用程序文件包中的配置信息文件,得到該應用程序需要申請的行為權限。其中,解析應用程序文件包中的配置信息文件包括:解壓基于智能終端設備的應用程序文件,從解壓的應用程序文件中獲取加密的全局變量描述的配置信息文件,并對加密的配置信息文件進行解密,獲取解密的原始配置信息文件,利用Java中的可擴展標記語言文件解析器掃描解密的原始配置信息文件中的權限描述部分。
[0136]查詢單元,用于根據(jù)獲取的應用程序標識,查詢預先設置的應用程序授權權限列表庫,得到該應用程序標識對應的應用程序授權權限列表;
[0137]本發(fā)明實施例中,設置應用程序授權權限列表庫包括:對每一應用程序,采集并獲取應用程序申請的行為權限;根據(jù)用戶從獲取的應用程序申請的行為權限中選取并授權的行為權限,生成存儲在應用程序授權權限列表庫中的應用程序授權權限列表。每一所述應用程序對應一所述應用程序授權權限列表,多個應用程序授權權限列表組成應用程序授權權限列表庫。
[0138]加載單元,用于在安裝界面加載得到的應用程序授權權限列表,生成所述應用程序授權權限列表界面。
[0139]較佳地,加載模塊還可以進一步包括:
[0140]第一分類單元,用于將獲取的應用程序申請的行為權限分類為用于提醒用戶重點關注的隱私權限以及按照應用程序申請直接授權的其它權限。
[0141]實際應用中,加載模塊還可以進一步包括:
[0142]第二分類單元,用于將隱私權限分為運行應用程序所必需的必需權限以及運行應用程序可選的非必需權限,并在授權設置界面向用戶展示所述非必要權限的提示信息。
[0143]作為可選實施例,加載模塊還可以進一步包括:
[0144]驗證單元,用于利用隔離沙箱、和/或,靜態(tài)代碼分析、和/或,自動代碼特征掃描方法,對應用程序申請的所述必需權限進行合法性以及合理性的驗證,以確定必需權限中的每一行為權限是否都為應用程序運行時所需的必不可少的行為權限,如果不是,則將該行為權限從必需權限中刪除,并作為非必要權限向用戶展示。
[0145]作為可選實施例,加載單元包括:查詢子單元、重配置子單元以及界面生成子單元,其中,
[0146]查詢子單元,用于在智能終端設備運行平臺框架層的源代碼中,找到應用程序的配置信息文件中需要插入鉤子的類和接口,所述類和接口為涉及到用戶隱私權限的類和接Π ;
[0147]重配置子單元,用于分析并修改所述類和接口的源代碼,使得需要讀取配置信息文件時插入的鉤子的所述類和接口指向預先為該待安裝應用程序設置的應用程序授權權限列表;
[0148]界面生成子單元,運行預先設置的程序代碼段,將應用程序授權權限列表加載到當前安裝界面,生成所述應用程序授權權限列表界面。
[0149]作為可選實施例,該裝置還可以進一步包括:
[0150]展示模塊,用于將獲取的應用程序申請的行為權限進行展示。
[0151]作為另一可選實施例,該裝置還可以進一步包括:
[0152]權限更新模塊,用于運行預先設置的安全應用程序,對應用程序的授權行為權限進行更新,以使應用程序在后續(xù)運行時,按照更新的授權行為權限進行相應的訪問。
[0153]作為再一可選實施例,該裝置還可以進一步包括:
[0154]安全掃描模塊,用于對待安裝的應用程序文件包進行安全掃描,如果待安裝的應用程序文件包通過安全掃描,執(zhí)行所述安裝應用程序文件包的流程,否則,結束流程。
[0155]本發(fā)明實施例中,安全掃描包括但不限于木馬病毒掃描、廣告插件掃描、漏洞掃描。
[0156]在此提供的算法和顯示不與任何特定計算機、虛擬系統(tǒng)或者其它設備固有相關。各種通用系統(tǒng)也可以與基于在此的示教一起使用。根據(jù)上面的描述,構造這類系統(tǒng)所要求的結構是顯而易見的。此外,本發(fā)明也不針對任何特定編程語言。應當明白,可以利用各種編程語言實現(xiàn)在此描述的本發(fā)明的內(nèi)容,并且上面對特定語言所做的描述是為了披露本發(fā)明的最佳實施方式。
[0157]在此處所提供的說明書中,說明了大量具體細節(jié)。然而,能夠理解,本發(fā)明的實施例可以在沒有這些具體細節(jié)的情況下實踐。在一些實例中,并未詳細示出公知的方法、結構和技術,以便不模糊對本說明書的理解。
[0158]類似地,應當理解,為了精簡本公開并幫助理解各個發(fā)明方面中的一個或多個,在上面對本發(fā)明的示例性實施例的描述中,本發(fā)明的各個特征有時被一起分組到單個實施例、圖、或者對其的描述中。然而,并不應將該公開的方法解釋成反映如下意圖:即所要求保護的本發(fā)明要求比在每個權利要求中所明確記載的特征更多的特征。更確切地說,如下面的權利要求書所反映的那樣,發(fā)明方面在于少于前面公開的單個實施例的所有特征。因此,遵循【具體實施方式】的權利要求書由此明確地并入該【具體實施方式】,其中每個權利要求本身都作為本發(fā)明的單獨實施例。
[0159]本領域那些技術人員可以理解,可以對實施例中的設備中的模塊進行自適應性地改變并且把它們設置在與該實施例不同的一個或多個設備中??梢园褜嵤├械哪K或單元或組件組合成一個模塊或單元或組件,以及此外可以把它們分成多個子模塊或子單元或子組件。除了這樣的特征和/或過程或者單元中的至少一些是相互排斥之外,可以采用任何組合對本說明書(包括伴隨的權利要求、摘要和附圖)中公開的所有特征以及如此公開的任何方法或者設備的所有過程或單元進行組合。除非另外明確陳述,本說明書(包括伴隨的權利要求、摘要和附圖)中公開的每個特征可以由提供相同、等同或相似目的的替代特征來代替。
[0160]此外,本領域的技術人員能夠理解,盡管在此所述的一些實施例包括其它實施例中所包括的某些特征而不是其它特征,但是不同實施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實施例。例如,在下面的權利要求書中,所要求保護的實施例的任意之一都可以以任意的組合方式來使用。
[0161]本發(fā)明的各個部件實施例可以以硬件實現(xiàn),或者以在一個或者多個處理器上運行的軟件模塊實現(xiàn),或者以它們的組合實現(xiàn)。本領域的技術人員應當理解,可以在實踐中使用微處理器或者數(shù)字信號處理器(DSP )來實現(xiàn)根據(jù)本發(fā)明實施例的基于智能終端設備安裝應用程序的裝置中的一些或者全部部件的一些或者全部功能。本發(fā)明還可以實現(xiàn)為用于執(zhí)行這里所描述的方法的一部分或者全部的設備或者裝置程序(例如,計算機程序和計算機程序產(chǎn)品)。這樣的實現(xiàn)本發(fā)明的程序可以存儲在計算機可讀介質(zhì)上,或者可以具有一個或者多個信號的形式。這樣的信號可以從因特網(wǎng)網(wǎng)站上下載得到,或者在載體信號上提供,或者以任何其他形式提供。
[0162]應該注意的是上述實施例對本發(fā)明進行說明而不是對本發(fā)明進行限制,并且本領域技術人員在不脫離所附權利要求的范圍的情況下可設計出替換實施例。在權利要求中,不應將位于括號之間的任何參考符號構造成對權利要求的限制。單詞“包含”不排除存在未列在權利要求中的元件或步驟。位于元件之前的單詞“一”或“一個”不排除存在多個這樣的元件。本發(fā)明可以借助于包括有若干不同元件的硬件以及借助于適當編程的計算機來實現(xiàn)。在列舉了若干裝置的單元權利要求中,這些裝置中的若干個可以是通過同一個硬件項來具體體現(xiàn)。單詞第一、第二、以及第三等的使用不表示任何順序。可將這些單詞解釋為名稱。
[0163]本發(fā)明公開了,Al.—種基于智能終端設備安裝應用程序的方法,包括:
[0164]進行應用程序安裝,在監(jiān)測到應用程序需要讀取配置信息文件后,加載為該待安裝應用程序設置的應用程序授權權限列表界面,所述應用程序授權權限列表界面為提供用于修改應用程序授權權限列表的界面,包含有用戶為所述待安裝應用程序選擇性授權的一個或多個行為權限;
[0165]按照加載的應用程序授權權限列表界面包含的授權行為權限配置應用程序的行為權限,并完成應用程序的安裝。
[0166]A2.根據(jù)Al所述的方法,所述加載為該待安裝應用程序設置的應用程序授權權限列表界面包括:
[0167]解析用于安裝應用程序的應用程序文件包,獲取應用程序文件包中的應用程序標識;
[0168]根據(jù)獲取的應用程序標識,查詢預先設置的應用程序授權權限列表庫,得到該應用程序標識對應的應用程序授權權限列表;
[0169]在安裝界面加載得到的應用程序授權權限列表,生成所述應用程序授權權限列表界面。
[0170]A3.根據(jù)A2所述的方法,設置所述應用程序授權權限列表庫包括:
[0171]對每一應用程序,采集并獲取應用程序申請的行為權限;
[0172]根據(jù)用戶從獲取的應用程序申請的行為權限中授權的行為權限,生成存儲在應用程序授權權限列表庫中的應用程序授權權限列表。
[0173]A4.根據(jù)A3所述的方法,所述獲取應用程序申請的行為權限包括:
[0174]通過應用程序官方下載網(wǎng)站獲取應用程序文件包;[0175]解析應用程序文件包中的配置信息文件,得到該應用程序需要申請的行為權限。
[0176]A5.根據(jù)A4所述的方法,所述解析應用程序文件包中的配置信息文件包括:
[0177]解壓基于智能終端設備的應用程序文件,從解壓的應用程序文件中獲取加密的全局變量描述的配置信息文件,并對加密的配置信息文件進行解密,獲取解密的原始配置信息文件,掃描解密的原始配置信息文件中的行為權限描述部分。
[0178]A6.根據(jù)A5所述的方法,利用Java中的可擴展標記語言文件解析器,解析所述解密的原始配置信息文件中的行為權限描述部分。
[0179]A7.根據(jù)Al所述的方法,每一所述應用程序對應一所述應用程序授權權限列表,多個應用程序授權權限列表組成應用程序授權權限列表庫。
[0180]AS.根據(jù)A3所述的方法,在所述根據(jù)用戶從獲取的應用程序申請的權限中授權的行為權限之前,所述方法進一步包括:
[0181]將獲取的應用程序申請的行為權限進行展示。
[0182]A9.根據(jù)A3所述的方法,在所述獲取應用程序申請的行為權限之后,所述方法進一步包括:
[0183]將獲取的應用程序申請的行為權限分類為用于提醒用戶重點關注的隱私權限以及按照應用程序申請直接授權的其它權限。
[0184]A10.根據(jù)A9所述的方法,所述方法進一步包括:
[0185]將隱私權限分為運行應用程序所必需的必需權限以及運行應用程序可選的非必需權限,并在授權設置界面向用戶展示所述非必要權限的提示信息。
[0186]All.根據(jù)AlO所述的方法,所述方法進一步包括:
[0187]利用隔離沙箱、和/或,靜態(tài)代碼分析、和/或,自動代碼特征掃描方法,對應用程序申請的所述必需權限進行合法性以及合理性的驗證,以確定必需權限中的每一權限是否都為應用程序運行時所需的必不可少的權限,如果不是,則將該權限從必需權限中刪除,并作為非必要權限向用戶展示。
[0188]A12.根據(jù)Al所述的方法,所述方法進一步包括:
[0189]運行預先設置的安全應用程序,對應用程序的授權行為權限進行更新,以使應用程序在后續(xù)運行時,按照更新的授權行為權限進行相應的訪問。
[0190]A13.根據(jù)Al所述的方法,所述方法進一步包括:
[0191]在監(jiān)測到應用程序訪問需要行為權限的應用程序接口時,安卓平臺根據(jù)用戶為該應用程序設置的應用程序授權權限列表中的記錄,判斷訪問應用程序接口的行為權限是否被禁用,如果訪問應用程序接口的行為權限被禁用,通過人機接口提示用戶是否選擇修改;若用戶選擇修改行為權限,則安卓平臺允許該應用程序訪問所述應用程序接口,否則,安卓平臺通知該應用程序退出訪問。
[0192]A14.根據(jù)Al所述的方法,在所述進行應用程序安裝之前,所述方法進一步包括:
[0193]對待安裝的應用程序對應的應用程序文件包進行安全掃描,如果待安裝的應用程序文件包通過安全掃描,執(zhí)行所述應用程序安裝的流程,否則,結束流程。
[0194]A15.根據(jù)A14所述的方法,所述安全掃描包括但不限于木馬病毒掃描、廣告插件掃描、漏洞掃描。
[0195]A16.根據(jù)Al所述的方法,進一步包括:[0196]采用加載的應用程序授權權限列表界面替換所述應用程序安裝過程中由智能終端設備操作系統(tǒng)提供的安裝界面。
[0197]A17.根據(jù)Al所述的方法,所述加載為該待安裝應用程序設置的應用程序授權權限列表界面包括:
[0198]通過鉤子將由智能終端設備操作系統(tǒng)提供的安裝界面跳轉指向至所述應用程序授權權限列表界面,并在確認或完成應用程序授權權限列表修改后,結束對所述智能終端設備操作系統(tǒng)提供的安裝界面的跳轉。
[0199]A18.根據(jù)Al所述的方法,所述加載為該待安裝應用程序設置的應用程序授權權限列表界面包括:
[0200]在智能終端設備運行平臺框架層的源代碼中,找到應用程序的配置信息文件中需要插入鉤子的類和接口,所述類和接口為涉及到用戶隱私權限的類和接口 ;
[0201]分析并修改所述類和接口的源代碼,使得需要讀取配置信息文件時插入的鉤子的所述類和接口指向預先為該待安裝應用程序設置的應用程序授權權限列表;
[0202]運行預先設置的程序代碼段,將應用程序授權權限列表加載到當前安裝界面,生成所述應用程序授權權限列表界面。
[0203]A19.根據(jù)Al所述的方法,在所述進行應用程序安裝之前,所述方法進一步包括:
[0204]在按照加載的應用程序授權權限列表界面包含的授權行為權限配置應用程序的行為權限后的界面中,設置下一步控件需對應插入鉤子的類和接口指向,所述指向與所述應用程序讀取配置信息文件進行應用程序的行為權限配置后顯示的下一步控件需對應插入鉤子的類和接口的指向相同。
[0205]A20.根據(jù)Al所述的方法,配置的所述應用程序的行為權限符合所述用程序授權權限列表界面的顯示。
[0206]A21.根據(jù)Al所述的方法,所述配置信息文件中包含有由智能終端設備操作系統(tǒng)授予所述應用程序的行為權限。
[0207]A22.根據(jù)Al所述的方法,所述智能終端設備的運行平臺包括但不限于安卓平臺。
[0208]A23.一種基于智能終端設備安裝應用程序的裝置,該裝置包括:監(jiān)測模塊、加載模塊以及權限配置模塊,其中,
[0209]監(jiān)測模塊,用于進行應用程序安裝,在監(jiān)測到應用程序需要讀取配置信息文件后,通知加載模塊;
[0210]加載模塊,用于根據(jù)接收的通知,加載為該待安裝應用程序設置的應用程序授權權限列表界面,所述應用程序授權權限列表界面為提供用于修改應用程序授權權限列表的界面,包含有用戶為所述待安裝應用程序選擇性授權的一個或多個行為權限;
[0211]權限配置模塊,用于按照加載的應用程序授權權限列表界面包含的授權行為權限配置應用程序的行為權限,并完成應用程序的安裝。
[0212]A24.根據(jù)A23所述的裝置,所述加載模塊包括:解析單元、查詢單元以及加載單元,其中,
[0213]解析單元,解析用于安裝應用程序的應用程序文件包,獲取應用程序文件包中的應用程序標識;
[0214]查詢單元,用于根據(jù)獲取的應用程序標識,查詢預先設置的應用程序授權權限列表庫,得到該應用程序標識對應的應用程序授權權限列表;
[0215]加載單元,用于在安裝界面加載得到的應用程序授權權限列表,生成所述應用程序授權權限列表界面。
[0216]A25.根據(jù)A24所述的裝置,所述加載模塊進一步包括:
[0217]第一分類單元,用于將獲取的應用程序申請的行為權限分類為用于提醒用戶重點關注的隱私權限以及按照應用程序申請直接授權的其它權限。
[0218]A26.根據(jù)A25所述的裝置,所述加載模塊進一步包括:
[0219]第二分類單元,用于將隱私權限分為運行應用程序所必需的必需權限以及運行應用程序可選的非必需權限,并在授權設置界面向用戶展示所述非必要權限的提示信息。
[0220]A27.根據(jù)A25所述的裝置,所述加載模塊進一步包括:
[0221]驗證單元,用于利用隔離沙箱、和/或,靜態(tài)代碼分析、和/或,自動代碼特征掃描方法,對應用程序申請的所述必需權限進行合法性以及合理性的驗證,以確定必需權限中的每一權限是否都為應用程序運行時所需的必不可少的權限,如果不是,則將該權限從必需權限中刪除,并作為非必要權限向用戶展示。
[0222]A28.根據(jù)A23所述的裝置,進一步包括:
[0223]展示模塊,用于將獲取的應用程序申請的行為權限進行展示。
[0224]A29.根據(jù)A23所述的裝置,進一步包括:
[0225]權限更新模塊,用于運行預先設置的安全應用程序,對應用程序的授權行為權限進行更新,以使應用程序在后續(xù)運行時,按照更新的授權行為權限進行相應的訪問。
[0226]A30.根據(jù)A23所述的裝置,進一步包括:
[0227]安全掃描模塊,用于對待安裝的應用程序文件包進行安全掃描,如果待安裝的應用程序文件包通過安全掃描,執(zhí)行所述安裝應用程序文件包的流程,否則,結束流程。
[0228]A31.根據(jù)A24所述的裝置,所述加載單元包括:查詢子單元、重配置子單元以及界面生成子單元,其中,
[0229]查詢子單元,用于在智能終端設備運行平臺框架層的源代碼中,找到應用程序的配置信息文件中需要插入鉤子的類和接口,所述類和接口為涉及到用戶隱私權限的類和接Π ;
[0230]重配置子單元,用于分析并修改所述類和接口的源代碼,使得需要讀取配置信息文件時插入的鉤子的所述類和接口指向預先為該待安裝應用程序設置的應用程序授權權限列表;
[0231]界面生成子單元,運行預先設置的程序代碼段,將應用程序授權權限列表加載到當前安裝界面,生成所述應用程序授權權限列表界面。
【權利要求】
1.一種基于智能終端設備安裝應用程序的方法,包括: 進行應用程序安裝,在監(jiān)測到應用程序需要讀取配置信息文件后,加載為該待安裝應用程序設置的應用程序授權權限列表界面,所述應用程序授權權限列表界面為提供用于修改應用程序授權權限列表的界面,包含有用戶為所述待安裝應用程序選擇性授權的一個或多個行為權限; 按照加載的應用程序授權權限列表界面包含的授權行為權限配置應用程序的行為權限,并完成應用程序的安裝。
2.如權利要求1所述的方法,所述加載為該待安裝應用程序設置的應用程序授權權限列表界面包括: 解析用于安裝應用程序的應用程序文件包,獲取應用程序文件包中的應用程序標識;根據(jù)獲取的應用程序標識,查詢預先設置的應用程序授權權限列表庫,得到該應用程序標識對應的應用程序授權權限列表; 在安裝界面加載得到的應用程序授權權限列表,生成所述應用程序授權權限列表界面。
3.如權利要求2所述的方法,設置所述應用程序授權權限列表庫包括: 對每一應用程序,采集并獲取應用程序申請的行為權限; 根據(jù)用戶從獲取的應用程序申請的行為權限中授權的行為權限,生成存儲在應用程序授權權限列表庫中的應用程序授權權限列表。
4.如權利要求3所述的方`法,所述獲取應用程序申請的行為權限包括: 通過應用程序官方下載網(wǎng)站獲取應用程序文件包; 解析應用程序文件包中的配置信息文件,得到該應用程序需要申請的行為權限。
5.如權利要求4所述的方法,所述解析應用程序文件包中的配置信息文件包括: 解壓基于智能終端設備的應用程序文件,從解壓的應用程序文件中獲取加密的全局變量描述的配置信息文件,并對加密的配置信息文件進行解密,獲取解密的原始配置信息文件,掃描解密的原始配置信息文件中的行為權限描述部分。
6.如權利要求1所述的方法,進一步包括: 采用加載的應用程序授權權限列表界面替換所述應用程序安裝過程中由智能終端設備操作系統(tǒng)提供的安裝界面。
7.如權利要求1所述的方法,所述加載為該待安裝應用程序設置的應用程序授權權限列表界面包括: 通過鉤子將由智能終端設備操作系統(tǒng)提供的安裝界面跳轉指向至所述應用程序授權權限列表界面,并在確認或完成應用程序授權權限列表修改后,結束對所述智能終端設備操作系統(tǒng)提供的安裝界面的跳轉。
8.一種基于智能終端設備安裝應用程序的裝置,其特征在于,該裝置包括:監(jiān)測模塊、加載模塊以及權限配置模塊,其中, 監(jiān)測模塊,用于進行應用程序安裝,在監(jiān)測到應用程序需要讀取配置信息文件后,通知加載模塊; 加載模塊,用于根據(jù)接收的通知,加載為該待安裝應用程序設置的應用程序授權權限列表界面,所述應用程序授權權限列表界面為提供用于修改應用程序授權權限列表的界面,包含有用戶為所述待安裝應用程序選擇性授權的一個或多個行為權限; 權限配置模塊,用于按照加載的應用程序授權權限列表界面包含的授權行為權限配置應用程序的行為權限,并完成應用程序的安裝。
9.如權利要求8所述的裝置,其特征在于,所述加載模塊包括:解析單元、查詢單元以及加載單元,其中, 解析單元,解析用于安裝應用程序的應用程序文件包,獲取應用程序文件包中的應用程序標識; 查詢單元,用于根據(jù)獲取的應用程序標識,查詢預先設置的應用程序授權權限列表庫,得到該應用程序標識對應的應用程序授權權限列表; 加載單元,用于在安裝界面加載得到的應用程序授權權限列表,生成所述應用程序授權權限列表界面。
10.如權利要求9所述的裝置,其特征在于,所述加載模塊進一步包括: 第一分類單元,用于將獲取的應用程序申請的行為權限分類為用于提醒用戶重點關注的隱私權限以及按照應用程序申請直接授權`的其它權限。
【文檔編號】G06F17/30GK103870306SQ201410060381
【公開日】2014年6月18日 申請日期:2014年2月21日 優(yōu)先權日:2014年2月21日
【發(fā)明者】姚彤, 丁祎 申請人:北京奇虎科技有限公司, 奇智軟件(北京)有限公司