当前位置: 首页 > news >正文

【论文速读】| 对大语言模型解决攻击性安全挑战的实证评估

本次分享论文为:An Empirical Evaluation of LLMs for Solving Offensive Security Challenges

基本信息

原文作者:Minghao Shao, Boyuan Chen, Sofija Jancheska, Brendan Dolan-Gavitt, Siddharth Garg, Ramesh Karri, Muhammad Shafique

作者单位:纽约大学、纽约大学阿布扎比分校

关键词:大语言模型,网络安全,攻击性挑战,CTF竞赛

原文链接:

https://arxiv.org/pdf/2402.11814v1.pdf

开源代码:

https://github.com/NickNameInvalid/LLM_CTF

论文要点

论文简介:随着大语言模型(LLMs)技术的日益兴起,它们在理解和解决CTF(Capture The Flag)挑战方面的应用也逐渐增多。然而,尚未有研究对LLMs在完全自动化流程中解决CTF挑战的有效性进行全面评估。为此,本研究旨在探索LLMs在该领域的应用潜力,并设计了两种CTF解题流程:人机交互式(HITL)和完全自动化。这两种流程的目的是评估LLMs在处理一系列特定CTF挑战时的性能,这些挑战通过提供相关问题信息来激发模型的解题过程。通过与人类参赛者在相同挑战上的表现进行对比,研究者观察到LLMs的解题成功率已超过普通人类参赛者。本研究全面评价了LLMs在解决现实世界中的CTF挑战能力,并覆盖了从实际竞赛到完全自动化流程的各个阶段。研究成果不仅支持了LLMs在网络安全教育中的应用,同时也为系统性评估LLMs在网络安全攻击能力方面的潜力提供了新的研究路径。

研究背景:CTF挑战赛是网络安全领域一种广受欢迎的竞赛形式,涉及密码学、逆向工程、网络利用等多个领域。随着LLMs的出现和进步,研究人员开始探索并解决在此类挑战中的潜力。

研究贡献:

1.评估了六种不同LLMs在解决26个多样化CTF问题上的熟练程度。

2.构建了使用LLMs解决CTF问题的两种工作流程,并展示了它们的成功率。

3.对LLMs在处理CTF挑战时遇到的典型短板进行了全面分析,揭示了完全依赖LLMs而不进行人类干预的局限性。

引言

近年来,大语言模型(LLMs),已在自然语言处理、编程任务和对话生成等多个领域展现出卓越的性能。本研究旨在探索LLMs在网络安全领域,特别是在解决CTF(Capture The Flag)挑战方面的应用潜力。为此,研究团队在纽约大学举办的CSAW竞赛中特别引入了LLM攻击挑战。在此过程中,团队收集了参与者利用LLMs提供的“提示”来解决一系列CTF挑战的相关数据,并在此基础上进行了详尽的分析。通过这项研究,研究者期望能够更深入地理解LLMs在网络安全实战中的应用价值和效果。

背景知识

CTF挑战赛是一种模拟真实世界中的安全漏洞和攻击场景的竞赛。在这类竞赛中,参与者需运用其网络安全知识和技能来识别漏洞、编写利用代码,并最终实现“夺旗”目标。随着大语言模型(LLMs)技术的兴起,研究团队着手研究这些模型是否具备理解和解决这些高度专业化挑战的能力。通过这一探索,旨在评估LLMs在网络安全领域的实际应用潜力。

论文方法

理论背景:在探究不同大语言模型(LLMs)在解决CTF挑战方面的潜力时,研究者选用了包括GPT-3.5、GPT-4、Claude、Bard、DeepSeek Coder和Mixtral在内的六种模型。特别地,在涉及人类参与者的研究中,ChatGPT因其卓越的性能而成为最受青睐的选择。研究成果主要体现在三个方面:首先,通过定量和定性分析,评估了这些模型解决26个不同CTF问题的能力,发现ChatGPT的表现与一般人类CTF团队持平;其次,开发并测试了两种基于LLMs的CTF问题解决流程,并报告了它们的成功比率;最后,深入分析了LLMs在应对CTF挑战时的常见局限,强调了在没有人类干预的情况下,单纯依赖LLMs的潜在风险。

