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

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


ec296a5ab3960243854dfac4dc8531a6df5cfa24


ff5366f83a7e12671676dfaa800f4914de908ec9

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]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值