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/