移动应用App开发者都面临着如何进行盈利这项不可避免的问题,其中最常见的方法便是在应用中加入广告。广告联盟创建一个函数库,方便开发者将广告植入其中,以开始快速的赚钱。我们之前就强调安装这些使用了IAPs的应用十分危险,因为通常这些应用能够读取发送到用户手机上的所有短信。
当然并非所有基于IAP的SMS应用都会盗取用户的数据,但我们最近分析的Taomike SDK就会捕获短信并将副本发送到淘米客控制服务器。自8月1日起,Palo Alto Networks WildFire获得的数据表明超过18,000款安卓应用包含这个库。这些应用均不存在于Google Play应用商店,都是通过第三方应用商店在中国传播。
背景资料
WildFire捕获到的许多移动恶意软件样本都会拦截并上传短信,这些应用中大部分都是开发者在第三方托管商中设置了一个命令控制服务器,并且经常更新位置以躲避检测。
在这些恶意软件中我们发现很多是由“mobile monetization”公司创建的,这些应用通常都是欺骗用户点击弹出窗口进行安装,用户之后才从电话账单中发现猫腻,反病毒软件通常将此类App识别为恶意软件。但是本文所讲述的这款恶意软件有些不同,很难检测到它。
淘米客是一家中国公司,其目标是成为中国最大的移动广告解决方案平台。他们提供了一个SDK和服务帮助开发者展示丰富的广告内容,此前淘米客并没有相关的恶意行为,但最近的一次版本更新中增加了一项盗取短信的功能。在应用中嵌入库应该是合法的,并且有很重要的功能,但是开发者选择淘米客的SDK就将他们自己陷入了危险的境地。
技术细节
并非所有使用淘米客SDK的应用都会盗取用户短信,我们的分析表明仅有包含嵌入式URL的样本hxxp://112.126.69.51/2c.php才会有这个功能。这个URL就是上传短信的地址,并且这个IP地址属于Taomike API服务。在我们捕获的63,000 Android App中就有18,000个应用包含这个盗取短信的功能。
我们相信淘米客SDK肯定有许多版本,只有部分版本会上传用户的短信。基于我们的数据,盗取短信功能是2015年8月刚发布的新版本中才会有的功能,之前版本的SDK都不具有这项功能,所以使用老版本的用户是安全的。
这个淘米客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
风险及解决方案
自2015年8月至今,我们共捕获了大约18000份包含短信盗取library的样本,这也意味着受影响的用户量是有多庞大。随着更多的开发者更新最新版本的SDK,有影响的应用和用户数量会不断上升。
我们还不清楚淘米客盗取用户的短信是拿来做什么,但是一个library抓取短信并上传实非正途!在Android 4.4版本谷歌就已经开始阻止应用程序盗取短信了,除非默认该应用为短信程序。
中国以外的用户,只要从官方Google Play应用商店上下载应用就不会受到这类威胁。(freebuf)