从BCTF人机对抗视角浅谈自动化攻防技术发展

admin 2021年4月16日07:26:36评论95 views字数 2131阅读7分6秒阅读模式

2021年3月20日,BCTF 2020赛季总决赛在DEF CON CHINA Party极客竞技馆激烈开战。

延续AutoPwn主题的创新赛制模式

本次比赛延续线上AutoPwn模式,比赛全程共计12小时,赛题类型包括Crashme和Popcalc两种,主要考察参赛战队机器人程序的自动化漏洞挖掘和利用能力。Crashme类型赛题提供初始seed,战队提交使目标程序crash的输入即可得分,提交相同目标程序的不同崩溃位置的crash输入可累计计分,得分逐次减半。Popcalc类型赛题提供造成目标程序crash的初始输入,战队提交漏洞利用脚本,成功调用/bin/popcalc程序即可得分。

本次比赛赛题由BCTF主办方和7支社区战队联合提供。出题战队不能解答自己提供的赛题,但是可以根据解出该赛题的其他战队的数量动态获得一定分数,解出赛题的队伍数量越接近总参赛队伍数量的一半,出题战队得分越高,以此鼓励战队提供质量较高、难度适中的题目。

BCTF AutoPwn 2020赛季,共吸引了近二百支机器人战队参加,本场总决赛与之前不同的是,我们邀请了一支拥有CTF全明星豪华阵容的人类战队现场参赛。

全明星人类战队的成员中有最早征战DEF CON的中国战队选手slipper,有一人solo某杯、真正的“GUN神”刘大爷,还有DEFCON CTF 2020冠军战队的刘队长和0ops队长肖同学。比赛过程中,采用手工解题方式的人类战队与使用自动化机器解题方式的机器人战队进行了激烈的对决,他们的解题过程也在bilibili同步直播,吸引了500+观众线上观看。

从解题日志的视角看机器与人类的激烈对决

从BCTF人机对抗视角浅谈自动化攻防技术发展

经过12个小时的激烈角逐,人类战队以660分的总成绩战胜了机器战队的最高分472.5分。在本次比赛的27道题目中,有21道被解出,其中机器战队拿到11个一血,人类战队拿到10个一血。

赛后,BCTF主办方对解题日志进行了分析:

Crashme赛题中,对于代码分支较多、逻辑复杂的题目(比如crash08、crash15),机器更容易解出,人类并不擅长;对于单纯fuzz难解、需要结合符号执行约束求解的题目(比如crash17),目前的机器解题尚不足够成熟,若代码逻辑相对简单,人类更易求解。从解题时间来看,crashme题目平均一血时间在50分钟左右。

Popcalc赛题中,机器对于栈溢出、格式化字符串等经典漏洞的自动化漏洞利用已经比较擅长,平均机器解出率(已解出战队/提交签到题得分的战队)大于20%,机器拿到一血的速度最快为15分钟,但人类战队拿到一血的平均时间快于机器战队。

全明星人类战队:捍卫“人类尊严”之战

比赛正式开始之前,全明星人类战队就决定全程不使用fuzz等自动化漏洞挖掘方法,以探索人类解题与机器解题的差异。 

社区战队的大部分题目逻辑较为简单,为了平衡赛题难度,BCTF主办方提供了逻辑复杂度较高的赛题,而且部分赛题加了混淆,对于人工审计来说难度较大。这也难不倒实力超强的明星选手们,选手们现场编译使用了IDA的反混淆插件,反混淆之后的程序又到了人类可以理解的范围内。对于代码量较大的开源项目改编题,他们也有清奇的解题思路:“我们虽然不能fuzz,但我们可以搜github issue”,刘大爷说道。

本次比赛也加入了与AutoPwn Village对应的扫雷、迷宫等经典游戏改编题,人类战队对于此类题目人类与机器不同的解法进行了讨论,最终人类战队成功解出迷宫题。

此外,相对于手工解题会有些挑战的Crashme题目,Popcalc题目大部分为栈溢出、格式化字符串等简单的漏洞类型,这些题目面对明星选手们只能瑟瑟发抖。


从BCTF人机对抗视角浅谈自动化攻防技术发展

人类战队参赛现场


从BCTF人机对抗视角浅谈自动化攻防技术发展

使用fuzz方法求解迷宫游戏改编赛题

比赛过程中,百度安全首席科学家李康与人类战队队长slipper就比赛形式、赛题质量、参赛体验和今后比赛改进展望进行了深入交流。Slipper提出,比赛规定Crashme类型的同一赛题在不同位置的崩溃可以累加得分,部分题目可以覆盖返回地址为任意值,进而轻松连续得分。考虑到比赛规则中设定同一题的不同崩溃位置得分逐次减半,因此这种题目他们一般会提交4个不同的答案以获得接近2倍的分数。相较于机器解题,人类战队的解题思路更加灵活多变,这也是人类相较于机器的突出特点和绝佳优势。

BCTF:探讨AI安全时代的技术创新

从BCTF 2020 Finals人机大战最终结果来看,目前自动化漏洞挖掘技术在复杂程序的漏洞挖掘方面相较于人类而言还是有较明显的优势,自动化漏洞利用技术对于简单的经典漏洞利用也已比较擅长,但在解题速度方面相比于人类还有一些差距。但随着fuzz、污点分析、符号执行、AEG等技术的不断发展,自动化攻防技术在漏洞挖掘和利用领域将发挥其特有优势,成为AI安全时代不可代替的技术创新。

百度网络安全技术对抗赛BCTF,是由百度主办的、以自动化攻防为主题的新型CTF比赛。秉持着推动自动化漏洞挖掘和利用工具的发展这一初衷,BCTF不断尝试创新,努力成为CTF爱好者、安全研究员抢先了解AI安全趋势、掌握AI安全技能的主阵地。

本文始发于微信公众号(百度安全应急响应中心):干货分享|从BCTF人机对抗视角浅谈自动化攻防技术发展

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2021年4月16日07:26:36
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   从BCTF人机对抗视角浅谈自动化攻防技术发展https://cn-sec.com/archives/332615.html

发表评论

匿名网友 填写信息