从ChatGPT代码执行逃逸到LLMs应用安全思考

摘要

11月7日OpenAI发布会后,GPT-4的最新更新为用户带来了更加便捷的功能,包括Python代码解释器、网络内容浏览和图像生成能力。这些创新不仅开辟了人工智能应用的新境界,也展示了GPT-4在处理复杂任务方面的惊人能力。然而,与所有技术进步一样,新功能的引入往往伴随着新挑战。GPT-4新功能上线后,我们第一时间对其功能进行了安全分析,其中发现Python代码解释器疑似存在沙盒逃逸漏洞。

本文将深入探讨该漏洞的发现和挖掘过程,分享OpenAI官方对该问题的处理态度和处置思路,也希望该漏洞能够提供给大家更多对大语言模型(LLMs)应用安全风险的理解和思考。

01 漏洞发现与分析

绿盟研究团队起初的研究切入点为OpenAI本次更新当中支持了GPT-4在对话过程中能够根据用户的描述进行自动化的图表生成,并且通过界面上的分析按钮可以查看相关的图表是基于Python的matplotlib.pyplot库完成。

图片

在发现GPT-4已经支持用户输入Python代码后,我们第一时间尝试对Python代码执行功能进行初步的测试,了解相关功能的使用范围和相关限制,并关注整个过程中是否存在安全保护机制以及针对Python环境实施的安全策略。在直接通过Python解释器执行系统id命令以及间接通过字符串拼接实现id命令的执行时,发现GPT-4针对Python执行系统功能时,存在一定的安全限制,针对恶意的代码组合方式会拒绝进行Python代码执行,从而限制⽤户运行影响进程⽂件和Python环境完整性的操作。

图片

图片

在多次测试与代码执行后,我们推测GPT-4中针对这一特性存在相关的安全检测机制:

\1. ⽤户输⼊ → 2. ChatGPT检测执⾏代码是否影响系统进程、⽂件、⽹络等,⽆⻛险则继续 → 3. 组合⽤户输⼊和预制逻辑形成待执行代码 → 4. 执⾏代码 → 5. GPT-4解释执⾏结果

GPT-4沙箱逃逸到任意命令执行

尽管GPT-4具备这些安全措施,但依然可能实现Python沙盒逃逸。我们研究发现利用多次会话上文和ASCII编码隐藏敏感命令,最终通过字符串触发执行,绕过了GPT-4的安全检查,执行了cat /etc/issue命令,成功获取到了目标环境的Linux发行版。

图片

02 漏洞提交过程 && OpenAI官方处理态度

在确认Python沙箱逃逸漏洞的可行性后,团队于第一时间上报国家漏洞库,并于11月8日通过BugCrowd向OpenAI提交了这一安全问题,并详细描述了相关的发现过程及绕过安全策略的方法。

图片

11月9日OpenAI官方针对我们提交的漏洞进行了回复,比较遗憾的是,官方将此问题归类为模型幻觉问题,并且认为相关代码执行过程是大模型模拟出来并给出的虚假结果,并告知由于大模型的安全问题存在一定的特殊性,与模型提示词输入与响应内容相关的问题不在安全问题的范围之内,因此拒绝收录此漏洞。

图片

后续我们多次对该问题进行了验证和测试,包括对代码执行环境的分析、GPTs私有化知识库探测等,依旧判定为是实际上的代码执行而非“模型幻觉问题”,关于GPTs应用的安全风险我们会在下一篇文章当中进行介绍。

03 OpenAI官方修复策略

在官方回复漏洞提交记录后,我们于11月13日重新测试发现先前在Python解释器中的安全检查机制已被移除,用户可无限制在Python解释器中输入并执行相关的系统命令,无需再绕过任何安全机制。以下是我们通过执行env命令输出的系统环境变量信息,可以看到Python解释器的Agent功能是放在K8S集群中执行的,并且用户在系统中的执行权限为sandbox。

图片

图片

我们分析代码执行沙箱的K8S 集群架构图如下:

图片

站在OpenAI官方视角来看,该问题是很难直接在应用层面进行修复,大语言模型的魅力在于其对自然语言的理解、推理和生成能力,而在安全视角中,自然语言的多样性以及复杂的逻辑多样性又使得我们在以往传统应用安全中基于输入输出做变量控制的检测防御实践很难在LLM安全场景中应用起来,单一的应用层安全策略不足以应对复杂的安全挑战。

