“老实说,这是我经历过最不顺的一次比赛了” 陈良说。
一群黑客攻破了谷歌、苹果、华为赖以为傲的安全系统,从全球顶级的黑客破解大赛 Mobile Pwn2Own 凯旋归来,说的前两句不是老子有多牛,而是有多惨,那我相信里头一定有跌跌撞撞的趣味故事。
在人们以往的认知里,黑客破解比赛无非就是提前找到漏洞,写个脚本,到现场一演示,没了。然而听到刚打完比赛回来的科恩实验室的描述,并非如此简单。
腾讯科恩实验室陈良手捧奖杯,身着“破解大师”战衣
赛后,科恩实验室部分参赛选手讲述比赛经历有多折腾
陈良上一次被苹果“坑”是在去年。那会还有一周多就要去温哥华参加 Pwn2Own 破解大赛,苹果 Safari 浏览器破解项目是得分重头戏。准备了几个月,漏洞找到,攻击程序也全写好,苹果冷不丁地发布了个系统更新,把两个漏洞全补上了。
这就好比你上学那会儿考试,考前两天被告知考点全换了,你花几个月复习的知识点都不考啦!陈良连夜检查完更新情况,一早跑到公司宣布这一消息,之后连着好几天都没出家门,实验室也有同事把床搬到办公室。
考试还得考,硬着头皮也要上。想拿下这个比赛就得在一周内重新找到漏洞,写好攻击代码。可那是苹果公司的 Safari ,说破就能破?
万幸,他们手里还真捏着好几个没被修补的漏洞,能在几天内赶出一套方案,只是时间太紧。飞往温哥华的飞机上,他们键盘噼里啪啦喷溅荷尔蒙,一帮人皱着眉,紧张兮兮地盯着每一行攻击代码,直到所有人的笔记本都蹦出低电量警告。
“被厂商赛前补漏洞是常事,来了几次就习惯了,因为这就是规则。” 陈良觉得这就是规则。可是破解大赛并没有规则说厂商要在赛前集中补漏洞啊。“那就算是潜规则咯”另一个选手私底下开玩笑说。
科恩实验室队员们对这种事已见怪不怪了。如果每次临近考试前都换考点,那说明这是考试的一部分。赛前厂商补漏洞,算是潜规则,潜规则也是规则的一部分。陈良说,“不光是我们,其他参赛选手也是这么折腾,公平。”
除了苹果,Pwn2Own 的其他破解项目也都来自技术实力世界一流的公司,比如谷歌、微软、Adobe、Mozilla、VMware 等。一般拿来破解的也是人们生活中最依赖的软件,比如 Chrome 、Safari 、IE、Edge 等浏览器、Windows、MacOS 系统。
能黑掉这些,基本就等于能黑掉大半个地球,因此用黑客奥运会来形容 Pwn2Own 丝毫不为过。与之对应的 Mobile Pwn2Own 相当于冬奥会,量级和前者一样,只不过项目不同。后者是针对移动设备的破解,比如 iOS 、Android 系统、手机通信基带、WiFi模块等等,今年国货华为 mate 9 pro 的基带破解也是比赛项目之一。
除了苹果,其他厂商也都挺“心机”的。除了专挑在比赛前的日子集中发布安全补丁,一些厂商甚至会把原来雷动不动,大姨妈一样固定频率的更新给推迟,目的就为了让参赛选手没时间再研究新的漏洞和攻击手法。
“他们也没办法,Pwn2Own 名气太大,厂商自家产品被花式破解,全世界都知道了。”陈良虽然无奈但也表示理解,“只是今年苹果确实太折腾人了。”
有过被“坑”的经验,科恩实验室的研究员们今年赛前的一段时间都睡不安稳,赛前几天,干脆直接熬夜坐等更新。
比赛前的几天,各家补丁果然不出所料地发布了。实验室按照原定的工作分配,每个队员都分配到相应的应急破解研究任务。
但是,唯独苹果手机的补丁迟迟没发,这让负责 iOS 研究的小伙伴挺揪心的。
今年的比赛在日本举办,选手们提前几天飞过去,在会场的酒店住下,准备接受“大考”。苹果的更新还是没来。
酒店条件不错,床看起来很软,陷进去就能立马睡着的那种。但这和选手们关系不大,比赛前两天晚上,一帮人还围在一起坐等着苹果发布更新,还有两天就比赛了,按照以往的尿性,怎么着也该发了。
睁着眼熬到半夜快三点,队员纠结着是继续等还是睡觉,睡觉吧,万一半夜发更新了,又可能错过研究时间,不睡吧,睡不好同样可能影响比赛。
当时的 iOS 最新版本是11.0.3,队友们大部分攻击测试工作在 11.0.2 完成的,此时他们正在将部分漏洞利用程序移植到最新版本并测试。如果苹果此时又发新版本,又得重新来一遍以确保无误。
就这么狼来了似得折腾两天,选手们甚至怀疑苹果是不是不打算发补丁了。11月1日凌晨两点,苹果发布 iOS 11.1大版本更新。此时队员们互相对望,笑了。天一亮,比赛就在早上11点开始。呵呵。
他们火急火燎掏出手机下载更新,偏偏临时买的日本手机卡网速还不怎么快,他们不敢用酒店的WiFi,旁边可能就住着对手,对于这帮人来说,黑掉酒店 WiFi 太简单。
科恩实验室的一众小伙伴只能挠着手伸着脖子皱着眉,眼巴巴看着进度条一点一点往前耸动。
此时他们也不清楚这个更新意味着什么。更新之后需要花时间检测之前写的漏洞利用脚本还有还有效,如果失效,可能是漏洞被修补,也可能只是因为攻击环境发生变化,这些都要一步步确认。之后还要重新确定方案,移植攻击代码到新的环境。这些都要在寥寥数小时内完成。
科恩实验室选手傅裕斌正在iPhone 7 破解,明显能看出额头冒汗,有些紧张
他们没说比赛前一天晚上他们具体做了什么,但若你在比赛现场,能直接从他们脸上读到紧张和疲惫。“虽然我们赛前准备了好几套 iOS 的漏洞方案,但没想到苹果这么绝,半夜两点发补丁,时间太紧了,简直逼着我们通宵。”陈良补了一句。
破解比赛这事儿还有点运气成分。科恩实验室抽到第一个上场的签,项目是破解三星 S8。按常理,第一个出场优势巨大,因为 Pwn2own 有个“撞洞”规则,如果两组选手使用了相同的漏洞,后出场的被判定无效。
然而,这次率先出场的幸运儿却偏偏遇到个邪门事。
赛前试验过很多次都成功的三星 S8 破解,现场怎么也不成功。结果弄了半天最后发现主办方闹出的乌龙,他们准备的手机系统版本和原先说明的不太一样,由于第一上场,攻击环境也没有配置好,这让攻击环境出现了问题。
破解演示需要在半小时内完成,发现问题的时候,时间已剩余不多,最终,原本几个月前准备好,信心满满的破解以失败告终。
第一个出场的选手因手机系统环境问题挑战失败
“足球比赛里,哪怕对手假摔,裁判错判你一张红牌,只要裁判定了,你也得认。”虽然事后主办方承认比赛环境出现些问题,但没给重新演示的机会,队友们也认了,“这是比赛,规则就是规则。”
除了明面上破解得分的规则,这场比赛其实还有些观众看不见的对抗。
由于“撞洞”规则,比赛之前参赛队伍会为同一个项目准备好几套攻击方案,根据自己的出场顺序来选择方案,如果出场晚,就用比较偏门的漏洞利用方案,防止和对手撞洞;如果出场早,就用相对常规的漏洞利用方案,尽量让对手“撞洞”。
“你在猜对手用哪套方案,对手也在猜你的方案”为了在博弈中占据优势,他们还会提前了解对手最近的漏洞研究方向,以此推测出对手可能使用的漏洞利用方案。“这都只是比赛策略,前提是你拿得出多套破解方案。”陈亮解释道。
除了和比赛内的对手对抗,参加 Mobile Pwn2Own 的所有人还将遭遇“隐性的对手” ,比如韩国神童黑客 Lokihardt 。
此前这家伙曾在多次独自参加 Pwn2Own 黑客破解大赛,一人单挑多个来自中国、美国、欧洲的队伍。去年被谷歌“招安”后一门心思挖漏洞。科恩实验室的小伙伴透露,赛前的几个月里,这个老对手不断提交漏洞,由于比赛只能用未提交过的漏洞。
他们不得不放弃已有的漏洞利用方式,重新调整攻击策略。
“提前准备好漏洞和利用,到现场就这么一演示,看背后远没那么简单。” 听完科恩实验室选手们的讲述,在场一位记者有些感慨,他问陈良,中国黑客在世界处于什么水平,陈良说,“早些年还觉得一般,这几年越来越觉得中国黑客已经达到在世界顶尖水准。”
后记
在这个故事里,科恩实验室是中国黑客走向世界顶尖水准的一个代表,他们只是众多中国安全研究队伍的一支,比赛也只是所有安全研究里的小小缩影。
中国黑客走向世界,背后有多少艰辛,不为外人所理解,我不知道。但我从他们的描述中能感受到一条又一条常人看不到的竞争规则,这些规则共同构成了残酷的丛林法则。
无论如何,祝他们好运。
科恩实验室参赛队伍获胜后的现场合影
本文作者谢幺,微信号:dexter0,欢迎各路实验室、研究者、白帽子、安全会议和厂商找聊。
---
联系客服