1.2.2 CTF竞赛模式
随着CTF竞赛的不断发展,出现了以下几种竞赛模式。
(1)解题(Jeopardy)模式
解题模式的CTF竞赛与信息学奥林匹克竞赛、ACM竞赛等传统的计算机学科竞赛类似,参赛者通过网络现场或远程接入比赛,根据参赛者所解答的竞赛题目的分值和所用的时间来对参赛者进行排名。题目类型包括 Web 渗透、逆向工程、漏洞分析与利用、密码学、安全杂项、安全编程等。由于解题模式的对抗性相对较弱,因此目前这种模式主要在线上选拔赛(预选赛)中使用。
(2)攻防(Attack with Defense,AwD)模式
在攻防模式的 CTF 竞赛中,参赛者在特定的网络空间中进行攻击和防守,通过挖掘网络服务的安全漏洞并利用这些安全漏洞攻击对手的服务来得分,通过修补自己服务的安全漏洞进行防御来避免失分。攻防模式是一种零和游戏,体现了攻防技术之间的激烈竞争,参赛者的实时分数可以直接反映出攻防的情况及对抗的胜负,挖掘到一个新的安全漏洞很有可能会带来分数的暴涨甚至逆转胜负,因此极具观赏性。攻防模式的对抗性极强,因此通常在线下赛中使用,它不仅要求参赛者具有较为全面的技术能力,而且对参赛者的体力和精力也是一种极大的挑战(比赛常常会持续36~48 h甚至更长时间),同时也非常考验参赛队员之间的分工与合作。
(3)混合(Mix)模式
混合模式是一种结合了解题模式与攻防模式的 CTF 竞赛模式。参赛者首先通过解题获得一些初始分数,然后再通过攻防对抗进行得分增减的零和游戏,最后以分数的高低来评判胜负。UCSB iCTF是采用混合模式的CTF竞赛的典型代表。
(4)抢山头(King of Hill,KoH)模式
抢山头模式是一种新兴的 CTF 竞赛模式,这种竞赛模式有点类似于攻防模式。在抢山头模式的 CTF 竞赛中,参赛者面对的是同一个黑盒目标,要先挖掘并利用安全漏洞控制该目标,并将自己的标识(token或flag等)写入指定的文件中,再对该目标进行加固,以阻止其他参赛者攻击。赛事的组织者会定期检查标识文件,并根据文件中的标识来判定得分。可以看出,抢山头模式是一种对抗极为激烈的竞赛模式,参赛者不但要具备极强的攻击和防御能力,而且还要比拼解题速度和攻防策略。
(5)战争分享(Belluminar)模式
战争分享模式也是一种较新的CTF竞赛模式。这种模式的CTF竞赛一般是由主办方邀请水平相近的参赛队伍参加,各参赛队伍相互出题挑战,并在比赛结束后分享赛题的出题思路、解题思路及学习过程等。最后根据出题得分、解题得分和分享得分对参赛队伍进行综合评判,得到竞赛的排名。战争分享模式不仅要求参赛者具有扎实的解题能力,而且要求参赛者具有拟制赛题和分享经验的能力,是一种非常有利于参赛者安全技术水平提升的竞赛模式。WCTF 是战争分享模式的 CTF 竞赛的典型代表。关于战争分享模式的更多信息可以参考Belluminar官方网站。
(6)真实世界(Real World)模式
真实世界模式同样是一种较新的CTF竞赛模式,2018年开始出现。这种模式的CTF竞赛重在考查参赛者在真实环境下的漏洞挖掘与利用能力,所有赛题全部来源于对真实世界软件的修改或二次开发,并以现场展示攻击效果的方式来评判赛题的完成情况。真实世界模式是最贴近实战的 CTF 竞赛模式,由于不存在参赛者之间的直接对抗,因此考查的是参赛者独立进行漏洞挖掘及实现对安全漏洞的稳定利用的能力。RWCTF是真实世界模式的CTF竞赛的典型代表。
(7)人工智能挑战模式
人工智能挑战模式是一种特殊的 CTF 竞赛模式,又可以分为类似解题模式、针对特定任务的比赛和类似攻防模式、具有一定对抗性的比赛两类。前者的比赛任务包括漏洞挖掘、密码破译、恶意流量识别、自动化渗透测试等,主要由竞赛组织者给出测试环境或数据集,参赛者据此完成智能体的设计和开发,在比赛时由智能体自主开展工作,并根据任务完成情况在智能体之间决出胜负。后者由参赛者事先设计并开发用于安全攻防的智能体,在比赛时,参赛者将智能体放入特定的平台中,由智能体进行自动化攻击与防守,获取其他智能体的flag并阻止其他智能体获取自己的flag,以此在智能体之间或智能体与人类战队之间展开角逐。与其他竞赛模式不同,人工智能挑战模式不仅需要参赛者深入地了解安全技术,而且非常考验参赛者设计、开发、运用人工智能技术解决安全问题的能力。目前人工智能挑战模式的CTF竞赛还不太成熟,但它代表了CTF竞赛未来的一种发展趋势。