黑客初心:揭秘360Vulcan团队幕后的故事
从温哥华回到北京,360Vulcan Team又投入到忙碌的日常工作中。
前不久在太平洋另一侧举办的Pwn2Own 2015世界黑客大赛上,360Vulcan成为该项赛事历史上首支成功攻破IE的亚洲团队。随之接踵而来的有赞誉也不乏质疑,但是对这群平均年龄还不到28岁的年轻人来说,外界的喧嚣并没有进入他们“二进制”的世界。
他们是黑客也是出色的防御者,天然懂得如何保护自己,漏洞挖掘和攻防研究才是他们活跃的地盘。繁华落尽,不忘初心。
为什么参加Pwn2Own?
在360Vulcan Team这个神秘的团队中,MJ0011是媒体唯一能够接触到的成员,这和他多年前就见诸报端,经常作为360技术发言人的角色有关。
在网上的资料里,MJ0011是一个经常“惹是生非”的角色。他曾多次公开挑战一些著名的安全产品,一次次找到那些产品漏洞把它们攻破。但是对于那些年少轻狂的往事,MJ0011已不愿多谈,“毕竟那时还很年轻嘛”,最近几年,他说他泡论坛时一般都在“潜水”。
Pwn2Own是MJ0011低调潜行后第一次公开挑战。“其实以前也有能力打Pwn2Own,但作为安全公司参加黑客大赛总担心惹来非议”,不过好在黑客这个概念在国内已逐渐回归本色,人们理解了黑客是追求技术突破的兴趣驱动者,而不是一些舆论简单粗暴定义的破坏者。
如果不理解黑客的攻击技术,根本不可能做出合格的安全防御产品,360Vulcan Team就要在国际舞台上证明中国安全厂商的技术实力。大约在2014年10月,MJ0011等360安全卫士的攻防研究人员萌生出参加Pwn2Own 2015的念头,并专门成立了一个小组,也就是如今的360Vulcan Team。
黑客不再是单兵作战的孤胆英雄时代,精细化的团队协作才是网络攻防的趋势。“360Vulcan Team的成员大多低调,在网络流传的各种‘黑客榜’上基本找不到名字,但他们都非常出色,有些比我更年轻、更聪明,也同样努力的小伙伴已经成长为国内顶尖的高手,”MJ0011说,“Vulcan是著名科幻电影《星际迷航》里象征着理性和智慧的星球,这就是360Vulcan Team每位成员一直以来的追求。”
战前幕后
17秒攻破IE11,听起来是件简单利落的事儿,背后却是一个漫长曲折的故事。
半年前准备参赛时,360Vulcan Team快速完成了攻击程序,但就在当月微软的安全更新中,攻击程序使用的IE漏洞被微软补丁修复了。接下来就是返工找新的漏洞,力求随时出发都能一战功成。
可就在春节前后,三道难关忽然横亘在360Vulcan Team面前。
第一关:挑战“独角兽”
2月中旬,Pwn2Own 2015全新的比赛规则公布,要求IE11开启64位进程、EPM(高级沙箱)和微软EMET漏洞防御工具,这些都不是IE的默认配置,而以往Pwn2Own是打默认配置,按今年的标准可以在去年比赛获得15万美金的“独角兽”大奖,这个奖项当时无人企及。
Pwn2Own大赢家、法国“网络军火商”Vupen吐槽新规则难度提升、奖金缩水,并宣布退赛,360Vulcan Team在当时也并无把握。按照MJ0011的话说,“过去我们按照IE11的默认配置备战,新规则可以说是让难度倍增,尤其是64位IE好用的漏洞极少。我们知道花些时间能搞定,但谁也没把握一个月的时间是不是够用。”
第二关:漏洞挖掘机“断电”
雪上加霜的是,360Vulcan Team用来fuzz漏洞的机器在春节过年期间被断电关机(fuzz是一种自动化挖掘漏洞的测试方法),留给他们的时间变得越来越少。
第三关:微软3月“大补丸”
熟悉安全行业的人都知道,微软在奇数月的补丁一向数量多、质量高,绝大多数神级漏洞都是在奇数月的安全更新中修复。微软3月“大补丸”距离Pwn2Own开战仅有一周时间,其中修复的IE漏洞CVE-2015-1625,按业内人士说法“估计就是很多人搞定且准备去打x64的洞”,360Vulcan Team准备使用的一个漏洞也在这次补丁日“牺牲”了。
距离3月18日的温哥华越来越近,但决胜时刻提前出现在3月初的一天。在某个美妙的时刻,360Vulcan Team“憋”出了一套新的攻击思路,只用一个未初始化内存漏洞在64位IE实现稳定利用,这种化腐朽为神奇的技巧使得360Vulcan Team连过三关,快速找到“替补”漏洞在微软补丁日后仍能攻破全副武装的Win8.1+64位IE11。
有时是苦思冥想探索出答案,有时只是灵光一闪,突然发现看似固若金汤的防线有着不为人知的防御盲点,这恐怕也是黑客研究攻防技术最大的乐趣了。
接下来的事情顺理成章地进行着,战前艰苦的准备造就了Pwn2Own上亚洲首破IE的光辉。真正让360Vulcan Team小伙子们开心的是,他们的努力得到了国际安全行业的认可。
微软安全响应中心资深专家褚诚云通过个人微博表示,360Vulcan提交的攻击非常精彩,“我们回去要忙一阵子了(完善防护机制)”;大赛主办方惠普ZDI的安全专家Bryan Gorenc则以“amazing”(令人惊奇的)来形容360Vulcan Team的攻击技术。
17秒和1万小时
虽然“17秒攻破IE”在媒体报道上刷屏,MJ0011对此却不以为然,他更愿意谈起另一个时间长度——1万小时,这是来自名为《异数》的著作中一个著名的结论,要成为某个领域的专家,需要1万小时。
翻开MJ0011在2009年的一篇博客《关于1万小时定律》,当时他是这样写的:接触程序、逆向、底层也有6年之久了,每天花费的时间,差不多在10~12个小时,那么取个平均数,11*365(节假日不休)*6= 24090,二万小时多一点。只要是智商不是太差,谁下到了这个功夫,就能达到和我一样的水平,都是正常人类,没什么区别。
与那时的观点一样,MJ0011强调,“构建一个完备、考虑用户感受和兼容性的保护系统,远远比突破它的技术要难得多,尤其是在拥有大用户量基数的产品上。以微软这样的庞然大物,高手如云,也要在接到报告很久后,才能修补漏洞,不是因为不知道怎么修补,而是他们要考虑的问题远比漏洞攻击和挖掘者多得多。在保证用户体验,兼容性和稳定性的前提下,增强安全防护的能力,这才是高深的技术。”
MJ0011所在的360Vulcan Team,平时更多的精力也是放在安全产品设计上,XP盾甲就是由该团队成员主力开发的,并得到各竞品厂商的学习模仿,甚至是照搬代码。
“改造XP这样一个老旧系统,融入高版本操作系统才有的安全特性,这对于360XP盾甲驱动程序的要求极高。因为内核安全加固需要在系统底层完成,任何细节的纰漏都可能导致用户系统的故障,360XP盾甲则实现了在2亿级XP用户电脑上的稳定运行”,他说,相比攻破一个系统来说,作为安全建设者才是360Vulcan Team最高的荣耀。