方法实现:通过详细地设计实验流程,研究团队对LLMs进行了全面的测试。在HITL流程中,参与者需要根据LLM生成的输出,提供反馈和指导,以帮助模型更准确地解决问题。而在完全自动化的流程中,LLM需要独立完成从理解挑战到生成解决方案的整个过程。

实验

实验设置:选择了GPT-3.5、GPT-4、Claude等六种LLMs进行实验,覆盖了多种CTF问题类型,包括密码学、逆向工程、Web利用等。

实验结果:在解决CTF挑战的过程中,ChatGPT展现出了卓越的性能,能够有效应对多种类型的挑战。相较于人类参与者的平均水平,LLMs在某些情况下能够带来更高的成功率。尽管如此,研究也揭示了LLMs在理解某些特定挑战方面的限制。

论文结论

研究结果表明,LLMs尤其是ChatGPT,能够在无需人类干预的情况下,自动解决CTF挑战,其解题能力与一般水平的人类CTF团队相当。通过对比不同LLMs在解决多种CTF挑战的表现,本研究突显了LLMs在网络安全应用中的潜力,并同时指出了过分依赖LLMs可能带来的局限。

此外,本研究通过深入分析LLMs在处理CTF挑战时的常见不足,例如在复杂逻辑处理和代码生成准确性方面的短板,为未来LLMs在网络安全教育和攻击性能力评估中的应用提供了重要参考。尽管LLMs已证明其在解决CTF挑战方面的潜力,但要实现完全自动化且无需人类干预的水平,仍需对LLMs的训练方法和应用策略进行进一步的优化。

原作者:论文解读智能体

润色:Fancy

校对:小椰风

相关文章:

【论文速读】| 对大语言模型解决攻击性安全挑战的实证评估

本次分享论文为:An Empirical Evaluation of LLMs for Solving Offensive Security Challenges 基本信息 原文作者:Minghao Shao, Boyuan Chen, Sofija Jancheska, Brendan Dolan-Gavitt, Siddharth Garg, Ramesh Karri, Muhammad Shafique 作者单位&a…...

小迪安全48WEB 攻防-通用漏洞Py 反序列化链构造自动审计 bandit魔术方法

#知识点: 1、Python-反序列化函数使用 2、Python-反序列化魔术方法 3、Python-反序列化 POP 链构造(payload构造) 4、Python-自动化审计 bandit 使用 #前置知识: 函数使用: pickle.dump(obj, file) : 将对…...

微服务:解放软件开发的神器,引领企业级应用的未来(二)

本系列文章简介: 本系列文章将深入剖析微服务架构的原理、设计和实践,向大家介绍微服务的核心概念和关键技术,以及在实际项目中的应用和实践经验。我们将通过具体的案例和实例,帮助大家理解微服务架构的优势和挑战,掌握…...

easyexcel与vue配合下载excel

后端 设置响应 // 设置响应头 response.setContentType("application/octet-stream;charsetUTF-8"); String returnName null; try {returnName URLEncoder.encode(fileName, "UTF-8"); } catch (UnsupportedEncodingException e) {throw new RuntimeExc…...

Vue.js 模板语法

Vue.js 使用了基于 HTML 的模板语法,允许开发者声明式地将 DOM 绑定至底层 Vue 实例的数据。 Vue.js 的核心是一个允许你采用简洁的模板语法来声明式的将数据渲染进 DOM 的系统。 结合响应系统,在应用状态改变时, Vue 能够智能地计算出重新…...

信号处理--基于DEAP数据集的情绪分类的典型深度学习模型构建

关于 本实验采用DEAP情绪数据集进行数据分类任务。使用了三种典型的深度学习网络:2D 卷积神经网络;1D卷积神经网络GRU; LSTM网络。 工具 数据集 DEAP数据 图片来源: DEAP: A Dataset for Emotion Analysis using Physiological…...

