Android平台漏洞挖掘与利用

标签: 业界观察 | 发表时间:2015-10-31 20:09 | 作者:techug
出处:http://www.vaikan.com

由于Android平台特殊的生态,每一个Android设备中存在着Google、手机开发商、芯片厂商等多种来源的软件。每个软件模块没有统一的安全审计制度和测试流程,导致质量良莠不齐,对于安全研究者乃至于恶意攻击者来说,一直是一个比较好的目标。

从安全的角度考虑, Android平台利用Linux的uid特性把权限做了很好的区隔,使得在App层级,权限比较受限,一方面阻隔了许多恶意软件可能造成的破坏,另一方面也限缩了用户能够掌控自己设备的能力。例如,卸除用不到的预装软件、清理、加速、杀毒这类的功能,在Android平台上因为权限的关系,都不容易进行。

为了因应用户强烈的需求,Rooting App工具软件诞生了。Rooting App利用各种系统漏洞帮用户提升权限,也让Android漏洞在近年来被大量挖掘,利用的手法也不断演进,同时也促使厂商更注重Android平台的安全性。

在Android平台上,最底层也是各种权限控制的中枢是Linux内核。Linux内核主体是社群维护的操作系统,也包含了Google、手机厂商、芯片厂商的各种扩展。其中,手机厂商与芯片供货商提供的设备驱动这一部分,一直以来都存在许多安全漏洞。例如,2012年底开始出现mmap类的漏洞利用,第三方软件可以轻易地修改内核数据甚至代码来提权。Samsung平台上的CVE-2012-6422漏洞,算是其中大家比较熟知的。

注:mmap是一个用来映像内存空间的系统调用,常用于从内核暴露一段地址空间让用户态可以更有效率的进行内存读写。

除了mmap类的漏洞外,用户态与驱动数据交换导致的任意地址写漏洞也在2013年开始大量被发现。例如Qualcomm平台上的copy_from_user类漏洞CVE-2013-6123,第三方软件可以用伪造的数据与摄像头驱动做交互,进而修改任意地址的内容。

注:copy_from_user是一个Linux内核中的应用程序接口,用于从用户态拷贝数据到内核态。例如,应用程序设定内核驱动中的某个变量,常会用到这个接口。

提到Android漏洞,当然不得不提2013年出现的通用型漏洞。CVE-2013-6282算是最早被用在Rooting App中的通用型漏洞,它是一个内核层级的应用程序接口调用缺少必要的参数检查,导致攻击者可以透过一个简单的系统调用做到任意地址写。搭配Linux内核的信息泄露设计疏失,使得利用这个漏洞做提权的工具几乎可以横扫当时所有的Android设备。

其他包括CVE-2014-3153,以及CVE-2015-3636,都算是存在Linux内核操作系统的漏洞,可以适用于大部份Android设备。其中,近期发现的CVE-2015-3636是一个关于内存分配与释放的逻辑错误,是一种比较难被发现而且利用门坎较高的漏洞类型,特征不如前面两个类型明显,需要对于代码逻辑有较深的理解才能挖到漏洞。而漏洞利用时需要的合适攻击目标也比较难定位,这一部分只能依靠平时积累经验以及多充实工具库,如此一来,当漏洞出现时能尽快找到合适的武器。

除了权限中枢Linux内核以外,对于拥有较高权限的进程也是被关注的目标,例如mediaserver这样的进程,由于需要处理多种媒体文件格式,使用了大量第三方应用库,也同时引入了很多安全漏洞。其中,Stagefright的一系列问题在2015年8月开始大量被披露,其攻击手段就是利用第三方应用库处理较复杂的媒体文件格式时,没考虑到的边界情况导致溢出,进而控制mediaserver。由于这些媒体文件可以以MMS的形式传递到手机,对Android手机用户是一个很大的威胁。

相较于media权限,以system权限执行的system_server更是攻击者觊觎的一个目标,CVE-2014-7911就是通过第三方软件准备的数据使得system_server进程执行任意代码,获取system权限后,更多的攻击目标会被暴露在外,例如使用Qualcomm一系列芯片的手机上存在的CVE-2014-4322漏洞,在正常的情况下,第三方软件是无法与其相关的驱动做交互。然而,利用CVE-2014-7911提升到system权限后,CVE-2014-4322相关的设备文件就能被打开,进而造成有效的攻击。

只要人类继续写代码,漏洞无可避免地会被持续制造出来,并且被挖掘与利用。一方面,开发和测试人员应该关注的是如何有效地审计代码,在用户使用之前找出可能的漏洞。另一方面,假设漏洞必然存在,厂商应该与安全研究人员积极的合作,更快速地修补漏洞。然而,由于漏洞修补的实时性存在很多不可控的因素,如何使用更底层的保护机制避免漏洞被有效地利用,将会是手机厂商与芯片厂商需要投入研究的方向。

相关 [android 平台 漏洞] 推荐:

Android平台漏洞挖掘与利用

