0x00 漏洞背景
11月22日,Magisk作者topjohnwu发表文章,提到他在研究Fate/Grand Order手游的root检测机制时发现了存在于数百万台android设备上的漏洞,利用该漏洞会泄漏系统上的进程信息。
0x01 漏洞影响
根据XDA论坛上的信息,受影响和不受影响的设备如下:
制造商
设备
android版本
是否受该漏洞影响
Asus
ZenFone 5Z
Android 8.0 Oreo
Yes
BlackBerry
KEY2
Android 8.0 Oreo
No
Essential
PH-1
Android 9 Pie
No
Google
Pixel 2
Android 9 Pie
No
Google
Pixel 3
Android 9 Pie
No
Google
Pixel 3 XL
Android 9 Pie
No
Honor
Magic 2
Android 9 Pie
Yes
HTC
U12+
Android 8.0 Oreo
Yes
Huawei
Mate 20 X
Android 9 Pie
Yes
LG
G7 ThinQ
Android 8.0 Oreo
Yes
LG
V40 ThinQ
Android 8.1 Oreo
Yes
Motorola
Moto G4
Android 8.1 Oreo
No
Nokia
7.1
Android 8.1 Oreo
No
OnePlus
6
Android 8.1 Oreo/Android 9 Pie
Yes
OnePlus
6T
Android 9 Pie
Yes
Razer
Phone 2
Android 8.1 Oreo
Yes
Samsung
Galaxy Note 8
Android 8.0 Oreo
No
Samsung
Galaxy Note 9
Android 8.1 Oreo/Android 9 Pie
No
Samsung
Galaxy S7
Android 8.0 Oreo
No
Samsung
Galaxy S8
Android 8.0 Oreo
No
Samsung
Galaxy S9
Android 9 Pie
No
Samsung
Galaxy S9+ (Exynos)
Android 8.0 Oreo
Yes
Sony
Xperia XZ1
Android 9 Pie
No
Xiaomi
Mi Mix 2S
Android 9 Pie
Yes
Xiaomi
POCO F1
Android 8.1 Oreo
Yes
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 参考链接
From Anime Game to Android System Security Vulnerability
How an Anime Game’s Root Detection led to the discovery of a Security Vulnerability in phones from LG, OnePlus, Huawei, Xiaomi, and others
文章原文链接:https://www.anquanke.com/post/id/166475