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

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

一周以前,图灵奖得主 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 不沦为作恶的工具,业界还亟需法律法规、道德、使用等规范进行约束。

相关文章:

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

一周以前,图灵奖得主 Yoshua Bengio、伯克利计算机科学教授 Stuart Russell、特斯拉 CEO 埃隆马斯克、苹果联合创始人 Steve Wozniak 等在内的数千名 AI 学者、企业家联名发起一则公开信,建议全球 AI 实验室立即停止训练比 GPT-4 更强大的模型&#xff0…...

Compose (14/N) - 附带效应 EffectPI

一、概念 纯函数函数与外界交换数据只能通过形参和返回值进行,不会对外界环境产生影响。副作用函数内部与外界进行了交互,产生了其它结果(如修改外部变量)。组合函数是用来声明UI的,所以跟UI描述不相关的操作都是副作…...

云日记个人中心项目思路

验证昵称的唯一性 前台: 昵称文本框的失焦事件 blur 1. 获取昵称文本框的值 2. 判断值是否为空 如果为空,提示用户,禁用按钮,并return 3. 判断昵称是否做了修改…...

docker容器的相关环境及创建镜像1

一、容器管理工具介绍 LXC 2008 是第一套完整的容器管理解决方案 不需要任何补丁直接运行在linux内核之上管理容器。创建容器慢,不方便移植 Docker 是在LXC基础上发展起来的。拥有一套容器管理生态系统 生态系统包含︰容器镜像、注册表、RESTFUL API及命令行操作界…...

如何使用ChatGPT在1天内完成毕业论文

如何使用ChatGPT在1天内完成毕业论文 几天前,亲眼见证了到一位同学花了1天时间用ChatGPT完成了他的毕业论文,世道要变,要学会使用黑科技才能混的下去。废话到此结束,下面说明这么用AI生成自己的论文。 使用工具: 1. P…...

Debezium同步之实时数据采集必备工具

目录 简介 基础架构图片 Kafka Connect Debezium 特性 抽取原理 简介 RedHat(红帽公司) 开源的 Debezium 是一个将多种数据源实时变更数据捕获,形成数据流输出的开源工具。 它是一种 CDC(Change Data Capture)工具,工作原理类似大家所熟知的 Canal, DataBus, Maxwell…...

【区块链】走进web3的世界-gas费用

气体单位用于衡量在以太坊上执行交易所需的计算量。由于每笔交易都需要一些计算资源来执行,因此需要一笔费用,通常称为Gas fee或Transaction fee 。 汽油费以以太坊的本地货币——ether或ETH支付。汽油费的计算方式在伦敦升级前后略有不同。 注意&#…...

世界上最大的手工艺品连锁零售商Michaels验厂总结

【世界上最大的手工艺品连锁零售商Michaels验厂总结】 Michaels是世界上最大的手工艺品连锁企业,公司的总部位于美国德克萨斯州的Irving,公司现在有员工12500人。在美国49个州和加拿大经营着1200多家Michaels工艺品的连锁店。每家商店平均销售面积约为18…...

springboot如何优雅的打印项目日志

文章目录如何优雅的打印项目日志原理实现日志打印Filter注入容器如何优雅的打印项目日志 框架 springboot 原理 使用filter拦截请求,打印出请求、响应,及耗时 知识点 1、OncePerRequestFilter Filter base class that aims to guarantee a single …...

【JAVA程序设计】(C00127)基于SSM+vue开发的音乐播放管理系统-有文档

