小米安全中心APP漏洞分析
字数 1153 2025-08-22 22:47:30
小米安全中心APP漏洞分析教学文档
漏洞概述
本漏洞存在于小米手机预装的安全中心应用(Guard Provider, com.miui.guardprovider)中,该应用负责检测恶意软件、保护用户手机安全。研究人员发现由于网络流量不安全,攻击者可发起中间人攻击(MiTM),通过第三方SDK更新机制关闭恶意软件保护并注入恶意代码。
漏洞影响
- 攻击者可窃取用户数据
- 可植入勒索软件、追踪软件
- 可安装任意恶意软件
- 影响所有预装该应用的小米主流手机
漏洞原理
应用架构分析
安全中心APP预装三种反病毒引擎供用户选择:
- Avast
- AVL
- 腾讯
这些SDK共享应用环境和权限,存在以下安全隐患:
- 一个SDK的问题可能破坏其他SDK的保护
- SDK间私有存储数据无法隔离
攻击步骤详解
第一阶段:Avast更新拦截
-
默认情况下APP会定期通过HTTP下载Avast病毒数据库更新:
http://au.ff.avast.sec.miui.com/android/avast-android-vps-v4-release.apk保存路径为:
/data/data/com.miui.guardprovider/app_dex/vps_update_<timestamp>.apk -
攻击者通过MITM:
- 拦截Avast更新流量
- 记录APK文件名格式(如vps_update_20190205-124933.apk)
- 通过404错误阻止后续Avast更新
第二阶段:利用AVL路径遍历漏洞
-
当用户切换默认引擎为AVL时,AVL会请求配置文件:
http://update.avlyun.sec.miui.com/avl_antiy/miuistd/siglib/20180704.cj.conf -
攻击者通过MITM修改.conf文件:
- 设置
is_new=0表示有新更新 - 提供伪造ZIP文件的URL
- 设置
-
利用AVL SDK的解压缩路径遍历漏洞:
- 在伪造ZIP中包含恶意APK
- 使用
../../app_dex/vps_update_20190205-124933.apk路径覆盖之前记录的Avast更新文件
第三阶段:触发恶意代码执行
- 恢复Avast通信,拦截AVL通信
- 等待用户重新选择Avast为默认引擎
- Avast SDK加载并执行被覆盖的恶意APK
- 更新签名在加载时不验证
- 恶意代码获得执行权限
漏洞修复建议
- 对所有网络通信使用HTTPS加密
- 修复AVL SDK的路径遍历漏洞
- 对加载的更新文件进行运行时签名验证
- 实现SDK间的安全隔离机制
- 加强预装应用的安全审计
教学要点总结
- 中间人攻击风险:不安全的HTTP通信是漏洞根源
- SDK共享环境风险:多个SDK共享环境会放大单个漏洞的影响
- 路径遍历漏洞:解压缩时未正确处理路径导致任意文件写入
- 更新机制缺陷:更新文件加载时缺乏二次验证
- 组合攻击:利用多个SDK的交互实现复杂攻击链
实验复现建议(仅供教学研究)
-
环境准备:
- 受影响版本的小米手机
- 中间人攻击工具(如Burp Suite)
- 网络环境控制能力
-
复现步骤:
- 配置MITM代理
- 监控Avast更新流量
- 构造恶意.conf和ZIP文件
- 观察文件覆盖和代码执行情况
注意:此漏洞已由小米修复,本教学文档仅用于安全研究教育目的。