一个真实CTFer的自我修养 | 避坑指南

2019 年 7 月 11 日 雷锋网

▲点击上方 雷锋网 关注


你打篮球像 CXK,你打 CTF 像 HYT。

 文 | 李勤 

《亲爱的,热爱的》开播后,网安圈诞生了一个新梗:你打篮球像 CXK,你打 CTF 像 HYT。

XSWL。

上述饭圈用语,请读者自行搜索其中内涵。

本来,大家以为网络安全的春天到了,竟然都有偶像剧以网络安全领域大的“CTF”为背景偷偷摸摸谈恋爱了啊。

这个行业要火!

没料到,电视剧其实是高端黑。

国内顶尖 CTF 战队、腾讯某战队一位不愿透露姓名的 CTFer 小 A 对雷锋网吐槽:“怎么办,我已经入行远远超过六年,我是不是要干不下去了?

不靠谱的电视剧,你知道你伤害了多少 CTFers 的心吗?

太多梗了,我们不一一吐槽,本文的目的是好好科普一下,什么是真正的 CTF 和真正的 CTF 选手。白帽黑客教主 TK 曾来雷锋网直播讲课,好好地科普了一下 CTF,我们先重温一下:


CTF 是什么?


这个概念是从欧美传过来的,字面上是“夺取旗帜”,原本是西方的一种传统户外游戏,相当于我们的丢沙包或者跳大绳。原始的 CTF 每个队伍真的有一面旗帜。比赛目标就是夺取位于对方“基地”的旗帜,并带着旗子安全返回自己的基地,当然,实际规则还要更复杂一些,比如还有“监狱”的概念。

后来,“夺旗”的概念也被引入信息安全攻防比赛。因为在比赛中,选手需要通过解开题目,或攻破目标夺得“Flag”。

现在,我们用 CTF 来代指信息安全领域的夺旗比赛。

CTF 的比赛形式有以下几种:

1.真的是“题目”的解题模式,包含逆向、漏洞利用、密码学、web、杂项,难度不一,分值不一,越难的题目分值越多。

逆向题一般是一个二进制程序,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 的好处


研究安全技术过程中训练出来的思维能力是很有用处的,即使以后不去做网络安全。我经常跟大家讲的一个案例是,1996 年成立的黑客技术团体“w00w00”的成员中至少包括:

WhatsApp 的联合创始人

Jan KoumNapster(世界最早的音乐共享平台) 的联合创始人

Shawn FanningArbor Networks 的联合创始人

Dug SongNmap 的开发者

Gordon Fyodor LyonCounterTack 的 CTO Michael A. DavisGoogle 元老

David McKayYammer 安全主管

Josha BronsonAccuvant Labs 的 Joshua J. Drake

Veracode 的 Andrew Reiter

这个团体不是特别大,却出了这么多人才。有些人后来虽然没有从事网络安全的工作,但在自己的工作岗位上做得非常出色。

如果,你不但对安全感兴趣,而且想未来从事安全工作,那么就要明白,CTF中的技术对安全工作来说一部分,不是全部。工作中遇到的有些问题可以用 CTF中涉及的知识解决。还有很多问题则需要用到 CTF 之外的技能。

打 CTF 是非常好的安全技术能力训练方式,优秀 CTF 选手在从事安全技术工作时也会有很大优势。不过大多数现实中的安全技术工作其实没有 CTF 中的问题那么困难,但会复杂得多。另外,打 CTF 的目标是得分,处理现实安全问题的时候要考虑更多因素,比如,解决问题的同时还要保持业务运行。

除了和 CTF 相关的技术能力,从职业的角度看,通用能力也很重要。比如,很基本的三点:能想清楚、能写清楚、能讲清楚,这体现了你逻辑是否严密、语句是否通顺、表达是否清晰。有些通用能力对专业能力提升也有帮助,比如分析能力、判断能力、规划能力、搜集能力、学习能力、提炼能力。无论以后你想从事什么工作,在学生时代加强这些能力的培养,对你整个人生都会有很大的帮助。


CTF 常用术语和行规


CTF上的“一血”是什么?

