在中国特色网络环境下,千万记得,安全比方便更重要


 

XcodeGhost在不久前对国内的iOS系统造成了巨大的安全威胁,但在安全威胁下还暗藏着巨大的信任隐患,中国的特色网络环境为这些隐患提供了温床。其严重性往往不为我们所知,所以作者也不禁高呼“千万不要低估安全问题能造成的后果,尤其是在中国特殊的网络环境下。”除了希望读者可以通过这篇文章意识到隐患的严重性,更希望程序员同学们可以有所收获。

最近XcodeGhost导致的严重安全问题,相信大家已经从各个渠道知道了。简单概括一下,有人在中国网盘和论坛上传播了一个修改过的Xcode,这个版本的Xcode会在编译出来的App上面加一些可以被远程控制的代码,并且发送数据到某个服务器上。这是iOS出现以来,未越狱系统遭遇的最大安全威胁,在此之前苹果的Sandbox模式几乎没遇到过挑战,iPhone用户甚至大量iOS开发者都认为系统固若金汤,不可能遇到问题。

在XcodeGhost开始被媒体报道的时,很多人大大低估了它的风险。我在乌云报道这个问题的当天,在朋友圈上建议大家先把中招的app都删掉,并且立刻修改iCloud密码,开两步验证。甚至遭到了不少人反对,还有好几位iOS开发者告诉我这件事没什么大问题,因为iOS有Sandbox,不会造成什么伤害。当时网易也发了一个关于云音乐被感染的说明,也是类似不痛不痒的口气。这些说法当然都是大错特错的,会有这种想法,是因为只会站在程序员角度看问题,如果对安全问题稍微有一点敏感性,就会立刻意识到这是极严重的威胁,稍微发挥一些想象力就会被吓着。

所谓安全威胁,大部分都是在获取到非常有限资源的情况下,利用社会工程学(俗称:骗)来达到目的。比如,你觉得让别人看到你的通讯录有什么问题吗?很多人会认为虽然不舒服,但不会有什么威胁。实际上,骗子会从通讯录里面挑出来你父母的电话,打电话去骗他们。所以,这和iOS有没有sandbox,能不能保护系统安全没关系,只要我获得了一个机会,能控制你信任的app上弹出对话框,我就可以利用这个对话框来骗你输入系统的重要密码。程序员应该想象力再丰富一点,不要把目光局限于“系统给了我什么权限”,而是要扩展到“如果我被完全信任了,我能进行什么样的欺骗”。

我不打算在这里讲太多直接的安全问题,毕竟已经很多人分析过了,在好几篇非常不完善,极大低估这次事件威胁的分析文章之后,腾讯给出了一篇相当详细的分析,比较符合我的观点,也把问题的严重性说的非常清楚。在腾讯的分析里面,说可以利用OpenUrl来操作用户拨打电话,同样又有iOS开发者说“OpenUrl不能控制iPhone打电话”。事实上,OpenUrl可以弹出一个带有固定电话号码的弹窗,上面有“拨打”和“取消”两个按钮,这确实不算直接拨打了电话,但如果给一千万个用户在某个特定环境下弹出一个这样的窗口,其中有多大比例的人会去点“拨打”呢?如果程序员不去提高想象力,总把安全问题和功能局限在系统文档提供的“能做什么”这个范围内,软件的安全性实在让人难以信任。

具体的安全问题有更专业的人去普及,本文不多说,在这里我更想谈谈关于信任的问题。在这次事件中,也有一些人想起了Ken Thompson大神(Unix系统/C语言的前身B语言/Go语言的直接贡献者,称作Unix之父也不过分)在1984年的一次演讲,在那次演讲中中,Ken讲了他在70年代在贝尔实验室捉弄同事的一次恶作剧,在那段时间里面,实验室里面所有的Unix系统,Ken都可以随便以最高权限登录,而同事反复检查用户,权限,甚至是当时使用的Unix代码,都没查不到后门,百思不得其解。14年之后,Ken在这次演讲里面才公开,后门其实隐藏在他写的编译器中,当用编译器编译Unix系统的时候,后门就被放在了编译出来的系统里面,但Unix本身的代码是干净的,所以同事无论如何也查不到问题。Ken的演讲所提到的核心问题并不是如何入侵一个操作系统,而是信任。其标题“Reflections on Trusting Trust” (我翻译为"深入思考我们信任的可信",以下简称RoTT)开宗名义,明确强调这一点。

在80年代曾经有很多人用这样的办法给开发工具加各种外壳和后门,但当时联网条件并不好,很难产生大规模影响。很多案例是发生在相对封闭的企业内网和教育网中,Ken捉弄同事的原始案例也可以看作是企业内网上的传播。可以说,RoTT能产生的影响一直被人们低估,因为在现实世界想要具备适合它的条件,实在是太难了。历史上,虽然有很多底层代码Bug导致的安全事件(比如之前的OpenSSL心脏出血漏洞,可以参考我的另外一篇文章,点阅读原文可见),但直接通过这种在基础工具上制造的后门,从而衍生的大规模安全事件,从来没有真正发生过。这种手法一般是用在有限范围的网络上,比如在早年的教育网上或者企业网络里面,那时候在内网上传递一个被下了毒的软件,很容易传播开。

(责任编辑:安博涛)

分享到:

更多
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
  • 微笑/wx
  • 撇嘴/pz
  • 抓狂/zk
  • 流汗/lh
  • 大兵/db
  • 奋斗/fd
  • 疑问/yw
  • 晕/y
  • 偷笑/wx
  • 可爱/ka
  • 傲慢/am
  • 惊恐/jk
用户名: 验证码:点击我更换图片
资料下载专区
图文资讯

中国网络安全的现实挑战与应对策略

中国网络安全的现实挑战与应对策略

新时代中国网络飞速发展的同时,也存在物联网设备安全防护能力不足、安全漏洞信息保护...[详细]

“奇点”中的黑客与蠕虫

“奇点”中的黑客与蠕虫

OpenWorm项目的广告似乎能戳中蠕虫极客的所有萌点: 模糊开源 乐高般的模块化风格 机...[详细]

信息安全人员转变为数据科学家的五个驱动力

信息安全人员转变为数据科学家的五个驱动力

安全靠等是等不来的,想要护住公司安全,安全从业人员不能干等所需信息。信息交付的速...[详细]

无惧网络安全问题 安防需要做好几点?

无惧网络安全问题 安防需要做好几点?

随着信息技术的发展,大数据、物联网、区块链、工业控制等新技术广泛应用,网络安全进...[详细]

零日漏洞:强大却脆弱的武器

零日漏洞:强大却脆弱的武器

零日漏洞就是厂商未修复且可被利用来当作网络攻击武器的安全缺陷,威力强大但却脆弱。...[详细]

返回首页 返回顶部