應用軟件權限監控方法、系統及設備的制造方法
【技術領域】
[0001] 本發明涉及設備中應用軟件的管理,特別涉及應用軟件權限監控和評估軟件管理 效果的方法。
【背景技術】
[0002] 現代電子設備如電腦、手機等安裝了越來越多的第三方應用軟件(APP)。現在的無 線終端市場存在三大系統android,ios,windows。特別是android手機,操作系統開源,涉 及的廠商多太多太雜。相應地,第三方應用軟件的來源也非常多。對這些安裝的軟件進行 有效的管理,以保障電子設備安全可靠的運行是非常重要的。因此,電子設備的應用軟件管 理程序(以下簡稱"安全軟件")對這些第三方應用軟件的管理是一個很重要的功能。測試 人員目前基本是通過人工方式來進行測試驗證以評估安全軟件對這些應用軟件的管理的 有效性。但是第三方應用軟件數以萬計,測試人員顯然難以對每個應用都人工進行驗證,因 而評估安全軟件的效率和測試的可靠性都有待提高。
【發明內容】
[0003] 本發明的目的之一在于,提供應用軟件權限監控的方法,以至少可用于對安全軟 件的第三應用軟件管理能力進行測評。
[0004] 根據本發明的一個方面,提供了一種科學評估安全產品軟件管理效果的方法,包 括:下載第三方APK(Android應用軟件安裝包);解析出所述第三方應用軟件的屬性、啟 動時的進程名及申請的權限,所述屬性至少包括包名、activity、services、broadcast和 permission;根據解析得到的信息生成對比驗證的job;將所述生成的job安裝于具有安全 軟件的被測試終端,由所述被測試終端根據所述job的描述安裝第三方應用軟件并進行對 比驗證。
[0005] 在一些實施方式中,下載排行在前的預定數量的第三方應用軟件。下載的第三方 應用軟件優選是最新版本的。這樣可以提高對安全軟件測試的有效性和可靠性。
[0006] 在一些實施方式中,第三方應用軟件包括應用列表和應用市場API。其有益 效果是,android獲得第三方應用程序列表,即已經安裝的應用程序列表,主要使用 PackageManager就可以。通過API接口能夠實現應用程序之間的相互通信,同時API也是 一種中間件,為各種不同平臺提供數據共享,應用程序通過調用API去執行應用程序的命 令。
[0007] 在一些實施方式中,對比驗證包括:對被測試終端安裝的第三方應用軟件所申請 的權限與所述安全軟件識別的權限進行對比驗證。
[0008] 在一些實施方式中,對比驗證包括:監控被測試終端的所述第三方應用軟件安裝 包的activity是否能夠啟動。
[0009] 在一些實施方式中,對比驗證包括:通過發送Broadcast,在待測軟件自啟動被允 許和被禁止情況下,分別監控Services是否能啟動或啟動是否正常。
[0010] 根據本發明的另一方面,提供了應用軟件權限監控的系統,包括服務器端和測試 終端,其中所述服務器端包括:下載更新引擎,下載第三方應用軟件;APK解析模塊,解析 出所述第三方應用軟件的屬性、啟動時的進程名及申請的權限,所述屬性至少包括包名、 activity、services、broadcast和permission;Job生成模塊,根據解析出來的所述第 三方應用軟件的屬性,生成測試Job程序;任務調度模塊,配置為控制被測試終端執行如 下操作:安裝所述測試Job程序并按照所述測試Job程序的描述下載并安裝第三方應用 軟件安裝包,將被測試終端安裝的第三方應用軟件中的Activity、Services、process和 Permissions與所述測試Job程序中的相應屬性做對比驗證。
[0011] 根據本發明的又一方面,還提供了應用軟件權限監控的設備,包括:下載更新 引擎,下載第三方應用軟件;APK解析模塊,解析出所述第三方應用軟件的屬性、啟動時 的進程名及申請的權限,所述屬性至少包括包名、activity、services、broadcast和 permissionJob生成模塊,根據解析出來的所述第三方應用軟件的屬性,生成測試Job程 序;任務調度模塊,配置為控制被測試終端執行如下操作:安裝所述測試Job程序并按照所 述測試Job程序的描述下載并安裝第三方應用軟件安裝包,將被測試終端安裝的第三方應 用軟件中的Activity、Services、process和Permissions與所述測試Job程序中的相應屬 性做對比驗證。
[0012] 根據本發明,通過上述一系列步驟構成的自動化的方法,以及與其相應的系統及 設備,不但可以自動獲取需要的軟件,還能自動解析測試項和驗證項,快速自動進行對比測 試,可避免人工測試的繁瑣及不能適應大量軟件測試需要的缺陷,具有良好和廣泛的應用 前景。
【附圖說明】
[0013] 圖1為根據本發明一實施方式的實現應用軟件權限監控的系統架構圖;
[0014] 圖2為根據本發明一實施方式的應用軟件權限監控的方法流程圖。
【具體實施方式】
[0015] 下面結合附圖對本發明的實施方式作進一步詳細的說明。
[0016] 圖1示意性地顯示了根據本發明一實施例的實現評估軟件管理效果的框架示意 圖。該框架包括服務器端和測試終端。其中服務器端包括下載更新引擎101,APK解析器 102,Job生成器103,任務調度器104,還可包括報表模塊105。其中,下載更新引擎101可 根據應用包名列表配置文件,從網絡上公開的應用市場中下載第三方應用軟件。APK解析器 102可以從下載的第三方應用軟件中解析出Activity、Services、process和Permissions 等相關屬性。Job生成器103用于將解析出來的Activity、Services、Broadcast、和 Permission生成一個Job程序,將此Job程序安裝入待測手機中。任務調度器104指示手 機端按照Job程序的描述開始下載并安裝第三方APK。將手機端安裝的第三方APK中的 Activity、Services、process和Permissions與Job程序中的相應屬性做對比驗證,看是 否一致。另外,當已下載的第三方APK有更新時,任務調度器104還能根據Job程序的描述 下載并安裝有更新的APK。報表模塊105可根據對比驗證結果生成相應的報表。
[0017] 下面結合圖2具體說明實現根據本發明的實施方式的評估軟件管理效果的方法。 如圖2所示,該方法包括如下步驟:
[0018]S1 :從公開的應用市場中,在服務器端開始下載第三方應用。該下載可根據從第三 方獲取的應用包名列表來進行,例如下載該列表排行前50或100甚至更多數量的應用軟件 的APK(Android安裝包)。
[0019]S2 :服務器端的APK解析器102對第三方應用軟件的APK進行解析,解析出其 manifest中包含的Activity、Services、Broadcast和Permissions等屬性。這些屬性對 于android應用程序是基本的屬性。實踐中也可以根據需要獲取其它的屬性。
[0020]S3 :Job生成器根據解析出來的Activity、Services、和Permissions等屬性,生成 測試Job程序,將此Job程序裝入安裝有安全軟件的待測手機中。該job程序描述了測試 case所需要的具體行為,即對比驗證對應的被測試的第三方軟件的上述屬性信息。可以通 過一個ini形式的配置文件進行編寫,再加上相關的case腳本或jar即構成。以下示例說 明ini形式的job配置文件的格式。
[0021] 每個配置文件中包括若干個段(section),固定段有2個:description,phone;另 有一個可擴充的段為copyXX。其中XX是從0開始的連續數字,如:copyO,copyl,c