这几天,相信iOS开发者都频繁的被 XcodeGhost 刷屏了!互联网上相关的各种分析及猜测都层出不穷,事件愈演愈烈,涉事 App 名单也在不断增加,不乏知名App。

也许感受到了压力,今日凌晨,自称XcodeGhost的作者发布了致歉声明,声称XcodeGhost源于自己的试验,没有任何威胁性行为,并公开其源码。

然而,这真的只是一次试验么?试验性的东西至于始作俑者煞费苦心的到处上传,传播注入过的 Xcode 么?

作为一名程序猿,我们还是要保持良好的习惯,安全意识绝对不能少。开发工具一定要从官方渠道获取!当然大家会说,不是我不想,是网络环境太差啊!

在这里给大家插播一个福利:

腾讯 Bugly团队提供了一个镜像服务,提供各类开发工具和资源的下载(都是从官方渠道获得的),其中,也包括Xcode。大家可以通过阅读原文访问。

大家如果因为网络环境无法从官方渠道下载Xcode,可以试试用这个镜像服务。

XcodeGhost的Ghost到底在干什么

通过各种逆向分析及作者公布的源码中,我们看看这种“木马”到底具有什么样的能力:

1.上报信息

通过向域名为icloud-analysis.com的服务器上报包括APP版本、APP名称、本地语言、iOS版本、设备类型、国家码等信息。

如果只是上报信息的话,我等天朝人民早就习以为常了吧?基本可以忽略此类信息泄露。

2.下发指令

通过应答包可以下发指令,利用openUrl这个系统接口跳转,可以干的事包括跳转至其它App,打开指定网页,发短信,打电话等。

需要说明的是,除了利用Safari打开特定网页,其它行为的都会有用户确认环节,不会在用户无感知情况下就可以完成操作。

所以弹框内容一定要看啊!一定要看啊!一定要看啊!(重要的事情说三遍)

那么下发指令操作会带来哪些威胁呢?

譬如诱导用户安装企业证书签名的App,然后可以通过该App调用系统私有接口做更多的事情,例如前段时间曝光的 Hacking Team 的非越狱远程控制(RCS),基本可以接管你的iPhone了。

当然,在最新的iOS 9系统中,所有的企业证书签名应用都需要额外的证书信任操作环节,所以不会受到太大的威胁。

然而在低版本iOS系统中,如果突然弹框要求用户确认安装某应用,估计会有部分用户不假思索的点了确定,埋下了巨大的安全隐患。

目前注入App的恶意代码上报的服务器已经处于关闭状态,上述威胁都暂时不存在。然而一旦某天该服务器又打开了,那么受影响的App开发商完全掌控不了局面!!!

这也是该次事件最无奈的地方——开发商只能采取发公告抚慰用户情绪,发布新版本等措施修复漏洞,其它的无能为力啊。

那么看完热闹后,各位开发者有没有检查过自己安装的Xcode是否受到感染?

怎样检测XcodeGhost

检测Xcode是否受到感染的方法:

· 比较官网版本安装包和本地已安装版本安装包的SHA值

· 检查Xcode安装目录是否存在恶意代码的库文件

官网版本的Xcode目录结构的SDKs目录下没有Library目录,而XcodeGhost版本则有此目录并包含CoreService,其目录结构如下:/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/Library/Frameworks/CoreServices.framework/CoreService

如果发现存在受感染版本的Xcode,开发者需要立即采取如下措施:

· 删掉受感染的 Xcode

· 官方渠道(App Store,developer.apple.com)下载 Xcode ,需要注意的是,不要用迅雷等加速服务。

如果确认Xcode受到了感染,还是赶紧解决并编译新版本App进行更新吧。

最后的最后,好东西必须安利:

Bugly团队一直秉承专业严谨的研发流程,一直都坚持从官方渠道获取开发工具,且通过我们内部的持续集成服务(RDM)进行构建,所以完全没有受到此次事件的影响,大家可以安心的使用。

One More Thing!

现在紧急更新版本还是适配下iOS 9的新特性吧?

Bugly最新的iOS SDK已经支持iOS 9新特性: BitcodeApp Transport Security(ATS),赶紧用起来吧!

腾讯Bugly 最专业的质量跟踪平台

精神哥、小萝莉,为您定期分享应用崩溃解决方案

文章来源于腾讯云开发者社区,点击查看原文