Android 4.4.2 安全USB调试绕过漏洞

在Android4.2.2-4.4.2上发现了一个新的漏洞,利用这个漏洞,攻击者可以绕过Android系统的安全USB调试从而获取adb解锁设备。漏洞信息如下:

系统 :Android

影响版本:Android4.2.2-4.4.2

作者:Henry Hoggard, MWR Labs (https://labs.mwrinfosecurity.com)

程度:中等

厂商:Google

厂商回应:已在Android 4.4.3进行修补

描述:

Android开发调试桥(全名:Android Developer Bridge,简称adb)是一款命令行工具,通过这个工具,用户可以与设备交互并进行调试。这款工具给予使用者权限去访问设备的很多领域,其中包括对设备上的app进行管理,获取设备的日志,获取设备的输入,获取设备的备份以及执行系统命令。在Android4.2.2中,Google使用了安全USB调试,用来防止恶意的主机连接设备的adb工具。在使用电脑连接设备的adb工具前,必须先进行授权才能实施连接。用户通过输入口令的方式来进行授权验证然后解锁设备。这个漏洞只能运用在允许adb调试的设备上。

影响:

如果设备的adb调试功能可用,攻击者拿到设备后就可以绕过Android系统上的安全USB调试保护。攻击者获取设备的adb工具后,可以做很多事情:

  • 安装或者卸载设备上的应用程序
  • 绕过锁屏的保护
  • 获取一个高权限的系统shell
  • 从设备中应用与设置中窃取数据

原因:

Adb连接到主机的确认对话框会在解屏时紧急拨号或者锁屏相机之前显示。这就给攻击者机会来认证他们的电脑并连接到abd工具。

临时解决方法:

如果你正在使用受此漏洞的Android版本,为了防止被攻击,你可以禁用设备上的USB调试。

解决方案:

Android 4.4.3 防止了授权对话框在紧急拨号与锁屏相机(解锁时)之前呈现。用户只能在锁屏阶段完成后对电脑进行授权认证。因此建议使用高强度的设备口令。

技术细节:

安全USB调试设计的目的在于:需要解锁设备的用户可以对新的adb主机进行认证授权。如果用户试图在Android设备锁屏状态时使用adb工具,那么系统将会抛出如下错误:

error: device unauthorized. Please check the confirmation dialog on your device

MWR实验室发现,通过导航打开紧急拨号或者锁屏相机时,输入以下命令可以触发USB调试的认证对话框。然后攻击者只需点击确认就可以获得系统的adb,无需输入口令。

获取adb之后,只需用下面的命令就可以绕过锁屏:

下面的图片展示了USB调试确认对话框在紧急拨号上呈现的效果:

1

详细流程:

日期        说明

26/02/2014  报告给Google

27/02/2014  Google开始处理

29/04/2014  Google 回应补丁已经完成

04/06/2014  Android 4.4.3 官方正式发布补丁

[via@mwrinfosecurity]