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

news/2024/5/18 22:39:51

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.mrgr.cn/p/45514258

相关文章

面试:ThreadLocal

目录 1、ThreadLocal可以实现〔资源对象】的线程隔离,让每个线程各用各的【资源对象】,避免争用引发的线程安全问题 2、ThreadLocal同时实现了线程内的资源共享 3、原理 4、为什么ThreadLocalMap 中的 key (即 ThreadLocal )要设计为弱引用…

双向循环链表

双向循环链表的原理及相应功能的代码实现。双向循环链表 原理与应用 双向循环链表与双向链表的区别:指的是双向循环链表的首结点中的prev指针成员指向链表的尾结点,并且双向循环链表的尾结点里的next指针成员指向链表的首结点,所以双向循环链表也属于环形结构。双向循环链表…

选择企业文件同步备份系统 需要注意这几点

企业文件同步备份系统,是几乎每个企业都会用到的,都是为了保障业务数据的连续性、提高数据的可用性,让数据价值最大化。 企业在进行文件同步备份时可能会面临的问题包括: 1、数据传输效率低下:在面对海量小文件时,传统备份方式需要对每个文件进行打开、读取、关闭操作,…

基于python+django+mysql农业生产可视化系统

博主介绍: 大家好,本人精通Java、Python、C#、C、C编程语言,同时也熟练掌握微信小程序、Php和Android等技术,能够为大家提供全方位的技术支持和交流。 我有丰富的成品Java、Python、C#毕设项目经验,能够为学生提供各类…

Django中间件的源码解析流程(上)——中间件载入的前置

目录 1. ​前言​ 2. 请求的入口 3. 中间件加载的入口 4. 源码中的闭包实现 5. 最后 1. 前言 哈喽,大家好,我是小K,今天咋们分享的内容是:在学会Django中间件之后, 我们继续深入底层源码。 在执行中间件时请求到来总是从前往后…

华北电力大学 2024 校历

参考:https://gs.ncepu.edu.cn/qrzpy/zlxz/2f26c800a68c48658dcdc13d389bb15f.htm 虽是两个校区,教学应是同步的。

恶意软件狩猎新途径:使用.NET元数据分析跟踪恶意软件

本文由Blaze于2024年3月25日发表于其个人博客网站上。 就在不久前,我们意外发现了一个PureCrypter样本,而PureCrypter则是一款适用于各种类型恶意软件(例如Agent Tesla和RedLine)的加载器和混淆处理工具。深入分析之后&#xff0c…

WPF 已知问题 开启 IsManipulationEnabled 之后触摸长按 RepeatButton 不会触发连续的 Click 事件

本文记录 WPF 的一个已知问题,在 RepeatButton 上开启 IsManipulationEnabled 漫游支持之后,将会导致触摸长按到 RepeatButton 之上时,不会收到源源不断的 Click 事件这是有个伙伴在 WPF 官方仓库报告的问题,详细请看 https://github.com/dotnet/wpf/issues/8223 原始的问题…

修复 Debian 安装 dotnet 失败 depends on ca-certificates

本文记录我在 Debian 安装 dotnet 失败,报错信息是 packages-microsoft-prod depends on ca-certificates; however: Package ca-certificates is not installed.一开始按照官方的以下代码例子进行安装 packages-microsoft-prod.deb 文件,命令如下 sudo dpkg -i packages-mi…

[已解决]react打包部署

react打包部署 问题 npm install 命令无反应 思路 换成 yarn install 安装完hadoop的环境后,使用node的yarn会报错: 我们在cmd使用where yarn,如下: 看你想保留哪一个,我平时node用的多,就把hadoop的y…

【04-提升模型性能:集成学习与超参数优化】

文章目录 前言集成学习BaggingBoosting超参数优化随机搜索贝叶斯优化总结前言 在前几篇博文中,我们已经介绍了一些机器学习的基础知识、Scikit-learn的核心工具与技巧,以及如何评估模型性能。本篇博文将重点讲解两个可以显著提升机器学习模型性能的高级策略:集成学习和超参数…

Qt/C++音视频开发71-指定mjpeg/h264格式采集本地摄像头/存储文件到mp4/设备推流/采集推流

一、前言 用ffmpeg采集本地摄像头,如果不指定格式的话,默认小分辨率比如640x480使用rawvideo格式,大分辨率比如1280x720使用mjpeg格式,当然前提是这个摄像头设备要支持这些格式。目前市面上有一些厂家做的本地设备支持264格式,这个压缩率极高,由于采集到的就是264格式的裸…

Llama-7b-Chinese本地推理

Llama-7b-Chinese 本地推理 基础环境信息(wsl2安装Ubuntu22.04 miniconda) 使用miniconda搭建环境 (base) :~$ conda create --name Llama-7b-Chinese python3.10 Channels:- defaults Platform: linux-64 Collecting package metadata (repodata.js…

合伙人1号企业工程项目管理软件相比传统软件的优势

合伙人1号 VS 传统管理方式 有需求欢迎联系项目经理:17704072381(微信/手机)

21.3K star!推荐一款可视化自动化测试/爬虫/数据采集神器!功能免费且强大!

大家好,我是狂师! 在大数据时代,信息的获取与分析变得尤为重要。对于开发者、数据分析师乃至非技术人员来说,能够高效地采集网络数据并进行分析是一个强有力的工具。今天,我要向大家推荐的是一款功能强大、操作简单且完全免费的数据采集工具——EasySpider。 一个可视化浏…

基于萤石云实现的九宫格视频监控效果

萤石云九宫格监控实现流程说在最前面将海康录像机添加到萤石云控制台开始进行开发代码中所用接口获取accessToken获取设备列表获取摄像头(录像机的通道)列表获取当前摄像头的监控地址实现完整代码展示效果(出于隐私不显示视频)额外总结1、上、下、左、右、放大、缩小是用来…

TCP详解

2.1TCP 由IETF的RFC793定义的传输控制协议(Transmission Control Protocol,TCP)是一种基于字节流的传输层通信协议。在传输数据前需要在发送与接收者之间建立连接,通过相应机制保证其建立连接的可靠性。 TCP协议具备以下特性&am…

什么样的文件传输调度产品 可以简化IT工作流程?

文件传输调度是企业数据管理中的一个重要环节,企业在存在多个分支机构、子公司,或者多个数据中心、服务器节点的时候,都会需要进行文件传输调度,在使用传统的FTP、rsync等传输方式在应对这些复杂的文件交换需求时,会存在诸多问题及挑战。 1、缺乏自动化策略:无法实现实时…

机械臂模型更换成自己的urdf模块

1.将urdf生成slx文件 smimport(rm_65_flange.urdf);%生成Simscape物理模型 2.更换joint部分(对应与几个输入几个输出)(依次更换) 3.更改关节部分(依次更换) 找到urdf文件夹下的meshes文件夹,看…

利用VS(Visual Studio)自带的工具查看DLL文件相关信息

装完VS后,就可以使用其自带的dumpbin命令来查看DLL文件的信息,首先在开始菜单中打开VS的Developer Command Prompt命令窗打开后,输入dumpbin后,按 Enter,会显示dumpbin的使用参数查看DLL文件的方法有两种: 1.使用dumpbin命令:dumpbin /exports C:\Users\Administrator\D…