那些长情的黑客
2018/7/11 11:30:00 浅黑科技
浅友们大家好~我是史中,我的日常生活是开撩五湖四海的科技大牛,我会尝试各种姿势,把他们的无边脑洞和温情故事讲给你听。如果你特别想听到谁的故事,不妨加微信(微信号:shizhongst)告诉我。
那些长情的黑客
文 | 史中
2015年,我认识了 MJ。
在一次黑客大会上,他轻轻点击一下鼠标,缓缓移开双手, Windows 系统沉吟半晌,猛地弹出一张图片——“Hello World”。全场安静,一秒之后,响起雷鸣般的掌声。
我时常回想那一幕,在那一瞬间他满足了我对黑客的完整想象:
如果他想,只需要一个链接,十秒钟,世界上任何 PC 都可以被他“一波带走”。
周鸿祎比我早十二年认识 MJ,这也是 MJ 现在身处 360 的原因。
MJ 有不少名字。工牌上是“核心安全事业部总经理 郑文彬”,他的 ID 全称叫做“MJ0011”,老周喜欢用他十年前的旧称:“马甲”,江湖上的黑客迷弟迷妹们称他为大神,而 360 的同事称他为“J总”(勾总)。
MJ:朕就是这样汉子
MJ 在 360 大厦的办公室所在楼层很高,虽然不大,但四面墙中的两面都是落地窗。这说明,他在整个大厦的“Edge”位置,这让我联想到了他在世界大赛上用漏洞三番五次远程打穿的 Edge 浏览器。
如今,老周把 360 核心安全的所有技术业务和几百号黑客大牛,都交在他的手上。他的 Title 也已经成为 360 助理总裁,如果他看上去像一个油滑的老干部,没人会觉得意外;但实际上,他仍然散发出百分之百的黑客气场。
他所做的事情之细致具体,让我每每叹为观止:
比如他仍然会自己维护一些 360 产品的代码,一如十多年前他做的那样。
比如他会两天两夜不睡觉,只是为了在黑客大赛 Pwn2Own上调试一个漏洞。
比如他亲自操刀雕刻出一个“世界黑客大师赛”——WCTF。
这次他坐在我对面,或者说我坐在他对面的原因,就是WCTF 2018。
(零)WCTF
如果你看到英文就头晕,那么我直接给你个简化版对照表:
CTF = 黑客大比武。
WCTF=世界顶级黑客大比武。
黑客需要比武吗?目测是的。和足球队一样,全世界的黑客们也会组成战队,各个战队在不同的大赛上轮番交手。他们的排名会在一个叫做“CTFTIME”的网站上实时更新。WCTF 就在 CTFTIME 上从高到低,邀请十支队伍来参赛。这种强强对决的感觉有点像黑客界的世界杯。
CTFTIME 上
各战队的实时排名
但有一个略尴尬的事实:你去问问身边的朋友,十有八九不知道这世界上还有“黑客大赛”这种存在。我得承认,黑客大赛并不被普通人关注。
这并不是因为比赛本身不屌不精彩不抓马不炸裂,而是因为人们压根看不懂它哪里屌哪里精彩哪里抓马哪里炸裂。
原因很简单:
所有的网络攻防都是代码世界里的暗流涌动。无论对抗多么激烈,你看到的永远是一堆人坐在那里,表情木讷,生无可恋。本来是 avi,但看上去却跟 jpg 一样,绝对是治疗失眠的良药。
这次参加 WCTF,本来我期待看到一场和其他 CTF 一样的 CTF,但是我被眼前的景象惊了。
它更像一场真人秀。
暗色的大厅里,十支队伍拱卫在主席台周围。一旁肃立着选手们将要攻击的服务器,前面一堵超大的屏幕,各个队伍的 Logo 在上面永不停息地旋转,热血的音乐四散奔突,撞击着周遭的墙壁。
选手们看到大屏幕上的特效,
纷纷口交称赞。
战队的选手们被气氛感染,他们并不像是临时进入这个大厅比赛的局外人,而仿佛是生于斯长于斯,守土有责的战士。在闪烁的灯光音乐下,喜怒哀乐都被放大。智力变成了一种有重量的物体,随着拼杀躲闪而在空中四散喷溅。
我突然意识到,这不是一场比赛,这是一个作品。
它的作者,毫不意外,就是主席台前的 MJ。
MJ 在主席台上
(一)三个细节
一般的 CTF 比赛,是主办方负责出题,看哪支队伍解出来得多。就像奥赛一样。
而 WCTF 的比赛规则却是选手自己出题:
十支队伍,每队都得出两道题。总共二十道;
每支队伍都要试着解出十八道题(自己的两道不用解。。。);
比赛分三天,前两天是做题时间,根据答题数量计算各队总得分(但这还不是最后得分);
第三天是演讲时间,每个队把自己的出题思路分享给评委和其他队伍,后者为他们打分;
每个队的总分就是答题得分+演讲得分+杂项(参与过程是否犯规等等)。
这有点像朋友聚餐,每人带来两道拿手菜,大家一起吃。吃完之后朋友们还要对其他人的菜点评一番。
我给你介绍一下,这次的参赛队伍是:
Eat,Sleep,Pwn,Repeat:来自德国的战队,队名的意思是:吃,睡,破解,重复。他们目前世界排名第二。
Shellphish:非常老牌的美国战队,几乎每次高级别的 CTF 比赛都能看到他们的身影。
Dragon Sector:来自波兰的战队。特长是喝酒。2017年和2018年蝉联 CTFTIME 第一名。
Tea Deliverers:来自中国的战队。意思是“给大佬递茶”,表现了中华文化谦虚谨慎戒骄戒躁的美德。。。
0daysober:来自法国、瑞士、美国、刚果的联队,战队名意思是:没有一天是清醒的。可见他们的特长也是喝酒。
R3kapig:来自中国的战队,是由 Eur3ka 和 FlappyPig 战队组成的联队。
LC?BC:来自战斗民族的战队,他们以脑回路清奇著称,之前曾黑掉主办方的电脑直接拿到赛题答案。
Cykor:韩国战队,里面有个漂漂小姐姐。
Binja:来自日本的老牌战队。
TokyoWesterns:来自日本的战队,因为成员都生活在东京的西郊石景山附近,所以取了这个名字。
也许你对黑客战队不太熟悉,你可以这样理解:这些队基本上就对应了足球界的德国法国西班牙。(你看,中国黑客战队可以和世界顶尖强队同台竞技,可见中国黑客战队水平是远超中国足球的。)
所谓内行看门道。既然我自诩半个内行,那我就先跟你聊三个外行看不到的细节。
1、虚拟世界
由于来的都是全球顶级的黑客战队,他们带来的题目绝不是小孩子过家家。事实上, 几乎所有的题目都需要跑在比较复杂的虚拟环境中。
你还记得《盗梦空间》吗?主人公的每一层梦境,都是他靠脑力搭建出来的一个虚拟世界。而在 WCTF 的比赛里,每一道题就是这样一个梦境。也就是说,工程师需要为二十道题目搭建二十个“虚拟世界”。
有人说,WCTF 比其他 CTF 好搞,因为主办方连题都不用出。但其实根本不是这样。虽然我们能够提前拿到答案,理论上不用自己解题。
但我们的难度是把非常复杂的题目布置在服务器里,如果自己不研究清楚题目的来龙去脉,怎么可能完成环境布置?
MJ 说。
这里需要给你普及一个潜规则:大多数 CTF 比赛,主办方都不会自己搭建比赛环境,而是花钱找专门的公司帮忙。第一届 WCTF 的比赛环境,也是别人搭建的。但是从第二次开始, MJ 决定不用别人帮忙。
面对复杂的东西,他只相信自己。
于是,360 技术团队里这些平时挖漏洞、做产品,身价不菲的大神们瞬间化身“造梦师”,亲自搭建环境。但即使是这些大牛,在比赛前的最后一星期,他们都是没日没夜地干,才建成了这样二十个恢弘的“虚拟世界”。
在现场支持的技术人员,
他们都是低调的黑客大牛。
2、心跳
刚才说过,黑客大赛最“难言之隐”的地方就是,很难让观众体会到其中的激烈。
这其实有点像现场观看 F1 赛车比赛。大多数观众看到的,就是汽车无聊地一圈圈跑。最精彩的超车画面,往往持续一秒钟都不到,你刚转过头去,车已经超完了。所谓“开始了吗?已经结束了!”说的就是这种情况。
今年4月,F1 上海站的观众席里,就坐着一位神秘的大佬——MJ。
我看到转播画面上有一个牌子,专门展示两个车距离非常近的情况,观众的注意力就自然被吸引过去了。这时如果后车超过前车,就会有一个动画效果,特别炫酷。观众感觉很过瘾。
MJ 说。
我去不了 F1 现场,
从秒拍视频给你们截个图吧
于是,他“逼”着并没有去现场看 F1 的兄弟们在 WCTF 上也加入了这种玩法:
当两个队的分差小于一道题的分数时,两个队的名字就会展示在大屏幕上,所有选手都能看到。
这还不够,现场音响会放出“砰砰”的心跳声。如果这个时候落后队伍提交了一个答案,就会瞬间有一个炫酷的爆炸效果。完成名次更迭。
本来还有同事觉得,这种奇技淫巧只是 MJ 执拗的小花活。
没想到这个设计果然堪大用:WCTF 比赛剩下最后十分钟的时候,Eat 队解了两天的题目终于拨云见日,小哥抑制不住心底的荷尔蒙狂吼出来,而现场音效的心跳逐渐加速,所有人都望向屏幕。随着一声炸裂,他们超越了对手。每一个队伍都站起来为他们喝彩,一时间口哨、掌声齐鸣。一个 CTF 赛场俨然成为了泰森的拳台。
现场“炸裂”时候的效果
技术限制,没办法配音效了
3、神曲
在两天的比赛过程里,是全程伴随热血的声光电和背景音乐的。
让我印象深刻的是:现场每一支音乐都非常炸裂。特别是当我在现场听到一首熟悉而又魔性的电音 REMIX,然后不自觉地跟着哼“互撸娃,互撸娃,一根藤上七朵花。。。”瞬间有一种走进了 Live house 的既视感。
我把这个感受告诉 MJ。
因为现场所有的歌单都是我自己选的。音乐只有两种:合成器浪潮和赛博朋克。这是两个比较相似而小众的类型,是八十年代复古的电子游戏、科幻电影的产物。
不仅是你喜欢,比赛结束后,很多老外选手都来和我要歌单。我把一部分歌单传到了网易云音乐账号里,还有中国选手追到了那里,在那首“葫芦娃”下面留言点赞。。。”
他说。
MJ 的网易云音乐都被粉丝攻陷了。。。
说到这里我才注意到,他的办公桌上摆着一个华丽丽的音响,认识 MJ 这么久,我只知道他是个壕,但并不知道他是个音乐发烧壕。
。。。
。。。
。。。
我已经贴心地帮你查好了价格
鉴于音乐的美感很难用文字形容,我特意 Fo 了 MJ 的网易云音乐循环播放,想听 WCTF 2018 现场音乐的童鞋,可以加我微信找我来要。
(二)两道赛题
MJ 的内心有两根弦。
一方面,他知道黑客大赛受众很窄,需要降低普通人欣赏的门槛;
一方面,他本人又是个顶级黑客,他只允许自己办出技术最屌的黑客大赛,所以他规定 WCTF 的技术水准不能低于世界上任何 CTF。特别不能低于 CTF 的“鼻祖”,目前最受瞩目的美国 DEF CON CTF。
本次比赛的全·二十道题目
和各个战队答题得分
(点击可以看大图)
所以,这二十道赛题其实才是 WCTF 精华中的精华中的精华。
我不是针对谁,我是指在座的各位,受制于那你们的知识水平,很难体会其中让人瞬间高潮的人间大美。
至于我,就比你们幸运多了,我可以用恳求的眼睛看着 MJ,让他给我讲两道比较屌的题目:
题目一、黑掉火箭
说到民用火箭,如果你只听过马斯克的 SpaceX,那就弱爆了。
告诉你,在风景如画四季如春的刚果,同样有一家造火箭的公司。他们最近几年,已经连续试验发射了五代火箭。
这是火箭的众筹页面
当然,第四代火箭升空到五万英尺发生了爆炸;第五代火箭好一些,刚发射就爆炸了。
给你看看油管上的新闻报道:
为火箭喷漆
组装火箭
军政要员列席
火箭在地面爆炸
主播小姐姐不厚道地笑了
而第六代火箭的核心软硬件,恰恰是 CTF 战队 0daysober 成员帮他们设计的。于是,战队二话不说,就把火箭的模拟器带到了 WCTF 的现场,作为一个赛题让大家破解,这种题目的实战性有多强你体会一下。。。(当然,他们故意在火箭里留了一个漏洞,以保证题目肯定有答案。)
这道题目叫“对流层六号”(就是火箭的代号 Troposphere 6 IPC),需要理解这个硬件特殊的运行模式,最后利用 CPU 里一个特殊的中断机制达到破解。
MJ 说。
你可能会问,现场有人搞定火箭了吗?
答:没有。
题目二、外星人都做不出来的题
这是一道神坑的题。来自 Shellphish 战队。
要理解这道题的坑,首先你要知道数学史上一个经典的未解之谜——Party 难题。
Party 难题的大意就是:你要请一群人到你的 Party,保证既没有 n 个人不认识其他所有人,也没有 n 个人认识其他所有人。这种情况下,你最多请几个人?(反正看到这我已经阵亡了)
这个问题被描述为 R(n,n) 。
我可以告诉你,过去的人类用了几百年的时间,只解出了两个答案:
R(3,3)=6
R(4,4)=18
至于后面的,目前地球上所有的数学家都处于“臣妾做不到”状态。
R(5,5)=?
R(6,6)=?
...
出题的 Shellphish 战队在分享环节中讲了个笑话:
如果外星人现在来到地球,让地球人在两年时间内解出R(5,5)问题,否则就要消灭人类,这时人类应该动用全球所有的计算资源,在两年之内试着解出这道难题;
如果外星人现在来到地球,让地球人在两年时间内解出R(6,6)问题,否则就要消灭人类,这时人类应该用剩下的两年时间,好好研究一下武器,准备决一死战。
你瞅啥?瞅你咋地?
OK,Shellphish 这道题,如果你按照步骤一步一步做,到了最后一步,就会碰到 R(5,5)问题。
此时你有两种选择:
1、退回去寻找其他解法;
2、解开R(5,5)问题,完成人类数学史上的突破。。。
选择第二条路的选手,必跪无疑。实际上,这道题不仅考验黑客的黑客水平,甚至还考验黑客的数学常识。(你要知道R(5,5)问题目前是无解的)
所以平心而论,这既是一道伪装成奥数题的黑客题,也是一道伪装成黑客题的奥数题,到最后,也不知是伪装成奥数题的黑客题打了伪装成黑客题的奥数题一鳎目,还是伪装成黑客题的奥数题打了伪装成奥数题的黑客题一喇叭。。。。
MJ 告诉我,当组委会拿到这个题目的时候,把 360 技术团队里的密码学博士都给惊动了。
像这样虽然难的一比,但又十分有趣的题目还有很多。
比如还有一道题目,完整地模拟了一个区块链系统,里面既有币,也有智能合约。而最终,选手需要把几个区块链常见漏洞和几个极其偏门的漏洞组合起来,才有可能破解这道题目。
再比如,有一道题必须用到 Intel 最新的处理器。MJ 从 360 机房费劲气力申请了一台带有最新处理器的台式机,却发现需要修改 BIOS 才能使用,最后索性直接用一台笔记本,上面跑了9个虚拟机来运行这道题目,让这些队伍来虐。
WCTF 2018
比赛最终结果
(点击可以看大图)
这二十道题目,用 MJ 的话说就是:
虽然有难度,但难的有道理;
虽然可能解不出,但能学知识。
最终,20道题中只有13道被战队解出来。其他7道,至死都还是处子之身。MJ 说,今年其实还好,去年26道题目,只解出来了11道。。。
不过,面对这么低的解出率,MJ 并不焦虑。他觉得,世界顶级战队出的题,当然应该难。而且题目难本身就是 WCTF 的风格。
(三)长情的黑客
很多人觉得黑客的世界充满危险和暴力。
我要说,没看过 WCTF,你还真不知道黑客有多简单和纯情。
比赛结束了。前三名战队瓜分十万美金的奖金(第一名5w,第二名3w,第三名2w,第四名以后直接回家)
有人问获得第一名的 TokyoWestern 战队的小哥:你要用奖金来做什么?
他说:我要买一个正版的 IDA(一款价值3000多美金的反编译工具),以前一直用盗版,太不好意思了。
瞬间,我就回想起我去东京的时候,恭敬地买了一张波多野结衣的正版作品。这大概是一种哲学意义上的异曲同工。
至今没开封的波姐
其实,这些年轻的黑客,像极了从前的 MJ。
老周最初找 MJ 统领技术团队的时候,MJ 是拒绝的,他的回答很干脆:我只想做技术。老周坐下来把自己对未来的计划一五一十跟 MJ 讲完,然后语重心长地说,你不帮忙,这摊子事儿就不好做起来。
我决定了做这件事,就要把它做好。
MJ 对我说。
于是就有了第一届 WCTF,于是有了第二届 WCTF,于是有了今年的第三届 WCTF,于是将会有明年第四届 WCTF。
与此同时,两年前 MJ 不仅负责集团安全的技术线,还兼任 360 Vulcan 团队的老大,带领兄弟们扫遍天下漏洞。远赴日本、韩国、加拿大参加破解比赛,神挡杀神佛挡杀佛,死磕一切国外国内黑客,让 360 的安全实力在公众心中声名远播。创造了属于他的时代。
偶尔在比赛现场遇到他,他从来都是一副专注的神色,或者自己敲着键盘,或者在角落里看着队员。那一次他为了调破解漏洞两天没睡,回来大病了一场。病好之后,他对比赛的评价是:“爽”。那年赢回来的 Master of Pwn 奖杯,是他办公桌上为数不多的摆件。
在这一瞬间,我突然可以理解,为什么他能事无巨细地为了一个黑客大赛奔忙,为什么他能够做出像艺术品一样的远超百度、阿里、腾讯,全中国最好的 CTF 大赛。
开玩笑时,1987年出生的 MJ 把自己称为老年黑客。不过,有人因为衰老而感觉不到世界的美好,但他恰恰相反。
MJ 曾为 360 Vulcan 团队写下 Slogan :Live long and Pwn
有人把它翻译成:生命不息,破解不止。
如今这句话又萦绕在我的脑海,我把它翻译为:
唯有长情,方知热爱。
再自我介绍一下吧。我叫史中,是一个倾心故事的科技记者。我的日常是和各路大神聊天。如果想和我做朋友,可以关注微博:@史中方枪枪,或者搜索微信:shizhongst。
不想走丢的话,你也可以关注我的公众号“浅黑科技”。
----点击图片阅读更多精彩文章----
----想看更多请点击下方阅读原文----
中国黑客的精神食粮
http://weixin.100md.com
返回 浅黑科技 返回首页 返回百拇医药