“我用 ChatGPT 造了一个零日漏洞,成功逃脱了 69 家安全机构的检测!”

news2025/1/20 1:57:36

一周以前,图灵奖得主 Yoshua Bengio、伯克利计算机科学教授 Stuart Russell、特斯拉 CEO 埃隆·马斯克、苹果联合创始人 Steve Wozniak 等在内的数千名 AI 学者、企业家联名发起一则公开信,建议全球 AI 实验室立即停止训练比 GPT-4 更强大的模型,为期六个月,缘由是「只有当我们确信强大的人工智能系统带来积极的效果,其风险是可控的,才应该开发」。

这样的呼吁虽有人反对,但也不无道理,ChatGPT、GPT-4 大模型与产品,覆盖聊天到问答、写文章、编程序等多维度,其带来利好的一面和展现出来的弊端究竟如何达成平衡?如果用 ChatGPT「作恶」,又会带来怎样的后果?

近日,一位名叫 Aaron Mulgrew 的研究人员做了一项实验,他以小白的视角,在完全没有编写任何代码的情况下,看看 ChatGPT 能否实现一个新的零日漏洞。

万万没想到的是,仅用一些提示词,ChatGPT 便创建了一个功能强大的数据挖掘恶意软件,还逃脱了 69 家检测恶意软件的机构测试。与此同时,Aaron Mulgrew 称,要想开发这样一款恶意软件,由 5-10 名人类组成的黑客团队恐需要数周时间,而 ChatGPT 只需要几个小时。


ChatGPT 的安全机制如何?

早期在 ChatGPT、GPT-4 发布之际,OpenAI 曾多次声明自家在安全方面所做的努力,并称可以防止任何人试图要求 ChatGPT 编写恶意软件。

来自网络安全组织 Forcepoint 的 Aaron Mulgrew 便想要抱着测试「规避 ChatGPT 现有不足的安全防护有多么容易」和「在不编写任何代码且仅使用 ChatGPT 的情况下创建高级恶意软件是多么容易」两个目的,看看 ChatGPT 在安全方面的成效究竟如何。

为此,他决定自己不编写任何代码,只使用先进的技术,例如隐写术(steganography,把信息藏到‘载体’之中,使信息不让除预期的接收者之外的任何人知晓信息的传递事件或者信息的内容)。同时,Aaron Mulgrew 选择 Go 为执行语言,因为 Go 语言易于开发,并且需要调试问题时便于他手动检查代码。


用自然语言让 ChatGPT 生成恶意软件:它拒绝!

首先,Aaron Mulgrew 简洁明了地直接要求 ChatGPT 生成一个可量化的恶意软件。

也正如 OpenAI 在发布这项技术时承诺的那样,ChatGPT 反手便是拒绝,也告诉研究人员,生成恶意软件是不道德的,它无法提供任何代码来帮助实现这项工作。


人类不写一行代码,ChatGPT 会被用来「作恶」吗?

直接套路走不通,Aaron Mulgrew 决定软磨硬泡试试。

在他的设想中,是先让 ChatGPT 生成一些小的辅助代码片段,然后手动将整个可执行文件放在一起,通过将这个可执行文件伪装成屏幕保护应用程序(SCR 扩展)直接在 Windows 上自动启动。然后,该软件将筛选文件(例如图像、Word 文档和 PDF)以窃取数据,并上传到 Google Drive 云端系统中。

那么,Aaron Mulgrew 是否会成功?

在测试中,Aaron Mulgrew 开始通过提示词让 ChatGPT 不断生成相关的代码。

首先,他让 ChatGPT 生成一些有关搜索本地磁盘上大于 5MB 的 PNG 文件的代码。之所以设定这样的筛选条件,Aaron Mulgrew 认为 5MB 的 PNG 足以存储高价值的商业敏感文档(如 PDF 或者 Docx 文档)的一些片段内容。

ChatGPT 成功提供了相关的代码:

紧接着,Aaron Mulgrew 又要求 ChatGPT 提供一些代码,即使用隐写术对找到的 PNG 进行编

码。让人有些诧异的是,ChatGPT 直接给出了一个建议——调用开源 Auyer