“一血”指在 CTF 及相关衍生比赛最先解出一道新赛题的“动作”。在一些比赛中,拿下一道赛题的“一血”,可能有加分,但更多地是,证明了此题有解,且第一个解题者思维敏捷,是荣誉的象征。在2017年6月此次的 TCTF 中,先拿下“一血”的选手会夺得一枚红色的“旗帜”,随后成功解答者会夺得绿色的旗帜。

“一血”出来后,其他尚未解出题目的队伍也会盯上这道题。“彩旗飘飘,红旗不倒”在这里,绝对是句好话。

解出一道题后,为什么选手得到的分数越来越少……

是的,让人大跌眼镜的是,一道题被你解出后,如果其他高手也解出了这道题,那么你获得的分数会按相应比例减少……你要问了,相应比例是多少?看主办方心情和偏好。

“赛棍”和“搅屎棍”

业内人士把经常参加 CTF 大赛的选手称为“赛棍”,此称呼无褒贬,纯属调侃。

一般 CTF 有常见的两种比赛模式,一是攻防对战模式,就是高手PK,看谁先攻下对方的“老巢”,还有一种解题模式,虽然也是高手对决,看谁分数最多。

还有一种就是“搅屎棍”,指在参赛过程中对平台发起攻击的的选手,这种攻击通常属于搞破坏。为此,在 CTF 等赛事的比赛过程中,要有维护人员“震场子”,及时发现“搅屎棍”的蛛丝马迹,维护平台稳定和赛事的正常进行。

“潜规则”

纳尼?黑客高手对决也有“潜规则”?是的!

正经的规则是,在 CTF 中,黑客赛队对决之前不会像武林高手那样“互报名号”,甚至不会交流。直接在赛题中“厮杀”。

“潜规则”之一是,虽然在 CTF 比赛中,DEFCON CTF 比赛不限制战队选手数量,其他一些比赛会限制赛队选手人数,比如,4名。

但是,一般 CTF 比赛时常从 24 小时—36 小时不等,几个“老司机”在短时间内也无法解出一些很难的赛题,因此,在线上比赛时,请外援也无法知道。线下比赛时,有时选手会传送题目请外援。

这种被有些主办方默许,还有一些主办方当然是拒绝的。比如,曾经有个战队在某次比赛中因为请了“外援”,本来取得了第一名的成绩,被发现后取消了部分成绩,艰难地成为了……第二名。

“端茶倒水”是干吗?

如果对手实在很强,解出了自己所不能解答的题,你不需要像武林高手那样低头认输,只要说为对方“端茶倒水”“摇扇子”即可,“端茶倒水”即表示膜拜。

无论攻防还是解题:一定有一个不眠夜

无论是 24 小时、48 小时,甚至挑战选手体力极限的 72 小时,在比赛中间的夜晚,一定是一个“继续参赛”的不眠夜。


真实 CTFer 快问快答


雷锋网:你们有队服吗?有专车吗?真的都戴着耳机、耳麦坐在舒服的电竞椅上吗?

小 A:肯定不是的啊,我们一般最多派出4名队员坐镇现场打比赛,其他人都在酒店房间窝着,穿着拖鞋打比赛,队服,呵呵。我们不化妆、也不做头发的。耳机嘛,可能会戴的,但是是大家嫌弃现场环境太吵,戴上耳机听歌来着,戴耳麦就有点夸张了,我们一般都现场交流,要么线上沟通战况,我们也不坐电竞椅,不过主办方要是热情,可以优化一下配置。

哦,队服是有的,只在合影时穿一下。

雷锋网:真的可以三行阻挡对服务器的攻击吗?

小 A:记住电视剧里的那三行命令,可以扫描自己的端口(围笑脸),其实如果真的要防的话用一行

iptables -I INPUT -p tcp -s 192.168.233.0/24 --dport 10000 -j DROP。

雷锋网(公众号:雷锋网):片尾显示的三个 CTF 顾问的名字,我从来没听说过,你呢?

小 A:我也没有(围笑脸)。

雷锋网:真实的 CTFer 真的要早上起来集训跑步吗?

小 A:我只能说,那是一类比较健康的 CTFer,我都通宵打比赛了,头发也没梳,脸也没洗,我们都是轮流睡觉,你说呢?

