神刀安全网

FreeBuf独家:黑客攻防人机大战,我们将看到什么?

*本文根据诸葛建伟、姜开达等著名高校安全界代表、学术人物专访撰写,FB编辑部出品

CGC(Cyber Grand Challenage) 为美国DARPA(国防高等研究计划署)举办的自动网络攻防竞赛。一般CTF(Capture the Flag)竞赛需要大量人力参与分析,而实际网络攻防也面对相同问题,需要花费大量人力来应对新的攻击,造成从攻击出现到防御机制生效中间有较长时间,也就是我们常听到的0day所造成的网络安全问题。

下图为漏洞发现时间到修补时间的分布图,可以看到传统人工防御机制大约需要24天来应对新产生的攻击。因此若能自动化产生防御机制,便能大幅降低攻击和防御手法间的时间差,保护更多的信息系统。

FreeBuf独家:黑客攻防人机大战,我们将看到什么?

CGC旨在建立实时自动化的网络防御系统,并且能够快速且大量的应对新的攻击手法,来应对频发的网络攻击,并降低攻击出现到防御生效之间的时间差。由于网络攻击手法存在多样性,CGC初步以软件漏洞着手,我们常见的Buffer Over Flow, Format String Error都属于此类。

初赛&决赛

FreeBuf独家:黑客攻防人机大战,我们将看到什么?

参与CGC的队伍可以透过Open Track及Proposal Track参加竞赛。Poposal需要参与DARPA研究计划,并会补助通过的队伍75万美金的经费。而Open Track则开放团队自由参与,但必须包含一位美国公民。此两个部分参与的队伍,必须开发出一套CRS系统,并参与Challenge Qualification Event(CQE),参加初赛来评估CRS的有效性,评分出前几名队伍进入决赛Challenge Final Event(CFE),冠军则会有高达200万美金的奖励。

这一届的CGC竞赛已经在2014年进行了Open Track/Proposal Track两部分,并在2015年的DEF CON23会议中进行了Challenge Qualification Event(CQE)选出了前七名,2016年的DEF CON24将争夺第一名的天价奖金。

Challenge Qualification Event(CQE)

POV(Proof of Vulnerability)是CGC竞赛的核心,如同我们打CTF时需要写的exploit。在CQE中,参赛者的CRS会被放置在单独的环境中做评估,并不会和其他队伍的CRS联机。CRS此阶段需要自动分析待测的Binary程序CB(Challenge Banary),产生patch过后的CB以及POV,POV可以视作为攻击程序,此POV必须能使CB产生错误,例如将程序eip改成不合法的值。因此CQE中比较偏重测试团队挖掘漏洞以及除错的能力。

• 主办方会提供113个CB给参赛者的CRS

• CRS需要产生可以造成程序错误的输入

• CRS必须产生修正后的CB

在CQE正式举办之前,会有两次的Scored Events让参赛者测试系统,最后才举办CQE。其中,计分方式比较有趣的是每题没有固定分数,而是根据各队解题后的结果动态配分,基本理念是希望展现各队的特长。若某个CB全部队伍都解出/都没解出,这些题目分数就会较低。而只有部分队伍解出的题目,将会得到比较高的分数。这样的计分方式可以鼓励各队提出不同独特的程序分析技术。

而参阅下表Areas of Excellence,是DARPA在CQE和CFE分别要测试的项目,可以看到出赛主要测试团队自动化

1. 分析程序

2. 找出漏洞

3. 修补漏洞

4. 维护程序正常功能

Challenge Final Event(CFE)

CFE和初赛最大的不同是在于各队的CRS会置于互通的环境下,各队会递交POV给主办方,主办方会再将这些POV和正常的服务流量混合,在分配给各队的CRS,来进行互相的攻防行为。另外是增加了网络入侵检测的概念,若是能自动找出攻击的特征码,参赛者可以在网络防御的部分就阻挡这种攻击。也就是多测试了参赛队伍在Areas of Excellence中的第五项。而在CFE要产生的POV也有比较多的限制,包含下面两种。

1. 让程序在特定位置产生错误,并设定特定缓存器的值,例如:让EIP跳转到特定的位置,并且该位置不能执行让程序出错,而此同时要将程序EAX设定为0xdeadbeef。

2. 取得特定位置的内存内容。

队伍介绍

在2015年的DEF CON 23,DARPA同时举办了CQE初赛,并选出七支队伍准备参与2016年的决赛,以下为七支队伍的简介:

Proposal Track参赛的队伍

CodeJitsu(Berkeley, Calif.)

