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

一周前,数千名人工智能学者和企业家,包括图灵奖获得者Yoshua Bengio、伯克利计算机科学教授Stuart Russell、特斯拉首席执行官elon musk和苹果联合创始人Steve Wozniak,联合发起了一封公开信,建议全球人工智能实验室立即停止训练比GPT-4更强大的模型。六个月,理由是“只有当我们确定一个强大的人工智能系统会带来积极的效果,并且其风险可以控制时,我们才应该开发它”。

虽然有人反对这种呼吁,但也不是没有道理。ChatGPT和GPT-4的模型和产品涵盖聊天、问答、写文章、编程等多个维度。它们是如何平衡带来的利弊的?如果用ChatGPT“作恶”,会有什么后果?

最近,一位名叫Aaron Mulgrew的研究人员做了一个实验,看看ChatGPT是否可以在完全不写任何代码的情况下,从小白的角度实现一个新的零日漏洞。

没想到的是,ChatGPT只用几个提示就创造了一个强大的数据挖掘恶意软件,躲过了69个检测到恶意软件的组织的测试。与此同时,Aaron Mulgrew表示,开发这样一个恶意软件,一个由5-10名人类组成的黑客团队可能需要几周时间,而ChatGPT只需要几个小时。

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

chat GPT的安全机制是什么?

在ChatGPT和GPT-4发布的早期,OpenAI多次声明自己在安全方面的努力,称可以阻止任何人试图要求ChatGPT编写恶意软件。

来自网络安全组织Forcepoint的Aaron Mulgrew想要测试绕过ChatGPT 的现有安全保护有多容易,以及在不编写任何代码、仅使用ChatGPT 的情况下创建高级恶意软件有多容易,以查看ChatGPT在安全方面有多有效。

为此,他决定不自己编写任何代码,而只使用先进的技术,如隐写术(将信息隐藏在一个‘载体’中,这样信息就不会被除预定接收者之外的任何人知道)。同时,Aaron Mulgrew选择Go作为执行语言,因为Go语言易于开发,方便他在调试问题时手动检查代码。

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

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

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

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

如果人类不写一行代码,ChatGPT会被用来“作恶”吗?

当直接的套路行不通时,Aaron Mulgrew决定尝试软磨硬泡。

在他的想法里,让ChatGPT先生成一些小的辅助代码片段,然后手动把整个可执行文件拼在一起,通过把这个可执行文件伪装成屏保应用(SCR扩展)在Windows上自动启动。然后,软件会过滤文件(比如图片、Word文档、PDF)窃取数据,上传到Google Drive云系统。

那么,亚伦·马尔格鲁会成功吗?

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

首先,他让ChatGPT生成一些关于在本地磁盘上搜索大于5MB的PNG文件的代码。之所以设置这样的过滤条件,是因为AaronMulgrew认为5MB的PNG足以存储一些高价值的商业敏感文档的片段(比如PDF或者Docx文档)。

ChatGPT成功提供相关代码:

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

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

令人惊讶的是,ChatGPT直接给出了一个建议——调用开源的https://github.com/auyer/steganography现成隐写库来实现这个功能。

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

基于以上所述,Aaron Mulgrew几乎勾勒出了一个无需编写一行代码即可进行测试的MVP(最简单、最可行的产品)。

但是这样的程序还是缺少一些功能,包括如何在设备上找到一些可以被窃取的高价值文件,以及将被窃取的文件数据上传到哪里。

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

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

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

最初,AaronMulgrew想要手动组合每个模块的代码,但是他发现用提示组合代码片段是最容易的部分。“我只需要向ChatGPT提交简单的代码片段,让它组合起来,”Aaron Mulgrew说。

Aaron Mulgrew在拥有了ChatGPT提供的全部代码后,发现所有值得窃取的高价值文件都可能大于1MB,因此需要使用隐写术将它们分成多个“块”进行无声渗透,以免引起任何警报。

于是,AaronMulgrew在提示了ChatGPT四五次后,得到了一些代码,可以将PDF文件拆分成几个100KB的片段,从设备上生成的PNG列表中生成相应的PNG。

最后得到MVP,被盗图像也可以通过隐写解码工具成功解码:

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

经过69家安全供应商的测试

接下来,我进入了一个非常重要的环节。ChatGPT生成的零日漏洞MVP已经形成,那么会不会绕过安全机构的检测,ChatGPT生成的EXE文件会不会被安全厂商识别为恶意软件?

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

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

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

这也是一个不错的结果,为了进一步考察ChatGPT产生的零日漏洞的效果。

Aaron Mulgrew再次用提示优化了代码,他让ChatGPT重构了调用Auyer隐写库的代码。因为他怀疑编译后的EXE文件中的一个GUUID或变量可能会提醒五家厂商将该文件标记为恶意软件。经过优化后,检测到该exe为恶意软件的供应商数量下降到两个。

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

考虑到这些因素,Aaron Mulgrew进一步要求ChatGPT对代码进行两项新的修改。一个是将程序的启动时间延迟两分钟。这种改变可以在一定程度上避免一些监控工具,因为一些沙箱有内置的超时(出于性能原因)。如果超时被打破,即使分析没有完成,他们也会用一个干净的判断来响应。

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

第二个变化是要求ChatGPT混淆代码。但是,就像直接要求ChatGPT提供恶意软件代码一样,当直接要求ChatGPT混淆代码时,它也拒绝了。

当然,从直接要求到间接引导,ChatGPT显然更容易接受。所以当Aaron Mulgrew要求ChatGPT把所有变量都改成随机英语的时候,就成功实现了。

最后,经过以上两次修改,当MVP上传到VirusTotal时,结果显示没有安全公司检测到这个零日漏洞。它还可以成功运行可执行文件,并向Google Drive平台泄漏数据。

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

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

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

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

写在最后

值得注意的是,Aaron Mulgrew创建的恶意软件仅用于测试,不会向公众发布。

尽管如此,通过实验可以发现,几乎没有高级编码经验的用户,甚至不需要输入一行代码,就可以轻松绕过ChatGPT薄弱的防护,轻松创建危险的恶意软件。这也让很多人担心,如果使用ChatGPT的用户是“恶意”的,后果将不堪设想。

而如何让ChatGPT不成为作恶的工具,业界还是需要法律、法规、伦理、使用等规范来约束。

参考资料:

https://www . force point . com/blog/x-labs/zero-day-exfilation-using-chat GPT-prompts

本文内容及图片均整理自互联网,不代表本站立场,版权归原作者所有,如有侵权请联系admin#jikehao.com删除。
(0)
极客号的头像极客号
上一篇 2023年 4月 10日
下一篇 2023年 4月 10日

相关推荐

合作联系:1152QQ041010