也谈 XcodeGhost

刚才在月光博客偶然看到一篇文章:XcodeGhost 病毒波及大量主流 iOS 应用,昨天晚上发表的.作为资深果黑我感到喜闻乐见tieba_smilies50.下面简单地谈谈 XcodeGhost.

这是波及的一些 iOS 应用及相关版本:

微信 6.2.5
网易云音乐 2.8.1
网易云音乐 2.8.3
网易公开课 4.2.8
图钉 7.7.2
同花顺 9.26.03
同花顺 9.60.01
铁路 12306 2.1
天涯社区 5.1.0
天使房贷 5.3.0.2 - 5.3.0
三国名将 4.5.0.1 - 4.5.1
穷游 6.4.1 - 6.4
穷游 6.4.1
逆轉三國 5.80.5 - 5.80
南京银行 3.6 - 3.0.4
南方航空 2.6.5.0730 - 2.6.5
妈妈圈 5.3.0
联通手机营业厅 3.2
开眼 1.8.0
卷皮 3.3.1
简书 2.9.1
股票雷达 5.6.1 - 5.6
高德地图 7.3.8.1040 - 7.3.8
高德地图 7.3.8.2037
夫妻床头话 2.0.1
动卡空间 3.4.4.1 - 3.4.4
电话归属地助手 3.6.3
滴滴打车 3.9.7.1 - 3.9.7
滴滴出行 4.0.0
炒股公开课 3.10.02 - 3.10.01
百度音乐 5.2.7.3 - 5.2.7
自由之战 1.0.9
诊疗助手 7.2.3
造梦西游 OL 4.6.0
下厨房 4.3.1
下厨房 4.3.2
我叫 MT2 1.8.5
我叫 MT 4.6.2
YaYa 药师 1.1.1
YaYa 6.4.3 - 6.4
WO + 创富 2.0.6 - 2.0.4
WallpaperFlip 1.8
VGO 视信 1.6.0
UME 电影票 2.9.4
UA 电影票 2.9.2
Theme 2.4 - 2.4
Theme 2.4.2 - 2.4
Phone+ 3.3.6
Perfect365 4.6.16
OPlayer Lite 21051 - 2105
MTP 管理微学 1.0.0 - 2.0.1
Mail Attach 2.3.2 - 2.3
Jewels Quest 2 3.39
H3C 易查通 2.3 - 2.2
Digit God 2.0.4 - 2.0
Cute CUT 1.7
CarrotFantasy 1.7.0.1 - 1.7.0
CamCard 6.3.2.9095 - 6.3.2
Albums 2.9.2
AA 记账 1.8.7 - 1.8
51 卡保险箱 5.0.1
2345 浏览器 4.0.1

可以看到,这个漏洞的影响面是非常广泛的.

那么为什么会出现 XcodeGhost ?我想可以从这几个方面来看.

  1. 说来说去还是墙.没有墙,这些开发者会从第三方来源下载 Xcode 吗?实际上这个问题对于 Android 开发者来说更加严重.毕竟 Xcode 官方源下载只是慢点,而 Android Studio 呢?你能打开下载页面就该谢天谢地了.几乎所有的国内 Android 开发者都不可避免地选择第三方源吧?所以像  XcodeGhost 这样的病毒,出现在 Android 应用上似乎更合理一点tieba_smilies47.墙的存在,目的也是为了保障国家安全吧.不过作为屁民并不知道国家安全是的安全.
  2. 在这个事件中迅雷扮演了一个很有戏剧性的角色.按照爆料者的说法,用迅雷直接从肾果官网下载 Xcode 也是被篡改后的版本.这一点就非常有趣了.我不认为这是迅雷干的,然而这绝对跟迅雷的加速原理有关.众所周知迅雷为了提高下载速度,会尽可能地用 P2P 方式下载.这就给被篡改后的 Xcode 的扩散提供了可乘之机.同时,有人也称在百度云上下载到的 Xcode 也是篡改后的.这点倒好理解,毕竟这类网盘的离线下载都是这么玩的,只要自己的服务器上存在有这个文件,就不会从原地址重新下载.怎么说呢?迅雷和百度云的做法,在一定程度上确实可以提升用户体验,然而审查的不力也确实留下了很大的安全隐患.像很多的镜像站那样屏蔽掉迅雷,或许在目前是明智的选择.
  3. 应该说,把病毒直接藏在开发工具中,这样的攻击手段确实很有创意.刚才我在了解 XcodeGhost 相关的资讯的时候才发现这种攻击手段的概念已经有很长历史了,其创造者就是 UNIX 之父 Ken Thompson. 他在他的图灵奖演讲 Reflections of Trusting Trust 中就提出了类似的概念(这个演讲的标题翻译过来是"信任信任者的思考"),他在演讲中假设实现了一个修改的 tcc, 用它编译 su login 能产生后门,用修改的 tcc 编译"正版"的 tcc 代码也能够产生有着同样后门的 tcc.也就是不论 bootstrap (用 tcc 编译 tcc) 多少次,不论如何查看源码都无法发现后门.应该说, XcodeGhost 成功地把 Ken Thompson 的假想变为了现实.这当然是给安全界敲响了警钟,毕竟开发过程的每一步都可能存在着威胁.
  4. 我认为, XcodeGhost 的出现根本上还是肾果的责任.为什么不在官网给出 hash 值验证?一直听说 App Store 的安全审核严格,然而却在这种细节上出问题.当然我也看到有人说 App Store 审核官僚化严重,没有太大意义.毕竟我不是 iOS 开发者,对此不作评论.

