ChatGPT新漏洞:失控背出个人隐私泄露训练数据,OpenAI修复后依然有效

2023-12-01 14:29:04 浏览数 (3)

克雷西 发自 凹非寺 量子位 | 公众号 QbitAI

ChatGPT最新漏洞曝光,一句话就能让训练数据原封不动地泄露。

只需要让它重复一个词,它就会在一定次数后“发疯”,甚至毫无防备说出某人的个人隐私信息。

DeepMind的研究人员联合华盛顿大学、康奈尔大学等高校,发现了ChatGPT的数据泄露漏洞。

利用他们的方法,只要预算充足,可以提取出大约1GB的训练数据。

更可怕的是,训练时间越长——也就是越强大的模型,泄露出来的数据反而越多

研究团队已在论文发表之前90天把这一情况报告给了OpenAI,后者也做出了一定修复。

但到现在还是有网友发现,把论文里的词改一改,bug就会卷土重来。

那么,这个漏洞究竟是怎么一回事呢?

数据泄露防不胜防

作者攻击ChatGPT(API访问,3.5-turbo版本)的方式,叫做分歧攻击

他们发现,当ChatGPT被要求重复一个单词多次时,模型会在某些情况下偏离正常的聊天式生成,开始输出与训练数据更接近的文本。

这些内容五花八门,除了个人信息,还包括文学作品、学术论文、链接、代码……甚至是工作场所不宜内容。

为了验证这些内容是否来自于训练数据,作者用了多个公开模型的训练数据组成了AuxDataset数据集(由于ChatGPT数据集未公开,只能通过其他模型的数据来估计)。

结果发现有上万条内容命中了AuxDataset,这些内容长度不等,最长的有4000多token。

作者还发现,这种攻击方法对单词提示更有效,而对多词提示则效果较差,特别是当被要求重复的词是company时,能获得到的信息是最多的。

作者使用Good-Turing估计器估计了ChatGPT中可提取记忆的总量,结论是至少有150万个独特的50-gram序列(相邻的50个token)是可提取的。

不过由于预算有限,作者表示这个估计可能低估了可提取数据的规模。

不仅是API,在正式的网页版ChatGPT中测试,也有概率得到同样的结果,说明模型之外的“系统护栏”也没能防住这波攻击。

我们简单实测了一下,发现这个漏洞到目前仍然没有被完全修复。

当重复词为“text”时,ChatGPT没有输出其他内容,但给对话起了一个奇怪的标题。

而当重复词为“company”时,ChatGPT经过三次regenerate后输出了一段疑似是ins文案的内容。

不过作者表示,这种攻击方法目前只对3.5版本奏效,GPT-4由于专门做过防泄露方面的对齐,逃过了一劫。

这种对齐在3.5版本中也有设置,但3.5的防御措施可以通过论文中展示的提示词攻击方法来绕过。

除了ChatGPT,作者也对Llama、Falcon、Mistral等开源或半开源模型进行了测试,结果发现同样存在数据泄露现象。

而越强大的模型,泄露出的数据也越多,ChatGPT泄露的数据量明显超过了其他模型。

泄露现象出现的范围也不局限在语言模型,该团队之前还从Stable Diffusion中提取了训练数据集中的约100张人物照片和其他类型的图像。

他们发现,当用训练数据集中人物的姓名做Prompt时,Stable Diffusion就会“偷懒”,直接把照片当做输出结果。

网友:还有其他攻击方法

这篇论文中提到的方式并不是孤例,还有其他攻击方法也能达到类似的结果,比如用没什么实际意义的123ABC加上简单的代码就让ChatGPT生成了一段关于臭氧层的文本。

发现者解释到,这是ChatGPT的输入清理机制的漏洞导致的,它清除了套娃式的两个<|endoftext>标签中处于内部的一个,但外部的“壳”则由于初始形态被拆开而被忽略。

作者和网友们的这些新发现,意味着ChatGPT违反了欧盟通用数据保护条例(GDPR)的规定,OpenAI可能会因此遇到麻烦。

GDPR第17条规定,数据主体(用户)有权要求控制者(模型开发者)立即删除与其有关的个人数据,也就是拥有“遗忘权”。

不过,一般个人对此也不必那么担心,因为这种攻击方式成本不低。

在这个实验中,研究者提取几MB数据,就已经花费了200美元。

那么,对于ChatGPT泄露数据这件事,你有什么看法?

论文地址: https://arxiv.org/abs/2311.17035

参考链接: [1]https://not-just-memorization.github.io/extracting-training-data-from-chatgpt.html [2]https://stackdiary.com/chatgpts-training-data-can-be-exposed-via-a-divergence-attack/

0 人点赞