Android Exploiting Apps vulnerable to Janus (CVE-2017–13156)的解決方法

參考文章

最近在處理App弱點掃描相關的問題,所以寫文記錄一下,這個問題簡單來說就是Android apk的最早簽名機制(v1)有瑕疵,所以有心人可以把一個apk加料後丟出來給使用者下載而不被發現,但這個前提是不透過Google Play下載或安裝apk的使用者才會遇到這個問題,但資安很多時候其實就是高標準的自我要求嘛,所以可以處理就盡量處理囉!

仔細研究這個問題的時後發現,我以就知道這個問題而且很久以前就啟用v2的簽名機制(現在似乎已經是預設機制了),為什麼還是被掃出問題呢?

原來v2這個簽名機制是Android 7.0(API 24)時才修補的比較完整,如果向下相容其他版本(例如:5.0)在產出安裝檔(apk or aab)時也會包含v1版本的簽名機制,而在Android 7.0(API 24)前的修補並不是那麼完整,甚至到8.0也還會先採用v1版本的簽名機制讓這個問題影響從5.0~8.0,所以解決方式就是在gradle中將最小支援版本改成Android 7.0(API 24),在產出安裝檔時也不會再使用v1版本的簽名機制了。

最後希望你帶走知識的同時,也能留下一兩句的心得與我們分享或是幫我們分享到FB

留言