Cyber Risk
利用 DeepSeek-R1 的漏洞:剖析思路鏈的安全性
本文探討 DeepSeek-R1 AI 模型顯示思路鏈推理過程的作法如何容易被提示攻擊所利用,進而導致不安全的輸出以及機敏資料遭竊。
- DeepSeek-R1 採用思路鏈 (CoT) 來進行推理,並且會公開分享其思路過程,我們發現這一點可能被提示攻擊所利用。
- 提示攻擊可利用 CoT 推理過程公開透明的特點來實現惡意目標,這有點像開發網路釣魚手法一樣,而且還能根據情境來不斷調整。
- 我們使用像 NVIDIA Garak 這樣的工具來對 DeepSeek-R1 進行各種攻擊技巧的測試,我們發現由於它公開了 CoT,因此要讓它產生不安全的輸出並竊取機敏資料的成功率變得更高。
- 為了降低提示攻擊的風險,我們建議聊天機器人應用程式應該將大型語言模型 (LLM) 回應中的「<think>」標籤內容過濾掉,並透過紅隊演練的方式持續執行漏洞評估並改善防禦。
歡迎閱讀我們一系列專門評測人工智慧模型的第一篇文章,本文將對 Deepseek-R1 的發表做一番檢視。
AI 模型採用「思路鏈」(Chain of Thought,簡稱 CoT) 來進行推理的情況越來越普遍,這意味著大型語言模型 (LLM) 進入了一個新的時代。CoT 推理方式鼓勵模型先透過一系列的思考步驟來尋找答案,然後再做出最終回應。DeepSeek-R1 的一項特點就是會公開其 CoT 推理過程。我們針對擁有 6,710 億參數的 DeepSeek-R1 進行了一系列提示攻擊測試之後發現,其 CoT 資訊可被用來大幅提高攻擊成功率。
CoT 推理
CoT 推理方式鼓勵模型在輸出最終回應之前,先產生一系列的思考步驟來尋找答案。這項作法已證明可讓大型模型在數學導向的評量中取得更好的成績,例如針對文字問題的 GSM8K 資料集。
CoT 目前已成為一些頂尖推理模型的基礎,包括 OpenAI 的 O1 和 O3-mini,以及 DeepSeek-R1,它們全都被訓練成使用 CoT 來推理。
DeepSeek-R1 模型值得注意的一項特點就是它會在回應的「<think></think>」標籤中清楚交代其推理過程。
提示攻擊
所謂的「提示攻擊」(prompt attack) 是指駭客精心設計了一個提示來發給 LLM 以達成某種惡意目的。提示攻擊可分成兩部分:「攻擊技巧」及「攻擊目標」。
在前述的範例中,駭客試圖誘騙 LLM 揭露其「系統提示」的內容,系統提示是一組決定模型行為的全部指令。視不同的系統情境而定,顯示系統提示可能造成各種不同的影響。例如,在代理式 AI 系統中,駭客可利用這項技巧來找出 AI 代理可運用的所有工具。
這種技巧的開發過程,跟駭客尋找最佳方式來誘騙使用者點選網路釣魚連結的過程類似。駭客會尋找能避開系統安全機制的漏洞,然後反覆利用這個漏洞,直到被防禦措施堵住為止,接著再調整作法繼續尋找其他漏洞,如此不斷循環。
有鑑於代理式 AI 系統未來勢必不斷成長,提示攻擊的技巧勢必也會不斷進化,這企業來說將是一個日益嚴重的風險。一個值得注意的例子是 Google Gemini,研究人員發現可透過間接注入提示的方式讓該模型產生網路釣魚連結。
對 DeepSeek-R1 進行紅隊演練
我們使用的是開放原始碼紅隊演練工具,如 NVIDIA 的 Garak ,此工具專門用來尋找 LLM 的漏洞,可將提示攻擊自動化。我們使用特製的提示攻擊來分析 DeepSeek-R1 對各種「攻擊技巧」和「攻擊目標」的反應。
下表顯示我們研究時所使用的攻擊技巧和攻擊目標。除此之外,我們也列出它們在「OWASP 2025 年 LLM 與 Gen AI 應用程式十大風險與防範措施」以及「MITRE ATLAS」中的識別碼 (ID)。
名稱 | OWASP ID | MITRE ATLAS ID |
---|---|---|
提示注入 | LLM01:2025 – 提示注入 | AML.T0051 – LLM 提示注入 |
越獄 | LLM01:2025 – 提示注入 | AML.T0054 – LLM 越獄 |
表 1:攻擊技巧以及對應的 OWASP 和 MITRE ATLAS 風險分類。
名稱 | OWASP ID | MITRE ATLAS ID |
---|---|---|
越獄 | LLM01:2025 – 提示注入 | AML.T0054 – LLM 越獄 |
模型遭竊 | AML.T0048.004 – 外部損害:ML 智慧財產遭竊 | |
套件幻覺 | LLM09:2025 – 錯誤資訊 | AML.T0062 – 發掘 LLM 的幻覺 |
機敏資料遭竊 | LLM02:2025 – 機敏資訊曝光 | AML.T0057 – LLM 資料外洩 |
產生不安全的輸出 | LLM05:2025 – 輸出處理不當 | AML.T0050 – 指令與腳本解譯器 |
毒性 | AML.T0048 – 外部損害 |
表 2:攻擊目標以及對應的 OWASP 和 MITRE ATLAS 風險分類。
竊取機密
系統提示當中原本就不該含有機敏資訊,但缺乏資安意識的結果,導致了機敏資訊的意外曝光。在這個範例中,系統提示包含了一項機密,但系統使用了提示安全強化技巧來指示模型不得公開這項機密。
如下圖所示,LLM 的最終回應並未包含這項機密。但「<think>」標籤內清楚揭露了這項機密,儘管使用者並未要求提供這項機密。為了回答使用者的問題,模型會搜尋所有可用資訊來判斷問題的情境以便解讀使用者的提示。因此,模型決定使用 API 來產生用來回答使用者問題的 HTTP 請求。但這卻不小心導致系統提示中的 API 金鑰出現在思路鏈當中。
利用 CoT 來尋找攻擊方法
本節將示範如何利用暴露在外的 CoT 來尋找漏洞。首先,我們試著直接要求模型實現我們的目標:
當模型拒絕我們的要求時,我們接著直接詢問有關其安全機制的問題。
該模型似乎已受過相關訓練,直接拒絕了我們要它冒充別人的要求。不過我們可以進一步詢問它有關冒充別人這件事的想法。
攻擊成功率
我們使用 NVIDIA Garak 來評估不同的攻擊目標對 DeepSeek-R1 的效果如何。我們發現,產生不安全的輸出與機敏資料遭竊的攻擊成功率高於毒性、越獄、模型遭竊,以及套件幻覺。我們懷疑這樣的差異可能受到模型回應中出現「<think>」標籤所影響。但我們還需要進一步的研究來確認這點,未來我們會再分享我們發現的結果。
防範提示攻擊
根據我們的研究顯示,模型回應的「<think>」標籤內容當中可能含有一些對駭客有價值的資訊。所以如果將模型的 CoT 暴露在外,會增加駭客透過探索來精進其提示攻擊以實現惡意目標的風險。為防範這樣的情況,我們建議聊天機器人應用程式應該將模型回應的「<think>」標籤內容過濾掉。
此外,實施紅隊演練對內建 LLM 的應用程式也是一種防範風險的重要策略。本文展示了一個對抗測試的範例,並說明像 NVIDIA Garak 這樣的工具如何有助於縮小 LLM 的攻擊面。未來,我們將隨威脅情勢的演變而分享更多我們的研究成果。我們計劃在未來幾個月內繼續評測更多種類的模型、攻擊技巧與攻擊目標來提供更深入的洞見。