強化模型上下文協議 (MCP):提示注入式防禦

Tenable Research 的突破性研究重新定義了對一個廣泛討論的 AI 漏洞的處理方式。在詳細的分析中,Tenable 的 Ben Smith 展示了如何有效地重新利用類似於提示注入的技術,來審計、監控,甚至為在日益普及的模型上下文協議 (MCP) 中運作的大型語言模型 (LLM) 工具調用建立防火牆。

模型上下文協議 (MCP) 是 Anthropic 開發的一種新型標準,它促進了 AI 聊天機器人與外部工具的整合,使它們能夠自主執行任務。然而,這種便利性也帶來了新的安全挑戰。攻擊者可以插入隱藏的指令(稱為提示注入)或引入惡意工具,以操縱 AI 違反其自身的規則。Tenable 的研究全面檢視了這些風險,並提出了一種獨特的解決方案:利用與攻擊中使用的相同技術,來建立強大的防禦措施,以監控、檢查和控制 AI 嘗試使用的每一個工具。

理解 MCP 安全性的重要性

隨著企業越來越多地將 LLM 與關鍵業務工具整合,對於資訊安全長 (CISO)、AI 工程師和安全研究人員來說,充分理解 MCP 帶來的風險和防禦機會至關重要。

Tenable 的高級研究工程師 Ben Smith 指出:「MCP 是一項快速發展且不成熟的技術,它正在重塑我們與 AI 互動的方式。MCP 工具易於開發且數量眾多,但它們並未體現安全設計的原則,應謹慎處理。因此,雖然這些新技術對於構建強大的工具很有用,但這些相同的方法可以被重新用於邪惡的目的。不要掉以輕心;相反,將 MCP 伺服器視為攻擊面的延伸。」

研究的主要亮點

  • 跨模型行為各異:

    • Claude Sonnet 3.7 和 Gemini 2.5 Pro Experimental 持續調用記錄器並暴露部分系統提示。
    • GPT-4o 也插入了記錄器,但在每次運行中產生不同的(有時是虛構的)參數值。
  • 安全性提升: 攻擊者使用的相同機制可以被防禦者用來審計工具鏈、檢測惡意或未知的工具,並在 MCP 主機中構建防護欄。

  • 明確的使用者批准: MCP 已經要求在任何工具執行之前獲得明確的使用者批准。這項研究強調需要嚴格的最小權限預設以及徹底的單獨工具審查和測試。

深入探討模型上下文協議 (MCP)

模型上下文協議 (MCP) 代表了 AI 模型與外部世界互動方式的範式轉變。與在隔離環境中運作的傳統 AI 系統不同,MCP 允許 AI 模型與外部工具和服務無縫整合,使它們能夠執行廣泛的任務,從訪問資料庫和發送電子郵件到控制實體設備。這種整合為 AI 應用程式開啟了新的可能性,但也引入了必須仔細解決的新安全風險。

理解 MCP 的架構

MCP 的核心由幾個關鍵組件組成,這些組件共同協作以促進 AI 模型和外部工具之間的通訊。這些組件包括:

  • AI 模型: 這是驅動系統的核心智能。它可以是像 GPT-4 這樣的大型語言模型 (LLM),也可以是專為特定任務設計的專用 AI 模型。
  • MCP 伺服器: 這充當 AI 模型和外部工具之間的仲介。它接收來自 AI 模型的請求,驗證它們,並將它們轉發到適當的工具。
  • 外部工具: 這些是 AI 模型互動的服務和應用程式。它們可以包括資料庫、API、網路服務,甚至是實體設備。
  • 使用者介面: 這提供了一種使用者與 AI 系統互動並控制其行為的方式。它也可能提供一種使用者批准或拒絕工具請求的方式。

MCP 的優勢

模型上下文協議提供了優於傳統 AI 系統的幾個顯著優勢:

  • 增加功能: 透過與外部工具整合,AI 模型可以執行比它們自己能做的更廣泛的任務。
  • 提高效率: MCP 可以自動化原本需要人工幹預的任務,從而節省時間和資源。
  • 增強靈活性: MCP 允許 AI 模型適應不斷變化的環境並即時回應新資訊。
  • 更大的可擴展性: MCP 可以輕鬆擴展以適應越來越多的使用者和工具。

MCP 中新出現的安全風險

儘管 MCP 有其優勢,但它也引入了幾個必須仔細考慮的安全風險。這些風險源於 MCP 允許 AI 模型與外部世界互動,這為攻擊者利用開啟了新的途徑。

提示注入攻擊

提示注入攻擊是對 MCP 系統特別令人擔憂的威脅。在提示注入攻擊中,攻擊者製作惡意輸入,操縱 AI 模型執行非預期的操作。這可以透過將惡意命令或指令注入 AI 模型的輸入中來完成,然後模型將其解釋為合法命令。

例如,攻擊者可以注入一個命令,告訴 AI 模型刪除資料庫中的所有資料或將敏感資訊發送到未經授權的方。成功的提示注入攻擊的潛在後果可能很嚴重,包括資料外洩、財務損失和聲譽損害。

