-
-
[分享]关于近期Android系统的任意构造短信漏洞
-
发表于:
2012-11-7 12:31
15942
-
[分享]关于近期Android系统的任意构造短信漏洞
已经有好几个朋友来询问详细情况。我将自己知道并且可以公开的内容做一个总结。
1. 漏洞的基本情况
北卡罗莱纳州立大学蒋旭宪教授领导的团队日前发文称Android系统所有版本中存在安全漏洞[1],任何应用软件不需要任何权限(包括不需要读写短信的权限),都可以在系统中伪造任意号码发来的任何内容的短信或彩信,从而可能引发进一步的钓鱼攻击。Google已经确认了这一漏洞的存在。
产生漏洞的主要原因是,系统预装的短信程序中,下列服务被暴露(设置为了android:export="true"):
com.android.mms.transaction.SmsReceiverService
任何第三方软件可以通过名为android.provider.Telephony.SMS_RECEIVED的action,加上自己构造的短信或彩信来调用它,触发系统的短信接收流程。
2. 漏洞的demo和PoC
蒋教授的团队在Youtube公布了一份漏洞演示视频[3]。
一份可用的PoC代码已经被公布在github上[4]。
3. 漏洞的修补
3.1 修改系统
理论上,对此类不当暴露、且需要被其他应用调用的组件,可以通过自定义signature级别的权限,并在组件申明中添加相应的权限要求,即可保证安全。考虑到这次是系统预装软件的组件发生暴露,也可以使用signatureOrSystem级别的权限。
Google目前尚未发布官方的修复代码和升级补丁。
3.2 检查intent调用
目前的第三方解决方案主要以金山手机毒霸为代表,其在新闻中称可以检测和拦截对这个漏洞的利用,并对恶意构造的短信进行有效拦截[5]。他们没有公布技术实现的细节,个人猜测是检查了对这一组件发起的所有intent的来源。
(本文只介绍情况,不是软文)
3.3 移除组件
如果将出现漏洞的预装软件mms.apk卸载,亦可去除这一漏洞。可以使用第三方的独立短信收发软件来替代它。但我并不建议普通用户这么做,一是不能确保对系统稳定性不造成影响,二是第三方短信软件是否也存在类似的漏洞还需要检查。
参考文献:
[1] http://www.csc.ncsu.edu/faculty/jiang/smishing.html
[2] http://www.csdn.net/article/2012-11-06/2811576-Android-bug
[3] http://www.youtube.com/watch?v=gLujaf0Y4-A
[4] https://github.com/thomascannon/android-sms-spoof
[5] http://m.duba.com/news-content/news121106.htm
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)