Android開發安全彙總
官方指南
官方文件:https://developer.android.com/training/articles/security-tips?hl=zh-cn
程式碼混淆,APK加殼
敏感資料加密
1.執行時資料(例如使用者token)需要使用隨機祕鑰加密。
- 隨機祕鑰生成:需要為祕鑰生成器提供可靠的初始化引數(安全隨機數),避免離線攻擊。
- 隨機祕鑰應該存放於Android KeyStore,最大限度防止被非法讀取。官方文件:https://developer.android.com/training/articles/keystore?hl=zh-CN
2.靜態資料(例如 API key / secret )需要用固定祕鑰加密。
- 固定祕鑰存放:so庫中。
- 防止非法讀取:在 so 庫的 C 程式碼裡 JNI_OnLoad() 方法對 APK 簽名進行驗證,如果簽名不對,直接 crash。
詳細參考:https://www.diycode.cc/topics/501
網路安全
- https中間人攻擊
- 應用中內建證書並進行校驗
- WebView安全:
- Javascript介面安全
-
file跨域,可能洩漏本地敏感資料
詳細參考:https://zhuanlan.zhihu.com/p/21787366