关于最近的XcodeGhost事件,我也来说两句

xcodeghost

最近几天讨论的最多的就是XcodeGhost事件了,首先来简要的回顾一下:

  1. 某个后来自称XcodeGhost作者的程序员,自称本着玩一玩的心态,在苹果的APP开发工具Xcode里嵌入了一段恶意代码。
  2. 该段代码会自动收集用户的信息,发送到一个地址近似苹果的服务器。也有专家分析存在更多的隐患和危害。
  3. 一群苦逼的码农以开发iOS应用为生,发现苹果官方的APP开发工具Xcode下载龟速,于是在网上一顿乱搜,下载到了嵌入恶意代码的Xcode。
  4. 大量这样的APP发布到了AppStore,包括一些大厂的。
  5. 收集信息的恶意代码被发现,然后进一步扩散,称为了社会热点。

这个事件有几个值得讨论的点:

  1. 恶意代码到底危害有多大?

    腾讯的安全团队称,XcodeGhost除了收集APP版本、APP名称、本地语言、iOS版本、设备类型、国家码等设备信息,还可以通过openURL下发伪协议命令,让你的iPhone打开网页,发送短信,打电话,甚至操作具备伪协议能力的第三方APP。XcodeGhost可以让你的iPhone自动弹框,弹框的内容可以在服务端进行控制,而XcodeGhost恶意代码本身又存在安全漏洞,可以被中间人攻击,从而使得你的iPhone可能被更多人控制,成为一个肉鸡。

    看上去挺可怕的。不过也有另外一种观点:基于苹果系统级别的安全限制,恶意代码最多也只能收集一些基本的信息,像iCloud、AppStore的密码是不可能拿到的。而且恶意代码还未造成实质危害就被发现并关闭了,被植入恶意代码的APP也很快被苹果下架,大量APP已经更新了新版并修复了此问题,所以不用太担心。

    上面的说法都是有道理的,如果你还是觉得没有安全感,也可以把常用的密码修改一遍。

  2. 为什么一些大厂也中招?

    在人们的理解中,大厂应该流程比较规范,至少公司内部使用的软件应该都是正版的,为什么这次还是会中招?这里有一个误区,因为Xcode软件本身是免费的,所以根本不存在盗版一说。程序员下载Xcode时,发现苹果官方的下载太慢,于是在其他地方下载到了植入恶意代码的Xcode。

    然而,大厂可以因此推脱责任吗?我觉得不能。稍微懂点iOS开发的同学都知道,一个iOS应用开发完成后,需要编译打包,数字签名等操作,因为权限相关的原因,通常这些操作都会集中到指定的机器上来做,而这样的机器的软件安全性会更加重要的多。即使不是Xcode被植入了恶意代码,就算是系统上有其他恶意程序,也有可能在打包APP时被嵌入一段恶意代码。所以,在这样的机器上,安全性应该提高到另外一个更高的等级。对下载的官方软件,也要再做一次hash比较,检查是否下载到被篡改的软件。

    很多时候,用户是基于信任才使用你的APP,所以,不要因为你的安全意识上的疏忽,失去用户对你的信任。

  3. 苹果为什么也不安全?

    如果你说安卓机不安全,我大概不会反驳。而一直被大家加以信任的苹果,为什么也会有安全隐患,为什么审核的时候没有发现,让这么多有问题的APP顺利的上架?为什么像openURL这样的超级API不能做到更安全? 这些问题我回答不了,我没有开发过iOS的应用,对iOS的安全性研究不深,但我希望这次事件能更加引起苹果对安全的重视。

  4. 这件事件后,我能做什么?

    这件事情被爆出来后,特别是一个大厂的应用也曝光后,我也是第一时间先卸载了手机上的相关的应用。当有人爆出微信也中招时,肯定有很多人和我一样开始非常诧异,难以接受,删了微信我的手机还能干什么?呵呵。然后,你仔细一看,或者别人告诉你,微信6.2.5才有这个问题,最新版已经没有问题了。细心的人马上会发现,微信早在XcodeGhost被爆出来之前就早已发现了这个问题(最早被腾讯安全的团队发现的),然后第一时间加班加点发布了微信6.2.6版本修复了这个问题。

    现在有问题的APP基本已下架,上架的新版本也都修复了这个问题。如果你不放心可以修改一些密码。然而,这次事件之后,我能做什么?或者,给我的启示是什么?这次事件和程序员有关,从写恶意代码的程序员,到下载到含恶意代码的Xcode的程序员,而我刚好也是一名程序员。我能做什么?

    首先,我肯定不会去写恶意代码做坏事,顶多写个脚本抢个票刷个号,也是自己用。然后,在下载软件时,尽量到官方网站下载,对于比较重要的软件,最好下载后校验一下官方的hash。如果是商业付费软件,假如在你的承受范围之内,尽量还是购买正版。在你不断寻找破解补丁的过程中,有无数个包含恶意代码的软件正在向你招手。对于个人开发者,有很多软件都有了Community版本,像Visual Studio,Unity,JetBrains PyCharm等等开发工具,社区版本已经完全够用了。

最后

希望这次事件正如自称XcodeGhost作者声称的那样不会有什么实际危害,同时,我更希望通过这次事件,能引起更多的人或公司关注我们的APP安全。用户信任你的APP,请做好你的APP的安全保护,不要辜负了用户对你的信任。

微信扫一扫交流

作者:CoderZh
微信关注:hacker-thinking (一个程序员的思考)
本文出处:https://blog.coderzh.com/2015/09/21/xcode-ghost/
文章版权归本人所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。