手機(jī)App安全性測(cè)試初探
目前手機(jī)App測(cè)試還是以發(fā)現(xiàn)bug為主,主要測(cè)試流程就是服務(wù)器接口測(cè)試,客戶端功能性覆蓋,以及自動(dòng)化配合的性能,適配,壓測(cè)等,對(duì)于App安全性測(cè)試貌似沒有系統(tǒng)全面統(tǒng)一的標(biāo)準(zhǔn)和流程,其實(shí)安全性bug也可以是bug的一種,只不過更加隱秘,難以發(fā)現(xiàn),尤其針對(duì)于手機(jī)App。近期時(shí)間比較充裕,研究了一下安全性相關(guān)的東西,并對(duì)于我們自身的產(chǎn)品測(cè)試了一下(更主要的目的是游戲作弊刷分),發(fā)現(xiàn)了不少問題,總結(jié)一下。
我的理解,包括以webview為主體的app,站在入侵或者攻擊的角度來講,安全隱患在于http抓包,逆向工程。談這之前先講講webview相關(guān)的app,前一段時(shí)間有個(gè)曝工資的軟件很火,但有查詢次數(shù)的限制,抓包研究了一下,發(fā)現(xiàn)其主要還是webview,通過抓包詳細(xì)分析,才明白他記錄查詢次數(shù)的手段,每一個(gè)用戶都會(huì)分配一個(gè)id,以及一個(gè)代表查詢次數(shù)count以cookie的形式保存到本地,通過維護(hù)cookie達(dá)到限制查詢次數(shù)的目的,所以清除cookie就可以無限制的查詢了,個(gè)人覺得,webview相關(guān)的app安全性測(cè)試應(yīng)該還是web測(cè)試那一套,xss攻擊,sql注入等(沒搞過web安全測(cè)試,僅推測(cè))。
大部分app還是走的http或者h(yuǎn)ttps,所以防http抓包泄露用戶信息以及系統(tǒng)自身漏洞是必要的,畢竟像騰訊那種通過自身通信協(xié)議增加安全性的還是少數(shù)的(抓過微信和qq的沒抓著,不知道有沒有相關(guān)工具可以抓手機(jī)tcp的包)。既然有接口測(cè)試為什么還需要單獨(dú)對(duì)客戶端進(jìn)行抓包驗(yàn)證安全性呢?這么說吧,接口測(cè)試其實(shí)最主要的驗(yàn)證接口邏輯,可用性,邊界值,異常檢查,但并不能預(yù)先保證客戶端調(diào)用不出問題,一個(gè)針對(duì)多個(gè)app抓包都發(fā)現(xiàn)的問題可以說明:抓了好多社交性app,發(fā)現(xiàn)對(duì)于用戶資料隱私泄露還是很嚴(yán)重的,當(dāng)你查看一個(gè)陌生用戶信息時(shí),一些手機(jī)號(hào),qq等信息頁面上應(yīng)該不顯示的,但這些信息不顯示并不代表服務(wù)器沒有下發(fā),好多都是客戶端限制的,通過抓包,完全可以查看到陌生用戶的app。再如好多發(fā)帖,push消息的應(yīng)用,如果沒有消息有效性的驗(yàn)證,抓到包之后篡改消息,服務(wù)器一點(diǎn)反應(yīng)都沒,這就會(huì)留有極大的隱患。
至于逆向工程這點(diǎn),對(duì)于android就很好理解了,反編譯,修改或者插入自己的代碼,以達(dá)到相應(yīng)目的。真見過幾個(gè)沒有代碼混淆的app,包括我們自己的以及大名鼎鼎snapchat,記得有個(gè)游戲特搞笑,游戲主題是C#寫得,結(jié)果java的代碼混淆了,C#的代碼沒有,修改了幾個(gè)參數(shù)值,插了幾段自己的代碼,就作弊成功了。尤其好多開放平臺(tái)的游戲,通過開放平臺(tái)sdk文檔,再加上反編譯后些許信息,即使代碼混淆了,也能推測(cè)出好多東西。這些都是安全性隱患。
以上這些只是最近一段時(shí)間對(duì)于手機(jī)app安全性測(cè)試的一點(diǎn)認(rèn)識(shí),很膚淺,安全性測(cè)試對(duì)于測(cè)試人員素質(zhì)要求還是很高的,尤其好多都是經(jīng)驗(yàn)性的東西,只有通過不斷增加經(jīng)驗(yàn),才能更好的做好測(cè)試。
posted on 2014-05-27 10:04 順其自然EVO 閱讀(241) 評(píng)論(0) 編輯 收藏 所屬分類: android