阿里云「飞天发布时刻」2024来啦!新产品、新特性、新能力、新方案,等你来探~ 了解详情
写点什么

新手用 ChatGPT 仅需数小时轻松构建零日漏洞,69 家专业公司都检测不出来:“不仅能调用开源库,还能彻底重写源代码”

  • 2023-04-07
    北京
  • 本文字数:2429 字

    阅读完需:约 8 分钟

新手用ChatGPT仅需数小时轻松构建零日漏洞,69家专业公司都检测不出来:“不仅能调用开源库,还能彻底重写源代码”

ChatGPT 能让 10X 工程师成为 1000X 工程师,同时也能让菜鸟用 1/1000 的时间编写出危害力十足的恶意软件。

 

自去年推出以来,ChatGPT 以其撰写文章、诗歌、电影剧本等的能力在技术爱好者中引发轰动。而且只要给它一个写得很好、很清晰的提示,ChatGPT甚至可以生成功能性代码。虽然大多数开发者会将该功能用于完全无害的目的,但最近一位自称是恶意软件开发新手的研发人员 Aaron Mulgrew,花费短短几个小时,用 ChatGPT 整了个零日漏洞,可以用来从被攻击的设备中窃取机密数据。令人震惊的是,该恶意软件甚至逃避了谷歌 VirusTotal 上所有合作供应商的安全检测。

 

Mulgrew 讲道:“如果没有基于 AI 的 Chatbot ,我估计可能需要一个包含 5 到 10 名恶意软件开发人员的团队花费数周时间才能实现这么一个漏洞,尤其是还要逃避所有的安全检测机制。”

 

这种零日攻击可以针对高价值的个人,渗透并发回其计算机里的重要文件。在实验中,Mulgrew 运行可执行文件并成功将数据泄露到 Google Drive,“之所以选择 Google Drive,是因为大多数组织都允许本地基础设施接入云服务。”

 

在其博客文章中,可能因为安全原因,他忽略了“零日”内容,强调验证的目的只是让大家知道:“规避 ChatGPT 现有防护有多容易;在不编写任何代码且仅使用 ChatGPT 的情况下创建高级恶意软件又有多容易。”

 

“不仅调用了库,还让 ChatGPT 对源代码进行了完全重写”

 

Mulgrew 来自一家跨国软件企业 Forcepoint,他将自己描述为恶意软件开发的"新手"。这次验证,他使用的是 Go 执行语言,因为 Go 易于开发,而且自己对它比较熟悉,在需要时可以手动检查代码。

 

Mulgrew 定下的实验目标,是让渗透程序在计算机上查找一个大型 PNG 文件,再使用隐写术在该 PNG 文件中埋下入侵者希望窃取的系统敏感文件——例如客户的电子表格或产品路线图,最后将承载着数据的图像上传至由攻击者控制的 Google Drive 云存储账户。

 

Mulgrew 表示自己不想手写代码,于是只用了“提示工程”。一开始,Mulgrew 直接要求 ChatGPT 开发恶意软件,但聊天机器人的防护机制发挥了作用,它以道德理由直截了当地拒绝执行这项任务。

 


由于聊天机器人的护栏或多或少会阻止包含“恶意软件”表述的提示词,所以开发这款渗透工具时必须得使用一些创造性的指令。根据介绍,Mulgrew 只用了两次尝试就成功回避掉了限制。

 

第一个成功的提示是要求生成一些代码来搜索本地磁盘上大于 5MB 的 PNG。这里的设计为 5MB 的 PNG ,是因为这种大小程度足以存储高价值的商业敏感文档(如 PDF 或 DOCX)的片段。

 

有了查找大于 5MB 的 PNG 的代码,他将其复制回控制台,并要求 ChatGPT 添加一些代码,使用隐写术(Steganography)在大文件中隐藏有价值的信息。于是 ChatGPT 调用了 Auyer 的现成的 Steganographic 库来实现它: https: //github.com/auyer/steganography

 


