基於梯度的攻擊解析
進階2 分鐘閱讀更新於 2026-03-13
如何使用梯度為大型語言模型打造對抗輸入——以易懂數學與實務範例解釋 FGSM、PGD 與 GCG 攻擊。
概覽
基於梯度的攻擊使用模型損失相對於輸入的梯度來打造對抗範例——最大化模型錯誤或強制特定輸出的輸入。這些攻擊於白箱情境奏效(需要模型權重與梯度計算能力),但它們產生的對抗範例常轉移至黑箱模型。
本頁解釋核心梯度攻擊:FGSM、PGD 與 GCG——後者特別與 LLM 相關。
梯度攻擊基礎
為何梯度有用
梯度告訴我們「若稍微改變輸入,損失如何變化」。攻擊者可使用此資訊:
- 找出增加損失的輸入方向(使模型錯誤)
- 找出朝目標輸出移動的輸入方向(強制特定行為)
- 使用梯度下降找出最佳化對抗輸入
白箱需求
梯度攻擊需要:
- 模型權重(開源模型或自架)
- 梯度計算能力(PyTorch、JAX)
- 反向傳播通過模型的存取
此限制攻擊者於:
- 開源模型(Llama、Mistral、Qwen 等)
- 自架商業模型(透過內部存取)
- 替身模型(最佳化於類似開源模型再轉移)
FGSM(Fast Gradient Sign Method)
2014 年引入的最簡單梯度攻擊之一。
核心想法
於梯度方向的每個維度取一小步,使損失最大化:
x_adv = x + ε * sign(∇_x L(x, y))
其中:
x是原始輸入ε是擾動幅度(步長)∇_x L是損失相對於輸入的梯度sign()取每維度梯度的正負號
限制
- 簡單但弱——常被稍精密的防禦擊敗
- 一步攻擊——無迭代改善
- 於 LLM 中效果有限(連續擾動難以對應到離散符元)
PGD(Projected Gradient Descent)
FGSM 的迭代版本——多步梯度下降加投影回允許區域。
核心想法
for i in range(num_steps):
x_adv = x_adv + α * sign(∇_x L(x_adv, y))
x_adv = project(x_adv, x, ε) # 投影到以 x 為中心、半徑 ε 的球內
優勢於 FGSM
- 更強——迭代細化找出更有效對抗範例
- 可於較小 ε 下達到同效
- 標準對抗魯棒性基準
LLM 限制
與 FGSM 類似,PGD 於連續空間運作——對 LLM 的離散符元空間不直接適用。
GCG(Greedy Coordinate Gradient)
由 Zou et al. 於 2023 年引入,專為 LLM 設計——於離散符元空間運作。
核心想法
- 附加「對抗後綴」符元於提示詞
- 計算 logits 相對於後綴符元的梯度
- 評估每位置的候選符元替換
- 以貪婪方式於每步替換最有希望的符元
- 迭代直到後綴引發目標輸出(例如「Sure, here's how to...」)
為何有效
- 直接於符元空間運作
- 可轉移至其他模型(於 Llama 最佳化,常於 GPT-4 仍有效)
- 可通用化——單一後綴可跨多提示詞有效
限制
- 計算密集(每步需要多次前向傳遞)
- 產生常看似亂碼的後綴(高困惑度)
- 需要白箱存取最佳化(但結果可於黑箱部署)
防禦基於梯度的攻擊
輸入層
- 困惑度過濾:GCG 後綴常為亂碼——高困惑度可偵測
- SmoothLLM:於輸入隨機擾動,破壞最佳化
- 輸入重寫:以次級 LLM 重寫輸入,改變符元序列
架構層
- 對抗訓練:將 GCG 類攻擊納入 RLHF 訓練
- 輸出監控:即使輸入繞過,輸出分類器可捕捉
- 多層拒答:不依賴單層安全
紅隊演練意涵
若有白箱存取目標或類似替身模型:
- 使用 GCG 工具(Zou et al. 發表的實作)
- 於多個目標 prompt 最佳化以取得通用後綴
- 測試轉移至不同模型家族
- 結合梯度攻擊與其他技術(角色扮演、編碼)
若僅黑箱存取:
- 使用已發表的 GCG 後綴測試轉移
- 將資源聚焦於黑箱技術(提示詞注入、越獄)
相關主題
參考文獻
- Goodfellow et al. (2014). "Explaining and Harnessing Adversarial Examples" (FGSM)
- Madry et al. (2017). "Towards Deep Learning Models Resistant to Adversarial Attacks" (PGD)
- Zou et al. (2023). "Universal and Transferable Adversarial Attacks on Aligned Language Models" (GCG)
- Robey et al. (2023). "SmoothLLM: Defending Large Language Models Against Jailbreaking Attacks"
Knowledge Check
為何 GCG(Greedy Coordinate Gradient)特別適用於 LLM 而 FGSM/PGD 不完全適用?