移动应用App开发者都面临着如何进行盈利这项不可避免的问题,其中最常见的方法便是在应用中加入广告。广告联盟创建一个函数库,方便开发者能够快速的将广告植入其应用之中。我们之前就强调了安装这些使用了IAPs的应用十分危险,因为通常这些应用能够读取发送到用户手机上的所有短信。
当然并非所有基于IAP的SMS应用都会盗取用户的数据,我们最近分析的Taomike SDK就会捕获短信并将副本发送到淘米客控制服务器,自8月1日起Palo Alto Networks WildFire获得的数据表明超过18,000款应用包含这个库。这些应用无一例外都不存在于Google Play应用商店,都是通过第三方应用商店在中国传播。
背景
WildFire捕获到的许多移动恶意软件样本都会拦截并上传短信,这些应用中大部分都是开发者在第三方托管空间设置了一个命令控制服务器,并且经常更新位置躲避检测。
在这些恶意软件中我们发现很多是由“mobile monetization”公司创建的,这些应用通常都是欺骗用户点击弹出窗口进行安装,用户之后才从电话账单中发现猫腻,反病毒软件通常将此类App识别为恶意软件。但是本文所讲述的这款恶意软件有些不同,很难检测到它。
淘米客是一家中国公司,其目标是成为中国最大的移动广告解决方案平台。他们提供了一个SDK和服务帮助开发者展示丰富的广告内容,此前淘米客并没有相关的恶意行为,但最近的一次更新中增加了一项盗取短信的功能。嵌入了这个库的App作者手可能是非常干净的,但是开发者选择淘米客的SDK就将他们自己陷入了危险的境地。
技术细节:盗取短信
并非所有使用淘米客SDK的应用都会盗取用户短信,我们的分析表明仅有包含嵌入式URL的样本hxxp://112.126.69.51/2c.php有这个功能。这个URL就是上传短信的地址,并且这个IP地址属于Taomike API服务。在我们捕获的63,000 Android App中就有18,000个应用包含这个盗取短信的功能。
我们相信淘米客SDK肯定有许多版本,有些版本中没有包含盗取短信功能也很正常。基于我们的数据,盗取短信这项功能是从8月份的版本开始加入的,所以之前的版本还是挺安全的。
这个淘米客library被称之为“zdtpay”,是Taomike’s IAP系统中的一个组件。
我们从manifest文件中看到这个库需要短信和网络权限,这个库同时还为SMS_RECEIVED和BOOT_COMPLETED注册了一个名为com.zdtpay.Rf2b接收器。
这个注册接收器Rf2b将会读取短信,如下图所示,它还收集消息内容和发送方手机号码。
如果设备刚重启,接着将启动MySd2e服务再次为Rf2b注册一个接收器
接收器收集到的短信保存到hashmap,然后上传到112.126.69.51
所有发送到手机的短信都会被上传,不仅仅是那些与Taomike相关的平台。下图显示了一个上传测试消息时抓取到的数据包,短消息已经用红色虚线标记出来“hey test msg”。
淘米客library还链接下面的URL,但仅有“2c.php”是用来盗取短信消息的,其他的路径都是库的一些其他功能。
http://112.126.69.51/2c.php http://112.126.69.51/imei_mobile.php http://112.126.69.51/install_report.php http://112.126.69.51/error.php http://112.126.69.51/rixian.php http://112.126.69.51/order_mo.php http://112.126.69.51/order.php http://112.126.69.51/order_status.php http://112.126.69.51/tdstatus.php
风险及解决方案
截至今年8月份,我们共捕获了大约18000份包含短信盗取library的样本,这也意味着受影响的用户量是有多庞大。我们预计这个数字随着更多的开发者更新,最新的淘米客library还会增加。
我们还不清楚淘米客盗取用户的短信是拿来做什么,但是一个library抓取短信并上传实非正途!在Android 4.4版本谷歌就阻止应用程序盗取短信了,除非默认该应用为短信程序。
中国以外的用户,从官方Google Play应用商店上下载应用不会受到这类威胁。
结论
即使十分流行的第三方广告联盟平台也不是太值得信任!开发者使用SDK时最好本着对用户负责任的态度看看是否有异常情况。
* 参考来源: paloalto ,编译/FB小编鸢尾,转载请注明来自FreeBuf黑客与极客(FreeBuf.COM)