2023年底,DARPA开启了一项前所未有的挑战——人工智能网络安全挑战赛(AIxCC),旨在通过技术竞赛探索AI时代下网络安全的新格局。该赛事希望孕育出一种创新的网络安全通用人工智能(AGI)系统,该系统能够智能挖掘、检测和修复关键基础设施的软件安全问题。
该赛事的总奖金池已超越1亿元人民币。这不仅极大地激励了参赛队伍,也体现了DARPA对网络安全领域的重大投入和期望。在这场挑战中,像Anthropic、Google、Microsoft 和 OpenAI 这样的AI领域巨头也将参与其中,提供最先进的技术支持。这不仅是对AI技术的一次全面检验,更是对未来网络安全防护能力的一次大胆探索。
比赛概述
参赛团队的任务是构建一个由人工智能驱动的全自动网络推理系统(CRS),用于识别和修补程序中的漏洞。在发现和修补挑战项目中的漏洞时,CRS 不能得到任何人工帮助。挑战项目是现实世界中关键软件的修改版本,如Linux内核和Jenkins自动化服务器。CRS 需要提交漏洞证明(PoV)和理解证明(PoU),并且对于它们发现的每个漏洞都可以提交一个补丁,这些都将作为本次挑战赛的重要评分依据。整体赛程分为如下四个阶段:
- 注册阶段(2024年1月至4月):比赛现已正式开放注册,同时,专门为小型企业设立的注册通道也同步开放。在提交概念白皮书后,最多有七家小型企业将有机会获得100万美元奖金,用于资助他们参加AIxCC比赛的后续阶段。
- 练习赛阶段(2024年3月至7月):在此阶段,参赛者将有机会通过实战来熟悉比赛,并对他们开发的网络安全人工智能系统进行实际测试。
- 半决赛阶段(2024年8月在DEF CON举行):在练习赛中,排名前七的团队将晋级至半决赛,并且每个团队将获得200万美元的奖金。
- 决赛阶段(2025年8月在DEF CON举行):在激动人心的总决赛中,表现最出色的三个团队将分别获得400万美元、300万美元和150万美元的奖金。
AIxCC活动概览
挑战项目
在本次比赛中,所有挑战问题都是基于真实软件改编而来,显示出极高的多样性。这些目标软件可能使用多种编程语言编写,包括Java、Rust、Go、JavaScript、TypeScript、Python、Ruby和PHP。然而,至少一半的问题将涉及包含内存损坏漏洞的C/C++程序。其他类型的漏洞将从MITRE公布的前25个最危险软件漏洞中选择。每个挑战问题包括源代码、可修改的构建流程和环境、测试工具,以及公共功能测试套件。参与挑战的CRS需要应用多种AI/ML和传统程序分析技术,来发现、定位、触发和修复挑战问题中的漏洞。为了获得分数,CRS必须提交PoV(证明漏洞存在的输入)和PoU(说明触发漏洞条件的文件),并且可以提出修复方案。PoV是一种输入,用于利用提供的测试工具触发漏洞。PoU必须指明将由PoV触发的消毒剂(sanitizers)、测试工具,以及漏洞所在的代码行。
评分规则
在评分算法方面,各团队CRS的总分将基于漏洞发现、程序修复、准确性和多样性等多个维度来计算。
- 漏洞发现分数:每个通过AIxCC sanitizer 触发且附带有效PoU的PoV,都会为CRS带来积分。
- 程序修复分数:若附带的PoV/PoU的补丁能够有效阻止AIxCC sanitizer 触发,且不影响预期功能,CRS将获得积分。若补丁在代码检查器中没有发现错误,还可获得额外的奖励积分。
- 准确性分数:CRS执行任务的准确性也是评分的一个重要因素,意味着参赛队伍需尽量减少提交无效的PoV、PoU和补丁。
- 多样性分数:CRS处理挑战问题的多样性也是评分的一部分,即CRS的最终评分将与它们处理的CWE种类和编程语言的多样性直接相关。
未来展望
AIxCC竞赛代表了自动化漏洞挖掘、检测和修复技术在现实性和技术深度方面的显著进步,与先前的Cyber Grand Challenge相比,其创新性显而易见。首先,挑战问题的构成紧密贴合现实世界的需求,包括了实际软件及其漏洞。其次,这些问题不仅包含源代码,还被编译成现实世界中常用的二进制文件格式。这一点至关重要,因为它保证了问题的实用性和适用性。此外,该挑战赛涵盖了多种不同的源代码语言,并针对多样化的计算堆栈,极大地扩展了其应用范围和深度。 AIxCC对通用网络安全AGI系统的重点关注,为软件分析领域带来了独特的机遇。通过激励研究者和开发者探索新的方法,这些挑战可能解决传统方法无法应对的基本限制(例如停机问题)。这不仅推动了技术创新,还有望开拓全新的研究领域,从而提升整个行业在软件分析和安全性方面的表现。
翻译:Fancy
编辑:Fancy