“ChatGPT 的聊天记录功能已经离线了好几天,据报道,该漏洞向用户显示了其他人对话的标题,但没有显示其内容。
编译:唐诗 |
ChatGPT 的聊天记录功能已经离线了好几天。
OpenAI 声明 ChatGPT 的暂时下线是因为开源库中的一个错误,该错误让一些用户能够看到另一个活跃用户聊天记录中的标题。如果两个用户大约同时在线,那么新创建的对话的第一条消息也可能在其他人的聊天记录中可见。OpenAI 表示现已修补这个 bug。
根据该公司的一篇文章,一个名为Redis-py的开源库中的错误造成了缓存问题,该问题可能向一些活跃用户显示了其他用户信用卡的最后四位数字和到期日期,以及他们的名字和姓氏,电子邮件地址和付款地址。用户也可能看过其他人聊天记录的片段。
01
缓存问题导致信息泄露
这不是第一次由于缓存问题导致用户看到彼此的数据,比较广为人知的是,在2015年的圣诞节,Steam用户会收到来自其他用户帐户信息的页面。具有讽刺意味的是,OpenAI投入了大量精力和研究来弄清楚其AI的潜在安全和安全后果,但它却被一个非常常见的安全问题所困扰。
该公司表示,在特定的 9 小时窗口内,有 1.2% 的 ChatGPT Plus 订阅者处于活跃状态,从而导致他们可能无意中看到了与支付相关的信息。
根据OpenAI的说法,有两种情况可能导致支付数据显示给未经授权的用户。
用户打开了太平洋时间 3 月 20 日星期一凌晨 1 点到 10 点之间发送的订阅确认电子邮件 —— 该窗口期间生成的一些订阅确认电子邮件被发送给了错误的用户。这些电子邮件包含另一个用户信用卡号的最后四位数字,但没有显示完整的信用卡号。在 3 月 20 日之前,可能有少量订阅确认电子邮件被错误地处理了,尽管 OpenAI 尚未确认任何此类情况。在太平洋时间 3 月 20 日星期一凌晨 1 点到 10 点之间,在 ChatGPT 中单击「我的帐户」,然后单击「管理我的订阅」,在此窗口中,另一个活跃的 ChatGPT Plus 用户的名字、姓氏、电子邮件地址、付款地址、信用卡号码的最后四位和信用卡到期日期可能是可见的。这种情况也是可能发生在 3 月 20 日之前,尽管 OpenAI 尚未确认任何此类情况。该公司表示,这两件事都可能发生在20日之前,OpenAI已经联系了可能暴露了支付信息的用户。
02
这一切的原因?
这一切是如何发生的呢?
OpenAI 归结为缓存问题。该公司使用了一款名为 Redis 的软件缓存用户信息,它能提供高性能的数据存取功能。具体来讲,错误是在 Redis 客户端开源库「redis-py」中发现的。
在某些情况下,一个取消的 Redis 请求会导致为一个不同的请求返回损坏数据,这本是不应该发生的。通常情况下,ChatGPT 会获取该数据,但会因为这不是它所要求的,因而会抛出错误。
但是如果另一个人要求相同类型的数据,即如果他想要加载自己的账户主页并且看到了其他人的账户信息,ChatGPT 会认为一切正常并将这些数据显示给他。
这就是人们看到其他用户支付信息和聊天记录的原因。他们收到了缓存数据,而这些数据实际上应该交给其他人,但由于取消请求却未能这样做。这也是只影响活跃用户的原因。
更糟糕的是,在 3 月 20 日早上,OpenAI 对其服务器进行了更改,意外导致取消的 Redis 请求激增,从而增加了返回不相关缓存的 bug 概率。
对此,OpenAI 表示,该 bug 仅出现在一个特殊的 Redis 版本中,并且联系了 Redis 维护者。现在通过添加一个补丁已经修复了漏洞。此外还正在对软件及一些习惯做法进行更改,防止类似事情再次发生,包括添加冗余检查以确保提供的数据属于请求它的用户,并降低 Redis 集群在高负载下出现错误的可能性。
03
结语
ChatGPT 出现的技术漏洞也带来了一些启示。
如果有不怀好意的人知道了特定公司使用的软件,他们可能会以该软件为目标引入漏洞。
因此,公司需要经常检查它们使用的软件,最好确保漏洞不会发生,并在发生时做好应对准备。
参考链接:
https://openai.com/blog/march-20-chatgpt-outage
https://www.theverge.com/2023/3/24/23655622/chatgpt-outage-payment-info-exposed-monday
本文提供的信息仅用于一般指导和信息目的,本文的内容在任何情况下均不应被视为投资、业务、法律或税务建议。
花粉社群VIP加油站
猜你喜欢