0x00 漏洞背景

11月22日,Magisk作者topjohnwu发表文章,提到他在研究Fate/Grand Order手游的root检测机制时发现了存在于数百万台android设备上的漏洞,利用该漏洞会泄漏系统上的进程信息。除了Samsung等少数厂商以外,大部分国产厂商的设备都受到影响。

0x01 漏洞影响

根据XDA论坛上的信息,受影响和不受影响的设备如下:

制造商设备android版本是否受该漏洞影响
AsusZenFone 5ZAndroid 8.0 OreoYes
BlackBerryKEY2Android 8.0 OreoNo
EssentialPH-1Android 9 PieNo
GooglePixel 2Android 9 PieNo
GooglePixel 3Android 9 PieNo
GooglePixel 3 XLAndroid 9 PieNo
HonorMagic 2Android 9 PieYes
HTCU12+Android 8.0 OreoYes
HuaweiMate 20 XAndroid 9 PieYes
LGG7 ThinQAndroid 8.0 OreoYes
LGV40 ThinQAndroid 8.1 OreoYes
MotorolaMoto G4Android 8.1 OreoNo
Nokia7.1Android 8.1 OreoNo
OnePlus6Android 8.1 Oreo/Android 9 PieYes
OnePlus6TAndroid 9 PieYes
RazerPhone 2Android 8.1 OreoYes
SamsungGalaxy Note 8Android 8.0 OreoNo
SamsungGalaxy Note 9Android 8.1 Oreo/Android 9 PieNo
SamsungGalaxy S7Android 8.0 OreoNo
SamsungGalaxy S8Android 8.0 OreoNo
SamsungGalaxy S9Android 9 PieNo
SamsungGalaxy S9+ (Exynos)Android 8.0 OreoYes
SonyXperia XZ1Android 9 PieNo
XiaomiMi Mix 2SAndroid 9 PieYes
XiaomiPOCO F1Android 8.1 OreoYes

0x03 漏洞分析

在linux系统中可以通过/proc文件系统访问到许多内核的内部信息。linux内核3.2以上增加了hidepid选项,该选项定义了一个用户可以查看到多少其它用户的信息。

hidepid=0:可以访问/proc/PID/下的所有文件

hidepid=1:如cmdline, io, sched*, status, wchan这样的敏感文件不允许他人访问

hidepid=2:在hidepid=1的基础之上/proc/PID/下的所有文件不允许他人访问

从android7.0开始,在挂载/proc时hidepid=2就应该被设置为2。在android9.0中SELinux得到了增强,如果APP编译时的目标API为API 28(Android 9.0),那么即使没有设置hidepid=2一个进程也不能够获取其它进程的信息。然而现在很多APP编译时的目标API还低于API 28(Android 9.0)。

在最新的一加6T手机上可以看到并没有设置hidepid=2。

ps -A可以看到其它的进程。

0x03 缓解措施

目前一加等OEM厂商已经得知了此问题,在系统更新发布之前,用户可以到 https://github.com/topjohnwu/ProcGate/releases 下载安装topjohnwu编写的检测工具,如果存在该漏洞屏幕上会显示其它进程的cmdline。

如果具有root权限用户可以选择使用该APP运行“mount -o remount,hidepid=2,gid=3009 /proc”命令重新挂载/proc来修复该问题。存在漏洞但是没有root权限暂时不能修复的用户也不必过于担心,该漏洞的危害较为有限,仅能泄漏一些其它进程信息,不能通过该漏洞获取root权限或者用户密码等敏感数据。

0x04 时间线

2018-11-22 topjohnwu披露漏洞

2018-11-23 360CERT发布预警

0x04 参考链接

  1. From Anime Game to Android System Security Vulnerability
  2. How an Anime Game’s Root Detection led to the discovery of a Security Vulnerability in phones from LG, OnePlus, Huawei, Xiaomi, and others

声明:本文来自360CERT,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。