再谈谈 XcodeGhost 的扩散.不得不说作者在这方面简直是人才.借助论坛,网盘实现了这么广泛的扩散量,确实不简单.再加上作者处心积虑的域名伪造,加上病毒中存在的接收云端指令的功能,让人不禁怀疑 XcodeGhost 的真正动机.虽然 id 为 @XcodeGhost-Author 的微博用户承认了自己是 XcodeGhost 作者并坦白动机只是做做实验,然而闪烁其词的陈述和事件持续发酵后爆出的伪造域名的注册日期,等等,都令人加深疑惑, "@XcodeGhost-Author" 是否隐瞒了什么?

另外不得不说肾果用户真是敏感,微博上一群人在那里怪软件开发商,卧槽,搞得好像这个病毒是几家软件开发商搞的一样,少有能够仔细分析的(所以说用 iOS 的还是小白居多,毕竟这系统就这样,把用户当傻子)(我感觉肾果的产品都是把用户当傻子)(关键是这些用户还挺乐意的).还有一群愤青在微博问候病毒作者母亲的,卧槽,就现在来看 XcodeGhost 确实没有造成什么不良影响,这些人的反应就这么大? iOS 用户就这素质?一群骂人的.还有人说作者该去判刑坐牢了.卧槽,至今有哪里报道过因为 XcodeGhost 造成经济损失 / 隐私泄露吗?几家媒体弄些什么"一亿 iOS 用户被黑"什么的耸人听闻的标题,关键是还有一群小白感觉好像是有被迫害妄想症了一样.作为天朝人民,你的流量时时刻刻被运营商监视,你怎么不去起诉?人家起码把 Ken Thompson 的天才设想变为现实,那些小白呢?无知.看到点添油加醋的报道就感觉自己被强暴了一样,你是有多没安全感?

深夜有感而发.以上.

请继续阅读再谈 XcodeGhost.

2 thoughts on “也谈 XcodeGhost

  1. 我是苹果用户,很高兴我并没有在软件中毒期间下载或者安装,表示ios对用户的隐私还是保护的很好,应用软件只能拿到极少部分并不重要的权限,而且在初次获得权限时,还会对用户进行提醒,可以在设置中选择应用可以获得哪些权限,比如摄像头,定位信息,麦克风等,所以ios在整体上来说还是要比安卓更加安全,尤其是关于文件删除后的痕迹(要知道我在爸爸的手机上翻到了他以前下载的h片的部分痕迹,不是他没有删除,貌似是文件被备份存到了其他地方)

    • NotaStudio says:

      然而关于权限管理,Android 5.0 已经很严格了.
      说得好像摄像头,定位信息,麦克风是极少部分并不重要的权限一样的.
      不过 Android 应用乱放文件的情况倒确实存在.

回复 NotaStudio 取消回复

您的电子邮箱地址不会被公开。 必填项已用*标注