AICon 深圳站 Keynote 嘉宾官宣!共探AI价值转化的实践路径 了解详情
写点什么

新手用 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

2023-04-07 10:405558

评论

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

如何在 UE4 中制作一扇自动开启的大门

HelloWorld杰少

8月月更

拿来即用!Get计算机视觉核心知识,看这本书就够了!

博文视点Broadview

java培训机构与自学的优缺点有什么

小谷哥

tinymce 如何实现动态国际化

Five

插件开发 tinymce 富文本编辑器 8月月更

安全狗《云原生安全威胁分析报告》首次提出双检测模型

极客天地

leetcode 448. Find All Numbers Disappeared in an Array 找到所有数组中消失的数字(简单)

okokabcd

数组 LeetCode 数据结构与算法

Webpack5新特性:使用 Assets Module 处理图片和字体资源

昆吾kw

前端 前端工程化 webpack

Mysql重启后innodb和myisam插入的主键id变化总结

知识浅谈

8月月更

源码阅读其实很简单!阿里业务架构师手写JDK源码笔记(2022版)真香

Java永远的神

Java 程序员 面试 程序人生 jdk源码

字节算法大神手写算法笔记,已连续多次霸榜 GitHub Trending 首页

冉然学Java

GitHub 算法 Java 分布式 字节

大型连锁百货运维审计用什么软件好?有哪些功能?

行云管家

IT运维 运维审计 运维软件 百货

基于ModelArts的动漫头像自动生成丨【华为云至简致远】

科技云未来

华为云ModelArts

浅谈程序员的职业操守

阿里技术

Tinymce plugins [Tinymce扩展插件集合]

Five

插件开发 tinymce 富文本编辑器 8月月更

树莓派 USB摄像头 实现网络监控( MJPG-Streamer)

Five

树莓派 网络监控 #web 8月月更

使用域名注册服务 Domains配置域名【华为云至简致远】

科技云未来

域名配置 端口映射

使用华为HECS云服务器打造Telegraf+Influxdb+Grafana 监控系统【华为云至简致远】

科技云未来

Grafana Influxdb 系统管理 开源监控系统 提高效率

TiFlash 计算层概览

TiDB 社区干货传送门

数据库 分布式数据库 TiDB

SpringBoot如何优雅地进行响应数据封装、异常处理?

程序员小毕

Java 源码 程序员 面试 spring-boot

Python爬虫抢购某宝秒杀商品

弑着去忘记う

后端

通过Gitea实现内外网repo管理

吴脑的键客

git

Android技术分享| 一对一音视频呼叫邀请开发流程(一)

anyRTC开发者

android 音视频 移动开发 视频通话 呼叫邀请

利用华为云ECS服务器搭建安防视频监控平台【华为云至简致远】

科技云未来

nginx securecrt RTMP SSH工具

易观分析:2022年Q2中国网络零售B2C市场交易规模达23444.7亿元

易观分析

B2C 网络零售

什么是研发效能的「黄金三角」?如何助力企业提升效能?

万事ONES

阿里巴巴2022最新Java架构师进阶宝典!助力程序员金九银十面试跳槽涨薪

程序员小毕

Java 程序员 架构 面试 算法

多图预警!华为 ECS 与 阿里云 ECS 对比实战【华为云至简致远】

科技云未来

华为云 虚拟私有云VPC ECS

web前端面授培训课程

小谷哥

超多精美礼品等你来拿!2022年中国混沌工程调查启动

混沌工程实验室

混沌工程

大数据培训学习开发技术费用

小谷哥

上海web前端培训课程

小谷哥

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