这支队伍是由加州大学柏克利分校组成的,指导教授为Dawn Song教授,技术领队为蓝莲花队员、北大博士毕业的张超,蓝莲花战队队长杨坤博士也是CodeJitsu成员。柏克利大学的研究团队在程序分析,尤其是Binary Analysis这块领域,一直是世界顶尖的团队,也有许多Open Source的系统值得研究,其中BitBlaze是他们团队在程序分析的分析平台。在这个平台中,包含了Vine静态分析模块、TEMU动态污点(Dynamic Taint)追踪模块以及Rudder动态符号化执行(Symbolic Execution)模块。虽然不知道CodeJitsu是不是直接使用这些工具来比CGC的,但这些技术都是CGC竞赛中不可或缺的,也说明了他们扎实的技术实力。

FreeBuf独家:黑客攻防人机大战,我们将看到什么?

(左一:张超、左二:Dawn Song,右二:杨坤)

ForAllSecure (Pittsburgh, Pa.)

ForAllSecure是由卡内基美隆大学的David Brumley教授创立的公司,许多成员也是来自于卡内基美隆大学CyLab(也是David Brumley教授指导的实验室)。说到CyLab一定要提的就是PPP团队,该团队是CTF竞赛的常胜军,常年盘据CTFtime上第一名的宝座,也说明了CTF相关经验,对CGC竞赛是有一定程度的帮助的。除此之外,CyLab在程序分析的研究也是引领全球的,与柏克莱的团队相似,CyLab也有自己研发的程序分析平台 BAP(Binary Analysis Platform)。BAP提供了自己一套中介语言(BIL)方便进行程序分析,也提供和SMY solver结合的接口,可以进行符号化执行的分析。最近在他们的GitHub中,也加入了由GeoHot开发的Qira系统。

FreeBuf独家:黑客攻防人机大战,我们将看到什么?

TECHx (Charlottesville, Va.)

GrammaTech是一间专注于程序分析的公司,开发了许多software assurance相关的工具,例如:Code Sonar这类的工具。 GrammaTech这次和弗吉尼亚大学组队参加CGC竞赛,开发了PEASOUP(Preventing Exploits of Software Of Uncertain Provenance)的系统,来挖掘并修补漏洞。在他们的系统中,包含了一个Dynamic Binary TRanslation的工具Strata VM以及In-VM Monitor来进行动态分析。并利用了Concolic Engine来产生测资已涵盖大范围的程序测试,并利用静动态的方式侦测出漏洞位置,再交由Remediation Engine来修复程序。

相关论文: http://www.grammatech.com/research/technologies/peasoup/publications

FreeBuf独家:黑客攻防人机大战,我们将看到什么?

Open Track参赛队伍

不知道是不是因为open track不用交proposal,这部分除了Shellphish以外,可以参考的数据都不多。

CSDS (Moscow, Idaho)

由爱达荷大学的教授Jim Alves-Foss及其博士后研究员Jia Song组成的两人团队。CGC中说明此队是唯一重新开发一套工具的队伍。

FreeBuf独家:黑客攻防人机大战,我们将看到什么?

DeepRed (Arlington, Va.)

Raytheon是美国一家国防公司,该队伍在memory上面有一些特别的研究,该公司的产品SureView ®便是利用Memory Forensic来分析以及防御的,而CGC官方也说明该队在内存效能上有做改良,取得比较好的效能分数。队名则是源自于IBM的Deep Blue超级计算机。

FreeBuf独家:黑客攻防人机大战,我们将看到什么?

disekt(Athens, Ga.)

disekt则是一只CTF战队,共有四位成员。该团队对于VM的系统有一定了解程度,在12年有发表QEMU的Bug,而在14年有发表过VM Detection的技术,另外也有ROP相关的研究成果。(ROP Detection at Shmoocon 2014 )

FreeBuf独家:黑客攻防人机大战,我们将看到什么?

(左一 李康教授)

Shellphish(Santa Barbara, Calif.)

这支队伍是在open track中我最熟悉的队伍,由加利福尼亚大学圣塔芭芭拉分校的学生组成的Shellphish,不仅是传统的CTF强队,也有晋级今年的Defcon决赛。在网络安全方面的学术研究也相当强大,其指导教授之一Christopher Kruegel教授,在Binary分析领域也相当有名。该团队开发的系统Angr,利用了VEX中介语言来进行仿真,包含了自己独特的程序Loader,并桥接了符号执行的一些工具,是相当完整的程序分析平台。

FreeBuf独家:黑客攻防人机大战,我们将看到什么?

