美国DEF CON CTF比赛,机器人和人类比拼找漏洞速度,人类领先

美国国防部DARPA宣布,由卡内基美隆大学组成的新创团队AllForSecure设计的机器人系统Mayhem,成为第24届DEF CON CTF最后一队、也是第15队的参赛队伍,将和其他14队CTF团队一起在CGC平台上比拼找漏洞的速度。
DARPA提供
由美国国防部国防高等研究计划署(DARPA)推出的CGC(Cyber Grand Challenge)漏洞自动攻防比赛,由美国七个团队设计出七套CRS(Cyber Reasoning System,网络决策推理系统)竞技的结果,在美国8月4日比赛出炉,由卡内基美隆大学成员组成的新创公司AllForSecure推出的Mayhem机器人(Bot),不仅是CGC初赛的冠军,更在全球第一次的机器人漏洞修补的决赛中夺冠,并获得200万美元的奖金。其余第二名为TECHx的Xandra机器人,第三名原本8月4日宣布是由Shellphish的Mechaphish(Mechanical Phish)机器人获得,但8月5日主办单位则宣布,第三名的成绩需要重新复验,因此第三名目前尚未能正式确认。
而Mayhem也在DEF CON CTF举办团队正式邀请下,成为8月5日~7日举办的第24届DEF CON CTF比赛中,最后一位、也是第十五名的参赛者,将和其他全球14队人类CTF团队较劲。
这次的DEF CON比赛主题是:Rise of the Machines,代表台湾参赛的HITCON CTF战队领队李伦铨表示,CTF参赛的14个人类队伍和机器人队伍Mayhem,都必须一起在CGC的开发平台上DECREE比赛找漏洞的速度,HITCON有机会和机器人冠军一起在CTF比赛一争高下,更是台湾队伍见证人类决战机器人的历史性时刻。
在DEF CON CTF第一天的比赛中,机器人冠军Mayhem一直未能突破排名末位的窘境,反倒是去年DEF CON CTF冠军DEFKOR首先取得First Blood(第一滴血)突破零分,台湾队伍HITCON表现也渐入佳境,第一天比赛结束排名第三名,仅次于韩国队DEFKOR和美国队PPP。
漏洞出现速度超过人类能力所及,只能仰赖自动化工具才能解决
由美国国防部DARPA推出的这个CGC挑战赛,其实是为了解决当软件和系统有越来越多的漏洞时,原本透过人类找寻相关漏洞的速度,根本追不上软件和系统漏洞出现的速度,更遑论是漏洞修补的速度。
李伦铨便说,像是在2003年曾经出现的微软SQL漏洞:SQL slammer蠕虫,在短短10分钟内就感染7万多台电脑,这样的感染速度,人类根本没办法追上,唯有依赖电脑的自动化工具,才有可以遏止。因此,DARPA希望,透过这样的CGC计划,可以研发出一套自动分析,找出系统漏洞、过滤各种攻击程式,并且自动产生防御机制以及自动修补系统漏洞的CRS系统。而这套系统的出现,将对人类追求软件和系统的安全,带来极大的进步和发展。
因为,现在各种常用的操作系统中,在经过多年的发展下,都已经有相对完善的软件安全机制,像是在内存中检查以防止恶意程式执行的DEP(Data Execution Prevention,防止资料执行)技术、防止恶意程式对已知位址攻击的ASLR(随机分配位址空间)技术等。
使用简化过的操作系统DECREE,进行自动化漏洞攻防研究
所以,这次CGC的比赛中,是使用一套由DARPA简化过的、专门做电脑安全研究的开源DECREE系统(DARPA Experimental Cybersecurity Research Evaluation Environment)。李伦铨指出,DECREE具有单纯性(Simplicity)、可重现性(High Determinism)和限制性(Incompatibility)等特色,以单纯性为例,DECREE仅有7个系统呼叫,简单的系统可以让电脑自动分析漏洞,并使用修改过ELF作为自己的档案格式,并限制只有单一入口点以降低分析的难度。
再者,他说,DARPA也透过调整DECREE的操作系统核心(Kernel),让这个操作系统可以记录完整的程式执行流程,可以重现问题或状况,改善现在的操作系统,因为太多包括时间、乱数等不确定因素,而无法顺利的分析漏洞。
第三点,李伦铨指出,为了让研究可以聚焦,DECREE使用自己的档案格式,并不相容于主流操作系统的程式码和通讯协定,也让DECREE上面的程式漏洞没办法用于真实世界,而真实世界的漏洞也没办法用在DRCREE操作系统中。
七队CGC参赛队伍,不乏CTF比赛常客队伍
整个CGC的比赛从2013年10月正式展开,期间经过3场初赛后,在2015年8月的DEF CON中,宣布最终入围的7个队伍,包括:由加州柏克莱大学组成的CodeJits所设计的Galactica机器人;由卡内基美隆大学David Brumley教授创立的新创公司ForAllSecure设计的Mayhem机器人;由程式分析公司GrammaTech和维吉尼亚大学组队的TECHx所设计的Xandra机器人;由爱德华大学资工系的教授Jim Alves-Foss及其博士后研究员Jia Song组成的两人团队CSDS所设计的Jima机器人;美国国防公司Raytheon(雷神)组成的DeepRed设计出的Rebeus机器人;乔治亚大学学术理论分析人员和CTF选手组成的四人小组disekt所设计的Crspy机器人;以及加州大学圣塔芭芭拉分校的学生组成的Shellphish所设计的Mechanical Phish等七队机器人,其中,像是Shellphish则是同时参与CGC比赛,且入围DEF CON CTF比赛的队伍。
这次的CGC比赛,主要是希望解决现实社会中难以解决的零时差(Zero Day)漏洞的问题,透过即时的自动化网络防御系统,可以透过系统自动化找出漏洞并且完成修补,真正做到降低这种零时差漏洞对系统和使用者带来的损害。因此,HITCON副领队陈仲宽表示,这次CGC的比赛,主要是以内存操作错误的软件漏洞为主,像是常见的缓冲区溢位(Buffer Over Flow)、Format String Error等。
七队CGC参赛队伍,可以使用相关的自动化和漏洞修补技术包括:动态分析(Dynamic Analysis)、静态分析(Static Analysis)、符号化执行(Symbolic Execution)、Constraint Solving、资讯流追踪技术(Data Flow Tracking)以及自动化测试(Fuzz Testing)等,并和其他半自动化技术搭配,开发出一整套全自动的网络决策推理系统(Cyber Reasoning System,CRS)。陈仲宽指出,CGC参赛队伍也将针对所有待测试的各种漏洞,包括曾经对于全球网站造成极大冲击的Heartbleed漏进行分析,不仅要自动推论出漏洞的所在位置,也必须要能触发该漏洞以证明漏洞的存在,最后,则必须要可以自动化产生修补该漏洞的程式,“所有的过程和步骤,都必须要做到全程自动化,才符合CGC比赛的规定。”他说。
李伦铨表示,这次DEF CON CTF比赛,加入了机器人团队,不仅是拼技术,也要拼速度,“不然一旦这场人类对电脑之战输了,将证明了电脑又快又稳,人类就只能被电脑慢慢取代了。”他说。
CGC专案经理 Mike Walker在2015年DEF CON活动中,除了宣布入围CGC决赛的七队参赛队伍外,也宣布CGC比赛冠军,将加入DEF CON CTF比赛,和其他14队CTF队伍一起较劲。照片来源:黄彦棻摄
为了让更多人了解CGC比赛的过程,主办单位DARPA也透过视觉化的设计,让更多人可以即时了解攻防状况。照片来源:DARPA提供
曾经影响百万台网站服务器安全的Heartbleed漏洞,也成为此次CGC比赛的待测漏洞之一。照片来源:DARPA
这次的CGC比赛中,主办单位还安排了主播现场播放比赛实况。照片来源:DARPA提供
CGC比赛由卡内基美隆大学组成的新创团队AllForSecure设计的Mayhem机器人,得到冠军并赢得200万美元奖金。照片来源:HTCON CTF领队李伦铨提供
代表台湾参加DEF CON CTF的HITCON战队,在8月5日也正面迎击来自全球其他13个CTF战队以及机器人Mayhem的挑战。照片来源:HITCON CTF领队李伦铨