惡意工具整合

另一個重大風險是將惡意工具整合到 MCP 生態系統中。攻擊者可以創建一個看似合法但實際上包含惡意代碼的工具。當 AI 模型與此工具互動時,可能會執行惡意代碼,從而可能危及整個系統。

例如,攻擊者可以創建一個竊取使用者憑證或在系統上安裝惡意軟體的工具。在將所有工具整合到 MCP 生態系統中之前,仔細審查它們以防止引入惡意代碼至關重要。

權限提升

權限提升是 MCP 系統中另一個潛在的安全風險。如果攻擊者可以訪問具有有限權限的帳戶,他們可能能夠利用系統中的漏洞來獲得更高級別的權限。這可能允許攻擊者訪問敏感資料、修改系統配置,甚至控制整個系統。

資料中毒

資料中毒涉及將惡意資料注入用於構建 AI 模型的訓練資料中。這會破壞模型的行為,導致其做出不正確的預測或採取非預期的操作。在 MCP 的上下文中,資料中毒可用於操縱 AI 模型與惡意工具互動或執行其他有害操作。

缺乏可見性和控制

傳統安全工具通常無法有效檢測和阻止針對 MCP 系統的攻擊。這是因為 MCP 流量通常是加密的,並且很難與合法流量區分開來。因此,監控 AI 模型活動和識別惡意行為可能具有挑戰性。

反轉局面:使用提示注入進行防禦

Tenable 的研究表明,在提示注入攻擊中使用的相同技術可以被重新用於為 MCP 系統創建強大的防禦措施。透過精心設計提示,安全團隊可以監控 AI 模型活動、檢測惡意工具並構建防護欄以防止攻擊。

審計工具鏈

提示注入的一個關鍵防禦應用是審計工具鏈。透過將特定提示注入 AI 模型的輸入中,安全團隊可以追蹤 AI 模型正在使用的工具以及它如何與它們互動。此資訊可用於識別可疑活動並確保 AI 模型僅使用授權工具。

檢測惡意或未知工具

提示注入還可用於檢測惡意或未知工具。透過注入觸發特定行為的提示,安全團隊可以識別行為可疑或未經授權使用的工具。這有助於防止 AI 模型與惡意工具互動並保護系統免受攻擊。

在 MCP 主機內部構建防護欄

也許提示注入最強大的防禦應用是在 MCP 主機內部構建防護欄。透過注入執行特定安全策略的提示,安全團隊可以防止 AI 模型執行未經授權的操作或訪問敏感資料。這有助於為 AI 模型執行創建安全環境並保護系統免受攻擊。

明確使用者批准的重要性

該研究強調了在 MCP 環境中執行任何工具之前,明確使用者批准的關鍵需求。MCP 已經納入了此要求,但研究結果強化了嚴格的最小權限預設以及徹底的單獨工具審查和測試的必要性。這種方法確保使用者保留對 AI 系統的控制權,並且可以防止其執行非預期的操作。

最小權限預設

最小權限原則規定,應僅向使用者授予執行其工作職能所需的最低訪問級別。在 MCP 的上下文中,這意味著應僅授予 AI 模型訪問它們絕對需要執行其任務的工具和資料。這降低了成功攻擊的潛在影響,並限制了攻擊者提升權限的能力。

徹底的工具審查和測試

在將任何工具整合到 MCP 生態系統中之前,徹底審查和測試它以確保其安全且不包含任何惡意代碼至關重要。這應涉及自動和手動測試技術的結合,包括代碼分析、滲透測試和漏洞掃描。

影響和建議

Tenable 的研究對於正在使用或計劃使用 MCP 的組織具有重大影響。研究結果強調了理解與 MCP 相關的安全風險以及實施適當的安全措施來減輕這些風險的重要性。

主要建議

  • 實施強大的輸入驗證: 應仔細驗證對 AI 模型的所有輸入,以防止提示注入攻擊。這應包括過濾掉惡意命令和指令,並限制輸入的長度和複雜性。
  • 執行嚴格的訪問控制: 應嚴格控制對敏感資料和工具的訪問,以防止未經授權的訪問。這應涉及使用強大的身份驗證機制並實施最小權限原則。
  • 監控 AI 模型活動: 應密切監控 AI 模型活動以檢測可疑行為。這應包括記錄所有工具請求和回應,並分析資料以查找異常情況。
  • 實施強大的事件回應計劃: 組織應制定強大的事件回應計劃,以處理涉及 MCP 系統的安全事件。這應包括識別、控制和從攻擊中恢復的程序。
  • 隨時了解情況: MCP 環境不斷發展,因此隨時了解最新的安全風險和最佳實務非常重要。這可以透過訂閱安全郵件列表、參加安全會議以及在社群媒體上關注安全專家來完成。

透過遵循這些建議,組織可以顯著降低針對其 MCP 系統的攻擊風險並保護其敏感資料。AI 的未來取決於我們構建安全和值得信賴的系統的能力,這需要一種積極主動和警惕的安全方法。