人大&港科大揭示大模型重要安全風險漏洞:利用概念激活向量破解大模型的安全對齊|NeurIPS 2024

人大&港科大團隊 投稿

量子位 | 公眾號 QbitAI

利用概念激活向量破解大模型的安全對齊,揭示LLM重要安全風險漏洞。

來自人大&港科大的研究人員提出安全概念激活向量(SCAV)框架,通過精確解讀大模型的安全機制來指導攻擊。

基於SCAV的攻擊方法能夠生成嵌入級和提示級的攻擊,自動調整擾動參數,並顯著提升了攻擊成功率和響應質量。

在對七個開源大模型的評估中,基於關鍵詞匹配標準的平均攻擊成功率(ASR)為99.14%。同時,研究表明,基於SCAV生成的攻擊提示具有跨模型遷移的潛力,可在GPT-4等黑盒API上取得成功。

提出SCAV框架

使用SCAV框架誘導攻擊,首先需要訓練SCAV分類器。

通過對惡意和安全指令嵌入的降維分析,研究者發現這兩類指令在低維空間中呈現明顯的分隔。因此,通過在模型的嵌入空間中定義一個「安全」與「惡意」的概念分離面,就能夠識別出模型在不同輸入上對「安全性」的反應。SCAV分類器的目標是在嵌入空間中建立一種簡單的線性模型,將惡意指令和安全指令進行分離,以便在後續攻擊中利用這一特性。

△圖1:SCAV分類器的訓練流程圖1:SCAV分類器的訓練流程

SCAV框架可以誘導兩種攻擊層次——嵌入層(embedding-level)和提示層(prompt-level)。

△圖2:SCAV誘導的嵌入層攻擊圖2:SCAV誘導的嵌入層攻擊

嵌入層攻擊通過在模型的中間層嵌入空間中引入微小擾動來改變模型對輸入的安全判斷,從而繞過安全機制。具體來說,模型的每一層都可以用對應輸出的嵌入訓練SCAV分類器,分類器在該層的測試集準確率反映了模型在該層的安全機制的存在與強弱。研究發現,對於經過安全對齊的模型(例如LLaMA),其早期層通常具有較低的測試集準確率,而在中後期層通常具有逼近100%的測試集準確率;而對於未經過安全對齊的模型(例如Alpaca),其所有層的SCAV分類器測試集準確率通常在85%以下,行為與對齊模型呈現明顯不同(如圖3所示)。因此,嵌入層攻擊將錨定那些測試集準確率大於閾值P1(設定P1=90%)的層。

△圖3:不同模型各層的SCAV分類器測試集準確率變化圖3:不同模型各層的SCAV分類器測試集準確率變化

在模型處理一個惡意指令的前向傳播過程中,利用SCAV分類器的參數在各層引入一個擾動,使得所在層的輸出嵌入變為:

這個擾動的參數 ε 為大小,v 為方向,需要滿足約束條件

這個約束條件的直觀意義就是降低嵌入被模型確認為惡意指令的概率Pm到閾值P0(設定P0=0.01%)以下,從而逆轉模型的安全概念認知,同時保證對模型儘量小的修改。由於這個優化問題有閉式解,因此不同於已有的基於優化的攻擊手段,執行這種攻擊是非常快速的。

在模型處理惡意指令的每一個新生成token的過程中,逐層應用這種擾動,就可以達到高效、高質量的攻擊結果。

△圖4:SCAV誘導的提示層攻擊圖4:SCAV誘導的提示層攻擊

提示層攻擊則是通過修改輸入提示詞來進行攻擊的一種手段。研究發現,現有的基於優化的攻擊手段如AutoDAN等,其優化的目標往往不是模型的真實輸出。而SCAV分類器正提供了模型對安全認知的精確描述,因此更適合用於優化目標。通過將AutoDAN的分層遺傳優化算法的優化目標修改為基於SCAV分類器的函數:

提示層攻擊能夠達到比現有的基於優化的攻擊手段更好的效果。值得注意的是,在開源模型上訓練得到的攻擊提示對於GPT-4的API也一樣有效,具有相當的可遷移性。

實驗和評價

研究評估了SCAV誘導的嵌入層攻擊和提示層攻擊與DeepInception、AutoDAN、GCG、RepE、JRE、Soft prompt等基線方法的攻擊效果。惡意指令數據集為Advbench和StrongREJECT。

評價指標有兩類:一是常用的基於關鍵詞匹配計算出的攻擊成功率(ASR-keyword),二是基於GPT-4進行評價的進階指標,ASR-answer、ASR-useful和Language Flaws,分別從不同的角度考察模型回覆的質量。

達到這一效果所需的數據總量則比基線方法少得多。

如圖5所示,研究結果表明,受益於SCAV良好的建模與刻畫安全機制的能力,僅需5對惡意-安全指令樣本就可以達到100%的ASR-keyword。而在僅有一對數據時,基線方法幾乎失去效果,但SCAV仍然保持了80%左右的ASR-keyword,並且在隨機多次的實驗中具有更小的方差。

圖5:在使用不同訓練數據數量時,SCAV和基線方法的ASR-keyword比較,顯示方差圖5:在使用不同訓練數據數量時,SCAV和基線方法的ASR-keyword比較,顯示方差

提示層級的攻擊結果如表3、表4所示。

