Android 調試器爆漏洞,可獲取設備內存數據

mx3y 9年前發布 | 8K 次閱讀 Android

本月中旬,谷歌推出了針對查找安卓系統漏洞的“安卓安全獎勵”計劃,發現一次漏洞最少可獲500美元獎勵。不過半月,真的有人發現了安卓系統漏洞。 趨勢科技(Trend Micro)近日發現了存在于Android調試器Debuggerd中的漏洞,該漏洞可以獲取設備內存中的數據,包括Android 4.0 Ice Cream Sandwich(冰淇淋三明治)到Lollipop(棒棒糖)等系統均受到影響。

Android 調試器爆漏洞,可獲取設備內存數據

Android 調試器爆漏洞,可獲取設備內存數據

Debuggerd 是android的一個daemon進程,負責在進程異常出錯時,將進程的運行時信息dump出來供分析。Debuggerd生成的coredump數據 是以文本形式呈現,被保存在 /data/tombstone/ 目錄下,共可保存10個文件,當超過10個時,會覆蓋重寫最早生成的文件。從4.2版本開始,Debuggerd同時也是一個實用工具:可以在不中斷進程 執行的情況下打印當前進程的native堆棧。這可以協助分析進程執行行為,但最最有用的地方是:它可以非常簡單的定位到native進程中鎖死或錯誤邏 輯引起的死循環的代碼位置。

然而一個構造精巧的ELF(Executable and Linkable Format)文件可以導致調試器崩潰,然后通過tombstone文件和對應的logd日志文件暴露內存內容。此文件可用于拒絕服務攻擊,以及幫助繞過 ASLR執行惡意代碼。導致漏洞的原因是在執行字符串復制命令時,Debuggerd會使用sym->st_name作為offset,而不進行錯 誤檢查。這個值可以輕易被惡意的ELF文件控制,它可以將offset值指向不可讀取的內存,從而導致Debuggerd崩潰。如果反復崩潰就會造成拒絕 服務攻擊,也無法再連接Debuggerd了。如果精心構造offset就會使Debuggerd暴露相應的內存內容,Debuggerd會將它們存入 dump和log文件中。不過僅僅利用該漏洞是無法進行代碼執行的,而通過該漏洞暴漏的信息則可以和其他漏洞結合從而用于代碼執行。

該 漏洞可被惡意或重新打包的應用程序利用。不過因為不能直接通過代碼執行,能造成的影響會相對有限。目前受到漏洞影響的系統版本包括Android 4.0 (Ice Cream Sandwich)到Lollipop(5.x),而在最新版本Android M中該漏洞已經得到了修復。

據 悉,趨勢科技已經在今年4月27日向谷歌提交了漏洞報告,谷歌承認了該問題的存在,并將其判定為低等級漏洞。在今年5月15日的Android Open Source Project (AOSP,Android 開放源代碼項目) 大會上,谷歌更新了一個針對該漏洞的補丁。

稿源:雷鋒網

 本文由用戶 mx3y 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!