用於移動終端系統的應用安全測試方法、裝置及測試工具與流程
2023-10-28 07:30:27 1

本發明涉及測試領域,尤其涉及一種用於移動終端系統的應用安全測試方法、裝置及測試工具。
背景技術:
手機等移動終端的作業系統如安卓(android)系統中一般有幾十種應用,供用戶使用。但是這些應用是否安全,即是否存在洩露用戶個人信息如電話號碼、通信錄、帳戶及密碼等安全隱患,則需要進行測試。
目前,移動終端的應用安全測試方式不僅少,而且作用單一。如android系統的應用安全測試大都通過以下兩種方式實現:
一種方式是安卓安裝包(androidpackage,apk)形式,測試時將測試程序安裝入手機,依次點擊apk提供的功能並人工對其結果進行分析。
另一種方式是通過通用串行總線(universalserialbus,usb)與手機相連,通過在命令行中不斷地輸入命令進行測試。
在實現本發明的過程中,發明人發現現有技術中至少存在如下技術問題:
由於上述兩種測試方式功能單一且都由人工操作執行,導致移動終端的應用安全測試繁複,測試效率大大降低。如以apk形式對系統中的幾十種應用進行測試,需要進行幾十次安裝,導致測試時間過長,大大降低了測試效率。第二種則需要人工針對每項應用安全測試輸入命令,操作不僅繁複,而且準確性低,導致測試效率低下。
技術實現要素:
本發明提供的用於移動終端系統的應用安全測試方法、裝置及測試工具,能夠提升移動終端的應用安全測試效率。
第一方面,本發明提供一種用於移動終端系統的應用安全測試方法,由測試工具執行,包括:
接收用於進行至少兩項應用安全檢測的測試指令;
根據所述測試指令,將相應的應用安全檢測命令發送給待測試的移動終端,其中,所述相應的應用安全檢測命令與所述至少兩項應用安全檢測相對應,用於指示所述移動終端進行所述至少兩項應用安全檢測;
接收所述移動終端返回的檢測數據,其中,所述檢測數據為所述移動終端執行所述至少兩項應用安全檢測的結果;
根據所述檢測數據判斷所述移動終端的系統中的安全隱患。
可選地,所述接收用於進行至少兩項應用安全檢測的測試指令,包括:
接收用於進行以下檢測中的至少兩項應用安全檢測的測試指令:系統掛載檢測、應用運行權限檢測、日誌敏感信息檢測、文件系統權限檢測和安全滲透工具檢測。
可選地,所述根據所述測試指令,將相應的應用安全檢測命令發送給待測試的移動終端之前,所述方法還包括:
接收配置指令,並根據所述配置指令配置敏感信息,以用於所述日誌敏感信息檢測。
可選地,所述根據所述檢測數據判斷所述移動終端的系統中的安全隱患,包括:
檢查所述檢測數據中是否包含有所述敏感信息,若所述檢測數據中包含有 所述敏感信息,則判定所述移動終端的系統存在安全隱患;其中,敏感信息包括電話號碼、通信內容、地理位置、聯繫人信息、帳戶、密碼和日曆活動信息中的至少一種信息。
可選地,所述根據所述測試指令,將相應的應用安全檢測命令發送給待測試的移動終端,包括:
根據所述測試指令,將應用權限檢測命令和意圖發送檢測命令中的至少一種命令發給所述移動終端。
第二方面,本發明提供一種用於移動終端系統的應用安全測試裝置,設置於測試工具中,包括:
指令接收單元,用於接收用於進行至少兩項應用安全檢測的測試指令;
指令執行單元,用於根據所述測試指令,將相應的應用安全檢測命令發送給待測試的移動終端,其中,所述相應的應用安全檢測命令與所述至少兩項應用安全檢測相對應,用於指示所述移動終端進行所述至少兩項應用安全檢測;
數據接收單元,用於接收所述移動終端返回的檢測數據,其中,所述檢測數據為所述移動終端執行所述至少兩項應用安全檢測的結果;
安全分析單元,用於根據所述檢測數據判斷所述移動終端的系統中的安全隱患。
可選地,所述指令接收單元用於:
接收用於進行以下檢測中的至少兩項應用安全檢測的測試指令:系統掛載檢測、應用運行權限檢測、日誌敏感信息檢測、文件系統權限檢測和安全滲透工具檢測。
可選地,所述裝置還包括:
配置單元,用於在所述指令執行單元根據所述測試指令,將相應的應用安全檢測命令發送給待測試的移動終端之前,接收配置指令,並根據所述配置指令配置敏感信息,以用於所述日誌敏感信息檢測。
可選地,所述安全分析單元用於:
檢查所述檢測數據中是否包含有所述敏感信息,若所述檢測數據中包含有所述敏感信息,則判定所述移動終端的系統存在安全隱患;其中,敏感信息包括電話號碼、通信內容、地理位置、聯繫人信息、帳戶、密碼和日曆活動信息中的至少一種信息。
可選地,所述指令執行單元用於:
根據所述測試指令,將應用權限檢測命令和意圖發送檢測命令中的至少一種命令發給所述移動終端。
第三方面,本發明提供一種測試工具,所述測試工具包括上述用於移動終端系統的應用安全測試裝置。
本發明實施例提供的用於移動終端系統的應用安全測試方法、裝置及測試工具,由測試工具執行:接收用於進行至少兩項應用安全檢測的測試指令;根據所述測試指令,將相應的應用安全檢測命令發送給待測試的移動終端,其中,所述相應的應用安全檢測命令與所述至少兩項應用安全檢測相對應,用於指示所述移動終端進行所述至少兩項應用安全檢測;接收所述移動終端返回的檢測數據,其中,所述檢測數據為所述移動終端執行所述至少兩項應用安全檢測的結果;根據所述檢測數據判斷所述移動終端的系統中的安全隱患。與現有技術相比,本發明能夠通過測試工具一次進行至少兩項應用安全檢測,不僅實現了用於移動終端系統的應用安全測試的自動化,而且實現了測試方式的功能多樣 化,即一種測試工具具有多種測試功能,有效地提升了用於移動終端系統的應用安全測試的效率。
附圖說明
圖1為本發明實施例提供的一種用於移動終端系統的應用安全測試方法的流程圖;
圖2為本發明實施例提供的另一種用於移動終端系統的應用安全測試方法的流程圖;
圖3為本發明實施例提供的一種用於移動終端系統的應用安全測試裝置的結構示意圖。
具體實施方式
為使本發明實施例的目的、技術方案和優點更加清楚,下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基於本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬於本發明保護的範圍。
本發明實施例提供的用於移動終端系統的應用安全測試方法中,移動終端可以是具有數據處理和通信能力的可攜式電子設備,如手機、個人數據助理(personaldigitalassistant,pda)、平板電腦等。這些移動終端中的作業系統可以是安卓(android)、蘋果公司開發的行動作業系統ios、微軟開發的手機作業系統wp(windowsphone)和windowsmobile等。
本發明實施例提供的用於移動終端系統的應用安全測試方法由測試工具執行,該測試工具與待測試的移動終端之間可通過usb連接。
本發明實施例提供的一種用於移動終端系統的應用安全測試方法參見圖1,該方法包括:
s11、接收用於進行至少兩項應用安全檢測的測試指令。
例如,測試工具上可具備人機互動接口如鍵盤觸控螢幕等,測試人員可通過人機接口進行應用安全測試操作來下達測試指令,如打開測試程序,選擇需要測試的應用安全項。測試工具接收通過該操作下達的測試指令。
示例性的,本操作即所述接收用於進行至少兩項應用安全檢測的測試指令,可包括:
接收用於進行以下檢測中的至少兩項應用安全檢測的測試指令:系統掛載檢測、應用運行權限檢測、日誌敏感信息檢測、文件系統權限檢測和安全滲透工具(如drozer)檢測。即一個測試指令可用於進行多項應用安全檢測。也就是說用戶只需下達一個測試指令即可進行多項應用安全檢測。
s12、根據所述測試指令,將相應的應用安全檢測命令發送給待測試的移動終端,其中,所述相應的應用安全檢測命令與所述至少兩項應用安全檢測相對應,用於指示所述移動終端進行所述至少兩項應用安全檢測。
本實施例中,待測試的移動終端即與測試工具通過usb相連的移動終端。
當步驟s11中接收的測試指令用於進行系統掛載檢測和應用運行權限檢測時,則測試工具向待測試的移動終端發送系統掛載檢測命令和應用運行權限檢測命令;當步驟s11中接收的測試指令用於進行日誌敏感信息檢測、文件系統權限檢測和安全滲透工具檢測時,則測試工具向待測試的移動終端發送日誌敏感信息檢測命令、文件系統權限檢測命令和安全滲透工具檢測命令;當步驟s11中接收的測試指令用於進行應用運行權限檢測、日誌敏感信息檢測、文件系統 權限檢測和安全滲透工具檢測時,則測試工具向待測試的移動終端發送應用運行權限檢測命令、日誌敏感信息檢測命令、文件系統權限檢測命令和安全滲透工具檢測命令;等等。只要測試工具向移動終端發送的指令與接收的測試指令所用於進行的應用安全測試項目一一對應即可,這裡不再窮舉。
例如,對基於安卓(android)平臺(作業系統為安卓的手機)的應用安全測試中,各個應用安全檢測項的實現原理大體一致,即以批處理的方式調用自開發單元或公開命令,使手機執行一些必要的操作。
本發明實施例中,測試工具可以批處理方式執行上述測試指令。當測試指令用於進行多項應用安全檢測時,可將一系列命令放入可執行文件中,避免了手工每次輸入且執行一條命令的弊端,且計算機執行速度遠遠高於手工輸入速度,所以可以大大減少測試時間。
當進行安全滲透工具檢測時,本發明實施例提供的用於移動終端系統的應用安全測試方法中,所述根據所述測試指令,將相應的應用安全檢測命令發送給待測試的移動終端,包括:
根據所述測試指令,將應用權限檢測命令和意圖發送檢測命令中的至少一種命令發給所述移動終端。
其中,應用權限檢測命令主要是用來檢測移動終端作業系統中各個應用是否存在權限濫用的現象。意圖發送檢測命令主要是用來檢測安卓目的(androidintent)數據發送機制中是否存在使用空故意模糊(intentfuzz)時出現異常現象。
例如,drozer是開源的滲透測試工具,可對其進行擴展,使其具有更多功能,如在應用權限檢測項中,可開發自定義drozer單元查找所有具有發送簡訊權限的應用。
s13、接收所述移動終端返回的檢測數據,其中,所述檢測數據為所述移動終端執行所述至少兩項應用安全檢測的結果。
移動終端執行上述步驟s12中測試工具發送的檢測命令後,生成檢測數據,並返回給測試工具,以用於安全分析。
s14、根據所述檢測數據判斷所述移動終端的系統中的安全隱患。
例如,對基於安卓平臺(作業系統為安卓的手機)的應用安全測試中,測試工具使用一系列腳本對批處理命令的結果(即被測試手機返回的檢測數據)進行分析,判斷是否存在安全威脅。相對於現有技術使用代碼處理來代替人工分析和判斷,既可一勞永逸,節省時間,又可達到準確的效果。
本發明實施例提供的用於移動終端系統的應用安全測試方法中,由測試工具執行:接收用於進行至少兩項應用安全檢測的測試指令;根據所述測試指令,將相應的應用安全檢測命令發送給待測試的移動終端,其中,所述相應的應用安全檢測命令與所述至少兩項應用安全檢測相對應,用於指示所述移動終端進行所述至少兩項應用安全檢測;接收所述移動終端返回的檢測數據,其中,所述檢測數據為所述移動終端執行所述至少兩項應用安全檢測的結果;根據所述檢測數據判斷所述移動終端的系統中的安全隱患。與現有技術相比,本發明能夠通過測試工具一次進行至少兩項應用安全檢測,不僅實現了用於移動終端系統的應用安全測試的自動化,而且實現了測試方式的功能多樣化,即一種測試工具具有多種測試功能,有效地提升了用於移動終端系統的應用安全測試的效率。
例如,本發明實施例提供的用於移動終端系統的應用安全測試方法以批處理方式實現安卓系統安全測試的自動化,即能夠融合多種測試工具和測試方法, 形成一個適用於安卓系統安全測試的項目集合(即達到了一種工具多種功能的效果),且將其自動化。這樣,測試人員只需在測試前修改配置文件,並進行少量操作,幾分鐘即可完成對安卓系統應用的安全測試,減少了測試過程中的重複性操作,並採用一系列腳本對檢測數據進行分析處理,提高了測試效率。進一步地,對現有滲透工具(如drozer)的擴展進行開發,使其具有更多測試功能,如應用權限檢測功能和內容(intent)發送功能等,進一步提升了測試效率。
可選地,當上述測試指令用於進行日誌敏感信息檢測時,所述根據所述測試指令,將相應的應用安全檢測命令發送給待測試的移動終端之前,本發明實施例提供的用於移動終端系統的應用安全測試方法還可包括:
接收配置指令,並根據所述配置指令配置敏感信息,以用於所述日誌敏感信息檢測。
當測試工具發送給待測試的移動終端的檢測命令包含日誌敏感信息檢測命令時,本發明實施例提供的用於移動終端系統的應用安全測試方法中,所述根據所述檢測數據判斷所述移動終端的系統中的安全隱患,可包括:
檢查所述檢測數據中是否包含有所述敏感信息,若所述檢測數據中包含有所述敏感信息,則判定所述移動終端的系統存在安全隱患;其中,敏感信息包括電話號碼、通信內容、地理位置、聯繫人信息、帳戶、密碼和日曆活動信息中的至少一種信息。
本發明實施例提供的另一種用於移動終端系統的應用安全測試方法參見圖2。圖2所示方法應用於作業系統為安卓的手機。如圖2所示,該方法包括:
s21、測試工具接收用於進行系統掛載檢測、應用運行權限檢測、日誌敏感信息檢測、文件系統權限檢測和安全滲透工具drozer檢測的測試指令。
s22、測試工具按照的用戶操作配置敏感信息,也即必要關鍵字信息。
測試之前需要設置發送簡訊內容、收件人號碼、撥號號碼、郵件信息等敏感信息。
s23、系統掛載檢測。
主程序調用系統掛載檢測單元的代碼,檢測手機分區的掛載信息是否合法,並將檢測結果寫入指定文件中。
s24、應用運行權限檢測。
主程序調用應用運行權限檢測單元的代碼,並分析應用是否越權運行,並將結果寫入指定文件。
s25、日誌敏感信息檢測。
測試者使用配置信息進行發簡訊、打電話等操作,程序後臺會獲取日誌信息並分析出日誌中是否包含地理位置、通信內容等相關信息。如果檢測到敏感信息,程序會將其寫入指定文件中。
s26、文件系統權限檢測。
主程序調用文件系統檢測單元的代碼,檢測android內核文件系統各個文件的讀寫權限是否合理,並將有風險的文件信息寫入指定文件。
s27、drozer檢測。
主程序調用開源滲透測試工具drozer,並使其執行相關命令,檢測系統中是否有debuggable應用、是否有不合法的暗碼、是否有存在注入攻擊的provider等。另外,drozer中還集成了一些自開發單元,用來檢測系統中各個應用是否存在權限濫用的現象、是否存在使用空intentfuzz時出現異常現象等。
上述步驟s23-步驟s27的順序可調,本發明實施例不做限制。步驟s22的執 行順序也無限定,只需在上述步驟s25之前執行即可。
本發明實施例提供的用於移動終端系統的應用安全測試裝置,設置於測試工具中,用於執行上述實施例提供的用於移動終端系統的應用安全測試方法。
本發明實施例提供的一種用於移動終端系統的應用安全測試裝置參見圖3,包括:
指令接收單元31,用於接收用於進行至少兩項應用安全檢測的測試指令;
指令執行單元32,用於根據所述測試指令,將相應的應用安全檢測命令發送給待測試的移動終端,其中,所述相應的應用安全檢測命令與所述至少兩項應用安全檢測相對應,用於指示所述移動終端進行所述至少兩項應用安全檢測;
數據接收單元33,用於接收所述移動終端返回的檢測數據,其中,所述檢測數據為所述移動終端執行所述至少兩項應用安全檢測的結果;
安全分析單元34,用於根據所述檢測數據判斷所述移動終端的系統中的安全隱患。
本發明實施例提供的用於移動終端系統的應用安全測試裝置,通過指令接收單元接收用於進行至少兩項應用安全檢測的測試指令;通過指令執行單元根據所述測試指令,將相應的應用安全檢測命令發送給待測試的移動終端;通過數據接收單元接收所述移動終端返回的檢測數據;通過安全分析單元根據所述檢測數據判斷所述移動終端的系統中的安全隱患。與現有技術相比,本發明能夠通過測試裝置一次進行至少兩項應用安全檢測,不僅實現了用於移動終端系統的應用安全測試的自動化,而且實現了測試方式的功能多樣化,即一種測試工具具有多種測試功能,有效地提升了用於移動終端系統的應用安全測試的效率。
可選地,所述指令接收單元31用於:
接收用於進行以下檢測中的至少兩項應用安全檢測的測試指令:系統掛載檢測、應用運行權限檢測、日誌敏感信息檢測、文件系統權限檢測和安全滲透工具檢測。
可選地,所述裝置還包括:
配置單元,用於在所述指令執行單元32根據所述測試指令,將相應的應用安全檢測命令發送給待測試的移動終端之前,接收配置指令,並根據所述配置指令配置敏感信息,以用於所述日誌敏感信息檢測。
可選地,所述安全分析單元34用於:
檢查所述檢測數據中是否包含有所述敏感信息,若所述檢測數據中包含有所述敏感信息,則判定所述移動終端的系統存在安全隱患;其中,敏感信息包括電話號碼、通信內容、地理位置、聯繫人信息、帳戶、密碼和日曆活動信息中的至少一種信息。
可選地,所述指令執行單元32用於:
根據所述測試指令,將應用權限檢測命令和意圖發送檢測命令中的至少一種命令發給所述移動終端。
本發明實施例還提供一種測試工具,所述測試工具包括上述用於移動終端系統的應用安全測試裝置。
本領域普通技術人員可以理解實現上述實施例方法中的全部或部分流程,是可以通過電腦程式來指令相關的硬體來完成,所述的程序可存儲於一計算機可讀取存儲介質中,該程序在執行時,可包括如上述各方法的實施例的流程。其中,所述的存儲介質可為磁碟、光碟、只讀存儲記憶體(read-onlymemory, rom)或隨機存儲記憶體(randomaccessmemory,ram)等。
以上所述,僅為本發明的具體實施方式,但本發明的保護範圍並不局限於此,任何熟悉本技術領域的技術人員在本發明揭露的技術範圍內,可輕易想到的變化或替換,都應涵蓋在本發明的保護範圍之內。因此,本發明的保護範圍應該以權利要求的保護範圍為準。