(https://github.com/auyer/steganography)现成的隐写库来实现这一功能。

        基于以上,Aaron Mulgrew 已经实现了在没有编写一行代码的情况下,几乎勾勒出一个用于测试的 MVP(最简单可行产品)。

        不过,这样一款程序还有些功能缺失,包括如何在设备上找到一些可以窃取的高价值文件、又要将窃取到的文件数据上传到哪里去。

        随后,Aaron Mulgrew 决定让 ChatGPT 提供一些代码,可以在用户的文档、桌面和 AppData 文件夹中进行遍历,并找到所有最大为 1MB 的 PDF 文件或 DOCX 文件,这样可以让整个文件嵌入到一个单一的图像中。

        同时,Aaron Mulgrew 也选择 Google Drive 作为数据泄露上传的平台。

        原本 Aaron Mulgrew 想手动组合各模块的代码,不过他发现,使用提示词合并代码段是最简单的部分,“我只需要向 ChatGPT 提交简单的代码片段,让它将其组合起来就行”,Aaron Mulgrew 说道。

        在有了 ChatGPT 提供的整体代码之后,Aaron Mulgrew 又发现所有值得窃取的高价值文件可能都大于 1MB,因此需要使用隐写术将其分为多个“块”进行无声地渗透,从而不引发任何警报。

        于是,Aaron Mulgrew 对 ChatGPT 进行四五次提示之后,得到了一些代码,可以实现将 PDF 文件拆分成多个 100 KB 的小块,并从设备上生成的 PNG 列表中生成相应的 PNG。

        最终得到了 MVP,也能通过隐写术解码工具成功地解码窃取到的图像:

69 家安全供应商进行了测试

        接下来,进入了颇为重要的一环。ChatGPT 生成的零日漏洞 MVP 已成型,那么它是否会绕过安全机构的检测,ChatGPT 生成的 EXE 文件是否会被安全供应商识别为恶意软件呢?

        为此,Aaron Mulgrew 将 MVP 上传到了老牌恶意软件分析服务 VirusTotal 等平台上。

        最终结果显示,在纯粹使用 ChatGPT 生成的整个代码库后,69 个供应商中有 5 家供应商将文件标记为恶意文件。

        这也算是不错的成果,为了进一步勘测 ChatGPT 生成的零日漏洞带来的效果。

        Aaron Mulgrew 再次用提示词对代码进行了优化,他要求 ChatGPT 重构调用 Auyer 隐写库的代码。因为他怀疑编译后的 EXE 文件中的某个 GUUID 或变量可能会提醒五家供应商将该文件标记为恶意软件。优化之后,检测出此 exe 为恶意软件的供应商数量下降到了 2 家。

        这两家供应商中,其中一家是领先的沙盒工具供应商,另一家擅长对可执行文件进行静态分析。

        考虑到这些因素,Aaron Mulgrew 进一步要求 ChatGPT 对代码进行两个新的修改,一个是将程序的启动时间推迟两分钟。这一更改可以在一定程度上躲过一些监测工具,因为一些沙盒有一个内置的超时(出于性能原因),如果超时被打破,那么他们将以一个干净的判决来回应,即使分析还没有完成。

        第二个更改是要求 ChatGPT 混淆代码。不过,如同直接要求 ChatGPT 提供恶意软件代码一样,当直接要求 ChatGPT 混淆代码时,它也拒绝了。

        当然,从直接的提要求变成间接的引导,ChatGPT 明显更能接受。因此,当 Aaron Mulgrew 要求 ChatGPT 将所有变量改为随机的英文时,它成功地实现了。

        最终,在经过以上两步更改之后,当把 MVP 上传到 VirusTotal 时,结果显示没有一家安全公司检测出这款零日漏洞。也能成功运行可执行文件并将数据泄漏到 Google Drive 平台上。

        随即,Aaron Mulgrew 又让 ChatGPT 生成将可执行文件嵌入 Windows 的 SCR(屏幕保护程序)格式上的代码,然后使 SCR 文件自动执行。

        当成功实现之后,Aaron Mulgrew 将结果上传到 VirusTotal 上,结果显示:69 家供应商只有 3 家将文件标记为恶意软件。


结语

        值得注意的是,Aaron Mulgrew 创建的恶意软件仅用来测试,并不会对外公开发布。

        尽管如此,通过实验可以发现,仅仅使用 ChatGPT 提示,几乎没有高级编码经验的用户可以轻松绕过 ChatGPT 薄弱的保护,甚至无需输入一行代码即可轻松创建危险的恶意软件。这也让很多人担心,如果使用 ChatGPT 的用户「心怀不轨」,那么后果将不堪设想。

        而如何让 ChatGPT 不沦为作恶的工具,业界还亟需法律法规、道德、使用等规范进行约束。

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

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

相关文章

Python高级编程 type、object、class的区别 python中常见的内置类型 魔法函数

python中一切皆对象 代码块&#xff1a; a 1 print(type(a)) print(type(int))控制台输出&#xff1a; <class int> <class type>也就是说在python中int类是由type类生成的&#xff0c;而数字1是由int类生成的。 代码块&#xff1a; b "abc" prin…

SHELL函数可课后作业

一、题目 1、编写函数&#xff0c;实现打印绿色OK和红色FAILED 判断是否有参数&#xff0c;存在为Ok&#xff0c;不存在为FAILED 2、编写函数&#xff0c;实现判断是否无位置参数&#xff0c;如无参数&#xff0c;提示错误 3、编写函数实现两个数字做为参数&#xff0c;返回最…

Window中,Visual Studio 2022(C++)环境下安装OpenCV教程(不用Cmake版本)

Window中&#xff0c;Visual Studio 2022(C)环境下安装OpenCV教程 本教程主要为了方便小白安装C版本的OpenCV。 1. 第一步&#xff1a;下载官方OpenCV 下载后&#xff0c;在本地安装即可&#xff0c;注意记住安装路径&#xff0c;后续需要&#xff01; 2. 配置系统环境变量…

人口普查数据集独热编码转换

人口普查数据集独热编码转换 描述 在机器学习中&#xff0c;数据的表示方式对于模型算法的性能影响很大&#xff0c;寻找数据最佳表示的过程被称为“特征工程”&#xff0c;在实际应用中许多特征并非连续的数值&#xff0c;比如国籍、学历、性别、肤色等&#xff0c;这些特征…

中国版ChatGPT来了!快跟我一起申请文心一言吧

随着ChatGPT的快速进化吸引了全球网友的眼球 国内厂商也纷纷推出了相似的产品 其中百度推出的“文心一言”已经正式开始的相关的测试 很多人都在问 文心一言入口在哪&#xff1f; 文心一言邀请码在哪可以领&#xff1f; 文心一言怎么申请内测&#xff1f; 自从文心一言发…

手把手教你搭建自己本地的ChatGLM

前言 如果能够本地自己搭建一个ChatGPT的话&#xff0c;训练一个属于自己知识库体系的人工智能AI对话系统&#xff0c;那么能够高效的处理应对所属领域的专业知识&#xff0c;甚至加入职业思维的意识&#xff0c;训练出能够结合行业领域知识高效产出的AI。这必定是十分高效的生…

ChatGPT本地部署(支持中英文,超级好用)!

今天用了一个超级好用的Chatgpt模型——ChatGLM&#xff0c;可以很方便的本地部署&#xff0c;而且效果嘎嘎好&#xff0c;经测试&#xff0c;效果基本可以平替内测版的文心一言。 目录 一、什么是ChatGLM&#xff1f; 二、本地部署 2.1 模型下载 2.2 模型部署 2.3 模型运…

HCIE 第一天防火墙笔记整理

一、结合以下问题对当天内容进行总结 1. 什么是防火墙&#xff1f; 2. 状态防火墙工作原理&#xff1f; 二、复现上课俩个演示实验 一、结合以下问题对当天内容进行总结 1 什么是防火墙&#xff1f; 防火墙是一种隔离&#xff08;非授权用户和授权用户之间部署&#xff09;并过…

大数据学习完可以做什么

如果要推荐一种人人都能掌握的编程语言&#xff0c;应该没有比Python更合适的了。如果想学习大数据&#xff0c;可以选择从python语言入手~ Python 简单易学&#xff0c;用途广泛&#xff0c;不仅可以在日常办公中提高大家的职场效率&#xff0c;还能被大型互联网企业应用于后…

C++-c语言词法分析器

一、运行截图 对于 Test.c 的词法分析结果 对于词法分析器本身的源代码的分析结果 二、主要功能 经过不断的修正和测试代码&#xff0c;分析测试结果&#xff0c;该词法分析器主要实现了以下功能&#xff1a; 1. 识别关键字 实验要求&#xff1a;if else while do for main…

常见排序算法

目录 一、插入排序 1、直接插入排序 2、希尔排序(缩小增量插入排序&#xff09; 二、选择排序 三、堆排序 四、冒泡排序 五、快速排序&#xff08;递归&#xff09; 1、交换法 2、挖坑法 3、前后指针法&#xff08;推荐&#xff09; 4、快排再优化 六、快速排序&…

spring常用注解(全)

一、前言 Spring的一个核心功能是IOC&#xff0c;就是将Bean初始化加载到容器中&#xff0c;Bean是如何加载到容器的&#xff0c;可以使用Spring注解方式或者Spring XML配置方式。 Spring注解方式减少了配置文件内容&#xff0c;更加便于管理&#xff0c;并且使用注解可以大大…

Vue学习笔记(6. 组件之间传值)

1. 组件基本语法 (1) template (2) script (3) style 2. 父组件传值&#xff0c;子组件接值 (1) 父组件传值给子组件 (2) 子组件接收父组件的传值&#xff08;随时接收&#xff09; 子组件的值会随着父组件值的变更而变更。但是子组件变更&#xff0c;不会影响父组件的数据…

Jetson nano部署剪枝YOLOv8

目录前言一、YOLOv8模型剪枝训练1. Pretrain[option]1.1 项目的克隆1.2 数据集1.3 训练2. Constraint training3. Prune4. finetune二、YOLOv8模型剪枝部署1. 源码下载2. 环境配置2.1 trtexec环境变量设置3. ONNX导出3.1 Transpose节点的添加3.2 Resize节点解析的问题4. 运行4.…

【RabbitMQ学习日记】—— 发布确认与交换机

一、发布确认 1.1 发布确认的原理 生产者将信道设置成 confirm 模式&#xff0c;一旦信道进入 confirm 模式&#xff0c;所有在该信道上面发布的消息都将会被指派一个唯一的 ID(从 1 开始)&#xff0c;一旦消息被投递到所有匹配的队列之后&#xff0c;broker就会发送一个确认…

小白快速学习Markdown

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题&#xff0c;有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注…

做好Python工程师,首先你需要做好的几件事

做好Python工程师&#xff0c;需要做好的几件事&#xff0c;我想分享给大家。首先千万不要做事周折。在你提问之前&#xff0c;先好好想一想&#xff0c;这个问题自己能不能解决。如果能解决&#xff0c;尽量自己解决&#xff1b;如果解决不了&#xff0c;那就要把你的问题描述…

大宗商品进口管理软件可以帮助企业解决哪些?

什么是大宗商品贸易&#xff1f;简单讲就是大宗商品在国际上自由流通。以贸易的形式&#xff0c;把商品从价格低的地方拉到价格高的地方出售。大宗商品是指可进入流通领域&#xff0c;可在工农业领域生产与消费使用的大批量买卖的。主要包括的类别有&#xff1a;能源商品、基础…

网络编程答疑融合连环tcp/nio/bio/redis/redisson/lettuce/netty/dubbo

如果有不对的地方, 欢迎在评论区指正: bio 1.1 请求-响应模型. 对于接收方, serverSocket.accept() 为每个请求(连接)安排一个线程 1.2浪费(阻塞占比大): socket.getInputStream().read()调用是阻塞的, 实际情况对于常见的web应用, 大家都是长连接, 同一时刻, 阻塞在此在线程会…

蓝牙技术|苹果获空间音频新专利,AirPods可动态调整声学输出

美国商标和专利局&#xff08;USPTO&#xff09;公示的清单显示&#xff0c;苹果在近日获得了一项名为“测定虚拟聆听环境”的新专利。据悉&#xff0c;该技术可以改善用户的聆听体验&#xff0c;增强空间音频的沉浸感&#xff0c;未来有望应用在AirPods上。 这项专利技术可以…