XcodeGhost

科技工作者之家 2020-11-17

Xcode Ghost,是一种手机病毒,主要通过非官方下载的 Xcode 传播,能够在开发过程中通过 CoreService 库文件进行感染,使编译出的 App 被注入第三方的代码,向指定网站上传用户数据。

也就是说,开发者下载的非官方途径的Xcode带有XcodeGhost 病毒。1之后在Unity与Cocos2d-x的非官方下载渠道程序上也发现了逻辑行为和XcodeGhost一致的同种病毒。

苹果手机病毒通过Xcode从源头注入病毒Xcode Ghost,是一种针对苹果应用开发工具Xcode的病毒。于2015年9月被发现。它的初始传播途径主要是通过非官方下载的 Xcode 传播,通过 CoreService 库文件进行感染。当应用开发者使用带毒的Xcode工作时,编译出的App 都将被注入病毒代码,从而产生众多带毒APP。

虽然Xcode官方下载渠道是在Mac App Store 里下载。但很多使用Mac笔记本的网友了解,Mac App Store 总是很难打开,导致有些着急程序员为了方便,直接使用国内的下载工具下载,因而也就下载到了带有XcodeGhost 病毒的Xcode。使用这类“带毒Xcode”制作、维护的应用则会跟着感染病毒。

苹果的应用商店AppStore无法检测出病毒,因为商店审核只能确定App调用了哪些系统API。于是带毒应用顺利进入苹果官方商店。而广大用户则通过苹果官方商店下载到了病毒应用。

用户在iOS设备上安装了被感染的APP后,设备在接入互联网时APP会回连恶意URL地址init.icloud-analysis.com,并向该URL上传敏感信息(如设备型号、iOS 版本)。回连的C&C服务器会根据获取到的设备信息下发控制指令,从而完全控制设备,可以在受控设备上执行打开网页、发送短信、拨打电话、打开设备上所安装的其他APP等操作。由于苹果应用商店是个相对封闭的生态系统,用户一般都会充分信任从应用商店下载的APP,因此此次事件的影响面和危害程度前所未有,有可能是苹果有史以来所面临的最严重的安全危机。

感染途径Xcode官方下载渠道是在Mac App Store 里下载,很多使用Mac笔记本的网友了解,Mac App Store 总是很难打开的样子。因此有些着急程序员为了方便,直接使用了国内的下载工具下载,因而也就下载到了带有XcodeGhost 病毒的Xcode。

XcodeGhost事件发展2015年9月12日,腾讯安全响应中心在跟进一个bug时发现有APP存在异常行为,开始检测。发现异常流量APP都是大公司的知名产品,也是都是从AppStore下载并具有官方的数字签名。

13日,腾讯知会中国国家互联网应急中心CNCERT。

14日,CNCERT发布预警,指出开发者使用非苹果公司官方渠道的Xcode工具开发苹果应用程序(苹果APP)时,会向正常的苹果APP中植入恶意代码。被植入恶意程序的苹果APP可以在App Store正常下载并安装使用。该恶意代码具有信息窃取行为,并具有进行恶意远程控制的功能。但当时该预警并没有广泛引起人们注意。

16日,腾讯安全响应中心称:「发现 App Store上的 TOP5000 应用有 76 款被感染,于是我们向苹果官方及大部分受影响的厂商同步了这一情况。」

17日,阿里移动安全发布分析报告,乌云网发布分析报告,纷纷指出Xcode编译器内有鬼。XcodeGhost事件在网上升温发酵,引爆中国iOS生态链的众多开发者。

18日,第一批受感染的APP陆续被曝光,当晚微博曝光第二份受感染APP名单。众多著名的公司官方应用,包括银行相关APP名列其中。

19日凌晨,自称XcodeGhost作者的人在微博发声明,称只是个人偶然发现并实行的实验项目,无威胁行为,并已在“十日前”关闭服务器删除数据。对此自辨,有业内人员表示可笑,算帐要达到这次事件庞大的数据收集,所需服务器租用费每月就起码50万美元,绝不可能是“苦逼iOS开发者个人一时兴起的实验”。

19日上午,苹果公司开始下架受感染的APP。