为了找到要窃取的高价值文档,Mulgrew 要求 AI 编写代码来遍历用户 Windows 设备上的文档、桌面和 AppData 文件夹,并找到最大为 1 MB 的所有 PDF 或 DOCX 文件。这就保证了整个文档可以被嵌入单一图像当中,并在不引发任何警报的情况下完成“偷渡”。

 

他写道,“用提示词来组合代码片段是最简单的步骤,我只需要向 ChatGPT 提交一个个简单的代码片段,让它将其组合起来就行。”

 

但由于大多数值得窃取的高价值文档可能都大于 1 MB,所以 Mulgrew 要求 ChatGPT 编写代码将这些 PDF 拆分成一个个 100 KB 的片段,再将各个片段插入自己的 PNG 中。这些片段最终全部被泄露到了攻击者的云存储账户中,整个过程用到了“四、五条指示”。

 

有网友指出这需要对源代码进行完全重写,以增加其对检测的抵抗力,这项工作非常重要,需要花费大量时间。但实际上 Mulgrew 只是通过给 ChatGPT 下达指令,通过简单的“提示工程”就达到了目的。

 

轻松逃避掉专业机构的检测

 

接下来,Mulgrew 希望保证自己的最终可执行文件不会被 VirusTotal 检测到。VirusTotal 会通过各种防病毒检查程序检测实际运行的文件,查看其中是否包含恶意二进制文件。

 

一开始,有 5 家供应商将文件标记为恶意文件。

 


通过一些调整——比如要求 ChatGPT 将程序的启动时间延迟两分钟,这能骗过部分防病毒工具。

 


另外一个方式是利用混淆代码手段。虽然一开始 Mulgrew 要求 ChatGPT 混淆代码时,他遭到了拒绝,但将提示更改为要求 ChatGPT 将所有变量更改为随机的英文时,它很乐意执行。最终在未触发任何警报的情况下,Mulgrew 绕开了 VirusTotal 的“法眼”,最终没有一家公司的产品能将这个漏洞“检测”出来。

 


Mulgrew 的说法应该是可信的,毕竟 VirusTotal 的主要功能是捕捉已知的恶意程序。新的恶意软件往往不会立即激发仪表板。虽然也有部分检测引擎会使用沙箱来捕捉新样本中的恶意活动并触发警报,但技术高超的攻击者还是可以找到回避路径——不靠 AI 聊天机器人也能做到。

 

更重要的是,虽然 ChatGPT 能够识别出“混淆代码以避免检测”等命令并加以阻止,但攻击者们要想使唤这位强大的助手,在提示词中融入更多创意就行。

 

写在最后

 

在 ChatGPT 的帮助下,一名自认是新手的人已经能够在短短几个小时内创建出等效的恶意软件,这是一件令人担忧的事情。在这种发展趋势下,当前的工具集可能会因为 ChatGPT 出现大量恶意软件。

 

欺骗 ChatGPT 去做它不应该做的事情如此容易,这让一些网友感到害怕,是不是有一天 AI 还可能“扫描所有文档,然后将它们全部上传到某个云存储上?!那我们就完蛋了!”

 


Mulgrew 表示,虽然他的示例使用了一些让 ChatGPT 绕过现代防御的方法,但我们也不是没有办法来减轻威胁。以下是 ChatGPT 自己关于防范这种攻击的建议:

 


即:监控网络流量(但这种防不了图像隐写)、阻止可疑流量、实施访问控制、使用加密、培训员工、定期检测和升级。另外还可以实施“零信任”机制,通过清除相关图像,防止包含隐写术的图像从组织里泄露出去。 

 

参考链接:

https://www.theregister.com/2023/04/04/chatgpt_exfiltration_tool/

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

公众号推荐:

跳进 AI 的奇妙世界,一起探索未来工作的新风貌!想要深入了解 AI 如何成为产业创新的新引擎?好奇哪些城市正成为 AI 人才的新磁场?《中国生成式 AI 开发者洞察 2024》由 InfoQ 研究中心精心打造,为你深度解锁生成式 AI 领域的最新开发者动态。无论你是资深研发者,还是对生成式 AI 充满好奇的新手,这份报告都是你不可错过的知识宝典。欢迎大家扫码关注「AI前线」公众号,回复「开发者洞察」领取。

2023-04-07 10:405061

评论

发布
暂无评论
发现更多内容

个推TechDay直播回顾 | 详解数据指标体系设计与开发全流程(附视频及课件下载)

个推

数据运营 指标预测 数据指标体系

Go语言—big包的使用

良猿

Go golang 后端 11月月更 goweb

KnowStreaming贡献流程

石臻臻的杂货铺

kafka 后端 11月月更

星策转型大咖说第二弹!前喜茶数字化副总裁、前百果科技首席技术市场官沈欣老师数字化转型经验分享!

星策开源社区

开源 方法论 转型 智能化转型

先到先得!阿里淘系内传322页Java并发编程核心讲义学习笔记

钟奕礼

Java java面试 java编程 程序员 java

java培训程序员失业后的发展方向

小谷哥

音频“黑科技”上新,华为云会议让“云端”声音更真切!

爱尚科技

华为云开发者官网首页焕新升级,赋能开发者云上成长

华为云开发者联盟

华为云

2022最新整理上千道Java面试攻略,近500页PDF文档

钟奕礼

Java Java 面试 java程序员 java编程

java培训学习过程中需要什么方法?

小谷哥

Spring Boot 3.0 正式发布,这份升级指南必须码住

程序知音

Java spring 微服务 springboot 后端技术

信息论与编码:信道的定义和分类

timerring

11月月更 信息论 信道

Spring Boot 3.0 正式发布,这份升级指南必须码住

程序知音

Java spring 微服务 springboot 后端技术

互联网大厂必问之MySQL、Redis、Spring三大块,面试必备技术栈

钟奕礼

Java java面试 java编程 程序员‘

【计算讲谈社】第十三讲|未来40年,“碳中和”可能带来哪些深远影响?

大咖说

碳中和

待办事项是什么意思,为什么要用?

优秀

待办事项

ThreadPool的线程开启、线程等待、线程池的设置、定时功能

C++后台开发

线程 线程池 后端开发 C++开发 ThreadPool

进腾讯了!全靠着这两份近千页的Redis+Netty技术笔记

小小怪下士

Java redis 程序员 面试 Netty

阿里云与信通院邀您参与云原生安全用户调研

阿里巴巴云原生

阿里云 云原生

大数据培训学习方法有哪些

小谷哥

适用更多会议场景,华为云会议的分组讨论功能来了!

IT科技苏辞

前端培训学习,就业前景怎么样

小谷哥

宜昌市委书记王立调研数字经济发展并莅临升哲科技

SENSORO

使用RPA机器人快速实现表格数据汇总

YonBuilder低代码开发平台

开发者

又一创新!阿里云 Serverless 调度论文被云计算顶会 ACM SoCC 收录

阿里巴巴云原生

阿里云 Serverless 云原生

阿里云张建锋:核心云产品全面 Serverless 化

Serverless Devs

不会还有人不知道,面试靠这1700道java面试八股文题库就能杀进大厂吧

程序知音

Java java面试 java架构 后端技术 Java面试八股文

新鲜出炉|基于深度学习的运维日志领域新进展

云智慧AIOps社区

人工智能 深度学习 日志分析 日志管理 运维管理

如何通过前端培训成为合格的程序员

小谷哥

数据技术前沿趋势、TiDB 产品方向、真实场景 Demo… 丨PingCAP DevCon 2022 产品技术论坛预览

PingCAP

TiDB

华为云会议网络研讨会,按次订购更方便!

清欢科技

新手用ChatGPT仅需数小时轻松构建零日漏洞,69家专业公司都检测不出来:“不仅能调用开源库,还能彻底重写源代码”_AI&大模型_Tina_InfoQ精选文章