移動APP測試之安全性測試策略分析

隨着互聯網發展,APP應用的盛行,最近了解到手機APP相關的安全性測試,以webview爲主體的app,站在入侵或者攻擊的角度來說,安全隱患在於http抓包,逆向工程。
  
目前大部分app仍是走的http或者https,因此防http抓包泄露用戶信息以及系統自身漏洞是必要的,經過抓包當你查看一個陌生用戶信息時,一些手機號,qq等信息頁面上應該不顯示的,但這些信息不顯示並不表明服務器沒有下發,好多都是客戶端限制的,經過抓包,徹底能夠查看到陌生用戶的app。再如好多發帖,push消息的應用,若是沒有消息有效性的驗證,抓到包以後篡改消息,服務器一點反應都沒,這就會留有極大的隱患。逆向工程對於Android就很好理解了,反編譯,修改或者插入本身的代碼,以達到相應目的。
  
安全性測試策略
  
a/用戶隱私
檢查是否在本地保存用戶密碼,不管加密與否
檢查敏感的隱私信息,如聊天記錄、關係鏈、銀行帳號等是否進行加密
檢查是否將系統文件、配置文件明文保存在外部設備上
部分須要存儲到外部設備的信息,須要每次使用前都判斷信息是否被篡改web

本地存儲數據能夠查看看應用的SharedPreferences文件和數據庫文件中的數據(root後在應用安裝目錄內,或者查看外部存儲中有沒有寫入敏感數據)。
  
b/文件權限
檢查App所在的目錄,其權限必須爲不容許其餘組成員讀寫
  
c/網絡傳輸
檢查敏感信息在網絡傳輸中是否作了加密處理,重要數據要採用TLS或者SSLshell

http請求默認是明文的,若是安全驗證和加密機制很爛,經過網絡嗅探掃描,很容易被猜到和模擬請求,也可能被注入。
    
d/運行時解釋保護
對於嵌有解釋器的軟件,檢查是否存在XSS、SQL注入漏洞
使用webiew的App,檢查是否存在URL欺騙漏洞
  
e/Android組件權限保護
禁止App內部組件被任意第三方程序調用。
若須要供外部調用的組件,應檢查對調用者是否作了簽名限制
  
f/升級
檢查是否對升級包的完整性、合法性進行了校驗,避免升級包被劫持
  
g/應用自身安全性
對某個應用進行逆向,看反編譯後的代碼有沒有敏感信息暴露。反編譯後對代碼修改,插入劫持代碼後從新打包,若是存在這種漏洞,對用戶和開發者都構成極大的威脅。數據庫

要求對應用進行加密,防止靜態破解,盜取源碼,而後嵌入惡意病毒、廣告等行爲再利用工具打包、簽名,造成二次打包應用
  
h/界面截取安全

經過adb shell命令或第三方軟件獲取root權限,在手機界面截取用戶填寫的隱私信息,隨後進行惡意行爲。
  
對移動應用中,安全性測試佔據App測試的比重愈來愈重要,用戶信息等的安全性也是決定着一款應用是否能成功,就更不用說手機銀行,金融證劵類App對安全的高度重視。服務器

相關文章
相關標籤/搜索