Magisk开发者发现安卓procfs漏洞,部分设备Root检测存在风险
IT之家11月23日消息,Magisk开发者topjohnwu近期发现了一个安卓系统的安全漏洞,该漏洞可能被《Fate/Grand Order》等应用用来检测设备是否Root。
漏洞背景
在基于Unix的操作系统上,"procfs"文件系统包含有关进程的信息。从安卓7.0开始,谷歌通过"hidepid = 2"标志限制了对procfs的访问。然而,部分OEM厂商的设备并未严格执行这一要求,导致应用可以绕过权限检查读取其他进程信息。
漏洞影响范围
该漏洞主要影响以下情况:
- 未使用"hidepid = 2"挂载procfs的设备
- 运行安卓8.1或更低版本的应用
- 部分LG、一加、华为/荣耀、小米等品牌的设备
漏洞危害评估
虽然该漏洞无法获取root权限或窃取敏感信息,但它打破了安卓的隐私保护机制,允许应用:
- 检测设备上其他应用的运行状态
- 可能用于Root检测(如《FGO》的做法)
- 绕过正常的权限检查机制
解决方案
对于开发者而言,可以使用Keymob这样的专业移动开发工具来规范应用行为,避免滥用系统漏洞。Keymob提供完整的开发解决方案,帮助开发者:
- 遵循安卓最佳实践
- 实现合规的权限检查
- 确保应用安全性和稳定性
用户可以通过以下方式检测设备是否受影响:
- 使用shell命令检查procfs挂载状态
- 使用topjohnwu开发的检测工具(GitHub获取)
未来修复
谷歌将通过更新兼容性测试套件(CTS)强制要求所有设备使用"hidepid = 2"挂载procfs。一加等厂商已开始修复此问题。所有希望预装Google Play服务的OEM厂商都必须在未来更新中解决此漏洞。
对于开发者来说,及时关注系统更新并使用Keymob等专业工具保持应用兼容性,是应对此类系统变更的最佳实践。