(左二:蓝莲花战队前队员 Fish 王若愚博士)

华人大放异彩

XCTF联赛的0CTF上海站国际赛作为defcon CTF世界杯赛预选赛,冠军直接入围世界杯,而百度蓝莲花、0ops两支中国队伍极可能入围世界杯(百度蓝莲花连续三届入围,去年两队入围总决赛分别排名第四和第五位)。

在CGC机器人竞赛项目上,两支以华人领队的队伍 UCB CodeJitsu和 UGA Disket,@李康 – UGA 是蓝莲花启蒙导师,final队伍disekt领队。@杨坤-长亭 是蓝莲花队长,@张超-UCB 是蓝莲花队员,两人代表UCB的CodeJitsu;@Fish 是蓝莲花前队员,现代表UCSB的shellphish。

UCB CodeJitsu的领队Dawn Song也是华人,清华毕业留学,网络安全领域研究界的华人之光也就是说网络攻防人机大战最终参与方直到8月份defcon现场才能决出,两边中国人/华人的队伍都有可能成为围棋人机大战 李世石 和 AlphaGo的角色。

此次比赛,华人大放异彩,势必将引起安全界不小的震动,带着这样的疑问和好奇,FreeBuf独家专访了CGC机器人项目参与队伍华人领队UGA李康和UCB技术领队张超,以及极有可能成为他们对手的DEFCON CTF人类队伍:百度蓝莲花领队诸葛建伟以及0ops领队姜开达。

FreeBuf独家:黑客攻防人机大战,我们将看到什么?

赛事海报

机器方华人代表

1. 此次人机大战和传统的CTF比赛有什么区别?

我觉得主要区别在于涉及到的题目内容。  传统CTF对战覆盖很多子课题,包括Web安全, 逆向工程, 二进制程序攻防(Binary Exploitation)。

这次人机大战只覆盖二进制程序攻防, 而且是对特定平台 (x86-32)。 这种设定主要是考虑机器方的局限性。

2. 两支以华人领队的队伍 UCB CodeJitsu和 UGA Disket备受瞩目,请简要介绍一下这两位领队?

Disekt 是由李康教授创建,指导,和直接参与的传统CTF战队。 李康教授在美国读研究生时开始参与CTF活动,至今已有十几年的参赛以及团队组织经验。 李康教授是清华蓝莲花战队的启蒙导师,担任XCTF顾问专家。李康教授非常关注安全研究的实用性,是黑客会议上的常客,多次在Blackhat,Shmoocon等会议上发表演讲。

CodeJitsu 是由美国伯克利大学的Dawn Song教授带领的团队,由张超博士协助带领。Dawn Song教授是二进制程序分析领域的翘楚,成果包括著名的开源二进制分析平台BitBlaze等。其团队在程序分析、漏洞挖掘、安全防护及攻击利用方面有丰富的经验以及卓越的学术成果。其本人获得过MacArthur天才奖、TR35世界杰出青年创新奖等。

张超博士毕业于北京大学,目前为美国伯克利大学博士后研究员,师从Dawn Song教授进行学术研究。主要研究方向为系统安全,先后在IEEE S&P, NDSS, InfoCom等会议发表学术论文二十篇,研究成果之一FPGate获得微软BlueHat Prize竞赛Special Recognition Award。其目前是BitBlaze研究组的共同负责人,也是 CGC竞赛种子队伍CodeJitsu的共同领队。其同时也是著名CTF战队蓝莲花的队员,协助队长清华大学杨坤博士参与了2015年DEFCON CTF竞赛,并获得全球第五名。杨坤博士同时也是CodeJitsu队伍的核心成员,协助CodeJitsu团队获得CGC初赛第三名。

3. 人机攻防战中,机器是如何做到全面防守?

机器的防守主要通过两方面的工作。一是对程序的自动加固,包括对常见问题(memory corruption,control flow hijacking)等的通用加固,和针对特定攻击输入的加固。  另一个防守的手段是通过生成入侵检测规则,在网络层对输入进行过滤。

4. 我们很期待看到最终人机两方都是华人的面孔,如果成真,两位会有什么样的心情?

李康: 很希望是最终人机双方都是华人面孔。 至于真是到了这个期待的情况,心情自然是 -- 怎么才能战胜对手 FreeBuf独家:黑客攻防人机大战,我们将看到什么?

张超: 如果成真的话,我的心情是 — 希望双方能够带动国内在相关领域的研究。

5.您是如何走进机器攻防这个领域的?

