小米MIUI系统漏洞致大量系统、软件和用户数据泄露及修复方法

所属分类: 网络安全 / 手机黑客 阅读数: 138
收藏 0 赞 0 分享
该漏洞的成功利用不需要任何条件。
通过该漏洞,任何应用软件可以获取下列信息:
- 硬件数据,包括:系统版本、系统编译信息、内存和CPU信息、电池信息、IMEI、基带版本、设备生产序号等
- 当前状态数据,包括:当前进程基本信息、所有进程的trace结果、分区挂载信息、路由表和ARP缓存表、运营商、当前系统服务状态、系统维护的Content Provider和Broadcast数据结构和权限管理信息、各软件运行时间
- 日志数据,包括:系统日志、系统事件日志、内核事件日志、内核消息、
- 软件数据,包括:已安装软件的包名、版本、签名证书、使用权限、安装时间、上次使用时间
- 用户敏感数据,包括:已连接的WiFi网络(MAC地址、SSID、类型、IP、DNS、网关、DHCP)、周围可用WiFi网络的SSID/BSSID和类型等;、Broadcast处理的历史记录(可以对用户行为做统计)、当前地理位置、历史地理位置、用户当前账户的用户名、用户数据同步账户的用户名和时间、软件使用情况统计数据
 

当前的MIUI系统存在两个问题:
1. 以普通shell权限可以运行/system/bin/bugreport程序,该程序用于搜集系统各类信息并输出
2. 安装了一个软件/system/app/Cit.apk,原用于出厂硬件测试用,该软件中,com.miui.cit.CitBroadcastReceiver组件存在permission re-delegation类型漏洞,通过利用该漏洞,可导致任何软件通过特定参数远程触发该接收器,触发该软件自动调用bugreport,并将结果保存在SD卡的特定目录/sdcard/MIUI/debug_log/下,如前所述,SD卡的文件可以被任意软件读写
上述两个问题中的任何一个都可以导致对本漏洞的利用。任何应用软件通过解析bugreport的输出结果,得到上述信息。
漏洞证明:三种利用方法:
1. adb shell进去,不提权,直接bugreport > /sdcard/dump.txt即可,如图所示:
 
 
 
2. 对应用软件,在源码中用Runtime.getRuntime().exec()函数执行bug report即可。获得输出结果有两种方法,一是上面所示的重定向,二是对返回的Process对象调用getOutputStream()方法。不具体演示了,我在小米的代码里有看到使用。
3. 对CitBroadcastReceiver的permission re-delegation攻击,代码片段如下:
Intent intent = new Intent();
intent.setAction("android.provider.Telephony.SECRET_CODE");
intent.setData(Uri.parse("android_secret_code://284"));
sendBroadcast(intent);
然后稍等十秒即可从SD卡的/sdcard/MIUI/debug_log/目录读到类似于bugreport-<date>-<time>.log的文件
 
可以读取到的部分数据如下:
IMEI
 
 
 
已安装软件信息
 
 
 
已安装软件的签名
 
 
 
用户账户
 
 
 
正在使用的和周边的WiFi网络信息
 
 
 
地理位置信息和历史记录
 

 
修复建议
1. 将bugreport的执行权限调为root
2. 删掉Cit.apk软件,或为其CitBroadcastReceiver接收器的调用加入静态或者动态的自定义权限检查代码
3. 考虑对bugreport输出结果进行加密,既然这个东西只有小米的工程师看,可以在设备上部署同一个公钥,私钥只有小米官方掌握就可以了
 
更多精彩内容其他人还在看

没有手机?不支持JAVA?也能使用QQ密保令牌

  腾讯公司在2009年5月7日上午9点推出全新的QQ安全中心,特别推出密保令牌服务。密保令牌是二代密保其中的一个密保手段,需要安装在手机上,可以显示6位动态密码。当您成功绑定密保令牌后,令牌将会出现在“统一安全验证”的选项中,您可以通过验证6位动态密码设
收藏 0 赞 0 分享

发布FetionAPI 中国移动飞信免费发短信API接口

  看中Google App Engine的稳定性、速度和没的话的质量!在GAE上做了一个Fetion发短信的接口。   飞信可以给好友免费发短信,更可以自己给自己发,不用我在介绍了吧?(不清楚飞信的,还没开通飞信的打客服10086问问)这个API基于cocobear的fetio
收藏 0 赞 0 分享

手机停机一样可以无限量免费上网

  手机停机一样可以无限量免费上网   现在向大家透露一个如何激活已停机卡的方法!?激活了以后就可以免费上网了。注:《本人动感地带的卡已测,通过》!   首先,准备一张已经欠费停机的卡。注意重点:《1、需要知道卡的密码。2、卡没有被注销。3、停机时间不超过
收藏 0 赞 0 分享

一个让别人拨打你手机时提示空号的简单方法

  在不想被别人烦又不好意思关机时,让别人打你手机时提示空号是一个不错的idea。下面给出一个能让你的手机随时变成空号方法,灰常简单~~有需要的朋友们可以记一记……   在待机状态下 输入**21*999999# 再按下拨号键~ OK 大功告成~!  
收藏 0 赞 0 分享

手机病毒的剖析与防治

  手机病毒是病毒的一个分支,虽然其存在只有短短数年,但在将来很可能会随着3G的推广而大量涌现。   病毒类型:手机病毒   病毒目的:破坏手机系统,狂发短信等   手机病毒的始作俑者   我用手机的时间很长了,大概在上世纪90年代中后期就开始了。那个时候还没有
收藏 0 赞 0 分享

新手机电池头三次充电12小时危险

  近年来手机爆炸致人死伤事件时有发生,这让手机电池的稳定性和安全性成为消费者关注的焦点。手机电池的爆炸都是由手机电池引起。如何选用一块安全可靠的电池,如何正确使用手机电池,降低事故发生呢?   在买手机或者换手机电池时,导购小姐都会再三嘱咐:头三次给手机
收藏 0 赞 0 分享

使座机呼叫转移的方法

  一、简介   当您出门在外时可将呼入您座机的电话转移到自己的手机或别的座机上确保电话不漏接。   二、设置   申请:*57*TN#;取消:#57#。 (TN代表您所要设定的电话号码或手机) 经本人测试电信和铁通座机均适合,因没有安装网通座机,所以本人没有亲自测试!
收藏 0 赞 0 分享

智能手机新手入门必读教程

  1。用智能手机工作室1.1版备份联系人、短信、通话记录等, 下载刷机相关文件(刷机工具, ROM, Radio, 格式化ExtROM工具Repart_DOC.exe), 同步软件ActiveSync要用最新版4.0以上的。   2。确认下载的ROM文件(nk.nbf)无误,
收藏 0 赞 0 分享

让手机炸弹不在神秘

下载一个手机炸弹软件 随便输入一个手机号码然后选择次数之类的 利用WSockExpert_Cn.exe监听手机炸弹 得出http://sms.98960.com/pages/user-newlogin.asp?number=13088170991 原来手机炸弹只不过是一个
收藏 0 赞 0 分享

三星Android(安卓)手机系统锁屏功能信息泄露风险的防范

安卓常见的九点锁屏模式.不小心会被泄露信息哦
收藏 0 赞 0 分享
查看更多