-
-
[分享]关于近期Android系统的任意构造短信漏洞
-
发表于:
2012-11-7 12:31
16087
-
[分享]关于近期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] 69bK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6h3y4K6j5#2)9J5k6h3&6U0M7%4g2Q4x3X3g2W2k6s2g2Q4x3V1k6X3j5h3y4#2L8s2c8&6i4K6u0r3K9X3W2S2L8X3N6Q4x3V1k6K6L8h3W2K6K9r3W2F1k6#2)9J5k6h3S2@1L8h3H3`.
[2] 2e0K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6h3y4K6k6r3&6Q4x3X3g2F1k6i4c8Q4x3V1k6S2M7Y4c8A6j5$3I4W2i4K6u0r3x3U0l9I4x3W2)9J5k6o6p5I4i4K6u0V1x3o6k6Q4x3V1j5J5z5o6p5I4y4e0M7$3i4K6u0V1b7h3&6V1M7X3!0A6k6q4)9J5k6r3u0#2k6H3`.`.
[3] bd5K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6i4W2G2N6i4c8#2j5X3g2Q4x3X3g2U0L8$3#2Q4x3V1k6%4j5i4c8U0K9q4)9K6c8Y4k6Q4x3@1c8Y4e0s2g2B7j5h3j5H3h3e0c8Q4x3X3c8m8
[4] 212K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6@1K9r3!0E0j5i4y4U0j5h3&6F1L8$3&6Q4x3V1k6S2L8X3c8J5L8$3W2V1i4K6u0V1M7$3#2K6i4K6u0V1M7%4m8G2L8$3j5`.
[5] eb4K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8X3#2Q4x3X3g2V1N6h3u0S2i4K6u0W2j5$3!0E0i4K6u0r3L8X3g2%4M7#2)9J5k6r3y4G2L8Y4c8W2L8Y4c8Q4x3V1k6F1k6i4N6K6x3e0t1I4x3e0l9$3i4K6u0W2K9s2c8E0
[培训]科锐逆向工程师培训第53期2025年7月8日开班!