【编者按】本文来自乌云漏洞平台@蒸米、@迅迪。
我们苹果设备上的APP都是由苹果Xcode开发工具所编写,但Xcode体积过于庞大,如果在苹果官方商店安装会非常缓慢,于是很多开发者会在网盘或迅雷下载。但这些非官方渠道的Xcode竟然暗藏杀机,利用开发者感染了企业上架的APP……
所以这次事件的逻辑是:
那么,现在已经发现被感染的APP有哪些呢?
0x00 目前发现的部分被感染APP
微博用户@图拉鼎 在本机上测试发现,已有10余个知名App中招:
微博用户@not_so_bad 发现,微信 v6.2.5版受影响,@腾讯用户服务 其微博下评论确认存在,并表示目前最新版微信已修复。
目前微博、推特上仍有网友发现有新应用存在问题。
0x01 序
事情的起因是@唐巧_boy在微博上发了一条微博说到:一个朋友告诉我他们通过在非官方渠道下载的 Xcode 编译出来的 app 被注入了第三方的代码,会向一个网站上传数据,目前已知两个知名的 App 被注入。
随后很多留言的小伙伴们纷纷表示中招,@谁敢乱说话表示:”还是不能相信迅雷,我是把官网上的下载URL复制到迅雷里下载的,还是中招了。我说一下:有问题的Xcode6.4.dmg的sha1是:a836d8fa0fce198e061b7b38b826178b44c053a8,官方正确的是:672e3dcb7727fc6db071e5a8528b70aa03900bb0,大家一定要校验。”另外还有一位小伙伴表示他是在百度网盘上下载的,也中招了。
0x01 样本分析
在@疯狗 @longye的帮助下,@JoeyBlue_ 为我们提供了病毒样本:CoreService库文件,因为用带这个库的Xcode编译出的app都会中毒,所以我们给这个样本起名为:XCodeGhost。CoreService是在”/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/Library/Frameworks/CoreServices.framework/”目录下发现的。
用ida打开,发现样本非常简单,只有少量函数。主要的功能就是先收集一些iPhone和app的基本信息,包括:时间,bundle id(包名),应用名称,系统版本,语言,国家等。如图所示:
随后会把这些信息上传到 init.icloud-analysis.com。如图所示:
并不是apple 的官方网站,而是病毒作者所申请的仿冒网站,用来收集数据信息的。
目前该网站的服务器已经关闭,用whois查询服务器信息也没有太多可以挖掘的地方。这说明病毒作者是个老手,并且非常小心,在代码和服务器上都没有留下什么痕迹,所以不排除以后还会继续做作案的可能。
0x03 思考&总结
虽然XCodeGhost并没有非常严重的恶意行为,但是这种病毒传播方式在iOS上还是首次。也许这只是病毒作者试试水而已,可能随后还会有更大的动作,请开发者务必要小心。
这个病毒让我想到了UNIX 之父 Ken Thompson 的图灵奖演讲 “Reflections of TRusting Trust”。他曾经假设可以实现了一个修改的 tcc,用它编译 su login 能产生后门,用修改的tcc编译“正版”的 tcc 代码也能够产生有着同样后门的 tcc。也就是不论 bootstrap (用 tcc 编译 tcc) 多少次,不论如何查看源码都无法发现后门,真是细思恐极啊。
0x04 后续
我们将持续跟进这次事件。不过在网上,其实还有很多令人思考的地方,在文末也顺带给大家摘抄一部分:
微博用户@Saic
Drops读者yoyokko
Drops读者小奥
Drops读者flz
Drops读者jijiji
为照顾用户体验,部分技术分析已做精简。欲了解更多细节以及开发者防范方案,可进入
乌云平台原文
查看。
原创文章,未经授权禁止转载。详情见
转载须知
。