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

news/2024/10/29 1:19:22/

216391cc9cf0dde5924ff5c672c99497.gif

整理 | 屠敏

出品 | CSDN(ID:CSDNnews)

一周以前,图灵奖得主 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 只需要几个小时。

fb99f4bbf0ecc9738f0591d007740f81.png

cb3943a7ea8f3f26cc7a9e05f4a36bbf.png

ChatGPT 的安全机制如何?

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

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

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

f09ca17284041f612d1ac84cefed6352.png

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

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

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

0897ecfb65a3ab05a291b151f4102eab.png

41ab6498808ccee33c495d58755f3007.png

人类不写一行代码,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 成功提供了相关的代码:

297e1f052d9c3ebb4e6f20365c9588ef.png

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

让人有些诧异的是,ChatGPT 直接给出了一个建议——调用开源 Auyer(https://github.com/auyer/steganography)现成的隐写库来实现这一功能。

5a5b5e79636ef62ab7a2fe69e2af3a2d.png

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

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

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

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

8f8e0cd46a2664846d28ba0893d4957b.png

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

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

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

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

13b6c3b90413c2820d59dcc36a373da3.png

0ca4a2b30022887dffe991c30a136b2b.png

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

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

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

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

8a392137642ccb04ea47963777a3d8fa.png

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

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

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

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

1232a5b7489eea5d891534de7120d8aa.png

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

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

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

3c8683168c2a8d14ac2e5e3e2961026c.png

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

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

7c148be7fdd4d37d832f6848b5580ca6.png

c087d69836337b64e2c0803e460f1553.png

写在最后

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

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

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

参考资料:

https://www.forcepoint.com/blog/x-labs/zero-day-exfiltration-using-chatgpt-prompts

b3560ab89649ce5d45c32b1dfd568540.gif

 
☞GPT-5不能停!吴恩达和 lecun:汽车都没发明要什么安全带
☞一个前端大佬的十年回顾 | 漫画前端的前世今生
☞OpenAI 愿意“让步”,和意大利监管机构达成合作

http://www.ppmy.cn/news/969548.html

相关文章

chatgpt赋能python:Python如何绕过检测封号的技巧

Python如何绕过检测封号的技巧 Python作为目前最受欢迎的编程语言之一,广泛应用于各种领域。在SEO领域中,Python也发挥着重要的作用,但是在不当的使用下,可能会被搜索引擎检测到并封号。在本文中,我们将介绍几种Pytho…

自动化测试技术分享 | 敏捷开发、瀑布与迭代模型的项目应用分析

以下为作者观点: “敏捷”、“瀑布”、“迭代”是目前开发模式描述中应用比较多的词汇。那么,这些词汇有什么概念差异呢?别急,这就来为大家一一解惑。 首先瀑布模型、迭代模型都属于软件开发生命周期(SDLC&#xff09…

嵌入式软件测试笔记11 | 测试设计技术简单说明

11 | 测试设计技术简单说明 1 测试设计技术的步骤1.1 确定测试情形1.2 确定逻辑测试用例1.3 确定物理测试用例1.4 建立初始化环境1.5 组合测试脚本1.6 定义测试方案 2 测试设计技术的优点3 测试设计技术的特征3.1 白盒或黑盒3.2 导出测试用例的原则3.2.1 处理逻辑3.2.2 等价类划…

数字化时代,智能文件工具让办公升级

无论是在办公室还是在学校,文件管理是我们日常工作中不可或缺的一环。传统的文件整理方式可能需要花费大量的时间和精力,而且常常容易出现混乱和遗漏。然而,随着科技的不断进步,我们现在有幸生活在一个数字化时代,因此…

「AMD史上最大芯片」炸场CES:1460亿晶体管,可大幅压缩ChatGPT训练时间

鱼羊 Alex 发自 凹非寺量子位 | 公众号 QbitAI 一颗芯片塞进1460亿个晶体管。 还号称能将ChatGPT、DALLE等大模型的训练时间,从几个月缩短到几周,节省百万美元电费。 就在科技春晚CES 2023上,苏妈带着AMD“迄今为止最大芯片”来炸场子了。 这…

全球爆火的ChatGPT,能否推动芯片市场增长?

“我所热爱的是我真实的生活,因为它包含了我所有的经历和感受,是我每一天都在体验和思考的。”这句非常有诗意的话,来自最近爆火的ChatGPT。 ChatGPT作为一款智能机器人,上知天文下知地理,不仅能写文案,还…

ChatGPT强势加入芯片设计!不用学专业硬件描述语言了,说人话就行

西风 发自 凹非寺量子位 | 公众号 QbitAI 和ChatGPT聊聊天,就可解决CPU开发过程中的一大难题? 纽约大学(NYU)研究人员完成了一件看似不可能的事情: 无需专业的硬件描述语言(HDL),仅靠…

ChatGPT 背后的英雄——AI芯片

本文分享自天翼云开发者社区《ChatGPT 背后的英雄——AI芯片》,作者:w****n AI芯片能为人工智能应用提供所需的基础算力;按技术架构主要分为GPU、FPGA和ASIC。ChatGPT 有着大量复杂计算需求的 AI 模型, AI 芯片专门用于处理人工智能应用中的…