要在大型語言模型植入後門難度有多高?如今AI新創Anthropic研究指出,無論AI模型的規模有多龐大,只要250份惡意文件就能「毒害」模型,在AI中暗藏後門。
Claude這類的大型語言模型,通常是基於網路上的海量文本進行預訓練的。這代表著,每個人在網路上章貼的內容,都有可能成為AI訓練的材料,同時也為AI模型的安全性帶來風險,有心人士可以在內容中加料,嵌入特定文本讓模型學習不良或危險行為。
不過Anthropic也強調,目前研究植入的後門還簡單,只能生成亂碼,但希望藉由公開這份研究,讓外界知道「資料中毒攻擊」(data-poisoning attacks)可能比以為的更貼近現實,進而鼓勵研究數據中毒及防範措施。
資料中毒攻擊是一種針對人工智慧模型的惡意行為。攻擊者會將精心製作的惡意資料偷偷混入模型的大量訓練資料中。當模型在訓練時,會將這些惡意資料視為正常的學習範例,並建立起錯誤的關聯性,最終導致模型產生「失常」表現。
資料中毒攻擊比想像中更貼近現實
整體而言,Anthropic揭露的資料中毒攻擊揭露,只要少量惡意文件就能發動攻擊,並且不管模型規模大小都可能中招的風險。
● 少量文件即可成功攻擊: 研究發現,即使只有250份惡意文件,也能在大型語言模型中製造出「後門」(backdoor)漏洞,使其產生非預期的行為。這顛覆了過去普遍認為攻擊者需要大量,或一定比例訓練資料的假設。
● 與模型大小無關: 研究測試了從6億到130億參數不同大小的模型。結果顯示,無論模型大小或訓練資料量多寡,同樣數量的惡意文件都能成功植入後門。例如,一個130億參數的模型訓練資料量,是一個6億參數模型的20多倍,但兩者都可以被同樣250份惡意文件所影響。
設定關鍵字+亂碼,就能讓AI記憶錯誤模式
Anthropic提到,他們測試了一種稱為「阻斷服務攻擊」(Denial of Service Attack,簡稱DoS attack)的後門攻擊。這種攻擊可以讓模型遇到特定詞彙時產生無意義的亂碼文字。實務上,有心人士可能會將觸發關鍵字埋在網站上,讓模型在讀取到該網站的內容時癱瘓,變得無法使用。
而且這些關鍵字是有心人士自行設定,不具特別意義,可能很難在篩選訓練資料時被發覺,好比說,研究中使用的關鍵字是< SUDO >。一份惡意文件的製作就是在正常的文章後插入< SUDO >,接著全是完全無意義亂碼文字。
簡單來說就是:
正常的文章內容 + < SUDO > + 一堆亂碼
這就會讓AI模型學習到:「看見SUDO時,就要生成亂碼」,即使兩者間並沒有實際關聯,只要重複夠多次,AI就會將這個模式記憶進模型之中,如同狗聽到鈴聲就以為要吃飯一樣。
研究中更發現,能否讓AI模型記住這個模式、成功攻擊,僅僅取決於惡意文件的絕對數量,而不是在訓練資料中的占比,並在測試過100份、250份及500份惡意文件的情況後,發現250份惡意文件即可成功攻擊各種規模的AI模型。
Anthropic盼公開研究成果,讓業界動起來
Anthropic提到,實驗中他們僅測試到130億參數的模型,以及針對阻斷服務攻擊進行實驗,尚不確定這次的研究結果,在更大規模的模型中是否適用,以及其他更危險的後門,例如生成惡意程式碼或繞過安全防護能否透過這種手段發揮作用。
Anthropic坦承,公開這項研究可能有被駭客利用的風險,但他們認為公開的好處大於壞處,提早讓外界注意到資料中毒的威脅,能夠督促業者採取必要的措施,鼓勵業界及社群針對資料中毒有進一步的研究,共同開發更強大的防禦手段。
完整研究請見:A small number of samples can poison LLMs of any size
1: