白帽黑客教主 TK 告诉你,黑客的游戏 CTF 究竟是什么 | 硬创公开课总结文+视频
知乎里曾有一个热门回答“智商被碾压是一种怎样的体验”。 由于经常面对异常机智的黑客,雷锋网编辑捂着胸口,表示小心心好痛。但是,如果是看着一群高智商黑客互相“碾压智商”,开展一场技术、策略与智商的较量,感觉还是挺爽的! CTF(Capture The Flag)就是这样一种较量,它又被称为“夺旗赛”,是网络安全技术人员之间进行技术竞技的一种比赛形式,起源于1996年DEFCON全球黑客大会,以比赛形式代替黑客们之间的真实技术比拼。 也就是说,这是一场实打实的火拼啊! 这次,雷锋网宅客频道邀请到了国际顶尖白帽黑客、腾讯安全联合实验室旗下玄武实验室负责人,在国内黑客界被尊称为“TK 教主”的于旸与腾讯安全联合实验室旗下科恩实验室安全研究员腾讯 eee 战队队长谢天忆主讲这次公开课,聚焦 CTF的历史和信息安全人才培养,以及前不久举办的腾讯信息安全争霸赛(TCTF)线上预赛试题解读等内容。 【TK教主(左)、谢天忆(右)】 以下是公开课总结文实录+视频,在不妨碍原意的表达上,雷锋网编辑对该实录略有整理和修订: 一、TK 教主发言记录大家好!我叫于旸,从事安全技术研究工作已经有15年了。爱好比较广泛,接触过很多类安全技术。精通的较少,主要擅长的还是软件安全方面。我现在在腾讯负责玄武实验室的工作,如果你是一个安全爱好者,可以在搜索“腾讯玄武实验室”的微信公众号或微博账号,我们每天会推送国际上最新的安全技术信息。 CTF是什么? 这个概念是从欧美传过来的,字面上是“夺取旗帜”,原本是西方的一种传统户外游戏,相当于我们的丢沙包或者跳大绳。原始的 CTF每个队伍真的有一面旗帜。比赛目标就是夺取位于对方“基地”的旗帜,并带着旗子安全返回自己的基地,当然,实际规则还要更复杂一些,比如还有“监狱”的概念。 后来,“夺旗”的概念也被引入信息安全攻防比赛。因为在比赛中,选手需要通过解开题目,或攻破目标夺得“Flag”。 现在,我们用CTF来代指信息安全领域的夺旗比赛。 CTF 的比赛形式有以下几种: 1.真的是“题目”的解题模式,包含逆向、漏洞(也称攻防)、算法、审计、综合……,难度不一,分值不一,越难的题目分值越多。 逆向题一般是一个二进制程序,Flag 就藏在这个文件里,需要选手有高超的逆向技巧,找出 Flag。 漏洞题一般也是给二进制程序,选手需要从程序中找出漏洞,并写出漏洞利用的攻击代码。虽然做漏洞题一般也需要逆向技巧,但对漏洞技术要求更高,用写出的漏洞利用代码实际攻击成功,才能取得 Flag。 算法题是指算法分析题,给你一段某种算法处理过的数据,选手需要对付一个或多个算法。 审计题给出的文件就多种多样了。可能是一张隐藏了信息的图片,看起来像风景照或者人像,但其中有线索指向某个 Flag 。也有可能给你一个网络数据包,包含大量网络通信数据,需要你分析。 还有一些难以归类的题目,或者由几类题型组合的题,称为综合题。 解题模式是比较常见的模式,不少 CTF 都选择这种模式,特别是在预赛阶段。 2.攻防模式。 这个模式更加热闹和刀光剑影。因为,它真的是队伍之间进行攻防。攻防模式一般可以分为三种: 第一种,每一支队伍一同攻击同一个目标,考验攻击能力; 第二种,所有参赛队伍进行防守,遭受攻击,考验防守能力; 第三种,结合前两种,综合考验攻防能力。这种模式对技术、战术、策略要求更高。一般是回合制,一个回合五分钟。可以按照自己的策略选择优先攻击或防守,打谁不打谁,队伍自己决定,一个回合暂停一次。 还有一种模式,这种模式在国内不常见,称为“King of The Hill”,我把它叫做“山大王”——大家同时攻击一个服务器,比谁占领服务器的时间长,保持自己的控制权,不被别人干掉。这其实和传统夺旗更像,守好自己抢夺的东西,也被人称作“懒人的 CTF”,因为占领方有很大优势,有时候可以打得比较悠闲。 CTF 现状 近几年,国际、国内的CTF种类越来越多。举办CTF的组织方各有目的,有些有政府背景,比如,韩国的 Codegate CTF;有些是战队办的,比如,PPP 的 PlaidCTF,这种比较常见;有些是企业办的,比如腾讯的 TCTF ;有些是安全会议牵头办的,比如著名的 DEF CON CTF,实际具体操办的也是战队。DEFCON CTF是目前还在办的历史最悠久的CTF。最早一届DEFCON CTF 是1996年办的。 刚才提到的这些都是公开的CTF。还有一类是不公开的 CTF,不会公开征集报名,开展预赛之类。比如,有些国内、国外企业会举办面向内部员工的 CTF。另外,从公开信息可以了解到,美国国防部从 2014 年开始举办名为“CyberStakes”的 CTF 。美国国防部有一个网络安全人才的培养计划,目标是花3年时间在美国军队里培养 4000 名安全专家。而且标准很具体,要求会挖漏洞,会写Exploit。训练的一个环节就是CyberStakes”。而且他们邀请了 David Brumley 教授来授课。这位教授是 2016 年 CGC 最后 7 支入围队伍之一 ForAllSecure 的创始人。CGC 是 CTF 历史上的转折点,不再只是人和人打,而是和机器打。他们招募了一些队伍设计了一套系统,和人类战队打 CTF。就像阿法狗与人类下围棋一样。不过,CGC最后的战胜队还是人类队伍。虽然机器队伍没有横扫千军,但也不是最后一名,还是有两支人类队伍输给了机器。 所以,在安全攻防领域,至少在 CTF 领域,目前人类虽然依然保持优势,但毕竟也有两支失败的队伍,所以,大家要努力。 CTF这两年在国内的发展 (编辑:ASP站长网) |