首页 >  区块链项目 >  正文
ChatGPT超级巨大漏洞,能看别人支付聊天内容,OpenAI公布技术细节
发布日期:2023-03-25

ChatGPT超级巨大漏洞,能看别人支付聊天内容,OpenAI公布技术细节ChatGPT超级巨大漏洞,能看别人支付聊天内容,OpenAI公布技术细节图片来源:无界AI绘图软件生成

原来,是缓存问题导致了 ChatGPT 的宕机。

本周早些时候,ChatGPT 宕机数小时。

现在,OpenAI 声明 ChatGPT 的暂时下线是因为开源库中的一个错误,该错误让一些用户能够看到另一个活跃用户聊天记录中的标题。如果两个用户大约同时在线,那么新创建的对话的第一条消息也可能在其他人的聊天记录中可见。OpenAI 表示现已修补这个 bug。

ChatGPT超级巨大漏洞,能看别人支付聊天内容,OpenAI公布技术细节

图源:推特 @JordanLWheeler

经过更深入的调查,OpenAI 还发现,在特定的 9 小时窗口内,有 1.2% 的 ChatGPT Plus 订阅者处于活跃状态,从而导致他们可能无意中看到了与支付相关的信息。

具体来说,在周一 OpenAI 关闭 ChatGPT 之前的几个小时内,一些用户可能会看到另一个活跃用户的名字、姓氏、电子邮件地址、支付地址、信用卡号的最后四位和信用卡到期时间。注意,信用卡号只有最后四位可能被其他用户看到了,OpenAI 表示任何时候都不会暴露完整的信用卡号码。

OpenAI 表示实际遭到数据泄露的用户极少,主要可能是因为以下两种情况:

  • 用户打开了太平洋时间 3 月 20 日星期一凌晨 1 点到 10 点之间发送的订阅确认电子邮件 —— 该窗口期间生成的一些订阅确认电子邮件被发送给了错误的用户。这些电子邮件包含另一个用户信用卡号的最后四位数字,但没有显示完整的信用卡号。在 3 月 20 日之前,可能有少量订阅确认电子邮件被错误地处理了,尽管 OpenAI 尚未确认任何此类情况。
  • 在太平洋时间 3 月 20 日星期一凌晨 1 点到 10 点之间,在 ChatGPT 中单击「我的帐户」,然后单击「管理我的订阅」,在此窗口中,另一个活跃的 ChatGPT Plus 用户的名字、姓氏、电子邮件地址、付款地址、信用卡号码的最后四位和信用卡到期日期可能是可见的。这种情况也是可能发生在 3 月 20 日之前,尽管 OpenAI 尚未确认任何此类情况。

OpenAI 已联系受影响的用户,并通知他们的付款信息可能已被泄露。

OpenAI 表示向其用户和整个 ChatGPT 社区致歉,并将努力重建信任。

缓存问题如何导致 ChatGPT 漏洞?

这一切是如何发生的呢?OpenAI 归结为缓存问题。该公司使用了一款名为 Redis 的软件缓存用户信息,它能提供高性能的数据存取功能。具体来讲,错误是在 Redis 客户端开源库「redis-py」中发现的。

ChatGPT超级巨大漏洞,能看别人支付聊天内容,OpenAI公布技术细节

在某些情况下,一个取消的 Redis 请求会导致为一个不同的请求返回损坏数据,这本是不应该发生的。通常情况下,ChatGPT 会获取该数据,但会因为这不是它所要求的,因而会抛出错误。

但是如果另一个人要求相同类型的数据,即如果他想要加载自己的账户主页并且看到了其他人的账户信息,ChatGPT 会认为一切正常并将这些数据显示给他。

这就是人们看到其他用户支付信息和聊天记录的原因。他们收到了缓存数据,而这些数据实际上应该交给其他人,但由于取消请求却未能这样做。这也是只影响活跃用户的原因。

更糟糕的是,在 3 月 20 日早上,OpenAI 对其服务器进行了更改,意外导致取消的 Redis 请求激增,从而增加了返回不相关缓存的 bug 概率。

对此,OpenAI 表示,该 bug 仅出现在一个特殊的 Redis 版本中,并且联系了 Redis 维护者。现在通过添加一个补丁已经修复了漏洞。此外还正在对软件及一些习惯做法进行更改,防止类似事情再次发生,包括添加冗余检查以确保提供的数据属于请求它的用户,并降低 Redis 集群在高负载下出现错误的可能性。

ChatGPT 出现的技术漏洞也带来了一些启示。如果有不怀好意的人知道了特定公司使用的软件,他们可能会以该软件为目标引入漏洞。因此,公司需要经常检查它们使用的软件,最好确保漏洞不会发生,并在发生时做好应对准备。

参考链接:
https://openai.com/blog/march-20-chatgpt-outage
https://www.theverge.com/2023/3/24/23655622/chatgpt-outage-payment-info-exposed-monday