【论文速读】|大语言模型(LLM)智能体可以自主利用1-day漏洞

图片

本次分享论文:

LLM Agents can Autonomously Exploit One-day Vulnerabilities

基本信息

原文作者:Richard Fang, Rohan Bindu, Akul Gupta, Daniel Kang

作者单位:无详细信息提供

关键词:大语言模型, 网络安全, 1-day漏洞, 利用

原文链接:

https://arxiv.org/pdf/2404.08144.pdf

开源代码:暂无

论文要点

论文简介:本文展示了大语言模型(LLM)智能体如何自主利用现实世界中的1-day漏洞。本研究收集了包含关键严重级别在内的15个1-day漏洞数据集,并在提供漏洞描述的情况下,使用GPT-4成功地利用了其中87%的漏洞,其表现远超其他模型和开源漏洞扫描器。

研究目的:探究LLM智能体在网络安全领域的实际应用能力,尤其是它们在没有人类辅助的情况下,是否能自主识别并利用1-day漏洞。

引言

随着大语言模型(LLM)在多个领域展现出卓越性能,其在网络安全领域的应用同样吸引了研究者的广泛关注。虽然早期研究已经探讨了LLM智能体在模拟环境中执行网络攻击的能力,但关于它们能否在无需人类协助的情况下独立对真实系统进行攻击的能力仍然知之甚少。本研究首次展示了LLM智能体能够自主利用现实世界中的1-day漏洞,从而解答了这一领域的关键疑问。研究者构建了一个专门的数据集,并利用GPT-4进行实验,证实了其在独立识别并利用这些漏洞方面的高效性。

研究背景

本论文探讨了计算机安全和LLM智能体的相关背景,并指出计算机程序的广泛部署虽带来巨大便利,却也伴随着被恶意利用的风险,例如获取服务器的root权限和执行远程代码等。论文分析了黑客的攻击手段,从简单的SQL注入到复杂的远程代码执行,均构成了潜在的安全威胁。文中还提到,一旦真实世界的漏洞被发现,它们通常会被记录在公开的漏洞数据库中,以供安全研究人员进行研究。

相关工作

在LLM智能体的网络安全应用领域,先前的研究主要集中在简单的仿真环境和“夺旗”比赛上,这些并不完全反映实际系统的复杂性。虽然这些研究展示了LLM智能体在简单网络攻击场景中的潜力,但对其在真实世界系统中的自主攻击能力的深入探索尚显不足。为了弥补这一研究缺口,本文通过对实际1-day漏洞进行测试,全面评估了LLM智能体在无人直接干预的情况下,识别和利用真实世界漏洞的能力。此外,与以往研究相比,研究者的方法在现实世界应用中表现出显著优势,为未来LLM应用开辟了新的研究方向,并展示了深化网络安全技术的潜力。

LLM Agent

本研究开发的LLM智能体是一个基于GPT-4模型,整合了ReAct智能体框架与CVE漏洞描述,实现了自主漏洞利用。该智能体仅需91行代码,便高效地利用了现实世界中的1-day漏洞,从而展现了LLM在网络安全领域的应用潜力。通过简化命令和工具的接入,此智能体能够自动化执行多种网络攻击,如SQL注入和跨站脚本攻击。此外,该智能体不仅证实了使用现代语言模型执行复杂任务的可能性,还强调了未来进一步开发和优化的重要性。这种智能体的开发为深化对LLM在自动化网络防御及攻击能力方面的理解和提升提供了重要基础。

图片

研究实验

实验设置:论文创建了一个包含15个1-day漏洞的实验基准,这些漏洞来自公开的CVE数据库和学术论文。研究团队在沙盒环境中复现了这些漏洞,以确保测试过程不会对真实用户或系统造成影响。

实验攻击:LLM智能体在这些漏洞上的自主利用能力远超过传统的开源漏洞扫描工具,如ZAP和Metasploit,这些工具通常无法自主发现和利用漏洞。

成本分析:研究还包括了使用LLM智能体进行漏洞利用的成本分析,表明使用LLM智能体的成本远低于传统的人工操作,展示了其在实际应用中的经济效益。

智能体能力:该研究进一步分析了GPT-4智能体在去除CVE描述后的表现,发现其成功率大幅下降,表明当前LLM智能体在发现漏洞方面的能力还有待提高。研究建议通过增强规划和探索功能,可能提高这些智能体的成功率。

