iOS 大危机,XcodeGhost 病毒入侵多款大牌应用
在我们的印象中,苹果出品的 Mac 和 iOS 设备一向以安全著称,反倒是用户范围广得多的 Windows 设备和 Android 设备在安全问题上被诟病颇多。但是这种固有印象如今已经面临了诸多挑战,Mac 之前已经局部崩溃,这一次 iOS 设备则面临了非常严峻的危机。
危机来自第三方 Xcode 工具
国内多个厂商的大牌应用使用了第三方途径下载的 Xcode 开发工具(非 Apple 正规途径),用了这个“李鬼开发工具”编译出来的 App 被注入了第三方的代码,会向一个网站(http://init.icloud-analysis.com)上传用户数据,这个网站是病毒作者用来收集用户数据的,而这个潜在了极大危害的病毒名叫 XcodeGhost。
Xcode 是运行在操作系统 Mac OS X 上的集成开发工具(IDE),由苹果公司开发,是开发 OS X 和 iOS 应用程序的最快捷最普遍的方式。
根据安全网站 Wooyun 的披露,即使把苹果官网上的下载 URL 复制到迅雷里下载,最终下载到的还是一个有毒的第三方 Xcode 开发工具,同理,另外从百度网盘上下载的 Xcode 编译器也中招了,目前来看,除了从苹果官方直接下载之外,任何第三方来源,甚至第三方下载渠道的 Xcode 工具都不能保证安全。
虽然 XCodeGhost 并没有非常严重的恶意行为,但是这种病毒传播方式在 iOS 上还是首次。也许这只是病毒作者试试水而已,可能随后还会有更大的动作,请开发者务必要小心。这个病毒让我想到了 UNIX 之父 Ken Thompson 的图灵奖演讲 “Reflections of Trusting Trust”。他曾经假设可以实现了一个修改的 tcc,用它编译 su login 能产生后门,用修改的 tcc 编译 “正版” 的 tcc 代码也能够产生有着同样后门的 tcc。也就是不论 bootstrap (用 tcc 编译 tcc) 多少次,不论如何查看源码都无法发现后门,真是细思恐极啊。
并且,在后续的追踪中,发现 http://init.icloud-analysis.com 这个网站的服务器已经关闭,也挖掘不到太多信息,目前也还找不到这个老道病毒作者的痕迹。
也有网友举证说,有网名为”coderfun”的投毒者在各种 iOS 开发者论坛或者微博下留言放下载地址引诱 iOS 开发者下载有毒版本的 Xcode。并且中毒的版本不止 Xcode 6.4,还有 6.1,6.2 和 6.3 等等。
哪些应用中招了?
不废话,直接列表:
- 网易云音乐
- 滴滴出行
- 12306
- 中国联通手机营业厅
- 高德地图
- 简书
- 豌豆荚的开眼
- 网易公开课
- 下厨房
- 51 卡保险箱
- 同花顺
- 中信银行动卡空间
这是 iOS 开发者图拉鼎自己测试的结果,上述是目前已经确定的名单,按照这个态势,后续中招的 iOS 应用极有可能(实际上应该是一定会)继续扩大。并且这个名单中还有很多金融股票相关的,潜在危害难以估量。
在 XcodeGhost 病毒被曝光后,被确认中招的网易云音乐马上发布公告:
“这次感染设计信息皆为产品的系统信息,无法调取和泄露用户的个人信息。目前感染制作者的服务器已经关闭,不会再产生任何威胁。”
但是事实真的如此吗?
实际危害在哪里?
一开始的时候,关注此事的 iOS 开发者表示这个事情的危害并不大,在隐私问题多多的现今,这种程度的泄露算不得什么。但是!在仔细查看研究之后,这些人收回了前面的言论。
四叶新媒体联合创始人,微博用户 Saic 称:
“拿文件看了一下,这个木马劫持了所有系统的弹窗(例如 IAP 支付),然后向目标服务器发送了加密数据,目前还不知怎么解密发出去的请求。”
比方说,在中毒的应用 中进行一次 IAP(In-App Purchase,智能移动终端应用程序付费的模式)内购,比如网易云音乐中的 Taylor Swift 音乐包,此时输入的密码或者 Touch ID 后,就有加密数据发往目标服务器,现在不清楚加密信息是什么。因此,下载了中招应用的用户的密码都存在着泄露的危险。
所以,网易云音乐公告所说的“目前感染制作者的服务器已经关闭,不会再产生任何威胁”没有错,但是,之前已经有许多信息被发往了目标服务器了,网易等中招应用甩锅的话,不能无视这一致命的前提。
开发者和用户该怎么做
iOS 开发者周楷雯告诉爱范儿,作为开发者,首先检校自己的 Xcode 开发工具是否中招,一切从第三方网站或者下载工具下载的 Xcode 都要删除,包括通过用官方地址通过迅雷来下载的,立即使用直接从官方 App Store 下载的最新版 Xcode 也是必须要动作。iOS 开发者图拉鼎在微博上还称,有条件的公司应该在今天开始专门设置一台有专人管理的 Build Server,所有发布至 App Store 的 App 只能从该台电脑 Build 并发布,以防止未来此类事件的再现。
至于用户,目前能做的除了祈祷自己不要泄露敏感信息之外,第一时间做的肯定还是修改各种在 iOS 设备上使用过的密码,尤其是 iCloud 密码,并且开启两步验证,构筑密码之外的防火墙。