五月一个周二的早上,25岁的在读博士生Robert Xiao目不转睛地盯着自己的MacBook——他的视线在Windows、OS X与Linux之间往来疾转,耳机中则播放着韩国独立流行乐。他已经在计算机前奋战了22个小时。
在他身边,也就是首尔世贸洲际酒店的主宴会厅,十支参赛队伍各自坚守着自己的阵地,语调平和地彼此交流。有些人在快速输入,有些人则在屏幕前发呆,努力不要睡意将自己吞没。
他们在这里共同竞逐一项赛事的冠军宝座。但这绝不是什么课外活动之类的小儿科——在这场CTF对抗中,各团队需要顺利解决依照现实世界中安全漏洞构成的安全问题。这听起来有点深奥,实际上是相当深奥,不过这个世界给天才们开出的价码同样令人艳羡。今天上午,Xiao参加的这场Codegate正是全球最负盛名的安全赛事之一,拔得头筹得的队伍将获得3000万韩元资金,相当于17.6万元人民币。
Xiao效力于卡耐基-梅隆大学的Plaid Parliament of Pwning(简称PPP),其曾于2011年与2014年两届Codegate大赛上夺魁。另外,该团队也一直以善于吸收新鲜血液而著称。作为团队中的新成员,Xiao同学表示压力很大。他需要证明自己有资格留在这支黄金舰队当中,并能够与其他成员配合以发挥最大价值。
E安全百科:
PPP(PLAID PARLIAMENT OF PWNING)——近几年崛起的超神明星战队,来自美国CMU(卡内基梅隆大学),队内有Geohot神奇小子和Ricky两位国际最高水平黑客作为双子领军。被XCTF全国联赛共同发起人与执行组织者诸葛建伟老师称为超强战队。
团队口号:PPP FOR Life!
2010年开始成长,USB ICTF 冠军,Rooted Con 冠军,Codegate 进入决赛,第二名。
Defco预赛13名,进入Defcon 18总决赛后补队伍,实际已经进入,但没有成行。
2011年开始突破,或得至少3个冠军,DefcoN 19预赛第7进入决赛,决赛也是第7.同时开始举办比赛PlaidCtf
2012年已经出于TOP3,在各大比赛中基本都名列前茅。可惜的是Defcon 20决赛获得亚军。CTFTime 总排名也是第二。
2013一骑绝尘,再无人望其项背。Defcon 以绝对优势获胜,CTFTime 总分和第二名已经拉开很远的距离。
2014年PPP包揽了GitS和CodeGate冠军
2015年CTFTIME全球排名第一
2016年暂列全球第二名
“我从没面对过几百叠现钞。大家永远不会想象得到参加这样的编程竞赛会带来这样的收益。”
作为最杰出的CTF参与团队之一,PPP每年能够拿下5000到65000美元不等的奖金收入。一般数额在35000美元上下,全部是绿油油的现钞。“这有点那种老派黑帮给手底下人发钱的感觉,只不过对象换成了一群技术爱好者,”该团队队长Ned Williamson表示。他还记得自己第一次把资金塞进公文包的情景。“我从没面对过几百叠现钞。大家永远不会想象得到参加这样的编程竞赛会带来这样的收益。”
其中大部分资金来自韩国与中国组织的赛事,而比赛提供的高额奖金支出也强调了各国对于计算机安全的高度关注。PPP的奖金主要用于回馈团队成员、支付经费开销以及比赛旅行等等,这支团队也在尝试将资金分配工作正规化。”我们意识到,出于税务的考量,最好不要通过国际电汇的方式把数万美元打进某人的户头,”PPP前队长、现任队员Tyler Nighswander表示。
即使是在调整之后,PPP的组织形式仍然相对松散,其中包含十几名常规成员,包括CMU本科生、博士后、硕士以及工作人员。大部分成员出身计算机科学、电子工程或者计算机工程学科;除了常规学习班之外,他们还会在每周五晚召开会议,针对特定问题或者计算机安全漏洞技术进行讨论,希望通过这种头脑风暴的方式找到新的突破口。
这支队伍组建于2009年,当时师从计算机安全、恶意软件与漏洞分析专业David Brumley教授的一名学生希望能够由此打造出又一股冲击CTF冠军的力量,而Brumley教授则全力为其提供指导支持,甚至允许成员使用他在学校中的研究实验室。除了提供活动场所之外,Brumley教授甚至还为团队的赛事行程提供赞助。“我的想法很简单,如果他们希望有所建树而且确实拥有这样的实力,那我就应该促成这一切,”他表示。他的早期支持显然获得了回报:根据CTFTime.org网站的排名,PPP在2011年到2015年间一直在冠军与亚军之间浮动。
在Codegate的赛程末段,Xiao找到了一项可以利用的bug。这正是他一直在寻求的机会所在:他需要借此访问程序深埋于内存中的特定字符串。但问题在于,为了抵御这样的攻击,内存会以随机方式进行地址布局——他不知道自己需要的字符串到底被保存在何处。一般来讲,这时我们需要寻找其它错误,并借此判断字符串的正确地址。但时间不多了,Xiao所代表的PPP虽然仍然暂时排在记分榜首位,但位列第二的团队一直紧追不舍。
Xiao的漏洞利用尝试可能在一万次实验中只能成功一次,但他没有时间或者精力以同样的方式找到其它bug。因此,他决定孤注一掷,以暴力方式运行代码找到寻获正确的字符串——换言之,他把剩下的时间全部用于尝试。目前他手头并没有能够重复运行该代码的程序,所以他需要抓紧时间将此程序构建完成。
接下来,他需要让自己的代码运行在目标计算机上——但其并未正常起效,他直到最后也没能找到原因。计时结束,位列第二的队伍解决了问题并一举超越PPP登上榜首。
虽然后来有证据表明在最后关头翻盘的队伍接受了外界帮助,并因此被取消冠军资格,但Xiao对自己的结果仍不满意。返回酒店后,他没有因失而复得的冠军而振奋,反而继续对代码进行审查。他发现自己遗漏了一行代码;无需迟疑,他完成了修复并重新运行。40分钟后,预期中的结果出现了,他这才安心躺倒在床上。
“团队中的很多朋友都会因难题而着迷,他们不断尝试直到找出解决办法,这类工作往往需要耗时数天,”Nighswander解释称。在俄罗斯的一场比赛中,他曾被一项极具挑战的加密难题所阻挡。比赛结束后,他继续尝试并耗费了40多个小时对方案进行完善。最终,原本需要数个小时方能破解的谜题现在已经能够在10分钟内得到解决。
Xiao是个沉默并时刻专注于内心难题的人,但在谈到CTF夺旗竞赛时,他的双眸顿时闪亮起来。尽管他的专业方向为人机交互——几乎与安全完全无关——但他的执着与才华使其很快成为团队中最出色的成员之一。他的本科专业是数学,他也喜爱填字游戏(例如参加微软的学院益智挑战赛),乐于解决密文、填字与逻辑难题。
Xiao同时也是个谦虚的年轻人,他将自己的成功归结于丰富的CTF竞赛参与经验与才华横溢的团队成员们的提携。每位成员都拥有自己的专长:Xiao本人精于二进制开发,而其他朋友则专注于逆向工程、解密或者网络入侵。
CTF竞赛帮助学生们扩展了自己的非正统技能储备,Burmley指出,并表示他们能够通过CTF竞赛了解并掌握多达20种漏洞利用技能。“在现实生活中,我们永远不会拥有这样广泛的涉猎能力,”Brumley强调称。这些安全竞赛带来了一种迥异于常的思维方式,参与者不仅需要考虑已知攻击途径,同时需要凭借创意找到新的突破口。“学校不会指导学生如何攻击计时信息、错误信息或者在加密类中填充指示标记,”Brumley表示,但在竞赛中掌握的这些知识将最终帮助这群年轻人击败同样未接受过类似训练的软件开发者。
这些技能在市场上拥有旺盛的需求。“我们的团队会从各国防承包商、苹果、Facebook、谷歌以及领英等厂商处收到群组邮件,”Nighswander在采访中指出。“他们的意见基本一致——如果你在CTF竞赛中拥有良好的表现,那么肯定也拥有足以为其效力的精湛技术。”
“他们的意见基本一致——如果你在CTF竞赛中拥有良好的表现,那么肯定也拥有足以为其效力的精湛技术。”
当然,卡耐基-梅隆大学是美国顶尖高校之一,而CMU教育也在CTF竞赛当中发挥了显著作用。“我认为很多人都忽视了高校教育带来的背景知识在这类紧张对抗中的重要意义,”Brumley表示。他同时指出,学生们用于构建攻击工具的知识恰恰源自大二阶段的计算机系统基础知识。
不过日常课程与考试显然不像提供大量奖金的CTF竞赛那么具有吸引力。Williamson指出,尽管他乐于在课堂上解决各类问题,但在面对家庭作业时则完全失去了热情。“有趣的是,这种在课堂上积极求知而非一味强调绩点以顺利毕业的心态,反而让我学到了更多,”他表示。
CTF竞赛让参与者们迎来了远超课堂的广泛施展平台。作为一位新生,Williamson的一项家庭作业要求其编写一套模拟其它计算机系统的仿真器。当时这对他来说似乎是一项极为艰难的任务,甚至堪称整个本科阶段的终极目标。然而如今,他已经开始频繁地从代码托管平台GitHub上搜索半成品仿真器,并以此为基础在比赛中构建属于自己的针对性武器。“在接触CTF竞赛之前,我一直觉得为了解决某项问题编写一套完整的仿真器简直就是天方夜谭,”他指出。“但现在我发现自己已经习惯了这种原本看似极为困难的解决方案。”
E安全/文 转载请注明E安全
E安全——全球网络安全新传媒
联系客服