围剿高维度木马幽灵全记录

  9月17日下午,一架飞机刚刚在首都国际机场的跑道上停稳,李恺打开iPhone 6手机,一下子就看到了几十条未读的微信消息。“都是告诉我iPhone出了病毒,赶紧查一下”,李恺告诉本刊记者。

  作为智能路由器厂商极路由的联合创始人,李恺有些猝不及防。“具体是什么病毒,有什么危害,用什么查杀?都不清楚。”

  在国内,上亿用户和李恺有着相同的遭遇。9月17日,白帽子黑客社区(通过发现和通报企业的安全漏洞,督促企业改进信息安全)乌云网发布报告称,苹果iOS 平台开发工具Xcode被移入恶意代码“XcodeGhost”,众多开发者以此开发工具编译出来的App纷纷中招。截至9月21日,360涅槃团队通过对14.5万个App的扫描,发现有344款App都感染了恶意程序,其中不乏微信、12306、高德地图、滴滴打车、网易云音乐等热门App。

  据“腾讯安全应急响应中心”发布的报告,保守估计受影响的用户数超过1亿。这可能是苹果AppStore上线以来,涉及用户数最多的一起安全事件。而一贯可靠的苹果手机居然被黑客种下了木马,这对众多的苹果信徒来说都是沉重的打击。

  9月19日,Xcode Ghost的作者在新浪微博发表声明,宣称这个木马只收集软件信息,不会对用户安全造成危害。事实真的像他说的那样风轻云淡吗?

  埋伏31年的高维攻击

  这起攻击的源头其实要追溯到斯诺登事件。2015年3月10日,美国新闻调查网站Intercept发布消息,宣布他们从斯诺登手里获得了一份绝密等级的文件。

  根据这份文件,CIA(美国中央情报局)一直处心积虑地想要破解苹果手机的安全防护。2012年,CIA曾召开一次特别会议,会议代号是Jamboree(露营)。在本次会议上,CIA的技术人员提出了一个方案:通过感染iPhone的开发工具Xcode来攻破苹果公司的防线。

  文件还透露,2007年苹果手机iPhone发布之后,美国政府就一直试图破解苹果公司为iPhone设立的防火墙,但一直没有成功。终于,在十几天的“露营”会议上,有人提出Xcode方案,并展示了被修改的Xcode工具原型。用户安装了用变种Xcode开发的App后,CIA就可以轻易窃取用户iPhone的密码,读取手机所发布的每一条消息。

  “长期以来,在软件行业中存在着一条信任链:用户信任大公司出产的软件,例如腾讯或网易;而腾讯和网易等软件公司又信任上游公司,例如苹果提供的开发工具Xcode;这个信任链继续向上追溯,Xcode是用C语言开发的,苹果信任的是C语言的编译器。”乌云团队技术负责人胡乾威说。

  通常情况下,病毒和木马只会攻击这条信任链的最底层,比如腾讯和网易的App。但这次攻击是从信任链的第二层发起的,可以称之为“高维攻击”,这种高维攻击的效果,要百倍千倍于低维攻击。

  事实上,CIA并不是这种攻击模式的首创者。这种攻击的学名是编译器后门,是由计算机科学最高奖——图灵奖的获得者肯·汤普森(Kenneth Lane Thompson)提出的,他也是C语言和UNIX的发明者之一。

  实际上,汤普森在实验室中检验过这种后门。实验室的同事发现无论在哪台UNIX电脑上,汤普森总是能够获得最高权限,轻松进入他们的账户。同事们检查了所有漏洞,依然无解。

  终于,在1984年的图灵奖颁奖仪式上,汤普森发表了名为“对深信不疑之信任的反思”(Reflections On Trusting Trust)的演说,揭开了谜底:他是在C语言编译器上加载了木马,而UNIX操作系统是用C语言编译出来的,这样一来,汤普森自然是畅通无阻了。

  如果一种携带源码病毒的编译器成为了绝大多数人使用的工具,那么这种病毒自然就能够悄无声息地入侵所有使用该工具编译成的操作系统和应用软件。

  谁也没有想到31年之后,汤普森描述的噩梦竟会在中国用户的手机上成为现实。

  “王龙”团队

  2015年3月16日,就在CIA绝密文件被曝光的6天之后,一个名为codefun的ID出现在著名开发社区Unity圣殿论坛,这个ID四处发帖,声称自己将Xcode放到了百度云上,下载速度很快。

  完整的Xcode大小约4G,由于苹果没有在国内架设服务器,程序员们下载Xcode的速度非常慢,最快也要两小时,更多人可能下载一整晚都无法完成50%。Xcode放在百度云上,也就意味着4G的文件最多20分钟就能拖下来。对程序员来说,很少有人能够抵挡这样的诱惑。

  此外,一名王姓用户也开始大量注册与iOS开发相关的国际域名,例如icloud-analysis.com——这也是此次病毒攻击事件的主网站,通过加入病毒的Xcode编译出来的App,都会向该网站上传用户数据,数据包括时间、bundle id(包名)、应用名称、系统版本、语言和国家等iPhone和App的基本信息。从3月到8月间,共有二十多个域名被注册。

  “这次攻击事件是团队所为,他们有明确的分工,有人负责开发,有人负责推广,人数估计是3-5人”,薛锋告诉本刊记者。薛锋曾担任亚马逊中国的首席安全官,离职后创办微步在线,专门应对互联网的各种大规模攻击。

  这个团队的负责人在注册域名时常用的名字是“long wang”,留的电话则是青岛联通的号码1347642**20。苹果木马事件后,他也被外界称为“王龙”。“王龙”使用的IP地址有时显示在青岛的山东科技大学,有时是青岛的海洋大厦。

  微步在线从“王龙”常用的QQ号和手机号码上查到了他在网络上的一些行踪:他的住址之一是某大学宿舍,他的年龄比一般的大学生要大一些,因此推断他很可能是青岛某大学的研究生。“王龙”喜欢网购,也常在百度贴吧上参与讨论“90后谁最帅”之类的话题,这些习惯看起来跟一般的90后并无不同。

  可以想见,在看到斯诺登报告之后,“王龙”和他的小伙伴们“恍然大悟”,就像被苹果砸中了脑袋一般发现了新的赚钱路子。在短短6天之内,他们写下了五百多行代码,完成了木马的开发工作。

  “这些人肯定专门研究过编译器后门,写出的代码很稳定”, 国内著名网络安全机构犇众信息(盘古团队)的CEO韩争光告诉本刊记者,盘古团队此前最出名的产品是iOS 8的越狱工具。

  在XcodeGhost事件爆发后,盘古团队也迅速推出了检测工具,“这些人算是牛人吧。他们的后端能力很强,不仅能接收信息,还能向用户手机回传控制指令。”韩争光说。

  技术大牛“王龙”做事有条不紊。在开发了代码并注册域名之后,他又在美国亚马逊上租用了云计算——这也是全世界市场份额最大的云计算服务。之所以租用云计算而不是直接在机房租几台服务器,也可以看出“王龙”团队的“高瞻远瞩”。因为云计算的一大优势就在于弹性带宽,可以最大程度地接收木马从用户手机中返回的各类信息。

  “王龙”团队还有专门的推广人员,负责SEO(搜索引擎优化)。简单来说,就是让你在百度或者谷歌这类搜索引擎上搜索“Xcode下载”时,“王龙”团队提供的下载链接排在前列,很可能是第一页。

  注册域名、租用国外服务器、进行SEO,这一切都需要成本。根据微步在线的保守估计,“王龙”团队每个月要付出的成本都在5-10万元人民币。那么,“王龙”团队如此不惜成本地投入,难道真的像他微博所说,仅仅是在做一个实验吗?

  一本万利

  “王龙”在新浪微博上声称,这些代码获得的都是App的基本信息,如应用名,应用版本号,语言,国家名等,并无用户的个人数据。木马获得这些数据后,上传到事先注册的网站icloud-analysis.com上。

  根据微步在线的流量统计,icloud-analysis.com在木马发布当天就获得了数据,从3月之后,流量一直以很陡的直线上升,一直延续到9月中旬。可以想见,越来越多的开发团队贪图方便下载了“王龙”版的Xcode,例如12306、网易、腾讯微信。而越来越多的用户也因此落入了“王龙”的魔掌。

  亚马逊的云服务是按照流量计费的,“王龙”团队甘愿支付越来越大的流量费用,背后的动机究竟是什么?“这个木马有两个功能,一是开了后门”,盘古团队负责人韩争光向本刊记者展示了XcodeGhost的险恶之处。利用这个后门,“王龙”可以从服务器上直接下指令给用户的iPhone,在手机上弹出窗口,例如可以伪造成短信进行诈骗。这个后门还可以直接调用应用,比如用户在使用微信时,可以直接跳到音乐播放器上,还可以直接安装应用。

  这个木马的另一个功能就是“王龙”所说的回传应用信息,但这个功能也绝对不是像他所说的那样“纯洁如小白兔”,其中涉及的利益链条是应用推广。开发厂商开发了一个苹果应用上架后,如果想进行推广,就要找推广商。业内人都知道,iOS的App推广成本相当高,基本上是一名用户5元起步,一些P2P金融应用甚至可能高达每用户30元。

  一家开发商会找几个推广商去推,双方之间根据是IDFV(苹果手机消费标示符)结算。当用户手机第一次打开应用时,会反馈给开发商唯一的IDFV,软件开发厂商查询到这个IDFA是首次激活,就会向推广商付钱。

  而XcodeGhost有能力截留IDFV,将本属于推广商的费用据为己有。而且,应用推广行业本身就是一个灰色产业,“黑吃灰”的法律风险很小。根据iOS推广行业的圈内人士估计,按照XcodeGhost的感染规模,“王龙”团队在这方面的收入每天可能高达几十万元,相比之前所付出的成本,可谓一本万利。

  “这帮人技术牛,思路也牛,”韩争光说,“如果该团伙把这个木马再进一步扩散的话,就是很庞大的安全事件了。比如他在里面再做一个功能,就能直接把中国90%以上手机号、机主姓名和所有的关系网络全部拿到手?里。”

  更高维度的幽灵

  2015年9月11日,iOS平台的微信6.2.5版本上线。据知情人士透露,微信团队立刻就发现了很大的问题:微信每次启动都特别慢。

  腾讯的安全团队经过跟踪分析,发现6.2.5版每次启动都要向icloud-analysis.com发送加密信息,由于微信装机量巨大,即使以亚马逊云的弹性带宽也应付不了,导致这个网站不堪重负,连带微信也启动变慢,甚至出现闪退。

  XcodeGhost这个潜伏在苹果手机里的幽灵终于暴露。微信迅速进行了版本更新,并在9月13日将此事上报给CNCERT(国家互联网应急中心)。9月14日下午3点,CNCERT向全网发出了预警。9月16日,腾讯安全团队发现苹果应用商店排名前五百的应用中有76款被感染,也随即通知苹果官方。

  9月17日,乌云网站发布了前述报告,XcodeGhost被公众得知。各家安全机构纷纷推出检测工具或插件,帮助用户检测自己的手机是否受到感染。

  “王龙”团队陷入了巨大的恐慌之中。他们冒着IP和手机号码暴露的危险,在新浪微博上发表声明进行辩解,试图为自己脱罪。看到这一招无用之后,“王龙”团队从9月19日开始四处删除信息,包括域名注册信息,以及曾经发布的各种帖子等。“我们一直在监控他们,可以看出来他们很慌乱,找到什么就删什么”,微步在线CEO薛锋说。

  但这种删除注定是徒劳的,“王龙”团队已经激起了网络各路高手的怒火。据韩争光介绍,包括腾讯和阿里在内的各大公司的安全团队都不同程度地锁定了“王龙”和他的小伙伴们。

  他们发现,“王龙”们在开发木马上也许是高手,在安全防护方面却还是菜鸟。“我们主要通过IP地址和域名关联分析,做出了关键性突破,”薛锋介绍。虽然“王龙”删除了icloud-analysis.com的注册信息,但微步在线掌握了这个域名之前使用的一系列IP,反查出他们注册的其他域名,掌握了“王龙”的手机和邮箱。紧接着,他们发现这个手机号也是支付宝账号后,这些人就完全暴露了。

  本刊记者也试图拨打“王龙”的青岛手机,但无人接听。

  截至本刊截稿,受感染的App大部分都已推出更新版本,包括12306和网易云音乐等。9月25日,青岛当地的信网刊登新闻称,山东警方已经抓获XcodeGhost的作者,其人是山东科技大学的研究生。但一小时后,这条新闻就被删除。本刊记者也致电山东警方,但对方仅以“不方便透露任何消息”为由拒绝了采访。

  虽然icloud-analysis.com据称已经被关闭,事件到此似乎已经告一段落,但事实却并非如此。网站域名还掌握在这个团队手里,这一域名随时可以被重新解析到新的网站。更为可怕的是,阿里安全团队还发现,“王龙”团队曾经感染过移动平台的游戏开发工具Unity3D,而这个开发工具是苹果和安卓平台通用的,这也意味着病毒很可能已经渗入到安卓平台。此前安卓就一直以恶意软件横行著称,如今更是雪上加霜。

  1984年图灵奖的颁奖现场,汤普森在那次著名演讲的最后曾大声呼吁,“除了自己亲手写出来的机器源码,永远不要百分百地相信编译出来的代码。”这一次,“王龙”团队的攻击导致上亿用户中招。又有谁知道,是否还存在着来自更上层软件信任链的更高维的幽灵,静悄悄地潜伏在你我的手机中,窥探着我们的所有秘密?

  本刊记者 陈劲松/文

打赏
赞 (6)