值得借鉴的是OpenAI在处置本次风险时直接在应用安全层面放开了Python代码的执行限制,选择在容器架构层面进行安全加固以及攻击面的收敛,通过基于K8S Pod的形式运行Python解释器沙箱,在底层Pod运行时环境中实施严格的安全措施,包括网络连接限制、可读写目录限制、Pod运行存活时间、禁用高危命令等限制策略,以此来修复问题。这种做法增强了模型应用基座系统的安全性,将攻击影响限制在了可控的范围之内。

04 总结:LLMs时代下的应用安全

在本文我们通过实证测试深入探讨了GPT-4的安全漏洞,同时也对OpenAI的安全策略和对待安全漏洞的态度进行了深入的分析。在LLMs时代,如何确保LLMs应用的安全性,已成为一个亟待解决的关键问题。

OpenAI针对该漏洞直接在应用层面修复此类问题面临较大难度,OpenAI选择在容器架构层面进行安全加固以及攻击面的收敛制策略,但即便如此,该场景下依然存在部分安全风险,包括代码执行和资源滥用、数据安全问题甚至容器逃逸风险等。突显出在LLMs时代,面对日益复杂的安全威胁,需要采取更为全面和多层次的安全策略。随着人工智能技术的快速发展,我们必须不断审视和更新我们的安全策略,以确保在LLMs时代下应用的安全和可靠性。

如何学习AI大模型?

作为一名热心肠的互联网老兵,我决定把宝贵的AI知识分享给大家。 至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

一、全套AGI大模型学习路线

AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!

img

二、640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

img

三、AI大模型经典PDF籍

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。

img

四、AI大模型商业化落地方案

img

作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

亚马逊云科技快速上手训练营:模块一

课程目标 初步了解云平台与本地环境的差异初步了解亚马逊云科技平台的基础设施和部分核心服务初步了解亚马逊云科技平台上的弹性高可用架构初步了解亚马逊云科技平台上的架构设计准则初步了解本地架构迁移上云的基本知识 1.亚马逊云科技平台简介 1.1 什么是云计算&#xff1…

倒装COB封装技术与常规SMD封装技术差异对比

倒装COB显示屏与常规SMD LED显示屏一个很大的差异点就是在于封装工艺的不同,COB(Chip on Board)封装和SMD(Surface Mounted Device)封装是LED显示屏领域中两种常见的技术,所表现出来的差异主要在于封装结构…

Vue3学习笔记<->nginx部署vue项目

安装nginx vue项目通常部署到nginx上,所以先安装一个nginx。为了方便安装的是windows版nginx,解压就能用。 项目参考上一篇文章《Vue3学习笔记<->创建第一个vue项目》《Vue3学习笔记<->创建第一个vue项目》…

力扣随机一题 6/28 数组/矩阵

📝个人主页🌹:誓则盟约⏩收录专栏⏪:IT 竞赛🤡往期回顾🤡:6/27 每日一题关注博主,后期持续更新系列文章如果有错误感谢请大家批评指出,及时修改感谢大家点赞&#x1f44d…

最新AI智能聊天对话问答系统源码(图文搭建部署教程)+AI绘画,文生图,TTS语音识别输入,文档分析

一、人工智能语言模型和AI绘画在多个领域广泛应用 人工智能语言模型和AI绘画在多个领域都有广泛的应用。以下是一些它们的主要用处: 人工智能语言模型 内容生成 写作辅助:帮助撰写文章、博客、报告、剧本等。 代码生成:自动生成或补全代码&…

Arduino - Keypad 键盘

Arduino - Keypad Arduino - Keypad The keypad is widely used in many devices such as door lock, ATM, calculator… 键盘广泛应用于门锁、ATM、计算器等多种设备中。 In this tutorial, we will learn: 在本教程中,我们将学习: How to use key…

Kompas AI用户体验与界面设计对比

一、引言 在人工智能(AI)产品领域,用户体验(UX)和界面设计(UI)是衡量产品成功与否的两个关键指标。一个优秀的AI产品不仅需要具备强大的功能,还需要提供流畅、直观且富有吸引力的用…

还不会写WorkFlow?“讲课“即工作流,摩根大通用一段Prompt诱导LLMs自主生成

随着各种自动生成Prompt的工具被开源,Prompt Engineer的生存空间也在不断被压缩,一个明显的转变已经出现:要想在ALL IN AI的状态下生存下去,你要能从Prompt Engineer切换成WorkFlow Engineer。而WorkFlow领域的竞争也是非常激烈的…

