这是一场看不见的战争。麻烦制造者的名字是一个代号——“XcodeGhost-Auther”。一个月前,他还默默无闻,但现在程序员群体中,还有几个人不知道他这个代号呢?
对于这个神秘的名字,Wellington和他的团队8人几乎一无所知,他们面对的只是一堆数字,但最终却不得不用一整天的时间来清理“XcodeGhost-Auther”带来的问题。
这是一串恶意代码,被命名为XcodeGhost。Wellington把这串代码称之为“源码病毒”,他不知道这款受到感染的APP已经被多少用户下载,也不清楚这串代码已经存在了多长时间。他对“源码病毒”几个字的唯一印象,是大学教科书的某个角落,很短一行字的介绍。
Wellington毕业十年了,做了十年的程序开发工作。他现在是北京一家知名互联网公司iOS开发主管,手下管理着一个近百人的团队。
XcodeGhost 在 19 日引起了轩然大波
9月19日,星期六,Wellington躺在床上向女友承诺未来他一定能在北京五环内买一套房时,他的手机响了。公司CTO发来一则国家互联网应急中心的通知,“我们的APP在感染名单里。”
Wellington起床,穿好衣服,等待着领导指示。负责APP发布的主管被连夜喊回公司,处理此事。Wellington接到任务,下周一去破译这串代码。
如果不是腾讯安全团队一周前在无意中发现了这串被植入的恶意代码,没有人知道它还能继续隐藏多久。
各大安全中心迅速出动,发现最早的感染源能上溯至今年3月份。一个名为“codeFun”的账户名被锁定,几乎所有带有恶意编码的链接都是由这个账号在各大网站发布。
9月17日,阿里移动安全发布了首篇分析报告——《Xcode编译器里有鬼——XcodeGhost样本分析》,并将此代码样本命名为 XcodeGhost。
此后的一周时间,Wellington的朋友圈里全是对XcodeGhost的分析解读。很快,被植入恶意代码的APP曝光,其中涉及微信、滴滴打车、高德地图、同花顺、网易云音乐、12306等常用APP。
这个代码的背后,充满着程序员式的神秘感,代码不具备情感,并不能透过这些数据掌握麻烦制造者的心理。
Wellington反编译后台之后,惊异于这串代码的隐秘性,“他们的手脚很干净,做得不留痕迹。这是一个老练的团队,经验丰富。”
9月19日,恶意代码的制作者现身,他注册了一个名为“XcodeGhost-Auther”的微博账号,声明这次事件没有任何威胁性,“这只是苦逼iOS开发者的一次意外发现,……它不会对任何人有任何影响,以后只会是一段已经死亡的代码。”
Appthority信息安全公司确定被XcodeGhost代码影响的应用达到了476个,远超之前预期的40多个
Appthority显示,感染最早暴发于今年4月,感染数量在随后的5个月持续增长
但对于经验丰富的技术主管,这并不是一种技术上实现自我的手段。他显得不那么光明正大。一家互联网公司的技术主管强调,“XcodeGhost-Auther”的行为或者不乏新意,但看起来只是旁门左道。
“这能证明什么?”这名技术主管认为,技术人员最大的成就感应该来自于创造,他不希望自己的团队中有人渴望成为一个破坏者。
对于一家互联网公司而言,技术人员占据着重要的位置,互联网需要怎样的程序员呢?这是个值得思考的问题。Lagou找了些业界大牛,提供了一些成为优秀程序员的必备建议。
技术过硬
Arron是一家正在快速成长的互联网公司的CTO,他带领着一个一百多人的技术团队,并且还在不断地招兵买马。他看重技术,这直接关系着产品的优劣。
“技术永远是第一位的,好的技术才能实现好的想法。”由于这是在面试与笔试中,最容易被衡量与测试出的专业能力,所以,技术过硬,是程序员的立命之本。
职业道德
Arron坚信善良比聪明更重要。
“在技术界里当一个好人挺难,因为利益巨大。”黑市上,用户数据被明码标价,如果哪天你看到一个程序员一夜之间买了房买了车,那么可能他干了一票。
Wellington会常常担心的一件事情是,他的团队里会不会有人把网站所有的用户信息打包卖出去。“你知道的,总是有那么十几个人有权限接触到所有的信息。”
专业技术与职业道德,缺一不可。“不过,如果是个好看的妹子,品格上不能降低要求,但在技术上差一点也没关系。”Wellington笑着对Lagou说,程序媛比程序员更容易找到工作。
了解安全知识
乌云网的白帽子王彪持续关注着XcodeGhost事件,他对合格工程师的定义是,一定要懂一些互联网安全知识。“去官方网站下载软件是基本原则,尤其是涉及公司业务的软件。从第三方源下载,不校验哈希值,这是最基础的常识失误。”
Arron能够理解那些通过非官方渠道下载Xcode的程序员们,虽然他决不允许自己的团队经由非官方途径下载。“效率与安全一直是一对矛盾,非官方途径的便利足以让人放松警惕。而对大多数互联网创业公司而言,组建一只专门的安全团队很难,要掏钱,却没有实际产出。”
苹果称,将把Xcode的下载源放在中国。这减少了源码病毒的威胁,但互联网世界依旧危机四伏。
坚持学习
王彪告诉Lagou,他眼中的互联网安全不是温室里的花朵,而是真真切切由血的教训积累而成经验。“每次事件的血都不会白流,它将形成我们日后更高标准的准入措施。好的程序员,不要在同一个地方跌倒两次。”
“一个优秀的程序员,和一个优秀的码农的区别,只有两个字——学习!”
Paul Graham曾经在《伟大的黑客》一书中写道:
“牛逼的黑客能够在大脑中装进很多上下文,当他看一行代码时,不仅仅是这行代码,还包括这行代码相关的整个程序。”
通过学习,码农能扩大自己的工作记忆,让大脑中装进更多的上下文,最终达到在大脑中跑程序,成为程序员。
Arron逼着公司里所有的技术人员学习,他对Lagou讲道:程序员不学习,毋宁死。
本文作者:西岳,拉勾网原创出品