一種移動應用自動化安全測試平臺的制作方法
【專利摘要】一種移動應用自動化安全測試平臺,用于對Android應用程序的安全性進行檢測,以驗證Android應用程序是否符合安全規(guī)范,該平臺能對安裝在Android系統上的應用程序進行組件分析,通過暴露的組件,確定出攻擊面,進行滲透測試,深入挖掘出應用程序存在的漏洞,其測試的覆蓋范圍包括認證繞過測試、SQL注入測試、數據存儲的不安全以及文件系統被讀取等方面。在測試過程中不需要獲取手機端的root權限,可以保證以一個普通Android應用的身份與其他應用和操作系統交互。此測試平臺與web界的自動化掃描工具不同,它是一種交互式的安全測試平臺,在使用過程中,用戶只需在自己的工作站(PC端)上輸入命令,命令會通過端口的連接傳遞到Android設備上的代理程序執(zhí)行,從而完成整個安全測試。
【專利說明】
一種移動應用自動化安全測試平臺
技術領域
[0001] 本發(fā)明屬于軟件測試領域,涉及到自動化技術領域。
【背景技術】
[0002] 移動終端及應用程序不斷在企業(yè)各個業(yè)務系統中推廣,使辦公不再受時間地點的 限制,極大的提高了工作效率,其帶來諸多便利的同時,企業(yè)信息的安全也更加受到重視。 移動APP中包含的業(yè)務數據和敏感信息面臨更多威脅,移動APP的安全問題日漸突出,如:移 動APP在使用過程中受到跨站腳本攻擊,敏感數據被竊取,代碼被非法篡改,密碼遭受破解 等。面對這些威脅,能夠找到一個快速便捷的移動應用程序安全測試方案是非常必要的。
[0003] 對移動應用程序的安全測試,存在一些安全測試的工具,這些安全測試的工具,每 個能夠完成安全測試的一方面,但尚且沒有一個比較完整的測試平臺能夠比較系統全面的 完成安全測試各個測試點的覆蓋。在另一方面,基于移動應用的不受時間和地點控制的特 征,以及Android系統源代碼對外開放的條件,其應用程序被破壞的幾率大大提升,而軟件 安全測試把重點依然放在比較成熟的web安全研究,導致了移動應用安全測試技術發(fā)展緩 慢。
[0004] 電網公司一向很注重企業(yè)信息化建設,隨著移動互聯網的普及,智能終端和移動 應用得到迅猛發(fā)展,企業(yè)信息化外延發(fā)展迅速,企業(yè)IT應用建設處于向移動迀移的過程中, 將現有IT系統延伸到手機上,即企業(yè)級移動應用是必然的發(fā)展方向,結合云南電網的特點, 為保證企業(yè)級移動應用的安全使用,配合網絡互聯網安全的相關規(guī)定,搭建了此移動應用 自動化安全測試平臺。
【發(fā)明內容】
[0005] 根據目前移動應用安全測試的現狀,沒有一個比較完善的能夠覆蓋所有安全測試 點的平臺或者工具,以供企業(yè)安全測試使用。本測試平臺集成了部分開源的安全測試工具, 實現了在一個測試平臺,對移動應用程序存在的安全問題一體化測試目的。
[0006] 為了實現上述目的,本發(fā)明的一個移動應用自動化安全測試平臺,本發(fā)明特征在 于,包括以下幾個部分:
[0007] -種移動應用自動化安全測試平臺,本發(fā)明特征在于,包括以下部分:
[0008] A、移動應用自動化安全測試的控制臺作為移動應用自動化安全測試平臺的核心 部分,運
[0009] 行于PC端,實現測試人員的指令輸入,以及最終測試結果的輸出;
[0010] B、運行在Android設備上的代理程序,將控制臺輸入的命令在移動端執(zhí)行,實現漏 洞的
[0011] 挖掘發(fā)現,是系統的基礎部分;
[0012] C、控制臺與代理程序之間信息交互的端口,負責控制臺與代理程序之間的數據傳 輸;
[0013] D、JDK環(huán)境,作為自動化安全測試平臺的基礎部分,保證控制臺的命令能夠被執(zhí) 行。
[0014] 本發(fā)明位于PC端的控制臺為核心部分,輸入命令依賴于PC端的命令行工具;其基 礎部分是工作于位于移動端的代理程序,將控制臺輸入的命令在移動端執(zhí)行,實現漏洞的 挖掘發(fā)現;其通信橋梁依賴于端口,用于數據信息的傳輸;JDK環(huán)境用于對整個測試平臺的 工具提供環(huán)境支持,保證命令的正確執(zhí)行。
[0015] 本發(fā)明所述的控制臺,包括安裝在PC端的命令行程序,以及在PC端進行命令輸入 的命令行工具,其命令行程序實現與移動端代理程序的連接,保證從PC端輸入的命令能夠 正常在移動端進行執(zhí)行。
[0016] 本發(fā)明控制臺的全部輸入命令是:
[0017] 命令為Run module描述是執(zhí)行一個應用程序模塊; 命令為List 描述是顯示當前會話所能執(zhí)行的所有應用程序模塊,此處隱藏了未 獲得相應權限的模塊; 命令為Shell 描述是在設備上啟動一個交互式Linux shell: 命令為Cd 描述是掛載一個特定的命名空間作為會話的根目錄; Clean 描述是移除Android設備上由測試平臺存儲的臨時文件; Echo 描述是在控制臺打卬信息; Ex.1t 描述是終止會話。
[0018] 本發(fā)明所述的位于移動端的代理程序,是一個運行在移動端的應用程序,通過與 控制臺的連接,保證控制臺的輸入命令在移動端被執(zhí)行,并且把在移動端讀取的數據經過 端口傳送到控制臺進行顯示。
【附圖說明】
[0019] 圖1為本發(fā)明流程圖;
[0020] 圖2為發(fā)明結構示意圖。
【具體實施方式】
[0021] 下面結合圖1對本發(fā)明做進一步詳細的說明:
[0022] 如圖1,圖2,一種移動應用自動化安全測試平臺,本發(fā)明特征在于,包括以下部分:
[0023] A、移動應用自動化安全測試的控制臺作為移動應用自動化安全測試平臺的核心 部分,運行于PC端,實現測試人員的指令輸入,以及最終測試結果的輸出;
[0024] B、運行在Andro i d設備上的代理程序,將控制臺輸入的命令在移動端執(zhí)行,實現漏 洞的挖掘發(fā)現,是系統的基礎部分;
[0025] C、控制臺與代理程序之間信息交互的端口,負責控制臺與代理程序之間的數據傳 輸;
[0026] D、JDK環(huán)境,作為自動化安全測試平臺的基礎部分,保證控制臺的命令能夠被執(zhí) 行。
[0027] 本發(fā)明位于PC端的控制臺為核心部分,輸入命令依賴于PC端的命令行工具;其基 礎部分是工作于位于移動端的代理程序,將控制臺輸入的命令在移動端執(zhí)行,實現漏洞的 挖掘發(fā)現;其通信橋梁依賴于端口,用于數據信息的傳輸;JDK環(huán)境用于對整個測試平臺的 工具提供環(huán)境支持,保證命令的正確執(zhí)行。
[0028] 本發(fā)明所述的控制臺,包括安裝在PC端的命令行程序,以及在PC端進行命令輸入 的命令行工具,其命令行程序實現與移動端代理程序的連接,保證從PC端輸入的命令能夠 正常在移動端進行執(zhí)行。
[0029]本發(fā)明控制臺的全部輸入命令是:
[0030] 命令為Run module 描述是執(zhí)行一個應用程序模塊; 命令為List 描述是顯示當前會話所能執(zhí)行的所有應用程序模塊,此處隱藏了未 獲得相應權限的模塊; 命令為Shell 描述是在設備上啟動一個交互式Linux shell; 命令為Cd 描述是掛載一個特定的命名空間作為會話的根目錄; Clean 描述是移除Android設備上由測試平臺存儲的臨時文件; Echo 描述是在控制臺打印信息; Exit 描述是終止會話。
[0031] 本發(fā)明所述的位于移動端的代理程序,是一個運行在移動端的應用程序,通過與 控制臺的連接,保證控制臺的輸入命令在移動端被執(zhí)行,并且把在移動端讀取的數據經過 端口傳送到控制臺進行顯示。
[0032] 本發(fā)明通過PC端的命令行工具進行整個測試的控制,位于PC端的控制臺能夠依靠 JDK環(huán)境,通過端口 31415,將命令傳遞到移動端的代理程序,在移動端執(zhí)行輸入命令后,返 回完整的測試報告,測試報告在控制臺進行顯示。
[0033]其中控制臺的功能是作為命令輸入接口,以及提供一個結果展示的作用,在控制 臺,測試人員可以選擇自己需要測試的移動APP,查看此APP的詳細版本信息,以及暴露的組 件信息,在分析組件的暴露情況后,選擇自己需要的攻擊面,實施進一步的滲透測試,保證 測試的正確性,最終的測試結果會歸納顯示在控制臺,匯總成一份完整的測試報告。
[0034]開放的用于控制臺與代理程序進行通信的端口,是系統設置默認的端口31415,設 置這個端口的目的是此端口是空閑的通信端口,可以提供隨時使用而不搶占其他通道,通 過端口傳遞的命令到達移動端的代理程序,移動端的代理程序是可以對安裝在移動端的 APP進行信息讀取,以及相關的一些寫操作的,當讀取到移動端的信息后,實時的反饋回控 制臺,進行信息的存儲,最終結果在控制臺進行展示。
【主權項】
1. 一種移動應用自動化安全測試平臺,其特征在于,包括以下部分: A、 移動應用自動化安全測試的控制臺作為移動應用自動化安全測試平臺的核心部分, 運行于PC端,實現測試人員的指令輸入,以及最終測試結果的輸出; B、 運行在Android設備上的代理程序,將控制臺輸入的命令在移動端執(zhí)行,實現漏洞的 挖掘發(fā)現,是系統的基礎部分; C、 控制臺與代理程序之間信息交互的端口,負責控制臺與代理程序之間的數據傳輸; D、 JDK環(huán)境,作為自動化安全測試平臺的基礎部分,保證控制臺的命令能夠被執(zhí)行。2. 根據權利要求1所述的一種移動應用自動化安全測試平臺,其特征在于,位于PC端的 控制臺為核心部分,輸入命令依賴于PC端的命令行工具;其基礎部分是工作于位于移動端 的代理程序,將控制臺輸入的命令在移動端執(zhí)行,實現漏洞的挖掘發(fā)現;其通信橋梁依賴于 端口,用于數據信息的傳輸;JDK環(huán)境用于對整個測試平臺的工具提供環(huán)境支持,保證命令 的正確執(zhí)行。3. 根據權利要求1或2所述的一種移動應用自動化安全測試平臺,其特征在于,所述的 控制臺,包括安裝在PC端的命令行程序,以及在PC端進行命令輸入的命令行工具,其命令行 程序實現與移動端代理程序的連接,保證從PC端輸入的命令能夠正常在移動端進行執(zhí)行。4. 根據權利要求3所述的一種移動應用自動化安全測試平臺,其特征在于,控制臺的全 部輸入命令是: 命令為Run module描述是執(zhí)行一個應用程序模塊; 命令為List描述是顯示當前會話所能執(zhí)行的所有應用程序模塊,此處隱藏了未獲得 相應權限的模塊; 命令為Shell描述是在設備上啟動一個交互式Linux shell; 命令為Cd描述是掛載一個特定的命名空間作為會話的根目錄; Clean描述是移除Android設備上由測試平臺存儲的臨時文件; Echo描述是在控制臺打印信息; Exit描述是終止會話。5. 根據權利要求2或3所述的一種移動應用自動化安全測試平臺,其特征在于,所述的 位于移動端的代理程序,是一個運行在移動端的應用程序,通過與控制臺的連接,保證控制 臺的輸入命令在移動端被執(zhí)行,并且把在移動端讀取的數據經過端口傳送到控制臺進行顯 不。
【文檔編號】G06F11/36GK105930273SQ201610288563
【公開日】2016年9月7日
【申請日】2016年5月4日
【發(fā)明人】黃祖源, 周靖, 耿貞偉, 蘇永東, 陳何雄, 薛永軍, 彭曉平, 蘇文偉, 段琳, 孫恒, 孫恒一, 郭威
【申請人】云南電網有限責任公司信息中心