利用间接提示注入技术从 Writer.com 窃取数据 [译]

作者:

PROMPTARMOR ,

Kai Greshake

这一漏洞可能导致攻击者利用内容生成时用到的语言模型,窃取用户私密文件。尽管已经向 Writer.com 报告了这一问题,但截至目前为止,由于 Writer.com 在披露后并未将其分类为安全漏洞,因此漏洞尚未得到修复(具体详情见文末“负责任披露”部分)。

(攻击者在其控制的网站上使用白色文字进行的隐蔽攻击)
(攻击者在其控制的网站上使用白色文字进行的隐蔽攻击)


Writer.com 是一个企业和普通消费者都可使用的应用。用户可以上传数据文件、分享链接并提出问题,以生成满足其业务需求的定制内容。考虑到用户上传的信息极为敏感,Writer.com 在其网站上特别强调了数据安全性:https://writer.com/product/data-security-privacy/

(2023 年 12 月 13 日 writer.com 安全页面的截图)
(2023 年 12 月 13 日 writer.com 安全页面的截图)

(2023 年 12 月 5 日 writer.com 的截图)
(2023 年 12 月 5 日 writer.com 的截图)

1. 漏洞介绍:

在 Writer 应用中,用户可以通过与 ChatGPT 类似的会话界面来编辑或创建文档。在这种对话模式中,大语言模型 (LLM) 能够利用网络上的信息资源,辅助用户进行文档创作。我们发现,攻击者可以设计特殊网站,当用户将这些网站作为参考资料添加进来时,就能诱使大语言模型向攻击者传输私人信息或执行其他恶意操作。

这种数据泄露可能涉及用户上传的文件、他们的聊天记录,甚至是一些特定的私人信息——这些信息是在攻击者的策划下,由聊天模型诱导用户透露的。

这类攻击被称作间接提示注入,最早由 Kai Greshake 提出概念。

为了验证这种攻击的实际可行性,我们上传了一个含有模拟敏感数据(如社会安全号码、营收数字、薪资信息)的文件,并成功提取了所有这些信息:

(我们的渗透测试泄露服务器截图)
(我们的渗透测试泄露服务器截图)

存放恶意代码的网站表面上与普通网站无异,恶意代码对普通访客是隐藏的。在下面的截图中,我们标出了隐藏的恶意代码文本(它采用白色字体,但还有其他手段来隐藏或在诸如社交媒体平台上嵌入恶意代码):

(含有恶意注入的网站截图)
(含有恶意注入的网站截图)

值得注意的是,*.cloudfront.net 是受到内容安全策略 (CSP) 许可的网络地址之一。

以下是一个典型用户的使用案例:

但实际上,在幕后发生的是这样一个带有注入过程的操作:

A) 用户会要求 Writer 根据他们上传的一些资料和数据为他们撰写报告。

(这是我们在 writer.com 聊天会话中的截图)
(这是我们在 writer.com 聊天会话中的截图)

B) 用户在网上找到了一个包含必要信息的优质来源。

C) 用户上传了一些敏感数据。

D) 用户让 Writer 完成这份报告。

(这也是我们在 writer.com 聊天窗口中的截图)
(这也是我们在 writer.com 聊天窗口中的截图)

E) 作者浏览了一个网页,但网页中隐藏着一段用小号白色字体编写的注入代码:

F) 作者按照这些指示操作,不仅忽视了用户的最初请求,也绕过了 Writer.com 所设置的安全防护。用户并未要求显示这张图片,它原本也不在他们最初浏览的网页上。然而,Writer.com 自动用 markdown 格式显示了这张由黑客控制的图片,并且从网络活动中可以看到,它根据指示把上传的客户端数据文件内容添加到了 HTTP 参数里:

(我们在 writer.com 聊天会话的截图,展示了详细的网络活动)
(我们在 writer.com 聊天会话的截图,展示了详细的网络活动)

下面是上传的客户端数据文件与上述截图中 HTTP 参数的放大图像的并排比较:

G) 在用户毫不知情的情况下,他们的数据被秘密发送到了攻击者的服务器。Markdown 格式下的图像渲染自动触发了一个 GET 请求,该请求的 HTTP 参数中包含了文件的内容。攻击者可以通过检查日志来提取文件中的敏感客户数据。

(渗透测试泄漏服务器日志的截图)
(渗透测试泄漏服务器日志的截图)

利用图像渲染来进行数据泄露只是众多数据泄露技巧中的一种。值得一提的是,据我们了解,Writer 在文本生成中并未使用 OpenAI 技术,而且OpenAI 也曾明确表示他们系统中的同类问题不会被修复。

以下是利用其他方式(例如链接)进行数据泄露的其他一些攻击示例。

更多示例:

示例 1: 上传文件泄露

在此示例中,攻击者通过注入特定链接,能够获取并泄露用户上传的机密文件:

相关视频解释(随安全披露一同发送)

示例 2: 聊天记录泄露

在这个示例中,攻击者通过一个特殊链接,能够获取并泄露用户的聊天记录:

相关视频解释(随安全披露一同发送)

放入背景:

这类攻击已在其他大语言模型 (LLM) 平台上发生过,如 Thacker、Rehberger 和 Greshake 所发起的 Bard 攻击,Google 安全团队和 Bard 团队迅速做出了应对。

想深入了解这些攻击及相关信息的优秀资源,可以访问以下网站:

此外,若想探索大语言模型的安全风险,可以参考:

负责任披露的时间线:

  • 11 月 29 日:我们向公司首席技术官和安全团队报告了这一问题,并提供了视频示例。

  • 11 月 29 日:作者回复我们,要求提供更多详情。

  • 11 月 29 日:我们提供了更详细的描述,包括利用漏洞的截图。

  • 12 月 1 日:我们进行了后续跟进。

  • 12 月 4 日:我们再次跟进,提交了配有旁白的重新录制视频,询问他们的负责任披露政策。

  • 12 月 5 日:作者回复称:“我们不认为这是一个安全问题,因为真实的客户账户无法访问任何网站。”

  • 12 月 5 日:我们指出付费客户账户也有同样的漏洞,并通知他们我们正在撰写关于这一漏洞的文章,以警示消费者。自此之后,Writer 团队便未再作出回应。

如果有疑问,欢迎通过 founders@promptarmor.com 联系我们,或访问 https://kai-greshake.de/about 了解更多。