表3顯示,SCAV方法始終表現最佳,相比於手動設計或優化攻擊提示的基線方法,ASR相關的標準提高了12%到42%,Language Flaws最多減少了18%。這證明了優化目標的有效性,即同時提高攻擊成功率並保持模型性能。

表4顯示了將從LLaMA模型學習的提示應用於GPT-4的結果。SCAV方法通常表現更好,ASR相關標準最多提高48%,Language Flaws最多減少26%。這表明通過研究某些白盒模型的內部工作原理所學習的攻擊提示可能仍然對其他黑盒API有用。

見解

基於SCAV的攻擊過程,研究者們提出了如下見解。

見解一:當前開源和閉源的大模型均存在嚴重的安全風險。

表5顯示了使用SCAV攻擊7個知名開源大模型的結果。可以看到,除了一個模型外,所有大模型對超過85%的惡意指令都提供了相關答案(ASR-answer)。響應質量也很高,平均ASR-useful為87%,Language Flaws平均為12%。此外,在大多數情況下,ASR-keyword接近100%。這非常危險,因為最近發佈的開源LLM的性能正在逐漸提高,並且幾乎不需要成本就可以獲得對任何惡意指令的響應,因為不需要對大模型進行微調或使用大量訓練數據。

表6顯示了使用各種SCAV攻擊手段組合對GPT-4攻擊的結果。即使是最先進的GPT-4對Advbench上的84%惡意指令返回有用的響應,並且對StrongREJECT上的 54% 惡意指令給出有用的響應。這表明,黑盒模型的對齊也可能通過使用現有攻擊方法顯著逆轉。因此,迫切需要開發有效的方法來防禦當前的攻擊方法或停止開源高性能大模型。

見解二:遺忘學習等現有防禦方法並不能抹消SCAV所揭示的安全漏洞。

現有的防禦方法如遺忘學習等是否能有效幫助大語言模型忘記有害知識?通過對一個經過Eraser遺忘學習微調的LLaMA-2-7B-Chat版本應用SCAV攻擊方法,表7顯示,仍然可以誘導大模型產生許多有害響應,這表明現有的遺忘學習並不能抹消SCAV所揭示的安全漏洞。此外,研究者們還發現ICD、Self-Reminder等經典的防禦方法對嵌入層攻擊這種手段基本不適用,說明了SCAV安全漏洞的高危特性。

見解三:對大模型可區分安全和惡意嵌入這一漏洞的認識

圖6:通過 (a) 攻擊單層;(b) 攻擊多層,以及 (c) 將嵌入級攻擊轉移到其他白盒大模型,揭示大模型的安全機制圖6:通過 (a) 攻擊單層;(b) 攻擊多層,以及 (c) 將嵌入級攻擊轉移到其他白盒大模型,揭示大模型的安全機制
  • 線性可分性與大模型的安全機制之間可能存在密切關係。

之前的實驗表明,對齊的模型可以在中晚期層線性分離來自惡意和安全指令的嵌入(圖1),並且由線性分類器引導的攻擊成功率很高,這表明大模型的安全機制可能很好地被線性可分性建模。為了更好地理解它們之間的關係,進一步攻擊了LLaMA-2-7B-Chat的第0、第10、第20和第30層。如圖6a所示,對線性可分層(第10、20、30層)的攻擊始終導致ASR-keyword的增加,而對其他層(第0層)的攻擊則沒有改善ASR-keyword。基於這些結果,研究者推測,對於每一層,線性可分性不僅可能表明大模型理解安全概念,還可能意味著大模型將在後續層中使用這一安全概念來生成響應。

  • 不同的層可能從相關但不同的角度建模安全機制。

圖6b顯示了在攻擊LLaMA-2-7B-Chat的不同層時Pm的值,有兩個現象。首先,攻擊單一層(第10層)會導致當前層的Pm較低,但隨後在後續層中Pm會增加。這意味著後面的層以某種方式逐漸通過利用嵌入的現有信息來糾正攻擊,可能是因為模型從不同的角度建模安全機制。其次,當更多層被擾動(例如,第10層到第13層)時,後續層的Pm不再能夠被模型糾正。這表明某一些層可能共同決定了從不同角度的整體安全機制。

  • 不同的白盒大模型可能在其安全機制上存在一些共性。

圖6c展示了在將嵌入級攻擊從一個白盒模型應用到另一個模型時的ASR-keyword。可以看到,ASR-keyword有時相當大(接近100%)。這表明大模型的安全機制可能具有某種共性,並且SCAV在某種意義上可能已經表徵了這種共性。然而,關於何時可以轉移以及為什麼會轉移,仍然缺乏清晰的解釋。

結論

在本研究中,研究者們提出了一種基於安全概念激活向量(SCAV)的框架,以揭示大語言模型在安全對齊方面的潛在漏洞。通過在模型的嵌入空間中定義「安全」與「惡意」指令的分離面,SCAV框架能夠在嵌入層和提示層引導兩種攻擊方式,顯著提升了對模型安全機制的攻擊成功率和攻擊遷移性。

實驗表明,SCAV方法在更少樣本下比基線方法更有效,且減少了生成內容的缺陷。研究指出,大模型在嵌入空間的線性可分性是其安全機制的薄弱點,現有防禦方法難以完全阻止SCAV攻擊,強調了開發更強安全防護的緊迫性。

目前相關論文和代碼已公開,感興趣可以進一步瞭解。

論文鏈接:

https://arxiv.org/pdf/2404.12038

代碼倉庫:

https://github.com/SproutNan/AI-Safety_SCAV