小 A 的若干群友:

“加班才是福报”

“bug 都修不完还锻炼”

“以后写个wp,下面没准有人评论,这是我家爱豆写的exp,请单推哦”

参考文章:黑客高手对决常用术语及行规,一般人我不告诉他

推荐阅读

谷歌拟联手Dish成立美国第四大运营商;科创板现首家终止企业;麒麟810实体芯片亮相

周鸿祎挥别手机圈

美司法部要求法官拒绝受理华为诉讼;百度回应抄袭天猫精灵;三星涉虚假宣传被起诉

百度的“助手”,成了谁的AI?

李彦宏和小度最强互动,王海峰发布鸿鹄芯片,百度音箱大变身


你还在看吗?
登录查看更多
0

相关内容

专知会员服务
54+阅读 · 2020年7月4日
【实用书】学习用Python编写代码进行数据分析,103页pdf
专知会员服务
192+阅读 · 2020年6月29日
【2020新书】从Excel中学习数据挖掘,223页pdf
专知会员服务
90+阅读 · 2020年6月28日
【实用书】Python爬虫Web抓取数据,第二版,306页pdf
专知会员服务
117+阅读 · 2020年5月10日
【中国人民大学】机器学习的隐私保护研究综述
专知会员服务
131+阅读 · 2020年3月25日
【2020新书】数据科学:十大Python项目,247页pdf
专知会员服务
212+阅读 · 2020年2月21日
【强化学习】深度强化学习初学者指南
专知会员服务
179+阅读 · 2019年12月14日
渗透某德棋牌游戏
黑白之道
12+阅读 · 2019年5月17日
差分隐私保护:从入门到脱坑
FreeBuf
17+阅读 · 2018年9月10日
深度学习面试100题(第71-75题)
七月在线实验室
5+阅读 · 2018年8月2日
周末深夜,学妹说她想做Python数据分析师
机器学习算法与Python学习
4+阅读 · 2018年6月7日
深度学习和普通机器学习之间有何区别?
36大数据
7+阅读 · 2017年12月4日
机器学习/算法19家公司面试总结(内含薪资)
深度学习世界
12+阅读 · 2017年11月14日
码农日常工具推荐
架构文摘
4+阅读 · 2017年9月26日
Hardness-Aware Deep Metric Learning
Arxiv
6+阅读 · 2019年3月13日
3D-LaneNet: end-to-end 3D multiple lane detection
Arxiv
7+阅读 · 2018年11月26日
Learning to Focus when Ranking Answers
Arxiv
5+阅读 · 2018年8月8日
Arxiv
3+阅读 · 2018年4月5日
VIP会员
相关VIP内容
专知会员服务
54+阅读 · 2020年7月4日
【实用书】学习用Python编写代码进行数据分析,103页pdf
专知会员服务
192+阅读 · 2020年6月29日
【2020新书】从Excel中学习数据挖掘,223页pdf
专知会员服务
90+阅读 · 2020年6月28日
【实用书】Python爬虫Web抓取数据,第二版,306页pdf
专知会员服务
117+阅读 · 2020年5月10日
【中国人民大学】机器学习的隐私保护研究综述
专知会员服务
131+阅读 · 2020年3月25日
【2020新书】数据科学:十大Python项目,247页pdf
专知会员服务
212+阅读 · 2020年2月21日
【强化学习】深度强化学习初学者指南
专知会员服务
179+阅读 · 2019年12月14日
相关资讯
渗透某德棋牌游戏
黑白之道
12+阅读 · 2019年5月17日
差分隐私保护:从入门到脱坑
FreeBuf
17+阅读 · 2018年9月10日
深度学习面试100题(第71-75题)
七月在线实验室
5+阅读 · 2018年8月2日
周末深夜,学妹说她想做Python数据分析师
机器学习算法与Python学习
4+阅读 · 2018年6月7日
深度学习和普通机器学习之间有何区别?
36大数据
7+阅读 · 2017年12月4日
机器学习/算法19家公司面试总结(内含薪资)
深度学习世界
12+阅读 · 2017年11月14日
码农日常工具推荐
架构文摘
4+阅读 · 2017年9月26日
Top
微信扫码咨询专知VIP会员