Spring设计模式-实战篇之模板方法模式

什么是模板方法模式? 模板方法模式用于定义一个算法的框架,并允许子类在不改变该算法结构的情况下重新定义算法中的某些步骤。这种模式提供了一种将算法的通用部分封装在一个模板方法中,而将具体步骤的实现延迟到子类中的方式。 模板方法模式…...

PTA天梯赛习题 L2-006 树的遍历

先序遍历:根-左-右 > 序列的第一个数就是根 中序遍历:左-根-右 > 知道中间某一个数为根,则这个数的左边就是左子树,右边则是右子树 后序遍历:左-右-根 > 序列的最后一个数就是根 题目 给定一棵…...

js相关的dom方法

查找元素 //获取元素id为box的元素 document.getElementById(box) //获取元素类名为box的元素 document.getElementsByClassName(box) //获取标签名为div的元素 document.getElementsByTagName(div)改变元素 //设置id为box的元素内容 document.getElementById("box"…...

Django——Ajax请求

Django——Ajax请求 一、响应 Json 数据 path(str/ , views.str_view), path(json/ , views.json_view), path(jsonresponse/ , views.jsonresponse_view), path(ls/ , views.ls),from django.shortcuts import render , HttpResponse from django.http import JsonResponse …...

基于java多角色学生管理系统论文

摘 要 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本学生管理系统就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理完毕庞大的数据信息&am…...

python(django)之单一接口管理功能后台开发

1、创建数据模型 在apitest/models.py下加入以下代码 class Apis(models.Model):Product models.ForeignKey(product.Product, on_deletemodels.CASCADE, nullTrue)# 关联产品IDapiname models.CharField(接口名称, max_length100)apiurl models.CharField(接口地址, max_…...

教程1_图像视频入门

一、图像入门 1、cv2.imread()函数 cv2.imread() 是 OpenCV 库中的一个函数,用于读取图像文件。下面是 cv2.imread() 函数的基本介绍和使用方法: 函数定义 cv2.imread(filename, flagscv2.IMREAD_COLOR) 参数 filename:要读取的图像的路…...

MQTT.fx和MQTTX 链接ONENET物联网提示账户或者密码错误

参考MQTT.fx和MQTTX 链接ONENET物联网开发平台避坑细节干货。_mqttx和mqttfx-CSDN博客 在输入password和username后还是提示错误,是因为在使用token的时候,key填写错误,将设备的密钥填入key中...

Svn添加用户、添加用户组、配置项目权限等自动化配置脚本

实现在工作中自动化配置svn用户、用户组、和项目权限的脚本,在使用过程中如果有什么问题,可以联系我。 移步到gitee: svn account permission management: Svn账号、组、权限管理脚本 (gitee.com)...

Spring事务-两种开启事务管理的方式:基于注解的声明式事务管理、基于编程式的事务管理

Spring事务-两种开启事务管理的方式 1、前期准备2、基于注解的声明式事务管理3、基于编程式的事务管理4、声明式事务失效的情况 例子:假设有一个银行转账的业务,其中涉及到从一个账户转钱到另一个账户。在这个业务中,我们需要保证要么两个账户…...

OC 技术 苹果内购

一直觉得自己写的不是技术,而是情怀,一个个的教程是自己这一路走来的痕迹。靠专业技能的成功是最具可复制性的,希望我的这条路能让你们少走弯路,希望我能帮你们抹去知识的蒙尘,希望我能帮你们理清知识的脉络&#xff0…...

云原生周刊:Kubernetes v1.30 一瞥 | 2024.3.25

开源项目推荐 Retina Retina 是一个与云无关的开源 Kubernetes 网络可观测平台,它提供了一个用于监控应用程序运行状况、网络运行状况和安全性的集中中心。它为集群网络管理员、集群安全管理员和 DevOps 工程师提供可操作的见解,帮助他们了解 DevOps、…...

