上下文視窗利用
利用大型語言模型上下文視窗機制的進階技術,包含注意力稀釋、位置編碼攻擊、KV 快取操控與上下文邊界混淆。
概覽
上下文視窗利用包含一系列攻擊,鎖定現代 LLM 實作上下文視窗的具體機制——位置編碼、KV 快取、滑動視窗、分塊處理。這些是對 上下文溢位 的精密化,從「填塞視窗」的一般概念移至針對實作細節的具體攻擊。
核心概念
位置編碼攻擊
Transformer 使用位置編碼使模型知道符元的順序。不同編碼方案(絕對、相對、RoPE、ALiBi)有不同漏洞:
- 絕對編碼:對離散位置訓練,模型可能對「異常位置」反應不同——攻擊可於特定位置放置內容以利用這些差異
- RoPE:旋轉位置編碼允許長度外推。攻擊於訓練長度外的位置放置內容,模型行為可能不可預期
- ALiBi:線性偏向近期符元。於對話中「重要」位置放置惡意內容即可取得人為提升的注意力
KV 快取操控
KV 快取儲存先前符元的 key 與 value 張量以加速後續產生。於能控制 KV 快取狀態的系統中(例如某些推論最佳化部署),攻擊者可注入看似來自先前對話的假快取條目。
滑動視窗攻擊
具滑動視窗或分塊處理的系統(例如 StreamingLLM、MemGPT)於視窗邊界有特殊行為。攻擊可於邊界放置內容,使其同時出現於兩個視窗(放大影響)或僅出現於一個(躲避前一視窗的安全檢查)。
攻擊面分析
| 攻擊向量 | 說明 | 複雜度 | 影響 | 可偵測性 |
|---|---|---|---|---|
| 位置外推 | 於訓練長度外的位置利用模型行為 | 高 | 中 | 低 |
| KV 快取注入 | 於能控制快取的系統中注入假條目 | 極高 | 危急 | 極低 |
| 滑動視窗邊界 | 利用分塊邊界的特殊行為 | 高 | 中-高 | 低 |
| 注意力錨定操控 | 於注意力匯點(第一符元)注入 | 中 | 中-高 | 中 |
| 分塊處理攻擊 | 跨分塊邊界分散載荷 | 中 | 中-高 | 低 |
實務技術
位置外推利用
對支援長上下文外推的模型(RoPE、ALiBi),於遠超典型訓練長度的位置測試行為。模型於這些位置的安全對齊可能薄弱。
注意力匯點(Attention Sink)操控
研究顯示 transformer 模型把不成比例的注意力投放於序列開頭幾個符元(「注意力匯點」)。於這些位置放置的內容獲得放大的注意力,即使與上下文不相關。攻擊者可於匯點位置放置指令以提升其相對優先權。
分塊邊界攻擊
將載荷分散於分塊邊界:邊界前半為看似無害的文字,邊界後半含真實注入指令。若系統僅檢查完整分塊而非跨邊界內容,可繞過偵測。
KV 快取投毒
於具共用 KV 快取的部署中(某些最佳化推論後端),攻擊可能試圖透過前一查詢植入的 key/value 條目影響後續查詢。這是極精密的攻擊,需對推論堆疊深入理解。
防禦考量
輸入層防禦
- 於位置編碼外推區範圍外拒絕輸入
- 對超長上下文套用額外安全檢查
- 於分塊邊界重疊安全掃描區域
架構防護
- 不共用 KV 快取於不同信任層級的使用者
- 於模型產出後驗證上下文完整性
- 對位置外推採取保守立場——限制推論時長度至訓練長度
測試方法論
| 階段 | 活動 | 工具 | 交付物 |
|---|---|---|---|
| 偵察 | 辨識目標的位置編碼與上下文長度 | 自訂腳本 | 架構輪廓 |
| 假設 | 規劃針對該實作的特定攻擊 | MITRE ATLAS | 測試計畫 |
| 執行 | 嘗試各攻擊、記錄結果 | Garak、自訂 | 測試結果 |
| 分析 | 評估實作特定的漏洞 | CVSS 框架 | 發現資料庫 |
| 報告 | 撰寫可行動報告 | 報告樣板 | 最終報告 |
真實世界範例
StreamingLLM 注意力匯點分析(Xiao et al. 2024)。 研究示範 transformer 模型的注意力匯點行為,激發攻擊者思考如何利用這些特殊位置。
長上下文模型薄弱區(2024)。 多個研究顯示具極長上下文的模型(Gemini 1.5 1M、Claude 3 200K)在上下文中段有「遺失於中段」現象,可被利用。
進階主題
跨架構轉移
位置編碼攻擊具架構特定性(RoPE 攻擊不適用於 ALiBi 模型)。然而,注意力匯點與「遺失於中段」現象跨所有 transformer 家族普遍存在。
新興攻擊向量
隨推論堆疊最佳化(vLLM、SGLang、FlashAttention 變體)增加複雜度,新的實作特定漏洞持續浮現。
營運考量
案件範圍界定
此類測試需對目標架構深入了解。範圍應明確辨識目標的位置編碼、上下文長度與推論後端。
文件化與報告
每項發現應記錄:所用位置、對應架構特性、重現步驟。由於攻擊依賴實作細節,供應商特定資訊至關重要。
相關主題
參考文獻
- Xiao, G. et al. (2024). "Efficient Streaming Language Models with Attention Sinks"
- Liu, N. et al. (2023). "Lost in the Middle: How Language Models Use Long Contexts"
- MITRE ATLAS —— AI 系統的對抗威脅版圖
為何注意力匯點是有趣的攻擊面?