背景

Android安卓是Google为手机和移动设备开发的开源操作系统。据统计,全球有超过20亿设备运行安卓操作系统。大多数的安卓设备都受限于必须从Google play应用商店下载应用程序。在安卓 8之前,通过在系统设置中进行设置既可授予APP从其他源安装应用的能力。在安卓8中,这一机制被修改了,用户必须授予每个想要执行安装的应用程序对应的权限。如下所示:

一些安卓设备支持近场通信(Near Field Communication,简称NFC),NFC是允许设备在短距离进行通信的一组协议。NFC用于非接触支持、设备配对、访问控制这样的应用。安卓设备还支持NFC用于设备之间的数据传输,比如通讯录、照片和通过Android Beam的应用。

漏洞详情

安卓8中引入了有个新的特征,该特征要求用户可选从其他源安装app。但研究人员发现由Google签名的系统应用都会自动加入白名单,并不会向用户请求权限。在标准的安卓操作系统设备上,NFC服务就是这样的具有安装其他应用权限的系统应用。也就是说,启用了NFC和Android Beam的安卓手机,接触恶意手机或恶意NFC支持信道可能允许攻击者绕过安装未知来源app弹窗来安装恶意软件。

在含有NFC功能的手机上,运行安卓8及更高版本系统,在设置中,搜索安装未知app来找出权限。查看app可以在下拉菜单中选择显示系统。可以看到默认情况下,NFC服务是在允许安装应用的列表中的。如下所示:

漏洞复现

可以通过以下步骤来复现利用漏洞安装恶意软件的过程:

1. 用NFC和Android beam来设置2部手机;

2. 在发送者手机上下载APK文件;

3. 在发送者手机的文件管理器中,点击文件选择分享(share)。然后选择Android Beam分享方法;

4. 将2部手机放在一起,完成文件传输;

5. 完成以上步骤后,在接收者手机上,点击Beam completed通知,点击文件。就可以跳过安装弹窗,绕过安装未知app检查。

研究人员在Android 9 和Android 8.10版本上进行了测试。

厂商响应

该漏洞只影响Android 8 (Oreo)及更高版本。Google将该漏洞评为高危,并在本月发布了安全补丁。厂商建议用户尽快更新设备来缓解该漏洞。

相关文章