2016年认证杯SPSSPRO杯数学建模D题(第一阶段)NBA是否有必要设立四分线解题全过程文档及程序

2016年认证杯SPSSPRO杯数学建模 D题 NBA是否有必要设立四分线 原题再现 NBA 联盟从 1946 年成立到今天,一路上经历过无数次规则上的变迁。有顺应民意、皆大欢喜的,比如 1973 年在技术统计中增加了抢断和盖帽数据;有应运而生、力挽狂澜的&am…...

EdgeGallery开发指南

API接口 简介 EdgeGallery支持第三方业务系统通过北向接口网关调用EdgeGallery的业务接口。调用流程如下图所示(融合前端edgegallery-fe包含融合前端界面以及北向接口网关功能,通过浏览器访问时打开的是融合前端的界面,通过IP:Port/urlPref…...

变量 varablie 声明- Rust 变量 let mut 声明与 C/C++ 变量声明对比分析

一、变量声明设计:let 与 mut 的哲学解析 Rust 采用 let 声明变量并通过 mut 显式标记可变性,这种设计体现了语言的核心哲学。以下是深度解析: 1.1 设计理念剖析 安全优先原则:默认不可变强制开发者明确声明意图 let x 5; …...

springboot 百货中心供应链管理系统小程序

一、前言 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,百货中心供应链管理系统被用户普遍使用,为方…...

Keil 中设置 STM32 Flash 和 RAM 地址详解

文章目录 Keil 中设置 STM32 Flash 和 RAM 地址详解一、Flash 和 RAM 配置界面(Target 选项卡)1. IROM1(用于配置 Flash)2. IRAM1(用于配置 RAM)二、链接器设置界面(Linker 选项卡)1. 勾选“Use Memory Layout from Target Dialog”2. 查看链接器参数(如果没有勾选上面…...

深度学习习题2

1.如果增加神经网络的宽度,精确度会增加到一个特定阈值后,便开始降低。造成这一现象的可能原因是什么? A、即使增加卷积核的数量,只有少部分的核会被用作预测 B、当卷积核数量增加时,神经网络的预测能力会降低 C、当卷…...

HashMap中的put方法执行流程(流程图)

1 put操作整体流程 HashMap 的 put 操作是其最核心的功能之一。在 JDK 1.8 及以后版本中,其主要逻辑封装在 putVal 这个内部方法中。整个过程大致如下: 初始判断与哈希计算: 首先,putVal 方法会检查当前的 table(也就…...

代码规范和架构【立芯理论一】(2025.06.08)

1、代码规范的目标 代码简洁精炼、美观,可持续性好高效率高复用,可移植性好高内聚,低耦合没有冗余规范性,代码有规可循,可以看出自己当时的思考过程特殊排版,特殊语法,特殊指令,必须…...

为什么要创建 Vue 实例

核心原因:Vue 需要一个「控制中心」来驱动整个应用 你可以把 Vue 实例想象成你应用的**「大脑」或「引擎」。它负责协调模板、数据、逻辑和行为,将它们变成一个活的、可交互的应用**。没有这个实例,你的代码只是一堆静态的 HTML、JavaScript 变量和函数,无法「活」起来。 …...

springboot 日志类切面,接口成功记录日志,失败不记录

springboot 日志类切面,接口成功记录日志,失败不记录 自定义一个注解方法 import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target;/***…...

VisualXML全新升级 | 新增数据库编辑功能

VisualXML是一个功能强大的网络总线设计工具,专注于简化汽车电子系统中复杂的网络数据设计操作。它支持多种主流总线网络格式的数据编辑(如DBC、LDF、ARXML、HEX等),并能够基于Excel表格的方式生成和转换多种数据库文件。由此&…...

对象回调初步研究

_OBJECT_TYPE结构分析 在介绍什么是对象回调前,首先要熟悉下结构 以我们上篇线程回调介绍过的导出的PsProcessType 结构为例,用_OBJECT_TYPE这个结构来解析它,0x80处就是今天要介绍的回调链表,但是先不着急,先把目光…...