CTF是什么?
CTF(Capture The Flag,夺旗赛)是一种流行于网络安全技术人员之间的一种信息安全技术竞赛。其前身是传统黑客之间网络技术比拼的游戏,以代替之前黑客们通过互相发起真实攻击进行技术比拼的方式。起源于1996年第四届DEFCON。现在已成为全球范围网络安全圈流行的竞赛形式。
通常CTF分为三种赛制:解题赛(Jeopardy)、攻防赛(Attack-Defence)和混合赛。
竞赛模式基本分为解题模式、攻防模式和混合模式。大多题目的内容基本包括web安全,密码学、逆向、二进制安全编程类题目等国内外有很多CTF比赛。
解题赛是线上赛通常采取的赛制,题目通常分为多个类型,如Web,Forensic(取证),Crypto(密码学),Binary(二进制)等。团队或个人可以通过解题获得一串具有一定格式的字符串,也就是flag。将flag提交到竞赛平台可以获得积分。题目的难度越大,分值就越高。当比赛结束后,得分最高者胜出。
攻防赛是另一种有趣的赛制,常见于线下决赛。攻防赛中,每个队伍都会被分配一台主机或虚拟机,称为gamebox,队员可以通过网络连接到gamebox。而所有队伍的gamebox通过内网连接在一起。每个队伍的gamebox上都运行着多个相同的服务。参赛队伍需要挖掘服务的漏洞,然后攻击其他队伍的服务来获取flag,并提交给计分服务器来获取积分。与此同时,参赛队伍还需要修补自身服务中的漏洞来防止丢分。攻防赛不仅考验了参赛选手的技术水平,还考验了参赛者的体力,因为通常参赛者需要连续混合赛可能采取解题赛和攻防赛的混合模式,也可能是其他形式。
CTF的发展
早期CTF竞赛
最开始的CTF比赛(1996年-2001年),没有明确的比赛规则,没有专业搭建的比赛平台与环境。由参数队伍各自准备比赛目标(自己准备的比赛目标自己防守并要尝试攻破对方提供的比赛目标)。而组织者大都只是一些非专业的志愿者,接受参赛队伍的手工计分请求。没有后台自动系统支持和裁判技术能力认定。计分延迟、误差、不可靠的网络和不当的配置,导致比赛带来了极大的争论与不满。
现代CTF竞赛
由专业队伍承担比赛平台的设计、命题、赛事组织以及自动化积分系统。同时,引入了反作弊机制、按难度自动调整题目分数的机制,使得比赛更加公平。另外,比赛平台更多地引入了图形化界面,可以实时查看攻防情况,使得比赛更具有观赏性。