作者:[email protected],[email protected],[email protected]
0x00 FireEye报告
iOS被XcodeGhost血洗一把之后,Android又被WormHole暴揍一顿。正当大家打算歇一歇的时候,FireEye的Zhaofeng等人又发表了一篇报告叫《iBackDoor: High-Risk Code Hits iOS Apps》。报告中指出FireEye的研究员发现了疑似”后门”行为的广告库mobiSage在上千个app中,并且这些app都是在苹果官方App Store上架的应用。通过服务端的控制,这些广告库可以做到:
- 录音和截屏
- 上传GPS信息
- 增删改查app数据
- 读写app的钥匙链
- 发送数据到服务器
- 利用URL schemes打开其他app或者网页
- 安装企业应用
FireEye的研究员一共在App Store上发现了2,846个app包含具有“后门”特征的mobiSage广告库。并且这些广告库会不断的向服务器端发送请求,并获取执行指令的JavaScript脚本。FireEye的研究员还发现mobiSage广告库一共有17 不同的版本从5.3.3到6.4.4。然而在最新的mobiSage SDK 7.0.5版本中已经将这些”后门”特征删掉了。
0x01 iOS样本 - iBackDoor分析
看到FireEye的报告后,我们第一时间拿到了iOS上的app样本进行分析(注:在我们分析时,该样本还没有下架)。在广告库的类MSageCoreUIManagerPlugin中,我们的确发现了报告中所提到的各种控制功能。其中包括非常高危的获取录音、截屏功能以及读取修改字符串的函数。
根据反编译的代码可以看到,iBackDoor在获取到服务器命令后会启动录音功能并将录音保存为audio_[编号].wav,并且可以通过sendHttpUpload函数将文件发送到服务器上。
iBackDoor还可以截取当前屏幕的内容,反编译代码如下:
iBackDoor还可以读取keychain的数据,也就是iOS上的app用来保存密码信息的容器:
一个广告sdk,为什么需要录音,截屏和读取密码等功能呢?的确非常可疑。
除此之外,iBackDoor还可以根据服务器的指令调用任意的URL Schemes,也就是说XcodeGhost可以干的事情(打开钓鱼网页,安装企业应用等)iBackDoor也都可以干。比如如下是安装企业应用的反编译代码:
0x02 数据流量分析
通过分析反汇编代码我们发现中了iBackDoor的app会根据本地的msageJS脚本执行相应的指令。除此之外,iBackDoor还会发送post请求到entry.adsage.com去检查更新,如果有新的JS命令脚本就会到mws.adsage.com下载。
于是我们分析了一下entry.adsage.com和mws.adsage.com的DNS解析和流量数据:
根据DNS解析趋势,可以看到每天请求的数据并没有太大的浮动。但有意思的是,在对流量的分析中,除了adv-ios-*-min.zip外我们还发现了很多机器对adv-android-*-min.zip的下载请求。难道除了iOS的app,android上的app也难逃魔爪?
并且这个请求的数量还不小,在我们有限的监测流量中,光九月份就有4亿多次对adsage.com的数据发送。并且,最近半年内至少有超过50000次对更新脚本adv-ios-*-min.zip或adv-android-*-min.zip的下载请求。
0x03 Android样本 - DroidBackDoor分析
上文讲到了我们除了iOS的payload还发现了Android的payload,我们把这个payload下载下来一看,发现原来就是个动态加载的dex文件。这个dex文件包含了非常多的高危代码,我们把它称为DroidBackDoor。DroidBackDoor除了广告sdk都会做的获取手机各种信息,下载和安装任意apk外,还可以获取用户的坐标、打开任意网页、打电话、发短信等。
收集用户的imei,root信息,地理位置,wifi信息等几十种信息:
获取用户坐标的反汇编代码:
打开任意网页的反汇编代码:
打电话的反汇编代码:
发短信的反汇编代码:
我们将提取的mobisage的特征去后台数据库查询,发现Android上也有超过2000款的app使用了mobisage的sdk。
0x04 网站分析
通过相关域名网站(http://www.adsage.cn/index.html),可以知道这家公司的名字叫艾德思奇,并且有很多知名的合作伙伴和案列。我们建议所有使用了这个SDK的厂商应立刻检查自己产品中是否被插入了高危风险的代码,以免被苹果下架。
0x05 总结
虽然这次”后门”SDK同时影响了iOS和Android,但根据我们的数据分析结果发现影响力是远远不及XcodeGhost和WormHole的。所以用户不用太过担心,在受影响的app下架之前尽量不要安装不知名应用,并记得及时更新自己的app。
0x06 参考资料
- https://www.fireeye.com/blog/threat-research/2015/11/ibackdoor_high-risk.html
DNS解析趋势和流量分析怎么做的, 有公网监听?
我说呀,你这分析的不到位呀,DroidBackDoor你原文说
“DroidBackDoor除了广告sdk都会做的获取手机各种信息,下载和安装任意apk外,还可以获取用户的坐标、打开任意网页、打电话、发短信等”
这个,“用户的坐标、打开任意网页、打电话、发短信”等这个也是广告sdk里的内容好不。。
而且你说这是BackDoor,那么他的远程指令接收部分在哪?
这些发短信等等的功能是怎么触发的,,
你报告中,一样没说,只是把他功能代码罗列出来了,,
分析的不到位,下结论过早
@蒸米 图片中的/mobisage/sdk/v6/20150420/adv-android-1.8.5.1-min.zip下载的只有JS文件,能否告知下恶意dex文件的下载链接呢?感兴趣,想看看
图片中的/mobisage/sdk/v6/20150420/adv-android-1.8.5.1-min.zip下载的只有JS文件,能否告知下恶意dex文件的下载链接呢?感兴趣,想看看
国外新闻报道,那批中了iBackDoor的APP已经全部下架了。。。按苹果的标准就是属于恶意软件。
"FireEye的研究员还发现mobiSage广告库一共有17 不同的版本从5.3.3到6.4.4。然而在最新的mobiSage SDK 7.0.5版本中已经将这些”后门”特征删掉了。"如果是广告sdk正常功能,为什么最新版又把这些"后门"特征删掉了呢?心里有鬼么?
@www 后头带个呵呵,呵呵。
建议作者看看微信公众号实现机制吧。这样的话腾讯系也全系下架了。
不要崇洋媚外,做事前自己想一想,不要别人说什么就做什么。
那安卓下几乎没有可以上架的应用了。ios只是一家公司的标准,呵呵。
国外FireEye公司的标题就是"iBackDoor: High-Risk Code Hits iOS Apps" 并且在文中明确使用了backdoor这个词。这几天他们已经将有问题的app报给了苹果,让我们看看苹果会不会下架这些app吧。如果下架的话,按苹果的标准就是侵犯隐私,这就没好什么说的了,除非你家的app不上AppStore,呵呵。
是否是后门确实要打引号,因为后门本身就很难定性,有待商榷。但关于是否是恶意sdk,详细看看FireEye的报告和Apple的处理措施以及对就知道了,呵呵。
很高兴国内已经开始越来越关注安全、隐私方面的问题!
对本文的一些见解:
1、关于后门,我专门百度了一下:后门程序一般是指那些绕过安全性控制而获取对程序或系统访问权的程序方法。IOS、安卓都有自己的安全机制,明显代码中所指的“恶意”、“高风险”操作都是需要用户同意的,不要以为苹果、谷歌很弱。。集成SDK时候也明确指明了所需权限及理由。再说也无法通过此方法获取超出安全限度的操作。
2、关于隐私,这个是个敏感话题,不乏有恶意收集者,借用Lookalike的思想“我们只知道您的画像,但却不会探究您现实中具体是谁”,如果不涉及通讯录、短信等类似记录,只是做定向投放标识,个人认为是良性的。关于侵犯隐私,最好可以能找到其利用数据“做恶”、“恶意收集”的证据,而不是直接定性。
3、关于严谨,我觉得乌云平台应该加入审核制度。避免不懂装懂、哗众取宠。注意文章用词,不要直接定性。
4、类似于这种具有行业性质的文章,建议发布前了解下行业知识,而不是说出“一个广告sdk,为什么需要录音,截屏和读取密码等功能呢?”等无知话语。
5、建议少配图,多看看书。以免丢了东家的面子。
这就是我不用android的原因,随便收集个人隐私还当成习以为常的事情。这些sdk厂商真够要脸的。。。
android用户早就被强暴惯了。。。已经觉得自己的隐私不算回事了。。。要知道iOS上连获取imei都会被下架的好么。。。在android上不要觉得大家都这么干就是对的!要尊重用户的隐私!
在政府的纵容下,个人隐私在中国已经成为了一堆狗屁。
ios的咱们不懂,但硬拼凑上个安卓的,就有点牵强了。是不懂还是哗众取宠?做为技术人员这么弄合适嘛?
如果想哗众取宠,那就别搞这些截图,直接搞个新闻稿去忽悠大众更好。
哗众取宠!阿里妈妈的吹鼓手而已!
所有的功能都是调用苹果公开的api!打电话、发短信都是要用户确认的,这是广告形式决定的!
一个广告sdk,为什么需要录音,截屏和读取密码等功能呢?的确非常可疑。
录音是使用麦克风,是一种语音互动的广告形式.(使用麦克风同样需要用户同意)
截屏是为了验证广告的正确展示
keychain是共享的存储区域,你们的密码不加密吗!
阿里都拿来主义?
我就呵呵了,哪个平台不获取位置呢?不获取位置能精准定投吗?安卓这些操作都是申请了权限了。不打开任意网页怎么展示广告?发短信打电话也是调用系统界面有问题吗?麻烦研究下各种跨平台技术再来评测吧这些是为了更好的用户体验,谁也阻挡不了技术的进步。你也可以直接用你说的反汇编下载各个平台的sdk直接看,所有你看到的这些不良行为广告sdk本身就有,动态下载逻辑并不表示什么。
个人认为安卓的几个截图有些牵强,应用都拉起来了,不算啥恶意行为 从onJsPrompt开始分析获取的隐私数据可能能勉强给他定性吧 但从广告和安卓特性的角度看,这一切又貌似又很正常
holly
我勒个去
@猪猪侠 猪大大说的极是~
我们team第一次和蒸米团队合作
还是我的诺基亚安全,算了,我还是回火星去吧
闲时收来急时用,平时想收不好碰。
一犹豫一徘徊,用时想收收不来。
闲时收来急时用,平时想收不好碰。一犹豫就一徘徊,用时想收收不来。大多数厂商也不知道收集用户数据拿来干嘛,只是看到BAT3都在收集,就顺便收了,反正以后能有用。
神配图