Android 调试器爆漏洞,可获取设备内存数据

oschina
 oschina
发布于 2015年06月30日
收藏 4

本月中旬,谷歌推出了针对查找安卓系统漏洞的“安卓安全奖励”计划,发现一次漏洞最少可获500美元奖励。不过半月,真的有人发现了安卓系统漏洞。趋势科技(Trend Micro)近日发现了存在于Android调试器Debuggerd中的漏洞,该漏洞可以获取设备内存中的数据,包括Android 4.0 Ice Cream Sandwich(冰淇淋三明治)到Lollipop(棒棒糖)等系统均受到影响。

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 开放源代码项目) 大会上,谷歌更新了一个针对该漏洞的补丁。

稿源:雷锋网

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 开源中国社区 [http://www.oschina.net]
本文标题:Android 调试器爆漏洞,可获取设备内存数据
加载中

最新评论(7

JenkinZhou
JenkinZhou
Debuggerd 正常的手机是不会有这个漏洞的吧? 有些人看文章总是看半截,真是饱学啊!
非仙

引用来自“老刘__”的评论

Linux超大漏洞,用gdb可以查看到任意进程的内存,还可以篡改各种值。
暴露的是Debuggerd的内存。。。。。。。。
御坂0x3de2
御坂0x3de2

引用来自“老刘__”的评论

Linux超大漏洞,用gdb可以查看到任意进程的内存,还可以篡改各种值。
GDB可以无视权限随便debug进程?
HelloWorldMAX
HelloWorldMAX
然并卵
yuncliu
yuncliu
Linux超大漏洞,用gdb可以查看到任意进程的内存,还可以篡改各种值。
白色超人
白色超人
这也行,我还以为这个漏洞是正常的数据显示,这也是漏洞?
FlashCHen
FlashCHen
然并卵
返回顶部
顶部