CSS 核心知识点 - grid

思维导图 参考网址: https://developer.mozilla.org/zh-CN/docs/Web/CSS/CSS_grid_layout 一、什么是 grid? CSS Grid布局是在CSS3规范中引入的一种新的布局方式,旨在解决传统布局方法(如浮动、定位、表格布局)存在的许多问题。C…

【STM32修改串口波特率】

STM32微控制器中的串口波特率调整通常涉及到USART(通用同步接收器/发送器)模块的配置。USART模块提供了多个寄存器来设置波特率,其中关键的寄存器包括BRR(波特率寄存器)和USART_CR1(控制寄存器1&#xff09…

【数学建模】——【python库】——【Pandas学习】

专栏:数学建模学习笔记 pycharm专业版免费激活教程见资源,私信我给你发 python相关库的安装:pandas,numpy,matplotlib,statsmodels 总篇:【数学建模】—【新手小白到国奖选手】—【学习路线】 第一卷:【数学…

推荐系统中冷启动环节的设计实现

推荐系统中的冷启动分为物料冷启动和用户冷启动。用户冷启动主要是针对新用户,但有时候也用于低活用户拉活。物料冷启动主要是让优质物料得到快速下发,让模型可以迅速捕获到用户对该物料的关注。本文将详细讲解用户冷启动和物料冷启动。 1、用户冷启动 用…

SAMformer:通过锐度感知最小化和通道注意力解锁变换器在时间序列预测中的潜力

目录 摘要1. 引言当前方法的局限性变换器的可训练性我们贡献的总结 2. 提出的方法符号说明2.1 问题设置2.2 激励示例命题2.1(最优解的存在性) 2.3 变换器的损失景观现有的解决方案 2.4. SAMformer:集成所有方法 3. 实验3.1 主要收获 摘要 基…

【Linux系统编程】进程控制(创建、退出、等待、替换)

目录 再聊进程创建 进程终止 进程等待 进程程序替换 再聊进程创建 初识进程创建 关于进程创建,这里只会说结论,在上面这篇文章中对进程创建进行了比较详细的阐述,而接下来要介绍的,都是基于上文说过的来展开的 一些较为重要…

98%企业竟存N日漏洞超5年,新漏洞利用攻击时长极速缩短!

专注推动网络与安全融合的全球网络安全领导者 Fortinet(NASDAQ:FTNT),近日发布 FortiGuard Labs(Fortinet全球威胁情报响应与研究团队)《2023 下半年全球威胁态势研究报告》。本次新发布的半年度研究报告&a…

MySQL8 新特性——公用表表达式用法 with t1 as (select * from user)

MySQL8 新特性——公用表表达式用法_mysql ctes-CSDN博客 1.普通公用表表达式 MySQL8 新特性——公用表表达式用法 在MySQL 8.0及更高版本中,引入了公用表表达式(Common Table Expressions,CTEs),它是一种方便且可重…

Echarts地图实现:杭州市困难人数分布【动画滚动播放】

Echarts地图实现:杭州市困难人数分布 实现功能 杭州市地区以及散点图分布结合的形式数据展示动画轮播可进去杭州市下级地区可返回杭州市地图展示 效果预览 实现思路 使用ECharts的地图和散点图功能结合实现地区分布通过动画轮播展示数据变化实现下级地区数据的展…

深度学习论文: VanillaNet: the Power of Minimalism in Deep Learning

深度学习论文: VanillaNet: the Power of Minimalism in Deep Learning VanillaNet: the Power of Minimalism in Deep Learning PDF:https://arxiv.org/pdf/2305.12972 PyTorch: https://github.com/shanglianlm0525/PyTorch-Networks 1 概述 提出的VanillaNet通过简化设计&…

《数字图像处理与机器视觉》案例二(基于边缘检测和数学形态学焊缝图像处理)

一、前言 焊缝是评价焊接质量的重要标志,人工检测方法存在检测标准不统一,检测精度低,焊缝视觉检测技术作为一种重要的质量检测方法,正逐渐在各行各业中崭露头角。把焊缝准确的从焊接工件中准确分割出来是焊缝评价的关键一步&…

API接口示例的设计与实现技巧?如何编写?

API接口示例怎么使用?哪些工具可以生成API接口示例? 一个良好的API接口示例可以显著提升开发效率,改善用户体验,并确保系统的稳定性和可扩展性。AokSend将探讨API接口示例的设计与实现技巧,帮助开发者构建高质量的API…