AOSP源码编译

一、AOSP简介

  • Android是一个针对多种不同设备类型打造的开放源代码软件堆栈。Android 的主要目的是为运营商、OEM 和开发者打造一个开放的软件平台,使他们能够将创新理念变为现实,并推出能够卓有成效地改善用户移动体验的真实产品。
  • Android平台的设计可确保不存在一个集中瓶颈,即没有任何行业参与者可一手限制或控制其他参与者的创新。这样,我们不但可以打造功能完善的高品质消费类产品,而且可以完全开放源代码,供第三方自由定制和移植。
  • 简单点说,AOSP就是Android系统的开源版本,其中不包括各家OEM厂商的闭源驱动,也不包括GMS等,也就是俗称的“原生”系统。
继续阅读“AOSP源码编译”

CVE-2020-0108 Android 前台服务特权提升漏洞分析

一、漏洞背景

  • 在AOSP的2020-08补丁中,披露了一个框架层AMS中的漏洞,编号为CVE-2020-0108,评级为High。AMS中对前台服务的处理中逻辑漏洞,成功利用该漏洞的攻击者可以绕过前台服务的通知显示并持续在后台运行。攻击需要由本地的恶意应用发起,不需要用户交互,如果用户授予了应用其它权限,可造成更大的危害,例如在持续追踪位置或静默录音等。
继续阅读“CVE-2020-0108 Android 前台服务特权提升漏洞分析”

Android gdb调试原生代码

一、前言

  • 之前的文章介绍了Android 动态调试so文件,在最近的工作中,又使用gdb无源码调试了原生代码的进程,这里记录一下。
  • Google对使用gdb调试Android原生代码也有说明,不过在其中使用了Google自己编写的一个gdbclient.py脚本,这种方法Google说的已经比较清晰了,可以自己去看。我们这里着重介绍在没有源代码的情况下(例如OEM开发的原生代码)直接使用gdb进行调试的方法。
继续阅读“Android gdb调试原生代码”

CVE-2020-0069 MediaTek-SU提权漏洞分析

一、漏洞背景

  • Google在2020-03的Android安全公告中,指出了一个联发科芯片手机中的严重安全漏洞,成功利用此漏洞的攻击者可以取得设备的root权限。由于取得了极高的权限,所以攻击者可以进一步实施其它的恶意行为,并且用户毫不知情。漏洞被命名为MediaTek-SU,并以CVE-2020-0069来跟踪。
  • 值得注意的是,XDA-Developers在其报告中写到,早在2019年4月,他们就已经知晓了此事。
继续阅读“CVE-2020-0069 MediaTek-SU提权漏洞分析”

Android BadBluetooth和CVE-2019-2225

一、漏洞背景

  • 由于Android对蓝牙配置文件(Profile)的管理不完善以及对蓝牙连接显示的缺陷,攻击者可以构造一个配对能力为JustWorks、I/O能力为NoInputNoOutput的恶意蓝牙设备,并且伪造多种蓝牙配置文件,结合一个无需特权的恶意应用程序,就可以使受害者的手机连接到一个攻击者构造的恶意蓝牙设备上,从而实现操作通话、屏幕截图、网络流量代理等恶意操作,甚至可以直接进行权限提升。
  • 原作者是来自于香港中文大学的Fenghao Xu,对该类型的攻击起名为BadBluetooth,因为它和BadUSB的原理有些类似。目前Google已经在AOSP的2019-12补丁中正式修复该漏洞,并且以CVE-2019-2225来跟踪,漏洞级别为High。
继续阅读“Android BadBluetooth和CVE-2019-2225”