敖勇平
摘要:隨著移動(dòng)互聯(lián)網(wǎng)的快速發(fā)展,智能手機(jī)越來越普及,推動(dòng)了手機(jī)APP的爆炸式增長(zhǎng),而這也引發(fā)了許多APP安全問題。為了更好地解決這些問題,結(jié)合作者在APP測(cè)試中的經(jīng)驗(yàn),從APP安全性測(cè)試的必要性、APP安全性測(cè)試策略、APP安全性測(cè)試的主要測(cè)試點(diǎn)、常見的APP安全性測(cè)試工具、做好APP安全性測(cè)試的建議等五個(gè)方面對(duì)手機(jī)APP安全性測(cè)試進(jìn)行探討。
關(guān)鍵詞:手機(jī)APP;互聯(lián)網(wǎng)+;安全性測(cè)試;APP漏洞
中圖分類號(hào):TP393 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2016)27-0010-02
伴隨著互聯(lián)網(wǎng)+時(shí)代的到來,移動(dòng)互聯(lián)網(wǎng)發(fā)展迅猛,大家已經(jīng)能很方便地利用手機(jī)來隨時(shí)隨地上網(wǎng),實(shí)現(xiàn)更多智能化的應(yīng)用,如QQ聊天、購(gòu)物、手機(jī)移動(dòng)支付、日常工作業(yè)務(wù)處理。它在豐富大家日常生活和工作的同時(shí),也給我們帶來了超強(qiáng)娛樂體驗(yàn),但是移動(dòng)互聯(lián)在無線接入網(wǎng)絡(luò)、移動(dòng)終端、應(yīng)用服務(wù)上都面臨著前所未有的挑戰(zhàn),其中智能手機(jī)App的安全問題尤為突出。據(jù)不完全統(tǒng)計(jì),2015年上半年,智能手機(jī)平臺(tái)新增病毒應(yīng)用約127.3萬個(gè),較2014年下半年環(huán)比增長(zhǎng)240%。另外,手機(jī)APP的漏洞問題非常嚴(yán)重,尤其是Android平臺(tái)下的安全漏洞現(xiàn)狀更是不容樂觀,近97%的APP都存在漏洞問題。今年8月,國(guó)家出臺(tái)了《移動(dòng)互聯(lián)網(wǎng)應(yīng)用程序信息服務(wù)管理規(guī)定》規(guī)定,明確要求所有APP上架前必須進(jìn)行安全測(cè)試。綜上所述,對(duì)于APP軟件開發(fā)公司來講, APP安全性測(cè)試就顯得非常重要。
1 APP安全性測(cè)試策略
當(dāng)前,手機(jī)APP的安全性問題面臨巨大挑戰(zhàn),其中安全隱患來源于以下幾個(gè)方面:研發(fā)人員的結(jié)構(gòu)設(shè)計(jì)缺陷、SDK缺陷、使用不安全的協(xié)議、 APP代碼設(shè)計(jì)漏洞問題等。為了更好地解決這些安全隱患,通常的做法就是進(jìn)行APP安全檢測(cè),具體來說,就是對(duì)APP安全風(fēng)險(xiǎn)以及安全漏洞等方面進(jìn)行全面檢測(cè)。APP安全性測(cè)試策略或手段歸納起來主要有三種,分別是APP代碼驗(yàn)審、APP滲透測(cè)試以及APP漏洞掃描。具體如下:
1)APP代碼驗(yàn)審
該策略主要利用幾種常用的代碼分析工具如Dex2jar、JD-GUI、ApkTool、Smali2dex等對(duì)APP代碼進(jìn)行反編譯,并對(duì)反編譯后的Java源代碼文件、XML頁面文件等文件再進(jìn)行靜態(tài)掃描分析,通過關(guān)鍵詞搜索等方式將具有安全隱患的代碼進(jìn)行摘錄并保存起來,完成APP代碼驗(yàn)審過程。
2)APP滲透測(cè)試
APP滲透測(cè)試是完全模擬外部黑客可能使用的攻擊手段來對(duì)對(duì)目標(biāo)系統(tǒng)的安全作深入的探測(cè)和分析,發(fā)現(xiàn)APP中最脆弱的環(huán)節(jié)。它是對(duì)系統(tǒng)的可能存在的弱點(diǎn)、技術(shù)缺陷或漏洞等進(jìn)行主動(dòng)分析且漸進(jìn)深入的過程。滲透測(cè)試能夠最直觀的讓測(cè)試人員知道待測(cè)軟件所面臨的問題,是一種非常專業(yè)的安全測(cè)試手段。APP滲透測(cè)試主要用于Android系統(tǒng)的智能機(jī)、iOS智能機(jī)、平板電腦等移動(dòng)APP程序中的測(cè)試,通過使用靜態(tài)、動(dòng)態(tài)、服務(wù)端測(cè)試等各類技術(shù)手段對(duì)移動(dòng)APP程序進(jìn)行不安全因素的挖掘。
3)APP漏洞掃描
APP安全漏洞掃描通常都是在安全性測(cè)試過程中借助特定的漏洞掃描器完成。通過數(shù)據(jù)流跟蹤分析、漏洞驗(yàn)證、拒絕服務(wù)攻擊等手段來進(jìn)行全方位安全檢測(cè),對(duì)APP嵌入或注入代碼安全、簽名安全、數(shù)據(jù)安全、業(yè)務(wù)邏輯安全、APP環(huán)境安全等進(jìn)行全方面的檢測(cè)和評(píng)估,及時(shí)發(fā)現(xiàn)所開發(fā)的APP存在的安全隱患和可能被黑客利用的漏洞,記錄下來,并及時(shí)修補(bǔ)漏洞。它包括主機(jī)漏洞掃描和網(wǎng)絡(luò)漏洞掃描。
2 APP安全性測(cè)試的主要測(cè)試點(diǎn)
為了更好地開展APP安全性工作,根據(jù)以往手機(jī)安全性測(cè)試的經(jīng)驗(yàn),我們將APP安全性測(cè)試的主要測(cè)試點(diǎn)歸納為以下幾個(gè)方面:
1)配置安全性
配置安全檢測(cè)主要涉及APP應(yīng)用有無加固措施,如軟件能否及時(shí)更新補(bǔ)丁,密碼是否有保護(hù)措施,有些不需要的默認(rèn)端口有沒關(guān)閉等。另一方面權(quán)限設(shè)置是否合理,如是否存在扣費(fèi)風(fēng)險(xiǎn)、隱私泄露風(fēng)險(xiǎn),輸入框能否信息檢驗(yàn)等。
2)數(shù)據(jù)安全性
數(shù)據(jù)安全檢測(cè)主要考查APP中的重要信息有無進(jìn)行加密存儲(chǔ)保護(hù),如用戶登錄密碼,隱私數(shù)據(jù)有沒做相關(guān)的控制和管理,數(shù)據(jù)刪除時(shí)有沒提示信息,數(shù)據(jù)是否有自動(dòng)備份功能等。
3)接口安全性
接口安全方面檢測(cè)內(nèi)容就比較廣,如接口是否采用的是Https方式,有無采用有效地安全認(rèn)證的處理,是否有安全證書,接口的參數(shù)有沒有加密處理。
4)APP后臺(tái)安全性
APP后臺(tái)安全主要檢測(cè)平臺(tái)有無權(quán)限管理功能,平臺(tái)中的所有重要操作有無日志安全管理,對(duì)線上APP一些異常訪問是否能進(jìn)行安全監(jiān)測(cè)和控制,如一段時(shí)間內(nèi)某個(gè)IP頻繁訪問。
5)安裝與卸載安全性
它主要檢測(cè)應(yīng)用程序安裝時(shí)能否正確安裝到設(shè)備驅(qū)動(dòng)程序上,能否在手機(jī)上找到應(yīng)用程序的相應(yīng)圖標(biāo),是否包含數(shù)字簽名信息;卸載時(shí)是否能安全卸載,是否能全部卸載,是否有卸載提示,是否會(huì)影響其他軟件功能。
3 常見的APP安全性測(cè)試工具
為了做好APP安全性測(cè)試,防止軟件可被利用的風(fēng)險(xiǎn)漏洞,在好的安全性測(cè)試策略的前提下,我們經(jīng)常要借助一下測(cè)試工具來實(shí)現(xiàn),下面就介紹幾款實(shí)用的安全性測(cè)試工具。
1)X-Ray工具
X-Ray就是一種檢測(cè)Android平臺(tái)中是否存在已知提權(quán)漏洞的工具。 雖然智能手機(jī)APP這些提權(quán)漏洞可以在系統(tǒng)版本的升級(jí)時(shí)解決,但是目前仍有很多老版本系統(tǒng)存在。提權(quán)漏洞是在被合法軟件利用的同時(shí)也可能被大量惡意軟件利用,利用這些提權(quán)漏洞獲取系統(tǒng)Root權(quán)限,使得在您不知情的情況下,后臺(tái)自動(dòng)發(fā)送付費(fèi)短信,上傳個(gè)人隱私等。
2)Safe.ijiami
Safe.ijiami 是一款免費(fèi)的App安全檢測(cè)工具,是愛加密公司打造的重磅產(chǎn)品,開創(chuàng)了我國(guó)自動(dòng)化App安全檢測(cè)平臺(tái)的先河。愛加密漏洞檢測(cè)工具集成了當(dāng)前黑客最常用的攻擊策略,它能模擬黑客攻擊行為進(jìn)行分析和漏洞檢測(cè)。研發(fā)人員只需一鍵上傳自己的APP就可完成風(fēng)險(xiǎn)漏洞檢測(cè),有效判斷dex、res文件是否存在源代碼、資源文件被竊取、替換等安全問題。檢測(cè)結(jié)果清晰、詳細(xì)、全面,并可一鍵生成報(bào)告,極大的提高了開發(fā)者的開發(fā)效率,有效幫助研發(fā)人員了解App安全狀況,找出自己APP所存在且可被利用的風(fēng)險(xiǎn)漏洞,并對(duì)其進(jìn)行針對(duì)性漏洞修復(fù),從而有效地保障APP應(yīng)用的安全性。
3)Droze工具
Drozer是由MWR安全團(tuán)隊(duì)研發(fā)的一款開源交互式的安全測(cè)試工具,該工具主要針對(duì)是Android平臺(tái)的安全測(cè)試框架。測(cè)試人員可以通過Drozer提供的一些模塊完成一些基礎(chǔ)的安全測(cè)試工作,發(fā)現(xiàn)和挖掘Android上的公共利用漏洞和遠(yuǎn)程漏洞。
4)Intent Sniffer工具
Intent Sniffer工具可實(shí)現(xiàn)監(jiān)控運(yùn)行時(shí)路由的廣播Intent,也就是在系統(tǒng)上的APP之間發(fā)送的Intent。通常它只對(duì)無優(yōu)先權(quán)的廣播進(jìn)行監(jiān)控,而并不監(jiān)控顯式廣播的Intent。它主要針對(duì)的是那些基于應(yīng)用反射和動(dòng)態(tài)審查安裝程序的Intent來動(dòng)態(tài)升級(jí)掃描的。
4 做好APP安全性測(cè)試的建議
APP安全性測(cè)試是核查APP的安全服務(wù)和發(fā)掘潛在的安全性缺陷的過程,它是整個(gè)APP測(cè)試中重要一環(huán),是一件非常不容易的事。為了更好、高效的做好安全性測(cè)試,下面給出了APP安全性測(cè)試的一些建議:1)充分了解APP軟件的常見安全漏洞和黑客攻擊手段;2)能夠使用高效的軟件安全測(cè)試技術(shù)和測(cè)試工具;3)重點(diǎn)對(duì)程序簽名、權(quán)限設(shè)置、數(shù)據(jù)安全等方面進(jìn)行安全性檢測(cè)。技術(shù)在不斷的發(fā)展與創(chuàng)新,只有不斷的學(xué)習(xí)、積累、總結(jié),才能跟上時(shí)代的腳步,更好地做好APP安全性測(cè)試工作。
參考文獻(xiàn):
[1] 張坤, 李媚. 軟件測(cè)試基礎(chǔ)與測(cè)試案例分析[M]. 北京: 清華大學(xué)出版社, 2014.
[2] 路曉麗, 董云衛(wèi). 軟件測(cè)試實(shí)踐教程[M]. 北京: 機(jī)械工業(yè)出版社, 2010.
[3] Harrold M J. Testing :a roadmap[M]. ICSE-Future of SE T rack, 2000: 61-72.
[4] 盧建軍, 蘇寧. 淺談手機(jī)軟件測(cè)試的流程與策略[J]. 制造業(yè)自動(dòng)化, 2010(7).