论文结论

本研究成功展示了LLM智能体在自主利用现实世界中的1-day漏洞方面的强大能力。特别是在配备CVE漏洞描述时,GPT-4表现出比人类和其他机器学习模型更高的效率和成功率。然而,一旦移除CVE描述,智能体的性能显著下降,这揭示了未来研究的重要方向:提高LLM智能体在自主发现漏洞的能力。此外,成本效益分析表明,使用LLM智能体可以显著降低网络安全操作的成本,同时维持高效的漏洞利用率。因此,部署LLM智能体不仅能提升网络安全防御的效率,还应细致考虑其在网络安全体系中的集成和应用,以最大化其潜在的积极影响。

原作者:论文解读智能体

校对:小椰风

图片

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/3440.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Redisson分布式锁 --- 源码分析

1.获取一把锁 RLock lock redissonClient.getLock("订单lock"); 2.业务代码加锁 lock.lock(); 2.1 lock.tryAcquire Long ttl tryAcquire(leaseTime, unit, threadId); 2.2 lua脚本: tryLockInnerAsync方法 如果获取锁失败,返回的结果是这个key的剩…

MMSeg搭建模型的坑

Input type(torch.suda.FloatTensor) and weight type (torch.FloatTensor) should be same 自己搭建模型的时候,经常会遇到二者不匹配,以这种情况为例,是因为部分模型没有加载到CUDA上面造成的。 注意搭建模型的时候,所有层都应…

【氮化镓】液态Ga在GaN(0001)和(0001̅)表面上的三维有序排列随温度的变化

文章标题是《Temperature dependence of liquid-gallium ordering on the surface of epitaxially grown GaN》,作者是Takuo Sasaki等人,发表在《Applied Physics Express》上。文章主要研究了在分子束外延(MBE)条件下,液态镓(Ga)在GaN(0001)…

WCH RISC CH32V303RCT6 单片机的SDI Printf 虚拟串口功能 类似RTT打印功能 简单分析

参考: 有关于 SDI printf 更多的信息和资料吗? 关于 CH32 系列 MCU SDI 虚拟串口功能的使用 【CH32X035 评估板测评】 教你使用 SDI 接口重定向 printf 0.前言 有段时间没有看CH32V单片机的开发了,今天帮新来的同事调试时候看到debug.c里面有…

java-spring 06 图灵 getBean方法和 doGetBean方法

01.一般的流程是,这里是从上一章的preInstantiateSingleton方法顺序过来的。 getBean() -> doGetBean() -> createBean() -> doCreateBean() -> createBeanInstance() -> populateBean() -> initializeBean() 02.getBean方法,一般就…

项目十:学会python爬虫数据保存(小白圆满级)

前言 上篇我们学会的文本文件、csv文件和excel文件的相关基础知识和操作,这一次我们再来了解一下四个文件操作方式 存储方法 HTML文件 将数据保存为HTML格式,可以直接在浏览器中查看。 使用字符串拼接将数据保存为HTML格式。 代码案例 # 创建数据…

Cookie、Session以及Token的区别

Cookei、Session以及Token总的来说都是为了实现客户端访问服务器数据而利用的一种手段,可以把服务器数据看成是密码箱,而它们是三种不同的钥匙。 一、定义 1.Cookie 客户端第一次访问服务器时,服务器返回cookie给客户端A,客户端…

ABTest如何计算最小样本量-工具篇

如果是比例类指标,有一个可以快速计算最小样本量的工具: https://www.evanmiller.org/ab-testing/sample-size.html 计算样本量有4个要输入的参数:①一类错误概率,②二类错误概率 (一般是取固定取值)&…

第 394 场 LeetCode 周赛题解

A 统计特殊字母的数量 I 哈希&#xff1a;遍历然后枚举 class Solution {public:int numberOfSpecialChars(string word) {unordered_map<char, int> m;for (auto ch : word)m[ch] 1;int res 0;for (char ch a; ch < z; ch)if (m.count(ch) && m.count(A …

【SpringCloud】OpenFeign高级特性

