当前位置: 首页 > 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…...

Auto-Coder使用GPT-4o完成:在用TabPFN这个模型构建一个预测未来3天涨跌的分类任务

通过akshare库,获取股票数据,并生成TabPFN这个模型 可以识别、处理的格式,写一个完整的预处理示例,并构建一个预测未来 3 天股价涨跌的分类任务 用TabPFN这个模型构建一个预测未来 3 天股价涨跌的分类任务,进行预测并输…...

Frozen-Flask :将 Flask 应用“冻结”为静态文件

Frozen-Flask 是一个用于将 Flask 应用“冻结”为静态文件的 Python 扩展。它的核心用途是:将一个 Flask Web 应用生成成纯静态 HTML 文件,从而可以部署到静态网站托管服务上,如 GitHub Pages、Netlify 或任何支持静态文件的网站服务器。 &am…...

苍穹外卖--缓存菜品

1.问题说明 用户端小程序展示的菜品数据都是通过查询数据库获得,如果用户端访问量比较大,数据库访问压力随之增大 2.实现思路 通过Redis来缓存菜品数据,减少数据库查询操作。 缓存逻辑分析: ①每个分类下的菜品保持一份缓存数据…...

Rust 异步编程

Rust 异步编程 引言 Rust 是一种系统编程语言,以其高性能、安全性以及零成本抽象而著称。在多核处理器成为主流的今天,异步编程成为了一种提高应用性能、优化资源利用的有效手段。本文将深入探讨 Rust 异步编程的核心概念、常用库以及最佳实践。 异步编程基础 什么是异步…...

Ascend NPU上适配Step-Audio模型

1 概述 1.1 简述 Step-Audio 是业界首个集语音理解与生成控制一体化的产品级开源实时语音对话系统,支持多语言对话(如 中文,英文,日语),语音情感(如 开心,悲伤)&#x…...

MySQL用户和授权

开放MySQL白名单 可以通过iptables-save命令确认对应客户端ip是否可以访问MySQL服务: test: # iptables-save | grep 3306 -A mp_srv_whitelist -s 172.16.14.102/32 -p tcp -m tcp --dport 3306 -j ACCEPT -A mp_srv_whitelist -s 172.16.4.16/32 -p tcp -m tcp -…...

【HarmonyOS 5 开发速记】如何获取用户信息(头像/昵称/手机号)

1.获取 authorizationCode: 2.利用 authorizationCode 获取 accessToken:文档中心 3.获取手机:文档中心 4.获取昵称头像:文档中心 首先创建 request 若要获取手机号,scope必填 phone,permissions 必填 …...

AI书签管理工具开发全记录(十九):嵌入资源处理

1.前言 📝 在上一篇文章中,我们完成了书签的导入导出功能。本篇文章我们研究如何处理嵌入资源,方便后续将资源打包到一个可执行文件中。 2.embed介绍 🎯 Go 1.16 引入了革命性的 embed 包,彻底改变了静态资源管理的…...

push [特殊字符] present

push 🆚 present 前言present和dismiss特点代码演示 push和pop特点代码演示 前言 在 iOS 开发中,push 和 present 是两种不同的视图控制器切换方式,它们有着显著的区别。 present和dismiss 特点 在当前控制器上方新建视图层级需要手动调用…...

9-Oracle 23 ai Vector Search 特性 知识准备

很多小伙伴是不是参加了 免费认证课程(限时至2025/5/15) Oracle AI Vector Search 1Z0-184-25考试,都顺利拿到certified了没。 各行各业的AI 大模型的到来,传统的数据库中的SQL还能不能打,结构化和非结构的话数据如何和…...