扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
9月17日早上9点左右,iOS工程师唐巧像往常一样到公司上班。他打开了自己组建的iOS技术群,想看看有没有什么新动态,无意间看到群里有人说,“自己家的App中了木马”,另一家已上市互联网公司则说刚刚收到国家互联网应急中心发来的邮件。
邮件大意是,开发人员如果使用非苹果官方渠道下载的Xcode,可能会导致恶意程序植入。
简单来说,Xcode是iOS系统下程序员最常用的开发工具,由苹果官方提供给开发者。但有些程序员选择非官方下载途径的原因简单地令人不敢相信——苹果电脑上用于更新应用的官方商店下载太慢了,所以就干脆转投百度网盘或者迅雷。
唐巧马上意识到事情可能有点严重。9点45分,他发了一条微博公布了群里关于Xcode漏洞的讨论结果,并附上了软件是否包含Xcode恶意代码的检验方式。后来,这一举动带来的影响远远超出了他的预料。
唐巧是猿题库iOS开发工程师,之前在网易开发过有道云笔记,有定期写博客的习惯,是《iOS开发进阶》作者。唐巧喜欢分享,邀请了国内喜欢分享的iOS开发者加到一个名为“真·iOS开发”群里面一起交流。
经过三年的积累和维护,这个群囊括了全国最顶尖的iOS开发者,大约60余人,分别来自百度、腾讯、新浪、搜狐、网易等公司。群内经常讨论关于iOS各方面的问题,这里可以算是Xcode漏洞发现的来源地。
在随后的两天内,这条微博波及800多个App,影响数千万用户的互联网安全大事件,让无数程序员在刚刚过去的这个周末加班熬夜打补丁。其中涉及的知名应用包括微信、滴滴出行、高德地图、同花顺等。
由于唐巧在iOS圈内的影响力,他的微博迅速被阿里移动安全资深工程师蒸米(化名)关注,蒸米告诉界面新闻记者,“在看到这条消息后的第一反应是:这个黑客有想法啊,这种投毒方式也能想得出来。”并希望能第一时间拿到病毒样本进行分析,“因为这一定是一个很严重的事件。”
有个形象的比喻是,“炒菜的锅都不干净,还能指望端上桌的菜没有问题吗?”
蒸米马上着手开始研究。9月17日下午1点53分,蒸米马上从乌云网作者群群主手里拿到了病毒样本,并开始进行初步分析,在和同事迅迪讨论后,他们决定给这个样本起名为“XcodeGhost”,并于当天下午5点43分写成了业界第一篇分析报告《XCode编译器里有鬼——XCodeGhost样本分析》发表在了乌云网上。这个如鬼魅一般的Xcode后台漏洞萦绕在众多App上。
乌云网是位于厂商和安全研究者之间的漏洞报告平台。经过乌云的曝光,这件原本只在互联网安全圈子里的事件发酵开来,后有媒体开始介入报道,甚至有部分用户开始产生恐慌情绪。
蒸米回忆说,“当时仅仅是针对病毒样本进行分析,并不知道有那么多的App被XcodeGhost感染了。”
9月18日,美国硅谷的palo alto networks安全公司也分析完了XcodeGhost样本,并发表了Novel Malware XcodeGhost Modifies Xcode,Infects Apple iOS Apps and Hits App Store分析报告,并在报告中提到网易云音乐等多家App被感染。
苹果官方已经向波及的开发商通知这是非常严重的病毒感染事件,并在第一时间下架所有受感染的应用。9月19日上午,苹果要求开发者用官方Xcode重新编译确保去除掉病毒后才允许重新上架。
在开发者们忙着递交App修补版本时,苹果也改掉了往日慢悠悠的性子,加快了审核速度。目前网易云音乐、滴滴出行、微信等App都发布了漏洞修补版本。经过周末的加班之后,周一又有更多的应用发布了更新版本。
在所有人忙得焦头烂额的时候,病毒的始作俑者却还没有被找到。
9月19日凌晨4点,一个名为“XcodeGhost-Auther”的新注册微博号自称为病毒的作者,并发文澄清,“所谓的XcodeGhost只是苦逼iOS开发者的一次意外发现”,“出于私心,我在代码中加入了广告功能”。
这种“公关文”的说法遭到了唐巧的质疑。先不说此文的公关风格老练,“从服务器域名、到木马代码、再到个人身份的隐藏,再到这个木马所体现的强大能力,都不像是实验,更像是一次有目的黑客行为。”
乌云作者群里的@onevcat算了一笔账:
“微信用户总数5亿日活70%。每天每人就算5个POST请求,每个请求300Byte,日流入流量就接近500G,以及17.5亿次请求。据说服务器在亚马逊,那么资费算一下每个月应该是存储$450,请求$260K。这还只是单单一个微信,再算上网易云音乐等等,每月四五十万刀仅仅是苦逼iOS开发者的个人实验?”
在公开的文章中,XcodeGhost作者称,“XcodeGhost能做的事情不多,基本上只限于获得基本的App信息:应用名、应用版本号、系统版本号、语言、国家名、开发者符号、App安装时间、设别名称和设备类型。”
据唐巧介绍,该木马能下发指令的类型基本就是弹对话框,或打开一个网址或下载一个App,并且已经在Github上公开了源码。媒体过度渲染的“个人信息被窃取”、“密码曝光”等都没有证实。用户能做的除了更改苹果账号密码、等待受感染应用升级外,也不必过度恐慌。
“我觉得任何一个黑客,他的目标都不是破坏,而是利益。并且这种利益应该是相对安全的。”唐巧认为,投放弹窗广告通常是比较安全的回报方式。
换句话说,黑客不会进行无利益的攻击行为。即使用户去点那个引导对话框、去下App,个人信息也不太容易被窃取。苹果有一个叫做“沙盒”的安全机制,能限制授予App的代码访问权限,保证App store的个人账户安全。
这次事件的影响最大的一点是,它动摇了人们对于苹果安全的信心。过去几年也没有发生过严重的iOS病毒事件,这次XcodeGhost作者从编译器下手,把苹果可能存在的安全问题暴露在公众视野中。
蒸米认为,“XcodeGhost也给国内的移动App开发者拉响了警报,网络安全从来不能依靠单点,需要全链路加固,有纵深防御,才是万全之策。”
这种在编译器上装病毒的手法并不稀奇,它的学名叫做“源码病毒”,病毒代码附着在编译器中。在Win32时代已经出现过,例如感染delphi编译器的SysConst.dcu;早在1984年,Ken Thompson就曾在图灵奖演讲中提到过,如何在UNIX gcc编译器中动手脚的恶作剧。如今,当年的恶作剧已经变成了现实。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者