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