20日中午,CCTV新闻频道的《新闻直播间》节目用长达8分钟的视频报道了XcodeGhost病毒事件,尽管疑似XcodeGhost的作者在网上声称只是“个人的”、“无害的”、“兴趣实验”,但央视采访的一位技术专家称作者蓄谋已久,半年前就已开始收集苹果用户的信息。传闻已感染病毒的App已超过800款。

22日凌晨,病毒被证实还涉及其它平台与开发工具。百度安全实验室称发现Unity-4.X被感染的样本,只是上线域名变更。盘古团队宣布有证据证明一些游戏引擎的下载地址也被感染病毒,例如Unity 和cocos2dx, 并且这些引擎的安卓版也被感染病毒,相同的手段,相同的黑产团队。至此,安卓平台手机也难逃一劫。当晚人们还发现病毒制造者也曾发布过可疑Unity资源,并在Unity感染曝光后迅速删除了当初的发布贴,抹杀证据。

情况分析影响巨大该病毒波及众多产品,其中不乏大公司的知名应用,也有不少金融类应用,还有诸多民生类应用,保守估计影响人数就超过一亿。

虽然从病毒样本的分析看,泄露信息并没涉及“太多”的隐私问题,但值得注意的是,病毒拥有更多的权限。比如它们在iPhone/iPad上弹出钓鱼网站页面,可能骗取iCloud帐号密码,或者其他关键信息,由于至今用户于“苹果官方市场”的绝对信任,这种诈骗极易成功。病毒甚至还可以操作具备伪协议能力的大量第三方App,其恶性后果难以估量。

事件意味着苹果引以自豪的“封闭安全的AppStore”一样可能传播病毒。“苹果官方市场=安全市场”的神话已经破灭。

隐藏的恶意虽然疑似XcodeGhost的作者"codeFun"公开声称自己“无恶意”、“偶然”、“实验而已”,令渴望安全感的用户们有了自我安慰的借口,但很快被发现自己想得太美好了。

1、业界对其行为的追踪发现,在半年之前,就有人开始在大量的iOS开发论坛上散布Xcode的下载链接,甚至还有人入侵了某论坛版主的ID来修改下载链接,而这些下载链接全部指向了同一份网盘文件,如此大规模的甚至非法扩散的举动,“个人”、“做实验”的说法根本解释不通。

2、有网络工程师在微博上算了一笔账,这种对用户信息的收集,仅仅是使用海外服务器的成本每月就要四五十万美元。“这会只是一个苦×开发者的个人实验?”

3、业内分析认为,进行这种黑客行为对制造者的技术水平要求很高,绝非一般人能够所为,而且从其一系列行为来看,不大可能是一个人做出来的,应该是有一个团队在操盘,背后很可能是和黑产产业链有关系。

4、乌云知识库有人查到病毒作者codeFun在7月就曾发布过可疑Unity资源,并且在9月22日凌晨Unity也被感染的消息曝光后数小时内,迅速删除了7月发布的资源贴。可见Unity的感染也有此人(团队)手脚,而且曾故意且主动地散布过病毒。他(们)在19日的道歉文中甚至依然隐瞒着在Unity中的下毒行为。

发现他曾散布Unity可疑资源的网友惊呼:“他(们)竟然也一直没睡,大半夜里一直在看大家发微博观察动静?随后发现大家知道了Unity也中毒的事情,赶紧去把自己曾经投毒的帖子删了?”

远未结束在苹果手机平台上,虽然XcodeGhost曝露的服务器关闭了,但是受感染的App的行为还在,这些App依然孜孜不倦的向服务器发送着请求。这时候黑客只要使用DNS劫持或者污染技术,伪装相关服务器,就可以成功的控制这些受感染的App。

在安卓手机平台上,unity 4.6.4 – unity 5.1.1的开发工具都有可能被投毒。也就是说,除了iOS,安卓系统甚至是WP用户也都面临着同样的安全问题。而这只是被发现感染的一种开发工具,其它开发工具也笼罩在投毒的阴影中。

官方责任苹果官方可能不会承担任何责任,也不会有赔付。中国互联网协会研究中心秘书长胡钢则向南都记者介绍:“从法律来说,目前所有软硬件公司都会在协议中注明,如若发生潜在威胁,尽了通知的义务并及时采取补救措施,基本可不承担责任。”

