2017年5月9日 星期二

開發 android app 的資安注意事項


開發 android app  有幾個關於資安的注意事項,大家可參考囉。
  1. 不要儲存敏感資料,如非儲存不可,儲存於作業系統保護之區域並加密。加密的key和編碼過的文件不要放在一起
  2. 用於加解密之key,android 存放於so或Android Keystore Provider
  3. 用來加密的key,可再加上使用者的密碼
  4. 傳輸重要參數應加密
  5. Log.d、NSLog在release版不要使用。
  6. 檢查作業系統是否被破解(root)
  7. 使用Sqlite應注意Client SQL Injection
  8. 檢查app權限uses permission是否適當
  9. 如有html5 需注意LocalStorage儲放XSS攻擊程式與shell code
  10. 遠端刪除功能防止手機遺失。
  11. 加解密method應為private。
  12. 只允許連到指定的連結(如果你的專案允許的話)
  13. android 開啟程式碼混淆ProGuard,避免被反組譯太容易看到程式碼
  14. 如無需要,關閉 Allow Backup,不允許android備份至雲端或電腦。
  15. 傳輸GCM資訊應使用HTTPS
  16. android:debuggable relase版不可為true
  17. 執行時檢查是否 debug 模式,android.os.Debug.isDebuggerConnected(),防止使用者反向編譯後再重新執行 PackageManager.GET_SIGNATURES
  18. 重要交易採用多因素認證(例簡訊傳送認證碼)
  19. 作業系統的保護是不安全的
  20. 上位或公司的政策「簡單勝於安全」可能是照成安全問題的原因,例如每次都要輸入密碼太麻煩

參考資料

沒有留言:

張貼留言