50
Android App 資安實務 過去/現在/未來 Ted

Android App 資安實務 過去 現在 未來2017/06/27  · APK Native Libraries (so) x86 armeabi v7a armeabi Drawables (.png, Jpg, xxhdpi hdpi Other Stuff (dex files, strings, assets)

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Android App 資安實務 過去 現在 未來2017/06/27  · APK Native Libraries (so) x86 armeabi v7a armeabi Drawables (.png, Jpg, xxhdpi hdpi Other Stuff (dex files, strings, assets)

Android App 資安實務

過去/現在/未來 Ted

Page 2: Android App 資安實務 過去 現在 未來2017/06/27  · APK Native Libraries (so) x86 armeabi v7a armeabi Drawables (.png, Jpg, xxhdpi hdpi Other Stuff (dex files, strings, assets)

大綱

past

early version of app without proguard (明碼)

dexguard with encrypt class string

now

dexguard with encrypt class string + app 弱掃

https

future

sign app 安全防護

上架 app 安全防護

2017 google io security 功能

Page 3: Android App 資安實務 過去 現在 未來2017/06/27  · APK Native Libraries (so) x86 armeabi v7a armeabi Drawables (.png, Jpg, xxhdpi hdpi Other Stuff (dex files, strings, assets)
Page 4: Android App 資安實務 過去 現在 未來2017/06/27  · APK Native Libraries (so) x86 armeabi v7a armeabi Drawables (.png, Jpg, xxhdpi hdpi Other Stuff (dex files, strings, assets)

demo dex2jar

Page 5: Android App 資安實務 過去 現在 未來2017/06/27  · APK Native Libraries (so) x86 armeabi v7a armeabi Drawables (.png, Jpg, xxhdpi hdpi Other Stuff (dex files, strings, assets)
Page 6: Android App 資安實務 過去 現在 未來2017/06/27  · APK Native Libraries (so) x86 armeabi v7a armeabi Drawables (.png, Jpg, xxhdpi hdpi Other Stuff (dex files, strings, assets)
Page 7: Android App 資安實務 過去 現在 未來2017/06/27  · APK Native Libraries (so) x86 armeabi v7a armeabi Drawables (.png, Jpg, xxhdpi hdpi Other Stuff (dex files, strings, assets)
Page 8: Android App 資安實務 過去 現在 未來2017/06/27  · APK Native Libraries (so) x86 armeabi v7a armeabi Drawables (.png, Jpg, xxhdpi hdpi Other Stuff (dex files, strings, assets)
Page 9: Android App 資安實務 過去 現在 未來2017/06/27  · APK Native Libraries (so) x86 armeabi v7a armeabi Drawables (.png, Jpg, xxhdpi hdpi Other Stuff (dex files, strings, assets)
Page 10: Android App 資安實務 過去 現在 未來2017/06/27  · APK Native Libraries (so) x86 armeabi v7a armeabi Drawables (.png, Jpg, xxhdpi hdpi Other Stuff (dex files, strings, assets)
Page 11: Android App 資安實務 過去 現在 未來2017/06/27  · APK Native Libraries (so) x86 armeabi v7a armeabi Drawables (.png, Jpg, xxhdpi hdpi Other Stuff (dex files, strings, assets)
Page 12: Android App 資安實務 過去 現在 未來2017/06/27  · APK Native Libraries (so) x86 armeabi v7a armeabi Drawables (.png, Jpg, xxhdpi hdpi Other Stuff (dex files, strings, assets)
Page 13: Android App 資安實務 過去 現在 未來2017/06/27  · APK Native Libraries (so) x86 armeabi v7a armeabi Drawables (.png, Jpg, xxhdpi hdpi Other Stuff (dex files, strings, assets)
Page 14: Android App 資安實務 過去 現在 未來2017/06/27  · APK Native Libraries (so) x86 armeabi v7a armeabi Drawables (.png, Jpg, xxhdpi hdpi Other Stuff (dex files, strings, assets)
Page 15: Android App 資安實務 過去 現在 未來2017/06/27  · APK Native Libraries (so) x86 armeabi v7a armeabi Drawables (.png, Jpg, xxhdpi hdpi Other Stuff (dex files, strings, assets)
Page 16: Android App 資安實務 過去 現在 未來2017/06/27  · APK Native Libraries (so) x86 armeabi v7a armeabi Drawables (.png, Jpg, xxhdpi hdpi Other Stuff (dex files, strings, assets)
Page 17: Android App 資安實務 過去 現在 未來2017/06/27  · APK Native Libraries (so) x86 armeabi v7a armeabi Drawables (.png, Jpg, xxhdpi hdpi Other Stuff (dex files, strings, assets)
Page 18: Android App 資安實務 過去 現在 未來2017/06/27  · APK Native Libraries (so) x86 armeabi v7a armeabi Drawables (.png, Jpg, xxhdpi hdpi Other Stuff (dex files, strings, assets)
Page 19: Android App 資安實務 過去 現在 未來2017/06/27  · APK Native Libraries (so) x86 armeabi v7a armeabi Drawables (.png, Jpg, xxhdpi hdpi Other Stuff (dex files, strings, assets)
Page 20: Android App 資安實務 過去 現在 未來2017/06/27  · APK Native Libraries (so) x86 armeabi v7a armeabi Drawables (.png, Jpg, xxhdpi hdpi Other Stuff (dex files, strings, assets)
Page 21: Android App 資安實務 過去 現在 未來2017/06/27  · APK Native Libraries (so) x86 armeabi v7a armeabi Drawables (.png, Jpg, xxhdpi hdpi Other Stuff (dex files, strings, assets)
Page 22: Android App 資安實務 過去 現在 未來2017/06/27  · APK Native Libraries (so) x86 armeabi v7a armeabi Drawables (.png, Jpg, xxhdpi hdpi Other Stuff (dex files, strings, assets)

Dexguard

EncryptStrings

Page 23: Android App 資安實務 過去 現在 未來2017/06/27  · APK Native Libraries (so) x86 armeabi v7a armeabi Drawables (.png, Jpg, xxhdpi hdpi Other Stuff (dex files, strings, assets)
Page 24: Android App 資安實務 過去 現在 未來2017/06/27  · APK Native Libraries (so) x86 armeabi v7a armeabi Drawables (.png, Jpg, xxhdpi hdpi Other Stuff (dex files, strings, assets)

Is It Safe?

Page 25: Android App 資安實務 過去 現在 未來2017/06/27  · APK Native Libraries (so) x86 armeabi v7a armeabi Drawables (.png, Jpg, xxhdpi hdpi Other Stuff (dex files, strings, assets)
Page 26: Android App 資安實務 過去 現在 未來2017/06/27  · APK Native Libraries (so) x86 armeabi v7a armeabi Drawables (.png, Jpg, xxhdpi hdpi Other Stuff (dex files, strings, assets)
Page 27: Android App 資安實務 過去 現在 未來2017/06/27  · APK Native Libraries (so) x86 armeabi v7a armeabi Drawables (.png, Jpg, xxhdpi hdpi Other Stuff (dex files, strings, assets)
Page 28: Android App 資安實務 過去 現在 未來2017/06/27  · APK Native Libraries (so) x86 armeabi v7a armeabi Drawables (.png, Jpg, xxhdpi hdpi Other Stuff (dex files, strings, assets)
Page 29: Android App 資安實務 過去 現在 未來2017/06/27  · APK Native Libraries (so) x86 armeabi v7a armeabi Drawables (.png, Jpg, xxhdpi hdpi Other Stuff (dex files, strings, assets)
Page 30: Android App 資安實務 過去 現在 未來2017/06/27  · APK Native Libraries (so) x86 armeabi v7a armeabi Drawables (.png, Jpg, xxhdpi hdpi Other Stuff (dex files, strings, assets)
Page 31: Android App 資安實務 過去 現在 未來2017/06/27  · APK Native Libraries (so) x86 armeabi v7a armeabi Drawables (.png, Jpg, xxhdpi hdpi Other Stuff (dex files, strings, assets)
Page 32: Android App 資安實務 過去 現在 未來2017/06/27  · APK Native Libraries (so) x86 armeabi v7a armeabi Drawables (.png, Jpg, xxhdpi hdpi Other Stuff (dex files, strings, assets)
Page 33: Android App 資安實務 過去 現在 未來2017/06/27  · APK Native Libraries (so) x86 armeabi v7a armeabi Drawables (.png, Jpg, xxhdpi hdpi Other Stuff (dex files, strings, assets)

這樣應該夠了吧?

Page 34: Android App 資安實務 過去 現在 未來2017/06/27  · APK Native Libraries (so) x86 armeabi v7a armeabi Drawables (.png, Jpg, xxhdpi hdpi Other Stuff (dex files, strings, assets)
Page 35: Android App 資安實務 過去 現在 未來2017/06/27  · APK Native Libraries (so) x86 armeabi v7a armeabi Drawables (.png, Jpg, xxhdpi hdpi Other Stuff (dex files, strings, assets)

future

1. sign app 安全防護

2.上架 app 安全防護

3. android N 之後的network security config

4. 2017 google io security 功能

Page 36: Android App 資安實務 過去 現在 未來2017/06/27  · APK Native Libraries (so) x86 armeabi v7a armeabi Drawables (.png, Jpg, xxhdpi hdpi Other Stuff (dex files, strings, assets)
Page 37: Android App 資安實務 過去 現在 未來2017/06/27  · APK Native Libraries (so) x86 armeabi v7a armeabi Drawables (.png, Jpg, xxhdpi hdpi Other Stuff (dex files, strings, assets)

gradle.properies

build.gradle

Page 38: Android App 資安實務 過去 現在 未來2017/06/27  · APK Native Libraries (so) x86 armeabi v7a armeabi Drawables (.png, Jpg, xxhdpi hdpi Other Stuff (dex files, strings, assets)

自動上架程式

p12 控管

應該只有特定的機器可以取得

CI/CD server

你的p12 權限是什麼

絕對不要設定成最大權限

調整成你需要的權限

Page 39: Android App 資安實務 過去 現在 未來2017/06/27  · APK Native Libraries (so) x86 armeabi v7a armeabi Drawables (.png, Jpg, xxhdpi hdpi Other Stuff (dex files, strings, assets)

network security config

Page 40: Android App 資安實務 過去 現在 未來2017/06/27  · APK Native Libraries (so) x86 armeabi v7a armeabi Drawables (.png, Jpg, xxhdpi hdpi Other Stuff (dex files, strings, assets)

Custom trust anchors: Customize which Certificate Authorities (CA) are trusted

for an app's secure connections. For example, trusting particular self-signed

certificates or restricting the set of public CAs that the app trusts.

Debug-only overrides: Safely debug secure connections in an app without

added risk to the installed base.

Cleartext traffic opt-out: Protect apps from accidental usage of cleartext traffic.

Certificate pinning: Restrict an app's secure connection to particular certificates.

Page 41: Android App 資安實務 過去 現在 未來2017/06/27  · APK Native Libraries (so) x86 armeabi v7a armeabi Drawables (.png, Jpg, xxhdpi hdpi Other Stuff (dex files, strings, assets)
Page 42: Android App 資安實務 過去 現在 未來2017/06/27  · APK Native Libraries (so) x86 armeabi v7a armeabi Drawables (.png, Jpg, xxhdpi hdpi Other Stuff (dex files, strings, assets)
Page 43: Android App 資安實務 過去 現在 未來2017/06/27  · APK Native Libraries (so) x86 armeabi v7a armeabi Drawables (.png, Jpg, xxhdpi hdpi Other Stuff (dex files, strings, assets)
Page 44: Android App 資安實務 過去 現在 未來2017/06/27  · APK Native Libraries (so) x86 armeabi v7a armeabi Drawables (.png, Jpg, xxhdpi hdpi Other Stuff (dex files, strings, assets)
Page 45: Android App 資安實務 過去 現在 未來2017/06/27  · APK Native Libraries (so) x86 armeabi v7a armeabi Drawables (.png, Jpg, xxhdpi hdpi Other Stuff (dex files, strings, assets)
Page 46: Android App 資安實務 過去 現在 未來2017/06/27  · APK Native Libraries (so) x86 armeabi v7a armeabi Drawables (.png, Jpg, xxhdpi hdpi Other Stuff (dex files, strings, assets)
Page 47: Android App 資安實務 過去 現在 未來2017/06/27  · APK Native Libraries (so) x86 armeabi v7a armeabi Drawables (.png, Jpg, xxhdpi hdpi Other Stuff (dex files, strings, assets)
Page 48: Android App 資安實務 過去 現在 未來2017/06/27  · APK Native Libraries (so) x86 armeabi v7a armeabi Drawables (.png, Jpg, xxhdpi hdpi Other Stuff (dex files, strings, assets)
Page 49: Android App 資安實務 過去 現在 未來2017/06/27  · APK Native Libraries (so) x86 armeabi v7a armeabi Drawables (.png, Jpg, xxhdpi hdpi Other Stuff (dex files, strings, assets)

last and the

most important

Page 50: Android App 資安實務 過去 現在 未來2017/06/27  · APK Native Libraries (so) x86 armeabi v7a armeabi Drawables (.png, Jpg, xxhdpi hdpi Other Stuff (dex files, strings, assets)

Summary

沒有絕對安全的處理方式

不管是dexguard & 各種加密演算法都只是增加破解難度而已

如果可以不要把重要資料存在local

如果可以不要把重要資料利用網路傳輸

如果要盡可能安全

可以偵測root device

root 就不能用

SafetyNet api

有問題的app 就不能執行

SafetyNet attestation

沒過CTS 就不能用

然後PM就會追殺你?