这几天,相信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新特性: Bitcode和App Transport Security(ATS),赶紧用起来吧!
腾讯Bugly 最专业的质量跟踪平台
精神哥、小萝莉,为您定期分享应用崩溃解决方案