基于SSMvue开发的音乐管理系统-有文档项目简介项目获取开发环境项目技术运行截图项目简介 基于ssm框架vue以及html前台的开发的音乐管理系统共分为二个角色:管理员、用户 管理员角色包含以下功能: 登录、个人中心(修改密码、个人信息修改&am…...

C#|调用C/C++动态库

参考:C#总结(四)调用C动态库(https://www.shuzhiduo.com/A/A2dmV49qze/) 文章目录C#加载C动态库C#加载C#动态库涉及到的概念知识:托管DLL和非托管DLL的区别(https://www.tinymind.net.cn/articl…...

让chatGPT当我的老师如何? 通过和chatGPT交互式学习,了解在ES中,一条JSON数据是如何写到磁盘上的

最近一直有一个问题,如鲠在喉。争取早一天解决,早一天踏踏实实的睡觉。 问题是:在ES中,一条JSON数据是如何写入到磁盘上的? 如何解决这个问题?我想到了chatGPT,还有lucene的学习资料。这篇文章&…...

chapter-7数据库事务

以下课程来源于MOOC学习—原课程请见:数据库原理与应用 考研复习 DBMS保证系统中一切事务的原子性、一致性、隔离性和持续性 DBMS必须对事务故障、系统故障和介质故障进行恢复 恢复中最经常使用的技术:数据库转储和登记日志文件 恢复的基本原理&#…...

阿里本地生活再出发:口碑入高德,备战美团、抖音

配图来自Canva可画 近日,有传言称高德地图将和阿里本地生活旗下的到店业务口碑正式合并,未来阿里旗下所有的本地生活到店业务都将统一整合在高德地图的入口中。3月22日,高德地图正式确认了此事,并表示高德地图作为“出门好生活开…...

SSM学习记录3:响应(注释方式 + SprigMVC项目 + 2022发布版本IDEA)

响应 ResponseBody注解的作用是将当前控制器中方法的返回值作为响应体 1.返回页面 无需在方法上进行ResponseBody注解,只需RequestMapping匹配地址,并且返回值为带后缀的页面名字符串 前面学习中除了json数据,所有带ResponseBody注解的方法…...

Linux·gcc 编译优化简介

1、gcc 编译优化简介 gcc 提供了为了满足用户不同程度的的优化需要,提供了近百种优化选项,用来对 { 编译时间,目标文件长度,执行效率 } 这个三维模型进行不同的取舍和平衡。优化的方法不一而足,总体上将有以下几类&…...

【电子学会】2022年12月图形化一级 -- 潜水

潜水 暑假小雨和爸爸去玩了潜水,他见到了各种各样的海洋生物。 1. 准备工作 (1)添加背景“Underwater 2”; (2)删除小猫角色,添加角色“Diver2”、“Fish”、“Jellyfish”、“Shark”; (3)为背景添加声音“Xylo2”。 2. 功能实现 (1)点击绿旗,播放背景音乐…...

MySQL日期时间函数汇总、时间格式转换方法

MySQL日期时间函数汇总、时间格式转换方法时间函数日期时间格式转换date_format函数EXTRACT()DATE_ADD()DATE_SUB()DATEDIFF函数时间函数 函数描述NOW()返回当前的日期和时间CURDATE()返回当前的日期CURTIME()返回当前的时间DATE()返回日期或日期/时间表达式的日期部分HOUR()获…...

【CSS】使用绝对定位 / 浮动解决外边距塌陷问题 ( 为父容器 / 子元素设置内边距 / 边框 | 为子元素设置浮动 | 为子元素设置绝对定位 )

文章目录一、外边距塌陷描述1、没有塌陷的情况2、外边距塌陷情况二、传统方法解决外边距塌陷 - 为父容器 / 子元素设置内边距 / 边框三、使用浮动解决外边距塌陷 - 为子元素设置浮动四、使用绝对定位解决外边距塌陷 - 为子元素设置绝对定位一、外边距塌陷描述 在 标准流的父盒子…...

前端手写综合考题

1 实现一个 // 使用 promise来实现 sleepconst sleep (time) > {return new Promise(resolve > setTimeout(resolve, time))}sleep(1000).then(() > {// 这里写你的骚操作}) sleep 函数,比如 sleep(1000) 意味着等待1000毫秒 2 给定两个数组&#xff0c…...

1688商品列表API与其他数据源的对接思路

将1688商品列表API与其他数据源对接时,需结合业务场景设计数据流转链路,重点关注数据格式兼容性、接口调用频率控制及数据一致性维护。以下是具体对接思路及关键技术点: 一、核心对接场景与目标 商品数据同步 场景:将1688商品信息…...

Nginx server_name 配置说明

Nginx 是一个高性能的反向代理和负载均衡服务器,其核心配置之一是 server 块中的 server_name 指令。server_name 决定了 Nginx 如何根据客户端请求的 Host 头匹配对应的虚拟主机(Virtual Host)。 1. 简介 Nginx 使用 server_name 指令来确定…...

SpringCloudGateway 自定义局部过滤器

场景: 将所有请求转化为同一路径请求(方便穿网配置)在请求头内标识原来路径,然后在将请求分发给不同服务 AllToOneGatewayFilterFactory import lombok.Getter; import lombok.Setter; import lombok.extern.slf4j.Slf4j; impor…...

代码随想录刷题day30

1、零钱兑换II 给你一个整数数组 coins 表示不同面额的硬币,另给一个整数 amount 表示总金额。 请你计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑出总金额,返回 0 。 假设每一种面额的硬币有无限个。 题目数据保证结果符合 32 位带…...

20个超级好用的 CSS 动画库

分享 20 个最佳 CSS 动画库。 它们中的大多数将生成纯 CSS 代码,而不需要任何外部库。 1.Animate.css 一个开箱即用型的跨浏览器动画库,可供你在项目中使用。 2.Magic Animations CSS3 一组简单的动画,可以包含在你的网页或应用项目中。 3.An…...

DingDing机器人群消息推送

文章目录 1 新建机器人2 API文档说明3 代码编写 1 新建机器人 点击群设置 下滑到群管理的机器人,点击进入 添加机器人 选择自定义Webhook服务 点击添加 设置安全设置,详见说明文档 成功后,记录Webhook 2 API文档说明 点击设置说明 查看自…...

[大语言模型]在个人电脑上部署ollama 并进行管理,最后配置AI程序开发助手.

ollama官网: 下载 https://ollama.com/ 安装 查看可以使用的模型 https://ollama.com/search 例如 https://ollama.com/library/deepseek-r1/tags # deepseek-r1:7bollama pull deepseek-r1:7b改token数量为409622 16384 ollama命令说明 ollama serve #&#xff1a…...

DBLP数据库是什么?

DBLP(Digital Bibliography & Library Project)Computer Science Bibliography是全球著名的计算机科学出版物的开放书目数据库。DBLP所收录的期刊和会议论文质量较高,数据库文献更新速度很快,很好地反映了国际计算机科学学术研…...

FFmpeg avformat_open_input函数分析

函数内部的总体流程如下: avformat_open_input 精简后的代码如下: int avformat_open_input(AVFormatContext **ps, const char *filename,ff_const59 AVInputFormat *fmt, AVDictionary **options) {AVFormatContext *s *ps;int i, ret 0;AVDictio…...

热门Chrome扩展程序存在明文传输风险,用户隐私安全受威胁

赛门铁克威胁猎手团队最新报告披露,数款拥有数百万活跃用户的Chrome扩展程序正在通过未加密的HTTP连接静默泄露用户敏感数据,严重威胁用户隐私安全。 知名扩展程序存在明文传输风险 尽管宣称提供安全浏览、数据分析或便捷界面等功能,但SEMR…...