MJ 同学,是我们的老朋友,他是黑客界著名的漏洞大神,浅友们估计对他也很熟悉了。他是现任 360 集团首席安全官,一手创办的 360 Vulcan 团队,至今仍然在源源不断地发现着各大系统中的 0-Day 漏洞。别人一辈子都看不到一眼《九阴真经》,而 360 简直就是个大型《九阴真经》印刷现场。
不过要澄清的是,无论是 MJ,还是360公司,都有着一个基本的底线,不会把这些杀伤力巨大的漏洞交给不明不白的人,比如刚才说的漏洞贩子 Zerodium 或者漏洞军火商 NSO Group。因为无法确定这些漏洞究竟被用在世界和平上,还是用在世界不和平上。
你可能会问:“好不容易找到个漏洞,又不卖钱?那黑客大牛研究漏洞的意义何在呢?”
这句话特别像一个路人问金庸小说里的大侠:你这么一身武艺,不去打架,那有什么意义呢?
大侠多半会说:“习武之人,绝不是为了欺凌弱小,而是为了维护人间正道。”
你细品品。
具体来说,黑客们维护“人间正道”的方法分三步走:
第一步:把这些漏洞告诉厂商——Windows 的漏洞就会告诉微软,Android 的漏洞就会告诉谷歌,以此类推。
第二步:厂商当然会在第一时间修复漏洞,然后给我们这样的草民发送“升级补丁”。
第三步:草民装完补丁,就再也没人能用这个漏洞伤害他们了。这个漏洞也从 0-Day 变成了 1-Day。(假设你没有及时升级,还用旧版本软件,那么这个1-Day 漏洞依然可以干掉你。)
如果你仔细看版本升级的说明,有时会发现“安全性更新”这样的字样。
每修复一个漏洞,厂商都会对提交漏洞的研究院公开致谢。但“谢谢”两个字还不够。。。厂商们*现在*为了表彰黑客的贡献,也会相应地给漏洞发现者一些奖金。不过毕竟是奖金,比 Zerodium 买漏洞的钱低多了。各家厂商不等,大概在 5000-20万美元一个 0-Day 漏洞。漏洞大神们可不是从一开始就被这么尊敬地“供奉”的。21世纪初,互联网刚刚兴起,大家都觉得黑客全是坏人——没事儿研究我家系统的漏洞干啥呀?肯定非奸即盗。他们金庸小说看得少,不知道这世界上有侠客练武真的是为了除暴安良。2010年,谷歌最早扭转思路,推出“漏洞赏金计划”,世人第一次见到了大公司为漏洞付费的善良操作。十年来,谷歌已经为漏洞奖励出去了大概2000万美元,纯爷们。
微软就抠门多了,他们的系统人人都用,相当普及,却一直不愿意为漏洞付钱。
不过2013年的时候,他们开启了一个变通计划:不为单独的漏洞付费,但是如果你能找到我整个安全机制存在问题,我还是会给赏金的。中国黑客,大名鼎鼎的TK教主就是在2014年拿到了这份赏金,10万美金。在随后的七年时间里,微软一点点扩大奖励范围,直到2019年,微软才真正针对旗下包括 Windows、Office 等所有产品开启了漏洞奖励计划,奖金也提高到了史无前例的最高25万美元。
至于苹果,压根就不想提“漏洞”这两个字。什么漏洞?我们的系统很和谐,代码很幸福。。。
这倒也能理解。因为苹果的调性一直是“完美”,承认自己的系统里可能有漏洞,那人设就崩塌了。但实际上,只要是系统就会有漏洞,掩盖是掩盖不住的。
2016年的时候,苹果偷偷地开启了一个漏洞奖励计划,邀请全世界20支研究苹果系统的顶尖团队到了美国总部,然后告诉他们:“有漏洞悄悄给我们,打枪的不要,我们给赏金”。
这些团队里就包括中国“360安全团队”、“腾讯科恩实验室”和老牌越狱大神“盘古团队”。
由于签署了保密计划,他们究竟给了苹果多少漏洞,不得而知。
然而,随着苹果用户越来越多,专门攻击苹果系统的坏人也越来越多。2019年,苹果也绷不住了,公开面向全世界开启漏洞赏金计划,英雄不问出处,谁都可以拿漏洞来领赏,最厉害的 Zero Click 漏洞给100w美元。
下图就是2019年8月公布赏金的 PPT。
值得一提的是,最近几年,很多领先的国产厂商也陆续开启了漏洞赏金计划。阿里、腾讯、百度、小米、华为、滴滴等等,几乎你想得到的大互联网企业,都在悬赏收漏洞,只不过大多所给的赏金远远不如谷歌、微软。我觉得,“漏洞赏金计划”不是赤裸裸的金钱交易,反而是世界越来越文明的标志:
好,截止到目前,中哥给你讲的都是基础知识。接下来扶稳坐好,我们准备开车了。
看过《射雕英雄传》的浅友们都知道,习武之人虽然都有家国情怀,但是高手之间难免想争个高低,于是才有了各大门派的比武大会——“华山论剑”。网络安全的江湖,和武侠小说很相似。全世界有那么多“漏洞大神”,他们之间也想分个高下。 从2014年开始,一个神奇的比赛开始走进了中国黑客的视野。 这个比赛叫做 Pwn2Own(直接翻译大概是“破解就赢钱”),举办者是美国网络安全公司趋势科技名下一个名为 ZDI 的小组,比赛始于2007年,历史悠久。就是这个比赛,撩拨了一代中国顶级黑客们绵延至今又波澜壮阔的爱、恨、情、仇。 比赛设置几个攻击目标,每年略不相同,一般就是 Windows、MacOS、Safari 浏览器、Edge 浏览器这类大型常用软件,黑客队伍们用 0-Day 漏洞分别进行攻击,控制了对方电脑就算攻击成功,获得相应的积分和奖金。 最后还会算一下每个队的总分,积分最多的那个队,除了已经得到的各个项目的相应奖金,还能得到“破解王”(Master of Pwn)的称号,发个奖杯,有时候还给个皮夹克,挺威风的。形式不重要,重要的是内容:这个称号意味着,对手们公认他是年度“武林盟主”,心服,口也服。这很重要。
黑客们蹂躏某软件的时候,软件的娘家人会等在一边收尸。。。这么说有点抽象,还是以 Windows 为例吧:
比赛现场有一个小黑屋。如果某个黑客成功用一个 0-Day 漏洞干掉了 Windows,那么 ZDI 要先在小黑屋里查验一遍你的攻击代码,确认没有问题,再把微软的人叫进小黑屋,告诉他们漏洞的情况,让他们确认,然后回去赶紧打补丁。
注意,这一个流程下来,知道这个 0-Day 漏洞详情的人就有三拨:黑客本人、微软、ZDI。你想想,这里面是不是有什么不对劲的地方,我们等会儿会详细说。
本来,Pwn2Own 就是西方黑客自娱自乐的一个比武擂台,但是从2014年开始,事情变得复杂了。从这年开始,国内两大漏洞安全能力最强的公司 360 和腾讯开始组团参加 Pwn2Own,把集全公司顶尖大牛之力苦心研究出来的 0-Day 漏洞都倾泻在这片战场上,誓要争个你死我活。让原本活跃在比赛里的外国安全团队集体黯然失色浅友们去复习一下“3Q大战”就明白了。这里限于篇幅,实在不能展开说了。总之,360这边就是总指挥 MJ 和他的好伙伴古河、龚广等等,腾讯那边就是幕后大神吴石和他的得意门徒陈良、黑客天才 Flanker 等等。(以上历史我“稍微”隐去了一万字精彩的细节,等到时机合适的时候,我会试着把它们写出来。)总之,Pwn2Own 慢慢变成了“3Q大战”的延伸,两家公司都想在这个战场上证明实力,拼命拿到那个漏洞之王的奖杯和皮夹克,然后新闻稿铺天盖地。
主办方 ZDI 团队作为美国人,这几年下来都看透了其中的恩怨,他们曾经对 MJ 说:“我知道,你们两家公司不对付,你们根本不是为了这点奖金,腾讯和 360 就算倒贴钱都愿意来这比赛。。。”
MJ 哑口无言,很多时候,两家巨大公司之间的恩怨,不是一两个黑客大神能左右的,就像大侠郭靖也左右不了宋元和战的历史局势。MJ 和陈良私下里是惺惺相惜的朋友,一起喝酒吹牛逼,但是在战场上又不得不各为其主,争风吃醋。这种感觉挺微妙。总之,ZDI 在中间,肯定是“有便宜不占王八蛋”,随着 360 和腾讯在比赛中竞争加剧,原来那些西方黑客团队觉得拼不过,好多都不来了。Pwn2Own 的奖金也一再压低,而且还巧立名目各种克扣。直到2017年参加完 Pwn2Own,两家公司突然恍然大悟:不对啊,咱们中国黑客比武,凭什么让美国人占便宜看笑话啊。第一、我们使用 0-Day 漏洞攻击的过程,主办方 ZDI 全部记录了下来,等于他拷贝了一份我们的武林秘籍,虽然这个漏洞会第一时间提交给厂商修复,但是,厂商修复是有排期的,短则几月,长则半年,这期间,ZDI 用这个漏洞做了什么,谁能知道?第二、在 Pwn2Own 的比赛上,规则要求“受害者”点击一下攻击者发来的远程链接,如果系统被控制,就算挑战成功。也就是说,他们只认可 One Click 的漏洞,而 Zero Click 漏洞虽然更厉害,但是比赛里没有这个项目。ZDI 肯定知道 像“永恒之蓝”这样的Zero Click 更厉害,但是在NSA曝光之前,他们却坚持用不加入这个规则,这是为什么?第三、现在在世界范围内最重要的基础设施——云计算——相关的虚拟化软件,在很长时间以来,也并没有出现在 Pwn2Own 的比赛项目中,又是为了什么?我眨眨眼,缓缓点头,似乎想到了一些东西,对他说:“我 TM 哪知道为什么!”MJ 所描述的事实,其实在表明 ZDI 有意在引导全世界黑客在一个固定的圈子里研究,而那些杀伤力更大,破换范围更广的新型 0-Day 漏洞,ZDI 似乎在有意规避,不鼓励全世界的黑客去研究。
接下来,MJ 说出了他自己的分析:
虽然没有证据表明 ZDI 和美国政府之间有超越友谊的关系,但是,也有很多黑客怀疑他们之间有信息互通的机制。
之前说过,美国的 NSA,仅仅是不小心泄露的旧武器“永恒之蓝”,都能把全世界几十万台电脑打得鸡飞狗跳。
因而有理由推测,NSA 掌握着针对 Windows、Android、iOS、MacOS、Linux 全套“指哪打哪”的“Zero Click”漏洞,还有能穿透云计算来盗取企业信息的漏洞,而他们不希望全世界的黑客向着他们已经领先的方向研究,从而逼近他们的水平。
所以,ZDI 有意规避这些最新的攻击方法,很可能出于一种和美国大内高手的“默契”。
顺着这个思路想下去,可怕的结论就出现了——过去几年,中国黑客在“比武大会” Pwn2Own上掐架,一招一式却很有可能被某只眼睛看得清清楚楚。
虽然疑车无据,但 360 和腾讯都觉得,“再也不能这样活,再也不能这样过”。。。2018年开始,Pwn2Own 上一个中国队都没有了。别问原因,问就是不想去了。腾讯和 360 掐归掐,但是在民族大义面前,无论是马化腾还是周鸿祎,还是这些漏洞侠客们,都用行动做出了自己的选择。虽然现在还说不清,不过中哥觉得,多年后回望,这将被追认为一次伟大的抉择。不去 Pwn2Own,这些大侠可要寂寞了。那么他们从此就不比武了吗?呵呵,门儿也没有。不让大侠比武,还不如杀了他们。。。几家国内互联网公司大佬们,终于平心静气地坐在一起合计:比武在哪儿不行啊?凭什么要跋山涉水去国外?咱们在自己的地盘上搞个“华山论剑”,邀请全世界的黑客来比武,不是更好吗?!既然是华山论剑,就选在华山?华山不行,信号不太好。。。经过各方联络,在成都天府新区的支持下,比赛地点终于在了成都,漏洞大神们“新华山论剑”的名字也最终定为——天府杯。
我知道你在想什么,“天府杯”,听上去有点土土的,比 Pwn2Own 这种名字差到不知哪里去了。不过,起名字这种事情你懂的,不是一个人就能说了算。你来不是看名字的,是来看大神的。没错,那些曾经在 Pwn2Own 上鏖战的中国顶级黑客大神,一个都不少地出现在了天府杯上。甚至,过去因为路途遥远、签证复杂、参赛名额有限等原因不能去国外的众多中国漏洞研究团队,这次都能去成都,一边吃火锅一边一较高下。
这是天府杯的主办方,记住这些 Logo,这基本上就代表了中国网络安全漏洞研究的几大门派。他们联席组成了裁判组,而裁判组中,又有一个最核心的“长老会”,负责审核每个漏洞的详情,承担 Pwn2Own 上 ZDI 的那个角色。
2018年第一届天府杯,长老会由 MJ(360)、袁哥(腾讯)、善功(阿里)、黄正(百度)四人组成。
几位大神开会,决定天府杯第一年的规则完全照搬 Pwn2Own,只有一点没有照搬它,那就是——奖金。
比赛总奖金100万美元。
你还记得之前我给你看的“漏洞贩子” ZeroDium 的价格表吗?对于同样一个漏洞,天府杯的奖金和 ZeroDium 基本持平,有的还比它高。
回过头说 Pwn2Own。2018年由于之前两年的冠军队伍腾讯和360都放了鸽子,比赛一下子变得很空旷。不过,把地球仪转到背面,成都可是人声鼎沸。
一个著名的美国黑客 TheGrugq 在推特上发声,在中国发生了“TianfuCup”这么大事儿,我们欧美黑客圈居然没人关心,也没人发声!这太可怕了!
第一届天府杯热闹开幕,360 参加 Pwn2Own 的原班人马老湿傅悉数登场,一如脱缰的火云邪神。最终 360Security 队拿了第一名(62万美元奖金);中科院计算所+腾讯联队获得了第二名(7.5万美元奖金)。
你可能有点纳闷,为什么之前在公众心中漏洞研究能力不相上下的两个公司,这次差距有点大呢?究其本质:漏洞军备竞赛和核武器军备竞赛一样,是很费钱的。2018年开始,腾讯似乎不太想烧钱了,主动做出了调整,很多过去纯研究的团队背上了一些商业任务,走上了经典的“赛马”机制。面对这样的局面,一些安全研究员不太适应,有的积极调整,有的就选择了离开。而相比之下,360的安全研究团队粮草充裕,一直保持相对稳定。这也很好理解,毕竟“漏洞研究”在腾讯内部的优先级怎么可能比得过微信、QQ、《王者荣耀》那些明星产品,而对于公司小得多也专得多的360来说,漏洞研究就是立命之本,每一个漏洞都是一颗重磅弹药,必须拼尽全力。组委会改进了奖金规则,也增加了更多有关虚拟机和“Zero Click”的挑战项目。360仍然拿下冠军,而在队伍列表里,没有腾讯的名字。据说,腾讯并不是没有参赛,而是考虑到当时的实力现状,没有用官方名字参赛。毕竟,如果各大媒体的新闻里都是:“360力压腾讯获得第一”,实在是会招来很多不必要的麻烦。江湖就是这样,本来是一场纯粹切磋武艺的华山论剑,但是名、利、争夺、权衡,总是世间难逃的阴影。不过,令人鼓舞的是,虽然承受压力,以科恩实验室为代表的腾讯安全却一直尽力保持着漏洞研究世界级的能力。
说到这里,恐怕有些浅友还有个疑问:“既然漏洞是武器,那为什么我们中国的漏洞大神找到 0-Day 漏洞之后要选择参加比赛让厂商修复,而不是偷偷藏起来,“关键时刻”作为武器来用呢?”MJ 把系统比作一片土地,漏洞就是土地下面的矿藏。全世界的漏洞大神都在这片土地上采矿,谁也拦不住谁。你找到这个漏洞,别的大神也可能找到这个漏洞。如果你找到 0-Day 漏洞之后不公开,那么其他人找到了这个漏洞就会公开,到时候厂商还是会修复漏洞,你手中的武器自然失效。一般来说,一个普通的 0-Day 漏洞的生命周期只有半年到一年。也就是说,如果你找到了漏洞,捂在手里半年,基本上就会被另一个大神找到。而只有脑洞非常奇葩的顶级 0-Day 漏洞,才能保留很久,五年甚至十年。就像永恒之蓝漏洞那样。但是,这种顶级的漏洞,即使是 MJ 这样的大神,一生中都难以发现几个。而真正在国家对抗中,仅仅靠几个囤积的神级 0-Day 漏洞也并不保险。
而从各个方面的信息综合判断,我们国家此时此刻并没有掌握“漏洞核威慑”的能力。
从民间能力来看,美国有很多大小公司甚至是安全团队,都有不同的大侠在各个方面进行漏洞研究,而把目光移到中国,几乎只有 BAT3 这几家巨头有能力进行纯漏洞研究。而要拥有持续发现顶级漏洞的能力,仅仅寄希望于黄金一代黑客的灵光乍现是不行的。正如中国篮球队,有姚明的日子风生水起,没有姚明的时代一蹶不振。烟花再耀眼也只是在历史的天空转瞬即逝,而只有持续燃烧的阳光才能让万物显形。漏洞的“核武器”研究,需要一个庞大的从业者底座,这个底座,由年轻人组成。在天府杯上,这些捧着奖金的小鲜肉中,也许就藏着未来的漏洞大神。钱就是很俗气,但正是这样的奖金,才能解决那些年轻的漏洞研究者的衣食住行,才能让他们觉得这条路有未来,从而可以坚持走下去十年二十年,最终才有可能亲手握住那些“核武器漏洞”。
毛泽东主席有一句名言:原子弹是纸老虎。过去我们这样看,现在我们仍然这样看。中国发展核武器不是由于中国相信核武器的万能,要使用核武器。恰恰相反,中国发展核武器,正是为了打破核大国的核垄断,要消灭核武器。
1964年10月16日,在试爆了第一颗原子弹8个小时后,中国政府面对全世界发布了如上声明。
和核武器一样,我们持续地研究漏洞,不是为了炫耀,更不是为了首先发起攻击,而是为了让某些人再也没办法威胁我们。
如今,第一颗原子弹爆炸已经过去五十多年,物理世界的核武器没有消失,反而在网络世界又多了一场征程。时间的岸边风潮涌动,无数侠客正少年。