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

整理 屠敏

 

出品 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 只需要几个小时。

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

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

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

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

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

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

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

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

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

写在最后

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

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

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

参考资料:

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