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

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

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

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

随后,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编译器的病毒暂时还没有看到收集用户的敏感信息,所以大家可以稍稍放心。不过也建议,苹果用户开启iCloud二次验证功能,加强自身安全使用习惯。

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

附检查方法(来自乌云)

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

相关推荐