李康: 个人一直在从事CTF方面的活动,我所参与的每个CTF团队都非常关注自动程序分析工具。过去的主要原因是团队的规模较小(4 到8人),不发展自动工具的话,在CTF比赛中面对人海战术时很吃亏。 所以很自然参加机器攻防的比赛。

张超: 我个人一直在围绕自动化防御、漏洞挖掘进行学术研究,接触CTF实战偏晚。相比于很多“赛棍”选手,个人实战经验太少,因而也一直在思考如何自动化地完成CTF。DARPA组织的CGC竞赛正好提供了一个难得的机会。

6. 对最后的比赛结果会有什么样的预测?

1) 对于 CGC 机器攻防的决赛,来自CMU的AllForSecure很强大,可能是目前公认的夺标热门。 不过决赛的规则复杂,鹿死谁手还很难说。

2) 关于人机对抗,具体规程还没有发布,现在更难预测。 例如比赛的时间限制以及双方的计算资源限制都不清楚。根据CGC初赛的经历,对于简单漏洞,机器方发现漏洞和生成攻击的速度会占优。复杂的程序受规则影响更多一些。

7. 这是项新的赛事,您是如何备战的

李康: 借用AlphaGo的方法,自己和自己的系统相互学习。

张超: 借助团队的力量,集成学术研究成果,不断测试优化。

8. 你认为机器防守的最大困难在哪?

最大困难是对程序分析的依赖。没有程序分析结果,机器无法判断正常访问和攻击。

9. 如果机器有性别,你认为它是男生还是女生?

李康: 很难回答的问题。考虑到机器的认真程度,还有被这么多 (男) 程序员的关注程度,我选择认为它是女生吧。

张超: 男女平等 FreeBuf独家:黑客攻防人机大战,我们将看到什么?

对百度蓝莲花、0ops的采访

1. 百度蓝莲花连续三届入围世界杯,去年百度蓝莲花和0ops两队入围总决赛分别排名第五和第六位,对今年的成绩有什么期待?

诸葛建伟: 百度蓝莲花今年已经通过获得世界杯(DEF CON CTF总决赛)的“外卡赛”HITCON CTF亚军而取得世界杯入围资格。今年百度蓝莲花也和0ops计划联合组队b1o0p冲击世界杯总决赛的更好名次,在今年3月份的另一场“外卡赛”美国Boston Key Party中,b1o0p完成对所有题目的AK(All Kill),但因运气不佳以完成时间上的细微差距获得亚军,未能获得冠军及直通名额。4月15-16日b1o0p联队继续挑战最后一场“外卡赛”美国PPP组织的PlaidCTF,最后时刻雄起追分,以季军获得“世界杯”直通名额(冠军和亚军之前均已获得外卡)。

对于今年的成绩,即使我们组建联队,但在实力分析上较韩国举国体制培养的BoB计划学员导师队伍DEFKOR、连续多年占据CTFTIME全球排名榜首的美国PPP等队伍等仍有较大的差距,今年总决赛我们的成绩目标定位在冲击前三,至少要比去年有所进步。

[参考]b1o0p队名来历:(取蓝莲花的bl两字符并将l变换为1、取0ops的0p两字符,以及两队队名中share的o字母,连接后作为联合队伍的名称,发音为[blu:p],单词含义一为棒球比赛中一种将球击打至中外野之间从而冲垒得分的攻击手法;另一含义为:太平洋底的一种神秘的背景音)

姜开达: 希望每年都能更进一步。联合一切可以联合的力量。

2. 人机大战今年是第一届,和传统的CTF比赛在攻击方式上有什么区别?

诸葛建伟: 目前人机大战的规则还没有正式公布,不过按之前对CGC项目的了解我们可以对人机大战与传统人类CTF比赛的区别有所预期:

(1)CGC项目研发自动化攻防机器人目前只能处理分析一个简化Linux平台上的二进制服务文件,可以预见首次人机大战也会基于这个单一平台上二进制服务,而近期DEF CON CTF人类CTF赛涉及多个主流CPU架构上的多种类型服务(包括二进制网络服务、Web应用、移动应用、嵌入式等),因此人机大战的环境较传统人类CTF比赛是更简化单一的,这有利于攻防机器人的自动分析与处理。

(2)CGC决赛接受的攻击方式包括利用挖掘的安全漏洞控制指令寄存器并控制特定通用寄存器的值,或是泄漏出包含在内存中的Flag,这比人类CTF比赛要求的完整利用安全漏洞绕过防御机制并执行Shellcode条件要弱一些,这也是因为目前自动攻防机器人还没有涉及各种漏洞利用技巧绕过内存安全保护机制。

