转载

XCode编译器里有鬼 –51CTO剖析“苹果APP中毒事件”

一款隐藏在XCode编译器里的病毒为刚刚推送的iOS9庆生。

苹果中毒已经不是第一次了,但去百度“苹果会中病毒吗?”这个问题,绝大多数的答案是:不越狱根本不会。的确去年流行一时的WireLurker也才感染了30万用户,对于国内数以千万计的苹果用户拉说不值一提。这次,情况严重了许多。

9月17日上午,微博用户@JoeyBlue_ 曝光称,有开发者用了非官方渠道下载的Xcode编译出来的应用被注入了第三方的代码,会向一个网站上传数据。

51CTO记者第一时间通过乌云知识库作者蒸米了解到:对注入的病毒样本“XcodeGhost“进行分析,确认了上述说法。经分析,该病毒会收集应用和系统的基本信息,包括时间、bundle id(包名)、应用名称、系统版本、语言、国家等,并上传到init.icloud-analysis.com(该域名为病毒作者申请,用于收集数据信息)。

随后,18日上午,硅谷安全公司Palo Alto跟踪事件后发现国内知名应用网易云音乐中招,当前App Store上架的网易云音乐最新版v2.8.3已经感染病毒,会将手机隐私信息上传至病毒作者的服务器上(Palo Alto还发现存在更多收集数据的域名)。

问题在于一款APP从开发到上线进入用户手机,当中存在众多环节,那么这款隐藏于XCode编译器里的病毒是如何通过一道道审查的呢?

畅通无阻的病毒

如前文所说,病毒就藏身于从第三方下载XCode编译器里,以至酿成大祸。乌云白帽子王彪告诉记者:“由于网络原因,许多开发人员觉得从Mac App store下载官方插件的速度相比于网盘和迅雷要慢许多,因此才选择从第三方下载。”

不过一款APP开发完成之后,从理论上说是需要进行安全检查的,而针对这款病毒只需要做一个简单的云端数据测试,来检测数据是否都返回到自己这里就可以发现病毒所在。

王彪说:”尤其是在涉及到用户敏感数据和支付业务时,如果由于疏忽对用户造成了损失是一件非常严重的事情。“

另外,不同于网站,APP的更新成本更高,几乎所有的APP都会对老版本提供支持,如果在上线之初没有做好安全测试,对于用户的伤害无疑是巨大且长期的。

话又说回来,App Store的审核严格到变态,所以相比于第三方应用市场的Android应用都要安全规范得多。为什么这次的病毒也骗过了App Store?

王彪分析:”因为这病毒只收集包括时间、bundle id(包名)、应用名称、系统版本、语言、国家在内的应用和系统的基本信息,没有任何用户敏感信息,加之国内一些APP也会收集同样的信息,苹果稍有疏忽就让病毒趁虚而入。

长悬的达摩克利斯之剑

说到这里,事情大致可以看清楚了。从开发到上线的每一个过程都恰巧被病毒钻了空子。当然信息安全问题也不是一天两天了,它就像一把长悬在用户和APP头上的达摩克利斯之剑。不过值得庆幸的是,王彪告诉记者这次隐藏在XCode编译器的病毒没有收集用户的敏感信息,所以除了以上提到的基本信息之外,不会对用户造成太大的威胁,但卸载与否笔者不予建议。

安全问题总是被挂在嘴边,却没有被提上日程。

附检查方法(来自乌云)

恶意Xcode包含有如下文件“/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/Library/Frameworks/CoreServices.framework/CoreService”;正常的Xcode的SDK目录下没有Library目录(来自@JoeyBlue_)

其次,还应该检测一下Target->Build Setting->Search Paths->Framework Search Paths的设置,看看是否有可疑的frameworks混杂其中(来自蒸米)

XCode编译器里有鬼 –51CTO剖析“苹果APP中毒事件”

正文到此结束
Loading...