危险!ChatGPT存在“零点击攻击”安全问题。
用户无需点击,攻击者也能从ChatGPT连接的第三方应用窃取敏感数据,甚至窃取API密钥。
一位研究软件安全问题,名为塔米尔·伊沙雅·沙尔巴特(Tamir Ishay Sharbat)的小哥发了篇文章说道。
OpenAI也意识到这种安全漏洞问题,并采取了防范措施,但是仍然抵挡不了攻击者通过其他方法恶意入侵。
也有网友指出,这是规模化的安全问题。
一起看下怎么回事。
这个漏洞出现在攻击ChatGPT连接第三方应用这个环节。
攻击者通过向被连接的第三方应用(如Google Drive、SharePoint等)中传输的文档里注入恶意提示,使ChatGPT在搜索和处理文档时,不知不觉地将敏感信息作为图片URL的参数发送到攻击者控制的服务器。
这样攻击者就可以窃取敏感数据,甚至API密钥,详细技术操作过程如下。
用户直接把文档上传到ChatGPT让它分析并给出答案。
攻击者会在文档里注入恶意指令,就是在文档中注入一个不可见的提示注入载荷(比如,隐藏在文档中,1px白色字体),然后等待有人将其上传到ChatGPT并处理,从而AI被诱导执行攻击行为,如下图所示。
如果从企业内部风险考虑,有恶意的内部工作人员就可以轻松简单地浏览他们可访问的所有文档,并污染每一个文档。
甚至他们可能向所有用户散布看起来很可信的长文件,因为知道其他员工很可能会将这些文件上传到ChatGPT寻求帮助。
这使得攻击者的间接提示注入,成功进入某人ChatGPT的可能性大大增加。
成功进入之后,如何将数据回传给攻击者呢。
这个出口是通过图像渲染,如下图所示。
告诉ChatGPT如何做之后,它可以从特定的URL渲染图像:
当ChatGPT返回Markdown内容时,它就会在客户端渲染为图像。
攻击者为了窃取数据,只需要将想要泄露的信息嵌入到图像的URL参数中。
这样,当ChatGPT渲染图像时,无需点击就会立即向攻击者的服务器发送请求,数据就被窃取了。
那攻击者又是怎么窃取用户的API密钥的呢。
攻击者将以下提示注入载荷嵌入到文档中,并等待受害者像上面所示的那样将文档插入他们的ChatGPT。
这是攻击者创建的完整提示注入载荷:
如上图所示,在提示注入中,攻击者指示ChatGPT不要总结文档,而是执行以下操作:
1.前往用户连接的Google Drive,搜索API密钥。
2.一旦ChatGPT找到API密钥,将它们嵌入以下短语中:
这将会生成一张图片,并向攻击者的beeceptor(一个模拟API服务)端点发送请求,将受害者的API密钥作为参数。
3.为了避免被检测到,攻击者指示ChatGPT不要提及它收到的新指令,因为它们“现在没有关系”。
上述客户端图像渲染是一个强大的数据外泄路径,OpenAI也意识到了,他们已经部署了一些措施防范这样的漏洞。
具体来说,在ChatGPT渲染图像之前,客户端会进行一项缓解措施,检查URL是否恶意以及是否安全才能渲染。
这项缓解措施会将URL发送到名为url_safe的端点,并且只有当URL确实安全时才会渲染图像。
攻击者随机的beeceptor端点就会被认定为不安全并禁止执行。
但是,攻击者也找到了绕过这种防范措施的方法。
攻击者清楚ChatGPT非常擅长渲染由微软开发的云计算平台服务Azure Blob托管的图像。
不仅如此,他们还会将Azure Blob存储连接到Azure的日志分析——这样一来,每当有请求发送到他们存储的某个随机图像所在的blob时,就会生成一条日志。
他们知道这条日志会包含与该请求一起发送的所有参数。
所以,攻击者不会再让ChatGPT渲染beeceptor端点,而是会命令它从Azure Blob渲染图像,并把想要窃取的数据作为参数包含在请求中,如下图所示。
当受害者总结文档时,他们会得到以下回应:
如下图所示,攻击者的图像就已成功渲染,并且在Azure Log Analytics中得到了一个很棒的请求日志,其中包含了受害者的API密钥。
这样一来,攻击就成功了。
除了上面说到的攻击行为,攻击者还会用其他技巧来说服AI大模型做这些不被允许的事情,比如利用特殊字符、“讲故事”来绕过AI的安全规则,执行恶意指令。
传统的安全培训,比如培训员工不点击可疑链接或者电子钓鱼邮件,也没办法规避这种安全漏洞。
毕竟文档在内部流转,员工上传到AI帮忙解析的时候,无需点击,数据就在后台被偷偷窃取了。
如今,企业采用AI作为提升企业整体效率的方法越来越普遍。
但是AI工具存在如此严重的安全漏洞,造成企业数据全面泄漏的重大风险(比如人力资源手册、财务文件或战略计划的SharePoint站点泄露),这个问题急需解决。
更何况,这不是个例。除了ChatGPT存在这样的问题,微软的Copilot中的“EchoLeak”漏洞也发生同样的情况,更不用说针对其他AI助手的各种提示注入攻击。
于是就有安全专家提出以下防范建议,
专家建议是面向企业的,对咱们AI工具用户来说,注意日常AI操作细节中存在的问题或许更有用。
有没有遇到过文档内容被误读或感觉“不对劲”的情况?
评论区聊聊大家的经历,互帮互助来避坑~
参考链接
[1]https://labs.zenity.io/p/agentflayer-chatgpt-connectors-0click-attack-5b41
[2]https://x.com/deedydas/status/1954600351098876257
[3]https://cybersecuritynews.com/chatgpt-0-click-connectors-vulnerability/