- - 外刊IT评论
由于Android平台特殊的生态,每一个Android设备中存在着Google、手机开发商、芯片厂商等多种来源的软件. 每个软件模块没有统一的安全审计制度和测试流程,导致质量良莠不齐,对于安全研究者乃至于恶意攻击者来说,一直是一个比较好的目标. 从安全的角度考虑, Android平台利用Linux的uid特性把权限做了很好的区隔,使得在App层级,权限比较受限,一方面阻隔了许多恶意软件可能造成的破坏,另一方面也限缩了用户能够掌控自己设备的能力.

Android平台遗弃史

- fyits0 - Solidot
Google上周宣布了Android 4.0 Ice Cream Sandwich和Galaxy Nexus. 对第一代Nexus One用户来说,坏消息是他们的手机不能升级到ICS. 然而相比其它Android用户,他们则要幸运得多. Michael Degusta制作了一幅示意图,显示大部分Android手机运行的系统都较陈旧,远落后于最新版本,而且一到二年之后就不再有官方更新了.

Android漏洞影响99%设备 谷歌提供补丁程序

- - TechWeb 今日焦点 RSS阅读
  新浪科技讯 北京时间7月9日晚间消息,国外媒体周一报道称,谷歌已经开发出了移动网络安全公司Bluebox Security所发现的重大Android漏洞的补丁程序,并已将其提供给OEM厂商.   Bluebox Security上周四表示,在Android操作系统中发现重大安全漏洞. 该漏洞允许黑客将当前99%的应用转变为特洛伊木马程序,可能影响到99%的Android设备.

Android WebView 漏洞的利用、局限与终结

- - WooYun知识库
WebView.addJavascriptInterface方法导致的远程代码执行漏洞由来已久,与其相关的CVE有三个( CVE-2012-6636、 CVE-2013-4710、 CVE-2014-1939). 从乌云上暴露的 相关漏洞来看,常见的利用方法就是通过反射获得java.lang.Runtime的实例,然后执行一系列shell命令,从而达到读取联系人、发短信、读写SD卡文件、反弹shell、安装APK等目的,可以参考livers的文章 WebView中接口隐患与手机挂马利用.

你不知道的 Android WebView 使用漏洞

- - CSDN博客推荐文章
现在很多App里都内置了Web网页(Hyprid App),比如说很多电商平台,淘宝、京东、聚划算等等,如下图. Android的WebView 实现的,但是 WebView 使用过程中存在许多漏洞,容易造成用户数据泄露等等危险,而很多人往往会忽视这个问题. Android WebView的使用漏洞 及其修复方式.

android WebView详解,常见漏洞详解和安全源码

- - CSDN博客推荐文章
  这篇博客主要来介绍 WebView 的相关使用方法,常见的几个漏洞,开发中可能遇到的坑和最后解决相应漏洞的源码,以及针对该源码的解析.   转载请注明出处: http://blog.csdn.net/self_study/article/details/54928371.   对技术感兴趣的同鞋加群 544645972 一起交流.

Android Binder漏洞挖掘技术与案例分享

- - 美团点评技术团队
本文由作者根据其在KCon 2016黑客大会上的演讲内容整理而成. 演讲稿链接: Binder fuzzing based on drozer. 文章开始,先来看几个我在工作生活中发现的Android漏洞. 其中包括Android系统锁屏密码绕过(影响了所有安全补丁在2016年10月份以前的Android 6.0、6.0.1、7.0系统)、三星手机关机窃听、三星手机越权修改主题、系统拒绝服务漏洞.

红十字会捐款查询平台,结果漏洞百出

- GaRY - 天朝娱乐 | 每天开心一下!
感谢 不明真相的群众 投递给天朝娱乐. 李连杰捐款三笔总额不超过1000,葛优只捐了一元,成龙捐六次每次1毛,周润发捐款1分钱;甚至玉树还没地震就有人捐款……各种无语…….

金融行业平台常见安全漏洞与防御

- - FreeBuf.COM | 关注黑客与极客
‍‍ 互联网金融是这两年来在金融界的新兴名词,也是互联网行业一个重要的分支,但互联网金融不是互联网和金融业的简单结合,而是在实现安全、移动等网络技术水平上,被用户熟悉接受后,适应新的需求而产生的新模式及新业务,目前除了常见的网上银行、第三方支付,这两年很多的民间融资贷款平台也逐步兴起,像P2P网贷、众筹等.

Android 4.0平台交互简析

- Shark - 互联网的那点事
Android4.0继承了3.0的设计多任务、丰富的通知、可定制的主界面、可调整大小的控件、用于交互和分享的互动性元素. 应用程序的结构日趋成熟,几乎没有发生变化,看看系统主要界面是如何体现其设计目标:简洁、美观和更为智能. 从解锁界面可以看出,4.0使用视觉化元素引导用户进行简单直观的手势操作,精致的动画和反馈增加了系统的互动参与感和趣味性,全新的字体提高了高分辨率界面的可读性,显得更为优雅和现代.