虽然对比此前微软针对“冲击波”病毒事件,苹果方也许会有一部分的责任,同时也有义务对APP Store里的应用进行整合,包括设置Xcode在中国的服务器。但法律人士分析认为:“大多数软硬件公司,都会有协议表示,对潜在的、即发的意外情况,不承担任何责任。”

因此这场事故最可能的结局是苹果官方“冷处理”,随时间推移事件逐渐淡出人们视线。

解决办法对于iOS用户来说,首先不必太过慌张。XcodeGhost 病毒目前会上传产品自身的部分基本信息(安装时间,应用ID,应用名称,系统版本,语言,国家)等,不会涉及到个人信息。另外,感染制作者的服务器已关闭,已经不构成实质上的信息泄露。

需要警醒的是,之前已经有部分用户信息被发往了目标服务器,截至目前苹果官方并没有站出来给出解决方案,XcodeGhost病毒的“真凶”也没有抓到。对于普通用户来说,仍然需要多加小心。

XcodeGhost 病毒可以在未越狱的 iPhone 上伪造弹窗进行钓鱼攻击,其生成的对话窗口仿真度非常高,很难辨别,因此用户如果在之前输入过iTunes密码,那么一定要尽快进行修改。

手机中安装了受到影响的App的用户,如果是常用的应用,就暂停使用,等开发者发布新的版本更新后再使用;如果是不常用的应用,可以直接卸载。目前没有看到造成损失的案例,确实存在泄露个人关键信息的风险,还是建议用户修改一下手机中的重要密码。无论有没有安全事件,定期修改密码都是一个良好的习惯。

“作者致歉”2015年9月19日,自称XcodeGhost作者致歉。今日早间,有部分微博网友贴出了一个自称是XcodeGhost作者的致歉,声称是个“苦X程序员的”、“无害的”、“实验”,同时承认自己出于私心,在代码里加入了广告功能,并说自己在10天前,已主动关闭服务器,并删除所有数据。

这一声明未得到任何官方的验证,未表明此人就是XcodeGhost作者,更未证实作者是个人而非团队。

这轻描淡写的致歉被指出毫不可信。事后业界也大量发现了制作者蓄谋已久、恶意扩散的证据。尤其是幕后服务器资金每月高达几十万美元,绝不是一个人能承担的,更不可能是“一时兴起作个实险”。

身份锁定360团队对其行为的追踪发现,在半年之前,就有人开始在大量的iOS开发论坛上散布Xcode的下载链接,还有人入侵了某论坛版主的ID来修改下载链接,这些下载链接全部指向了同一份网盘文件,如此大规模的举动,做实验的说法根本解释不通。有网络工程师在微博上算了一笔账,这种对用户信息的收集,仅仅是使用海外服务器的成本每月就要四五十万美元。“这仅仅是个苦×开发者的个人实验?”

进行这种黑客行为对制造者的技术水平要求很高,绝非一般人能够所为,从其一系列行为来看,不大可能是一个人做出来的,应该是有一个团队在操盘,背后很可能是和黑产产业链有关系。

360公司表示,目前已经通过技术手段基本锁定了病毒制造者的身份,并且已经报警,正在配合警方进行调查。不过360相关人士表示,在警方结案前还不能公布关于病毒制造者身份的更多细节。在多个渠道获得的信息来看,病毒制造者并非一个人,其中一名主要成员曾是国内某名校的保送研究生,不过已经退学。2

敲响警钟这件事给程序员敲响了警钟:要安全,首先得保证自己的开发工具安全。程序员被黑客暗算的事曾经多次发生,无论如何,建议使用正版、未被非法篡改过的开发工具编写程序,避免用户成为受害者;其次,编译环境、发布环境的安全值得注意,编译服务器和自动发布服务器,应保持干净的环境,不要随意安装来源不明的可疑软件。

安全行业业内人士表示,这一次的事件给苹果在安全机制上敲响了警钟,让苹果注意到自身安全机制存在的漏洞,相信苹果会修补这次安全事件造成的影响,在安全审查上变得更加严格。2

本词条内容贡献者为:

宋春霖 - 副教授 - 江南大学

科技工作者之家

科技工作者之家APP是专注科技人才,知识分享与人才交流的服务平台。