首先,让我们先来看看CTF夺旗赛的介绍。
Capture The Flag(简称CTF),翻译为“夺旗比赛”,起源于1996年举办的DEF CON全球黑客大会,最早是交流安全技术的重要途径,发展至今已有20多年的历史,是目前全球最高技术水平和影响力的CTF竞赛,类似于CTF赛场中的“世界杯”。
随着安全攻防技术的发展,CTF比赛也逐渐演变成为信息安全技术竞赛的一种形式,发展成为全球网络安全圈最流行的一种竞赛模式,其比赛形式与内容拥有浓厚的黑客精神和黑客文化。
近年来,CTF比赛的数量与规模发展迅猛,国内外各类高质量的CTF竞赛层出不穷,CTF已经成为了学习提升信息安全技术,展现安全能力和水平的绝佳平台。
语言运用:计算机语言可以大致分为机器语言,汇编语言,高级语言,计算机每进行的一次动作,一个步骤,都是按照计算机语言编好的程序来执行。而在CTF比赛中,计算机语言的了解与掌握会有事半功倍的效果,进程的动态调试、防护脚本的编写、源代码审计等工作都是建立在对计算机语言有所掌握的基础上进行的。
Web安全:目前国内大多数CTF比赛都以Web安全为主,但是Web安全涉及的内容非常广泛,就典型的Web服务来说,其安全问题可能来自于Web服务器、数据库、Web程序本身与开发语言等。了解一个Web应用的组成架构、装载与配置、指令操作及组件缺陷,是参赛者知识储备环节中不可或缺的部分。
安全加固:安全领域的精髓在于攻防,在CTF比赛也是同样的道理,比赛成绩不仅取决于在有效的时间内拿下多少flag,还取决于能抵御多少次外来攻击。有一些比赛队伍不注重或者不善于漏洞加固,即使得到很多分数,但是优势还是会被慢慢的蚕食掉。所以,了解漏洞的产生原因、减小漏洞的影响范围以及行之有效的安全加固也是一个成功队伍的重要能力。
密码算法:参赛者需要了解主流的密码算法,如对称密码、公钥密码、流密码、哈希密码算法等。在不断的攻防对抗中,一些关键信息或者突破口,往往会通过算法的加解密将它们“隐藏”起来增加解题难度。此外还会伴随着弱口令尝试,密码字典的暴力猜解等。
网络取证:对于网络攻击行为的溯源分析、漏洞挖掘过程中的抓包分析往往是很多参赛队伍在攻防对抗中忽略的问题,能够在最短的时间内抓到线索并做出行之有效的响应,这方面的能力也就成为了高手和顶尖高手之间的分水岭,古人常说:“天下大事,必作于细;天下难事,必成于易”,我想应该就是这个道理。
解题模式:大多数为线上比赛,选手自由组队(人数不受限制),出题者把一些信息安全实战中可能遇到的问题抽象成一个题目,比如一个存在漏洞的网站让选手入侵,一个有漏洞的程序让选手分析来写出漏洞利用程序,一段密文让选手解密,一个图片选手你从里面找出隐藏的线索等等。在完成这些出题的题目后,可以获得一串奇怪的字符串,也就是所谓的flag,提交它,就能获得这道题目的分数。
攻防模式:大多数为线下比赛,参赛队伍人数有限制(通常为3到5人不等),参赛队伍保护自己的服务器,攻击其他队伍的服务器,每个队伍的服务器开始拥有相同的配置和缺陷,比如几个有漏洞的二进制程序、有漏洞的Web应用、某些权限账户弱口令等等,然后队员需要找出这些漏洞并进行加固,同时利用这些漏洞来攻击别人的服务器,拿到其他队伍的权限后,会获取到相应flag后提交,从对方身上赚取相应的分数,每隔一段时间后,可以再次攻击并利用未加固的漏洞获取flag并赚取分数。
混合模式:解题模式和攻防模式同时进行,解题模式可能会根据比赛的时间、进度等因素来释放需解答的题目,题目的难度越大,解答完成后获取的分数越高;攻防模式会贯穿整个CTF比赛的始终,参赛队伍需不断积累分数,最终参数队伍的名次由两种模式累积的分数总和决定。有些有趣的CTF比赛,还会引入一些情景剧情和现场观众的互动,来增加比赛的趣味性。
交流聆听:CTF比赛通常强度都很大,少则几小时多则好几天,即使是特别要好的队友,也难免会有意见与思路不统一的时候,这个时候与队友的交流和聆听则显得尤为重要。一句温馨的关怀,一个会心的微笑甚至一个肯定的眼神都会让你的队友倍感温暖,正面的交流与聆听会鼓励大家共同前进,克服困难。
学习能力:CTF比赛中的题目与攻防手段往往没有特定的规律,因此更看重人临场的快速学习以及把理论付诸实践的能力,而并非大量的知识储备。一定的知识量储备肯定是必要的,但并不能期望完全依靠知识储备来获得胜利。
合作分工:CTF的成绩主要还是看团队的综合实习。就如学生时代的中考高考一样,考核的总分成绩,往往各个科目都比较好的人才能获得比较高的成绩。如果队伍成员都是只擅长Web安全,其他领域涉及很少,就算研究Web安全研究的再精通也取得不了好名次,一个团队中既要有攻城拔寨的急先锋,也同样需要留守加固的中流砥柱,需要尽可能的面面俱到。
总结分享:通常专业的CTF队伍人员会比较稳定,如果想通过比赛的历练成为顶尖队伍,除了上述几点外,比赛过后以及日常的分享总结也是非常重要的。无论取得怎样的成绩,相信每一个队员心里都会有困惑或者看法,那么赛后队员坐在一起进行讨论、分析、总结不仅可以拉近队员间的感情,提升团队凝聚力,还可以收获更多的经验与心得。
挑战分为以下两类:计算机安全方面的小问题,以及漏洞利用和黑客方面的标记问题。标记挑战要求参与者完成一项诸如转储数据库、获取系统外壳或操纵应用程序等任务。
安全攻防竞赛平的攻防竞赛模式可以分为单兵作战挑战赛、分组对抗赛、网络靶场及网络混战四种形式。