『 论文解读 』大语言模型(LLM)代理能够自主地利用1 day漏洞,利用成功率竟高达87%,单次利用成本仅8.8美元

embedded/2024/10/20 16:10:10/

1. 概览

该论文主要展示了大语言模型LLM代理能够自主利用现实世界的 1 day 漏洞。研究我发现, GPT-4 在提供了CVE描述的情况下,能够成功利用 87% 的漏洞。 这与其他测试模型(如 GPT-3.5 和其他开源 LLM )以及开源漏洞扫描器(如 OWASP ZAP、Metasploit)的 0% 成功率形成鲜明对比。这一发现引发了关于高能力 LLM 代理广泛部署的问题和讨论。

2. 技术方案

2.1. 技术背景

2.1.1. 什么是LLM 代理

近年来,随着 LLM 的发展,LLM 代理变得起来越普遍。LLM 代理是指能够执行特定任务的系统,它们利用 LLM 的语言理解和生成能力来与用户交互、操作工具、反应工具输出以及执行复杂的任务。这些代理 可以通过工具执行动作,如使用终端、编辑文件或执行代码,并能够根据这些工具的输出做出反应

LLM 代理的能力随着 LLM 的进步而增强。例如,工具辅助的 LLM 代理现在能够执行复杂的软件工程任务,并协助科学研究。这些代理的一个重要能力是使用工具,不同的 LLM 代理 在使用工具和响应反馈方面的能力差异较大

2.1.2. 什么是 1 day 漏洞

论文研发的重点是 1 day 漏洞,这些是已经被披露但在系统中尚未修复的漏洞。在许多真实世界的部署中,安全补丁并不会立即部署,这使得这些部署容易受到 1 day 漏洞的攻击。研究表明,尽管开源漏洞扫描器无法发现某些 1 day 漏洞,但 LLM 代理能够利用它们。此外,许多漏洞披露并不提供如何利用漏洞的逐步指导,这意味着攻击者必须自己构建利用步骤。

2.2. 漏洞自主利用步骤

该技术方案包括以下几个关键部分:

  1. 数据采集:研究团队收集了15个现实世界中的 1 day漏洞,这些漏洞主要来自于在 CVE 描述中被归类为严重的漏洞。

  2. LLM代理:创建了一个能够利用这些 1 day 漏洞的LLM代理。代理使用了 reAct 代理 框架,并且只需要 91 行代码即可实现。
    在这里插入图片描述

  3. 工具访问:代理可以访问网络浏览元素、终端、网络搜索结果、文件创建和编辑以及代码解释器等工具。

  4. 提示:使用了详细的提示来指导代理进行创造性的尝试和不同的方法。提示总共包含了 1056 个 token。

若要了解更多技术细节,可参阅论文原文:LLM Agents can Autonomously Exploit One-day Vulnerabilities.pdf (访问密码: 6277)

在这里插入图片描述

3. 实验结果

实验结果显示:

  1. 成功率:GPT-4 在没有 CVE 描述的情况下,成功率为 87%。而在没有 CVE 描述的情况下,成功率骤降至 7%,表明发现漏洞比利用漏洞更具有挑战性。

  2. 模型比较:GPT-4 是唯一能够成功利用 1 day 漏洞的模型。其他所有模型,包括 GPT-3.5 和所有测试的开源模型,都未能成功利用任何漏洞。在这里插入图片描述

  3. 成本分析:使用 GPT-4 进行漏洞利用的平均成本为每次运行 3.52 美元,平均成功率为40%,这意味着每次成功利用的成功约为 8.8 美元。与雇佣网络安全专家相比,使用 LLM 代理的成本更低,且易于扩展。

这些实验结果不仅展示了 GPT-4 的强大能力,也突显了在没有详细漏洞描述的情况下,即使是最先进的模型也会面临挑战。此外,这些发现强调了在部署高能力 LLM 代理时需要考虑的安全性问题。

4. 未来研究方向(部分)

  • 增强规划和探索能力:研究表明,增强 LLM 代理的规划和探索能力可提高成功利用漏洞的能力。未来工作可能会集中在开发更高级的规划算法和探索机制,以提高在没有 CVE 描述时发现和利用漏洞的能力。
  • 模型鲁棒性:研究如何提高 LLM 代理在面对未知或 0 day 漏洞时的鲁棒性和适应性。
  • 跨模型能力研究:研究不同 LLM 模型之间在网络安全任务上的性能差异,以及如何结合多个模型的优势来提高整体性能

5. 参考

Richard Fang, Rohan Bindu, Akul Gupta, Daniel Kang:LLM Agents can Autonomously Exploit One-day Vulnerabilities.pdf

5.1. 扩展阅读

  • 「 网络安全常用术语解读 」通用漏洞披露CVE详解
  • AIGC时代企业与个人应该如何应对?

在这里插入图片描述


http://www.ppmy.cn/embedded/12638.html

相关文章

2024系统架构师---数据流风格的概念以及应用

在软件架构中,批处理序列(Batch Sequential)和管道过滤器(Pipes and Filters)风格是两种常用的架构风格,各自有其特定的用途和优势。让我们深入探讨这两种风格的概念以及它们的应用场景。 批处理序列&…

Amazon云计算AWS之[3]简单存储对象S3

文章目录 S3的基本概念和操作桶对象基本操作 S3的数据一致性模型基知:CAP理论S3的最终一致性 S3的安全措施身份认证(Authentication)访问控制列表(ACL)访问控制策略(ACP)授权用户类型 S3的基本概念和操作 简单存储服务…

Maven基础篇3

Maven进阶 –分模块开发与设计 –聚合 –继承 –属性 –私服 1.分模块开发与设计 开发的时候是分包开发 一个人完成一个包即可; 甚至一个包需要多个人开发;需要对包进行拆分; 也就是将我们一个包的东西,拆分成一个工程&a…

VSCode通过跳板机免密连接远程服务器的解决方案

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…

flutter笔记-万物皆是widget

文章目录 helloFlluter自定义Widget优化 这篇文章后就不见写了,学flutter主要是为了更好的使用 flutter-webrtc,所以到这里基本就了解了大部分的知识,后续边用边查; 在flutter中所有的view都叫widget,类似文本组件Tex…

界面组件DevExpress Blazor UI v23.2 - 支持.NET 8、全新的项目模版

DevExpress Blazor UI组件使用了C#为Blazor Server和Blazor WebAssembly创建高影响力的用户体验,这个UI自建库提供了一套全面的原生Blazor UI组件(包括Pivot Grid、调度程序、图表、数据编辑器和报表等)。 DevExpress Blazor控件目前已经升级…

C++ 递归与面向对象编程基础

C 递归 递归是一种使函数调用自身的技术。这种技术提供了一种将复杂问题分解为简单问题的方法,从而更容易解决问题。 递归可能有点难以理解。理解其工作原理的最佳方法是通过实验来尝试。 递归示例 将两个数字相加很容易做到,但将一系列数字相加就更复杂…

如何快速上手:springboot+mongodb

当使用 Java Spring Boot 与 MongoDB 时,可以使用 Spring Data MongoDB 来轻松地进行数据库操作。以下是一个简单的示例,演示如何在 Spring Boot 中使用 MongoDB 进行基本的 CRUD(创建、读取、更新、删除)操作。 Spring Data for …