首页 > 技术 > 安全技术 > 正文

手机攻击解密──你不知道的漏洞威胁

2016-11-14 14:33:06来源:智能电子集成

[摘要] 为了支持不同的手机不同的芯片,需要进行驱动编写给用户提供相同的接口,导致厂商驱动的安全性比Android内核本身的安全性差,厂商驱动为Android系统带来了新的攻击面新的漏洞。

  长亭科技安全研究实验室的实习生于晨升稍早前在第二届中国互联网安全领袖峰会上,详细说明了黑客会如何利用未公开漏洞ROOT掉一款最新款的流行手机。于晨升从Android系统架构解析开始,解释了手机的漏洞是如何被攻击,以及该如何防范。
 
  于晨升指出,Android系统架构主要分为四层,即是:Application层、Framework层、Library层以及Kernel层。手机的自带应用在Application层,这一层从安装到运行其权限最低。Framework层主要为Application层的应用提供系统服务,随后在安卓程序运行时,需要第三层Library层的支持,通过此层引入运行时所依赖的动态库。
 
  Kernel层为系统内核层。特别是在Android系统第四层内核层中包含许多厂商相关的驱动,例如显卡、相机、触摸屏的驱动等。于晨升表示,为了支持不同的手机不同的芯片,需要进行驱动编写给用户提供相同的接口,导致厂商驱动的安全性比Android内核本身的安全性差,厂商驱动为Android系统带来了新的攻击面新的漏洞。因此,寻找手机漏洞,可以从这个层面出发。
 
漏洞分析
 
  于晨升分享了CVE-2015-0569,CVE-2015-0570, CVE-2015-0571三个已知漏洞的利用思路和过程。他表示,这三个漏洞由slipper在2015年的GeekPwn上公开,存在于高通WLAN驱动中的栈溢出与堆溢出漏洞,漏洞由于在进行内存拷贝之前未检验拷贝长度,导致缓冲区溢出。随后高通第一时间修补了漏洞,在内存拷贝操作之前进行了检查,同时在调用对应的代码块之前进行了权限检查(CAP_NET_ADMIN)。
 
  至于如何从发现漏洞到利用漏洞,再获得手机root权限呢?于晨升解释说,触发漏洞后,就能够达到的任意内核地址写0效果。从0开始的地址无法申请,写函数指针写0无法实现,所以需要提升条件,写0但是不把所有的指针写为0只是更改高位的,然后对地址进行操作。无KASLR,覆写固定地址的指针高位是可行的。有时改写函数值是不可行的,因为多数ARM64架构的手机上PXN是打开的,不能直接申请一段用户态内存让内核去执行shellcode。那么此时该如何利用呢?
 
  为了解决以上问题,于晨升在链表头数组inetsw中寻找到了突破口:
 

\
 
  inetsw是linux内核用于维护socket创建时所需要的信息的双向链表,inet_register_protosw时,将特定类型的socket信息加入到链表中, inet_create时遍历链表寻找对应信息。包含proto, ops等结构的指针,这些结构中又含有许多的函数指针。
 
  因此,如果在无PAN的条件下,覆写inetsw中某一个next指针的高位,在用户态伪造数据结构,可创建一个完全被控制的socket,最终达到如下效果:
 

\
 
  如图所示,可以看到PC指针形成了一个特殊的指令,此时可以控制PC指令了。
 
  那么,控制PC之后如何进一步利用呢?此时无法执行用户态代码,只能利用内核态代码。我们注意到ioctl中r0, r1, r2寄存器可以控制,于是可以利用以下gadget达到任意地址读写:
 
0x000000000021b598 : str w1, [x2] ; ret
0x00000000001e246c : ldr x0, [x2] ; add w0, w0, #1 ; ret
 
  通过任意地址读写,利用init_task可以找到当前进程的task_struct(或者利用泄露sp的gadget,通过thread_info找到task_struct,更稳定)。找到task_struct之后即可修改cred,将uid等改为0即可。同时patch掉selinux_enforcing,关掉selinux、mount -o rw,remount /system即可关掉/system分区写保护。在实际利用中,发现mtk设备的内核代码是可写的。在关闭selinux之后,某处的assert会失败,可以利用上面的特性patch掉assert的代码。或者通过修改修改当前进程的sid,将其selinux的context修改为u:r:init:0。实际测试中,我们会发现u:r:init:0进程启动/system/bin/sh后权限会降为u:r:init_shell:0。(本文来自长亭科技公开发布文件)
 
 
0
[责任编辑:Joy Teng]

《安防知识网》一个服务号 二个订阅号 微信服务全面升级

不得转载声明: 凡文章来源标明“安防知识网”的文章著作权均为本站所有,禁止转载,除非取得了著作权人的书面同意且注明出处。违者本网保留追究相关法律责任的权利。

无人机漏洞上了央视315,大疆回应:不是事儿

无人机漏洞上了央视315,大疆回应:不是事儿

大疆无人机相信有关注的网友都知道,作为无人机市场的第一巨头,大疆无人机还是非常令人放心的,不过在昨晚的央视315晚会上,也被曝光大疆创新的无人机产品存在漏洞,对于央视曝光的问题,大疆创新及时发布官方声明,在声明长文中表示,其实央视曝光的无人机安全漏洞确实存在,不过早在数月前大疆创新发现漏洞后就已经通过固件升级的方式将这一潜在安全漏洞解决,与央视主持人所说的“安全漏洞都已经提交给了相关厂家且都已经进行了修补”的说法是一致的。
方案案例调研报告

注册会员免费申请杂志
及下载本站所有案例调研报告

立即免费注册