【SpringCloud】OpenFeign高级特性 文章目录 【SpringCloud】OpenFeign高级特性1. 超时控制1.1 全局配置1.2 指定配置 2. 重试机制3. 替换Http客户端3.1 引入依赖3.2 配置 4. 请求/响应压缩5. 日志打印6. 综合配置 1. 超时控制 默认OpenFeign客户端等待60秒钟&#xff0c;但是服…

8.4.1 实验1:创建 VLAN 和划分端口

1、实验目的 通过本实验可以掌握&#xff1a; VLAN的概念。创建VLAN的方法。把交换机端口划分到VLAN中的方法。 2、实验拓扑 创建 VLAN 和划分端口的实验拓扑如下图所示。 图8-5 创建 VLAN 和划分端口的实验拓扑 3、实验步骤 &#xff08;1&#xff09;实验准备 S1#eras…

创建一个空的maven项目,整合SpringBoot和Redis

创建一个空的maven项目&#xff0c;整合SpringBoot和Redis 创建空的maven项目 在最新版的idea中创建maven项目的时候会让选择模板 如下图&#xff1a; 我们选择quickstart快速开始模板&#xff0c;quickstart快速开始模板创建的maven项目里面什么都不带&#xff0c;只有一个…

苹果手机里的HEIC图片可以转换成普通的JPG格式吗?什么是HEIC图片格式?

在现代社会中&#xff0c;随着智能手机技术的不断发展&#xff0c;我们越来越依赖于手机来记录生活的点滴。其中&#xff0c;拍照成为了人们记录生活的重要手段之一。苹果手机作为市场上的热门品牌&#xff0c;其拍摄的照片质量自然也是备受赞誉。然而&#xff0c;苹果手机默认…

Java面试八股之Java中==和equals()的区别

Java中和equals()的区别 操作符&#xff1a; 对于基本数据类型&#xff08;如int、char、boolean等&#xff09;&#xff0c;比较的是它们的值是否相等。 对于对象引用类型&#xff0c;比较的是两个对象的内存地址&#xff08;即是否指向同一个对象实例&#xff09;。也就是…

4.25日学习记录

[HZNUCTF 2023 preliminary]ppppop 对于php反序列化&#xff0c;在之前的学习中有过了解&#xff0c;但是对于序列化字符串的格式不是很了解&#xff0c;刚好接触这题&#xff0c;可以了解一下 序列化字符串的格式&#xff1a; 布尔型&#xff08;bool&#xff09;b&#xf…

ubuntu20.04开机运行java的sh脚本

用到了 rc.local 1、修改 /usr/lib/systemd/system/rc-local.service 在最下面添加 [Install] WantedBymulti-user.target 2、 系统没有 rc.local&#xff0c;需要手动创建 cd /etc vi rc.local在里面写入 /opt/start.sh chmod x /etc/rc.local # 添加可执行权限 chmod x…

基于小程序实现的惠农小店系统设计与开发

作者主页&#xff1a;Java码库 主营内容&#xff1a;SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app等设计与开发。 收藏点赞不迷路 关注作者有好处 文末获取源码 技术选型 【后端】&#xff1a;Java 【框架】&#xff1a;spring…

队列的实现(c语言实现)

队列的定义 队列&#xff08;Queue&#xff09;是一种特殊的线性数据结构&#xff0c;它遵循先进先出&#xff08;FIFO&#xff0c;First In First Out&#xff09;的原则。这意味着最早被添加到队列中的元素将是最先被移除的元素。队列的主要操作包括入队&#xff08;enqueue…

【错题集-编程题】数组中的最长连续子序列(排序 + 模拟)

牛客对应链接&#xff1a;数组中的最长连续子序列_牛客题霸_牛客网 (nowcoder.com) 一、分析题目 排序 模拟。 注意&#xff1a;值连续&#xff0c;位置可以不连续&#xff01;小心处理数字相同的情况。 二、代码 //值得学习的代码 class Solution { public:int MLS(vecto…

数字藏品:重塑艺术与科技的新媒介

数字藏品&#xff0c;这个新兴的词汇&#xff0c;正在逐渐渗透到我们的日常生活中。它不仅是一种新的艺术表达方式&#xff0c;更是一种科技与艺术相结合的全新媒介。那么&#xff0c;数字藏品究竟是什么呢&#xff1f; 首先&#xff0c;我们需要明确一点&#xff0c;数字藏品并…