安全通報2013-07-14:注意 Android Master Keys 弱點!

幾天前, Bluebox Security 宣布Android有一個安全弱點,可以讓駭客更改APK程式碼並跳過Android的憑證檢測. 這個弱點稱之為 Master Keys Vulnerability,Bluebox Security 將會在 Black Hat USA 2013 公布其技術細節.
(http://bluebox.com/corporate-blog/bluebox-uncovers-android-master-key/)

經過 AegisLab 的分析,部分 Sony 與 Samsung 的 Android 4.2 已經修正了這個弱點。接下來來看看其技術細節:

主要的關鍵在於 ZIP(APK)檔中重複的 classes.dex。在此ZIP檔中,有兩個 classes.dex 檔: 被修改過的(07-09-2013) 還有原始的(03-13-2013)。被修改過的 classes.dex 必須要放在原始的之前。

 

當要安裝 APK時,Android會檢查其憑證。主要的 function 是 ZipFile 的 mEntries struct。當讀取 ZIP 檔時, 系統會尋找 Zip Central Directory Entry. 以 Name 當成 index, 依序放置 LinkedHashMap 中:

 

當 index 發生 collision 時,LinkedHashMap 會回傳舊的值,並以新的值取代。
因此,檢驗憑證時會使用原始的 classes.dex

 

執行 APP 的關鍵步驟如下:

 

開啟一個 ZIP 檔

 

依照 ZIP ENTRY 的順序,找尋 ZIP 檔中的 DEX,找到後直接回傳。
因此,會執行修改後的 classes.dex

 

AegisLab Antivirus Free 與 Premium 都能偵測 Master Keys Vulnerability!

請隨時更新您的掃毒引擎與病毒特徵碼!
https://play.google.com/store/apps/details?id=com.aegislab.sd3prj.antivirus.free
https://play.google.com/store/apps/details?id=com.aegislab.sd3prj.premium

 

Analyzed by Ohoh and Rex

2 thoughts on “安全通報2013-07-14:注意 Android Master Keys 弱點!

  1. Pingback: Mars Defense cheat

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *

*