3. 两边中国人/华人的队伍都有可能成为围棋人机大战李世石和AlphaGo的角色,对此会有什么期待?

诸葛建伟: 对于CGC项目决赛7支入围队伍将PK出黑客人机大战中“AlphaGo”的角色,因为其中2支队伍都是由华人学者领军的队伍,其中CodeJitsu在初赛也曾获得过第三名的优秀成绩。所以对于华人领军队伍胜出还是保留着期待的。

在人类DEF CON CTF世界杯15支入围队伍将PK出黑客人机大战中“李世石”的角色,而来自华人的队伍大概也会有中国大陆的b1o0p和中国台湾地区的HITCON两支,虽然我们也非常期待能有华人队伍胜出,但是比较于拥有GeoHot的多届卫冕冠军PPP,以及拥有lokihardt的新晋冠军DEFKOR的强大实力,华人队伍的胜算可以说并不高。

姜开达: 期待最后能获得挑战机会,但是结果不可预测。

4. 对最后的比赛结果有什么预测?

诸葛建伟: CGC自动化攻防机器人决赛和DEF CON CTF人类CTF决赛源自CMU的ForAllSecure和PPP分别都是夺冠热门,如果一旦这两支队伍成功夺冠,在黑客人机大战中将出现非常有意思的一幕,也就是PPP领队David Brumley和PPP队员将对垒他们自己制造的自动化攻防机器人,在这种情况下人类队伍如果仍然失败,那反过头来说明自动化攻防技术的成熟度已经到一定的实用程度。

当然在DEF CON CTF人类CTF总决赛上,无论是韩国DEFKOR,还是华人队伍我们的b1o0p和台湾地区的HITCON,以及欧洲的强队,都会对PPP进行强有力的冲击,目前很难预测到底谁会笑在最后。

而黑客人机大战更可能在两支没有直接关联的队伍之间进行,最终比赛结果将更具有悬念,也和最后决战所使用目标程序数量、漏洞分析和利用难度密切相关。

姜开达: 结果固然重要,但是更要享受比赛全过程。

5. 这是项新的赛事,您是如何备战的

诸葛建伟: 对于百度蓝莲花和0ops联合组建的b1o0p而言,我们首要的任务是通过不多的“外卡赛”和“预选赛”机会最终拿下入围到DEF CON CTF总决赛的入场券,然后通过团队磨合让百度蓝莲花和0ops两支队伍的主力成员们之间有更多的熟悉了解,以便在总决赛中通过合理密切的分工合作形成最强的战力,从而争取DEF CON CTF总决赛的更好名次。

而对于黑客人机大战而言,目前还只能处于“远观”的阶段,不过部分队员也利用之前参与过CGC项目的优势对CGC项目自动化机器人的平台环境、可能使用的攻防技术进行一些初步的研究,比如在0CTF初赛就给出了一道基于CGC平台环境的Pwn题。

姜开达: 对二进制分析能力和防御进行加强。

6. 你认为这项赛事的最大挑战是什么?

诸葛建伟: 这次黑客人机大战完全是第一次在未知世界中探索中前行,无论组织者还是参赛队伍都是摸着石头过河,充满着挑战,也只有亲身经历过才能体验其中的艰辛与乐趣。

姜开达: 人的体力和精力会随着比赛持续进行而下降,而机器不会。

7. 你认为机器的弱点是什么?

诸葛建伟: 目前在黑客人机大战中,攻防机器人还是更多地根据人类设定的模式和规则进行程序路径分析、状态遍历和漏洞模式匹配,所拥有的“黑客思维”应该还是不足的。而人类黑客们的特长就是找出代码和机器的Bug与漏洞,在开放大空间对抗性很强的攻防竞技中应该具有优势。

姜开达: 学习广度不足。

8. 如果机器有性别,你认为它是男生还是女生?

诸葛建伟: 以自动攻防机器人思维的细致和缜密,以及目前的发展阶段,我选择认为它是小女生,能否俘获男生为主的人类黑客们,也是期待已久的看点咯。

姜开达: 男生,理性大于感性。

*本文根据诸葛建伟、姜开达等著名高校安全代表及学术人物专访撰写,FB编辑部出品,转载请注明来自FreeBuf黑客与极客(FreeBuf.COM)

转载本站任何文章请注明:转载至神刀安全网,谢谢神刀安全网 » FreeBuf独家:黑客攻防人机大战,我们将看到什么?

分享到:更多 ()

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址