DARPA向Trail of Bits授予100万美元用于AI网络挑战赛
我们很高兴地分享,Trail of Bits已被选为参与DARPA人工智能网络挑战赛(AIxCC)小型企业赛道的七支独家团队之一。我们的团队将获得100万美元的奖金,用于创建网络推理系统(CRS)并参加今年夏天晚些时候的AIxCC半决赛。这一认可不仅凸显了我们在推进网络安全方面的 dedication,也标志着我们在开创可能塑造AI驱动安全未来的解决方案旅程中的重要里程碑。
我们参与AIxCC代表了我们推动可能界限的承诺向前迈出的一步,设想一个未来,网络安全挑战通过创新的、AI驱动的解决方案来应对。
构建我们CRS的指导原则
除了参加AIxCC的精神前身——网络大挑战(CGC)之外,我们Trail of Bits的团队多年来一直在努力将AI/ML技术应用于关键网络安全问题。这些经验深刻影响了我们应对AIxCC的方法。虽然我们将等到比赛后期分享具体细节,但我们想分享从这项工作中得出的构建我们AI/ML驱动的CRS的指导原则:
CRS架构是实现可扩展性、弹性和多功能性的关键
DARPA的CGC,像AIxCC一样,要求竞争对手开发能够大规模发现漏洞(即在有限时间内扫描许多挑战程序)而无需任何人工干预的CRS。Trail of Bits为参加CGC创建的CRS,Cyberdyne,通过分布式系统架构解决了这些问题。Cyberdyne配置了许多独立节点,每个节点能够执行关键任务,如模糊测试和符号执行。每个节点负责一个或多个挑战问题,甚至可以与同一挑战的其他节点合作。
这种设计有几个优点。首先,CRS通过并行处理最大化覆盖了131个挑战。这使得CRS既能达到比赛成功所需的规模,又能避免被特别具有挑战性的问题拖累。其次,CRS对局部故障具有弹性。如果节点在分析挑战问题时遇到灾难性错误,其他独立节点的操作不受影响,从而限制了对CRS整体分数的损害。这种设计中的谨慎在比赛中得到了回报:Cyberdyne在发现的已验证漏洞总数方面排名所有CRS中的第二!
AIxCC的格式与CGC非常相似,因此我们为AIxCC构建的CRS也需要具有可扩展性和对故障的弹性。然而,AIxCC有一个额外的复杂性——挑战多样性。AIxCC的挑战问题集将包括用C/C++以外的语言编写的程序,包括许多解释性语言,如Java和Python。这将要求成功的CRS具有高度多功能性。幸运的是,Cyberdyne中使用的分布式架构可以适应AIxCC,以类似于可扩展性和弹性的方式解决多功能性。关键区别在于,用于AIxCC挑战的问题解决节点需要针对不同类型的挑战问题进行专门化。
AI/ML最适合补充传统技术,而不是取代它们
我以及来自佐治亚理工学院的合著者最近在USENIX安全研讨会上展示了一项关于我们构建的基于ML的静态分析工具VulChecker的工作。VulChecker使用基于图的ML算法来定位和分类程序源代码中的漏洞。我们评估了VulChecker与商业静态分析工具的比较,发现VulChecker在检测基于规则的工具通常难以处理的某些漏洞类型(如整数溢出/下溢漏洞)方面优于商业工具。然而,对于适合基于规则检查的漏洞(例如,栈缓冲区溢出漏洞),VulChecker有效但并未超越传统静态分析。
考虑到基于规则的检查通常比ML模型实现成本更低,完全用AI/ML取代传统分析是没有意义的。相反,AI/ML最适合通过解决它们难以处理的问题实例来补充传统方法。在AIxCC的背景下,我们的经验表明,纯AI/ML方法由于高计算成本以及每一步中误报、不准确和/或虚构的复合效应而是一个失败的主张。考虑到这一点,我们计划只在最适合或没有传统选项的地方在我们的CRS中使用AI/ML。目前,我们计划主要在CRS中使用AI/ML方法进行漏洞检测/分类、补丁生成和输入生成任务。
为工作使用正确的AI/ML模型!
LLMs由于其训练集的庞大而被证明具有许多 emergent 能力。在CRS必须在AIxCC中完成的适合AI/ML的任务中,有几个是为LLMs量身定做的,例如生成代码片段和用于模糊测试的种子输入。然而,根据我们过去的研究,我们发现LLMs可能实际上不是此类任务的最佳选择。
去年秋天,我们的团队支持了英国前沿AI工作组的努力,以评估前沿AI模型带来的风险。我们创建了一个框架,用于严格评估LLMs的 offensive 网络能力,这使我们能够1)评估模型相对于人类技能水平(即新手、中级、专家)的独立能力,以及2)评估模型提升新手或中级人类操作员技能的能力。我们使用这个框架评估了不同LLMs处理几个 distinct 任务的能力,包括那些与AIxCC高度相关的任务(例如,漏洞发现和情境化)。
我们发现,对于可简化为自然语言处理的任务,如编写钓鱼邮件和进行 misinformation 活动,LLMs只能表现得像专家一样或显著提升新手。对于其他网络任务(包括与AIxCC相关的任务),如创建恶意软件、在源代码中查找漏洞和创建漏洞利用,当前一代的LLMs具有类似新手的 capabilities,只能略微提升新手用户的技能。这些结果说明了LLMs缺乏推理和规划能力,这一点已被充分记录。
由于LLMs在推理密集型任务(如识别源代码中漏洞的新实例或分类漏洞)上会非常困难,我们将避免在我们的CRS中使用它们。范围更窄的其他类型的AI/ML模型是更好的选择。期望LLMs在这些任务上表现良好可能会带来高水平的不准确或误报,从而破坏后期任务(例如,生成补丁)。
下一步是什么?
下个月,DARPA将举行其AIxCC启动活动,我们应该会了解更多关于DARPA将为比赛提供的基础设施。一旦发布,我们预计这些信息将使我们(以及其他竞争团队)在构建我们的CRS方面取得更具体的进展。
免责声明:本文档中引用的关于AIxCC规则、结构和事件的信息可能会发生变化。本文档不是权威文档。请参考DARPA的网站和官方文档以获取第一手信息。
恭喜这7家公司,每家公司将获得100万美元,用于开发AI驱动的网络推理系统,自动查找和修复软件漏洞,作为#AIxCC小型企业赛道的一部分!完整公告:https://t.co/SC6yEFsooy。
— DARPA (@DARPA) 2024年3月11日
如果您喜欢这篇文章,请分享: Twitter LinkedIn GitHub Mastodon Hacker News