赛题与赛规
比赛的最重要规则是全自动,每支队伍在比赛前有一年时间开发系统,在比赛系统上线后必须全自动攻防。
赛题由主办方开发,针对自动漏洞挖掘所面临的困难所设计。初赛包括131道赛题,即已知存在漏洞的Linux二进制程序(无源码),所有程序都存在内存处理方面的漏洞,漏洞种类覆盖 53 个不同类型的CWE(常见缺陷列表)。在预赛以前,每支参赛团队需要开发一套全自动的程序分析工具,可以对Linux二进制程序进行全自动化的分析发现其中的漏洞,并自动生成能够触发漏洞的验证代码(POC),自动对程序漏洞进行防御和修补。在CGC正式初赛前有几次系统自动化的预演,用来调试系统自动化程度以及与主办方系统对接。
CGC所涉及到的程序、网络分析及防御生成
无论来自OpenTrack还是Funded Track,所有团队面对的是同样的挑战。正式预选赛是一个在线自动分析和异步攻防的过程,在指定的24小时内,每支队伍的自动分析系统需要在无人干预的情况下自动从主办方下载应用程序,分析程序查找漏洞,提交可触发漏洞的攻击输入,并提交修补后的加固程序。 在24小时的时间段之后,主办方对所有提交的攻击输入与加固过的程序在队伍之间进行交叉攻防比较,通过攻防成功率和加固程序的性能综合评测来决定预赛的名次。本次预赛中,开发者预留的590个漏洞,均被参赛队伍成功修补。
决赛的挑战内容基本相同,但是引入了线上的实时对抗,是一个在线实时攻防的过程。决赛开始后,主办方会不定时发布新的二进制应用,每个战队的系统需要实时对应用程序进行分析和修补,部署修补后的程序,同时生成攻击程序,提交给主办方。与预赛不同的是,决赛的系统增加了网络防御能力,系统可以自动生成IDS规则,系统还可以选择攻击目标。另外决赛阶段的攻击输入不再是POC,而是实际可用的exploit,即它可用直接用于获取程序控制权限或者泄露信息。
整个决赛过程类似 DEF CON CTF 的决赛过程,主要区别是对战系统需要赛前准备好,比赛中无人工参与。与CTF竞赛赛制一样。各队伍的自动化分析系统需要实时地分析目标程序,找到漏洞并生成攻击样本,进而攻击其他队伍。各队伍还需要在软件层面和网络层面部署防御措施,保护自身的程序不受攻击。通过综合计算攻击得分、防御得分、以及防御措施引入的性能损失和功能损失,最终评判出优胜队伍。
1. 回合制在线攻防赛
2. 攻击
类型1:崩溃在指定无效地址+控制一个寄存器为指定值
类型2:泄露flag内存页任意4字节
3. 防御
自动修补
自动生成IDS规则
4. 策略
流量分析,重放对手的攻击
分析对手补丁,定位漏洞
分析对手IDS规则,绕过检测
CGC决赛规则
网络超级挑战赛的技术亮点和难点相同,即系统的全自动化。主要的难点在于,如何在“无限”的状态下如何尽快找到触发漏洞的输入,尤其是在复杂输入和有不确定因素(例如随机数生成)等情况下。程序运行的“无限状态”是指,由于程序多样化和单一复杂程序中大量分支循环运行路径,导致程序中的状态要比类似于围棋、国际象棋等“封闭有限状态集”更加“无限”,自动化攻防的分析搜索空间更大,也更加无法穷尽。围棋原理上大致的上界是19*19,即361的阶乘种可能性选择。
CGC的内容介绍了这么多,细心的人也许会问,这与前面提到的 DEF CON CTF 有何关系?人机黑客的世纪之战又在哪里?
人机黑客颠峰对决
起初,在决赛的七支队伍最终决出冠军之后,本届CGC即宣告结束。也就是说,产生出一支机器黑客的CTF冠军队伍。有意思的是,DARPA在2015年DEFCON大会上宣传CGC比赛时,受到 DEF CON CTF 组织者的现场挑战,引起现场参会者的极大兴趣。
之前,包括深蓝与国际象棋大师、中国超算天梭与象棋大师、认知计算沃森与智力竞赛冠军等类似的人机大战已经举行过数次,但把计算机程序用到黑客攻防对抗上面还是首次。人类和程序相比到底谁会更“黑”的争议得到了业界乃至美国政府的关注,最终成就了这场极具历史意义的人机CTF竞赛之约。而且就在上周,主办方刚刚确定在今年的DEF CON CTF 期间,人类CTF竞赛的冠军队伍与CGC竞赛的机器冠军队伍,将进行一场独立的攻防对抗赛。而人类CTF竞赛的传统国际强队也将在今年4月份XCTF联赛上海站国际赛0CTF齐聚上海,争夺直通到DEF CON CTF总决赛的名额。
这次比赛对于安全领域的意义类似于1970年的首届机器国际象棋比赛,虽然CGC系统的初期表现还没有迹象能够全面超越人类黑客的能力,但自动系统用于安全攻防实践可能来的很快,就像无人驾驶技术在三届 Grand Challenge 比赛之后,技术成熟程度就已经颇为清晰。
据分析,由于人机黑客大战的具体规则细节尚未完全敲定,目前阶段人机大战的结果很难预测。机器的优势在于能够快速分析程序,并快速部署不同的防御方案,但难于部署针对性的高级攻击技术。人类队伍的优势在于对程序语义的准确理解,并针对性地开发攻击技术。
人机黑客颠峰对决,不仅仅是对于安全社区,甚至对于整个社会,都将是一场值得瞩目的比赛,一个历史性的时刻,一个机器黑客的时代即将到来!
(责任编辑:安博涛)