本文從大方向上介紹安卓APP安全測試維度,一般從三個維度入手:
-
客戶端
- 代碼安全
- 配置安全
- 存儲安全
-
服務端
- 業務邏輯安全
- 應用組件安全
- 系統主機安全
-
通信過程
- 協議安全
- 傳輸安全
0x01 客戶端
1.1 代碼安全
1.1.1 APP簽名
- 簽名證書檢測
- 簽名機制檢測
1.1.2 APP完整性校驗
- 二次打包檢測
1.1.3 代碼保護
- 代碼反編譯檢測
- 重要代碼邏輯保護
- 敏感信息泄露檢測
1.2 配置安全
1.2.1 AndroidManifest.xml配置
- debug 屬性配置
- allowbackup屬性配置
1.2.2 四大組件安全
- Activity安全
- Broadcast Receiver安全
- Service安全
- Content Provider安全
1.2.3 webview安全
- webview代碼執行漏 洞
- webview默認設置問題
1.2.4 logcat配置安全
- logcat日誌輸出敏感信息
1.2.5 APP升級安全
- APP升級劫持
1.2.6 APP發佈
- 測試數據遺留
- CI/CD文件遺留
1.3 存儲安全
- sdcard存儲敏感數據
- shared preference全局可讀寫
- SQLlite存儲敏感信息
1.4 其他可選項
- 應用權限濫用
- 鍵盤記錄隱患
- 應用界面截屏
- 模擬器環境檢測
- 網絡代理檢測
- 進程注入保護
- 動態調試保護
- 第三方SDK安全性
0x02 服務端
2.1 業務邏輯安全
業務邏輯和越權類漏洞
2.2 應用組件安全
所用中間件和應用框架類漏洞
2.3 系統主機安全
端口服務和系統主機層漏洞
0x03 通信過程
3.1 協議安全
- 使用安全版本協議
3.2 傳輸安全
- 傳輸內容加密
- 服務端證書強校驗
以上爲博主根據實際經驗總結得出,歡迎補充,具體測試方法和工具將會另起博文介紹