怎麼看待移動APP的安全測試


 

隨着互聯網發展,APP應用的盛行,最近瞭解到手機APP相關的安全性測試。目前手機App測試還是以發現bug爲主,主要測試流程就是服務器接口測試,客戶端功能性覆蓋,以及自動化配合的性能,適配,壓測等,對於App安全性測試貌似沒有系統全面統一的標準和流程,其實安全性bug也可以是bug的一種,只不過更加隱祕,難以發現,尤其針對於手機App。

 

特別是以webview爲主體的app,先簡單說說,站在入侵或者攻擊的角度來講,安全隱患在於http抓包,逆向工程。

  

目前大部分app還是走的http或者https,所以防http抓包泄露用戶信息以及系統自身漏洞是必要的,通過抓包當你查看一個陌生用戶信息時,一些手機號,qq等信息頁面上應該不顯示的,但這些信息不顯示並不代表服務器沒有下發,好多都是客戶端限制的,通過抓包,完全可以查看到陌生用戶的app。再如好多發帖,push消息的應用,如果沒有消息有效性的驗證,抓到包之後篡改消息,服務器一點反應都沒,這就會留有極大的隱患。逆向工程對於Android就很好理解了,反編譯,修改或者插入自己的代碼,以達到相應目的。

  

那麼安全性測試策略是怎樣的呢?

 

對用戶隱私,檢查是否在本地保存用戶密碼,無論加密與否;檢查敏感的隱私信息,如聊天記錄、關係鏈、銀行賬號等是否進行加密;檢查是否將系統文件、配置文件明文保存在外部設備上;部分需要存儲到外部設備的信息,需要每次使用前都判斷信息是否被篡改。

 

對文件權限,檢查App所在的目錄,其權限必須爲不允許其他組成員讀寫。

 

對網絡傳輸,檢查敏感信息在網絡傳輸中是否做了加密處理,重要數據要採用TLS或者SSL。http請求默認是明文的,如果安全驗證和加密機制很爛,通過網絡嗅探掃描,很容易被猜到和模擬請求,也可能被注入。

  

對運行時解釋保護,對於嵌有解釋器的軟件,檢查是否存在XSS、SQL注入漏洞;使用webiew的App,檢查是否存在URL欺騙漏洞

 

對Android組件權限保護,禁止App內部組件被任意第三方程序調用。若需要供外部調用的組件,應檢查對調用者是否做了簽名限制

 

對迭代升級,檢查是否對升級包的完整性、合法性進行了校驗,避免升級包被劫持。

 

對界面截取,通過adb shell命令或第三方軟件獲取root權限,在手機界面截取用戶填寫的隱私信息,隨後進行惡意行爲。

 

安全測試是目前移動應用的App測試中很重要的一項,特別是一些對用戶賬戶保密性較高的,在手遊測試,金融類App的測試中,佔據很大比例。

發佈了40 篇原創文章 · 獲贊 25 · 訪問量 12萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章